@excalidraw/excalidraw 0.17.1-d9bbf1e → 0.17.1-e63dd02

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 (416) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/browser/dev/excalidraw-assets-dev/CascadiaCode-Regular-TMZI7IJ5.woff2 +0 -0
  3. package/dist/browser/dev/excalidraw-assets-dev/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
  4. package/dist/browser/dev/excalidraw-assets-dev/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
  5. package/dist/browser/dev/excalidraw-assets-dev/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
  6. package/dist/browser/dev/excalidraw-assets-dev/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
  7. package/dist/browser/dev/excalidraw-assets-dev/{chunk-XOM7LNOU.js → chunk-IT7T3AIK.js} +49 -8
  8. package/dist/browser/dev/excalidraw-assets-dev/chunk-IT7T3AIK.js.map +7 -0
  9. package/dist/browser/dev/excalidraw-assets-dev/{chunk-BLEB3M62.js → chunk-RNHSD5AR.js} +7668 -2142
  10. package/dist/browser/dev/excalidraw-assets-dev/chunk-RNHSD5AR.js.map +7 -0
  11. package/dist/browser/dev/excalidraw-assets-dev/{dist-ITJNUBZF.js → dist-DNSPZDOZ.js} +66 -32
  12. package/dist/browser/dev/excalidraw-assets-dev/dist-DNSPZDOZ.js.map +7 -0
  13. package/dist/browser/dev/excalidraw-assets-dev/{en-TR4QLF5E.js → en-XV7OZCPP.js} +8 -2
  14. package/dist/browser/dev/excalidraw-assets-dev/{image-ZGDDRBEN.js → image-77HZYGLG.js} +2 -2
  15. package/dist/browser/dev/excalidraw-assets-dev/{image-O66MQ7WQ.css → image-WDHYGKKP.css} +1 -1
  16. package/dist/browser/dev/excalidraw-assets-dev/{image-O66MQ7WQ.css.map → image-WDHYGKKP.css.map} +2 -2
  17. package/dist/browser/dev/index.css +610 -180
  18. package/dist/browser/dev/index.css.map +3 -3
  19. package/dist/browser/dev/index.js +13306 -8006
  20. package/dist/browser/dev/index.js.map +4 -4
  21. package/dist/browser/prod/excalidraw-assets/CascadiaCode-Regular-TMZI7IJ5.woff2 +0 -0
  22. package/dist/browser/prod/excalidraw-assets/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
  23. package/dist/browser/prod/excalidraw-assets/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
  24. package/dist/browser/prod/excalidraw-assets/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
  25. package/dist/browser/prod/excalidraw-assets/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
  26. package/dist/browser/prod/excalidraw-assets/chunk-OYEADJSR.js +63 -0
  27. package/dist/browser/prod/excalidraw-assets/{chunk-5SYIAZGL.js → chunk-PDYFZJMS.js} +5 -5
  28. package/dist/browser/prod/excalidraw-assets/dist-NLUQPPQQ.js +7 -0
  29. package/dist/browser/prod/excalidraw-assets/en-YVAVVILW.js +1 -0
  30. package/dist/browser/prod/excalidraw-assets/image-X3GFZHNN.js +1 -0
  31. package/dist/browser/prod/index.css +1 -1
  32. package/dist/browser/prod/index.js +70 -51
  33. package/dist/dev/CascadiaCode-Regular-TMZI7IJ5.woff2 +0 -0
  34. package/dist/dev/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
  35. package/dist/dev/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
  36. package/dist/dev/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
  37. package/dist/dev/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
  38. package/dist/dev/{en-XW4JO6VX.json → en-YNVBSAIL.json} +42 -7
  39. package/dist/dev/index.css +610 -180
  40. package/dist/dev/index.css.map +3 -3
  41. package/dist/dev/index.js +22165 -16833
  42. package/dist/dev/index.js.map +4 -4
  43. package/dist/excalidraw/actions/actionAddToLibrary.d.ts +24 -9
  44. package/dist/excalidraw/actions/actionAlign.d.ts +8 -8
  45. package/dist/excalidraw/actions/actionBoundText.d.ts +20 -10
  46. package/dist/excalidraw/actions/actionBoundText.js +3 -1
  47. package/dist/excalidraw/actions/actionCanvas.d.ts +100 -40
  48. package/dist/excalidraw/actions/actionCanvas.js +1 -1
  49. package/dist/excalidraw/actions/actionClipboard.d.ts +62 -26
  50. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +28 -12
  51. package/dist/excalidraw/actions/actionDeleteSelected.js +24 -5
  52. package/dist/excalidraw/actions/actionDistribute.d.ts +4 -4
  53. package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +3 -3
  54. package/dist/excalidraw/actions/actionDuplicateSelection.js +1 -2
  55. package/dist/excalidraw/actions/actionElementLock.d.ts +17 -7
  56. package/dist/excalidraw/actions/actionExport.d.ts +75 -30
  57. package/dist/excalidraw/actions/actionFinalize.d.ts +17 -7
  58. package/dist/excalidraw/actions/actionFinalize.js +2 -2
  59. package/dist/excalidraw/actions/actionFlip.d.ts +4 -4
  60. package/dist/excalidraw/actions/actionFlip.js +2 -2
  61. package/dist/excalidraw/actions/actionFrame.d.ts +338 -10
  62. package/dist/excalidraw/actions/actionGroup.d.ts +324 -4
  63. package/dist/excalidraw/actions/actionHistory.d.ts +3 -3
  64. package/dist/excalidraw/actions/actionHistory.js +8 -8
  65. package/dist/excalidraw/actions/actionLinearEditor.d.ts +12 -5
  66. package/dist/excalidraw/actions/actionLinearEditor.js +21 -5
  67. package/dist/excalidraw/actions/actionLink.d.ts +8 -3
  68. package/dist/excalidraw/actions/actionMenu.d.ts +24 -9
  69. package/dist/excalidraw/actions/actionNavigate.d.ts +17 -7
  70. package/dist/excalidraw/actions/actionProperties.d.ts +476 -82
  71. package/dist/excalidraw/actions/actionProperties.js +384 -59
  72. package/dist/excalidraw/actions/actionSelectAll.d.ts +9 -4
  73. package/dist/excalidraw/actions/actionStyles.d.ts +12 -4
  74. package/dist/excalidraw/actions/actionStyles.js +3 -2
  75. package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  76. package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
  77. package/dist/excalidraw/actions/actionToggleGridMode.d.ts +9 -4
  78. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +8 -3
  79. package/dist/excalidraw/actions/actionToggleStats.d.ts +9 -3
  80. package/dist/excalidraw/actions/actionToggleStats.js +4 -3
  81. package/dist/excalidraw/actions/actionToggleViewMode.d.ts +8 -3
  82. package/dist/excalidraw/actions/actionToggleZenMode.d.ts +8 -3
  83. package/dist/excalidraw/actions/actionZindex.d.ts +8 -4
  84. package/dist/excalidraw/actions/actionZindex.js +4 -0
  85. package/dist/excalidraw/actions/manager.d.ts +3 -3
  86. package/dist/excalidraw/actions/register.d.ts +1 -1
  87. package/dist/excalidraw/actions/shortcuts.d.ts +2 -2
  88. package/dist/excalidraw/actions/types.d.ts +6 -6
  89. package/dist/excalidraw/align.d.ts +1 -1
  90. package/dist/excalidraw/analytics.js +9 -7
  91. package/dist/excalidraw/animated-trail.d.ts +2 -2
  92. package/dist/excalidraw/appState.d.ts +6 -2
  93. package/dist/excalidraw/appState.js +14 -3
  94. package/dist/excalidraw/binaryheap.d.ts +12 -0
  95. package/dist/excalidraw/binaryheap.js +93 -0
  96. package/dist/excalidraw/change.d.ts +6 -5
  97. package/dist/excalidraw/change.js +20 -11
  98. package/dist/excalidraw/charts.d.ts +1 -1
  99. package/dist/excalidraw/charts.js +0 -10
  100. package/dist/excalidraw/clients.d.ts +2 -2
  101. package/dist/excalidraw/clients.js +1 -1
  102. package/dist/excalidraw/clipboard.d.ts +3 -3
  103. package/dist/excalidraw/colors.d.ts +1 -1
  104. package/dist/excalidraw/components/Actions.d.ts +3 -3
  105. package/dist/excalidraw/components/Actions.js +14 -9
  106. package/dist/excalidraw/components/App.d.ts +14 -17
  107. package/dist/excalidraw/components/App.js +356 -217
  108. package/dist/excalidraw/components/ButtonIcon.d.ts +15 -0
  109. package/dist/excalidraw/components/ButtonIcon.js +8 -0
  110. package/dist/excalidraw/components/ButtonIconSelect.js +2 -3
  111. package/dist/excalidraw/components/ButtonSeparator.d.ts +2 -0
  112. package/dist/excalidraw/components/ButtonSeparator.js +7 -0
  113. package/dist/excalidraw/components/CheckboxItem.js +1 -1
  114. package/dist/excalidraw/components/ColorPicker/ColorInput.d.ts +1 -1
  115. package/dist/excalidraw/components/ColorPicker/ColorInput.js +1 -1
  116. package/dist/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  117. package/dist/excalidraw/components/ColorPicker/ColorPicker.js +48 -80
  118. package/dist/excalidraw/components/ColorPicker/Picker.d.ts +3 -3
  119. package/dist/excalidraw/components/ColorPicker/Picker.js +1 -1
  120. package/dist/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  121. package/dist/excalidraw/components/ColorPicker/PickerHeading.d.ts +1 -1
  122. package/dist/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  123. package/dist/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  124. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  125. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.js +1 -1
  126. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  127. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.js +1 -1
  128. package/dist/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  129. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +5 -5
  130. package/dist/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -1
  131. package/dist/excalidraw/components/CommandPalette/types.d.ts +3 -3
  132. package/dist/excalidraw/components/ConfirmDialog.d.ts +1 -1
  133. package/dist/excalidraw/components/ContextMenu.d.ts +2 -2
  134. package/dist/excalidraw/components/ContextMenu.js +2 -2
  135. package/dist/excalidraw/components/DarkModeToggle.d.ts +1 -1
  136. package/dist/excalidraw/components/DefaultSidebar.d.ts +2 -2
  137. package/dist/excalidraw/components/Dialog.js +1 -1
  138. package/dist/excalidraw/components/DialogActionButton.d.ts +1 -1
  139. package/dist/excalidraw/components/EyeDropper.d.ts +2 -2
  140. package/dist/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  141. package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
  142. package/dist/excalidraw/components/FontPicker/FontPicker.d.ts +21 -0
  143. package/dist/excalidraw/components/FontPicker/FontPicker.js +49 -0
  144. package/dist/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -0
  145. package/dist/excalidraw/components/FontPicker/FontPickerList.js +119 -0
  146. package/dist/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +7 -0
  147. package/dist/excalidraw/components/FontPicker/FontPickerTrigger.js +13 -0
  148. package/dist/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +14 -0
  149. package/dist/excalidraw/components/FontPicker/keyboardNavHandlers.js +38 -0
  150. package/dist/excalidraw/components/HelpDialog.js +2 -2
  151. package/dist/excalidraw/components/HintViewer.d.ts +1 -1
  152. package/dist/excalidraw/components/HintViewer.js +6 -3
  153. package/dist/excalidraw/components/IconPicker.js +2 -2
  154. package/dist/excalidraw/components/ImageExportDialog.d.ts +1 -1
  155. package/dist/excalidraw/components/InitializeApp.d.ts +2 -2
  156. package/dist/excalidraw/components/JSONExportDialog.d.ts +3 -3
  157. package/dist/excalidraw/components/LayerUI.d.ts +4 -4
  158. package/dist/excalidraw/components/LayerUI.js +10 -7
  159. package/dist/excalidraw/components/LibraryMenu.d.ts +2 -2
  160. package/dist/excalidraw/components/LibraryMenuBrowseButton.d.ts +1 -1
  161. package/dist/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  162. package/dist/excalidraw/components/LibraryMenuHeaderContent.d.ts +2 -2
  163. package/dist/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  164. package/dist/excalidraw/components/LibraryMenuSection.d.ts +5 -4
  165. package/dist/excalidraw/components/LibraryUnit.d.ts +2 -2
  166. package/dist/excalidraw/components/LoadingMessage.d.ts +1 -1
  167. package/dist/excalidraw/components/MagicSettings.js +2 -2
  168. package/dist/excalidraw/components/MobileMenu.d.ts +3 -3
  169. package/dist/excalidraw/components/MobileMenu.js +2 -6
  170. package/dist/excalidraw/components/Modal.d.ts +1 -1
  171. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  172. package/dist/excalidraw/components/PasteChartDialog.d.ts +1 -1
  173. package/dist/excalidraw/components/PasteChartDialog.js +1 -1
  174. package/dist/excalidraw/components/PropertiesPopover.d.ts +15 -0
  175. package/dist/excalidraw/components/PropertiesPopover.js +31 -0
  176. package/dist/excalidraw/components/PublishLibrary.d.ts +1 -1
  177. package/dist/excalidraw/components/QuickSearch.d.ts +9 -0
  178. package/dist/excalidraw/components/QuickSearch.js +8 -0
  179. package/dist/excalidraw/components/SVGLayer.d.ts +1 -1
  180. package/dist/excalidraw/components/ScrollableList.d.ts +9 -0
  181. package/dist/excalidraw/components/ScrollableList.js +8 -0
  182. package/dist/excalidraw/components/Sidebar/Sidebar.js +1 -1
  183. package/dist/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -1
  184. package/dist/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -1
  185. package/dist/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  186. package/dist/excalidraw/components/Sidebar/common.d.ts +1 -1
  187. package/dist/excalidraw/components/Stats/Angle.d.ts +12 -0
  188. package/dist/excalidraw/components/Stats/Angle.js +53 -0
  189. package/dist/excalidraw/components/Stats/Collapsible.d.ts +9 -0
  190. package/dist/excalidraw/components/Stats/Collapsible.js +12 -0
  191. package/dist/excalidraw/components/Stats/Dimension.d.ts +12 -0
  192. package/dist/excalidraw/components/Stats/Dimension.js +68 -0
  193. package/dist/excalidraw/components/Stats/DragInput.d.ts +32 -0
  194. package/dist/excalidraw/components/Stats/DragInput.js +174 -0
  195. package/dist/excalidraw/components/Stats/FontSize.d.ts +12 -0
  196. package/dist/excalidraw/components/Stats/FontSize.js +50 -0
  197. package/dist/excalidraw/components/Stats/MultiAngle.d.ts +12 -0
  198. package/dist/excalidraw/components/Stats/MultiAngle.js +66 -0
  199. package/dist/excalidraw/components/Stats/MultiDimension.d.ts +15 -0
  200. package/dist/excalidraw/components/Stats/MultiDimension.js +199 -0
  201. package/dist/excalidraw/components/Stats/MultiFontSize.d.ts +13 -0
  202. package/dist/excalidraw/components/Stats/MultiFontSize.js +72 -0
  203. package/dist/excalidraw/components/Stats/MultiPosition.d.ts +15 -0
  204. package/dist/excalidraw/components/Stats/MultiPosition.js +101 -0
  205. package/dist/excalidraw/components/Stats/Position.d.ts +13 -0
  206. package/dist/excalidraw/components/Stats/Position.js +40 -0
  207. package/dist/excalidraw/components/Stats/index.d.ts +16 -0
  208. package/dist/excalidraw/components/Stats/index.js +79 -0
  209. package/dist/excalidraw/components/Stats/utils.d.ts +26 -0
  210. package/dist/excalidraw/components/Stats/utils.js +162 -0
  211. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -1
  212. package/dist/excalidraw/components/TTDDialog/TTDDialog.js +2 -2
  213. package/dist/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +1 -1
  214. package/dist/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +1 -1
  215. package/dist/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +1 -1
  216. package/dist/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +1 -1
  217. package/dist/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  218. package/dist/excalidraw/components/TTDDialog/common.d.ts +5 -5
  219. package/dist/excalidraw/components/TTDDialog/common.js +3 -7
  220. package/dist/excalidraw/components/TextField.d.ts +1 -1
  221. package/dist/excalidraw/components/Toast.d.ts +1 -1
  222. package/dist/excalidraw/components/ToolButton.d.ts +3 -2
  223. package/dist/excalidraw/components/Trans.d.ts +1 -1
  224. package/dist/excalidraw/components/UserList.d.ts +1 -1
  225. package/dist/excalidraw/components/UserList.js +22 -22
  226. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -2
  227. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +4 -2
  228. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +2 -2
  229. package/dist/excalidraw/components/canvases/StaticCanvas.js +3 -2
  230. package/dist/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +12 -3
  231. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +24 -4
  232. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.js +55 -14
  233. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +2 -1
  234. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContent.js +2 -2
  235. package/dist/excalidraw/components/dropdownMenu/common.d.ts +1 -1
  236. package/dist/excalidraw/components/dropdownMenu/common.js +3 -2
  237. package/dist/excalidraw/components/footer/Footer.d.ts +2 -2
  238. package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  239. package/dist/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  240. package/dist/excalidraw/components/icons.d.ts +10 -2
  241. package/dist/excalidraw/components/icons.js +29 -6
  242. package/dist/excalidraw/components/main-menu/MainMenu.d.ts +12 -3
  243. package/dist/excalidraw/components/welcome-screen/WelcomeScreen.Center.js +2 -2
  244. package/dist/excalidraw/components/welcome-screen/WelcomeScreen.Hints.js +3 -3
  245. package/dist/excalidraw/constants.d.ts +24 -3
  246. package/dist/excalidraw/constants.js +28 -4
  247. package/dist/excalidraw/context/ui-appState.d.ts +1 -1
  248. package/dist/excalidraw/cursor.d.ts +1 -1
  249. package/dist/excalidraw/data/EditorLocalStorage.d.ts +2 -2
  250. package/dist/excalidraw/data/blob.d.ts +5 -5
  251. package/dist/excalidraw/data/filesystem.d.ts +2 -1
  252. package/dist/excalidraw/data/index.d.ts +4 -4
  253. package/dist/excalidraw/data/json.d.ts +3 -3
  254. package/dist/excalidraw/data/library.d.ts +3 -3
  255. package/dist/excalidraw/data/magic.d.ts +3 -3
  256. package/dist/excalidraw/data/reconcile.d.ts +3 -3
  257. package/dist/excalidraw/data/reconcile.js +18 -1
  258. package/dist/excalidraw/data/resave.d.ts +2 -2
  259. package/dist/excalidraw/data/restore.d.ts +3 -3
  260. package/dist/excalidraw/data/restore.js +58 -9
  261. package/dist/excalidraw/data/transform.d.ts +3 -3
  262. package/dist/excalidraw/data/transform.js +8 -5
  263. package/dist/excalidraw/data/types.d.ts +3 -3
  264. package/dist/excalidraw/element/ElementCanvasButtons.d.ts +1 -1
  265. package/dist/excalidraw/element/binding.d.ts +29 -10
  266. package/dist/excalidraw/element/binding.js +303 -71
  267. package/dist/excalidraw/element/bounds.d.ts +3 -3
  268. package/dist/excalidraw/element/collision.d.ts +4 -4
  269. package/dist/excalidraw/element/collision.js +5 -2
  270. package/dist/excalidraw/element/containerCache.d.ts +1 -1
  271. package/dist/excalidraw/element/dragElements.d.ts +6 -6
  272. package/dist/excalidraw/element/dragElements.js +39 -5
  273. package/dist/excalidraw/element/embeddable.d.ts +11 -6
  274. package/dist/excalidraw/element/heading.d.ts +11 -0
  275. package/dist/excalidraw/element/heading.js +81 -0
  276. package/dist/excalidraw/element/image.d.ts +2 -2
  277. package/dist/excalidraw/element/index.d.ts +2 -2
  278. package/dist/excalidraw/element/index.js +1 -1
  279. package/dist/excalidraw/element/linearElementEditor.d.ts +27 -16
  280. package/dist/excalidraw/element/linearElementEditor.js +133 -56
  281. package/dist/excalidraw/element/mutateElement.d.ts +3 -3
  282. package/dist/excalidraw/element/mutateElement.js +5 -3
  283. package/dist/excalidraw/element/newElement.d.ts +12 -10
  284. package/dist/excalidraw/element/newElement.js +31 -16
  285. package/dist/excalidraw/element/resizeElements.d.ts +15 -6
  286. package/dist/excalidraw/element/resizeElements.js +122 -46
  287. package/dist/excalidraw/element/resizeTest.d.ts +4 -4
  288. package/dist/excalidraw/element/resizeTest.js +2 -4
  289. package/dist/excalidraw/element/routing.d.ts +13 -0
  290. package/dist/excalidraw/element/routing.js +641 -0
  291. package/dist/excalidraw/element/showSelectedShapeActions.d.ts +2 -2
  292. package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
  293. package/dist/excalidraw/element/sortElements.d.ts +1 -1
  294. package/dist/excalidraw/element/textElement.d.ts +6 -28
  295. package/dist/excalidraw/element/textElement.js +64 -112
  296. package/dist/excalidraw/element/textWysiwyg.d.ts +12 -6
  297. package/dist/excalidraw/element/textWysiwyg.js +75 -62
  298. package/dist/excalidraw/element/transformHandles.d.ts +3 -3
  299. package/dist/excalidraw/element/transformHandles.js +7 -12
  300. package/dist/excalidraw/element/typeChecks.d.ts +7 -4
  301. package/dist/excalidraw/element/typeChecks.js +17 -0
  302. package/dist/excalidraw/element/types.d.ts +22 -4
  303. package/dist/excalidraw/emitter.d.ts +1 -1
  304. package/dist/excalidraw/fonts/ExcalidrawFont.d.ts +21 -0
  305. package/dist/excalidraw/fonts/ExcalidrawFont.js +112 -0
  306. package/dist/excalidraw/fonts/index.d.ts +58 -0
  307. package/dist/excalidraw/fonts/index.js +240 -0
  308. package/dist/excalidraw/fonts/metadata.d.ts +36 -0
  309. package/dist/excalidraw/fonts/metadata.js +91 -0
  310. package/dist/excalidraw/fractionalIndex.d.ts +12 -5
  311. package/dist/excalidraw/fractionalIndex.js +40 -10
  312. package/dist/excalidraw/frame.d.ts +4 -4
  313. package/dist/excalidraw/frame.js +3 -3
  314. package/dist/excalidraw/gatransforms.d.ts +1 -1
  315. package/dist/excalidraw/gesture.d.ts +1 -1
  316. package/dist/excalidraw/groups.d.ts +4 -4
  317. package/dist/excalidraw/history.d.ts +8 -7
  318. package/dist/excalidraw/history.js +8 -8
  319. package/dist/excalidraw/hooks/useEmitter.d.ts +1 -1
  320. package/dist/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  321. package/dist/excalidraw/i18n.d.ts +1 -1
  322. package/dist/excalidraw/index.d.ts +2 -2
  323. package/dist/excalidraw/index.js +3 -3
  324. package/dist/excalidraw/jotai.d.ts +1 -1
  325. package/dist/excalidraw/laser-trails.d.ts +3 -2
  326. package/dist/excalidraw/locales/en.json +42 -7
  327. package/dist/excalidraw/math.d.ts +47 -2
  328. package/dist/excalidraw/math.js +116 -0
  329. package/dist/excalidraw/mermaid.d.ts +2 -0
  330. package/dist/excalidraw/mermaid.js +29 -0
  331. package/dist/excalidraw/points.d.ts +1 -1
  332. package/dist/excalidraw/queue.d.ts +1 -1
  333. package/dist/excalidraw/renderer/helpers.d.ts +2 -2
  334. package/dist/excalidraw/renderer/interactiveScene.d.ts +2 -2
  335. package/dist/excalidraw/renderer/interactiveScene.js +64 -22
  336. package/dist/excalidraw/renderer/renderElement.d.ts +6 -4
  337. package/dist/excalidraw/renderer/renderElement.js +78 -58
  338. package/dist/excalidraw/renderer/renderSnaps.d.ts +1 -1
  339. package/dist/excalidraw/renderer/staticScene.d.ts +1 -1
  340. package/dist/excalidraw/renderer/staticSvgScene.d.ts +4 -4
  341. package/dist/excalidraw/renderer/staticSvgScene.js +2 -1
  342. package/dist/excalidraw/scene/Renderer.d.ts +4 -4
  343. package/dist/excalidraw/scene/Renderer.js +2 -3
  344. package/dist/excalidraw/scene/Scene.d.ts +16 -7
  345. package/dist/excalidraw/scene/Scene.js +26 -11
  346. package/dist/excalidraw/scene/Shape.d.ts +1 -1
  347. package/dist/excalidraw/scene/Shape.js +56 -5
  348. package/dist/excalidraw/scene/ShapeCache.d.ts +4 -4
  349. package/dist/excalidraw/scene/comparisons.d.ts +3 -2
  350. package/dist/excalidraw/scene/comparisons.js +1 -1
  351. package/dist/excalidraw/scene/export.d.ts +4 -3
  352. package/dist/excalidraw/scene/export.js +34 -36
  353. package/dist/excalidraw/scene/scroll.d.ts +2 -2
  354. package/dist/excalidraw/scene/scrollbars.d.ts +3 -3
  355. package/dist/excalidraw/scene/selection.d.ts +2 -2
  356. package/dist/excalidraw/scene/types.d.ts +6 -8
  357. package/dist/excalidraw/scene/zoom.d.ts +1 -1
  358. package/dist/excalidraw/shapes.d.ts +8 -0
  359. package/dist/excalidraw/shapes.js +57 -0
  360. package/dist/excalidraw/snapping.d.ts +4 -4
  361. package/dist/excalidraw/snapping.js +2 -1
  362. package/dist/excalidraw/store.d.ts +34 -4
  363. package/dist/excalidraw/store.js +27 -0
  364. package/dist/excalidraw/types.d.ts +32 -21
  365. package/dist/excalidraw/utils.d.ts +15 -5
  366. package/dist/excalidraw/utils.js +22 -0
  367. package/dist/excalidraw/zindex.d.ts +2 -2
  368. package/dist/prod/CascadiaCode-Regular-TMZI7IJ5.woff2 +0 -0
  369. package/dist/prod/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
  370. package/dist/prod/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
  371. package/dist/prod/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
  372. package/dist/prod/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
  373. package/dist/prod/{en-XW4JO6VX.json → en-YNVBSAIL.json} +42 -7
  374. package/dist/prod/index.css +1 -1
  375. package/dist/prod/index.js +49 -53
  376. package/dist/utils/bbox.d.ts +2 -2
  377. package/dist/utils/collision.d.ts +1 -1
  378. package/dist/utils/export.d.ts +4 -3
  379. package/dist/utils/export.js +2 -1
  380. package/dist/utils/geometry/geometry.d.ts +3 -2
  381. package/dist/utils/geometry/geometry.js +5 -1
  382. package/dist/utils/geometry/shape.d.ts +1 -1
  383. package/dist/utils/index.d.ts +1 -0
  384. package/dist/utils/index.js +1 -0
  385. package/dist/utils/withinBounds.d.ts +1 -1
  386. package/history.ts +13 -6
  387. package/package.json +2 -2
  388. package/dist/browser/dev/Cascadia-CYPE3OJC.woff2 +0 -0
  389. package/dist/browser/dev/Virgil-UZN6MUT6.woff2 +0 -0
  390. package/dist/browser/dev/excalidraw-assets-dev/chunk-BLEB3M62.js.map +0 -7
  391. package/dist/browser/dev/excalidraw-assets-dev/chunk-XOM7LNOU.js.map +0 -7
  392. package/dist/browser/dev/excalidraw-assets-dev/dist-ITJNUBZF.js.map +0 -7
  393. package/dist/browser/prod/Cascadia-CYPE3OJC.woff2 +0 -0
  394. package/dist/browser/prod/Virgil-UZN6MUT6.woff2 +0 -0
  395. package/dist/browser/prod/excalidraw-assets/chunk-UWBW5SR2.js +0 -55
  396. package/dist/browser/prod/excalidraw-assets/dist-54276HPL.js +0 -6
  397. package/dist/browser/prod/excalidraw-assets/en-7GPZE2Y2.js +0 -1
  398. package/dist/browser/prod/excalidraw-assets/image-35KQQ5EN.js +0 -1
  399. package/dist/dev/Cascadia-CYPE3OJC.woff2 +0 -0
  400. package/dist/dev/Virgil-UZN6MUT6.woff2 +0 -0
  401. package/dist/excalidraw/components/Stats.d.ts +0 -11
  402. package/dist/excalidraw/components/Stats.js +0 -13
  403. package/dist/excalidraw/scene/Fonts.d.ts +0 -21
  404. package/dist/excalidraw/scene/Fonts.js +0 -72
  405. package/dist/prod/Cascadia-CYPE3OJC.woff2 +0 -0
  406. package/dist/prod/Virgil-UZN6MUT6.woff2 +0 -0
  407. /package/dist/browser/dev/{Assistant-Bold-ZDZZ6JHA.woff2 → excalidraw-assets-dev/Assistant-Bold-ZDZZ6JHA.woff2} +0 -0
  408. /package/dist/browser/dev/{Assistant-Medium-DZ25RZU3.woff2 → excalidraw-assets-dev/Assistant-Medium-DZ25RZU3.woff2} +0 -0
  409. /package/dist/browser/dev/{Assistant-Regular-PLF2XOGW.woff2 → excalidraw-assets-dev/Assistant-Regular-PLF2XOGW.woff2} +0 -0
  410. /package/dist/browser/dev/{Assistant-SemiBold-CZ5MX6FK.woff2 → excalidraw-assets-dev/Assistant-SemiBold-CZ5MX6FK.woff2} +0 -0
  411. /package/dist/browser/dev/excalidraw-assets-dev/{en-TR4QLF5E.js.map → en-XV7OZCPP.js.map} +0 -0
  412. /package/dist/browser/dev/excalidraw-assets-dev/{image-ZGDDRBEN.js.map → image-77HZYGLG.js.map} +0 -0
  413. /package/dist/browser/prod/{Assistant-Bold-ZDZZ6JHA.woff2 → excalidraw-assets/Assistant-Bold-ZDZZ6JHA.woff2} +0 -0
  414. /package/dist/browser/prod/{Assistant-Medium-DZ25RZU3.woff2 → excalidraw-assets/Assistant-Medium-DZ25RZU3.woff2} +0 -0
  415. /package/dist/browser/prod/{Assistant-Regular-PLF2XOGW.woff2 → excalidraw-assets/Assistant-Regular-PLF2XOGW.woff2} +0 -0
  416. /package/dist/browser/prod/{Assistant-SemiBold-CZ5MX6FK.woff2 → excalidraw-assets/Assistant-SemiBold-CZ5MX6FK.woff2} +0 -0
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { ExcalidrawElement, OrderedExcalidrawElement } from "../element/types";
3
- import { AppClassProperties, AppState } from "../types";
2
+ import type { ExcalidrawElement, OrderedExcalidrawElement } from "../element/types";
3
+ import type { AppClassProperties, AppState } from "../types";
4
4
  export declare const actionGroup: {
5
5
  name: "group";
6
6
  label: string;
@@ -11,7 +11,167 @@ export declare const actionGroup: {
11
11
  perform: (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
12
12
  appState: Readonly<AppState>;
13
13
  elements: readonly OrderedExcalidrawElement[];
14
- storeAction: import("../store").StoreActionType;
14
+ storeAction: "none";
15
+ } | {
16
+ appState: {
17
+ selectedElementIds: Readonly<{
18
+ [id: string]: true;
19
+ }>;
20
+ selectedGroupIds: {
21
+ [groupId: string]: boolean;
22
+ };
23
+ editingGroupId: string | null;
24
+ contextMenu: {
25
+ items: import("../components/ContextMenu").ContextMenuItems;
26
+ top: number;
27
+ left: number;
28
+ } | null;
29
+ showWelcomeScreen: boolean;
30
+ isLoading: boolean;
31
+ errorMessage: import("react").ReactNode;
32
+ activeEmbeddable: {
33
+ element: import("../element/types").NonDeletedExcalidrawElement;
34
+ state: "hover" | "active";
35
+ } | null;
36
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
37
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
38
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
39
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
40
+ isBindingEnabled: boolean;
41
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
42
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
43
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
44
+ frameRendering: {
45
+ enabled: boolean;
46
+ name: boolean;
47
+ outline: boolean;
48
+ clip: boolean;
49
+ };
50
+ editingFrame: string | null;
51
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
52
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
53
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
54
+ activeTool: {
55
+ lastActiveTool: import("../types").ActiveTool | null;
56
+ locked: boolean;
57
+ } & import("../types").ActiveTool;
58
+ penMode: boolean;
59
+ penDetected: boolean;
60
+ exportBackground: boolean;
61
+ exportEmbedScene: boolean;
62
+ exportWithDarkMode: boolean;
63
+ exportScale: number;
64
+ currentItemStrokeColor: string;
65
+ currentItemBackgroundColor: string;
66
+ currentItemFillStyle: import("../element/types").FillStyle;
67
+ currentItemStrokeWidth: number;
68
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
69
+ currentItemRoughness: number;
70
+ currentItemOpacity: number;
71
+ currentItemFontFamily: number;
72
+ currentItemFontSize: number;
73
+ currentItemTextAlign: string;
74
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
75
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
76
+ currentHoveredFontFamily: number | null;
77
+ currentItemRoundness: import("../element/types").StrokeRoundness;
78
+ currentItemArrowType: "sharp" | "round" | "elbow";
79
+ viewBackgroundColor: string;
80
+ scrollX: number;
81
+ scrollY: number;
82
+ cursorButton: "up" | "down";
83
+ scrolledOutside: boolean;
84
+ name: string | null;
85
+ isResizing: boolean;
86
+ isRotating: boolean;
87
+ zoom: Readonly<{
88
+ value: import("../types").NormalizedZoomValue;
89
+ }>;
90
+ openMenu: "canvas" | "shape" | null;
91
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
92
+ openSidebar: {
93
+ name: string;
94
+ tab?: string | undefined;
95
+ } | null;
96
+ openDialog: {
97
+ name: "imageExport" | "help" | "jsonExport";
98
+ } | {
99
+ name: "settings";
100
+ source: "settings" | "tool" | "generation";
101
+ tab: "text-to-diagram" | "diagram-to-code";
102
+ } | {
103
+ name: "ttd";
104
+ tab: "text-to-diagram" | "mermaid";
105
+ } | {
106
+ name: "commandPalette";
107
+ } | null;
108
+ defaultSidebarDockedPreference: boolean;
109
+ lastPointerDownWith: import("../element/types").PointerType;
110
+ previousSelectedElementIds: {
111
+ [id: string]: true;
112
+ };
113
+ selectedElementsAreBeingDragged: boolean;
114
+ shouldCacheIgnoreZoom: boolean;
115
+ toast: {
116
+ message: string;
117
+ closable?: boolean | undefined;
118
+ duration?: number | undefined;
119
+ } | null;
120
+ zenModeEnabled: boolean;
121
+ theme: import("../element/types").Theme;
122
+ gridSize: number | null;
123
+ viewModeEnabled: boolean;
124
+ width: number;
125
+ height: number;
126
+ offsetTop: number;
127
+ offsetLeft: number;
128
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
129
+ collaborators: Map<import("../types").SocketId, Readonly<{
130
+ pointer?: import("../types").CollaboratorPointer | undefined;
131
+ button?: "up" | "down" | undefined;
132
+ selectedElementIds?: Readonly<{
133
+ [id: string]: true;
134
+ }> | undefined;
135
+ username?: string | null | undefined;
136
+ userState?: import("../types").UserIdleState | undefined;
137
+ color?: {
138
+ background: string;
139
+ stroke: string;
140
+ } | undefined;
141
+ avatarUrl?: string | undefined;
142
+ id?: string | undefined;
143
+ socketId?: import("../types").SocketId | undefined;
144
+ isCurrentUser?: boolean | undefined;
145
+ isInCall?: boolean | undefined;
146
+ isSpeaking?: boolean | undefined;
147
+ isMuted?: boolean | undefined;
148
+ }>>;
149
+ stats: {
150
+ open: boolean;
151
+ panels: number;
152
+ };
153
+ currentChartType: import("../element/types").ChartType;
154
+ pasteDialog: {
155
+ shown: false;
156
+ data: null;
157
+ } | {
158
+ shown: true;
159
+ data: import("../charts").Spreadsheet;
160
+ };
161
+ pendingImageElementId: string | null;
162
+ showHyperlinkPopup: false | "info" | "editor";
163
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
164
+ snapLines: readonly import("../snapping").SnapLine[];
165
+ originSnapOffset: {
166
+ x: number;
167
+ y: number;
168
+ } | null;
169
+ objectsSnapModeEnabled: boolean;
170
+ userToFollow: import("../types").UserToFollow | null;
171
+ followedBy: Set<import("../types").SocketId>;
172
+ };
173
+ elements: OrderedExcalidrawElement[];
174
+ storeAction: "capture";
15
175
  };
16
176
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
17
177
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
@@ -29,7 +189,167 @@ export declare const actionUngroup: {
29
189
  perform: (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
30
190
  appState: Readonly<AppState>;
31
191
  elements: readonly OrderedExcalidrawElement[];
32
- storeAction: import("../store").StoreActionType;
192
+ storeAction: "none";
193
+ } | {
194
+ appState: {
195
+ selectedElementIds: Readonly<{
196
+ [id: string]: true;
197
+ }>;
198
+ selectedGroupIds: {
199
+ [groupId: string]: boolean;
200
+ };
201
+ editingGroupId: string | null;
202
+ contextMenu: {
203
+ items: import("../components/ContextMenu").ContextMenuItems;
204
+ top: number;
205
+ left: number;
206
+ } | null;
207
+ showWelcomeScreen: boolean;
208
+ isLoading: boolean;
209
+ errorMessage: import("react").ReactNode;
210
+ activeEmbeddable: {
211
+ element: import("../element/types").NonDeletedExcalidrawElement;
212
+ state: "hover" | "active";
213
+ } | null;
214
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
215
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
216
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
217
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
218
+ isBindingEnabled: boolean;
219
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
220
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
221
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
222
+ frameRendering: {
223
+ enabled: boolean;
224
+ name: boolean;
225
+ outline: boolean;
226
+ clip: boolean;
227
+ };
228
+ editingFrame: string | null;
229
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
230
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
231
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
232
+ activeTool: {
233
+ lastActiveTool: import("../types").ActiveTool | null;
234
+ locked: boolean;
235
+ } & import("../types").ActiveTool;
236
+ penMode: boolean;
237
+ penDetected: boolean;
238
+ exportBackground: boolean;
239
+ exportEmbedScene: boolean;
240
+ exportWithDarkMode: boolean;
241
+ exportScale: number;
242
+ currentItemStrokeColor: string;
243
+ currentItemBackgroundColor: string;
244
+ currentItemFillStyle: import("../element/types").FillStyle;
245
+ currentItemStrokeWidth: number;
246
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
247
+ currentItemRoughness: number;
248
+ currentItemOpacity: number;
249
+ currentItemFontFamily: number;
250
+ currentItemFontSize: number;
251
+ currentItemTextAlign: string;
252
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
253
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
254
+ currentHoveredFontFamily: number | null;
255
+ currentItemRoundness: import("../element/types").StrokeRoundness;
256
+ currentItemArrowType: "sharp" | "round" | "elbow";
257
+ viewBackgroundColor: string;
258
+ scrollX: number;
259
+ scrollY: number;
260
+ cursorButton: "up" | "down";
261
+ scrolledOutside: boolean;
262
+ name: string | null;
263
+ isResizing: boolean;
264
+ isRotating: boolean;
265
+ zoom: Readonly<{
266
+ value: import("../types").NormalizedZoomValue;
267
+ }>;
268
+ openMenu: "canvas" | "shape" | null;
269
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
270
+ openSidebar: {
271
+ name: string;
272
+ tab?: string | undefined;
273
+ } | null;
274
+ openDialog: {
275
+ name: "imageExport" | "help" | "jsonExport";
276
+ } | {
277
+ name: "settings";
278
+ source: "settings" | "tool" | "generation";
279
+ tab: "text-to-diagram" | "diagram-to-code";
280
+ } | {
281
+ name: "ttd";
282
+ tab: "text-to-diagram" | "mermaid";
283
+ } | {
284
+ name: "commandPalette";
285
+ } | null;
286
+ defaultSidebarDockedPreference: boolean;
287
+ lastPointerDownWith: import("../element/types").PointerType;
288
+ previousSelectedElementIds: {
289
+ [id: string]: true;
290
+ };
291
+ selectedElementsAreBeingDragged: boolean;
292
+ shouldCacheIgnoreZoom: boolean;
293
+ toast: {
294
+ message: string;
295
+ closable?: boolean | undefined;
296
+ duration?: number | undefined;
297
+ } | null;
298
+ zenModeEnabled: boolean;
299
+ theme: import("../element/types").Theme;
300
+ gridSize: number | null;
301
+ viewModeEnabled: boolean;
302
+ width: number;
303
+ height: number;
304
+ offsetTop: number;
305
+ offsetLeft: number;
306
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
307
+ collaborators: Map<import("../types").SocketId, Readonly<{
308
+ pointer?: import("../types").CollaboratorPointer | undefined;
309
+ button?: "up" | "down" | undefined;
310
+ selectedElementIds?: Readonly<{
311
+ [id: string]: true;
312
+ }> | undefined;
313
+ username?: string | null | undefined;
314
+ userState?: import("../types").UserIdleState | undefined;
315
+ color?: {
316
+ background: string;
317
+ stroke: string;
318
+ } | undefined;
319
+ avatarUrl?: string | undefined;
320
+ id?: string | undefined;
321
+ socketId?: import("../types").SocketId | undefined;
322
+ isCurrentUser?: boolean | undefined;
323
+ isInCall?: boolean | undefined;
324
+ isSpeaking?: boolean | undefined;
325
+ isMuted?: boolean | undefined;
326
+ }>>;
327
+ stats: {
328
+ open: boolean;
329
+ panels: number;
330
+ };
331
+ currentChartType: import("../element/types").ChartType;
332
+ pasteDialog: {
333
+ shown: false;
334
+ data: null;
335
+ } | {
336
+ shown: true;
337
+ data: import("../charts").Spreadsheet;
338
+ };
339
+ pendingImageElementId: string | null;
340
+ showHyperlinkPopup: false | "info" | "editor";
341
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
342
+ snapLines: readonly import("../snapping").SnapLine[];
343
+ originSnapOffset: {
344
+ x: number;
345
+ y: number;
346
+ } | null;
347
+ objectsSnapModeEnabled: boolean;
348
+ userToFollow: import("../types").UserToFollow | null;
349
+ followedBy: Set<import("../types").SocketId>;
350
+ };
351
+ elements: OrderedExcalidrawElement[];
352
+ storeAction: "capture";
33
353
  };
34
354
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
35
355
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
@@ -1,6 +1,6 @@
1
- import { Action } from "./types";
2
- import { History } from "../history";
3
- import { Store } from "../store";
1
+ import type { Action } from "./types";
2
+ import type { History } from "../history";
3
+ import type { Store } from "../store";
4
4
  type ActionCreator = (history: History, store: Store) => Action;
5
5
  export declare const createUndoAction: ActionCreator;
6
6
  export declare const createRedoAction: ActionCreator;
@@ -33,14 +33,14 @@ export const createUndoAction = (history, store) => ({
33
33
  icon: UndoIcon,
34
34
  trackEvent: { category: "history" },
35
35
  viewMode: false,
36
- perform: (elements, appState) => writeData(appState, () => history.undo(arrayToMap(elements), // TODO: #7348 refactor action manager to already include `SceneElementsMap`
37
- appState, store.snapshot)),
36
+ perform: (elements, appState, value, app) => writeData(appState, () => history.undo(arrayToMap(elements), // TODO: #7348 refactor action manager to already include `SceneElementsMap`
37
+ appState, store.snapshot, app.scene)),
38
38
  keyTest: (event) => event[KEYS.CTRL_OR_CMD] &&
39
39
  event.key.toLowerCase() === KEYS.Z &&
40
40
  !event.shiftKey,
41
41
  PanelComponent: ({ updateData, data }) => {
42
- const { isUndoStackEmpty } = useEmitter(history.onHistoryChangedEmitter, new HistoryChangedEvent());
43
- return (_jsx(ToolButton, { type: "button", icon: UndoIcon, "aria-label": t("buttons.undo"), onClick: updateData, size: data?.size || "medium", disabled: isUndoStackEmpty }));
42
+ const { isUndoStackEmpty } = useEmitter(history.onHistoryChangedEmitter, new HistoryChangedEvent(history.isUndoStackEmpty, history.isRedoStackEmpty));
43
+ return (_jsx(ToolButton, { type: "button", icon: UndoIcon, "aria-label": t("buttons.undo"), onClick: updateData, size: data?.size || "medium", disabled: isUndoStackEmpty, "data-testid": "button-undo" }));
44
44
  },
45
45
  });
46
46
  export const createRedoAction = (history, store) => ({
@@ -49,14 +49,14 @@ export const createRedoAction = (history, store) => ({
49
49
  icon: RedoIcon,
50
50
  trackEvent: { category: "history" },
51
51
  viewMode: false,
52
- perform: (elements, appState) => writeData(appState, () => history.redo(arrayToMap(elements), // TODO: #7348 refactor action manager to already include `SceneElementsMap`
53
- appState, store.snapshot)),
52
+ perform: (elements, appState, _, app) => writeData(appState, () => history.redo(arrayToMap(elements), // TODO: #7348 refactor action manager to already include `SceneElementsMap`
53
+ appState, store.snapshot, app.scene)),
54
54
  keyTest: (event) => (event[KEYS.CTRL_OR_CMD] &&
55
55
  event.shiftKey &&
56
56
  event.key.toLowerCase() === KEYS.Z) ||
57
57
  (isWindows && event.ctrlKey && !event.shiftKey && event.key === KEYS.Y),
58
58
  PanelComponent: ({ updateData, data }) => {
59
- const { isRedoStackEmpty } = useEmitter(history.onHistoryChangedEmitter, new HistoryChangedEvent());
60
- return (_jsx(ToolButton, { type: "button", icon: RedoIcon, "aria-label": t("buttons.redo"), onClick: updateData, size: data?.size || "medium", disabled: isRedoStackEmpty }));
59
+ const { isRedoStackEmpty } = useEmitter(history.onHistoryChangedEmitter, new HistoryChangedEvent(history.isUndoStackEmpty, history.isRedoStackEmpty));
60
+ return (_jsx(ToolButton, { type: "button", icon: RedoIcon, "aria-label": t("buttons.redo"), onClick: updateData, size: data?.size || "medium", disabled: isRedoStackEmpty, "data-testid": "button-redo" }));
61
61
  },
62
62
  });
@@ -1,10 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { LinearElementEditor } from "../element/linearElementEditor";
3
- import { ExcalidrawLinearElement } from "../element/types";
3
+ import type { ExcalidrawLinearElement } from "../element/types";
4
4
  export declare const actionToggleLinearEditor: {
5
5
  name: "toggleLinearEditor";
6
6
  category: string;
7
- label: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.lineEditor.exit" | "labels.lineEditor.edit";
7
+ label: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.lineEditor.editArrow" | "labels.lineEditor.edit";
8
+ keywords: string[];
8
9
  trackEvent: {
9
10
  category: "element";
10
11
  };
@@ -63,7 +64,9 @@ export declare const actionToggleLinearEditor: {
63
64
  currentItemTextAlign: string;
64
65
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
65
66
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
67
+ currentHoveredFontFamily: number | null;
66
68
  currentItemRoundness: import("../element/types").StrokeRoundness;
69
+ currentItemArrowType: "sharp" | "round" | "elbow";
67
70
  viewBackgroundColor: string;
68
71
  scrollX: number;
69
72
  scrollY: number;
@@ -76,7 +79,7 @@ export declare const actionToggleLinearEditor: {
76
79
  value: import("../types").NormalizedZoomValue;
77
80
  }>;
78
81
  openMenu: "canvas" | "shape" | null;
79
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
82
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
80
83
  openSidebar: {
81
84
  name: string;
82
85
  tab?: string | undefined;
@@ -141,7 +144,10 @@ export declare const actionToggleLinearEditor: {
141
144
  isSpeaking?: boolean | undefined;
142
145
  isMuted?: boolean | undefined;
143
146
  }>>;
144
- showStats: boolean;
147
+ stats: {
148
+ open: boolean;
149
+ panels: number;
150
+ };
145
151
  currentChartType: import("../element/types").ChartType;
146
152
  pasteDialog: {
147
153
  shown: false;
@@ -162,8 +168,9 @@ export declare const actionToggleLinearEditor: {
162
168
  userToFollow: import("../types").UserToFollow | null;
163
169
  followedBy: Set<import("../types").SocketId>;
164
170
  };
165
- storeAction: import("../store").StoreActionType;
171
+ storeAction: "capture";
166
172
  };
173
+ PanelComponent: ({ appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
167
174
  } & {
168
175
  keyTest?: undefined;
169
176
  };
@@ -1,26 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { DEFAULT_CATEGORIES } from "../components/CommandPalette/CommandPalette";
2
3
  import { LinearElementEditor } from "../element/linearElementEditor";
3
- import { isLinearElement } from "../element/typeChecks";
4
+ import { isElbowArrow, isLinearElement } from "../element/typeChecks";
4
5
  import { StoreAction } from "../store";
5
6
  import { register } from "./register";
7
+ import { ToolButton } from "../components/ToolButton";
8
+ import { t } from "../i18n";
9
+ import { lineEditorIcon } from "../components/icons";
6
10
  export const actionToggleLinearEditor = register({
7
11
  name: "toggleLinearEditor",
8
12
  category: DEFAULT_CATEGORIES.elements,
9
13
  label: (elements, appState, app) => {
10
14
  const selectedElement = app.scene.getSelectedElements({
11
15
  selectedElementIds: appState.selectedElementIds,
12
- includeBoundTextElement: true,
13
16
  })[0];
14
- return appState.editingLinearElement?.elementId === selectedElement?.id
15
- ? "labels.lineEditor.exit"
17
+ return selectedElement?.type === "arrow"
18
+ ? "labels.lineEditor.editArrow"
16
19
  : "labels.lineEditor.edit";
17
20
  },
21
+ keywords: ["line"],
18
22
  trackEvent: {
19
23
  category: "element",
20
24
  },
21
25
  predicate: (elements, appState, _, app) => {
22
26
  const selectedElements = app.scene.getSelectedElements(appState);
23
- if (selectedElements.length === 1 && isLinearElement(selectedElements[0])) {
27
+ if (!appState.editingLinearElement &&
28
+ selectedElements.length === 1 &&
29
+ isLinearElement(selectedElements[0]) &&
30
+ !isElbowArrow(selectedElements[0])) {
24
31
  return true;
25
32
  }
26
33
  return false;
@@ -41,4 +48,13 @@ export const actionToggleLinearEditor = register({
41
48
  storeAction: StoreAction.CAPTURE,
42
49
  };
43
50
  },
51
+ PanelComponent: ({ appState, updateData, app }) => {
52
+ const selectedElement = app.scene.getSelectedElements({
53
+ selectedElementIds: appState.selectedElementIds,
54
+ })[0];
55
+ const label = t(selectedElement.type === "arrow"
56
+ ? "labels.lineEditor.editArrow"
57
+ : "labels.lineEditor.edit");
58
+ return (_jsx(ToolButton, { type: "button", icon: lineEditorIcon, title: label, "aria-label": label, onClick: () => updateData(null) }));
59
+ },
44
60
  });
@@ -60,7 +60,9 @@ export declare const actionLink: {
60
60
  currentItemTextAlign: string;
61
61
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
62
62
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
63
+ currentHoveredFontFamily: number | null;
63
64
  currentItemRoundness: import("../element/types").StrokeRoundness;
65
+ currentItemArrowType: "sharp" | "round" | "elbow";
64
66
  viewBackgroundColor: string;
65
67
  scrollX: number;
66
68
  scrollY: number;
@@ -72,7 +74,7 @@ export declare const actionLink: {
72
74
  zoom: Readonly<{
73
75
  value: import("../types").NormalizedZoomValue;
74
76
  }>;
75
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
77
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
76
78
  openSidebar: {
77
79
  name: string;
78
80
  tab?: string | undefined;
@@ -137,7 +139,10 @@ export declare const actionLink: {
137
139
  isSpeaking?: boolean | undefined;
138
140
  isMuted?: boolean | undefined;
139
141
  }>>;
140
- showStats: boolean;
142
+ stats: {
143
+ open: boolean;
144
+ panels: number;
145
+ };
141
146
  currentChartType: import("../element/types").ChartType;
142
147
  pasteDialog: {
143
148
  shown: false;
@@ -157,7 +162,7 @@ export declare const actionLink: {
157
162
  userToFollow: import("../types").UserToFollow | null;
158
163
  followedBy: Set<import("../types").SocketId>;
159
164
  };
160
- storeAction: import("../store").StoreActionType;
165
+ storeAction: "capture";
161
166
  };
162
167
  trackEvent: {
163
168
  category: "hyperlink";
@@ -60,7 +60,9 @@ export declare const actionToggleCanvasMenu: {
60
60
  currentItemTextAlign: string;
61
61
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
62
62
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
63
+ currentHoveredFontFamily: number | null;
63
64
  currentItemRoundness: import("../element/types").StrokeRoundness;
65
+ currentItemArrowType: "sharp" | "round" | "elbow";
64
66
  viewBackgroundColor: string;
65
67
  scrollX: number;
66
68
  scrollY: number;
@@ -72,7 +74,7 @@ export declare const actionToggleCanvasMenu: {
72
74
  zoom: Readonly<{
73
75
  value: import("../types").NormalizedZoomValue;
74
76
  }>;
75
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
77
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
76
78
  openSidebar: {
77
79
  name: string;
78
80
  tab?: string | undefined;
@@ -137,7 +139,10 @@ export declare const actionToggleCanvasMenu: {
137
139
  isSpeaking?: boolean | undefined;
138
140
  isMuted?: boolean | undefined;
139
141
  }>>;
140
- showStats: boolean;
142
+ stats: {
143
+ open: boolean;
144
+ panels: number;
145
+ };
141
146
  currentChartType: import("../element/types").ChartType;
142
147
  pasteDialog: {
143
148
  shown: false;
@@ -158,7 +163,7 @@ export declare const actionToggleCanvasMenu: {
158
163
  userToFollow: import("../types").UserToFollow | null;
159
164
  followedBy: Set<import("../types").SocketId>;
160
165
  };
161
- storeAction: import("../store").StoreActionType;
166
+ storeAction: "none";
162
167
  };
163
168
  PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
164
169
  } & {
@@ -225,7 +230,9 @@ export declare const actionToggleEditMenu: {
225
230
  currentItemTextAlign: string;
226
231
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
227
232
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
233
+ currentHoveredFontFamily: number | null;
228
234
  currentItemRoundness: import("../element/types").StrokeRoundness;
235
+ currentItemArrowType: "sharp" | "round" | "elbow";
229
236
  viewBackgroundColor: string;
230
237
  scrollX: number;
231
238
  scrollY: number;
@@ -237,7 +244,7 @@ export declare const actionToggleEditMenu: {
237
244
  zoom: Readonly<{
238
245
  value: import("../types").NormalizedZoomValue;
239
246
  }>;
240
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
247
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
241
248
  openSidebar: {
242
249
  name: string;
243
250
  tab?: string | undefined;
@@ -302,7 +309,10 @@ export declare const actionToggleEditMenu: {
302
309
  isSpeaking?: boolean | undefined;
303
310
  isMuted?: boolean | undefined;
304
311
  }>>;
305
- showStats: boolean;
312
+ stats: {
313
+ open: boolean;
314
+ panels: number;
315
+ };
306
316
  currentChartType: import("../element/types").ChartType;
307
317
  pasteDialog: {
308
318
  shown: false;
@@ -323,7 +333,7 @@ export declare const actionToggleEditMenu: {
323
333
  userToFollow: import("../types").UserToFollow | null;
324
334
  followedBy: Set<import("../types").SocketId>;
325
335
  };
326
- storeAction: import("../store").StoreActionType;
336
+ storeAction: "none";
327
337
  };
328
338
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
329
339
  } & {
@@ -395,7 +405,9 @@ export declare const actionShortcuts: {
395
405
  currentItemTextAlign: string;
396
406
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
397
407
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
408
+ currentHoveredFontFamily: number | null;
398
409
  currentItemRoundness: import("../element/types").StrokeRoundness;
410
+ currentItemArrowType: "sharp" | "round" | "elbow";
399
411
  viewBackgroundColor: string;
400
412
  scrollX: number;
401
413
  scrollY: number;
@@ -408,7 +420,7 @@ export declare const actionShortcuts: {
408
420
  value: import("../types").NormalizedZoomValue;
409
421
  }>;
410
422
  openMenu: "canvas" | "shape" | null;
411
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
423
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
412
424
  openSidebar: {
413
425
  name: string;
414
426
  tab?: string | undefined;
@@ -461,7 +473,10 @@ export declare const actionShortcuts: {
461
473
  isSpeaking?: boolean | undefined;
462
474
  isMuted?: boolean | undefined;
463
475
  }>>;
464
- showStats: boolean;
476
+ stats: {
477
+ open: boolean;
478
+ panels: number;
479
+ };
465
480
  currentChartType: import("../element/types").ChartType;
466
481
  pasteDialog: {
467
482
  shown: false;
@@ -482,7 +497,7 @@ export declare const actionShortcuts: {
482
497
  userToFollow: import("../types").UserToFollow | null;
483
498
  followedBy: Set<import("../types").SocketId>;
484
499
  };
485
- storeAction: import("../store").StoreActionType;
500
+ storeAction: "none";
486
501
  };
487
502
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
488
503
  } & {