@excalidraw/math 0.18.0-b16b6f8fd → 0.18.0-b1c6bfc

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 (273) hide show
  1. package/dist/dev/index.js +92 -65
  2. package/dist/dev/index.js.map +3 -3
  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 +59 -39
  8. package/dist/types/common/src/constants.d.ts +37 -26
  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 +1 -1
  13. package/dist/types/common/src/utility-types.d.ts +0 -1
  14. package/dist/types/common/src/utils.d.ts +53 -41
  15. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  16. package/dist/types/element/src/Scene.d.ts +11 -5
  17. package/dist/types/element/src/arrowheads.d.ts +3 -0
  18. package/dist/types/element/src/arrows/focus.d.ts +27 -0
  19. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  20. package/dist/types/element/src/binding.d.ts +67 -48
  21. package/dist/types/element/src/bounds.d.ts +8 -14
  22. package/dist/types/element/src/collision.d.ts +7 -2
  23. package/dist/types/element/src/comparisons.d.ts +7 -7
  24. package/dist/types/element/src/delta.d.ts +16 -4
  25. package/dist/types/element/src/distribute.d.ts +2 -1
  26. package/dist/types/element/src/dragElements.d.ts +3 -3
  27. package/dist/types/element/src/duplicate.d.ts +3 -3
  28. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  29. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  30. package/dist/types/element/src/frame.d.ts +6 -2
  31. package/dist/types/element/src/heading.d.ts +2 -1
  32. package/dist/types/element/src/image.d.ts +1 -11
  33. package/dist/types/element/src/index.d.ts +5 -3
  34. package/dist/types/element/src/linearElementEditor.d.ts +23 -22
  35. package/dist/types/element/src/mutateElement.d.ts +5 -1
  36. package/dist/types/element/src/newElement.d.ts +6 -6
  37. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  38. package/dist/types/element/src/renderElement.d.ts +4 -7
  39. package/dist/types/element/src/resizeElements.d.ts +10 -10
  40. package/dist/types/element/src/resizeTest.d.ts +6 -5
  41. package/dist/types/element/src/selection.d.ts +10 -10
  42. package/dist/types/element/src/shape.d.ts +9 -8
  43. package/dist/types/element/src/store.d.ts +6 -1
  44. package/dist/types/element/src/textElement.d.ts +2 -2
  45. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  46. package/dist/types/element/src/textWrapping.d.ts +26 -0
  47. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  48. package/dist/types/element/src/transformHandles.d.ts +8 -27
  49. package/dist/types/element/src/typeChecks.d.ts +4 -7
  50. package/dist/types/element/src/types.d.ts +12 -13
  51. package/dist/types/element/src/utils.d.ts +9 -4
  52. package/dist/types/element/src/zindex.d.ts +7 -1
  53. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +170 -207
  54. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -7
  55. package/dist/types/excalidraw/actions/actionBoundText.d.ts +94 -119
  56. package/dist/types/excalidraw/actions/actionCanvas.d.ts +557 -902
  57. package/dist/types/excalidraw/actions/actionClipboard.d.ts +125 -891
  58. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +45 -58
  59. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +148 -189
  60. package/dist/types/excalidraw/actions/actionDeselect.d.ts +160 -0
  61. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  62. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  63. package/dist/types/excalidraw/actions/actionElementLink.d.ts +54 -73
  64. package/dist/types/excalidraw/actions/actionElementLock.d.ts +92 -117
  65. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +60 -73
  66. package/dist/types/excalidraw/actions/actionExport.d.ts +173 -1403
  67. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -394
  68. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  69. package/dist/types/excalidraw/actions/actionFrame.d.ts +265 -352
  70. package/dist/types/excalidraw/actions/actionGroup.d.ts +97 -130
  71. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +138 -189
  72. package/dist/types/excalidraw/actions/actionLink.d.ts +60 -73
  73. package/dist/types/excalidraw/actions/actionMenu.d.ts +49 -434
  74. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
  75. package/dist/types/excalidraw/actions/actionProperties.d.ts +152 -2507
  76. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +48 -65
  77. package/dist/types/excalidraw/actions/actionStyles.d.ts +45 -57
  78. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
  79. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +173 -0
  80. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +60 -73
  81. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +173 -0
  82. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +60 -73
  83. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +48 -67
  84. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  85. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +59 -72
  86. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +60 -73
  87. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +60 -73
  88. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  89. package/dist/types/excalidraw/actions/index.d.ts +5 -2
  90. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  91. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  92. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  93. package/dist/types/excalidraw/appState.d.ts +29 -21
  94. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  95. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  96. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  97. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  98. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  99. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  100. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  101. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  102. package/dist/types/excalidraw/clipboard.d.ts +57 -19
  103. package/dist/types/excalidraw/components/Actions.d.ts +22 -5
  104. package/dist/types/excalidraw/components/App.d.ts +118 -76
  105. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  106. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  107. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  108. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -1
  109. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  110. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  111. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  112. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +0 -1
  113. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  114. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  115. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  116. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  117. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  118. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  119. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  120. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  121. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  122. package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
  123. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  124. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  125. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  126. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  127. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  128. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  129. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  130. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  131. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  132. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  133. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  134. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  135. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  136. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  137. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  138. package/dist/types/excalidraw/components/MobileToolBar.d.ts +10 -0
  139. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  140. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  141. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  142. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  143. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  144. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  145. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  146. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  147. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  148. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
  149. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  150. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  151. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  152. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  153. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  154. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  155. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  156. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  157. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
  158. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  159. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  160. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  161. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  162. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  163. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  164. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  165. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  166. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  167. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  168. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  169. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  170. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  171. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  172. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  173. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  174. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  175. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  176. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  177. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  178. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  179. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  180. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  181. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  182. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  183. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  184. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  185. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  186. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  187. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  188. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  189. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  190. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  191. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  192. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  193. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  194. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +7 -3
  195. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  196. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  197. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  198. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  199. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  200. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  201. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  202. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  203. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  204. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  205. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  206. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  207. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  208. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  209. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  210. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  211. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  212. package/dist/types/excalidraw/components/icons.d.ts +49 -21
  213. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +20 -2
  214. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  215. package/dist/types/excalidraw/components/shapes.d.ts +202 -1
  216. package/dist/types/excalidraw/data/blob.d.ts +329 -12
  217. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  218. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  219. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  220. package/dist/types/excalidraw/data/index.d.ts +4 -5
  221. package/dist/types/excalidraw/data/json.d.ts +171 -4
  222. package/dist/types/excalidraw/data/library.d.ts +24 -9
  223. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  224. package/dist/types/excalidraw/data/restore.d.ts +27 -7
  225. package/dist/types/excalidraw/data/types.d.ts +4 -1
  226. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  227. package/dist/types/excalidraw/errors.d.ts +14 -0
  228. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  229. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  230. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  231. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  232. package/dist/types/excalidraw/i18n.d.ts +2 -2
  233. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  234. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  235. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -14
  236. package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
  237. package/dist/types/excalidraw/scene/export.d.ts +2 -2
  238. package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
  239. package/dist/types/excalidraw/scene/types.d.ts +22 -5
  240. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  241. package/dist/types/excalidraw/snapping.d.ts +5 -5
  242. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  243. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  244. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  245. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  246. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  247. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  248. package/dist/types/excalidraw/types.d.ts +130 -36
  249. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +7 -3
  250. package/dist/types/math/src/curve.d.ts +4 -1
  251. package/dist/types/math/src/point.d.ts +7 -2
  252. package/dist/types/math/src/polygon.d.ts +2 -2
  253. package/dist/types/math/src/range.d.ts +1 -3
  254. package/dist/types/math/src/segment.d.ts +4 -3
  255. package/dist/types/math/src/types.d.ts +25 -1
  256. package/dist/types/utils/src/bbox.d.ts +1 -1
  257. package/dist/types/utils/src/export.d.ts +5 -5
  258. package/dist/types/utils/src/shape.d.ts +6 -6
  259. package/dist/types/utils/src/withinBounds.d.ts +2 -2
  260. package/package.json +2 -2
  261. package/dist/types/excalidraw/charts.d.ts +0 -27
  262. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  263. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  264. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  265. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  266. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  267. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  268. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  269. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  270. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  271. package/dist/types/excalidraw/data/reconcile.d.ts +0 -6
  272. package/dist/types/excalidraw/index.d.ts +0 -47
  273. package/dist/types/excalidraw/polyfill.d.ts +0 -2
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
3
- import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate } from "@excalidraw/element";
4
- import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "@excalidraw/element/types";
2
+ import { AppEventBus, type EXPORT_IMAGE_TYPES, Emitter, type EditorInterface, type StylesPanelMode } from "@excalidraw/common";
3
+ import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
4
+ import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, SceneElementsMap } from "@excalidraw/element/types";
5
5
  import type { Mutable } from "@excalidraw/common/utility-types";
