@excalidraw/math 0.18.0-d2463f87d

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 (368) hide show
  1. package/README.md +19 -0
  2. package/dist/dev/index.js +907 -0
  3. package/dist/dev/index.js.map +7 -0
  4. package/dist/prod/index.js +1 -0
  5. package/dist/types/common/src/binary-heap.d.ts +12 -0
  6. package/dist/types/common/src/colors.d.ts +62 -0
  7. package/dist/types/common/src/constants.d.ts +343 -0
  8. package/dist/types/common/src/emitter.d.ts +16 -0
  9. package/dist/types/common/src/font-metadata.d.ts +48 -0
  10. package/dist/types/common/src/index.d.ts +12 -0
  11. package/dist/types/common/src/keys.d.ts +189 -0
  12. package/dist/types/common/src/points.d.ts +9 -0
  13. package/dist/types/common/src/promise-pool.d.ts +6 -0
  14. package/dist/types/common/src/queue.d.ts +9 -0
  15. package/dist/types/common/src/random.d.ts +3 -0
  16. package/dist/types/common/src/url.d.ts +7 -0
  17. package/dist/types/common/src/utility-types.d.ts +38 -0
  18. package/dist/types/common/src/utils.d.ts +267 -0
  19. package/dist/types/element/src/Scene.d.ts +76 -0
  20. package/dist/types/element/src/align.d.ts +7 -0
  21. package/dist/types/element/src/binding.d.ts +110 -0
  22. package/dist/types/element/src/bounds.d.ts +89 -0
  23. package/dist/types/element/src/collision.d.ts +32 -0
  24. package/dist/types/element/src/comparisons.d.ts +8 -0
  25. package/dist/types/element/src/containerCache.d.ts +11 -0
  26. package/dist/types/element/src/cropElement.d.ts +19 -0
  27. package/dist/types/element/src/delta.d.ts +216 -0
  28. package/dist/types/element/src/distance.d.ts +3 -0
  29. package/dist/types/element/src/distribute.d.ts +6 -0
  30. package/dist/types/element/src/dragElements.d.ts +33 -0
  31. package/dist/types/element/src/duplicate.d.ts +63 -0
  32. package/dist/types/element/src/elbowArrow.d.ts +17 -0
  33. package/dist/types/element/src/elementLink.d.ts +13 -0
  34. package/dist/types/element/src/embeddable.d.ts +10 -0
  35. package/dist/types/element/src/flowchart.d.ts +26 -0
  36. package/dist/types/element/src/fractionalIndex.d.ts +57 -0
  37. package/dist/types/element/src/frame.d.ts +70 -0
  38. package/dist/types/element/src/groups.d.ts +33 -0
  39. package/dist/types/element/src/heading.d.ts +15 -0
  40. package/dist/types/element/src/image.d.ts +32 -0
  41. package/dist/types/element/src/index.d.ts +57 -0
  42. package/dist/types/element/src/linearElementEditor.d.ts +116 -0
  43. package/dist/types/element/src/mutateElement.d.ts +21 -0
  44. package/dist/types/element/src/newElement.d.ts +62 -0
  45. package/dist/types/element/src/renderElement.d.ts +28 -0
  46. package/dist/types/element/src/resizeElements.d.ts +32 -0
  47. package/dist/types/element/src/resizeTest.d.ts +15 -0
  48. package/dist/types/element/src/selection.d.ts +38 -0
  49. package/dist/types/element/src/shape.d.ts +42 -0
  50. package/dist/types/element/src/showSelectedShapeActions.d.ts +3 -0
  51. package/dist/types/element/src/sizeHelpers.d.ts +35 -0
  52. package/dist/types/element/src/sortElements.d.ts +2 -0
  53. package/dist/types/element/src/store.d.ts +231 -0
  54. package/dist/types/element/src/textElement.d.ts +40 -0
  55. package/dist/types/element/src/textMeasurements.d.ts +41 -0
  56. package/dist/types/element/src/textWrapping.d.ts +13 -0
  57. package/dist/types/element/src/transformHandles.d.ts +55 -0
  58. package/dist/types/element/src/typeChecks.d.ts +57 -0
  59. package/dist/types/element/src/types.d.ts +295 -0
  60. package/dist/types/element/src/utils.d.ts +31 -0
  61. package/dist/types/element/src/zindex.d.ts +7 -0
  62. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +528 -0
  63. package/dist/types/excalidraw/actions/actionAlign.d.ts +110 -0
  64. package/dist/types/excalidraw/actions/actionBoundText.d.ts +389 -0
  65. package/dist/types/excalidraw/actions/actionCanvas.d.ts +2416 -0
  66. package/dist/types/excalidraw/actions/actionClipboard.d.ts +1172 -0
  67. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +189 -0
  68. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +568 -0
  69. package/dist/types/excalidraw/actions/actionDistribute.d.ts +35 -0
  70. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +18 -0
  71. package/dist/types/excalidraw/actions/actionElementLink.d.ts +211 -0
  72. package/dist/types/excalidraw/actions/actionElementLock.d.ts +375 -0
  73. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +186 -0
  74. package/dist/types/excalidraw/actions/actionExport.d.ts +1648 -0
  75. package/dist/types/excalidraw/actions/actionFinalize.d.ts +398 -0
  76. package/dist/types/excalidraw/actions/actionFlip.d.ts +35 -0
  77. package/dist/types/excalidraw/actions/actionFrame.d.ts +1245 -0
  78. package/dist/types/excalidraw/actions/actionGroup.d.ts +387 -0
  79. package/dist/types/excalidraw/actions/actionHistory.d.ts +6 -0
  80. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +683 -0
  81. package/dist/types/excalidraw/actions/actionLink.d.ts +190 -0
  82. package/dist/types/excalidraw/actions/actionMenu.d.ts +548 -0
  83. package/dist/types/excalidraw/actions/actionNavigate.d.ts +363 -0
  84. package/dist/types/excalidraw/actions/actionProperties.d.ts +2774 -0
  85. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +189 -0
  86. package/dist/types/excalidraw/actions/actionStyles.d.ts +203 -0
  87. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  88. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +192 -0
  89. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +190 -0
  90. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +183 -0
  91. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  92. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +189 -0
  93. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +190 -0
  94. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +190 -0
  95. package/dist/types/excalidraw/actions/actionZindex.d.ts +75 -0
  96. package/dist/types/excalidraw/actions/index.d.ts +28 -0
  97. package/dist/types/excalidraw/actions/manager.d.ts +21 -0
  98. package/dist/types/excalidraw/actions/register.d.ts +5 -0
  99. package/dist/types/excalidraw/actions/shortcuts.d.ts +4 -0
  100. package/dist/types/excalidraw/actions/types.d.ts +47 -0
  101. package/dist/types/excalidraw/analytics.d.ts +1 -0
  102. package/dist/types/excalidraw/animated-trail.d.ts +39 -0
  103. package/dist/types/excalidraw/animation-frame-handler.d.ts +16 -0
  104. package/dist/types/excalidraw/appState.d.ts +96 -0
  105. package/dist/types/excalidraw/charts.d.ts +27 -0
  106. package/dist/types/excalidraw/clients.d.ts +14 -0
  107. package/dist/types/excalidraw/clipboard.d.ts +66 -0
  108. package/dist/types/excalidraw/components/Actions.d.ts +34 -0
  109. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -0
  110. package/dist/types/excalidraw/components/App.d.ts +559 -0
  111. package/dist/types/excalidraw/components/Avatar.d.ts +11 -0
  112. package/dist/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -0
  113. package/dist/types/excalidraw/components/Button.d.ts +17 -0
  114. package/dist/types/excalidraw/components/ButtonIcon.d.ts +16 -0
  115. package/dist/types/excalidraw/components/ButtonSeparator.d.ts +1 -0
  116. package/dist/types/excalidraw/components/Card.d.ts +7 -0
  117. package/dist/types/excalidraw/components/CheckboxItem.d.ts +8 -0
  118. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -0
  119. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -0
  120. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -0
  121. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -0
  122. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +17 -0
  123. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -0
  124. package/dist/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -0
  125. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -0
  126. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -0
  127. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  128. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +21 -0
  129. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -0
  130. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -0
  131. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +26 -0
  132. package/dist/types/excalidraw/components/ConfirmDialog.d.ts +10 -0
  133. package/dist/types/excalidraw/components/ContextMenu.d.ts +16 -0
  134. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  135. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +7 -0
  136. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +31 -0
  137. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -0
  138. package/dist/types/excalidraw/components/Dialog.d.ts +13 -0
  139. package/dist/types/excalidraw/components/DialogActionButton.d.ts +10 -0
  140. package/dist/types/excalidraw/components/ElementCanvasButtons.d.ts +7 -0
  141. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +12 -0
  142. package/dist/types/excalidraw/components/ErrorDialog.d.ts +5 -0
  143. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +16 -0
  144. package/dist/types/excalidraw/components/EyeDropper.d.ts +28 -0
  145. package/dist/types/excalidraw/components/FilledButton.d.ts +18 -0
  146. package/dist/types/excalidraw/components/FixedSideContainer.d.ts +9 -0
  147. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -0
  148. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -0
  149. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -0
  150. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -0
  151. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +14 -0
  152. package/dist/types/excalidraw/components/HandButton.d.ts +10 -0
  153. package/dist/types/excalidraw/components/HelpButton.d.ts +7 -0
  154. package/dist/types/excalidraw/components/HelpDialog.d.ts +4 -0
  155. package/dist/types/excalidraw/components/HintViewer.d.ts +10 -0
  156. package/dist/types/excalidraw/components/IconPicker.d.ts +15 -0
  157. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +14 -0
  158. package/dist/types/excalidraw/components/InitializeApp.d.ts +10 -0
  159. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -0
  160. package/dist/types/excalidraw/components/Island.d.ts +10 -0
  161. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +15 -0
  162. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +10 -0
  163. package/dist/types/excalidraw/components/LayerUI.d.ts +31 -0
  164. package/dist/types/excalidraw/components/LibraryMenu.d.ts +10 -0
  165. package/dist/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -0
  166. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -0
  167. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +18 -0
  168. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +14 -0
  169. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +23 -0
  170. package/dist/types/excalidraw/components/LibraryUnit.d.ts +15 -0
  171. package/dist/types/excalidraw/components/LoadingMessage.d.ts +6 -0
  172. package/dist/types/excalidraw/components/LockButton.d.ts +10 -0
  173. package/dist/types/excalidraw/components/MagicButton.d.ts +10 -0
  174. package/dist/types/excalidraw/components/MobileMenu.d.ts +25 -0
  175. package/dist/types/excalidraw/components/Modal.d.ts +12 -0
  176. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  177. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  178. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  179. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +8 -0
  180. package/dist/types/excalidraw/components/PenModeButton.d.ts +12 -0
  181. package/dist/types/excalidraw/components/Popover.d.ts +15 -0
  182. package/dist/types/excalidraw/components/ProjectName.d.ts +10 -0
  183. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +15 -0
  184. package/dist/types/excalidraw/components/PublishLibrary.d.ts +16 -0
  185. package/dist/types/excalidraw/components/QuickSearch.d.ts +9 -0
  186. package/dist/types/excalidraw/components/RadioGroup.d.ts +14 -0
  187. package/dist/types/excalidraw/components/RadioSelection.d.ts +20 -0
  188. package/dist/types/excalidraw/components/Range.d.ts +8 -0
  189. package/dist/types/excalidraw/components/SVGLayer.d.ts +7 -0
  190. package/dist/types/excalidraw/components/ScrollableList.d.ts +9 -0
  191. package/dist/types/excalidraw/components/SearchMenu.d.ts +5 -0
  192. package/dist/types/excalidraw/components/Section.d.ts +6 -0
  193. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -0
  194. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -0
  195. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +9 -0
  196. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +10 -0
  197. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +7 -0
  198. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +7 -0
  199. package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -0
  200. package/dist/types/excalidraw/components/Sidebar/common.d.ts +34 -0
  201. package/dist/types/excalidraw/components/Spinner.d.ts +8 -0
  202. package/dist/types/excalidraw/components/Stack.d.ts +15 -0
  203. package/dist/types/excalidraw/components/Stats/Angle.d.ts +11 -0
  204. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +11 -0
  205. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +11 -0
  206. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +11 -0
  207. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +45 -0
  208. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +11 -0
  209. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -0
  210. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -0
  211. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -0
  212. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -0
  213. package/dist/types/excalidraw/components/Stats/Position.d.ts +12 -0
  214. package/dist/types/excalidraw/components/Stats/index.d.ts +36 -0
  215. package/dist/types/excalidraw/components/Stats/utils.d.ts +19 -0
  216. package/dist/types/excalidraw/components/Switch.d.ts +9 -0
  217. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +6 -0
  218. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +30 -0
  219. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -0
  220. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +8 -0
  221. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -0
  222. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -0
  223. package/dist/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -0
  224. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +8 -0
  225. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +9 -0
  226. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +7 -0
  227. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -0
  228. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -0
  229. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +33 -0
  230. package/dist/types/excalidraw/components/TextField.d.ts +21 -0
  231. package/dist/types/excalidraw/components/Toast.d.ts +9 -0
  232. package/dist/types/excalidraw/components/ToolButton.d.ts +49 -0
  233. package/dist/types/excalidraw/components/Tooltip.d.ts +18 -0
  234. package/dist/types/excalidraw/components/Trans.d.ts +9 -0
  235. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  236. package/dist/types/excalidraw/components/UserList.d.ts +18 -0
  237. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -0
  238. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -0
  239. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -0
  240. package/dist/types/excalidraw/components/canvases/index.d.ts +3 -0
  241. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -0
  242. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  243. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  244. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -0
  245. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -0
  246. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +18 -0
  247. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -0
  248. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -0
  249. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  250. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -0
  251. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +6 -0
  252. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  253. package/dist/types/excalidraw/components/footer/Footer.d.ts +12 -0
  254. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +8 -0
  255. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -0
  256. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -0
  257. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +10 -0
  258. package/dist/types/excalidraw/components/icons.d.ts +225 -0
  259. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -0
  260. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -0
  261. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -0
  262. package/dist/types/excalidraw/components/shapes.d.ts +62 -0
  263. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
  264. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  265. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +85 -0
  266. package/dist/types/excalidraw/context/tunnels.d.ts +21 -0
  267. package/dist/types/excalidraw/context/ui-appState.d.ts +4 -0
  268. package/dist/types/excalidraw/cursor.d.ts +5 -0
  269. package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +8 -0
  270. package/dist/types/excalidraw/data/blob.d.ts +53 -0
  271. package/dist/types/excalidraw/data/encode.d.ts +55 -0
  272. package/dist/types/excalidraw/data/encryption.d.ts +9 -0
  273. package/dist/types/excalidraw/data/filesystem.d.ts +21 -0
  274. package/dist/types/excalidraw/data/image.d.ts +9 -0
  275. package/dist/types/excalidraw/data/index.d.ts +22 -0
  276. package/dist/types/excalidraw/data/json.d.ts +16 -0
  277. package/dist/types/excalidraw/data/library.d.ts +112 -0
  278. package/dist/types/excalidraw/data/reconcile.d.ts +6 -0
  279. package/dist/types/excalidraw/data/resave.d.ts +5 -0
  280. package/dist/types/excalidraw/data/restore.d.ts +21 -0
  281. package/dist/types/excalidraw/data/transform.d.ts +81 -0
  282. package/dist/types/excalidraw/data/types.d.ts +45 -0
  283. package/dist/types/excalidraw/deburr.d.ts +1 -0
  284. package/dist/types/excalidraw/editor-jotai.d.ts +56 -0
  285. package/dist/types/excalidraw/eraser/index.d.ts +12 -0
  286. package/dist/types/excalidraw/errors.d.ts +29 -0
  287. package/dist/types/excalidraw/fonts/Cascadia/index.d.ts +2 -0
  288. package/dist/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
  289. package/dist/types/excalidraw/fonts/Emoji/index.d.ts +2 -0
  290. package/dist/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +25 -0
  291. package/dist/types/excalidraw/fonts/Excalifont/index.d.ts +2 -0
  292. package/dist/types/excalidraw/fonts/Fonts.d.ts +79 -0
  293. package/dist/types/excalidraw/fonts/Helvetica/index.d.ts +2 -0
  294. package/dist/types/excalidraw/fonts/Liberation/index.d.ts +2 -0
  295. package/dist/types/excalidraw/fonts/Lilita/index.d.ts +2 -0
  296. package/dist/types/excalidraw/fonts/Nunito/index.d.ts +2 -0
  297. package/dist/types/excalidraw/fonts/Virgil/index.d.ts +2 -0
  298. package/dist/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -0
  299. package/dist/types/excalidraw/fonts/index.d.ts +1 -0
  300. package/dist/types/excalidraw/gesture.d.ts +6 -0
  301. package/dist/types/excalidraw/history.d.ts +48 -0
  302. package/dist/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -0
  303. package/dist/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -0
  304. package/dist/types/excalidraw/hooks/useCreatePortalContainer.d.ts +4 -0
  305. package/dist/types/excalidraw/hooks/useEmitter.d.ts +2 -0
  306. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -0
  307. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +20 -0
  308. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +2 -0
  309. package/dist/types/excalidraw/hooks/useStable.d.ts +1 -0
  310. package/dist/types/excalidraw/hooks/useStableCallback.d.ts +4 -0
  311. package/dist/types/excalidraw/hooks/useTransition.d.ts +2 -0
  312. package/dist/types/excalidraw/i18n.d.ts +24 -0
  313. package/dist/types/excalidraw/index.d.ts +46 -0
  314. package/dist/types/excalidraw/laser-trails.d.ts +20 -0
  315. package/dist/types/excalidraw/lasso/index.d.ts +16 -0
  316. package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
  317. package/dist/types/excalidraw/mermaid.d.ts +2 -0
  318. package/dist/types/excalidraw/polyfill.d.ts +2 -0
  319. package/dist/types/excalidraw/reactUtils.d.ts +14 -0
  320. package/dist/types/excalidraw/renderer/helpers.d.ts +18 -0
  321. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +20 -0
  322. package/dist/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -0
  323. package/dist/types/excalidraw/renderer/renderSnaps.d.ts +2 -0
  324. package/dist/types/excalidraw/renderer/roundRect.d.ts +11 -0
  325. package/dist/types/excalidraw/renderer/staticScene.d.ts +11 -0
  326. package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +5 -0
  327. package/dist/types/excalidraw/scene/Renderer.d.ts +27 -0
  328. package/dist/types/excalidraw/scene/export.d.ts +36 -0
  329. package/dist/types/excalidraw/scene/index.d.ts +4 -0
  330. package/dist/types/excalidraw/scene/normalize.d.ts +4 -0
  331. package/dist/types/excalidraw/scene/scroll.d.ts +23 -0
  332. package/dist/types/excalidraw/scene/scrollbars.d.ts +11 -0
  333. package/dist/types/excalidraw/scene/types.d.ts +120 -0
  334. package/dist/types/excalidraw/scene/zoom.d.ts +12 -0
  335. package/dist/types/excalidraw/snapping.d.ts +111 -0
  336. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -0
  337. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -0
  338. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -0
  339. package/dist/types/excalidraw/subset/subset-main.d.ts +12 -0
  340. package/dist/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -0
  341. package/dist/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -0
  342. package/dist/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -0
  343. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -0
  344. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -0
  345. package/dist/types/excalidraw/types.d.ts +706 -0
  346. package/dist/types/excalidraw/workers.d.ts +36 -0
  347. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +24 -0
  348. package/dist/types/math/src/angle.d.ts +19 -0
  349. package/dist/types/math/src/constants.d.ts +3 -0
  350. package/dist/types/math/src/curve.d.ts +74 -0
  351. package/dist/types/math/src/ellipse.d.ts +44 -0
  352. package/dist/types/math/src/index.d.ts +13 -0
  353. package/dist/types/math/src/line.d.ts +17 -0
  354. package/dist/types/math/src/point.d.ts +122 -0
  355. package/dist/types/math/src/polygon.d.ts +6 -0
  356. package/dist/types/math/src/range.d.ts +44 -0
  357. package/dist/types/math/src/rectangle.d.ts +5 -0
  358. package/dist/types/math/src/segment.d.ts +39 -0
  359. package/dist/types/math/src/triangle.d.ts +11 -0
  360. package/dist/types/math/src/types.d.ts +106 -0
  361. package/dist/types/math/src/utils.d.ts +7 -0
  362. package/dist/types/math/src/vector.d.ts +94 -0
  363. package/dist/types/utils/src/bbox.d.ts +9 -0
  364. package/dist/types/utils/src/export.d.ts +35 -0
  365. package/dist/types/utils/src/index.d.ts +4 -0
  366. package/dist/types/utils/src/shape.d.ts +58 -0
  367. package/dist/types/utils/src/withinBounds.d.ts +19 -0
  368. package/package.json +66 -0
