@excalidraw/common 0.18.0-0fc927cb4 → 0.18.0-1acf66e

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 (334) hide show
  1. package/dist/dev/index.js +1702 -329
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +3 -3
  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 +49 -34
  9. package/dist/types/common/src/editorInterface.d.ts +34 -0
  10. package/dist/types/common/src/font-metadata.d.ts +1 -3
  11. package/dist/types/common/src/index.d.ts +5 -0
  12. package/dist/types/common/src/keys.d.ts +1 -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 +48 -78
  16. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  17. package/dist/types/element/src/Scene.d.ts +12 -8
  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/collision.d.ts +7 -2
  26. package/dist/types/element/src/comparisons.d.ts +8 -7
  27. package/dist/types/element/src/convertToShape.d.ts +23 -0
  28. package/dist/types/element/src/delta.d.ts +2 -2
  29. package/dist/types/element/src/distribute.d.ts +3 -2
  30. package/dist/types/element/src/dragElements.d.ts +30 -3
  31. package/dist/types/element/src/duplicate.d.ts +7 -6
  32. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  33. package/dist/types/element/src/embeddable.d.ts +2 -2
  34. package/dist/types/element/src/flowchart.d.ts +7 -7
  35. package/dist/types/element/src/fractionalIndex.d.ts +4 -4
  36. package/dist/types/element/src/frame.d.ts +16 -11
  37. package/dist/types/element/src/groups.d.ts +9 -9
  38. package/dist/types/element/src/heading.d.ts +2 -1
  39. package/dist/types/element/src/image.d.ts +1 -11
  40. package/dist/types/element/src/index.d.ts +8 -4
  41. package/dist/types/element/src/linearElementEditor.d.ts +38 -30
  42. package/dist/types/element/src/mutateElement.d.ts +5 -1
  43. package/dist/types/element/src/newElement.d.ts +20 -6
  44. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  45. package/dist/types/element/src/renderElement.d.ts +4 -10
  46. package/dist/types/element/src/resizeElements.d.ts +12 -12
  47. package/dist/types/element/src/resizeTest.d.ts +6 -5
  48. package/dist/types/element/src/selection.d.ts +14 -14
  49. package/dist/types/element/src/shape.d.ts +9 -8
  50. package/dist/types/element/src/store.d.ts +3 -2
  51. package/dist/types/element/src/textElement.d.ts +14 -11
  52. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  53. package/dist/types/element/src/textWrapping.d.ts +26 -0
  54. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  55. package/dist/types/element/src/transformHandles.d.ts +8 -27
  56. package/dist/types/element/src/typeChecks.d.ts +29 -31
  57. package/dist/types/element/src/types.d.ts +20 -14
  58. package/dist/types/element/src/utils.d.ts +9 -4
  59. package/dist/types/element/src/zindex.d.ts +7 -1
  60. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +191 -213
  61. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  62. package/dist/types/excalidraw/actions/actionBoundText.d.ts +112 -127
  63. package/dist/types/excalidraw/actions/actionCanvas.d.ts +447 -1585
  64. package/dist/types/excalidraw/actions/actionClipboard.d.ts +139 -895
  65. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +54 -62
  66. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +180 -205
  67. package/dist/types/excalidraw/actions/actionDeselect.d.ts +162 -0
  68. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  69. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  70. package/dist/types/excalidraw/actions/actionElementLink.d.ts +61 -75
  71. package/dist/types/excalidraw/actions/actionElementLock.d.ts +111 -126
  72. package/dist/types/excalidraw/actions/actionExport.d.ts +189 -1409
  73. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -394
  74. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  75. package/dist/types/excalidraw/actions/actionFrame.d.ts +292 -537
  76. package/dist/types/excalidraw/actions/actionGroup.d.ts +122 -145
  77. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +193 -237
  78. package/dist/types/excalidraw/actions/actionLink.d.ts +67 -75
  79. package/dist/types/excalidraw/actions/actionMenu.d.ts +56 -436
  80. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
  81. package/dist/types/excalidraw/actions/actionProperties.d.ts +191 -2527
  82. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +61 -73
  83. package/dist/types/excalidraw/actions/actionStyles.d.ts +54 -61
  84. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
  85. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +178 -0
  86. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +69 -78
  87. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +178 -0
  88. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +68 -76
  89. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +57 -72
  90. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  91. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +67 -75
  92. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +68 -76
  93. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +68 -76
  94. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  95. package/dist/types/excalidraw/actions/index.d.ts +5 -3
  96. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  97. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  98. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  99. package/dist/types/excalidraw/actions/types.d.ts +11 -7
  100. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  101. package/dist/types/excalidraw/appState.d.ts +46 -37
  102. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  103. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  104. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  105. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  106. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  107. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  108. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  109. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  110. package/dist/types/excalidraw/clipboard.d.ts +59 -21
  111. package/dist/types/excalidraw/components/Actions.d.ts +33 -11
  112. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  113. package/dist/types/excalidraw/components/App.arrowText.d.ts +72 -0
  114. package/dist/types/excalidraw/components/App.cursor.d.ts +31 -0
  115. package/dist/types/excalidraw/components/App.d.ts +447 -122
  116. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  117. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  118. package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
  119. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  120. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  121. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  122. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +2 -3
  123. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  124. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  125. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  126. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  127. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  128. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  129. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  130. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  131. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
  132. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  133. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  134. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  135. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  136. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  137. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  138. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  139. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  140. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  141. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  142. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  143. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  144. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  145. package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
  146. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  147. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  148. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  149. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  150. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
  151. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  152. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  153. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  154. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  155. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  156. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  157. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  158. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  159. package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
  160. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  161. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  162. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  163. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  164. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  165. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  166. package/dist/types/excalidraw/components/Popover.d.ts +2 -3
  167. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  168. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  169. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  170. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  171. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  172. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  173. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  174. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  175. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  176. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  177. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  178. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  179. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  180. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  181. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  182. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  183. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  184. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  185. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  186. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  187. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  188. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  189. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  190. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  191. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  192. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  193. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  194. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  195. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  196. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  197. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  198. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  199. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  200. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  201. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  202. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  203. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  204. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  205. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  206. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  207. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  208. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  209. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  210. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  211. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  212. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  213. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  214. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  215. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  216. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  217. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  218. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  219. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  220. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  221. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  222. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  223. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  224. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  225. package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
  226. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  227. package/dist/types/excalidraw/components/Tools.d.ts +145 -0
  228. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  229. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +10 -4
  230. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  231. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  232. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  233. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  234. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  235. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  236. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  237. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  238. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  239. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  240. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  241. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  242. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  243. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  244. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  245. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  246. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  247. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  248. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  249. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  250. package/dist/types/excalidraw/components/icons.d.ts +52 -22
  251. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
  252. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  253. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  254. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  255. package/dist/types/excalidraw/data/blob.d.ts +339 -12
  256. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  257. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  258. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  259. package/dist/types/excalidraw/data/index.d.ts +8 -9
  260. package/dist/types/excalidraw/data/json.d.ts +175 -3
  261. package/dist/types/excalidraw/data/library.d.ts +25 -10
  262. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  263. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  264. package/dist/types/excalidraw/data/types.d.ts +4 -1
  265. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  266. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  267. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  268. package/dist/types/excalidraw/errors.d.ts +14 -0
  269. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  270. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  271. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  272. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  273. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  274. package/dist/types/excalidraw/i18n.d.ts +2 -2
  275. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  276. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  277. package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
  278. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  279. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  280. package/dist/types/excalidraw/scene/Renderer.d.ts +428 -18
  281. package/dist/types/excalidraw/scene/export.d.ts +4 -4
  282. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  283. package/dist/types/excalidraw/scene/types.d.ts +26 -8
  284. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  285. package/dist/types/excalidraw/snapping.d.ts +12 -12
  286. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  287. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  288. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  289. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  290. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  291. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  292. package/dist/types/excalidraw/types.d.ts +487 -50
  293. package/dist/types/excalidraw/viewport.d.ts +272 -0
  294. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
  295. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  296. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  297. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  298. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  299. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  300. package/dist/types/math/src/constants.d.ts +0 -1
  301. package/dist/types/math/src/curve.d.ts +4 -1
  302. package/dist/types/math/src/index.d.ts +1 -0
  303. package/dist/types/math/src/pca.d.ts +79 -0
  304. package/dist/types/math/src/point.d.ts +8 -2
  305. package/dist/types/math/src/polygon.d.ts +26 -2
  306. package/dist/types/math/src/range.d.ts +1 -3
  307. package/dist/types/math/src/segment.d.ts +4 -3
  308. package/dist/types/math/src/types.d.ts +25 -1
  309. package/dist/types/utils/src/export.d.ts +8 -8
  310. package/dist/types/utils/src/index.d.ts +1 -2
  311. package/dist/types/utils/src/shape.d.ts +6 -6
  312. package/package.json +7 -1
  313. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -185
  314. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  315. package/dist/types/excalidraw/charts.d.ts +0 -27
  316. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  317. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  318. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  319. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  320. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  321. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  322. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  323. package/dist/types/excalidraw/components/shapes.d.ts +0 -62
  324. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  325. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  326. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  327. package/dist/types/excalidraw/cursor.d.ts +0 -5
  328. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  329. package/dist/types/excalidraw/index.d.ts +0 -47
  330. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  331. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  332. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  333. package/dist/types/utils/src/bbox.d.ts +0 -9
  334. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -0,0 +1,11 @@