6
6
  import { ActionManager } from "../actions/manager";
7
7
  import { AnimationFrameHandler } from "../animation-frame-handler";
@@ -10,30 +10,48 @@ import { Fonts } from "../fonts";
10
10
  import { type WritableAtom } from "../editor-jotai";
11
11
  import { Renderer } from "../scene/Renderer";
12
12
  import { LaserTrails } from "../laser-trails";
13
+ import { isOverScrollBars } from "../scene/scrollbars";
13
14
  import { LassoTrail } from "../lasso";
14
15
  import { EraserTrail } from "../eraser";
16
+ import { type OnStateChange } from "./AppStateObserver";
15
17
  import type { ExportedElements } from "../data";
16
- import type { FileSystemHandle } from "../data/filesystem";
17
- import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
18
+ import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, ExcalidrawImperativeAPIEventMap, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
18
19
  import type { RoughCanvas } from "roughjs/bin/canvas";
19
20
  import type { ActionResult } from "../actions/types";
21
+ declare const editorLifecycleEventBehavior: {
22
+ readonly "editor:mount": {
23
+ readonly cardinality: "once";
24
+ readonly replay: "last";
25
+ };
26
+ readonly "editor:initialize": {
27
+ readonly cardinality: "once";
28
+ readonly replay: "last";
29
+ };
30
+ readonly "editor:unmount": {
31
+ readonly cardinality: "once";
32
+ readonly replay: "last";
33
+ };
34
+ };
20
35
  export declare const ExcalidrawContainerContext: React.Context<{
21
36
  container: HTMLDivElement | null;
22
37
  id: string | null;
23
38
  }>;
