@excalidraw/math 0.18.0-1b287a8ba → 0.18.0-214cd6e

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 (346) hide show
  1. package/dist/dev/index.js +355 -161
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +1 -1
  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 +73 -39
  8. package/dist/types/common/src/constants.d.ts +50 -33
  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 +3 -1
  13. package/dist/types/common/src/points.d.ts +1 -1
  14. package/dist/types/common/src/utility-types.d.ts +0 -1
  15. package/dist/types/common/src/utils.d.ts +47 -77
  16. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  17. package/dist/types/element/src/Scene.d.ts +17 -9
  18. package/dist/types/element/src/align.d.ts +2 -2
  19. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  20. package/dist/types/element/src/arrowheads.d.ts +3 -0
  21. package/dist/types/element/src/arrows/focus.d.ts +30 -0
  22. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  23. package/dist/types/element/src/binding.d.ts +79 -51
  24. package/dist/types/element/src/bounds.d.ts +26 -19
  25. package/dist/types/element/src/bucketFill.d.ts +110 -0
  26. package/dist/types/element/src/collision.d.ts +7 -2
  27. package/dist/types/element/src/comparisons.d.ts +8 -7
  28. package/dist/types/element/src/convertToShape.d.ts +23 -0
  29. package/dist/types/element/src/delta.d.ts +16 -4
  30. package/dist/types/element/src/distribute.d.ts +3 -2
  31. package/dist/types/element/src/dragElements.d.ts +30 -3
  32. package/dist/types/element/src/duplicate.d.ts +7 -6
  33. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  34. package/dist/types/element/src/embeddable.d.ts +2 -2
  35. package/dist/types/element/src/flowchart.d.ts +7 -7
  36. package/dist/types/element/src/fractionalIndex.d.ts +4 -4
  37. package/dist/types/element/src/frame.d.ts +14 -9
  38. package/dist/types/element/src/groups.d.ts +9 -9
  39. package/dist/types/element/src/heading.d.ts +2 -1
  40. package/dist/types/element/src/image.d.ts +1 -11
  41. package/dist/types/element/src/index.d.ts +9 -4
  42. package/dist/types/element/src/linearElementEditor.d.ts +50 -31
  43. package/dist/types/element/src/mutateElement.d.ts +5 -1
  44. package/dist/types/element/src/newElement.d.ts +21 -6
  45. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  46. package/dist/types/element/src/renderElement.d.ts +4 -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/sortElements.d.ts +10 -0
  52. package/dist/types/element/src/store.d.ts +6 -1
  53. package/dist/types/element/src/textElement.d.ts +15 -11
  54. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  55. package/dist/types/element/src/textWrapping.d.ts +26 -0
  56. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  57. package/dist/types/element/src/transformHandles.d.ts +8 -27
  58. package/dist/types/element/src/typeChecks.d.ts +29 -31
  59. package/dist/types/element/src/types.d.ts +27 -14
  60. package/dist/types/element/src/utils.d.ts +15 -6
  61. package/dist/types/element/src/zindex.d.ts +7 -1
  62. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +206 -222
  63. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  64. package/dist/types/excalidraw/actions/actionBoundText.d.ts +122 -133
  65. package/dist/types/excalidraw/actions/actionCanvas.d.ts +446 -1576
  66. package/dist/types/excalidraw/actions/actionClipboard.d.ts +149 -904
  67. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +59 -65
  68. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +195 -214
  69. package/dist/types/excalidraw/actions/actionDeselect.d.ts +165 -0
  70. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  71. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  72. package/dist/types/excalidraw/actions/actionElementLink.d.ts +66 -78
  73. package/dist/types/excalidraw/actions/actionElementLock.d.ts +121 -132
  74. package/dist/types/excalidraw/actions/actionExport.d.ts +200 -1423
  75. package/dist/types/excalidraw/actions/actionFinalize.d.ts +11 -395
  76. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  77. package/dist/types/excalidraw/actions/actionFrame.d.ts +269 -508
  78. package/dist/types/excalidraw/actions/actionGroup.d.ts +132 -151
  79. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +181 -191
  80. package/dist/types/excalidraw/actions/actionLink.d.ts +72 -78
  81. package/dist/types/excalidraw/actions/actionMenu.d.ts +61 -441
  82. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -361
  83. package/dist/types/excalidraw/actions/actionProperties.d.ts +204 -2546
  84. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +66 -76
  85. package/dist/types/excalidraw/actions/actionStyles.d.ts +59 -64
  86. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
  87. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +181 -0
  88. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +74 -81
  89. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +181 -0
  90. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +73 -79
  91. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +62 -75
  92. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  93. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +72 -78
  94. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +73 -79
  95. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +73 -79
  96. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  97. package/dist/types/excalidraw/actions/index.d.ts +5 -3
  98. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  99. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  100. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  101. package/dist/types/excalidraw/actions/types.d.ts +11 -7
  102. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  103. package/dist/types/excalidraw/appState.d.ts +39 -25
  104. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  105. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  106. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  107. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  108. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  109. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  110. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  111. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  112. package/dist/types/excalidraw/clipboard.d.ts +57 -19
  113. package/dist/types/excalidraw/components/Actions.d.ts +32 -14
  114. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  115. package/dist/types/excalidraw/components/App.arrowText.d.ts +104 -0
  116. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  117. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  118. package/dist/types/excalidraw/components/App.d.ts +480 -125
  119. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  120. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  121. package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
  122. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  123. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  124. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  125. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -4
  126. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  127. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +5 -1
  128. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -2
  129. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +5 -2
  130. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  131. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  132. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  133. package/dist/types/excalidraw/components/ColorPicker/topPicksDnD.d.ts +31 -0
  134. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  135. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  136. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  137. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
  138. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  139. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  140. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  141. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  142. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  143. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  144. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  145. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  146. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  147. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  148. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  149. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  150. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  151. package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
  152. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  153. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  154. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  155. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  156. package/dist/types/excalidraw/components/LayerUI.d.ts +6 -2
  157. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  158. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  159. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  160. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  161. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  162. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  163. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  164. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  165. package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
  166. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  167. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  168. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  169. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  170. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  171. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  172. package/dist/types/excalidraw/components/Popover.d.ts +2 -3
  173. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  174. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  175. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  176. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  177. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  178. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  179. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  180. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  181. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  182. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  183. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  184. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  185. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  186. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  187. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  188. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  189. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  190. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  191. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  192. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  193. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  194. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  195. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  196. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  197. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  198. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  199. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  200. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  201. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  202. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  203. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  204. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  205. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  206. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  207. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  208. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  209. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  210. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  211. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  212. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  213. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  214. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  215. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  216. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  217. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  218. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  219. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  220. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  221. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  222. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  223. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  224. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  225. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  226. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  227. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  228. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  229. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  230. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  231. package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
  232. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  233. package/dist/types/excalidraw/components/Tools.d.ts +146 -0
  234. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  235. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  236. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  237. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +10 -4
  238. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  239. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  240. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  241. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  242. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  243. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  244. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  245. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  246. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  247. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  248. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  249. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  250. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  251. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  252. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  253. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  254. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  255. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  256. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  257. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  258. package/dist/types/excalidraw/components/icons.d.ts +55 -22
  259. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
  260. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  261. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  262. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  263. package/dist/types/excalidraw/data/blob.d.ts +345 -12
  264. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  265. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  266. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  267. package/dist/types/excalidraw/data/index.d.ts +8 -9
  268. package/dist/types/excalidraw/data/json.d.ts +178 -3
  269. package/dist/types/excalidraw/data/library.d.ts +25 -10
  270. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  271. package/dist/types/excalidraw/data/restore.d.ts +27 -7
  272. package/dist/types/excalidraw/data/types.d.ts +4 -1
  273. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  274. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  275. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  276. package/dist/types/excalidraw/errors.d.ts +14 -0
  277. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
  278. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  279. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  280. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  281. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  282. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  283. package/dist/types/excalidraw/i18n.d.ts +2 -2
  284. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  285. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  286. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  287. package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
  288. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  289. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  290. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  291. package/dist/types/excalidraw/scene/Renderer.d.ts +429 -18
  292. package/dist/types/excalidraw/scene/export.d.ts +4 -4
  293. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  294. package/dist/types/excalidraw/scene/types.d.ts +26 -8
  295. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  296. package/dist/types/excalidraw/snapping.d.ts +12 -12
  297. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  298. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  299. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  300. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  301. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  302. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  303. package/dist/types/excalidraw/types.d.ts +559 -58
  304. package/dist/types/excalidraw/viewport.d.ts +275 -0
  305. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
  306. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  307. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  308. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  309. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  310. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  311. package/dist/types/math/src/constants.d.ts +0 -1
  312. package/dist/types/math/src/curve.d.ts +23 -13
  313. package/dist/types/math/src/index.d.ts +1 -0
  314. package/dist/types/math/src/pca.d.ts +79 -0
  315. package/dist/types/math/src/point.d.ts +8 -2
  316. package/dist/types/math/src/polygon.d.ts +26 -2
  317. package/dist/types/math/src/range.d.ts +1 -3
  318. package/dist/types/math/src/segment.d.ts +10 -3
  319. package/dist/types/math/src/types.d.ts +25 -1
  320. package/dist/types/utils/src/export.d.ts +8 -8
  321. package/dist/types/utils/src/index.d.ts +1 -2
  322. package/dist/types/utils/src/shape.d.ts +6 -6
  323. package/package.json +2 -2
  324. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -186
  325. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  326. package/dist/types/excalidraw/charts.d.ts +0 -27
  327. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  328. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  329. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  330. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  331. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  332. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  333. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  334. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  335. package/dist/types/excalidraw/components/shapes.d.ts +0 -62
  336. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  337. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  338. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  339. package/dist/types/excalidraw/cursor.d.ts +0 -5
  340. package/dist/types/excalidraw/data/reconcile.d.ts +0 -6
  341. package/dist/types/excalidraw/index.d.ts +0 -47
  342. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  343. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  344. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  345. package/dist/types/utils/src/bbox.d.ts +0 -9
  346. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -0,0 +1,55 @@