@@ -0,0 +1,6 @@
1
+ import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { MakeBrand } from "@excalidraw/common/utility-types";
3
+ import type { AppState } from "../types";
4
+ export type ReconciledExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"ReconciledElement">;
5
+ export type RemoteExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"RemoteExcalidrawElement">;
6
+ export declare const reconcileElements: (localElements: readonly OrderedExcalidrawElement[], remoteElements: readonly RemoteExcalidrawElement[], localAppState: AppState) => ReconciledExcalidrawElement[];
@@ -0,0 +1,5 @@
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { AppState, BinaryFiles } from "../types";
3
+ export declare const resaveAsImageWithScene: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name: string) => Promise<{
4
+ fileHandle: import("browser-fs-access").FileSystemHandle;
5
+ }>;
@@ -0,0 +1,21 @@
1
+ import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
+ import type { ImportedDataState } from "./types";
4
+ type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
5
+ export declare const AllowedExcalidrawActiveTools: Record<AppState["activeTool"]["type"], boolean>;
6
+ export type RestoredDataState = {
7
+ elements: OrderedExcalidrawElement[];
8
+ appState: RestoredAppState;
9
+ files: BinaryFiles;
10
+ };
11
+ export declare const restoreElements: (elements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
12
+ refreshDimensions?: boolean;
13
+ repairBindings?: boolean;
14
+ } | undefined) => OrderedExcalidrawElement[];
15
+ export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
16
+ export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
17
+ refreshDimensions?: boolean;
18
+ repairBindings?: boolean;
19
+ }) => RestoredDataState;
20
+ export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
21
+ export {};
@@ -0,0 +1,81 @@
1
+ import type { ElementConstructorOpts } from "@excalidraw/element";
2
+ import type { ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFrameElement, ExcalidrawFreeDrawElement, ExcalidrawGenericElement, ExcalidrawIframeLikeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawMagicFrameElement, ExcalidrawSelectionElement, ExcalidrawTextElement, FileId, FontFamilyValues, TextAlign, VerticalAlign } from "@excalidraw/element/types";
3
+ import type { MarkOptional } from "@excalidraw/common/utility-types";
4
+ export type ValidLinearElement = {
5
+ type: "arrow" | "line";
6
+ x: number;
7
+ y: number;
8
+ label?: {
9
+ text: string;
10
+ fontSize?: number;
11
+ fontFamily?: FontFamilyValues;
12
+ textAlign?: TextAlign;
13
+ verticalAlign?: VerticalAlign;
14
+ } & MarkOptional<ElementConstructorOpts, "x" | "y">;
15
+ end?: (({
16
+ type: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
17
+ id?: ExcalidrawGenericElement["id"];
18
+ } | {
19
+ id: ExcalidrawGenericElement["id"];
20
+ type?: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
21
+ }) | (({
22
+ type: "text";
23
+ text: string;
24
+ } | {
25
+ type?: "text";
26
+ id: ExcalidrawTextElement["id"];
27
+ text: string;
28
+ }) & Partial<ExcalidrawTextElement>)) & MarkOptional<ElementConstructorOpts, "x" | "y">;
29
+ start?: (({
30
+ type: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
31
+ id?: ExcalidrawGenericElement["id"];
32
+ } | {
33
+ id: ExcalidrawGenericElement["id"];
34
+ type?: Exclude<ExcalidrawBindableElement["type"], "image" | "text" | "frame" | "magicframe" | "embeddable" | "iframe">;
35
+ }) | (({
36
+ type: "text";
37
+ text: string;
38
+ } | {
39
+ type?: "text";
40
+ id: ExcalidrawTextElement["id"];
41
+ text: string;
42
+ }) & Partial<ExcalidrawTextElement>)) & MarkOptional<ElementConstructorOpts, "x" | "y">;
43
+ } & Partial<ExcalidrawLinearElement>;
44
+ export type ValidContainer = {
45
+ type: Exclude<ExcalidrawGenericElement["type"], "selection">;
46
+ id?: ExcalidrawGenericElement["id"];
47
+ label?: {
48
+ text: string;
49
+ fontSize?: number;
50
+ fontFamily?: FontFamilyValues;
51
+ textAlign?: TextAlign;
52
+ verticalAlign?: VerticalAlign;
53
+ } & MarkOptional<ElementConstructorOpts, "x" | "y">;
54
+ } & ElementConstructorOpts;
55
+ export type ExcalidrawElementSkeleton = Extract<Exclude<ExcalidrawElement, ExcalidrawSelectionElement>, ExcalidrawIframeLikeElement | ExcalidrawFreeDrawElement> | ({
56
+ type: Extract<ExcalidrawLinearElement["type"], "line">;
57
+ x: number;
58
+ y: number;
59
+ } & Partial<ExcalidrawLinearElement>) | ValidContainer | ValidLinearElement | ({
60
+ type: "text";
61
+ text: string;
62
+ x: number;
63
+ y: number;
64
+ id?: ExcalidrawTextElement["id"];
65
+ } & Partial<ExcalidrawTextElement>) | ({
66
+ type: Extract<ExcalidrawImageElement["type"], "image">;
67
+ x: number;
68
+ y: number;
69
+ fileId: FileId;
70
+ } & Partial<ExcalidrawImageElement>) | ({
71
+ type: "frame";
72
+ children: readonly ExcalidrawElement["id"][];
73
+ name?: string;
74
+ } & Partial<ExcalidrawFrameElement>) | ({
75
+ type: "magicframe";
76
+ children: readonly ExcalidrawElement["id"][];
77
+ name?: string;
78
+ } & Partial<ExcalidrawMagicFrameElement>);
79
+ export declare const convertToExcalidrawElements: (elementsSkeleton: ExcalidrawElementSkeleton[] | null, opts?: {
80
+ regenerateIds: boolean;
81
+ }) => import("@excalidraw/element/types").OrderedExcalidrawElement[];
@@ -0,0 +1,45 @@
1
+ import type { VERSIONS } from "@excalidraw/common";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
+ import type { cleanAppStateForExport } from "../appState";
4
+ import type { AppState, BinaryFiles, LibraryItems, LibraryItems_anyVersion } from "../types";
5
+ export interface ExportedDataState {
6
+ type: string;
7
+ version: number;
8
+ source: string;
9
+ elements: readonly ExcalidrawElement[];
10
+ appState: ReturnType<typeof cleanAppStateForExport>;
11
+ files: BinaryFiles | undefined;
12
+ }
13
+ /**
14
+ * Map of legacy AppState keys, with values of:
15
+ * [<legacy type>, <new AppState proeprty>]
16
+ *
17
+ * This is a helper type used in downstream abstractions.
18
+ * Don't consume on its own.
19
+ */
20
+ export type LegacyAppState = {
21
+ /** @deprecated #6213 TODO remove 23-06-01 */
22
+ isSidebarDocked: [boolean, "defaultSidebarDockedPreference"];
23
+ };
24
+ export interface ImportedDataState {
25
+ type?: string;
26
+ version?: number;
27
+ source?: string;
28
+ elements?: readonly ExcalidrawElement[] | null;
29
+ appState?: Readonly<Partial<AppState & {
30
+ [T in keyof LegacyAppState]: LegacyAppState[T][0];
31
+ }>> | null;
32
+ scrollToContent?: boolean;
33
+ libraryItems?: LibraryItems_anyVersion;
34
+ files?: BinaryFiles;
35
+ }
36
+ export interface ExportedLibraryData {
37
+ type: string;
38
+ version: typeof VERSIONS.excalidrawLibrary;
39
+ source: string;
40
+ libraryItems: LibraryItems;
41
+ }
42
+ export interface ImportedLibraryData extends Partial<ExportedLibraryData> {
43
+ /** @deprecated v1 */
44
+ library?: LibraryItems;
45
+ }
@@ -0,0 +1 @@
1
+ export declare const deburr: (str: string) => string;
@@ -0,0 +1,56 @@
1
+ import { atom, createStore, type PrimitiveAtom, type WritableAtom } from "jotai";
2
+ import { createIsolation } from "jotai-scope";
3
+ export { atom, PrimitiveAtom, WritableAtom };
4
+ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof import("jotai").useSetAtom, useAtomValue: typeof import("jotai").useAtomValue, useStore: (options?: {
5
+ store?: {
6
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
7
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
8
+ sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
9
+ } | ({
10
+ get: <Value_2>(atom: import("jotai").Atom<Value_2>) => Value_2;
11
+ set: <Value_1_1, Args_1 extends unknown[], Result_1>(atom: WritableAtom<Value_1_1, Args_1, Result_1>, ...args: Args_1) => Result_1;
12
+ sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
13
+ } & {
14
+ dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
15
+ readonly d: Map<import("jotai").Atom<unknown>, number>;
16
+ readonly p: Set<import("jotai").Atom<unknown>>;
17
+ n: number;
18
+ m?: {
19
+ readonly l: Set<() => void>;
20
+ readonly d: Set<import("jotai").Atom<unknown>>;
21
+ readonly t: Set<import("jotai").Atom<unknown>>;
22
+ u?: (() => void) | undefined;
23
+ } | undefined;
24
+ v?: unknown;
25
+ e?: unknown;
26
+ }>;
27
+ dev4_get_mounted_atoms: () => Set<import("jotai").Atom<unknown>>;
28
+ dev4_restore_atoms: (values: Iterable<readonly [import("jotai").Atom<unknown>, unknown]>) => void;
29
+ }) | undefined;
30
+ } | undefined) => {
31
+ get: <Value_3>(atom: import("jotai").Atom<Value_3>) => Value_3;
32
+ set: <Value_1_2, Args_2 extends unknown[], Result_2>(atom: WritableAtom<Value_1_2, Args_2, Result_2>, ...args: Args_2) => Result_2;
33
+ sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
34
+ } | ({
35
+ get: <Value_4>(atom: import("jotai").Atom<Value_4>) => Value_4;
36
+ set: <Value_1_3, Args_3 extends unknown[], Result_3>(atom: WritableAtom<Value_1_3, Args_3, Result_3>, ...args: Args_3) => Result_3;
37
+ sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
38
+ } & {
39
+ dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
40
+ readonly d: Map<import("jotai").Atom<unknown>, number>;
41
+ readonly p: Set<import("jotai").Atom<unknown>>;
42
+ n: number;
43
+ m?: {
44
+ readonly l: Set<() => void>;
45
+ readonly d: Set<import("jotai").Atom<unknown>>;
46
+ readonly t: Set<import("jotai").Atom<unknown>>;
47
+ u?: (() => void) | undefined;
48
+ } | undefined;
49
+ v?: unknown;
50
+ e?: unknown;
51
+ }>;
52
+ dev4_get_mounted_atoms: () => Set<import("jotai").Atom<unknown>>;
53
+ dev4_restore_atoms: (values: Iterable<readonly [import("jotai").Atom<unknown>, unknown]>) => void;
54
+ });
55
+ export declare const EditorJotaiProvider: ReturnType<typeof createIsolation>["Provider"];
56
+ export declare const editorJotaiStore: ReturnType<typeof createStore>;
@@ -0,0 +1,12 @@
1
+ import { AnimatedTrail } from "../animated-trail";
2
+ import type { AnimationFrameHandler } from "../animation-frame-handler";
3
+ import type App from "../components/App";
4
+ export declare class EraserTrail extends AnimatedTrail {
5
+ private elementsToErase;
6
+ private groupsToErase;
7
+ constructor(animationFrameHandler: AnimationFrameHandler, app: App);
8
+ startPath(x: number, y: number): void;
9
+ addPointToPath(x: number, y: number, restore?: boolean): string[];
10
+ private updateElementsToBeErased;
11
+ endPath(): void;
12
+ }
@@ -0,0 +1,29 @@
1
+ type CANVAS_ERROR_NAMES = "CANVAS_ERROR" | "CANVAS_POSSIBLY_TOO_BIG";
2
+ export declare class CanvasError extends Error {
3
+ constructor(message?: string, name?: CANVAS_ERROR_NAMES);
4
+ }
5
+ export declare class AbortError extends DOMException {
6
+ constructor(message?: string);
7
+ }
8
+ type ImageSceneDataErrorCode = "IMAGE_NOT_CONTAINS_SCENE_DATA" | "IMAGE_SCENE_DATA_ERROR";
9
+ export declare class ImageSceneDataError extends Error {
10
+ code: ImageSceneDataErrorCode;
11
+ constructor(message?: string, code?: ImageSceneDataErrorCode);
12
+ }
13
+ type WorkerErrorCodes = "WORKER_URL_NOT_DEFINED" | "WORKER_IN_THE_MAIN_CHUNK";
14
+ export declare class WorkerUrlNotDefinedError extends Error {
15
+ code: WorkerErrorCodes;
16
+ constructor(message?: string, code?: WorkerErrorCodes);
17
+ }
18
+ export declare class WorkerInTheMainChunkError extends Error {
19
+ code: WorkerErrorCodes;
20
+ constructor(message?: string, code?: WorkerErrorCodes);
21
+ }
22
+ /**
23
+ * Use this for generic, handled errors, so you can check against them
24
+ * and rethrow if needed
25
+ */
26
+ export declare class ExcalidrawError extends Error {
27
+ constructor(message: string);
28
+ }
29
+ export {};
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const CascadiaFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const ComicShannsFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const EmojiFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,25 @@
1
+ type DataURL = string;
2
+ export declare class ExcalidrawFontFace {
3
+ readonly urls: URL[] | DataURL[];
4
+ readonly fontFace: FontFace;
5
+ private static readonly ASSETS_FALLBACK_URL;
6
+ constructor(family: string, uri: string, descriptors?: FontFaceDescriptors);
7
+ /**
8
+ * Generates CSS `@font-face` definition with the (subsetted) font source as a data url for the characters within the unicode range.
9
+ *
10
+ * Retrieves `undefined` otherwise.
11
+ */
12
+ toCSS(characters: string): Promise<string> | undefined;
13
+ /**
14
+ * Tries to fetch woff2 content, based on the registered urls (from first to last, treated as fallbacks).
15
+ *
16
+ * @returns base64 with subsetted glyphs based on the passed codepoint, last defined url otherwise
17
+ */
18
+ getContent(codePoints: Array<number>): Promise<string>;
19
+ fetchFont(url: URL | DataURL): Promise<ArrayBuffer>;
20
+ private getUnicodeRangeRegex;
21
+ private static createUrls;
22
+ private static getFormat;
23
+ private static normalizeBaseUrl;
24
+ }
25
+ export {};
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const ExcalifontFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,79 @@
1
+ import { type FontMetadata } from "@excalidraw/common";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
+ import type { Scene } from "@excalidraw/element";
4
+ import { ExcalidrawFontFace } from "./ExcalidrawFontFace";
5
+ export declare class Fonts {
6
+ static readonly loadedFontsCache: Set<string>;
7
+ private static _registered;
8
+ private static _initialized;
9
+ static get registered(): Map<number, {
10
+ metadata: FontMetadata;
11
+ fontFaces: ExcalidrawFontFace[];
12
+ }>;
13
+ get registered(): Map<number, {
14
+ metadata: FontMetadata;
15
+ fontFaces: ExcalidrawFontFace[];
16
+ }>;
17
+ private readonly scene;
18
+ constructor(scene: Scene);
19
+ /**
20
+ * Get all the font families for the given scene.
21
+ */
22
+ getSceneFamilies: () => number[];
23
+ /**
24
+ * if we load a (new) font, it's likely that text elements using it have
25
+ * already been rendered using a fallback font. Thus, we want invalidate
26
+ * their shapes and rerender. See #637.
27
+ *
28
+ * Invalidates text elements and rerenders scene, provided that at least one
29
+ * of the supplied fontFaces has not already been processed.
30
+ */
31
+ onLoaded: (fontFaces: readonly FontFace[]) => void;
32
+ /**
33
+ * Load font faces for a given scene and trigger scene update.
34
+ */
35
+ loadSceneFonts: () => Promise<FontFace[]>;
36
+ /**
37
+ * Load font faces for passed elements - use when the scene is unavailable (i.e. export).
38
+ */
39
+ static loadElementsFonts: (elements: readonly ExcalidrawElement[]) => Promise<FontFace[]>;
40
+ /**
41
+ * Generate CSS @font-face declarations for the given elements.
42
+ */
43
+ static generateFontFaceDeclarations(elements: readonly ExcalidrawElement[]): Promise<string[]>;
44
+ private static loadFontFaces;
45
+ private static fontFacesLoader;
46
+ private static fontFacesStylesGenerator;
47
+ /**
48
+ * Register a new font.
49
+ *
50
+ * @param family font family
51
+ * @param metadata font metadata
52
+ * @param fontFacesDecriptors font faces descriptors
53
+ */
54
+ private static register;
55
+ /**
56
+ * WARN: should be called just once on init, even across multiple instances.
57
+ */
58
+ private static init;
59
+ /**
60
+ * Get all the unique font families for the given elements.
61
+ */
62
+ private static getUniqueFamilies;
63
+ /**
64
+ * Get all the unique characters per font family for the given scene.
65
+ */
66
+ private static getCharsPerFamily;
67
+ /**
68
+ * Get characters for a given family.
69
+ */
70
+ private static getCharacters;
71
+ /**
72
+ * Get all registered font families.
73
+ */
74
+ private static getAllFamilies;
75
+ }
76
+ export interface ExcalidrawFontFaceDescriptor {
77
+ uri: string;
78
+ descriptors?: FontFaceDescriptors;
79
+ }
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const HelveticaFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const LiberationFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const LilitaFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const NunitoFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,2 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const VirgilFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,8 @@
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ /**
3
+ * The original font was modified with the following changes:
4
+ * - removed non-CJK codepoints
5
+ * - reduced any Hangul side-bearings to 40%
6
+ * - centered in width of inproperly centered CJK codepoints
7
+ */
8
+ export declare const XiaolaiFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1 @@
1
+ export * from "./Fonts";
@@ -0,0 +1,6 @@
1
+ import type { PointerCoords } from "./types";
2
+ export declare const getCenter: (pointers: Map<number, PointerCoords>) => {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ export declare const getDistance: ([a, b]: readonly PointerCoords[]) => number;
@@ -0,0 +1,48 @@
1
+ import { Emitter } from "@excalidraw/common";
2
+ import { StoreDelta } from "@excalidraw/element";
3
+ import type { StoreSnapshot, Store } from "@excalidraw/element";
4
+ import type { SceneElementsMap } from "@excalidraw/element/types";
5
+ import type { AppState } from "./types";
6
+ export declare class HistoryDelta extends StoreDelta {
7
+ /**
8
+ * Apply the delta to the passed elements and appState, does not modify the snapshot.
9
+ */
10
+ applyTo(elements: SceneElementsMap, appState: AppState, snapshot: StoreSnapshot): [SceneElementsMap, AppState, boolean];
11
+ /**
12
+ * Overriding once to avoid type casting everywhere.
13
+ */
14
+ static calculate(prevSnapshot: StoreSnapshot, nextSnapshot: StoreSnapshot): HistoryDelta;
15
+ /**
16
+ * Overriding once to avoid type casting everywhere.
17
+ */
18
+ static inverse(delta: StoreDelta): HistoryDelta;
19
+ /**
20
+ * Overriding once to avoid type casting everywhere.
21
+ */
22
+ static applyLatestChanges(delta: StoreDelta, prevElements: SceneElementsMap, nextElements: SceneElementsMap, modifierOptions?: "deleted" | "inserted"): HistoryDelta;
23
+ }
24
+ export declare class HistoryChangedEvent {
25
+ readonly isUndoStackEmpty: boolean;
26
+ readonly isRedoStackEmpty: boolean;
27
+ constructor(isUndoStackEmpty?: boolean, isRedoStackEmpty?: boolean);
28
+ }
29
+ export declare class History {
30
+ private readonly store;
31
+ readonly onHistoryChangedEmitter: Emitter<[HistoryChangedEvent]>;
32
+ readonly undoStack: HistoryDelta[];
33
+ readonly redoStack: HistoryDelta[];
34
+ get isUndoStackEmpty(): boolean;
35
+ get isRedoStackEmpty(): boolean;
36
+ constructor(store: Store);
37
+ clear(): void;
38
+ /**
39
+ * Record a non-empty local durable increment, which will go into the undo stack..
40
+ * Do not re-record history entries, which were already pushed to undo / redo stack, as part of history action.
41
+ */
42
+ record(delta: StoreDelta): void;
43
+ undo(elements: SceneElementsMap, appState: AppState): void | [SceneElementsMap, AppState];
44
+ redo(elements: SceneElementsMap, appState: AppState): void | [SceneElementsMap, AppState];
45
+ private perform;
46
+ private static pop;
47
+ private static push;
48
+ }
@@ -0,0 +1 @@
1
+ export declare const useCallbackRefState: <T>() => readonly [T | null, (value: T | null) => void];
@@ -0,0 +1,5 @@
1
+ export declare const useCopyStatus: () => {
2
+ copyStatus: "success" | null;
3
+ resetCopyStatus: () => void;
4
+ onCopy: () => void;
5
+ };
@@ -0,0 +1,4 @@
1
+ export declare const useCreatePortalContainer: (opts?: {
2
+ className?: string;
3
+ parentSelector?: string;
4
+ }) => HTMLDivElement | null;
@@ -0,0 +1,2 @@
1
+ import type { Emitter } from "@excalidraw/common";
2
+ export declare const useEmitter: <TEvent extends unknown>(emitter: Emitter<[TEvent]>, initialState: TEvent) => TEvent;
@@ -0,0 +1,11 @@
1
+ import type { LibraryItem } from "../types";
2
+ export type SvgCache = Map<LibraryItem["id"], SVGSVGElement>;
3
+ export declare const libraryItemSvgsCache: import("jotai/vanilla/atom").PrimitiveAtom<SvgCache> & {
4
+ init: SvgCache;
5
+ };
6
+ export declare const useLibraryItemSvg: (id: LibraryItem["id"] | null, elements: LibraryItem["elements"] | undefined, svgCache: SvgCache) => SVGSVGElement | undefined;
7
+ export declare const useLibraryCache: () => {
8
+ clearLibraryCache: () => void;
9
+ deleteItemsFromLibraryCache: (items: LibraryItem["id"][]) => void;
10
+ svgCache: SvgCache;
11
+ };
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ export declare function useOutsideClick<T extends HTMLElement>(ref: React.RefObject<T | null>,
3
+ /** if performance is of concern, memoize the callback */
4
+ callback: (event: Event) => void,
5
+ /**
6
+ * Optional callback which is called on every click.
7
+ *
8
+ * Should return `true` if click should be considered as inside the container,
9
+ * and `false` if it falls outside and should call the `callback`.
10
+ *
11
+ * Returning `true` overrides the default behavior and `callback` won't be
12
+ * called.
13
+ *
14
+ * Returning `undefined` will fallback to the default behavior.
15
+ */
16
+ isInside?: (event: Event & {
17
+ target: HTMLElement;
18
+ },
19
+ /** the element of the passed ref */
20
+ container: T) => boolean | undefined): void;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const useScrollPosition: <T extends HTMLElement>(elementRef: import("react").RefObject<T | null>) => number;
@@ -0,0 +1 @@
1
+ export declare const useStable: <T extends Record<string, any>>(value: T) => T;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns a stable function of the same type.
3
+ */
4
+ export declare const useStableCallback: <T extends (...args: any[]) => any>(userFn: T) => T;
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const useTransition: typeof React.useTransition;
@@ -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 | undefined, fallback?: string) => string;
19
+ export declare const useI18n: () => {
20
+ t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
21
+ [key: string]: string | number;
22
+ } | null | undefined, fallback?: string) => string;
23
+ langCode: string;
24
+ };
@@ -0,0 +1,46 @@
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 { restore, restoreAppState, 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 { getFreeDrawSvgPath } from "@excalidraw/element";
21
+ export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
22
+ export { isLinearElement } from "@excalidraw/element";
23
+ export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, } from "@excalidraw/common";
24
+ export { mutateElement, newElementWith, bumpVersion, } from "@excalidraw/element";
25
+ export { CaptureUpdateAction } from "@excalidraw/element";
26
+ export { parseLibraryTokensFromUrl, useHandleLibrary } from "./data/library";
27
+ export { sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, } from "@excalidraw/common";
28
+ export { Sidebar } from "./components/Sidebar/Sidebar";
29
+ export { Button } from "./components/Button";
30
+ export { Footer };
31
+ export { MainMenu };
32
+ export { useDevice } from "./components/App";
33
+ export { WelcomeScreen };
34
+ export { LiveCollaborationTrigger };
35
+ export { Stats } from "./components/Stats";
36
+ export { DefaultSidebar } from "./components/DefaultSidebar";
37
+ export { TTDDialog } from "./components/TTDDialog/TTDDialog";
38
+ export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
39
+ export { zoomToFitBounds } from "./actions/actionCanvas";
40
+ export { convertToExcalidrawElements } from "./data/transform";
41
+ export { getCommonBounds, getVisibleSceneBounds } from "@excalidraw/element";
42
+ export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
43
+ export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
44
+ export { getDataURL } from "./data/blob";
45
+ export { isElementLink } from "@excalidraw/element";
46
+ export { setCustomTextMetricsProvider } from "@excalidraw/element";