@misenkashari/excalidraw-common 1.0.0 → 1.0.3

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 (377) hide show
  1. package/dist/dev/index.js +3729 -0
  2. package/dist/dev/index.js.map +7 -0
  3. package/dist/prod/index.js +4 -0
  4. package/dist/types/common/src/binary-heap.d.ts +12 -0
  5. package/dist/types/common/src/bounds.d.ts +10 -0
  6. package/dist/types/common/src/colors.d.ts +65 -0
  7. package/dist/types/common/src/constants.d.ts +355 -0
  8. package/dist/types/common/src/editorInterface.d.ts +34 -0
  9. package/dist/types/common/src/emitter.d.ts +16 -0
  10. package/dist/types/common/src/font-metadata.d.ts +46 -0
  11. package/dist/types/common/src/index.d.ts +15 -0
  12. package/dist/types/common/src/keys.d.ts +191 -0
  13. package/dist/types/common/src/points.d.ts +9 -0
  14. package/dist/types/common/src/promise-pool.d.ts +6 -0
  15. package/dist/types/common/src/queue.d.ts +9 -0
  16. package/dist/types/common/src/random.d.ts +3 -0
  17. package/dist/types/common/src/url.d.ts +7 -0
  18. package/dist/types/common/src/utility-types.d.ts +37 -0
  19. package/dist/types/common/src/utils.d.ts +283 -0
  20. package/dist/types/common/src/visualdebug.d.ts +41 -0
  21. package/dist/types/element/src/Scene.d.ts +80 -0
  22. package/dist/types/element/src/align.d.ts +8 -0
  23. package/dist/types/element/src/binding.d.ts +124 -0
  24. package/dist/types/element/src/bounds.d.ts +85 -0
  25. package/dist/types/element/src/collision.d.ts +36 -0
  26. package/dist/types/element/src/comparisons.d.ts +8 -0
  27. package/dist/types/element/src/containerCache.d.ts +11 -0
  28. package/dist/types/element/src/cropElement.d.ts +19 -0
  29. package/dist/types/element/src/delta.d.ts +228 -0
  30. package/dist/types/element/src/distance.d.ts +3 -0
  31. package/dist/types/element/src/distribute.d.ts +7 -0
  32. package/dist/types/element/src/dragElements.d.ts +33 -0
  33. package/dist/types/element/src/duplicate.d.ts +63 -0
  34. package/dist/types/element/src/elbowArrow.d.ts +17 -0
  35. package/dist/types/element/src/elementLink.d.ts +13 -0
  36. package/dist/types/element/src/embeddable.d.ts +10 -0
  37. package/dist/types/element/src/flowchart.d.ts +26 -0
  38. package/dist/types/element/src/fractionalIndex.d.ts +57 -0
  39. package/dist/types/element/src/frame.d.ts +74 -0
  40. package/dist/types/element/src/groups.d.ts +34 -0
  41. package/dist/types/element/src/heading.d.ts +16 -0
  42. package/dist/types/element/src/image.d.ts +22 -0
  43. package/dist/types/element/src/index.d.ts +56 -0
  44. package/dist/types/element/src/linearElementEditor.d.ts +113 -0
  45. package/dist/types/element/src/mutateElement.d.ts +23 -0
  46. package/dist/types/element/src/newElement.d.ts +62 -0
  47. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  48. package/dist/types/element/src/renderElement.d.ts +25 -0
  49. package/dist/types/element/src/resizeElements.d.ts +32 -0
  50. package/dist/types/element/src/resizeTest.d.ts +16 -0
  51. package/dist/types/element/src/selection.d.ts +34 -0
  52. package/dist/types/element/src/shape.d.ts +43 -0
  53. package/dist/types/element/src/showSelectedShapeActions.d.ts +3 -0
  54. package/dist/types/element/src/sizeHelpers.d.ts +35 -0
  55. package/dist/types/element/src/sortElements.d.ts +2 -0
  56. package/dist/types/element/src/store.d.ts +237 -0
  57. package/dist/types/element/src/textElement.d.ts +40 -0
  58. package/dist/types/element/src/textMeasurements.d.ts +39 -0
  59. package/dist/types/element/src/textWrapping.d.ts +13 -0
  60. package/dist/types/element/src/transform.d.ts +81 -0
  61. package/dist/types/element/src/transformHandles.d.ts +36 -0
  62. package/dist/types/element/src/typeChecks.d.ts +54 -0
  63. package/dist/types/element/src/types.d.ts +303 -0
  64. package/dist/types/element/src/utils.d.ts +34 -0
  65. package/dist/types/element/src/zindex.d.ts +13 -0
  66. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +482 -0
  67. package/dist/types/excalidraw/actions/actionAlign.d.ts +109 -0
  68. package/dist/types/excalidraw/actions/actionBoundText.d.ts +358 -0
  69. package/dist/types/excalidraw/actions/actionCanvas.d.ts +2047 -0
  70. package/dist/types/excalidraw/actions/actionClipboard.d.ts +397 -0
  71. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +173 -0
  72. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +516 -0
  73. package/dist/types/excalidraw/actions/actionDistribute.d.ts +34 -0
  74. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +17 -0
  75. package/dist/types/excalidraw/actions/actionElementLink.d.ts +193 -0
  76. package/dist/types/excalidraw/actions/actionElementLock.d.ts +344 -0
  77. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +170 -0
  78. package/dist/types/excalidraw/actions/actionExport.d.ts +679 -0
  79. package/dist/types/excalidraw/actions/actionFinalize.d.ts +13 -0
  80. package/dist/types/excalidraw/actions/actionFlip.d.ts +34 -0
  81. package/dist/types/excalidraw/actions/actionFrame.d.ts +1282 -0
  82. package/dist/types/excalidraw/actions/actionGroup.d.ts +348 -0
  83. package/dist/types/excalidraw/actions/actionHistory.d.ts +6 -0
  84. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +794 -0
  85. package/dist/types/excalidraw/actions/actionLink.d.ts +174 -0
  86. package/dist/types/excalidraw/actions/actionMenu.d.ts +162 -0
  87. package/dist/types/excalidraw/actions/actionNavigate.d.ts +20 -0
  88. package/dist/types/excalidraw/actions/actionProperties.d.ts +400 -0
  89. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +169 -0
  90. package/dist/types/excalidraw/actions/actionStyles.d.ts +187 -0
  91. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  92. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +176 -0
  93. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +174 -0
  94. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +165 -0
  95. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  96. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +173 -0
  97. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +174 -0
  98. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +174 -0
  99. package/dist/types/excalidraw/actions/actionZindex.d.ts +74 -0
  100. package/dist/types/excalidraw/actions/index.d.ts +28 -0
  101. package/dist/types/excalidraw/actions/manager.d.ts +21 -0
  102. package/dist/types/excalidraw/actions/register.d.ts +5 -0
  103. package/dist/types/excalidraw/actions/shortcuts.d.ts +4 -0
  104. package/dist/types/excalidraw/actions/types.d.ts +47 -0
  105. package/dist/types/excalidraw/analytics.d.ts +1 -0
  106. package/dist/types/excalidraw/animated-trail.d.ts +39 -0
  107. package/dist/types/excalidraw/animation-frame-handler.d.ts +16 -0
  108. package/dist/types/excalidraw/appState.d.ts +101 -0
  109. package/dist/types/excalidraw/charts.d.ts +27 -0
  110. package/dist/types/excalidraw/clients.d.ts +14 -0
  111. package/dist/types/excalidraw/clipboard.d.ts +105 -0
  112. package/dist/types/excalidraw/components/Actions.d.ts +47 -0
  113. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -0
  114. package/dist/types/excalidraw/components/App.d.ts +562 -0
  115. package/dist/types/excalidraw/components/Avatar.d.ts +11 -0
  116. package/dist/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -0
  117. package/dist/types/excalidraw/components/Button.d.ts +17 -0
  118. package/dist/types/excalidraw/components/ButtonIcon.d.ts +16 -0
  119. package/dist/types/excalidraw/components/ButtonSeparator.d.ts +1 -0
  120. package/dist/types/excalidraw/components/Card.d.ts +6 -0
  121. package/dist/types/excalidraw/components/CheckboxItem.d.ts +8 -0
  122. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +13 -0
  123. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +22 -0
  124. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -0
  125. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -0
  126. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +19 -0
  127. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -0
  128. package/dist/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -0
  129. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +9 -0
  130. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -0
  131. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  132. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  133. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +19 -0
  134. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -0
  135. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +24 -0
  136. package/dist/types/excalidraw/components/ConfirmDialog.d.ts +10 -0
  137. package/dist/types/excalidraw/components/ContextMenu.d.ts +16 -0
  138. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  139. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +7 -0
  140. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +27 -0
  141. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -0
  142. package/dist/types/excalidraw/components/Dialog.d.ts +13 -0
  143. package/dist/types/excalidraw/components/DialogActionButton.d.ts +10 -0
  144. package/dist/types/excalidraw/components/ElementCanvasButtons.d.ts +7 -0
  145. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +12 -0
  146. package/dist/types/excalidraw/components/Ellipsify.d.ts +3 -0
  147. package/dist/types/excalidraw/components/ErrorDialog.d.ts +5 -0
  148. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -0
  149. package/dist/types/excalidraw/components/EyeDropper.d.ts +27 -0
  150. package/dist/types/excalidraw/components/FilledButton.d.ts +18 -0
  151. package/dist/types/excalidraw/components/FixedSideContainer.d.ts +9 -0
  152. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -0
  153. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +22 -0
  154. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -0
  155. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +8 -0
  156. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -0
  157. package/dist/types/excalidraw/components/HandButton.d.ts +10 -0
  158. package/dist/types/excalidraw/components/HelpButton.d.ts +7 -0
  159. package/dist/types/excalidraw/components/HelpDialog.d.ts +4 -0
  160. package/dist/types/excalidraw/components/HintViewer.d.ts +11 -0
  161. package/dist/types/excalidraw/components/IconPicker.d.ts +15 -0
  162. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +14 -0
  163. package/dist/types/excalidraw/components/InitializeApp.d.ts +10 -0
  164. package/dist/types/excalidraw/components/InlineIcon.d.ts +5 -0
  165. package/dist/types/excalidraw/components/Island.d.ts +10 -0
  166. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +15 -0
  167. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +10 -0
  168. package/dist/types/excalidraw/components/LayerUI.d.ts +32 -0
  169. package/dist/types/excalidraw/components/LibraryMenu.d.ts +10 -0
  170. package/dist/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -0
  171. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -0
  172. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -0
  173. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +14 -0
  174. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +23 -0
  175. package/dist/types/excalidraw/components/LibraryUnit.d.ts +14 -0
  176. package/dist/types/excalidraw/components/LoadingMessage.d.ts +5 -0
  177. package/dist/types/excalidraw/components/LockButton.d.ts +10 -0
  178. package/dist/types/excalidraw/components/MagicButton.d.ts +10 -0
  179. package/dist/types/excalidraw/components/MobileMenu.d.ts +23 -0
  180. package/dist/types/excalidraw/components/MobileToolBar.d.ts +10 -0
  181. package/dist/types/excalidraw/components/Modal.d.ts +11 -0
  182. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  183. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  184. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  185. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +8 -0
  186. package/dist/types/excalidraw/components/PenModeButton.d.ts +12 -0
  187. package/dist/types/excalidraw/components/Popover.d.ts +16 -0
  188. package/dist/types/excalidraw/components/ProjectName.d.ts +10 -0
  189. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +16 -0
  190. package/dist/types/excalidraw/components/PublishLibrary.d.ts +16 -0
  191. package/dist/types/excalidraw/components/QuickSearch.d.ts +9 -0
  192. package/dist/types/excalidraw/components/RadioGroup.d.ts +13 -0
  193. package/dist/types/excalidraw/components/RadioSelection.d.ts +20 -0
  194. package/dist/types/excalidraw/components/Range.d.ts +8 -0
  195. package/dist/types/excalidraw/components/SVGLayer.d.ts +7 -0
  196. package/dist/types/excalidraw/components/ScrollableList.d.ts +8 -0
  197. package/dist/types/excalidraw/components/SearchMenu.d.ts +5 -0
  198. package/dist/types/excalidraw/components/Section.d.ts +6 -0
  199. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +70 -0
  200. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -0
  201. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -0
  202. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  203. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  204. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -0
  205. package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -0
  206. package/dist/types/excalidraw/components/Sidebar/common.d.ts +34 -0
  207. package/dist/types/excalidraw/components/Spinner.d.ts +8 -0
  208. package/dist/types/excalidraw/components/Stack.d.ts +15 -0
  209. package/dist/types/excalidraw/components/Stats/Angle.d.ts +11 -0
  210. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -0
  211. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +10 -0
  212. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +11 -0
  213. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +44 -0
  214. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +11 -0
  215. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -0
  216. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -0
  217. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -0
  218. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -0
  219. package/dist/types/excalidraw/components/Stats/Position.d.ts +12 -0
  220. package/dist/types/excalidraw/components/Stats/index.d.ts +35 -0
  221. package/dist/types/excalidraw/components/Stats/utils.d.ts +19 -0
  222. package/dist/types/excalidraw/components/Switch.d.ts +9 -0
  223. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +6 -0
  224. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -0
  225. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -0
  226. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -0
  227. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -0
  228. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -0
  229. package/dist/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -0
  230. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -0
  231. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -0
  232. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -0
  233. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -0
  234. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -0
  235. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +32 -0
  236. package/dist/types/excalidraw/components/TextField.d.ts +22 -0
  237. package/dist/types/excalidraw/components/Toast.d.ts +9 -0
  238. package/dist/types/excalidraw/components/ToolButton.d.ts +49 -0
  239. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  240. package/dist/types/excalidraw/components/Tooltip.d.ts +18 -0
  241. package/dist/types/excalidraw/components/Trans.d.ts +9 -0
  242. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  243. package/dist/types/excalidraw/components/UserList.d.ts +18 -0
  244. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +33 -0
  245. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -0
  246. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -0
  247. package/dist/types/excalidraw/components/canvases/index.d.ts +3 -0
  248. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +84 -0
  249. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +16 -0
  250. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  251. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +38 -0
  252. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -0
  253. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -0
  254. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -0
  255. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -0
  256. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  257. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -0
  258. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +6 -0
  259. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  260. package/dist/types/excalidraw/components/footer/Footer.d.ts +12 -0
  261. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +8 -0
  262. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -0
  263. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -0
  264. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +10 -0
  265. package/dist/types/excalidraw/components/icons.d.ts +239 -0
  266. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +11 -0
  267. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -0
  268. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +78 -0
  269. package/dist/types/excalidraw/components/shapes.d.ts +262 -0
  270. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
  271. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  272. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +84 -0
  273. package/dist/types/excalidraw/context/tunnels.d.ts +21 -0
  274. package/dist/types/excalidraw/context/ui-appState.d.ts +4 -0
  275. package/dist/types/excalidraw/cursor.d.ts +5 -0
  276. package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +8 -0
  277. package/dist/types/excalidraw/data/blob.d.ts +367 -0
  278. package/dist/types/excalidraw/data/encode.d.ts +55 -0
  279. package/dist/types/excalidraw/data/encryption.d.ts +9 -0
  280. package/dist/types/excalidraw/data/filesystem.d.ts +21 -0
  281. package/dist/types/excalidraw/data/image.d.ts +9 -0
  282. package/dist/types/excalidraw/data/index.d.ts +22 -0
  283. package/dist/types/excalidraw/data/json.d.ts +173 -0
  284. package/dist/types/excalidraw/data/library.d.ts +127 -0
  285. package/dist/types/excalidraw/data/reconcile.d.ts +7 -0
  286. package/dist/types/excalidraw/data/resave.d.ts +5 -0
  287. package/dist/types/excalidraw/data/restore.d.ts +41 -0
  288. package/dist/types/excalidraw/data/types.d.ts +48 -0
  289. package/dist/types/excalidraw/deburr.d.ts +1 -0
  290. package/dist/types/excalidraw/editor-jotai.d.ts +56 -0
  291. package/dist/types/excalidraw/eraser/index.d.ts +12 -0
  292. package/dist/types/excalidraw/errors.d.ts +29 -0
  293. package/dist/types/excalidraw/fonts/Cascadia/index.d.ts +2 -0
  294. package/dist/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
  295. package/dist/types/excalidraw/fonts/Emoji/index.d.ts +2 -0
  296. package/dist/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +25 -0
  297. package/dist/types/excalidraw/fonts/Excalifont/index.d.ts +2 -0
  298. package/dist/types/excalidraw/fonts/Fonts.d.ts +79 -0
  299. package/dist/types/excalidraw/fonts/Helvetica/index.d.ts +2 -0
  300. package/dist/types/excalidraw/fonts/Liberation/index.d.ts +2 -0
  301. package/dist/types/excalidraw/fonts/Lilita/index.d.ts +2 -0
  302. package/dist/types/excalidraw/fonts/Nunito/index.d.ts +2 -0
  303. package/dist/types/excalidraw/fonts/Virgil/index.d.ts +2 -0
  304. package/dist/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -0
  305. package/dist/types/excalidraw/fonts/index.d.ts +1 -0
  306. package/dist/types/excalidraw/gesture.d.ts +6 -0
  307. package/dist/types/excalidraw/history.d.ts +48 -0
  308. package/dist/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -0
  309. package/dist/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -0
  310. package/dist/types/excalidraw/hooks/useCreatePortalContainer.d.ts +4 -0
  311. package/dist/types/excalidraw/hooks/useEmitter.d.ts +2 -0
  312. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -0
  313. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +21 -0
  314. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -0
  315. package/dist/types/excalidraw/hooks/useStable.d.ts +1 -0
  316. package/dist/types/excalidraw/hooks/useStableCallback.d.ts +4 -0
  317. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  318. package/dist/types/excalidraw/hooks/useTransition.d.ts +2 -0
  319. package/dist/types/excalidraw/i18n.d.ts +24 -0
  320. package/dist/types/excalidraw/index.d.ts +44 -0
  321. package/dist/types/excalidraw/laser-trails.d.ts +20 -0
  322. package/dist/types/excalidraw/lasso/index.d.ts +16 -0
  323. package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
  324. package/dist/types/excalidraw/mermaid.d.ts +2 -0
  325. package/dist/types/excalidraw/polyfill.d.ts +2 -0
  326. package/dist/types/excalidraw/reactUtils.d.ts +14 -0
  327. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  328. package/dist/types/excalidraw/renderer/helpers.d.ts +16 -0
  329. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +14 -0
  330. package/dist/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -0
  331. package/dist/types/excalidraw/renderer/renderSnaps.d.ts +2 -0
  332. package/dist/types/excalidraw/renderer/roundRect.d.ts +11 -0
  333. package/dist/types/excalidraw/renderer/staticScene.d.ts +14 -0
  334. package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +5 -0
  335. package/dist/types/excalidraw/scene/Renderer.d.ts +30 -0
  336. package/dist/types/excalidraw/scene/export.d.ts +36 -0
  337. package/dist/types/excalidraw/scene/index.d.ts +4 -0
  338. package/dist/types/excalidraw/scene/normalize.d.ts +4 -0
  339. package/dist/types/excalidraw/scene/scroll.d.ts +18 -0
  340. package/dist/types/excalidraw/scene/scrollbars.d.ts +11 -0
  341. package/dist/types/excalidraw/scene/types.d.ts +141 -0
  342. package/dist/types/excalidraw/scene/zoom.d.ts +12 -0
  343. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  344. package/dist/types/excalidraw/snapping.d.ts +111 -0
  345. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -0
  346. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -0
  347. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -0
  348. package/dist/types/excalidraw/subset/subset-main.d.ts +12 -0
  349. package/dist/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -0
  350. package/dist/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -0
  351. package/dist/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -0
  352. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -0
  353. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -0
  354. package/dist/types/excalidraw/types.d.ts +719 -0
  355. package/dist/types/excalidraw/workers.d.ts +36 -0
  356. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +24 -0
  357. package/dist/types/math/src/angle.d.ts +19 -0
  358. package/dist/types/math/src/constants.d.ts +3 -0
  359. package/dist/types/math/src/curve.d.ts +74 -0
  360. package/dist/types/math/src/ellipse.d.ts +44 -0
  361. package/dist/types/math/src/index.d.ts +13 -0
  362. package/dist/types/math/src/line.d.ts +17 -0
  363. package/dist/types/math/src/point.d.ts +122 -0
  364. package/dist/types/math/src/polygon.d.ts +6 -0
  365. package/dist/types/math/src/range.d.ts +42 -0
  366. package/dist/types/math/src/rectangle.d.ts +5 -0
  367. package/dist/types/math/src/segment.d.ts +40 -0
  368. package/dist/types/math/src/triangle.d.ts +11 -0
  369. package/dist/types/math/src/types.d.ts +106 -0
  370. package/dist/types/math/src/utils.d.ts +7 -0
  371. package/dist/types/math/src/vector.d.ts +94 -0
  372. package/dist/types/utils/src/bbox.d.ts +9 -0
  373. package/dist/types/utils/src/export.d.ts +35 -0
  374. package/dist/types/utils/src/index.d.ts +4 -0
  375. package/dist/types/utils/src/shape.d.ts +58 -0
  376. package/dist/types/utils/src/withinBounds.d.ts +19 -0
  377. package/package.json +3 -3