1
+ import { DrawShapeTrail } from "../drawShapeTrail";
2
+ import type App from "./App";
3
+ import type { PointerDownState } from "../types";
4
+ /**
5
+ * Captures the App state management for the drawShape tool (free-form
6
+ * sketch converted into a recognized excalidraw element). Pointer events
7
+ * are piped here from App.
8
+ *
9
+ * The gesture is committed by `finalize()` — recognize → (maybe upgrade
10
+ * line to arrow) → insert → bind endpoints — which is invoked from within
11
+ * `actionFinalize`, the editor's single finalization funnel. Whatever
12
+ * triggers a finalize (the gesture's own pointerup, a mid-gesture paste
13
+ * switching tools, …), the pending sketch resolves there exactly once.
14
+ */
15
+ export declare class AppDrawShape {
16
+ private app;
17
+ trail: DrawShapeTrail;
18
+ /** a pointerdown started a sketch that `finalize()` hasn't resolved yet */
19
+ private gestureInProgress;
20
+ constructor(app: App);
21
+ stop: () => void;
22
+ hasPendingGesture: () => boolean;
23
+ handlePointerDown: (pointerDownState: PointerDownState) => void;
24
+ /** returns true when the pointermove was consumed by the shape preview */
25
+ handlePointerMove: (pointerCoords: {
26
+ x: number;
27
+ y: number;
28
+ }) => boolean;
29
+ /**
30
+ * Binds both endpoints of a freshly inserted drawShape arrow to the
31
+ * bindable elements they hover, if any.
32
+ *
33
+ * Endpoints bind in "orbit" mode — the arrow starts/ends at the target's
34
+ * outline — even when the stroke was started or released inside the shape
35
+ * (a sketched connector aims at the shape, not at a point inside it). The
36
+ * exception is a sketch contained in a single shape: both ends then bind
37
+ * "inside" and stay where they were drawn, like the interactive
38
+ * inside→inside flow.
39
+ */
40
+ private bindRecognizedArrow;
41
+ /**
42
+ * A sketched line that connects a bindable element with something else —
43
+ * another element or blank canvas — was meant as a connector: upgrade it
44
+ * to an arrow (called before insertion). A line touching no shape, or
45
+ * contained in a single shape (an annotation, not a connector), stays a
46
+ * line.
47
+ */
48
+ private maybeUpgradeLineToArrow;
49
+ /**
50
+ * Commits the pending sketch, if any, and clears the trail. Invoked from
51
+ * within `actionFinalize` — never call directly, execute `actionFinalize`
52
+ * instead so element insertion flows into the action's returned elements.
53
+ */
54
+ finalize: () => void;
55
+ }
@@ -0,0 +1,21 @@
1
+ import type React from "react";
2
+ import type App from "./App";
3
+ import type { PendingExcalidrawElements } from "../types";
4
+ /**
5
+ * Captures the App state management for the flowchart functionality.
6
+ */
7
+ export declare class AppFlowchart {
8
+ private app;
9
+ private creator;
10
+ private navigator;
11
+ constructor(app: App);
12
+ get pendingNodes(): PendingExcalidrawElements | null;
13
+ get isCreatingChart(): boolean;
14
+ /** ends any in-progress flowchart creation/navigation session */
15
+ clear: () => void;
16
+ handleKeyEvent: (event: React.KeyboardEvent | KeyboardEvent) => boolean;
17
+ private resolveKeyboardEventToOperation;
18
+ private selectAndReveal;
19
+ private captureUpdate;
20
+ private static getLinkDirectionFromKey;
21
+ }
@@ -0,0 +1,73 @@
1
+ import { type StylesPanelMode } from "@excalidraw/common";
2
+ import type { NonDeletedSceneElementsMap } from "@excalidraw/element/types";
3
+ import { type SetViewportOptions } from "../viewport";
4
+ import type { AppProps, AppState, Offsets, ScrollConstraints, ViewportOffsets, ViewportOffsetsOptions, ViewportUIName } from "../types";
5
+ import type App from "./App";
6
+ export declare const SCROLL_TO_CONTENT_ANIMATION_KEY = "animateScrollToContent";
7
+ export declare const SCROLL_CONSTRAINTS_SNAP_BACK_ANIMATION_KEY = "animateScrollConstraintsSnapBack";
8
+ /** single source of truth for the `--right-sidebar-width` CSS variable */
9
+ export declare const RIGHT_SIDEBAR_WIDTH = 302;
10
+ type Viewport = Pick<AppState, "scrollX" | "scrollY" | "zoom">;
11
+ type AppViewportDependencies = {
12
+ getContainer: () => HTMLDivElement | null;
13
+ getStylesPanelMode: () => StylesPanelMode;
14
+ isGestureActive: () => boolean;
15
+ };
16
+ /**
17
+ * Rubberband snap-back: animates the viewport from its current (possibly
18
+ * overscrolled) position back inside the lock box via the shared
19
+ * AnimationController. No-op when already within the hard bounds (or when
20
+ * there is no lock).
21
+ */
22
+ export declare const snapBackToConstraints: (state: Pick<AppState, "scrollX" | "scrollY" | "zoom" | "width" | "height" | "scrollConstraints">, onFrame: (updater: (state: Pick<AppState, "scrollX" | "scrollY" | "zoom" | "width" | "height" | "scrollConstraints">) => Viewport | null) => void, duration?: number) => void;
23
+ /**
24
+ * Owns viewport state transitions and App-bound viewport concerns. Pure
25
+ * viewport geometry remains in `viewport.ts` so actions and public helpers can
26
+ * calculate state without an App instance.
27
+ */
28
+ export declare class AppViewport {
29
+ private app;
30
+ private dependencies;
31
+ lastPosition: {
32
+ x: number;
33
+ y: number;
34
+ };
35
+ private activeTransition;
36
+ private uiLastMeasured;
37
+ constructor(app: App, dependencies: AppViewportDependencies);
38
+ get isAnimating(): boolean;
39
+ /** Whether a programmatic transition into a locked viewport currently owns
40
+ * user pan/zoom input. */
41
+ get isLockedTransitionPending(): boolean;
42
+ invalidateUIOffset: (name: ViewportUIName) => void;
43
+ /**
44
+ * Resolves user-supplied viewport offsets into concrete per-side pixel
45
+ * values. Static sides take precedence over UI-derived sides.
46
+ */
47
+ resolveOffsets: (offsets: ViewportOffsets | undefined) => Offsets | undefined;
48
+ /**
49
+ * Measures the currently rendered editor UI and returns the usable viewport
50
+ * offsets, including optional padding and reserved hidden surfaces.
51
+ */
52
+ getOffsets: (opts?: ViewportOffsetsOptions) => Offsets;
53
+ /** Resolves the host-supplied initial viewport against restored scene data. */
54
+ resolveInitialViewport: (opts: Omit<SetViewportOptions, "animation">, elementsMap: NonDeletedSceneElementsMap, appState: AppState) => (Viewport & {
55
+ scrollConstraints: ScrollConstraints | null;
56
+ }) | null;
57
+ /** Navigates to a target and optionally installs scroll/zoom constraints. */
58
+ setViewport: (opts: SetViewportOptions | null) => void;
59
+ /** Use when changing scrollX/scrollY/zoom based on user interaction. */
60
+ translate: <K extends keyof AppState>(state: AppState | Pick<AppState, K> | null | ((prevState: Readonly<AppState>, props: Readonly<AppProps>) => AppState | Pick<AppState, K> | null), opts?: {
61
+ zoomPreConstrained?: boolean;
62
+ preserveScrollConstraintsSnapBack?: boolean;
63
+ }) => boolean;
64
+ /** Clamps the viewport into the active scroll constraints. */
65
+ constrain: (overscroll?: number) => void;
66
+ /** Releases a held rubberband overscroll. */
67
+ releaseOverscroll: () => void;
68
+ private snapBack;
69
+ private snapBackDebounced;
70
+ private cancelTransition;
71
+ destroy: () => void;
72
+ }
73
+ export {};
@@ -0,0 +1,37 @@
1
+ import type { AppState, UnsubscribeCallback } from "../types";
2
+ type StateChangeSelector = keyof AppState | (keyof AppState)[] | ((appState: AppState) => unknown);
3
+ export type OnStateChange = {
4
+ <K extends keyof AppState>(prop: K, callback: (value: AppState[K], appState: AppState) => void, opts?: {
5
+ once: boolean;
6
+ }): UnsubscribeCallback;
7
+ <K extends keyof AppState>(prop: K): Promise<AppState[K]>;
8
+ (prop: (keyof AppState)[], callback: (appState: AppState, appState2: AppState) => void, opts?: {
9
+ once: boolean;
10
+ }): UnsubscribeCallback;
11
+ (prop: (keyof AppState)[]): Promise<AppState>;
12
+ <T>(prop: (appState: AppState) => T, callback: (value: T, appState: AppState) => void, opts?: {
13
+ once: boolean;
14
+ }): UnsubscribeCallback;
15
+ <T>(prop: (appState: AppState) => T): Promise<T>;
16
+ (opts: {
17
+ predicate: (appState: AppState) => boolean;
18
+ callback: (appState: AppState) => void;
19
+ once?: boolean;
20
+ }): UnsubscribeCallback;
21
+ (opts: {
22
+ predicate: (appState: AppState) => boolean;
23
+ }): Promise<AppState>;
24
+ (selector: StateChangeSelector, callback: (value: any, appState: AppState) => void): any;
25
+ };
26
+ export declare class AppStateObserver {
27
+ private readonly getState;
28
+ private listeners;
29
+ constructor(getState: () => AppState);
30
+ private isStateChangePredicateOptions;
31
+ private subscribe;
32
+ private normalize;
33
+ onStateChange: OnStateChange;
34
+ flush(prevState: AppState): void;
35
+ clear(): void;
36
+ }
37
+ export {};
@@ -1,7 +1,5 @@
1
- /// <reference types="react" />
2
- import OpenColor from "open-color";
3
1
  import "./Card.scss";