39
+ export declare const ExcalidrawAPIContext: React.Context<ExcalidrawImperativeAPI | null>;
40
+ export declare const ExcalidrawAPISetContext: React.Context<((api: ExcalidrawImperativeAPI | null) => void) | null>;
24
41
  export declare const useApp: () => AppClassProperties;
25
42
  export declare const useAppProps: () => AppProps;
26
- export declare const useDevice: () => Readonly<{
27
- viewport: {
28
- isMobile: boolean;
29
- isLandscape: boolean;
30
- };
31
- editor: {
32
- isMobile: boolean;
33
- canFitSidebar: boolean;
34
- };
43
+ export declare const useEditorInterface: () => Readonly<{
44
+ formFactor: "phone" | "tablet" | "desktop";
45
+ desktopUIMode: "compact" | "full";
46
+ userAgent: Readonly<{
47
+ isMobileDevice: boolean;
48
+ platform: "ios" | "android" | "other" | "unknown";
49
+ }>;
35
50
  isTouchScreen: boolean;
51
+ canFitSidebar: boolean;
52
+ isLandscape: boolean;
36
53
  }>;
54
+ export declare const useStylesPanelMode: () => StylesPanelMode;
37
55
  export declare const useExcalidrawContainer: () => {
38
56
  container: HTMLDivElement | null;
39
57
  id: string | null;
@@ -42,20 +60,25 @@ export declare const useExcalidrawElements: () => readonly NonDeletedExcalidrawE
42
60
  export declare const useExcalidrawAppState: () => AppState;
43
61
  export declare const useExcalidrawSetAppState: () => <K extends keyof AppState>(state: AppState | ((prevState: Readonly<AppState>, props: Readonly<any>) => AppState | Pick<AppState, K> | null) | Pick<AppState, K> | null, callback?: (() => void) | undefined) => void;
44
62
  export declare const useExcalidrawActionManager: () => ActionManager;
63
+ /**
64
+ * Requires wrapping your component in <ExcalidrawAPIContext.Provider>
65
+ */
66
+ export declare const useExcalidrawAPI: () => ExcalidrawImperativeAPI | null;
45
67
  declare class App extends React.Component<AppProps, AppState> {
46
68
  canvas: AppClassProperties["canvas"];
47
69
  interactiveCanvas: AppClassProperties["interactiveCanvas"];
70
+ sessionExportThemeOverride: AppState["theme"] | undefined;
48
71
  rc: RoughCanvas;
49
72
  unmounted: boolean;
50
73
  actionManager: ActionManager;
51
- device: Device;
74
+ editorInterface: EditorInterface;
75
+ private stylesPanelMode;
52
76
  private excalidrawContainerRef;
53
77
  scene: Scene;
54
78
  fonts: Fonts;
55
79
  renderer: Renderer;
56
80
  visibleElements: readonly NonDeletedExcalidrawElement[];
57
81
  private resizeObserver;
58
- private nearestScrollableContainer;
59
82
  library: AppClassProperties["library"];
60
83
  libraryItemsFromStorage: LibraryItems | undefined;
61
84
  id: string;
@@ -78,18 +101,31 @@ declare class App extends React.Component<AppProps, AppState> {
78
101
  /** embeds that have been inserted to DOM (as a perf optim, we don't want to
79
102
  * insert to DOM before user initially scrolls to them) */
80
103
  private initializedEmbeds;
81
- private handleToastClose;
82
104
  private elementsPendingErasure;
105
+ private _initialized;
106
+ private readonly editorLifecycleEvents;
107
+ onEvent: AppEventBus<ExcalidrawImperativeAPIEventMap, typeof editorLifecycleEventBehavior>["on"];
108
+ private appStateObserver;
109
+ onStateChange: OnStateChange;
83
110
  flowChartCreator: FlowChartCreator;
84
111
  private flowChartNavigator;
112
+ bindModeHandler: ReturnType<typeof setTimeout> | null;
85
113
  hitLinkElement?: NonDeletedExcalidrawElement;
86
114
  lastPointerDownEvent: React.PointerEvent<HTMLElement> | null;
87
115
  lastPointerUpEvent: React.PointerEvent<HTMLElement> | PointerEvent | null;
116
+ lastPointerUpIsDoubleClick: boolean;
88
117
  lastPointerMoveEvent: PointerEvent | null;
118
+ /** current frame pointer cords */
89
119
  lastPointerMoveCoords: {
90
120
  x: number;
91
121
  y: number;
92
122
  } | null;
123
+ private lastCompletedCanvasClicks;
124
+ /** previous frame pointer coords */
125
+ previousPointerMoveCoords: {
126
+ x: number;
127
+ y: number;
128
+ } | null;
93
129
  lastViewportPosition: {
94
130
  x: number;
95
131
  y: number;
@@ -112,11 +148,7 @@ declare class App extends React.Component<AppProps, AppState> {
112
148
  x: number;
113
149
  y: number;
114
150
  }>;
115
- scrollbars: {
116
- isOverEither: boolean;
117
- isOverHorizontal: boolean;
118
- isOverVertical: boolean;
119
- };
151
+ scrollbars: ReturnType<typeof isOverScrollBars>;
120
152
  lastCoords: {
121
153
  x: number;
122
154
  y: number;
@@ -129,7 +161,7 @@ declare class App extends React.Component<AppProps, AppState> {
129
161
  x: number;
130
162
  y: number;
131
163
  };
132
- arrowDirection: "end" | "origin";
164
+ arrowDirection: "origin" | "end";
133
165
  center: {
134
166
  x: number;
135
167
  y: number;
@@ -153,16 +185,13 @@ declare class App extends React.Component<AppProps, AppState> {
153
185
  x: number;
154
186
  y: number;
155
187
  };
188
+ blockDragging: boolean;
156
189
  };
157
190
  eventListeners: {
158
- onMove: {
159
- (...args: any[]): void;
160
- flush(): void;
161
- cancel(): void;
162
- } | null;
163
- onUp: ((event: PointerEvent) => void) | null;
164
- onKeyDown: ((event: KeyboardEvent) => void) | null;
165
- onKeyUp: ((event: KeyboardEvent) => void) | null;
191
+ onMove: null | ReturnType<typeof import("@excalidraw/common").throttleRAF>;
192
+ onUp: null | ((event: PointerEvent) => void);
193
+ onKeyDown: null | ((event: KeyboardEvent) => void);
194
+ onKeyUp: null | ((event: KeyboardEvent) => void);
166
195
  };
167
196
  boxSelection: {
168
197
  hasOccurred: boolean;
@@ -181,11 +210,7 @@ declare class App extends React.Component<AppProps, AppState> {
181
210
  x: number;
182
211
  y: number;
183
212
  }>;
184
- scrollbars: {
185
- isOverEither: boolean;
186
- isOverHorizontal: boolean;
187
- isOverVertical: boolean;
188
- };
213
+ scrollbars: ReturnType<typeof isOverScrollBars>;
189
214
  lastCoords: {
190
215
  x: number;
191
216
  y: number;
@@ -198,7 +223,7 @@ declare class App extends React.Component<AppProps, AppState> {
198
223
  x: number;
199
224
  y: number;
200
225
  };
201
- arrowDirection: "end" | "origin";
226
+ arrowDirection: "origin" | "end";
202
227
  center: {
203
228
  x: number;
204
229
  y: number;
@@ -222,16 +247,13 @@ declare class App extends React.Component<AppProps, AppState> {
222
247
  x: number;
223
248
  y: number;
224
249
  };
250
+ blockDragging: boolean;
225
251
  };
226
252
  eventListeners: {
227
- onMove: {
228
- (...args: any[]): void;
229
- flush(): void;
230
- cancel(): void;
231
- } | null;
232
- onUp: ((event: PointerEvent) => void) | null;
233
- onKeyDown: ((event: KeyboardEvent) => void) | null;
234
- onKeyUp: ((event: KeyboardEvent) => void) | null;
253
+ onMove: null | ReturnType<typeof import("@excalidraw/common").throttleRAF>;
254
+ onUp: null | ((event: PointerEvent) => void);
255
+ onKeyDown: null | ((event: KeyboardEvent) => void);
256
+ onKeyUp: null | ((event: KeyboardEvent) => void);
235
257
  };
236
258
  boxSelection: {
237
259
  hasOccurred: boolean;
@@ -243,17 +265,27 @@ declare class App extends React.Component<AppProps, AppState> {
243
265
  }>]>;
244
266
  missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
245
267
  onRemoveEventListenersEmitter: Emitter<[]>;
268
+ api: ExcalidrawImperativeAPI;
269
+ private createExcalidrawAPI;
246
270
  constructor(props: AppProps);
247
271
  updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
248
272
  private onWindowMessage;
273
+ private handleSkipBindMode;
274
+ private resetDelayedBindMode;
275
+ private previousHoveredBindableElement;
276
+ private handleDelayedBindModeChange;
249
277
  private cacheEmbeddableRef;
250
278
  /**
251
279
  * Returns gridSize taking into account `gridModeEnabled`.
252
280
  * If disabled, returns null.
253
281
  */
254
282
  getEffectiveGridSize: () => NullableGridSize;
283
+ private getTextCreationGridPoint;
255
284
  private getHTMLIFrameElement;
256
- private handleEmbeddableCenterClick;
285
+ private handleIframeLikeElementHover;
286
+ /** @returns true if iframe-like element click handled */
287
+ private handleIframeLikeCenterClick;
288
+ private isDoubleClick;
257
289
  private isIframeLikeElementCenter;
258
290
  private updateEmbedValidationStatus;
259
291
  private updateEmbeddables;
@@ -266,7 +298,7 @@ declare class App extends React.Component<AppProps, AppState> {
266
298
  render(): import("react/jsx-runtime").JSX.Element;
267
299
  focusContainer: AppClassProperties["focusContainer"];
268
300
  getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
269
- getSceneElementsMapIncludingDeleted: () => Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
301
+ getSceneElementsMapIncludingDeleted: () => SceneElementsMap;
270
302
  getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
271
303
  onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
272
304
  onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
@@ -297,9 +329,11 @@ declare class App extends React.Component<AppProps, AppState> {
297
329
  */
298
330
  private resetScene;
299
331
  private initializeScene;
300
- private isMobileBreakpoint;
301
- private refreshViewportBreakpoints;
302
- private refreshEditorBreakpoints;
332
+ private getFormFactor;
333
+ refreshEditorInterface: () => void;
334
+ private reconcileStylesPanelMode;
335
+ /** TO BE USED LATER */
336
+ private setDesktopUIMode;
303
337
  private clearImageShapeCache;
304
338
  componentDidMount(): Promise<void>;
305
339
  componentWillUnmount(): void;
@@ -316,6 +350,7 @@ declare class App extends React.Component<AppProps, AppState> {
316
350
  private static resetTapTwice;
317
351
  private onTouchStart;
318
352
  private onTouchEnd;
353
+ private insertClipboardContent;
319
354
  pasteFromClipboard: (event: ClipboardEvent) => Promise<void>;
320
355
  addElementsFromPasteOrLibrary: (opts: {
321
356
  elements: readonly ExcalidrawElement[];
@@ -332,20 +367,27 @@ declare class App extends React.Component<AppProps, AppState> {
332
367
  setAppState: React.Component<any, AppState>["setState"];
333
368
  removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
334
369
  toggleLock: (source?: "keyboard" | "ui") => void;
335
- updateFrameRendering: (opts: Partial<{
336
- enabled: boolean;
337
- name: boolean;
338
- outline: boolean;
339
- clip: boolean;
340
- }> | ((prevState: AppState["frameRendering"]) => Partial<AppState["frameRendering"]>)) => void;
370
+ updateFrameRendering: (opts: Partial<AppState["frameRendering"]> | ((prevState: AppState["frameRendering"]) => Partial<AppState["frameRendering"]>)) => void;
341
371
  togglePenMode: (force: boolean | null) => void;
342
372
  onHandToolToggle: () => void;
343
373
  /**
344
374
  * Zooms on canvas viewport center
345
375
  */
346
- zoomCanvas: (value: number) => void;
376
+ zoomCanvas: (
377
+ /**
378
+ * Decimal fraction, auto-clamped between MIN_ZOOM and MAX_ZOOM.
379
+ * 1 = 100% zoom, 2 = 200% zoom, 0.5 = 50% zoom
380
+ */
381
+ value: number) => void;
347
382
  private cancelInProgressAnimation;
348
- scrollToContent: (target?: string | ExcalidrawElement | readonly ExcalidrawElement[], opts?: ({
383
+ scrollToContent: (
384
+ /**
385
+ * target to scroll to
386
+ *
387
+ * - string - id of element or group, or url containing elementLink
388
+ * - ExcalidrawElement | ExcalidrawElement[] - element(s) objects
389
+ */
390
+ target?: string | ExcalidrawElement | readonly ExcalidrawElement[], opts?: ({
349
391
  fitToContent?: boolean;
350
392
  fitToViewport?: never;
351
393
  viewportZoomFactor?: number;
@@ -368,11 +410,7 @@ declare class App extends React.Component<AppProps, AppState> {
368
410
  private maybeUnfollowRemoteUser;
369
411
  /** use when changing scrollX/scrollY/zoom based on user interaction */
370
412
  private translateCanvas;
371
- setToast: (toast: {
372
- message: string;
373
- closable?: boolean;
374
- duration?: number;
375
- } | null) => void;
413
+ setToast: (toast: AppState["toast"]) => void;
376
414
  restoreFileFromShare: () => Promise<void>;
377
415
  /**
378
416
  * adds supplied files to existing files in the appState.
@@ -382,7 +420,7 @@ declare class App extends React.Component<AppProps, AppState> {
382
420
  private addMissingFiles;
383
421
  updateScene: <K extends keyof AppState>(sceneData: {
384
422
  elements?: SceneData["elements"];
385
- appState?: Pick<AppState, K> | null | undefined;
423
+ appState?: Pick<AppState, K> | null;
386
424
  collaborators?: SceneData["collaborators"];
387
425
  /**
388
426
  * Controls which updates should be captured by the `Store`. Captured updates are emmitted and listened to by other components, such as `History` for undo / redo purposes.
@@ -397,6 +435,7 @@ declare class App extends React.Component<AppProps, AppState> {
397
435
  */
398
436
  captureUpdate?: SceneData["captureUpdate"];
399
437
  }) => void;
438
+ applyDeltas: (deltas: StoreDelta[], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
400
439
  mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
401
440
  private triggerRender;
402
441
  /**
@@ -404,8 +443,8 @@ declare class App extends React.Component<AppProps, AppState> {
404
443
  */
405
444
  toggleSidebar: ({ name, tab, force, }: {
406
445
  name: SidebarName | null;
407
- tab?: string | undefined;
408
- force?: boolean | undefined;
446
+ tab?: SidebarTabName;
447
+ force?: boolean;
409
448
  }) => boolean;
410
449
  private updateCurrentCursorPosition;
411
450
  getEditorUIOffsets: () => Offsets;
@@ -437,7 +476,11 @@ declare class App extends React.Component<AppProps, AppState> {
437
476
  private onGestureEnd;
438
477
  private handleTextWysiwyg;
439
478
  private deselectElements;
479
+ private getSelectedTextElement;
480
+ private getSelectedTextEditingContainerAtPosition;
440
481
  private getTextElementAtPosition;
482
+ private isHittingTextAutoResizeHandle;
483
+ private handleTextAutoResizeHandlePointerDown;
441
484
  private getElementAtPosition;
442
485
  private getElementsAtPosition;
443
486
  getElementHitThreshold(element: ExcalidrawElement): number;
@@ -446,9 +489,11 @@ declare class App extends React.Component<AppProps, AppState> {
446
489
  private startTextEditing;
447
490
  private startImageCropping;
448
491
  private finishImageCropping;
492
+ private shouldHandleBrowserCanvasDoubleClick;
449
493
  private handleCanvasDoubleClick;
494
+ private handleCanvasClick;
450
495
  private getElementLinkAtPosition;
451
- private redirectToLink;
496
+ private handleElementLinkClick;
452
497
  private getTopLayerFrameAtSceneCoords;
453
498
  private handleCanvasPointerMove;
454
499
  private handleEraser;
@@ -488,7 +533,7 @@ declare class App extends React.Component<AppProps, AppState> {
488
533
  sceneY: number;
489
534
  link: string;
490
535
  }) => NonDeleted<ExcalidrawEmbeddableElement> | undefined;
491
- private createImageElement;
536
+ private newImagePlaceholder;
492
537
  private handleLinearElementOnPointerDown;
493
538
  private getCurrentItemRoundness;
494
539
  private createGenericElementOnPointerDown;
@@ -509,11 +554,7 @@ declare class App extends React.Component<AppProps, AppState> {
509
554
  * and when you don't want to loose those modifications
510
555
  */
511
556
  private getLatestInitializedImageElement;
512
- /**
513
- * inserts image into elements array and rerenders
514
- */
515
- private insertImageElement;
516
- private onImageAction;
557
+ private onImageToolbarButtonClick;
517
558
  private getImageNaturalDimensions;
518
559
  /** updates image cache, refreshing updated elements and/or setting status
519
560
  to error for images that fail during <img> element creation */
@@ -523,12 +564,11 @@ declare class App extends React.Component<AppProps, AppState> {
523
564
  /** generally you should use `addNewImagesToImageCache()` directly if you need
524
565
  * to render new images. This is just a failsafe */
525
566
  private scheduleImageRefresh;
526
- private updateBindingEnabledOnPointerMove;
527
- private maybeSuggestBindingAtCursor;
528
567
  private clearSelection;
529
568
  private handleInteractiveCanvasRef;
569
+ private insertImages;
530
570
  private handleAppOnDrop;
531
- loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
571
+ loadFileToCanvas: (file: File, fileHandle: FileSystemFileHandle | null) => Promise<void>;
532
572
  private handleCanvasContextMenu;
533
573
  private maybeDragNewGenericElement;
534
574
  private maybeHandleCrop;
@@ -541,6 +581,7 @@ declare class App extends React.Component<AppProps, AppState> {
541
581
  private updateDOMRect;
542
582
  refresh: () => void;
543
583
  private getCanvasOffsets;
584
+ watchState: () => void;
544
585
  private updateLanguage;
545
586
  }
546
587
  declare global {
@@ -550,6 +591,7 @@ declare global {
550
591
  elements: readonly ExcalidrawElement[];
551
592
  state: AppState;
552
593
  setState: React.Component<any, AppState>["setState"];
594
+ watchState: (prev: any, next: any) => void | undefined;
553
595
  app: InstanceType<typeof App>;
554
596
  history: History;
555
597
  store: Store;
@@ -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;
@@ -3,7 +3,6 @@ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
3
  import "./ColorPicker.scss";
4
4
  import type { ColorPickerType } from "./colorPickerUtils";
5
5
  import type { AppState } from "../../types";
6
- export declare const getColor: (color: string) => string | null;
7
6
  interface ColorPickerProps {
8
7
  type: ColorPickerType;
9
8
  /**
@@ -10,8 +10,10 @@ interface PickerProps {
10
10
  palette: ColorPaletteCustom;
11
11
  updateData: (formData?: any) => void;
12
12
  children?: React.ReactNode;
13
+ showTitle?: boolean;
13
14
  onEyeDropperToggle: (force?: boolean) => void;
14
15
  onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
16
+ showHotKey?: boolean;
15
17
  }
16
18
  export declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
17
19
  export {};
@@ -4,6 +4,7 @@ interface PickerColorListProps {
4
4
  color: string | null;
5
5
  onChange: (color: string) => void;
6
6
  activeShade: number;
7
+ showHotKey?: boolean;
7
8
  }
8
- declare const PickerColorList: ({ palette, color, onChange, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const PickerColorList: ({ palette, color, onChange, activeShade, showHotKey, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
9
10
  export default PickerColorList;
@@ -3,6 +3,7 @@ interface ShadeListProps {
3
3
  color: string | null;
4
4
  onChange: (color: string) => void;
5
5
  palette: ColorPaletteCustom;
6
+ showHotKey?: boolean;
6
7
  }
7
- export declare const ShadeList: ({ color, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const ShadeList: ({ color, onChange, palette, showHotKey, }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -17,5 +17,4 @@ export type ActiveColorPickerSectionAtomType = "custom" | "baseColors" | "shades
17
17
  export declare const activeColorPickerSectionAtom: import("jotai/vanilla/atom").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 {
@@ -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,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: {
@@ -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
22
  export declare const getConversionTypeFromElements: (elements: ExcalidrawElement[]) => ConversionType;
23
23
  export default ConvertElementTypePopup;
@@ -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;