@@ -0,0 +1,24 @@
1
+ import type { NestedKeyOf } from "@excalidraw/common/utility-types";
2
+ import fallbackLangData from "./locales/en.json";
3
+ export interface Language {
4
+ code: string;
5
+ label: string;
6
+ rtl?: boolean;
7
+ }
8
+ export type TranslationKeys = NestedKeyOf<typeof fallbackLangData>;
9
+ export declare const defaultLang: {
10
+ code: string;
11
+ label: string;
12
+ };
13
+ export declare const languages: Language[];
14
+ export declare const setLanguage: (lang: Language) => Promise<void>;
15
+ export declare const getLanguage: () => Language;
16
+ export declare const t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
17
+ [key: string]: string | number;
18
+ } | null, fallback?: string) => string;
19
+ export declare const useI18n: () => {
20
+ t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
21
+ [key: string]: string | number;
22
+ } | null, fallback?: string) => string;
23
+ langCode: string;
24
+ };
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import Footer from "./components/footer/FooterCenter";
3
+ import LiveCollaborationTrigger from "./components/live-collaboration/LiveCollaborationTrigger";
4
+ import MainMenu from "./components/main-menu/MainMenu";
5
+ import WelcomeScreen from "./components/welcome-screen/WelcomeScreen";
6
+ import "./css/app.scss";
7
+ import "./css/styles.scss";
8
+ import "./fonts/fonts.css";
9
+ import type { ExcalidrawProps } from "./types";
10
+ export declare const Excalidraw: React.MemoExoticComponent<(props: ExcalidrawProps) => import("react/jsx-runtime").JSX.Element>;
11
+ export { getSceneVersion, hashElementsVersion, hashString, getNonDeletedElements, } from "@excalidraw/element";
12
+ export { getTextFromElements } from "@excalidraw/element";
13
+ export { isInvisiblySmallElement } from "@excalidraw/element";
14
+ export { defaultLang, useI18n, languages } from "./i18n";
15
+ export { restoreAppState, restoreElement, restoreElements, restoreLibraryItems, } from "./data/restore";
16
+ export { reconcileElements } from "./data/reconcile";
17
+ export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, } from "@excalidraw/utils/export";
18
+ export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
19
+ export { loadFromBlob, loadSceneOrLibraryFromBlob, loadLibraryFromBlob, } from "./data/blob";
20
+ export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
21
+ export { isLinearElement } from "@excalidraw/element";
22
+ export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, getFormFactor, } from "@excalidraw/common";
23
+ export { mutateElement, newElementWith, bumpVersion, } from "@excalidraw/element";
24
+ export { CaptureUpdateAction } from "@excalidraw/element";
25
+ export { parseLibraryTokensFromUrl, useHandleLibrary } from "./data/library";
26
+ export { Sidebar } from "./components/Sidebar/Sidebar";
27
+ export { Button } from "./components/Button";
28
+ export { Footer };
29
+ export { MainMenu };
30
+ export { Ellipsify } from "./components/Ellipsify";
31
+ export { useEditorInterface, useStylesPanelMode } from "./components/App";
32
+ export { WelcomeScreen };
33
+ export { LiveCollaborationTrigger };
34
+ export { Stats } from "./components/Stats";
35
+ export { DefaultSidebar } from "./components/DefaultSidebar";
36
+ export { TTDDialog } from "./components/TTDDialog/TTDDialog";
37
+ export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
38
+ export { zoomToFitBounds } from "./actions/actionCanvas";
39
+ export { getCommonBounds, getVisibleSceneBounds, convertToExcalidrawElements, } from "@excalidraw/element";
40
+ export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
41
+ export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
42
+ export { getDataURL } from "./data/blob";
43
+ export { isElementLink } from "@excalidraw/element";
44
+ export { setCustomTextMetricsProvider } from "@excalidraw/element";
@@ -0,0 +1,20 @@
1
+ import { AnimatedTrail } from "./animated-trail";
2
+ import type { Trail } from "./animated-trail";
3
+ import type { AnimationFrameHandler } from "./animation-frame-handler";
4
+ import type App from "./components/App";
5
+ export declare class LaserTrails implements Trail {
6
+ private animationFrameHandler;
7
+ private app;
8
+ localTrail: AnimatedTrail;
9
+ private collabTrails;
10
+ private container?;
11
+ constructor(animationFrameHandler: AnimationFrameHandler, app: App);
12
+ private getTrailOptions;
13
+ startPath(x: number, y: number): void;
14
+ addPointToPath(x: number, y: number): void;
15
+ endPath(): void;
16
+ start(container: SVGSVGElement): void;
17
+ stop(): void;
18
+ onFrame(): void;
19
+ private updateCollabTrails;
20
+ }
@@ -0,0 +1,16 @@
1
+ import { type AnimationFrameHandler } from "../animation-frame-handler";
2
+ import { AnimatedTrail } from "../animated-trail";
3
+ import type App from "../components/App";
4
+ export declare class LassoTrail extends AnimatedTrail {
5
+ private intersectedElements;
6
+ private enclosedElements;
7
+ private elementsSegments;
8
+ private canvasTranslate;
9
+ private keepPreviousSelection;
10
+ constructor(animationFrameHandler: AnimationFrameHandler, app: App);
11
+ startPath(x: number, y: number, keepPreviousSelection?: boolean): void;
12
+ selectElementsFromIds: (ids: string[]) => void;
13
+ addPointToPath: (x: number, y: number, keepPreviousSelection?: boolean) => void;
14
+ private updateSelection;
15
+ endPath(): void;
16
+ }
@@ -0,0 +1,13 @@
1
+ import type { ElementsSegmentsMap, GlobalPoint } from "@excalidraw/math/types";
2
+ import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
3
+ export declare const getLassoSelectedElementIds: (input: {
4
+ lassoPath: GlobalPoint[];
5
+ elements: readonly ExcalidrawElement[];
6
+ elementsMap: ElementsMap;
7
+ elementsSegments: ElementsSegmentsMap;
8
+ intersectedElements: Set<ExcalidrawElement["id"]>;
9
+ enclosedElements: Set<ExcalidrawElement["id"]>;
10
+ simplifyDistance?: number;
11
+ }) => {
12
+ selectedElementIds: string[];
13
+ };
@@ -0,0 +1,2 @@
1
+ /** heuristically checks whether the text may be a mermaid diagram definition */
2
+ export declare const isMaybeMermaidDefinition: (text: string) => boolean;
@@ -0,0 +1,2 @@
1
+ declare const polyfill: () => void;
2
+ export default polyfill;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @param func handler taking at most single parameter (event).
3
+ */
4
+ export declare const withBatchedUpdates: <TFunction extends ((event: any) => void) | (() => void)>(func: Parameters<TFunction>["length"] extends 0 | 1 ? TFunction : never) => TFunction;
5
+ /**
6
+ * barches React state updates and throttles the calls to a single call per
7
+ * animation frame
8
+ */
9
+ export declare const withBatchedUpdatesThrottled: <TFunction extends ((event: any) => void) | (() => void)>(func: Parameters<TFunction>["length"] extends 0 | 1 ? TFunction : never) => {
10
+ (...args: Parameters<TFunction>): void;
11
+ flush(): void;
12
+ cancel(): void;
13
+ };
14
+ export declare const isRenderThrottlingEnabled: () => boolean;
@@ -0,0 +1,12 @@
1
+ export type Animation<R extends object> = (params: {
2
+ deltaTime: number;
3
+ state?: R;
4
+ }) => R | null | undefined;
5
+ export declare class AnimationController {
6
+ private static isRunning;
7
+ private static animations;
8
+ static start<R extends object>(key: string, animation: Animation<R>): void;
9
+ private static tick;
10
+ static running(key: string): boolean;
11
+ static cancel(key: string): void;
12
+ }
@@ -0,0 +1,16 @@
1
+ import type { StaticCanvasRenderConfig } from "../scene/types";
2
+ import type { AppState, StaticCanvasAppState } from "../types";
3
+ export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke: boolean, fill?: boolean) => void;
4
+ export declare const getNormalizedCanvasDimensions: (canvas: HTMLCanvasElement, scale: number) => [number, number];
5
+ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normalizedHeight, theme, isExporting, viewBackgroundColor, }: {
6
+ canvas: HTMLCanvasElement;
7
+ scale: number;
8
+ normalizedWidth: number;
9
+ normalizedHeight: number;
10
+ theme?: AppState["theme"];
11
+ isExporting?: StaticCanvasRenderConfig["isExporting"];
12
+ viewBackgroundColor?: StaticCanvasAppState["viewBackgroundColor"];
13
+ }) => CanvasRenderingContext2D;
14
+ export declare const strokeRectWithRotation_simple: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean,
15
+ /** should account for zoom */
16
+ radius?: number) => void;
@@ -0,0 +1,14 @@
1
+ import { getScrollBars } from "../scene/scrollbars";
2
+ import type { InteractiveSceneRenderConfig, RenderableElementsMap } from "../scene/types";
3
+ declare const _renderInteractiveScene: ({ app, canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, editorInterface, animationState, deltaTime, }: InteractiveSceneRenderConfig) => {
4
+ scrollBars?: ReturnType<typeof getScrollBars>;
5
+ atLeastOneVisibleElement: boolean;
6
+ elementsMap: RenderableElementsMap;
7
+ animationState?: typeof animationState;
8
+ };
9
+ /**
10
+ * Interactive scene is the ui-canvas where we render bounding boxes, selections
11
+ * and other ui stuff.
12
+ */
13
+ export declare const renderInteractiveScene: <U extends typeof _renderInteractiveScene>(renderConfig: InteractiveSceneRenderConfig) => ReturnType<U>;
14
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { NewElementSceneRenderConfig } from "../scene/types";
2
+ export declare const renderNewElementSceneThrottled: {
3
+ (config: NewElementSceneRenderConfig): void;
4
+ flush(): void;
5
+ cancel(): void;
6
+ };
7
+ export declare const renderNewElementScene: (renderConfig: NewElementSceneRenderConfig, throttle?: boolean) => void;
@@ -0,0 +1,2 @@
1
+ import type { InteractiveCanvasAppState } from "../types";
2
+ export declare const renderSnaps: (context: CanvasRenderingContext2D, appState: InteractiveCanvasAppState) => void;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * https://stackoverflow.com/a/3368118
3
+ * Draws a rounded rectangle using the current state of the canvas.
4
+ * @param {CanvasRenderingContext2D} context
5
+ * @param {Number} x The top left x coordinate
6
+ * @param {Number} y The top left y coordinate
7
+ * @param {Number} width The width of the rectangle
8
+ * @param {Number} height The height of the rectangle
9
+ * @param {Number} radius The corner radius
10
+ */
11
+ export declare const roundRect: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, radius: number, strokeColor?: string) => void;
@@ -0,0 +1,14 @@
1
+ import type { ExcalidrawFrameLikeElement } from "@excalidraw/element/types";
2
+ import type { StaticCanvasRenderConfig, StaticSceneRenderConfig } from "../scene/types";
3
+ import type { StaticCanvasAppState } from "../types";
4
+ export declare const frameClip: (frame: ExcalidrawFrameLikeElement, context: CanvasRenderingContext2D, renderConfig: StaticCanvasRenderConfig, appState: StaticCanvasAppState) => void;
5
+ /** throttled to animation framerate */
6
+ export declare const renderStaticSceneThrottled: {
7
+ (config: StaticSceneRenderConfig): void;
8
+ flush(): void;
9
+ cancel(): void;
10
+ };
11
+ /**
12
+ * Static scene is the non-ui canvas where we render elements.
13
+ */
14
+ export declare const renderStaticScene: (renderConfig: StaticSceneRenderConfig, throttle?: boolean) => void;
@@ -0,0 +1,5 @@
1
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { RenderableElementsMap, SVGRenderConfig } from "../scene/types";
3
+ import type { BinaryFiles } from "../types";
4
+ import type { RoughSVG } from "roughjs/bin/svg";
5
+ export declare const renderSceneToSvg: (elements: readonly NonDeletedExcalidrawElement[], elementsMap: RenderableElementsMap, rsvg: RoughSVG, svgRoot: SVGElement, files: BinaryFiles, renderConfig: SVGRenderConfig) => void;
@@ -0,0 +1,30 @@
1
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { Scene } from "@excalidraw/element";
3
+ import type { RenderableElementsMap } from "./types";
4
+ import type { AppState } from "../types";
5
+ export declare class Renderer {
6
+ private scene;
7
+ constructor(scene: Scene);
8
+ getRenderableElements: ((opts: {
9
+ zoom: Readonly<{
10
+ value: import("../types").NormalizedZoomValue;
11
+ }>;
12
+ offsetLeft: AppState["offsetLeft"];
13
+ offsetTop: AppState["offsetTop"];
14
+ scrollX: AppState["scrollX"];
15
+ scrollY: AppState["scrollY"];
16
+ height: AppState["height"];
17
+ width: AppState["width"];
18
+ editingTextElement: AppState["editingTextElement"];
19
+ /** note: first render of newElement will always bust the cache
20
+ * (we'd have to prefilter elements outside of this function) */
21
+ newElementId: ExcalidrawElement["id"] | undefined;
22
+ sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
23
+ }) => {
24
+ elementsMap: RenderableElementsMap;
25
+ visibleElements: readonly NonDeletedExcalidrawElement[];
26
+ }) & {
27
+ clear: () => void;
28
+ };
29
+ destroy(): void;
30
+ }
@@ -0,0 +1,36 @@
1
+ import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { AppState, BinaryFiles } from "../types";
3
+ export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, exportingFrame, }: {
4
+ exportBackground: boolean;
5
+ exportPadding?: number;
6
+ viewBackgroundColor: string;
7
+ exportingFrame?: ExcalidrawFrameLikeElement | null;
8
+ }, createCanvas?: (width: number, height: number) => {
9
+ canvas: HTMLCanvasElement;
10
+ scale: number;
11
+ }, loadFonts?: () => Promise<void>) => Promise<HTMLCanvasElement>;
12
+ export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElement[], appState: {
13
+ exportBackground: boolean;
14
+ exportPadding?: number;
15
+ exportScale?: number;
16
+ viewBackgroundColor: string;
17
+ exportWithDarkMode?: boolean;
18
+ exportEmbedScene?: boolean;
19
+ frameRendering?: AppState["frameRendering"];
20
+ }, files: BinaryFiles | null, opts?: {
21
+ /**
22
+ * if true, all embeddables passed in will be rendered when possible.
23
+ */
24
+ renderEmbeddables?: boolean;
25
+ exportingFrame?: ExcalidrawFrameLikeElement | null;
26
+ skipInliningFonts?: true;
27
+ reuseImages?: boolean;
28
+ }) => Promise<SVGSVGElement>;
29
+ export declare const encodeSvgBase64Payload: ({ payload, metadataElement, }: {
30
+ payload: string;
31
+ metadataElement: SVGMetadataElement;
32
+ }) => void;
33
+ export declare const decodeSvgBase64Payload: ({ svg }: {
34
+ svg: string;
35
+ }) => string;
36
+ export declare const getExportSize: (elements: readonly NonDeletedExcalidrawElement[], exportPadding: number, scale: number) => [number, number];
@@ -0,0 +1,4 @@
1
+ export { isSomeElementSelected, getElementsWithinSelection, getSelectedElements, getTargetElements, } from "@excalidraw/element";
2
+ export { calculateScrollCenter } from "./scroll";
3
+ export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, } from "@excalidraw/element";
4
+ export { getNormalizedZoom, getNormalizedGridSize, getNormalizedGridStep, } from "./normalize";
@@ -0,0 +1,4 @@
1
+ import type { NormalizedZoomValue } from "../types";
2
+ export declare const getNormalizedZoom: (zoom: number) => NormalizedZoomValue;
3
+ export declare const getNormalizedGridSize: (gridStep: number) => number;
4
+ export declare const getNormalizedGridStep: (gridStep: number) => number;
@@ -0,0 +1,18 @@
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { AppState, Offsets, PointerCoords, Zoom } from "../types";
3
+ export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, offsets, }: {
4
+ scenePoint: PointerCoords;
5
+ viewportDimensions: {
6
+ height: number;
7
+ width: number;
8
+ };
9
+ zoom: Zoom;
10
+ offsets?: Offsets;
11
+ }) => {
12
+ scrollX: number;
13
+ scrollY: number;
14
+ };
15
+ export declare const calculateScrollCenter: (elements: readonly ExcalidrawElement[], appState: AppState) => {
16
+ scrollX: number;
17
+ scrollY: number;
18
+ };
@@ -0,0 +1,11 @@
1
+ import type { InteractiveCanvasAppState } from "../types";
2
+ import type { RenderableElementsMap, ScrollBars } from "./types";
3
+ export declare const SCROLLBAR_MARGIN = 4;
4
+ export declare const SCROLLBAR_WIDTH = 6;
5
+ export declare const SCROLLBAR_COLOR = "rgba(0,0,0,0.3)";
6
+ export declare const getScrollBars: (elements: RenderableElementsMap, viewportWidth: number, viewportHeight: number, appState: InteractiveCanvasAppState) => ScrollBars;
7
+ export declare const isOverScrollBars: (scrollBars: ScrollBars, x: number, y: number) => {
8
+ isOverEither: boolean;
9
+ isOverHorizontal: boolean;
10
+ isOverVertical: boolean;
11
+ };
@@ -0,0 +1,141 @@
1
+ import type { UserIdleState, EditorInterface } from "@excalidraw/common";
2
+ import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
3
+ import type { MakeBrand } from "@excalidraw/common/utility-types";
4
+ import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, PendingExcalidrawElements } from "../types";
5
+ import type { RoughCanvas } from "roughjs/bin/canvas";
6
+ import type { Drawable } from "roughjs/bin/core";
7
+ export type RenderableElementsMap = NonDeletedElementsMap & MakeBrand<"RenderableElementsMap">;
8
+ export type StaticCanvasRenderConfig = {
9
+ canvasBackgroundColor: AppState["viewBackgroundColor"];
10
+ imageCache: AppClassProperties["imageCache"];
11
+ renderGrid: boolean;
12
+ /** when exporting the behavior is slightly different (e.g. we can't use
13
+ CSS filters), and we disable render optimizations for best output */
14
+ isExporting: boolean;
15
+ embedsValidationStatus: EmbedsValidationStatus;
16
+ elementsPendingErasure: ElementsPendingErasure;
17
+ pendingFlowchartNodes: PendingExcalidrawElements | null;
18
+ theme: AppState["theme"];
19
+ };
20
+ export type SVGRenderConfig = {
21
+ offsetX: number;
22
+ offsetY: number;
23
+ isExporting: boolean;
24
+ exportWithDarkMode: boolean;
25
+ renderEmbeddables: boolean;
26
+ frameRendering: AppState["frameRendering"];
27
+ canvasBackgroundColor: AppState["viewBackgroundColor"];
28
+ embedsValidationStatus: EmbedsValidationStatus;
29
+ /**
30
+ * whether to attempt to reuse images as much as possible through symbols
31
+ * (reduces SVG size, but may be incompoatible with some SVG renderers)
32
+ *
33
+ * @default true
34
+ */
35
+ reuseImages: boolean;
36
+ theme: AppState["theme"];
37
+ };
38
+ export type InteractiveCanvasRenderConfig = {
39
+ remoteSelectedElementIds: Map<ExcalidrawElement["id"], SocketId[]>;
40
+ remotePointerViewportCoords: Map<SocketId, {
41
+ x: number;
42
+ y: number;
43
+ }>;
44
+ remotePointerUserStates: Map<SocketId, UserIdleState>;
45
+ remotePointerUsernames: Map<SocketId, string>;
46
+ remotePointerButton: Map<SocketId, string | undefined>;
47
+ selectionColor: string;
48
+ lastViewportPosition: {
49
+ x: number;
50
+ y: number;
51
+ };
52
+ renderScrollbars?: boolean;
53
+ };
54
+ export type RenderInteractiveSceneCallback = {
55
+ atLeastOneVisibleElement: boolean;
56
+ elementsMap: RenderableElementsMap;
57
+ scrollBars?: ScrollBars;
58
+ };
59
+ export type StaticSceneRenderConfig = {
60
+ canvas: HTMLCanvasElement;
61
+ rc: RoughCanvas;
62
+ elementsMap: RenderableElementsMap;
63
+ allElementsMap: NonDeletedSceneElementsMap;
64
+ visibleElements: readonly NonDeletedExcalidrawElement[];
65
+ scale: number;
66
+ appState: StaticCanvasAppState;
67
+ renderConfig: StaticCanvasRenderConfig;
68
+ };
69
+ export type InteractiveSceneRenderAnimationState = {
70
+ bindingHighlight: {
71
+ runtime: number;
72
+ } | undefined;
73
+ };
74
+ export type InteractiveSceneRenderConfig = {
75
+ app: AppClassProperties;
76
+ canvas: HTMLCanvasElement | null;
77
+ elementsMap: RenderableElementsMap;
78
+ visibleElements: readonly NonDeletedExcalidrawElement[];
79
+ selectedElements: readonly NonDeletedExcalidrawElement[];
80
+ allElementsMap: NonDeletedSceneElementsMap;
81
+ scale: number;
82
+ appState: InteractiveCanvasAppState;
83
+ renderConfig: InteractiveCanvasRenderConfig;
84
+ editorInterface: EditorInterface;
85
+ callback: (data: RenderInteractiveSceneCallback) => void;
86
+ animationState?: InteractiveSceneRenderAnimationState;
87
+ deltaTime: number;
88
+ };
89
+ export type NewElementSceneRenderConfig = {
90
+ canvas: HTMLCanvasElement | null;
91
+ rc: RoughCanvas;
92
+ newElement: ExcalidrawElement | null;
93
+ elementsMap: RenderableElementsMap;
94
+ allElementsMap: NonDeletedSceneElementsMap;
95
+ scale: number;
96
+ appState: AppState;
97
+ renderConfig: StaticCanvasRenderConfig;
98
+ };
99
+ export type SceneScroll = {
100
+ scrollX: number;
101
+ scrollY: number;
102
+ };
103
+ export type ExportType = "png" | "clipboard" | "clipboard-svg" | "backend" | "svg";
104
+ export type ScrollBars = {
105
+ horizontal: {
106
+ x: number;
107
+ y: number;
108
+ width: number;
109
+ height: number;
110
+ deltaMultiplier: number;
111
+ } | null;
112
+ vertical: {
113
+ x: number;
114
+ y: number;
115
+ width: number;
116
+ height: number;
117
+ deltaMultiplier: number;
118
+ } | null;
119
+ };
120
+ export type SVGPathString = string & {
121
+ __brand: "SVGPathString";
122
+ };
123
+ export type ElementShape = Drawable | Drawable[] | Path2D | (Drawable | SVGPathString)[] | null;
124
+ export type ElementShapes = {
125
+ rectangle: Drawable;
126
+ ellipse: Drawable;
127
+ diamond: Drawable;
128
+ triangle: Drawable;
129
+ hexagon: Drawable;
130
+ heart: Drawable;
131
+ star: Drawable;
132
+ iframe: Drawable;
133
+ embeddable: Drawable;
134
+ freedraw: (Drawable | SVGPathString)[];
135
+ arrow: Drawable[];
136
+ line: Drawable[];
137
+ text: null;
138
+ image: null;
139
+ frame: null;
140
+ magicframe: null;
141
+ };
@@ -0,0 +1,12 @@
1
+ import type { AppState, NormalizedZoomValue } from "../types";
2
+ export declare const getStateForZoom: ({ viewportX, viewportY, nextZoom, }: {
3
+ viewportX: number;
4
+ viewportY: number;
5
+ nextZoom: NormalizedZoomValue;
6
+ }, appState: AppState) => {
7
+ scrollX: number;
8
+ scrollY: number;
9
+ zoom: {
10
+ value: NormalizedZoomValue;
11
+ };
12
+ };
@@ -0,0 +1 @@
1
+ export declare const getShortcutKey: (shortcut: string) => string;
@@ -0,0 +1,111 @@
1
+ import { type GlobalPoint } from "@excalidraw/math";
2
+ import type { InclusiveRange } from "@excalidraw/math";
3
+ import type { Bounds } from "@excalidraw/common";
4
+ import type { MaybeTransformHandleType } from "@excalidraw/element";
5
+ import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
6
+ import type { AppClassProperties, AppState, KeyboardModifiersObject } from "./types";
7
+ export declare const getSnapDistance: (zoomValue: number) => number;
8
+ type Vector2D = {
9
+ x: number;
10
+ y: number;
11
+ };
12
+ type PointPair = [GlobalPoint, GlobalPoint];
13
+ export type PointSnap = {
14
+ type: "point";
15
+ points: PointPair;
16
+ offset: number;
17
+ };
18
+ export type Gap = {
19
+ startBounds: Bounds;
20
+ endBounds: Bounds;
21
+ startSide: [GlobalPoint, GlobalPoint];
22
+ endSide: [GlobalPoint, GlobalPoint];
23
+ overlap: InclusiveRange;
24
+ length: number;
25
+ };
26
+ export type GapSnap = {
27
+ type: "gap";
28
+ direction: "center_horizontal" | "center_vertical" | "side_left" | "side_right" | "side_top" | "side_bottom";
29
+ gap: Gap;
30
+ offset: number;
31
+ };
32
+ export type GapSnaps = GapSnap[];
33
+ export type Snap = GapSnap | PointSnap;
34
+ export type Snaps = Snap[];
35
+ export type PointSnapLine = {
36
+ type: "points";
37
+ points: GlobalPoint[];
38
+ };
39
+ export type PointerSnapLine = {
40
+ type: "pointer";
41
+ points: PointPair;
42
+ direction: "horizontal" | "vertical";
43
+ };
44
+ export type GapSnapLine = {
45
+ type: "gap";
46
+ direction: "horizontal" | "vertical";
47
+ points: PointPair;
48
+ };
49
+ export type SnapLine = PointSnapLine | GapSnapLine | PointerSnapLine;
50
+ export declare class SnapCache {
51
+ private static referenceSnapPoints;
52
+ private static visibleGaps;
53
+ static setReferenceSnapPoints: (snapPoints: GlobalPoint[] | null) => void;
54
+ static getReferenceSnapPoints: () => GlobalPoint[] | null;
55
+ static setVisibleGaps: (gaps: {
56
+ verticalGaps: Gap[];
57
+ horizontalGaps: Gap[];
58
+ } | null) => void;
59
+ static getVisibleGaps: () => {
60
+ verticalGaps: Gap[];
61
+ horizontalGaps: Gap[];
62
+ } | null;
63
+ static destroy: () => void;
64
+ }
65
+ export declare const isGridModeEnabled: (app: AppClassProperties) => boolean;
66
+ export declare const isSnappingEnabled: ({ event, app, selectedElements, }: {
67
+ app: AppClassProperties;
68
+ event: KeyboardModifiersObject;
69
+ selectedElements: NonDeletedExcalidrawElement[];
70
+ }) => boolean;
71
+ export declare const areRoughlyEqual: (a: number, b: number, precision?: number) => boolean;
72
+ export declare const getElementsCorners: (elements: ExcalidrawElement[], elementsMap: ElementsMap, { omitCenter, boundingBoxCorners, dragOffset, }?: {
73
+ omitCenter?: boolean;
74
+ boundingBoxCorners?: boolean;
75
+ dragOffset?: Vector2D;
76
+ }) => GlobalPoint[];
77
+ export declare const getVisibleGaps: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => {
78
+ horizontalGaps: Gap[];
79
+ verticalGaps: Gap[];
80
+ };
81
+ export declare const getReferenceSnapPoints: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => GlobalPoint[];
82
+ export declare const snapDraggedElements: (elements: ExcalidrawElement[], dragOffset: Vector2D, app: AppClassProperties, event: KeyboardModifiersObject, elementsMap: ElementsMap) => {
83
+ snapOffset: {
84
+ x: number;
85
+ y: number;
86
+ };
87
+ snapLines: (PointSnapLine | GapSnapLine)[];
88
+ };
89
+ export declare const snapResizingElements: (selectedElements: ExcalidrawElement[], selectedOriginalElements: ExcalidrawElement[], app: AppClassProperties, event: KeyboardModifiersObject, dragOffset: Vector2D, transformHandle: MaybeTransformHandleType) => {
90
+ snapOffset: {
91
+ x: number;
92
+ y: number;
93
+ };
94
+ snapLines: PointSnapLine[];
95
+ };
96
+ export declare const snapNewElement: (newElement: ExcalidrawElement, app: AppClassProperties, event: KeyboardModifiersObject, origin: Vector2D, dragOffset: Vector2D, elementsMap: ElementsMap) => {
97
+ snapOffset: {
98
+ x: number;
99
+ y: number;
100
+ };
101
+ snapLines: PointSnapLine[];
102
+ };
103
+ export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElement[], app: AppClassProperties, pointer: Vector2D, event: KeyboardModifiersObject, elementsMap: ElementsMap) => {
104
+ originOffset: {
105
+ x: number;
106
+ y: number;
107
+ };
108
+ snapLines: PointerSnapLine[];
109
+ };
110
+ export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => activeToolType is "text" | "rectangle" | "diamond" | "ellipse" | "triangle" | "hexagon" | "heart" | "star" | "image" | "frame" | "magicframe";
111
+ export {};