4
2
  export declare const Card: React.FC<{
5
- color: keyof OpenColor | "primary";
3
+ color: "primary" | "lime" | "pink";
6
4
  children?: React.ReactNode;
7
5
  }>;
@@ -1,10 +1,8 @@
1
1
  import type { ColorPickerType } from "./colorPickerUtils";
2
- interface ColorInputProps {
2
+ export declare const ColorInput: ({ color, onChange, label, colorPickerType, placeholder, }: {
3
3
  color: string;
4
4
  onChange: (color: string) => void;
5
5
  label: string;
6
6
  colorPickerType: ColorPickerType;
7
7
  placeholder?: string;
8
- }
9
- export declare const ColorInput: ({ color, onChange, label, colorPickerType, placeholder, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
10
- export {};
8
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -2,8 +2,7 @@ import type { ColorTuple, ColorPaletteCustom } from "@excalidraw/common";
2
2
  import type { ExcalidrawElement } from "@excalidraw/element/types";
3
3
  import "./ColorPicker.scss";
4
4
  import type { ColorPickerType } from "./colorPickerUtils";
5
- import type { AppState } from "../../types";
6
- export declare const getColor: (color: string) => string | null;
5
+ import type { AppState, UIAppState } from "../../types";
7
6
  interface ColorPickerProps {
8
7
  type: ColorPickerType;
9
8
  /**
@@ -14,10 +13,16 @@ interface ColorPickerProps {
14
13
  onChange: (color: string) => void;
15
14
  label: string;
16
15
  elements: readonly ExcalidrawElement[];
17
- appState: AppState;
16
+ appState: UIAppState;
18
17
  palette?: ColorPaletteCustom | null;
19
18
  topPicks?: ColorTuple;
20
19
  updateData: (formData?: any) => void;
20
+ /** palette colors to hide from the popup, keeping hotkey positions */
21
+ excludedColors?: readonly string[];
22
+ /** allow users to customize the top picks strip by drag & dropping colors
23
+ * from the picker popup onto it. The value names the
24
+ * `appState.colorTopPicks` slot the customization is stored in */
25
+ customizableTopPicks?: keyof AppState["colorTopPicks"];
21
26
  }
22
- export declare const ColorPicker: ({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
27
+ export declare const ColorPicker: import("react").MemoExoticComponent<({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, excludedColors, customizableTopPicks, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element>;
23
28
  export {};
@@ -1,8 +1,10 @@
1
+ import type { Theme } from "@excalidraw/element/types";
1
2
  interface CustomColorListProps {
3
+ theme: Theme;
2
4
  colors: string[];
3
5
  color: string | null;
4
6
  onChange: (color: string) => void;
5
7
  label: string;
6
8
  }
7
- export declare const CustomColorList: ({ colors, color, onChange, label, }: CustomColorListProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const CustomColorList: ({ theme, colors, color, onChange, label, }: CustomColorListProps) => import("react/jsx-runtime").JSX.Element;
8
10
  export {};
@@ -1,8 +1,9 @@
1
1
  import React from "react";
2
- import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { ExcalidrawElement, Theme } from "@excalidraw/element/types";
3
3
  import type { ColorPaletteCustom } from "@excalidraw/common";
4
4
  import type { ColorPickerType } from "./colorPickerUtils";
5
5
  interface PickerProps {
6
+ theme: Theme;
6
7
  color: string | null;
7
8
  onChange: (color: string) => void;
8
9
  type: ColorPickerType;
@@ -10,8 +11,11 @@ interface PickerProps {
10
11
  palette: ColorPaletteCustom;
11
12
  updateData: (formData?: any) => void;
12
13
  children?: React.ReactNode;
14
+ showTitle?: boolean;
13
15
  onEyeDropperToggle: (force?: boolean) => void;
14
16
  onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
17
+ showHotKey?: boolean;
18
+ excludedColors?: readonly string[];
15
19
  }
16
20
  export declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
17
21
  export {};
@@ -1,9 +1,17 @@
1
- import type { ColorPaletteCustom } from "@excalidraw/common";
1
+ import { type ColorPaletteCustom } from "@excalidraw/common";
2
+ import type { Theme } from "@excalidraw/element/types";
2
3
  interface PickerColorListProps {
4
+ theme: Theme;
3
5
  palette: ColorPaletteCustom;
4
6
  color: string | null;
5
7
  onChange: (color: string) => void;
6
8
  activeShade: number;
9
+ showHotKey?: boolean;
10
+ /**
11
+ * palette colors to hide. Hidden entries keep their position in the hotkey
12
+ * order (their hotkey goes dead instead of remapping the colors after them).
13
+ */
14
+ excludedColors?: readonly string[];
7
15
  }
8
- declare const PickerColorList: ({ palette, color, onChange, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
16
+ declare const PickerColorList: ({ theme, palette, color, onChange, activeShade, showHotKey, excludedColors, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
9
17
  export default PickerColorList;
@@ -1,8 +1,11 @@
1
- import type { ColorPaletteCustom } from "@excalidraw/common";
1
+ import { type ColorPaletteCustom } from "@excalidraw/common";
2
+ import type { Theme } from "@excalidraw/element/types";
2
3
  interface ShadeListProps {
4
+ theme: Theme;
3
5
  color: string | null;
4
6
  onChange: (color: string) => void;
5
7
  palette: ColorPaletteCustom;
8
+ showHotKey?: boolean;
6
9
  }
7
- export declare const ShadeList: ({ color, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const ShadeList: ({ theme, color, onChange, palette, showHotKey, }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
11
  export {};
@@ -1,9 +1,16 @@
1
+ import type { Theme } from "@excalidraw/element/types";
1
2
  import type { ColorPickerType } from "./colorPickerUtils";
2
3
  interface TopPicksProps {
4
+ theme: Theme;
3
5
  onChange: (color: string) => void;
4
6
  type: ColorPickerType;
5
7
  activeColor: string | null;
6
8
  topPicks?: readonly string[];
9
+ /** present when the strip is user-customizable — enables the right-click
10
+ * context menu resetting the strip to its default picks */
11
+ onReset?: () => void;
12
+ /** whether custom picks are currently applied (enables the reset item) */
13
+ isCustomized?: boolean;
7
14
  }
8
- export declare const TopPicks: ({ onChange, type, activeColor, topPicks, }: TopPicksProps) => import("react/jsx-runtime").JSX.Element | null;
15
+ export declare const TopPicks: ({ theme, onChange, type, activeColor, topPicks, onReset, isCustomized, }: TopPicksProps) => import("react/jsx-runtime").JSX.Element | null;
9
16
  export {};
@@ -14,8 +14,7 @@ export declare const isCustomColor: ({ color, palette, }: {
14
14
  }) => boolean;
15
15
  export declare const getMostUsedCustomColors: (elements: readonly ExcalidrawElement[], type: "elementBackground" | "elementStroke", palette: ColorPaletteCustom) => string[];
16
16
  export type ActiveColorPickerSectionAtomType = "custom" | "baseColors" | "shades" | "hex" | null;
17
- export declare const activeColorPickerSectionAtom: import("jotai/vanilla/atom").PrimitiveAtom<ActiveColorPickerSectionAtomType> & {
17
+ export declare const activeColorPickerSectionAtom: import("jotai").PrimitiveAtom<ActiveColorPickerSectionAtomType> & {
18
18
  init: ActiveColorPickerSectionAtomType;
19
19
  };
20
- export declare const isColorDark: (color: string, threshold?: number) => boolean;
21
20
  export type ColorPickerType = "canvasBackground" | "elementBackground" | "elementStroke";
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { ColorPaletteCustom } from "@excalidraw/common";
3
2
  import type { ActiveColorPickerSectionAtomType } from "./colorPickerUtils";
4
3
  interface ColorPickerKeyNavHandlerProps {
@@ -13,9 +12,10 @@ interface ColorPickerKeyNavHandlerProps {
13
12
  activeShade: number;
14
13
  onEyeDropperToggle: (force?: boolean) => void;
15
14
  onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
15
+ excludedColors?: readonly string[];
16
16
  }
17
17
  /**
18
18
  * @returns true if the event was handled
19
19
  */
20
- export declare const colorPickerKeyNavHandler: ({ event, activeColorPickerSection, palette, color, onChange, customColors, setActiveColorPickerSection, updateData, activeShade, onEyeDropperToggle, onEscape, }: ColorPickerKeyNavHandlerProps) => boolean;
20
+ export declare const colorPickerKeyNavHandler: ({ event, activeColorPickerSection, palette, color, onChange, customColors, setActiveColorPickerSection, updateData, activeShade, onEyeDropperToggle, onEscape, excludedColors, }: ColorPickerKeyNavHandlerProps) => boolean;
21
21
  export {};
@@ -0,0 +1,31 @@
1
+ type DragOrigin = {
2
+ kind: "swatch";
3
+ } | {
4
+ kind: "pick";
5
+ index: number;
6
+ };
7
+ export type TopPicksDragState = {
8
+ color: string;
9
+ origin: DragOrigin;
10
+ /** hovered strip slot — the slot to replace (swatch drags) or the final
11
+ * position (pick reorders). null while the pointer is outside the strip */
12
+ overIndex: number | null;
13
+ /** index of an already-pinned identical color that blocks the drop */
14
+ duplicateIndex: number | null;
15
+ /** signed distance between strip slot centers (for reorder preview) */
16
+ slotSpan: number;
17
+ } | null;
18
+ export type ColorPickerDnD = {
19
+ dragState: TopPicksDragState;
20
+ startSwatchDrag: (event: React.PointerEvent, color: string | null) => void;
21
+ startPickDrag: (event: React.PointerEvent, index: number, color: string) => void;
22
+ setStripEl: (el: HTMLDivElement | null) => void;
23
+ };
24
+ export declare const ColorPickerDnDContext: import("react").Context<ColorPickerDnD | null>;
25
+ export declare const useColorPickerDnD: () => ColorPickerDnD | null;
26
+ export declare const useTopPicksDnD: ({ enabled, picks, onPicksChange, }: {
27
+ enabled: boolean;
28
+ picks: readonly string[];
29
+ onPicksChange: (picks: string[]) => void;
30
+ }) => ColorPickerDnD;
31
+ export {};
@@ -8,6 +8,7 @@ export declare const DEFAULT_CATEGORIES: {
8
8
  editor: string;
9
9
  elements: string;
10
10
  links: string;
11
+ library: string;
11
12
  };
12
13
  type CommandPaletteProps = {
13
14
  customCommandPaletteItems?: CommandPaletteItem[];
@@ -1,2 +1 @@
1
- import type { CommandPaletteItem } from "./types";
2
- export declare const toggleTheme: CommandPaletteItem;
1
+ export {};
@@ -1,7 +1,5 @@
1
- /// <reference types="react" />
2
1
  import type { ActionManager } from "../../actions/manager";
3
2
  import type { Action } from "../../actions/types";
4
- import type { UIAppState } from "../../types";
5
3
  export type CommandPaletteItem = {
6
4
  label: string;
7
5
  /** additional keywords to match against
@@ -12,11 +10,11 @@ export type CommandPaletteItem = {
12
10
  * (deburred name + keywords)
13
11
  */
14
12
  haystack?: string;
15
- icon?: React.ReactNode | ((appState: UIAppState) => React.ReactNode);
13
+ icon?: Action["icon"];
16
14
  category: string;
17
15
  order?: number;
18
16
  predicate?: boolean | Action["predicate"];
19
- shortcut?: string;
17
+ shortcut?: string | null;
20
18
  /** if false, command will not show while in view mode */
21
19
  viewMode?: boolean;
22
20
  perform: (data: {
@@ -2,7 +2,7 @@ import type { ConvertibleTypes, ExcalidrawElement, ExcalidrawTextContainer, Exca
2
2
  import type { Scene } from "@excalidraw/element";
3
3
  import "./ConvertElementTypePopup.scss";
4
4
  import type App from "./App";
5
- export declare const convertElementTypePopupAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
5
+ export declare const convertElementTypePopupAtom: import("jotai").PrimitiveAtom<{
6
6
  type: "panel";
7
7
  } | null> & {
8
8
  init: {
@@ -16,8 +16,8 @@ export declare const adjustBoundTextSize: (container: ExcalidrawTextContainer, b
16
16
  type ConversionType = "generic" | "linear" | null;
17
17
  export declare const convertElementTypes: (app: App, { conversionType, nextType, direction, }: {
18
18
  conversionType: ConversionType;
19
- nextType?: ConvertibleTypes | undefined;
20
- direction?: "left" | "right" | undefined;
19
+ nextType?: ConvertibleTypes;
20
+ direction?: "left" | "right";
21
21
  }) => boolean;
22
- export declare const getConversionTypeFromElements: (elements: ExcalidrawElement[]) => ConversionType;
22
+ export declare const getConversionTypeFromElements: (elements: readonly ExcalidrawElement[]) => ConversionType;
23
23
  export default ConvertElementTypePopup;
@@ -0,0 +1,46 @@
1
+ import "./CursorHint.scss";
2
+ import type { AppClassProperties, AppState } from "../types";
3
+ /**
4
+ * While a recently shown hint is still fresh in memory, tool-switch hints
5
+ * are suppressed (repeatedly re-picking a tool you just used doesn't need
6
+ * the reminder). Cycling arrow types and numeric shortcuts bypass this.
7
+ */
8
+ export declare const CURSOR_HINT_COOLDOWN: number;
9
+ export declare const cursorHintAtom: import("jotai").PrimitiveAtom<{
10
+ content: React.ReactNode;
11
+ /** unique per trigger so a re-trigger restarts the hide timer */
12
+ nonce: number;
13
+ } | null> & {
14
+ init: {
15
+ content: React.ReactNode;
16
+ /** unique per trigger so a re-trigger restarts the hide timer */
17
+ nonce: number;
18
+ } | null;
19
+ };
20
+ /**
21
+ * Owns the cursor-hint policy. App reports semantic interaction events
22
+ * (what the user did); all decisions about whether and what to show —
23
+ * cooldown, bypasses, hint content — are made here.
24
+ */
25
+ export declare class CursorHints {
26
+ private app;
27
+ private lastShownAt;
28
+ constructor(app: AppClassProperties);
29
+ /**
30
+ * Shows a transient tooltip next to the cursor, hidden automatically
31
+ * after a short delay. Repeated calls replace the content and restart
32
+ * the timer.
33
+ */
34
+ show: (content: React.ReactNode) => void;
35
+ private isOnCooldown;
36
+ /** arrow type cycled via shortcut (arrow tool already active) */
37
+ onArrowTypeCycled: (arrowType: AppState["currentItemArrowType"]) => void;
38
+ /** arrow/line tool picked via keyboard shortcut */
39
+ onToolShortcut: (tool: "arrow" | "line", source: "letter" | "digit") => void;
40
+ }
41
+ /**
42
+ * Transient tooltip shown next to the cursor for added affordance after
43
+ * actions that have no other visual feedback near the pointer (e.g. cycling
44
+ * arrow types via shortcut). Trigger via `app.cursorHints`.
45
+ */
46
+ export declare const CursorHint: () => import("react/jsx-runtime").JSX.Element | null;
@@ -3,5 +3,5 @@ import "./ToolIcon.scss";
3
3
  export declare const DarkModeToggle: (props: {
4
4
  value: Theme;
5
5
  onChange: (value: Theme) => void;
6
- title?: string | undefined;
6
+ title?: string;
7
7
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,26 +1,22 @@
1
- /// <reference types="react" />
2
1
  import type { MarkOptional } from "@excalidraw/common/utility-types";
3
2
  import "../components/dropdownMenu/DropdownMenu.scss";
4
3
  import type { SidebarProps, SidebarTriggerProps } from "./Sidebar/common";
5
4
  export declare const DefaultSidebar: import("react").FC<Omit<MarkOptional<Omit<{
6
- name: string;
7
- children: import("react").ReactNode;
8
- onStateChange?: ((state: {
9
- name: string;
10
- tab?: string | undefined;
11
- } | null) => void) | undefined;
12
- onDock?: ((docked: boolean) => void) | undefined;
13
- docked?: boolean | undefined;
14
- className?: string | undefined;
15
- __fallback?: boolean | undefined;
5
+ name: import("../types").SidebarName;
6
+ children: React.ReactNode;
7
+ onStateChange?: (state: import("../types").AppState["openSidebar"]) => void;
8
+ onDock?: (docked: boolean) => void;
9
+ docked?: boolean;
10
+ className?: string;
11
+ __fallback?: boolean;
16
12
  }, "name">, "children">, "onDock"> & {
17
13
  /** pass `false` to disable docking */
18
14
  onDock?: SidebarProps["onDock"] | false;
19
15
  } & {
20
- __fallback?: boolean | undefined;
16
+ __fallback?: boolean;
21
17
  }> & {
22
18
  Trigger: import("react").FC<Omit<SidebarTriggerProps, "name"> & import("react").HTMLAttributes<HTMLDivElement> & {
23
- __fallback?: boolean | undefined;
19
+ __fallback?: boolean;
24
20
  }>;
25
21
  TabTriggers: {
26
22
  ({ children }: {
@@ -6,7 +6,7 @@ declare const ElementLinkDialog: ({ sourceElementId, onClose, appState, scene, g
6
6
  sourceElementId: ExcalidrawElement["id"];
7
7
  appState: UIAppState;
8
8
  scene: Scene;
9
- onClose?: (() => void) | undefined;
9
+ onClose?: () => void;
10
10
  generateLinkForSelection: AppProps["generateLinkForSelection"];
11
11
  }) => import("react/jsx-runtime").JSX.Element;
12
12
  export default ElementLinkDialog;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const Ellipsify: ({ children, ...rest }: {
3
2
  children: React.ReactNode;
4
- } & import("react").HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
3
+ } & React.HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  export declare const ErrorDialog: ({ children, onClose, }: {
3
3
  children?: React.ReactNode;
4
- onClose?: (() => void) | undefined;
4
+ onClose?: () => void;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
3
2
  import "./EyeDropper.scss";
4
3
  import type { ColorPickerType } from "./ColorPicker/colorPickerUtils";
@@ -14,7 +13,7 @@ export type EyeDropperProperties = {
14
13
  **/
15
14
  colorPickerType: ColorPickerType;
16
15
  };
17
- export declare const activeEyeDropperAtom: import("jotai/vanilla/atom").PrimitiveAtom<EyeDropperProperties | null> & {
16
+ export declare const activeEyeDropperAtom: import("jotai").PrimitiveAtom<EyeDropperProperties | null> & {
18
17
  init: EyeDropperProperties | null;
19
18
  };
20
19
  export declare const EyeDropper: React.FC<{
@@ -4,7 +4,7 @@ export type ButtonVariant = "filled" | "outlined" | "icon";
4
4
  export type ButtonColor = "primary" | "danger" | "warning" | "muted" | "success";
5
5
  export type ButtonSize = "medium" | "large";
6
6
  export type FilledButtonProps = {
7
- label: string;
7
+ label?: string;
8
8
  children?: React.ReactNode;
9
9
  onClick?: (event: React.MouseEvent) => void;
10
10
  status?: null | "loading" | "success";
@@ -14,5 +14,6 @@ export type FilledButtonProps = {
14
14
  className?: string;
15
15
  fullWidth?: boolean;
16
16
  icon?: React.ReactNode;
17
+ disabled?: boolean;
17
18
  };
18
19
  export declare const FilledButton: React.ForwardRefExoticComponent<FilledButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -16,6 +16,7 @@ interface FontPickerProps {
16
16
  onHover: (fontFamily: FontFamilyValues) => void;
17
17
  onLeave: () => void;
18
18
  onPopupChange: (open: boolean) => void;
19
+ compactMode?: boolean;
19
20
  }
20
- export declare const FontPicker: React.MemoExoticComponent<({ isOpened, selectedFontFamily, hoveredFontFamily, onSelect, onHover, onLeave, onPopupChange, }: FontPickerProps) => import("react/jsx-runtime").JSX.Element>;
21
+ export declare const FontPicker: React.MemoExoticComponent<({ isOpened, selectedFontFamily, hoveredFontFamily, onSelect, onHover, onLeave, onPopupChange, compactMode, }: FontPickerProps) => import("react/jsx-runtime").JSX.Element>;
21
22
  export {};
@@ -1,6 +1,8 @@
1
1
  import type { FontFamilyValues } from "@excalidraw/element/types";
2
2
  interface FontPickerTriggerProps {
3
3
  selectedFontFamily: FontFamilyValues | null;
4
+ isOpened?: boolean;
5
+ compactMode?: boolean;
4
6
  }
5
- export declare const FontPickerTrigger: ({ selectedFontFamily, }: FontPickerTriggerProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FontPickerTrigger: ({ selectedFontFamily, isOpened, compactMode, }: FontPickerTriggerProps) => import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { Node } from "@excalidraw/common";
3
2
  import { type FontDescriptor } from "./FontPickerList";
4
3
  interface FontPickerKeyNavHandlerProps {
@@ -1,4 +1,4 @@
1
1
  import "./HelpDialog.scss";
2
2
  export declare const HelpDialog: ({ onClose }: {
3
- onClose?: (() => void) | undefined;
3
+ onClose?: () => void;
4
4
  }) => import("react/jsx-runtime").JSX.Element;