@excalidraw/element 0.18.0-ac0d305 → 0.18.0-afa3a65

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 (348) hide show
  1. package/dist/dev/index.js +15024 -9215
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +20 -19
  4. package/dist/types/common/debug.d.ts +21 -0
  5. package/dist/types/common/src/appEventBus.d.ts +27 -0
  6. package/dist/types/common/src/bounds.d.ts +10 -0
  7. package/dist/types/common/src/colors.d.ts +81 -39
  8. package/dist/types/common/src/constants.d.ts +81 -34
  9. package/dist/types/common/src/editorInterface.d.ts +34 -0
  10. package/dist/types/common/src/font-metadata.d.ts +1 -3
  11. package/dist/types/common/src/index.d.ts +5 -0
  12. package/dist/types/common/src/keys.d.ts +5 -1
  13. package/dist/types/common/src/points.d.ts +1 -1
  14. package/dist/types/common/src/random.d.ts +7 -0
  15. package/dist/types/common/src/utility-types.d.ts +0 -1
  16. package/dist/types/common/src/utils.d.ts +47 -78
  17. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  18. package/dist/types/element/src/Scene.d.ts +12 -8
  19. package/dist/types/element/src/align.d.ts +2 -2
  20. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  21. package/dist/types/element/src/arrowheads.d.ts +3 -0
  22. package/dist/types/element/src/arrows/focus.d.ts +30 -0
  23. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  24. package/dist/types/element/src/binding.d.ts +79 -51
  25. package/dist/types/element/src/bounds.d.ts +25 -18
  26. package/dist/types/element/src/bucketFill.d.ts +110 -0
  27. package/dist/types/element/src/collision.d.ts +7 -2
  28. package/dist/types/element/src/comparisons.d.ts +10 -7
  29. package/dist/types/element/src/convertToShape.d.ts +23 -0
  30. package/dist/types/element/src/delta.d.ts +23 -1
  31. package/dist/types/element/src/distribute.d.ts +3 -2
  32. package/dist/types/element/src/dragElements.d.ts +30 -3
  33. package/dist/types/element/src/duplicate.d.ts +7 -6
  34. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  35. package/dist/types/element/src/embeddable.d.ts +2 -2
  36. package/dist/types/element/src/flowchart.d.ts +11 -7
  37. package/dist/types/element/src/fractionalIndex.d.ts +4 -4
  38. package/dist/types/element/src/frame.d.ts +16 -11
  39. package/dist/types/element/src/groups.d.ts +9 -9
  40. package/dist/types/element/src/heading.d.ts +2 -1
  41. package/dist/types/element/src/image.d.ts +1 -11
  42. package/dist/types/element/src/index.d.ts +9 -4
  43. package/dist/types/element/src/linearElementEditor.d.ts +48 -30
  44. package/dist/types/element/src/mutateElement.d.ts +6 -2
  45. package/dist/types/element/src/newElement.d.ts +44 -8
  46. package/dist/types/element/src/renderElement.d.ts +1 -10
  47. package/dist/types/element/src/resizeElements.d.ts +12 -12
  48. package/dist/types/element/src/resizeTest.d.ts +6 -5
  49. package/dist/types/element/src/selection.d.ts +14 -14
  50. package/dist/types/element/src/shape.d.ts +21 -8
  51. package/dist/types/element/src/sizeHelpers.d.ts +6 -0
  52. package/dist/types/element/src/sortElements.d.ts +10 -0
  53. package/dist/types/element/src/stickyNote.d.ts +183 -0
  54. package/dist/types/element/src/textElement.d.ts +14 -10
  55. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  56. package/dist/types/element/src/textWrapping.d.ts +26 -0
  57. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +27 -8
  58. package/dist/types/element/src/transformHandles.d.ts +8 -27
  59. package/dist/types/element/src/typeChecks.d.ts +30 -31
  60. package/dist/types/element/src/types.d.ts +55 -20
  61. package/dist/types/element/src/utils.d.ts +15 -6
  62. package/dist/types/element/src/visualdebug.d.ts +58 -0
  63. package/dist/types/element/src/zindex.d.ts +7 -1
  64. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +185 -189
  65. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  66. package/dist/types/excalidraw/actions/actionBoundText.d.ts +130 -133
  67. package/dist/types/excalidraw/actions/actionCanvas.d.ts +474 -1577
  68. package/dist/types/excalidraw/actions/actionClipboard.d.ts +132 -880
  69. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +63 -65
  70. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +207 -214
  71. package/dist/types/excalidraw/actions/actionDeselect.d.ts +169 -0
  72. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  73. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -3
  74. package/dist/types/excalidraw/actions/actionElementLink.d.ts +55 -63
  75. package/dist/types/excalidraw/actions/actionElementLock.d.ts +129 -132
  76. package/dist/types/excalidraw/actions/actionExport.d.ts +208 -1423
  77. package/dist/types/excalidraw/actions/actionFinalize.d.ts +11 -396
  78. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  79. package/dist/types/excalidraw/actions/actionFrame.d.ts +344 -522
  80. package/dist/types/excalidraw/actions/actionGroup.d.ts +140 -151
  81. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +226 -214
  82. package/dist/types/excalidraw/actions/actionLink.d.ts +62 -64
  83. package/dist/types/excalidraw/actions/actionMenu.d.ts +54 -430
  84. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -361
  85. package/dist/types/excalidraw/actions/actionProperties.d.ts +221 -2560
  86. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +70 -76
  87. package/dist/types/excalidraw/actions/actionStyles.d.ts +64 -65
  88. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  89. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleArrowBinding.d.ts} +78 -79
  90. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +67 -70
  91. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +185 -0
  92. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +64 -66
  93. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +55 -64
  94. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  95. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +64 -66
  96. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +65 -67
  97. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +65 -67
  98. package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -3
  99. package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
  100. package/dist/types/excalidraw/actions/index.d.ts +5 -3
  101. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  102. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  103. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  104. package/dist/types/excalidraw/actions/types.d.ts +11 -7
  105. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  106. package/dist/types/excalidraw/appState.d.ts +36 -19
  107. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  108. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  109. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  110. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  111. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  112. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  113. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  114. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  115. package/dist/types/excalidraw/clipboard.d.ts +13 -36
  116. package/dist/types/excalidraw/components/Actions.d.ts +26 -11
  117. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  118. package/dist/types/excalidraw/components/App.arrowText.d.ts +104 -0
  119. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  120. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  121. package/dist/types/excalidraw/components/App.d.ts +546 -124
  122. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  123. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  124. package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
  125. package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
  126. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  127. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  128. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  129. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -5
  130. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  131. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +5 -1
  132. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -2
  133. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +5 -2
  134. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  135. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  136. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  137. package/dist/types/excalidraw/components/ColorPicker/topPicksDnD.d.ts +31 -0
  138. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  139. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  140. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  141. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
  142. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  143. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  144. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  145. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  146. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  147. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  148. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  149. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  150. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +2 -1
  151. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  152. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  153. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  154. package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
  155. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  156. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  157. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  158. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  159. package/dist/types/excalidraw/components/LayerUI.d.ts +6 -2
  160. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  161. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  162. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  163. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  164. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  165. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  166. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  167. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  168. package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
  169. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  170. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  171. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  172. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  173. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  174. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  175. package/dist/types/excalidraw/components/Popover.d.ts +2 -3
  176. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  177. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  178. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  179. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  180. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  181. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  182. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  183. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  184. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  185. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  186. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  187. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  188. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  189. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  190. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  191. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  192. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  193. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  194. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  195. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  196. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  197. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  198. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  199. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  200. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  201. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  202. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  203. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  204. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  205. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  206. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  207. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  208. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  209. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  210. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  211. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  212. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  213. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  214. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  215. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  216. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  217. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  218. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  219. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  220. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  221. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  222. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  223. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  224. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  225. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  226. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  227. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  228. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  229. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  230. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  231. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  232. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  233. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  234. package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
  235. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  236. package/dist/types/excalidraw/components/Tools.d.ts +151 -0
  237. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  238. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  239. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  240. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +10 -4
  241. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
  242. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  243. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  244. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  245. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  246. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  247. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  248. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  249. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  250. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  251. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  252. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  253. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  254. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  255. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  256. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  257. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  258. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  259. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  260. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  261. package/dist/types/excalidraw/components/icons.d.ts +51 -23
  262. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
  263. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  264. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  265. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  266. package/dist/types/excalidraw/data/blob.d.ts +353 -8
  267. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  268. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  269. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  270. package/dist/types/excalidraw/data/index.d.ts +8 -9
  271. package/dist/types/excalidraw/data/json.d.ts +182 -3
  272. package/dist/types/excalidraw/data/library.d.ts +25 -10
  273. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  274. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  275. package/dist/types/excalidraw/data/types.d.ts +4 -1
  276. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  277. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  278. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  279. package/dist/types/excalidraw/errors.d.ts +14 -0
  280. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
  281. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  282. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  283. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  284. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  285. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
  286. package/dist/types/excalidraw/i18n.d.ts +2 -2
  287. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  288. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  289. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  290. package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
  291. package/dist/types/excalidraw/renderer/helpers.d.ts +31 -8
  292. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  293. package/dist/types/excalidraw/scene/Renderer.d.ts +477 -18
  294. package/dist/types/excalidraw/scene/export.d.ts +4 -4
  295. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  296. package/dist/types/excalidraw/scene/types.d.ts +27 -8
  297. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  298. package/dist/types/excalidraw/snapping.d.ts +12 -12
  299. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  300. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  301. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  302. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  303. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  304. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  305. package/dist/types/excalidraw/types.d.ts +561 -57
  306. package/dist/types/excalidraw/viewport.d.ts +279 -0
  307. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
  308. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  309. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  310. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  311. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  312. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  313. package/dist/types/math/src/constants.d.ts +0 -1
  314. package/dist/types/math/src/curve.d.ts +23 -13
  315. package/dist/types/math/src/index.d.ts +1 -0
  316. package/dist/types/math/src/pca.d.ts +79 -0
  317. package/dist/types/math/src/point.d.ts +8 -2
  318. package/dist/types/math/src/polygon.d.ts +26 -2
  319. package/dist/types/math/src/range.d.ts +1 -3
  320. package/dist/types/math/src/segment.d.ts +9 -3
  321. package/dist/types/math/src/types.d.ts +25 -1
  322. package/dist/types/utils/src/export.d.ts +9 -8
  323. package/dist/types/utils/src/index.d.ts +1 -2
  324. package/dist/types/utils/src/shape.d.ts +8 -8
  325. package/package.json +10 -3
  326. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  327. package/dist/types/excalidraw/charts.d.ts +0 -27
  328. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  329. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  330. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  331. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  332. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  333. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  334. package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
  335. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  336. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  337. package/dist/types/excalidraw/components/shapes.d.ts +0 -190
  338. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  339. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  340. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  341. package/dist/types/excalidraw/cursor.d.ts +0 -5
  342. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  343. package/dist/types/excalidraw/index.d.ts +0 -47
  344. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  345. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  346. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  347. package/dist/types/utils/src/bbox.d.ts +0 -9
  348. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const actionToggleZenMode: {
3
2
  name: "zenMode";
4
3
  label: string;
@@ -18,18 +17,27 @@ export declare const actionToggleZenMode: {
18
17
  } | null;
19
18
  showWelcomeScreen: boolean;
20
19
  isLoading: boolean;
21
- errorMessage: import("react").ReactNode;
20
+ errorMessage: React.ReactNode;
22
21
  activeEmbeddable: {
23
22
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
24
- state: "active" | "hover";
23
+ state: "hover" | "active";
25
24
  } | null;
26
25
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
27
26
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
28
27
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
29
28
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
30
29
  isBindingEnabled: boolean;
31
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
32
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
30
+ boxSelectionMode: import("../types").BoxSelectionMode;
31
+ bindingPreference: "enabled" | "disabled";
32
+ isMidpointSnappingEnabled: boolean;
33
+ suggestedBinding: {
34
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
35
+ midPoint?: import("@excalidraw/math").GlobalPoint;
36
+ } | null;
37
+ hoveredArrowTextAnchor: {
38
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
39
+ anchor: "start" | "end" | "label";
40
+ } | null;
33
41
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
34
42
  frameRendering: {
35
43
  enabled: boolean;
@@ -37,14 +45,18 @@ export declare const actionToggleZenMode: {
37
45
  outline: boolean;
38
46
  clip: boolean;
39
47
  };
40
- editingFrame: string | null;
41
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
42
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
48
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
49
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
50
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
43
51
  activeTool: {
44
52
  lastActiveTool: import("../types").ActiveTool | null;
45
53
  locked: boolean;
46
54
  fromSelection: boolean;
47
55
  } & import("../types").ActiveTool;
56
+ preferredSelectionTool: {
57
+ type: "selection" | "lasso";
58
+ initialized: boolean;
59
+ };
48
60
  penMode: boolean;
49
61
  penDetected: boolean;
50
62
  exportBackground: boolean;
@@ -52,48 +64,56 @@ export declare const actionToggleZenMode: {
52
64
  exportWithDarkMode: boolean;
53
65
  exportScale: number;
54
66
  currentItemStrokeColor: string;
67
+ currentItemStickynoteStrokeColor: string;
68
+ currentItemStickynoteBackgroundColor: string;
55
69
  currentItemBackgroundColor: string;
56
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
57
- currentItemStrokeWidth: number;
58
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
70
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
71
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
72
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
59
73
  currentItemRoughness: number;
74
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
60
75
  currentItemOpacity: number;
61
- currentItemFontFamily: number;
76
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
62
77
  currentItemFontSize: number;
63
- currentItemTextAlign: string;
78
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
64
79
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
65
80
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
66
- currentHoveredFontFamily: number | null;
81
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
67
82
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
68
- currentItemArrowType: "round" | "sharp" | "elbow";
83
+ currentItemArrowType: "sharp" | "round" | "elbow";
69
84
  viewBackgroundColor: string;
70
85
  scrollX: number;
71
86
  scrollY: number;
87
+ scrollConstraints: import("../types").ScrollConstraints | null;
72
88
  cursorButton: "up" | "down";
73
89
  scrolledOutside: boolean;
74
90
  name: string | null;
75
91
  isResizing: boolean;
76
92
  isRotating: boolean;
77
- zoom: Readonly<{
78
- value: import("../types").NormalizedZoomValue;
79
- }>;
80
- openMenu: "canvas" | "shape" | null;
81
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
93
+ zoom: import("../types").Zoom;
94
+ openMenu: "canvas" | null;
95
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
82
96
  openSidebar: {
83
- name: string;
84
- tab?: string | undefined;
97
+ name: import("../types").SidebarName;
98
+ tab?: import("../types").SidebarTabName;
85
99
  } | null;
86
- openDialog: {
100
+ openDialog: null | {
87
101
  name: "imageExport" | "help" | "jsonExport";
88
102
  } | {
89
103
  name: "ttd";
90
- tab: "mermaid" | "text-to-diagram";
104
+ tab: "text-to-diagram" | "mermaid";
91
105
  } | {
92
106
  name: "commandPalette";
107
+ } | {
108
+ name: "settings";
93
109
  } | {
94
110
  name: "elementLinkSelector";
95
- sourceElementId: string;
96
- } | null;
111
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
112
+ } | {
113
+ name: "charts";
114
+ data: import("../charts").Spreadsheet;
115
+ rawText: string;
116
+ };
97
117
  defaultSidebarDockedPreference: boolean;
98
118
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
99
119
  selectedElementIds: Readonly<{
@@ -108,9 +128,9 @@ export declare const actionToggleZenMode: {
108
128
  selectedElementsAreBeingDragged: boolean;
109
129
  shouldCacheIgnoreZoom: boolean;
110
130
  toast: {
111
- message: string;
112
- closable?: boolean | undefined;
113
- duration?: number | undefined;
131
+ message: React.ReactNode;
132
+ closable?: boolean;
133
+ duration?: number;
114
134
  } | null;
115
135
  theme: import("@excalidraw/element/types").Theme;
116
136
  gridSize: number;
@@ -120,45 +140,18 @@ export declare const actionToggleZenMode: {
120
140
  selectedGroupIds: {
121
141
  [groupId: string]: boolean;
122
142
  };
123
- editingGroupId: string | null;
143
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
124
144
  width: number;
125
145
  height: number;
126
146
  offsetTop: number;
127
147
  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("@excalidraw/common").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
- }>>;
148
+ fileHandle: FileSystemFileHandle | null;
149
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
149
150
  stats: {
150
151
  open: boolean;
151
152
  panels: number;
152
153
  };
153
- currentChartType: import("@excalidraw/element/types").ChartType;
154
- pasteDialog: {
155
- shown: false;
156
- data: null;
157
- } | {
158
- shown: true;
159
- data: import("../charts").Spreadsheet;
160
- };
161
- showHyperlinkPopup: false | "editor" | "info";
154
+ showHyperlinkPopup: false | "info" | "editor";
162
155
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
163
156
  snapLines: readonly import("../snapping").SnapLine[];
164
157
  originSnapOffset: {
@@ -166,24 +159,29 @@ export declare const actionToggleZenMode: {
166
159
  y: number;
167
160
  } | null;
168
161
  objectsSnapModeEnabled: boolean;
169
- userToFollow: import("../types").UserToFollow | null;
170
- followedBy: Set<import("../types").SocketId>;
171
162
  isCropping: boolean;
172
- croppingElementId: string | null;
163
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
173
164
  searchMatches: Readonly<{
174
- focusedId: string | null;
165
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
175
166
  matches: readonly import("../types").SearchMatch[];
176
167
  }> | null;
177
168
  activeLockedId: string | null;
178
169
  lockedMultiSelections: {
179
170
  [groupId: string]: true;
180
171
  };
181
- stylesPanelMode: "compact" | "full";
172
+ bindMode: import("@excalidraw/element/types").BindMode;
173
+ colorTopPicks: {
174
+ elementStroke: readonly string[] | null;
175
+ elementBackground: readonly string[] | null;
176
+ bucketFill: readonly string[] | null;
177
+ stickyNoteStroke: readonly string[] | null;
178
+ stickyNoteBackground: readonly string[] | null;
179
+ };
182
180
  };
183
181
  captureUpdate: "EVENTUALLY";
184
182
  };
185
- checked: (appState: Readonly<import("../types").AppState>) => boolean;
186
- predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
183
+ checked: (appState: Readonly<import("../types").UIAppState>) => boolean;
184
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
187
185
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
188
186
  } & {
189
187
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const actionSendBackward: {
3
2
  name: "sendBackward";
4
3
  label: string;
@@ -7,7 +6,7 @@ export declare const actionSendBackward: {
7
6
  trackEvent: {
8
7
  category: "element";
9
8
  };
10
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => {
9
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: unknown, app: import("../types").AppClassProperties) => {
11
10
  elements: readonly import("@excalidraw/element/types").ExcalidrawElement[];
12
11
  appState: Readonly<import("../types").AppState>;
13
12
  captureUpdate: "IMMEDIATELY";
@@ -26,7 +25,7 @@ export declare const actionBringForward: {
26
25
  trackEvent: {
27
26
  category: "element";
28
27
  };
29
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => {
28
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: unknown, app: import("../types").AppClassProperties) => {
30
29
  elements: readonly import("@excalidraw/element/types").ExcalidrawElement[];
31
30
  appState: Readonly<import("../types").AppState>;
32
31
  captureUpdate: "IMMEDIATELY";
@@ -0,0 +1,39 @@
1
+ import type { ColorPaletteCustom, ColorTuple } from "@excalidraw/common";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
+ import type { AppState } from "../types";
4
+ export type ColorProperty = "strokeColor" | "backgroundColor";
5
+ /**
6
+ * Sticky notes are their own color domain: own defaults, own top picks, no
7
+ * transparent. A pick targets the regular domain, the sticky domain, or both
8
+ * ("mixed" selections write both defaults and use the regular picker).
9
+ */
10
+ export type ColorTargetKind = "regular" | "sticky" | "mixed";
11
+ export type ColorDefaultKey = "currentItemStrokeColor" | "currentItemBackgroundColor" | "currentItemStickynoteStrokeColor" | "currentItemStickynoteBackgroundColor";
12
+ export type ColorTargetAppState = Pick<AppState, "selectedElementIds" | "editingTextElement" | "activeTool" | ColorDefaultKey>;
13
+ export type ColorTarget = {
14
+ kind: ColorTargetKind;
15
+ property: ColorProperty;
16
+ /** the current-item defaults a pick is written to (normalized per domain) */
17
+ appStateKeys: readonly ColorDefaultKey[];
18
+ /** the default shown when no element is targeted */
19
+ currentValue: string;
20
+ palette: ColorPaletteCustom;
21
+ topPicks: ColorTuple;
22
+ customizableTopPicks: keyof AppState["colorTopPicks"];
23
+ excludedColors: readonly string[] | undefined;
24
+ };
25
+ /**
26
+ * Who a stroke/background pick targets. Resolve it from the state an action
27
+ * runs against, at execution time — never capture it in a render closure:
28
+ * the memoized picker keeps a stale `onChange`, and the always-visible top
29
+ * picks fire it without a re-render.
30
+ *
31
+ * Targets are the selected color-capable elements (for stroke incl. bound
32
+ * labels, since a note's visible text is its label) plus the text being
33
+ * edited (`handleTextWysiwyg` deselects while editing) — or, for a
34
+ * background pick on a note's label, the note (see `getColorTargetElement`).
35
+ * With no target, the active tool decides the domain.
36
+ */
37
+ export declare const resolveColorTarget: (appState: ColorTargetAppState, elements: readonly ExcalidrawElement[], property: ColorProperty) => ColorTarget;
38
+ /** the current-item default updates for a picked color */
39
+ export declare const getColorTargetAppStateUpdates: (target: ColorTarget, color: string) => Partial<AppState>;
@@ -2,13 +2,13 @@ export { actionDeleteSelected } from "./actionDeleteSelected";
2
2
  export { actionBringForward, actionBringToFront, actionSendBackward, actionSendToBack, } from "./actionZindex";
3
3
  export { actionSelectAll } from "./actionSelectAll";
4
4
  export { actionDuplicateSelection } from "./actionDuplicateSelection";
5
- export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeStrokeWidth, actionChangeFillStyle, actionChangeSloppiness, actionChangeOpacity, actionChangeFontSize, actionChangeFontFamily, actionChangeTextAlign, actionChangeVerticalAlign, actionChangeArrowProperties, } from "./actionProperties";
5
+ export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeBucketFillBackgroundColor, actionChangeStrokeWidth, actionChangeFillStyle, actionChangeSloppiness, actionChangeFreedrawMode, actionChangeOpacity, actionChangeFontSize, actionChangeFontFamily, actionChangeTextAlign, actionChangeVerticalAlign, actionChangeArrowProperties, } from "./actionProperties";
6
6
  export { actionChangeViewBackgroundColor, actionClearCanvas, actionZoomIn, actionZoomOut, actionResetZoom, actionZoomToFit, actionToggleTheme, } from "./actionCanvas";
7
- export { actionSetEmbeddableAsActiveTool } from "./actionEmbeddable";
8
7
  export { actionFinalize } from "./actionFinalize";
8
+ export { actionDeselect } from "./actionDeselect";
9
9
  export { actionChangeProjectName, actionChangeExportBackground, actionSaveToActiveFile, actionSaveFileToDisk, actionLoadScene, } from "./actionExport";
10
10
  export { actionCopyStyles, actionPasteStyles } from "./actionStyles";
11
- export { actionToggleCanvasMenu, actionToggleEditMenu, actionShortcuts, } from "./actionMenu";
11
+ export { actionShortcuts } from "./actionMenu";
12
12
  export { actionGroup, actionUngroup } from "./actionGroup";
13
13
  export { actionGoToCollaborator } from "./actionNavigate";
14
14
  export { actionAddToLibrary } from "./actionAddToLibrary";
@@ -19,6 +19,8 @@ export { actionCopy, actionCut, actionCopyAsPng, actionCopyAsSvg, copyText, } fr
19
19
  export { actionToggleGridMode } from "./actionToggleGridMode";
20
20
  export { actionToggleZenMode } from "./actionToggleZenMode";
21
21
  export { actionToggleObjectsSnapMode } from "./actionToggleObjectsSnapMode";
22
+ export { actionToggleArrowBinding } from "./actionToggleArrowBinding";
23
+ export { actionToggleMidpointSnapping } from "./actionToggleMidpointSnapping";
22
24
  export { actionToggleStats } from "./actionToggleStats";
23
25
  export { actionUnbindText, actionBindText } from "./actionBoundText";
24
26
  export { actionLink } from "./actionLink";
@@ -11,6 +11,7 @@ export declare class ActionManager {
11
11
  constructor(updater: UpdaterFn, getAppState: () => AppState, getElementsIncludingDeleted: () => readonly OrderedExcalidrawElement[], app: AppClassProperties);
12
12
  registerAction(action: Action): void;
13
13
  registerAll(actions: readonly Action[]): void;
14
+ private isActionBlockedByViewportTransition;
14
15
  handleKeyDown(event: React.KeyboardEvent | KeyboardEvent): boolean;
15
16
  executeAction<T extends Action>(action: T, source?: ActionSource, value?: Parameters<T["perform"]>[2]): void;
16
17
  /**
@@ -1,5 +1,5 @@
1
1
  import type { Action } from "./types";
2
2
  export declare let actions: readonly Action[];
3
- export declare const register: <T extends Action>(action: T) => T & {
4
- keyTest?: (unknown extends T["keyTest"] ? never : T["keyTest"]) | undefined;
3
+ export declare const register: <TData extends any, T extends Action<TData> = Action<TData>>(action: T) => T & {
4
+ keyTest?: unknown extends T["keyTest"] ? never : T["keyTest"];
5
5
  };
@@ -1,4 +1,4 @@
1
1
  import type { SubtypeOf } from "@excalidraw/common/utility-types";
2
2
  import type { ActionName } from "./types";
3
- export type ShortcutName = SubtypeOf<ActionName, "toggleTheme" | "loadScene" | "clearCanvas" | "cut" | "copy" | "paste" | "copyStyles" | "pasteStyles" | "selectAll" | "deleteSelectedElements" | "duplicateSelection" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyAsPng" | "group" | "ungroup" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "addToLibrary" | "viewMode" | "flipHorizontal" | "flipVertical" | "hyperlink" | "toggleElementLock" | "resetZoom" | "zoomOut" | "zoomIn" | "zoomToFit" | "zoomToFitSelectionInViewport" | "zoomToFitSelection" | "toggleEraserTool" | "toggleHandTool" | "setFrameAsActiveTool" | "saveFileToDisk" | "saveToActiveFile" | "toggleShortcuts" | "wrapSelectionInFrame"> | "saveScene" | "imageExport" | "commandPalette" | "searchMenu";
3
+ export type ShortcutName = SubtypeOf<ActionName, "toggleTheme" | "loadScene" | "clearCanvas" | "cut" | "copy" | "paste" | "copyStyles" | "pasteStyles" | "selectAll" | "deleteSelectedElements" | "duplicateSelection" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyAsPng" | "group" | "ungroup" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "addToLibrary" | "viewMode" | "flipHorizontal" | "flipVertical" | "hyperlink" | "toggleElementLock" | "resetZoom" | "zoomOut" | "zoomIn" | "zoomToFit" | "zoomToFitSelectionInViewport" | "zoomToFitSelection" | "saveFileToDisk" | "saveToActiveFile" | "toggleShortcuts" | "wrapSelectionInFrame"> | "saveScene" | "imageExport" | "commandPalette" | "searchMenu" | "toolLock";
4
4
  export declare const getShortcutFromShortcutName: (name: ShortcutName, idx?: number) => string;
@@ -11,30 +11,30 @@ export type ActionResult = {
11
11
  captureUpdate: CaptureUpdateActionType;
12
12
  replaceFiles?: boolean;
13
13
  } | false;
14
- type ActionFn = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: any, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
14
+ type ActionFn<TData = any> = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: TData | undefined, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
15
15
  export type UpdaterFn = (res: ActionResult) => void;
16
16
  export type ActionFilterFn = (action: Action) => void;
17
- export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "toggleCanvasMenu" | "toggleEditMenu" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
17
+ export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "arrowBinding" | "midpointSnapping" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeBucketFillBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeSloppiness" | "changeFreedrawMode" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "deselect" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleShapeSwitch" | "togglePolygon";
18
18
  export type PanelComponentProps = {
19
19
  elements: readonly ExcalidrawElement[];
20
- appState: AppState;
20
+ appState: UIAppState;
21
21
  updateData: <T = any>(formData?: T) => void;
22
22
  appProps: ExcalidrawProps;
23
23
  data?: Record<string, any>;
24
24
  app: AppClassProperties;
25
25
  renderAction: (name: ActionName, data?: PanelComponentProps["data"]) => React.JSX.Element | null;
26
26
  };
27
- export interface Action {
27
+ export interface Action<TData = any> {
28
28
  name: ActionName;
29
- label: string | ((elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, app: AppClassProperties) => string);
29
+ label: string | ((elements: readonly ExcalidrawElement[], appState: Readonly<UIAppState>, app: AppClassProperties) => string);
30
30
  keywords?: string[];
31
31
  icon?: React.ReactNode | ((appState: UIAppState, elements: readonly ExcalidrawElement[]) => React.ReactNode);
32
32
  PanelComponent?: React.FC<PanelComponentProps>;
33
- perform: ActionFn;
33
+ perform: ActionFn<TData>;
34
34
  keyPriority?: number;
35
35
  keyTest?: (event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean;
36
36
  predicate?: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: ExcalidrawProps, app: AppClassProperties) => boolean;
37
- checked?: (appState: Readonly<AppState>) => boolean;
37
+ checked?: (appState: Readonly<UIAppState>) => boolean;
38
38
  trackEvent: false | {
39
39
  category: "toolbar" | "element" | "canvas" | "export" | "history" | "menu" | "collab" | "hyperlink" | "search_menu" | "shape_switch";
40
40
  action?: string;
@@ -43,5 +43,9 @@ export interface Action {
43
43
  /** if set to `true`, allow action to be performed in viewMode.
44
44
  * Defaults to `false` */
45
45
  viewMode?: boolean;
46
+ /** if set to `true`, the action counts as canvas navigation and remains
47
+ * available in the non-interactive editor when
48
+ * `interaction: { enabled: { navigation: true } }`. Defaults to `false` */
49
+ navigation?: boolean;
46
50
  }
47
51
  export {};
@@ -1,6 +1,5 @@
1
1
  import { LaserPointer } from "@excalidraw/laser-pointer";
2
2
  import type { LaserPointerOptions } from "@excalidraw/laser-pointer";
3
- import type { AnimationFrameHandler } from "./animation-frame-handler";
4
3
  import type App from "./components/App";
5
4
  export interface Trail {
6
5
  start(container: SVGSVGElement): void;
@@ -15,7 +14,6 @@ export interface AnimatedTrailOptions {
15
14
  animateTrail?: boolean;
16
15
  }
17
16
  export declare class AnimatedTrail implements Trail {
18
- private animationFrameHandler;
19
17
  protected app: App;
20
18
  private options;
21
19
  private currentTrail?;
@@ -23,9 +21,12 @@ export declare class AnimatedTrail implements Trail {
23
21
  private container?;
24
22
  private trailElement;
25
23
  private trailAnimation?;
26
- constructor(animationFrameHandler: AnimationFrameHandler, app: App, options: Partial<LaserPointerOptions> & Partial<AnimatedTrailOptions>);
24
+ private key;
25
+ private static counter;
26
+ constructor(app: App, options: Partial<LaserPointerOptions> & Partial<AnimatedTrailOptions>);
27
27
  get hasCurrentTrail(): boolean;
28
28
  hasLastPoint(x: number, y: number): boolean;
29
+ private cleanup;
29
30
  start(container?: SVGSVGElement): void;
30
31
  stop(): void;
31
32
  startPath(x: number, y: number): void;
@@ -2,6 +2,7 @@ import type { AppState, NormalizedZoomValue } from "./types";
2
2
  export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
3
3
  export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
4
4
  viewBackgroundColor?: string | undefined;
5
+ theme?: import("@excalidraw/element/types").Theme | undefined;
5
6
  name?: string | null | undefined;
6
7
  zoom?: Readonly<{
7
8
  value: NormalizedZoomValue;
@@ -12,30 +13,45 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
12
13
  selectedElementIds?: Readonly<{
13
14
  [id: string]: true;
14
15
  }> | undefined;
15
- theme?: import("@excalidraw/element/types").Theme | undefined;
16
+ activeTool?: ({
17
+ lastActiveTool: import("./types").ActiveTool | null;
18
+ locked: boolean;
19
+ fromSelection: boolean;
20
+ } & import("./types").ActiveTool) | undefined;
16
21
  selectedGroupIds?: {
17
22
  [groupId: string]: boolean;
18
23
  } | undefined;
19
24
  selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
25
+ isBindingEnabled?: boolean | undefined;
26
+ isMidpointSnappingEnabled?: boolean | undefined;
27
+ gridModeEnabled?: boolean | undefined;
20
28
  zenModeEnabled?: boolean | undefined;
29
+ shouldCacheIgnoreZoom?: boolean | undefined;
30
+ exportScale?: number | undefined;
31
+ currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
32
+ gridSize?: number | undefined;
33
+ bindMode?: import("@excalidraw/element/types").BindMode | undefined;
21
34
  showWelcomeScreen?: boolean | undefined;
22
- activeTool?: ({
23
- lastActiveTool: import("./types").ActiveTool | null;
24
- locked: boolean;
25
- fromSelection: boolean;
26
- } & import("./types").ActiveTool) | undefined;
35
+ boxSelectionMode?: import("./types").BoxSelectionMode | undefined;
36
+ bindingPreference?: "enabled" | "disabled" | undefined;
37
+ preferredSelectionTool?: {
38
+ type: "selection" | "lasso";
39
+ initialized: boolean;
40
+ } | undefined;
27
41
  penMode?: boolean | undefined;
28
42
  penDetected?: boolean | undefined;
29
43
  exportBackground?: boolean | undefined;
30
44
  exportEmbedScene?: boolean | undefined;
31
45
  exportWithDarkMode?: boolean | undefined;
32
- exportScale?: number | undefined;
33
46
  currentItemStrokeColor?: string | undefined;
47
+ currentItemStickynoteStrokeColor?: string | undefined;
48
+ currentItemStickynoteBackgroundColor?: string | undefined;
34
49
  currentItemBackgroundColor?: string | undefined;
35
50
  currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
36
- currentItemStrokeWidth?: number | undefined;
51
+ currentItemStrokeWidthKey?: import("@excalidraw/common").StrokeWidthKey | undefined;
37
52
  currentItemStrokeStyle?: import("@excalidraw/element/types").StrokeStyle | undefined;
38
53
  currentItemRoughness?: number | undefined;
54
+ currentItemStrokeVariability?: import("@excalidraw/element/types").StrokeVariability | undefined;
39
55
  currentItemOpacity?: number | undefined;
40
56
  currentItemFontFamily?: number | undefined;
41
57
  currentItemFontSize?: number | undefined;
@@ -43,48 +59,49 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
43
59
  currentItemStartArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
44
60
  currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
45
61
  currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
46
- currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
47
62
  cursorButton?: "up" | "down" | undefined;
48
63
  scrolledOutside?: boolean | undefined;
49
- openMenu?: "canvas" | "shape" | null | undefined;
64
+ openMenu?: "canvas" | null | undefined;
50
65
  openSidebar?: {
51
- name: string;
52
- tab?: string | undefined;
66
+ name: import("./types").SidebarName;
67
+ tab?: import("./types").SidebarTabName;
53
68
  } | null | undefined;
54
69
  defaultSidebarDockedPreference?: boolean | undefined;
55
70
  lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
56
71
  previousSelectedElementIds?: {
57
72
  [id: string]: true;
58
73
  } | undefined;
59
- shouldCacheIgnoreZoom?: boolean | undefined;
60
- gridSize?: number | undefined;
61
74
  gridStep?: number | undefined;
62
- gridModeEnabled?: boolean | undefined;
63
75
  stats?: {
64
76
  open: boolean;
65
77
  panels: number;
66
78
  } | undefined;
67
- currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
68
79
  objectsSnapModeEnabled?: boolean | undefined;
69
80
  lockedMultiSelections?: {
70
81
  [groupId: string]: true;
71
82
  } | undefined;
72
- stylesPanelMode?: "compact" | "full" | undefined;
83
+ colorTopPicks?: {
84
+ elementStroke: readonly string[] | null;
85
+ elementBackground: readonly string[] | null;
86
+ bucketFill: readonly string[] | null;
87
+ stickyNoteStroke: readonly string[] | null;
88
+ stickyNoteBackground: readonly string[] | null;
89
+ } | undefined;
73
90
  };
74
91
  export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
75
92
  viewBackgroundColor?: string | undefined;
93
+ gridModeEnabled?: boolean | undefined;
76
94
  gridSize?: number | undefined;
77
95
  gridStep?: number | undefined;
78
- gridModeEnabled?: boolean | undefined;
79
96
  lockedMultiSelections?: {
80
97
  [groupId: string]: true;
81
98
  } | undefined;
82
99
  };
83
100
  export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
84
101
  viewBackgroundColor?: string | undefined;
102
+ gridModeEnabled?: boolean | undefined;
85
103
  gridSize?: number | undefined;
86
104
  gridStep?: number | undefined;
87
- gridModeEnabled?: boolean | undefined;
88
105
  lockedMultiSelections?: {
89
106
  [groupId: string]: true;
90
107
  } | undefined;
@@ -0,0 +1,2 @@
1
+ import type { ChartElements, Spreadsheet } from "./charts.types";
2
+ export declare const renderBarChart: (spreadsheet: Spreadsheet, x: number, y: number, colorSeed?: number) => ChartElements;
@@ -0,0 +1,48 @@
1
+ import type { Radians } from "@excalidraw/math";
2
+ export declare const CARTESIAN_BASE_SLOT_WIDTH = 44;
3
+ export declare const CARTESIAN_BAR_SLOT_EXTRA_PER_SERIES = 22;
4
+ export declare const CARTESIAN_BAR_SLOT_EXTRA_MAX = 66;
5
+ export declare const CARTESIAN_LINE_SLOT_WIDTH = 48;
6
+ export declare const CARTESIAN_GAP = 14;
7
+ export declare const CARTESIAN_BAR_HEIGHT = 304;
8
+ export declare const CARTESIAN_LINE_HEIGHT = 320;
9
+ export declare const CARTESIAN_LABEL_ROTATION: Radians;
10
+ export declare const CARTESIAN_LABEL_MIN_WIDTH = 28;
11
+ export declare const CARTESIAN_LABEL_SLOT_PADDING = 4;
12
+ export declare const CARTESIAN_LABEL_AXIS_CLEARANCE = 2;
13
+ export declare const CARTESIAN_LABEL_MAX_WIDTH_BUFFER = 10;
14
+ export declare const CARTESIAN_LABEL_ROTATED_WIDTH_BUFFER = 10;
15
+ export declare const CARTESIAN_LABEL_OVERFLOW_PREFERENCE_BUFFER = 8;
16
+ export declare const BAR_GAP = 12;
17
+ export declare const BAR_HEIGHT = 256;
18
+ export declare const GRID_OPACITY = 10;
19
+ export declare const RADAR_GRID_LEVELS = 4;
20
+ export declare const RADAR_LABEL_OFFSET: number;
21
+ export declare const RADAR_PADDING: number;
22
+ export declare const RADAR_SINGLE_SERIES_LOG_SCALE_THRESHOLD = 100;
23
+ export declare const RADAR_AXIS_LABEL_MAX_WIDTH = 140;
24
+ export declare const RADAR_AXIS_LABEL_ALIGNMENT_THRESHOLD = 0.35;
25
+ export declare const RADAR_AXIS_LABEL_CLEARANCE: number;
26
+ export declare const RADAR_LEGEND_SWATCH_SIZE = 20;
27
+ export declare const RADAR_LEGEND_ITEM_GAP: number;
28
+ export declare const RADAR_LEGEND_TEXT_GAP = 12;
29
+ export declare const commonProps: {
30
+ readonly fillStyle: "hachure";
31
+ readonly fontFamily: number;
32
+ readonly fontSize: 20;
33
+ readonly opacity: 100;
34
+ readonly roughness: 1;
35
+ readonly strokeColor: "#1e1e1e";
36
+ readonly roundness: null;
37
+ readonly strokeStyle: "solid";
38
+ readonly strokeWidth: 1;
39
+ readonly verticalAlign: string;
40
+ readonly locked: false;
41
+ };
42
+ export type CartesianChartType = "bar" | "line";
43
+ export type CartesianChartLayout = {
44
+ slotWidth: number;
45
+ gap: number;
46
+ chartHeight: number;
47
+ xLabelMaxWidth: number;
48
+ };