1
+ import type { AppClassProperties, AppProps, AppState, UIAppState } from "../types";
2
+ /** the main (desktop/tablet) toolbar island */
3
+ export declare const Toolbar: ({ app, appState, setAppState, UIOptions, onPenModeToggle, onLockToggle, heading, }: {
4
+ app: AppClassProperties;
5
+ appState: UIAppState;
6
+ setAppState: React.Component<any, AppState>["setState"];
7
+ UIOptions: AppProps["UIOptions"];
8
+ onPenModeToggle: AppClassProperties["togglePenMode"];
9
+ onLockToggle: () => void;
10
+ heading: React.ReactNode;
11
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,145 @@
1
+ import type { AppClassProperties, AppState, ToolType, UIAppState } from "../types";
2
+ export type ToolConfig = {
3
+ icon: React.ReactNode;
4
+ /** letter shortcut(s) — the first one is shown in tooltips */
5
+ letterKey?: string | readonly string[];
6
+ /** whether `letterKey` requires Shift to be held (e.g. Shift+X) */
7
+ shiftKey?: boolean;
8
+ numericKey?: string;
9
+ /** whether the tool's shapes can be filled — fills the icon when active */
10
+ fillable?: boolean;
11
+ /**
12
+ * re-activating the tool switches back to the previously active tool
13
+ * (via the keyboard shortcut or ESC — see `setActiveTool`'s `toggle`
14
+ * option)
15
+ */
16
+ toggle?: boolean;
17
+ };
18
+ /**
19
+ * Tool data — the single source of truth for tool buttons, keyboard
20
+ * shortcuts (`findShapeByKey`), and the command palette. Toolbar placement
21
+ * is not defined here: toolbars compose the `*ToolButton` components below
22
+ * manually, so entries without a toolbar slot (e.g. laser) are data-only.
23
+ */
24
+ export declare const TOOLS: {
25
+ hand: ToolConfig;
26
+ selection: ToolConfig;
27
+ rectangle: ToolConfig;
28
+ diamond: ToolConfig;
29
+ ellipse: ToolConfig;
30
+ arrow: ToolConfig;
31
+ line: ToolConfig;
32
+ freedraw: ToolConfig;
33
+ text: ToolConfig;
34
+ image: ToolConfig;
35
+ eraser: ToolConfig;
36
+ frame: ToolConfig;
37
+ autoshape: ToolConfig;
38
+ embeddable: ToolConfig;
39
+ laser: ToolConfig;
40
+ lasso: ToolConfig;
41
+ };
42
+ export type ToolbarToolType = keyof typeof TOOLS;
43
+ /**
44
+ * tools that, when activated while already active, switch back to the
45
+ * previously active tool (see `setActiveTool`'s `toggle` option)
46
+ */
47
+ export declare const TOGGLE_TOOLS: readonly (ToolType | "custom")[];
48
+ export declare const getToolLetter: (type: ToolbarToolType) => string | undefined;
49
+ /** human-readable shortcut hint, e.g. "R or 2", used in tooltips & aria */
50
+ export declare const getToolShortcut: (type: ToolbarToolType) => string;
51
+ export declare const findShapeByKey: (key: string, app: AppClassProperties, shiftKey?: boolean) => "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "lasso" | "eraser" | "hand" | "laser" | "autoshape" | null;
52
+ /**
53
+ * Whether a toolbar entry activating the given tool renders disabled — true
54
+ * when the active tool is host-controlled (`props.activeTool`) and the entry
55
+ * doesn't activate the forced tool (`setActiveTool` refuses it).
56
+ */
57
+ export declare const isToolButtonDisabled: (app: AppClassProperties, type: string) => boolean;
58
+ export type ToolButtonComponentProps = {
59
+ app: AppClassProperties;
60
+ activeTool: UIAppState["activeTool"];
61
+ /** hide the keybinding badge rendered in the button's corner */
62
+ hideKeyBinding?: boolean;
63
+ /**
64
+ * hide all shortcut affordances (tooltip hint, aria-keyshortcuts, and the
65
+ * keybinding badge) — used on mobile where there's no keyboard
66
+ */
67
+ hideShortcut?: boolean;
68
+ };
69
+ export declare const HandToolButton: {
70
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
71
+ displayName: string;
72
+ };
73
+ export declare const RectangleToolButton: {
74
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
75
+ displayName: string;
76
+ };
77
+ export declare const DiamondToolButton: {
78
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
79
+ displayName: string;
80
+ };
81
+ export declare const EllipseToolButton: {
82
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
83
+ displayName: string;
84
+ };
85
+ export declare const ArrowToolButton: {
86
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
87
+ displayName: string;
88
+ };
89
+ export declare const LineToolButton: {
90
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
91
+ displayName: string;
92
+ };
93
+ export declare const FreedrawToolButton: {
94
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
95
+ displayName: string;
96
+ };
97
+ export declare const TextToolButton: {
98
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
99
+ displayName: string;
100
+ };
101
+ export declare const ImageToolButton: {
102
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
103
+ displayName: string;
104
+ };
105
+ export declare const EraserToolButton: {
106
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
107
+ displayName: string;
108
+ };
109
+ export declare const FrameToolButton: {
110
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
111
+ displayName: string;
112
+ };
113
+ /**
114
+ * The selection tool button — pointer-clicking it while the selection tool
115
+ * is active switches to lasso.
116
+ */
117
+ export declare const SelectionToolButton: {
118
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
119
+ displayName: string;
120
+ };
121
+ /**
122
+ * Rendered in place of the selection button when lasso is the preferred
123
+ * selection tool; the selection shortcut activates it then.
124
+ */
125
+ export declare const LassoToolButton: {
126
+ ({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
127
+ displayName: string;
128
+ };
129
+ /**
130
+ * The selection ⇄ lasso popover used in compact (tablet) and mobile
131
+ * toolbars; picking an option also makes it the preferred selection tool.
132
+ */
133
+ export declare const SelectionToolPopover: ({ app, activeTool, setAppState, }: {
134
+ app: AppClassProperties;
135
+ activeTool: UIAppState["activeTool"];
136
+ setAppState: React.Component<any, AppState>["setState"];
137
+ }) => import("react/jsx-runtime").JSX.Element;
138
+ /**
139
+ * The freedraw ⇄ draw-shape popover used in compact (tablet) and mobile
140
+ * toolbars. The trigger remembers and displays the most recently used option.
141
+ */
142
+ export declare const FreedrawToolPopover: ({ app, activeTool, }: {
143
+ app: AppClassProperties;
144
+ activeTool: UIAppState["activeTool"];
145
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import type { TranslationKeys } from "../i18n";
3
3
  declare const Trans: ({ i18nKey, children, ...props }: {
4
- [key: string]: React.ReactNode | ((el: React.ReactNode) => React.ReactNode);
5
4
  i18nKey: TranslationKeys;
5
+ [key: string]: React.ReactNode | ((el: React.ReactNode) => React.ReactNode);
6
6
  }) => React.FunctionComponentElement<{
7
- children?: React.ReactNode;
7
+ children?: React.ReactNode | undefined;
8
8
  }>;
9
9
  export default Trans;
@@ -1,7 +1,8 @@
1
1
  import React from "react";
2
+ import { type EditorInterface } from "@excalidraw/common";
3
+ import type { RenderableElementsMap, RenderInteractiveSceneCallback } from "@excalidraw/excalidraw/scene/types";
2
4
  import type { NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
3
- import type { RenderableElementsMap, RenderInteractiveSceneCallback } from "../../scene/types";
4
- import type { Device, InteractiveCanvasAppState } from "../../types";
5
+ import type { AppClassProperties, InteractiveCanvasAppState } from "../../types";
5
6
  import type { DOMAttributes } from "react";
6
7
  type InteractiveCanvasProps = {
7
8
  containerRef: React.RefObject<HTMLDivElement | null>;
@@ -10,15 +11,19 @@ type InteractiveCanvasProps = {
10
11
  visibleElements: readonly NonDeletedExcalidrawElement[];
11
12
  selectedElements: readonly NonDeletedExcalidrawElement[];
12
13
  allElementsMap: NonDeletedSceneElementsMap;
13
- sceneNonce: number | undefined;
14
+ canvasNonce: string;
14
15
  selectionNonce: number | undefined;
15
16
  scale: number;
16
17
  appState: InteractiveCanvasAppState;
17
18
  renderScrollbars: boolean;
18
- device: Device;
19
+ editorInterface: EditorInterface;
20
+ app: AppClassProperties;
21
+ interactionEnabled: boolean;
22
+ navigationEnabled: boolean;
19
23
  renderInteractiveSceneCallback: (data: RenderInteractiveSceneCallback) => void;
20
24
  handleCanvasRef: (canvas: HTMLCanvasElement | null) => void;
21
25
  onContextMenu: Exclude<DOMAttributes<HTMLCanvasElement | HTMLDivElement>["onContextMenu"], undefined>;
26
+ onClick: Exclude<DOMAttributes<HTMLCanvasElement>["onClick"], undefined>;
22
27
  onPointerMove: Exclude<DOMAttributes<HTMLCanvasElement>["onPointerMove"], undefined>;
23
28
  onPointerUp: Exclude<DOMAttributes<HTMLCanvasElement>["onPointerUp"], undefined>;
24
29
  onPointerCancel: Exclude<DOMAttributes<HTMLCanvasElement>["onPointerCancel"], undefined>;
@@ -26,5 +31,6 @@ type InteractiveCanvasProps = {
26
31
  onPointerDown: Exclude<DOMAttributes<HTMLCanvasElement>["onPointerDown"], undefined>;
27
32
  onDoubleClick: Exclude<DOMAttributes<HTMLCanvasElement>["onDoubleClick"], undefined>;
28
33
  };
34
+ export declare const INTERACTIVE_SCENE_ANIMATION_KEY = "animateInteractiveScene";
29
35
  declare const _default: React.MemoExoticComponent<(props: InteractiveCanvasProps) => import("react/jsx-runtime").JSX.Element>;
30
36
  export default _default;
@@ -4,6 +4,7 @@ import type { AppState } from "../../types";
4
4
  import type { RoughCanvas } from "roughjs/bin/canvas";
5
5
  interface NewElementCanvasProps {
6
6
  appState: AppState;
7
+ newElement: NonNullable<AppState["newElement"]>;
7
8
  elementsMap: RenderableElementsMap;
8
9
  allElementsMap: NonDeletedSceneElementsMap;
9
10
  scale: number;
@@ -9,7 +9,7 @@ type StaticCanvasProps = {
9
9
  elementsMap: RenderableElementsMap;
10
10
  allElementsMap: NonDeletedSceneElementsMap;
11
11
  visibleElements: readonly NonDeletedExcalidrawElement[];
12
- sceneNonce: number | undefined;
12
+ canvasNonce: string;
13
13
  selectionNonce: number | undefined;
14
14
  scale: number;
15
15
  appState: StaticCanvasAppState;
@@ -7,73 +7,63 @@ declare const DropdownMenu: {
7
7
  }): import("react/jsx-runtime").JSX.Element;
8
8
  Trigger: {
9
9
  ({ className, children, onToggle, title, ...rest }: {
10
- className?: string | undefined;
10
+ className?: string;
11
11
  children: React.ReactNode;
12
12
  onToggle: () => void;
13
- title?: string | undefined;
13
+ title?: string;
14
14
  } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
15
15
  displayName: string;
16
16
  };
17
17
  Content: {
18
- ({ children, onClickOutside, className, onSelect, style, }: {
18
+ ({ children, onClickOutside, className, onSelect, open, align, style, }: {
19
19
  children?: React.ReactNode;
20
- onClickOutside?: (() => void) | undefined;
21
- className?: string | undefined;
22
- onSelect?: ((event: Event) => void) | undefined;
23
- style?: React.CSSProperties | undefined;
20
+ onClickOutside?: () => void;
21
+ className?: string;
22
+ onSelect?: (event: Event) => void;
23
+ open?: boolean;
24
+ style?: React.CSSProperties;
25
+ align?: "start" | "center" | "end";
24
26
  }): import("react/jsx-runtime").JSX.Element;
25
27
  displayName: string;
26
28
  };
27
29
  Item: {
28
- ({ icon, value, order, children, shortcut, className, hovered, selected, textStyle, onSelect, onClick, ...rest }: {
29
- icon?: React.JSX.Element | undefined;
30
- value?: string | number | undefined;
31
- order?: number | undefined;
32
- onSelect?: ((event: Event) => void) | undefined;
33
- children: React.ReactNode;
34
- shortcut?: string | undefined;
35
- hovered?: boolean | undefined;
36
- selected?: boolean | undefined;
37
- textStyle?: React.CSSProperties | undefined;
38
- className?: string | undefined;
39
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
30
+ ({ icon, badge, value, children, shortcut, className, selected, onSelect, ...rest }: import("./DropdownMenuItem").DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
40
31
  displayName: string;
41
32
  Badge: {
42
33
  ({ type, children, }: {
43
- type?: import("@excalidraw/common/utility-types").ValueOf<{
44
- readonly GREEN: "green";
45
- readonly RED: "red";
46
- readonly BLUE: "blue";
47
- }> | undefined;
34
+ type?: import("@excalidraw/common/utility-types").ValueOf<typeof import("./DropdownMenuItem").DropDownMenuItemBadgeType>;
48
35
  children: React.ReactNode;
49
36
  }): import("react/jsx-runtime").JSX.Element;
50
37
  displayName: string;
51
38
  };
52
39
  };
40
+ ItemCheckbox: (props: Omit<import("./DropdownMenuItem").DropdownMenuItemProps, "icon"> & {
41
+ checked: boolean;
42
+ }) => import("react/jsx-runtime").JSX.Element;
53
43
  ItemLink: {
54
44
  ({ icon, shortcut, href, children, onSelect, className, selected, rel, ...rest }: {
55
45
  href: string;
56
- icon?: React.JSX.Element | undefined;
46
+ icon?: React.JSX.Element;
57
47
  children: React.ReactNode;
58
- shortcut?: string | undefined;
59
- className?: string | undefined;
60
- selected?: boolean | undefined;
61
- onSelect?: ((event: Event) => void) | undefined;
62
- rel?: string | undefined;
48
+ shortcut?: string;
49
+ className?: string;
50
+ selected?: boolean;
51
+ onSelect?: (event: Event) => void;
52
+ rel?: string;
63
53
  } & React.AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
64
54
  displayName: string;
65
55
  };
66
56
  ItemCustom: ({ children, className, selected, ...rest }: {
67
57
  children: React.ReactNode;
68
- className?: string | undefined;
69
- selected?: boolean | undefined;
58
+ className?: string;
59
+ selected?: boolean;
70
60
  } & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
71
61
  Group: {
72
62
  ({ children, className, style, title, }: {
73
63
  children: React.ReactNode;
74
- className?: string | undefined;
75
- style?: React.CSSProperties | undefined;
76
- title?: string | undefined;
64
+ className?: string;
65
+ style?: React.CSSProperties;
66
+ title?: string;
77
67
  }): import("react/jsx-runtime").JSX.Element;
78
68
  displayName: string;
79
69
  };
@@ -81,6 +71,28 @@ declare const DropdownMenu: {
81
71
  (): import("react/jsx-runtime").JSX.Element;
82
72
  displayName: string;
83
73
  };
74
+ Sub: {
75
+ ({ children }: {
76
+ children?: React.ReactNode;
77
+ }): import("react/jsx-runtime").JSX.Element;
78
+ Trigger: {
79
+ ({ children, icon, shortcut, className, }: {
80
+ children: React.ReactNode;
81
+ icon?: React.JSX.Element;
82
+ shortcut?: string;
83
+ className?: string;
84
+ }): import("react/jsx-runtime").JSX.Element;
85
+ displayName: string;
86
+ };
87
+ Content: {
88
+ ({ children, className, }: {
89
+ children?: React.ReactNode;
90
+ className?: string;
91
+ }): import("react/jsx-runtime").JSX.Element;
92
+ displayName: string;
93
+ };
94
+ displayName: string;
95
+ };
84
96
  displayName: string;
85
97
  };
86
98
  export default DropdownMenu;
@@ -1,14 +1,16 @@
1
1
  import React from "react";
2
2
  declare const MenuContent: {
3
- ({ children, onClickOutside, className, onSelect, style, }: {
3
+ ({ children, onClickOutside, className, onSelect, open, align, style, }: {
4
4
  children?: React.ReactNode;
5
- onClickOutside?: (() => void) | undefined;
6
- className?: string | undefined;
5
+ onClickOutside?: () => void;
6
+ className?: string;
7
7
  /**
8
8
  * Called when any menu item is selected (clicked on).
9
9
  */
10
- onSelect?: ((event: Event) => void) | undefined;
11
- style?: React.CSSProperties | undefined;
10
+ onSelect?: (event: Event) => void;
11
+ open?: boolean;
12
+ style?: React.CSSProperties;
13
+ align?: "start" | "center" | "end";
12
14
  }): import("react/jsx-runtime").JSX.Element;
13
15
  displayName: string;
14
16
  };
@@ -2,9 +2,9 @@ import React from "react";
2
2
  declare const MenuGroup: {
3
3
  ({ children, className, style, title, }: {
4
4
  children: React.ReactNode;
5
- className?: string | undefined;
6
- style?: React.CSSProperties | undefined;
7
- title?: string | undefined;
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ title?: string;
8
8
  }): import("react/jsx-runtime").JSX.Element;
9
9
  displayName: string;
10
10
  };
@@ -1,27 +1,22 @@
1
1
  import React from "react";
2
2
  import type { ValueOf } from "@excalidraw/common/utility-types";
3
3
  import type { JSX } from "react";
4
+ export type DropdownMenuItemProps = {
5
+ icon?: JSX.Element;
6
+ badge?: React.ReactNode;
7
+ value?: string | number | undefined;
8
+ onSelect?: (event: Event) => void;
9
+ children: React.ReactNode;
10
+ shortcut?: string;
11
+ selected?: boolean;
12
+ className?: string;
13
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">;
4
14
  declare const DropdownMenuItem: {
5
- ({ icon, value, order, children, shortcut, className, hovered, selected, textStyle, onSelect, onClick, ...rest }: {
6
- icon?: JSX.Element | undefined;
7
- value?: string | number | undefined;
8
- order?: number | undefined;
9
- onSelect?: ((event: Event) => void) | undefined;
10
- children: React.ReactNode;
11
- shortcut?: string | undefined;
12
- hovered?: boolean | undefined;
13
- selected?: boolean | undefined;
14
- textStyle?: React.CSSProperties | undefined;
15
- className?: string | undefined;
16
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
15
+ ({ icon, badge, value, children, shortcut, className, selected, onSelect, ...rest }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
17
16
  displayName: string;
18
17
  Badge: {
19
18
  ({ type, children, }: {
20
- type?: ValueOf<{
21
- readonly GREEN: "green";
22
- readonly RED: "red";
23
- readonly BLUE: "blue";
24
- }> | undefined;
19
+ type?: ValueOf<typeof DropDownMenuItemBadgeType>;
25
20
  children: React.ReactNode;
26
21
  }): import("react/jsx-runtime").JSX.Element;
27
22
  displayName: string;
@@ -34,11 +29,7 @@ export declare const DropDownMenuItemBadgeType: {
34
29
  };
35
30
  export declare const DropDownMenuItemBadge: {
36
31
  ({ type, children, }: {
37
- type?: ValueOf<{
38
- readonly GREEN: "green";
39
- readonly RED: "red";
40
- readonly BLUE: "blue";
41
- }> | undefined;
32
+ type?: ValueOf<typeof DropDownMenuItemBadgeType>;
42
33
  children: React.ReactNode;
43
34
  }): import("react/jsx-runtime").JSX.Element;
44
35
  displayName: string;
@@ -0,0 +1,5 @@
1
+ import type { DropdownMenuItemProps } from "./DropdownMenuItem";
2
+ declare const DropdownMenuItemCheckbox: (props: Omit<DropdownMenuItemProps, "icon"> & {
3
+ checked: boolean;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default DropdownMenuItemCheckbox;
@@ -1,8 +1,9 @@
1
1
  import type { JSX } from "react";
2
- declare const MenuItemContent: ({ textStyle, icon, shortcut, children, }: {
3
- icon?: JSX.Element | undefined;
4
- shortcut?: string | undefined;
5
- textStyle?: import("react").CSSProperties | undefined;
2
+ declare const MenuItemContent: ({ textStyle, icon, shortcut, children, badge, }: {
3
+ icon?: JSX.Element;
4
+ shortcut?: string;
5
+ textStyle?: React.CSSProperties;
6
6
  children: React.ReactNode;
7
+ badge?: React.ReactNode;
7
8
  }) => import("react/jsx-runtime").JSX.Element;
8
9
  export default MenuItemContent;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type Props<T> = {
3
2
  value: T;
4
3
  shortcut?: string;
@@ -10,9 +9,10 @@ type Props<T> = {
10
9
  onChange: (value: T) => void;
11
10
  children: React.ReactNode;
12
11
  name: string;
12
+ icon?: React.ReactNode;
13
13
  };
14
14
  declare const DropdownMenuItemContentRadio: {
15
- <T>({ value, shortcut, onChange, choices, children, name, }: Props<T>): import("react/jsx-runtime").JSX.Element;
15
+ <T>({ value, shortcut, onChange, choices, children, name, icon, }: Props<T>): import("react/jsx-runtime").JSX.Element;
16
16
  displayName: string;
17
17
  };
18
18
  export default DropdownMenuItemContentRadio;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  declare const DropdownMenuItemCustom: ({ children, className, selected, ...rest }: {
3
3
  children: React.ReactNode;
4
- className?: string | undefined;
5
- selected?: boolean | undefined;
4
+ className?: string;
5
+ selected?: boolean;
6
6
  } & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
7
7
  export default DropdownMenuItemCustom;
@@ -3,13 +3,13 @@ import type { JSX } from "react";
3
3
  declare const DropdownMenuItemLink: {
4
4
  ({ icon, shortcut, href, children, onSelect, className, selected, rel, ...rest }: {
5
5
  href: string;
6
- icon?: JSX.Element | undefined;
6
+ icon?: JSX.Element;
7
7
  children: React.ReactNode;
8
- shortcut?: string | undefined;
9
- className?: string | undefined;
10
- selected?: boolean | undefined;
11
- onSelect?: ((event: Event) => void) | undefined;
12
- rel?: string | undefined;
8
+ shortcut?: string;
9
+ className?: string;
10
+ selected?: boolean;
11
+ onSelect?: (event: Event) => void;
12
+ rel?: string;
13
13
  } & React.AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
14
14
  displayName: string;
15
15
  };
@@ -0,0 +1,23 @@
1
+ declare const DropdownMenuSub: {
2
+ ({ children }: {
3
+ children?: React.ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ Trigger: {
6
+ ({ children, icon, shortcut, className, }: {
7
+ children: React.ReactNode;
8
+ icon?: import("react").JSX.Element;
9
+ shortcut?: string;
10
+ className?: string;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ displayName: string;
13
+ };
14
+ Content: {
15
+ ({ children, className, }: {
16
+ children?: React.ReactNode;
17
+ className?: string;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ displayName: string;
20
+ };
21
+ displayName: string;
22
+ };
23
+ export default DropdownMenuSub;
@@ -0,0 +1,8 @@
1
+ declare const DropdownMenuSubContent: {
2
+ ({ children, className, }: {
3
+ children?: React.ReactNode;
4
+ className?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string;
7
+ };
8
+ export default DropdownMenuSubContent;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import type { JSX } from "react";
3
+ declare const DropdownMenuSubTrigger: {
4
+ ({ children, icon, shortcut, className, }: {
5
+ children: React.ReactNode;
6
+ icon?: JSX.Element;
7
+ shortcut?: string;
8
+ className?: string;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ export default DropdownMenuSubTrigger;
@@ -1,11 +1,10 @@
1
- /// <reference types="react" />
2
1
  declare const MenuTrigger: {
3
2
  ({ className, children, onToggle, title, ...rest }: {
4
- className?: string | undefined;
3
+ className?: string;
5
4
  children: React.ReactNode;
6
5
  onToggle: () => void;
7
- title?: string | undefined;
8
- } & Omit<import("react").ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
6
+ title?: string;
7
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
9
8
  displayName: string;
10
9
  };
11
10
  export default MenuTrigger;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  export declare const DropdownMenuContentPropsContext: React.Context<{
3
- onSelect?: ((event: Event) => void) | undefined;
3
+ onSelect?: (event: Event) => void;
4
4
  }>;
5
5
  export declare const getDropdownMenuItemClassName: (className?: string, selected?: boolean, hovered?: boolean) => string;
6
- export declare const useHandleDropdownMenuItemClick: (origOnClick: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined, onSelect: ((event: Event) => void) | undefined) => (event: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void;
6
+ export declare const useHandleDropdownMenuItemSelect: (onSelect: ((event: Event) => void) | undefined) => (event: Event) => void;
@@ -1,3 +1,5 @@
1
1
  import React from "react";
2
2
  export declare const getMenuTriggerComponent: (children: React.ReactNode) => string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
3
3
  export declare const getMenuContentComponent: (children: React.ReactNode) => string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
4
+ export declare const getSubMenuTriggerComponent: (children: React.ReactNode) => string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
5
+ export declare const getSubMenuContentComponent: (children: React.ReactNode) => string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
@@ -1,11 +1,13 @@
1
1
  import type { ActionManager } from "../../actions/manager";
2
2
  import type { UIAppState } from "../../types";
3
3
  declare const Footer: {
4
- ({ appState, actionManager, showExitZenModeBtn, renderWelcomeScreen, }: {
4
+ ({ appState, actionManager, showExitZenModeBtn, renderWelcomeScreen, defaultUIEnabled, zoomUIEnabled, }: {
5
5
  appState: UIAppState;
6
6
  actionManager: ActionManager;
7
7
  showExitZenModeBtn: boolean;
8
8
  renderWelcomeScreen: boolean;
9
+ defaultUIEnabled: boolean;
10
+ zoomUIEnabled: boolean;
9
11
  }): import("react/jsx-runtime").JSX.Element;
10
12
  displayName: string;
11
13
  };
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  export declare const withInternalFallback: <P>(componentName: string, Component: React.FC<P>) => React.FC<P & {
3
- __fallback?: boolean | undefined;
3
+ __fallback?: boolean;
4
4
  }>;
@@ -1,10 +1,10 @@
1
1
  import type { GlobalPoint, Radians } from "@excalidraw/math";
2
- import type { Bounds } from "@excalidraw/element";
2
+ import type { Bounds } from "@excalidraw/common";
3
3
  import type { ElementsMap, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
4
- import type { AppState, UIAppState } from "../../types";
4
+ import type { AppState } from "../../types";
5
5
  export declare const DEFAULT_LINK_SIZE = 12;
6
6
  export declare const EXTERNAL_LINK_IMG: HTMLImageElement;
7
7
  export declare const ELEMENT_LINK_IMG: HTMLImageElement;
8
- export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: Radians, appState: Pick<UIAppState, "zoom">) => Bounds;
8
+ export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: Radians, appState: Pick<AppState, "zoom">) => Bounds;
9
9
  export declare const isPointHittingLinkIcon: (element: NonDeletedExcalidrawElement, elementsMap: ElementsMap, appState: AppState, [x, y]: GlobalPoint) => boolean;
10
10
  export declare const isPointHittingLink: (element: NonDeletedExcalidrawElement, elementsMap: ElementsMap, appState: AppState, [x, y]: GlobalPoint, isMobile: boolean) => boolean;