@zsviczian/excalidraw 0.18.0-18 → 0.18.0-19

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 (387) hide show
  1. package/dist/excalidraw.development.js +98 -98
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +5 -2
  4. package/types/common/src/binary-heap.d.ts +12 -12
  5. package/types/common/src/colors.d.ts +62 -62
  6. package/types/common/src/constants.d.ts +344 -344
  7. package/types/common/src/emitter.d.ts +16 -16
  8. package/types/common/src/font-metadata.d.ts +48 -48
  9. package/types/common/src/index.d.ts +12 -12
  10. package/types/common/src/keys.d.ts +189 -189
  11. package/types/common/src/points.d.ts +9 -9
  12. package/types/common/src/promise-pool.d.ts +6 -6
  13. package/types/common/src/queue.d.ts +9 -9
  14. package/types/common/src/random.d.ts +4 -4
  15. package/types/common/src/url.d.ts +7 -7
  16. package/types/common/src/utility-types.d.ts +37 -37
  17. package/types/common/src/utils.d.ts +269 -269
  18. package/types/element/src/Scene.d.ts +76 -76
  19. package/types/element/src/Shape.d.ts +17 -17
  20. package/types/element/src/ShapeCache.d.ts +25 -25
  21. package/types/element/src/align.d.ts +7 -7
  22. package/types/element/src/binding.d.ts +108 -108
  23. package/types/element/src/bounds.d.ts +81 -81
  24. package/types/element/src/collision.d.ts +26 -26
  25. package/types/element/src/comparisons.d.ts +8 -8
  26. package/types/element/src/containerCache.d.ts +11 -11
  27. package/types/element/src/cropElement.d.ts +19 -19
  28. package/types/element/src/delta.d.ts +196 -196
  29. package/types/element/src/distance.d.ts +3 -3
  30. package/types/element/src/distribute.d.ts +6 -6
  31. package/types/element/src/dragElements.d.ts +33 -33
  32. package/types/element/src/duplicate.d.ts +63 -63
  33. package/types/element/src/easingFunctions.d.ts +6 -6
  34. package/types/element/src/elbowArrow.d.ts +17 -17
  35. package/types/element/src/elementLink.d.ts +13 -13
  36. package/types/element/src/embeddable.d.ts +10 -10
  37. package/types/element/src/flowchart.d.ts +26 -26
  38. package/types/element/src/fractionalIndex.d.ts +51 -51
  39. package/types/element/src/frame.d.ts +70 -70
  40. package/types/element/src/groups.d.ts +33 -33
  41. package/types/element/src/heading.d.ts +15 -15
  42. package/types/element/src/image.d.ts +32 -32
  43. package/types/element/src/index.d.ts +59 -59
  44. package/types/element/src/linearElementEditor.d.ts +117 -117
  45. package/types/element/src/mutateElement.d.ts +21 -21
  46. package/types/element/src/newElement.d.ts +63 -63
  47. package/types/element/src/renderElement.d.ts +28 -28
  48. package/types/element/src/resizeElements.d.ts +38 -38
  49. package/types/element/src/resizeTest.d.ts +15 -15
  50. package/types/element/src/selection.d.ts +38 -38
  51. package/types/element/src/shapes.d.ts +27 -27
  52. package/types/element/src/showSelectedShapeActions.d.ts +3 -3
  53. package/types/element/src/sizeHelpers.d.ts +35 -35
  54. package/types/element/src/sortElements.d.ts +2 -2
  55. package/types/element/src/store.d.ts +227 -227
  56. package/types/element/src/textElement.d.ts +40 -40
  57. package/types/element/src/textMeasurements.d.ts +41 -41
  58. package/types/element/src/textWrapping.d.ts +13 -13
  59. package/types/element/src/transformHandles.d.ts +55 -55
  60. package/types/element/src/typeChecks.d.ts +53 -53
  61. package/types/element/src/types.d.ts +298 -298
  62. package/types/element/src/utils.d.ts +21 -21
  63. package/types/element/src/zindex.d.ts +7 -7
  64. package/types/excalidraw/actions/actionAddToLibrary.d.ts +638 -638
  65. package/types/excalidraw/actions/actionAlign.d.ts +109 -109
  66. package/types/excalidraw/actions/actionBoundText.d.ts +462 -462
  67. package/types/excalidraw/actions/actionCanvas.d.ts +3323 -3323
  68. package/types/excalidraw/actions/actionClipboard.d.ts +1392 -1392
  69. package/types/excalidraw/actions/actionCropEditor.d.ts +225 -225
  70. package/types/excalidraw/actions/actionDeleteSelected.d.ts +677 -677
  71. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  72. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +17 -17
  73. package/types/excalidraw/actions/actionElementLink.d.ts +247 -247
  74. package/types/excalidraw/actions/actionElementLock.d.ts +448 -448
  75. package/types/excalidraw/actions/actionEmbeddable.d.ts +222 -222
  76. package/types/excalidraw/actions/actionExport.d.ts +1980 -1980
  77. package/types/excalidraw/actions/actionFinalize.d.ts +674 -470
  78. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  79. package/types/excalidraw/actions/actionFrame.d.ts +1396 -1396
  80. package/types/excalidraw/actions/actionGroup.d.ts +460 -460
  81. package/types/excalidraw/actions/actionHistory.d.ts +6 -6
  82. package/types/excalidraw/actions/actionLinearEditor.d.ts +722 -722
  83. package/types/excalidraw/actions/actionLink.d.ts +226 -226
  84. package/types/excalidraw/actions/actionMenu.d.ts +658 -658
  85. package/types/excalidraw/actions/actionNavigate.d.ts +436 -436
  86. package/types/excalidraw/actions/actionProperties.d.ts +3329 -3329
  87. package/types/excalidraw/actions/actionSelectAll.d.ts +225 -225
  88. package/types/excalidraw/actions/actionStyles.d.ts +239 -239
  89. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  90. package/types/excalidraw/actions/actionToggleGridMode.d.ts +228 -228
  91. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +226 -226
  92. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +219 -219
  93. package/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -19
  94. package/types/excalidraw/actions/actionToggleStats.d.ts +225 -225
  95. package/types/excalidraw/actions/actionToggleViewMode.d.ts +226 -226
  96. package/types/excalidraw/actions/actionToggleZenMode.d.ts +226 -226
  97. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  98. package/types/excalidraw/actions/index.d.ts +28 -28
  99. package/types/excalidraw/actions/manager.d.ts +21 -21
  100. package/types/excalidraw/actions/register.d.ts +5 -5
  101. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  102. package/types/excalidraw/actions/types.d.ts +47 -47
  103. package/types/excalidraw/analytics.d.ts +1 -1
  104. package/types/excalidraw/animated-trail.d.ts +39 -39
  105. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  106. package/types/excalidraw/appState.d.ts +99 -99
  107. package/types/excalidraw/charts.d.ts +27 -27
  108. package/types/excalidraw/clients.d.ts +14 -14
  109. package/types/excalidraw/clipboard.d.ts +66 -66
  110. package/types/excalidraw/components/Actions.d.ts +35 -35
  111. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  112. package/types/excalidraw/components/App.d.ts +566 -566
  113. package/types/excalidraw/components/Avatar.d.ts +11 -11
  114. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  115. package/types/excalidraw/components/Button.d.ts +17 -17
  116. package/types/excalidraw/components/ButtonIcon.d.ts +16 -16
  117. package/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
  118. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  119. package/types/excalidraw/components/Card.d.ts +6 -6
  120. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  121. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -10
  122. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -23
  123. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  124. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -7
  125. package/types/excalidraw/components/ColorPicker/Picker.d.ts +17 -17
  126. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -9
  127. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  128. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  129. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  130. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  131. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  132. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  133. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  134. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  135. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  136. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  137. package/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -23
  138. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  139. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  140. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  141. package/types/excalidraw/components/Dialog.d.ts +13 -13
  142. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  143. package/types/excalidraw/components/ElementCanvasButtons.d.ts +7 -7
  144. package/types/excalidraw/components/ElementLinkDialog.d.ts +12 -12
  145. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  146. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  147. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  148. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  149. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  150. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  151. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  152. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
  153. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  154. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  155. package/types/excalidraw/components/HandButton.d.ts +10 -10
  156. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  157. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  158. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  159. package/types/excalidraw/components/IconPicker.d.ts +15 -15
  160. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  161. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  162. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  163. package/types/excalidraw/components/Island.d.ts +10 -10
  164. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  165. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  166. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  167. package/types/excalidraw/components/LibraryMenu.d.ts +10 -10
  168. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  169. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  170. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  171. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  172. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  173. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  174. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  175. package/types/excalidraw/components/LockButton.d.ts +10 -10
  176. package/types/excalidraw/components/MagicButton.d.ts +10 -10
  177. package/types/excalidraw/components/MobileMenu.d.ts +25 -25
  178. package/types/excalidraw/components/Modal.d.ts +14 -14
  179. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  180. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  181. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  182. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  183. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  184. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  185. package/types/excalidraw/components/Popover.d.ts +15 -15
  186. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  187. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  188. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  189. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  190. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  191. package/types/excalidraw/components/RadioSelection.d.ts +20 -20
  192. package/types/excalidraw/components/Range.d.ts +8 -8
  193. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  194. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  195. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  196. package/types/excalidraw/components/Section.d.ts +6 -6
  197. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  198. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  199. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  200. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  201. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  202. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  203. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  204. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  205. package/types/excalidraw/components/Sidebar/common.d.ts +34 -34
  206. package/types/excalidraw/components/Spinner.d.ts +8 -8
  207. package/types/excalidraw/components/Stack.d.ts +15 -15
  208. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  209. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  210. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  211. package/types/excalidraw/components/Stats/Collapsible.d.ts +10 -10
  212. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  213. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  214. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  215. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  216. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  217. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  218. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  219. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  220. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  221. package/types/excalidraw/components/Stats/utils.d.ts +19 -19
  222. package/types/excalidraw/components/Switch.d.ts +9 -9
  223. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  224. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  225. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  226. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  227. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  228. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  229. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  230. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  231. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  232. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  233. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  234. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  235. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
  236. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  237. package/types/excalidraw/components/TextField.d.ts +21 -21
  238. package/types/excalidraw/components/Toast.d.ts +9 -9
  239. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  240. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  241. package/types/excalidraw/components/Trans.d.ts +9 -9
  242. package/types/excalidraw/components/UnlockPopup.d.ts +8 -8
  243. package/types/excalidraw/components/UserList.d.ts +18 -18
  244. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -30
  245. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  246. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  247. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  248. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  249. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  250. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  251. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
  252. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  253. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  254. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  255. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  256. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  257. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  258. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  259. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  260. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  261. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  262. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  263. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -19
  264. package/types/excalidraw/components/hyperlink/helpers.d.ts +10 -10
  265. package/types/excalidraw/components/icons.d.ts +227 -227
  266. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  267. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  268. package/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -83
  269. package/types/excalidraw/components/shapes.d.ts +62 -62
  270. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +60 -60
  271. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  272. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  273. package/types/excalidraw/context/tunnels.d.ts +21 -21
  274. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  275. package/types/excalidraw/cursor.d.ts +6 -6
  276. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  277. package/types/excalidraw/data/ai/types.d.ts +242 -242
  278. package/types/excalidraw/data/blob.d.ts +53 -53
  279. package/types/excalidraw/data/encode.d.ts +55 -55
  280. package/types/excalidraw/data/encryption.d.ts +9 -9
  281. package/types/excalidraw/data/filesystem.d.ts +21 -21
  282. package/types/excalidraw/data/image.d.ts +9 -9
  283. package/types/excalidraw/data/index.d.ts +22 -22
  284. package/types/excalidraw/data/json.d.ts +16 -16
  285. package/types/excalidraw/data/library.d.ts +112 -112
  286. package/types/excalidraw/data/reconcile.d.ts +6 -6
  287. package/types/excalidraw/data/resave.d.ts +5 -5
  288. package/types/excalidraw/data/restore.d.ts +21 -21
  289. package/types/excalidraw/data/transform.d.ts +81 -81
  290. package/types/excalidraw/data/types.d.ts +45 -45
  291. package/types/excalidraw/deburr.d.ts +1 -1
  292. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  293. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  294. package/types/excalidraw/editor-jotai.d.ts +56 -56
  295. package/types/excalidraw/entry.d.ts +1 -1
  296. package/types/excalidraw/env.d.cts +1 -1
  297. package/types/excalidraw/env.d.ts +1 -1
  298. package/types/excalidraw/eraser/index.d.ts +14 -14
  299. package/types/excalidraw/errors.d.ts +29 -29
  300. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  301. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  302. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  303. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  304. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  305. package/types/excalidraw/fonts/Fonts.d.ts +90 -90
  306. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  307. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  308. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  309. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  310. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  311. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  312. package/types/excalidraw/fonts/index.d.ts +1 -1
  313. package/types/excalidraw/gesture.d.ts +6 -6
  314. package/types/excalidraw/history.d.ts +32 -32
  315. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  316. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  317. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  318. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  319. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  320. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  321. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  322. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  323. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  324. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  325. package/types/excalidraw/i18n.d.ts +24 -24
  326. package/types/excalidraw/index-node.d.ts +1 -1
  327. package/types/excalidraw/index.d.ts +59 -59
  328. package/types/excalidraw/laser-trails.d.ts +20 -20
  329. package/types/excalidraw/lasso/index.d.ts +16 -16
  330. package/types/excalidraw/lasso/utils.d.ts +12 -12
  331. package/types/excalidraw/main.d.ts +2 -2
  332. package/types/excalidraw/mermaid.d.ts +2 -2
  333. package/types/excalidraw/obsidianUtils.d.ts +37 -37
  334. package/types/excalidraw/polyfill.d.ts +2 -2
  335. package/types/excalidraw/publicPath.d.ts +1 -1
  336. package/types/excalidraw/reactUtils.d.ts +14 -14
  337. package/types/excalidraw/renderer/helpers.d.ts +18 -18
  338. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  339. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  340. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  341. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  342. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  343. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  344. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  345. package/types/excalidraw/scene/export.d.ts +37 -37
  346. package/types/excalidraw/scene/index.d.ts +4 -4
  347. package/types/excalidraw/scene/normalize.d.ts +4 -4
  348. package/types/excalidraw/scene/scroll.d.ts +23 -23
  349. package/types/excalidraw/scene/scrollbars.d.ts +11 -11
  350. package/types/excalidraw/scene/types.d.ts +122 -122
  351. package/types/excalidraw/scene/zoom.d.ts +12 -12
  352. package/types/excalidraw/snapping.d.ts +111 -111
  353. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  354. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  355. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  356. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  357. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  358. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  359. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  360. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  361. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  362. package/types/excalidraw/types.d.ts +780 -780
  363. package/types/excalidraw/visualdebug.d.ts +41 -41
  364. package/types/excalidraw/webpack.dev.config.d.ts +114 -114
  365. package/types/excalidraw/webpack.prod.config.d.ts +128 -128
  366. package/types/excalidraw/workers.d.ts +36 -36
  367. package/types/excalidraw/wysiwyg/textWysiwyg.d.ts +24 -24
  368. package/types/math/src/angle.d.ts +17 -17
  369. package/types/math/src/curve.d.ts +42 -42
  370. package/types/math/src/ellipse.d.ts +44 -44
  371. package/types/math/src/index.d.ts +12 -12
  372. package/types/math/src/line.d.ts +17 -17
  373. package/types/math/src/point.d.ts +122 -122
  374. package/types/math/src/polygon.d.ts +6 -6
  375. package/types/math/src/range.d.ts +44 -44
  376. package/types/math/src/rectangle.d.ts +3 -3
  377. package/types/math/src/segment.d.ts +39 -39
  378. package/types/math/src/triangle.d.ts +11 -11
  379. package/types/math/src/types.d.ts +106 -106
  380. package/types/math/src/utils.d.ts +7 -7
  381. package/types/math/src/vector.d.ts +92 -92
  382. package/types/utils/src/bbox.d.ts +9 -9
  383. package/types/utils/src/collision.d.ts +8 -8
  384. package/types/utils/src/export.d.ts +35 -35
  385. package/types/utils/src/index.d.ts +4 -4
  386. package/types/utils/src/shape.d.ts +58 -58
  387. package/types/utils/src/withinBounds.d.ts +19 -19
@@ -1,17 +1,17 @@
1
- import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import { type ElementUpdate } from "./mutateElement";
3
- import { type ExcalidrawElbowArrowElement, type NonDeletedSceneElementsMap } from "./types";
4
- import type { FixedPointBinding, FixedSegment } from "./types";
5
- export declare const BASE_PADDING = 40;
6
- /**
7
- *
8
- */
9
- export declare const updateElbowArrowPoints: (arrow: Readonly<ExcalidrawElbowArrowElement>, elementsMap: NonDeletedSceneElementsMap, updates: {
10
- points?: readonly LocalPoint[];
11
- fixedSegments?: readonly FixedSegment[] | null;
12
- startBinding?: FixedPointBinding | null;
13
- endBinding?: FixedPointBinding | null;
14
- }, options?: {
15
- isDragging?: boolean;
16
- }) => ElementUpdate<ExcalidrawElbowArrowElement>;
17
- export declare const validateElbowPoints: <P extends GlobalPoint | LocalPoint>(points: readonly P[], tolerance?: number) => boolean;
1
+ import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
+ import { type ElementUpdate } from "./mutateElement";
3
+ import { type ExcalidrawElbowArrowElement, type NonDeletedSceneElementsMap } from "./types";
4
+ import type { FixedPointBinding, FixedSegment } from "./types";
5
+ export declare const BASE_PADDING = 40;
6
+ /**
7
+ *
8
+ */
9
+ export declare const updateElbowArrowPoints: (arrow: Readonly<ExcalidrawElbowArrowElement>, elementsMap: NonDeletedSceneElementsMap, updates: {
10
+ points?: readonly LocalPoint[];
11
+ fixedSegments?: readonly FixedSegment[] | null;
12
+ startBinding?: FixedPointBinding | null;
13
+ endBinding?: FixedPointBinding | null;
14
+ }, options?: {
15
+ isDragging?: boolean;
16
+ }) => ElementUpdate<ExcalidrawElbowArrowElement>;
17
+ export declare const validateElbowPoints: <P extends GlobalPoint | LocalPoint>(points: readonly P[], tolerance?: number) => boolean;
@@ -1,13 +1,13 @@
1
- /**
2
- * Create and link between shapes.
3
- */
4
- import type { AppProps, AppState } from "@excalidraw/excalidraw/types";
5
- import type { ExcalidrawElement } from "./types";
6
- export declare const defaultGetElementLinkFromSelection: Exclude<AppProps["generateLinkForSelection"], undefined>;
7
- export declare const getLinkIdAndTypeFromSelection: (selectedElements: ExcalidrawElement[], appState: AppState) => {
8
- id: string;
9
- type: "element" | "group";
10
- } | null;
11
- export declare const canCreateLinkFromElements: (selectedElements: ExcalidrawElement[]) => boolean;
12
- export declare const isElementLink: (url: string) => boolean;
13
- export declare const parseElementLinkFromURL: (url: string) => string | null;
1
+ /**
2
+ * Create and link between shapes.
3
+ */
4
+ import type { AppProps, AppState } from "@excalidraw/excalidraw/types";
5
+ import type { ExcalidrawElement } from "./types";
6
+ export declare const defaultGetElementLinkFromSelection: Exclude<AppProps["generateLinkForSelection"], undefined>;
7
+ export declare const getLinkIdAndTypeFromSelection: (selectedElements: ExcalidrawElement[], appState: AppState) => {
8
+ id: string;
9
+ type: "element" | "group";
10
+ } | null;
11
+ export declare const canCreateLinkFromElements: (selectedElements: ExcalidrawElement[]) => boolean;
12
+ export declare const isElementLink: (url: string) => boolean;
13
+ export declare const parseElementLinkFromURL: (url: string) => string | null;
@@ -1,10 +1,10 @@
1
- import type { ExcalidrawProps } from "@excalidraw/excalidraw/types";
2
- import type { MarkRequired } from "@excalidraw/common/utility-types";
3
- import type { ExcalidrawElement, ExcalidrawIframeLikeElement, IframeData } from "./types";
4
- type IframeDataWithSandbox = MarkRequired<IframeData, "sandbox">;
5
- export declare const createSrcDoc: (body: string) => string;
6
- export declare const getEmbedLink: (link: string | null | undefined) => IframeDataWithSandbox | null;
7
- export declare const createPlaceholderEmbeddableLabel: (element: ExcalidrawIframeLikeElement) => ExcalidrawElement;
8
- export declare const maybeParseEmbedSrc: (str: string) => string;
9
- export declare const embeddableURLValidator: (url: string | null | undefined, validateEmbeddable: ExcalidrawProps["validateEmbeddable"]) => boolean;
10
- export {};
1
+ import type { ExcalidrawProps } from "@excalidraw/excalidraw/types";
2
+ import type { MarkRequired } from "@excalidraw/common/utility-types";
3
+ import type { ExcalidrawElement, ExcalidrawIframeLikeElement, IframeData } from "./types";
4
+ type IframeDataWithSandbox = MarkRequired<IframeData, "sandbox">;
5
+ export declare const createSrcDoc: (body: string) => string;
6
+ export declare const getEmbedLink: (link: string | null | undefined) => IframeDataWithSandbox | null;
7
+ export declare const createPlaceholderEmbeddableLabel: (element: ExcalidrawIframeLikeElement) => ExcalidrawElement;
8
+ export declare const maybeParseEmbedSrc: (str: string) => string;
9
+ export declare const embeddableURLValidator: (url: string | null | undefined, validateEmbeddable: ExcalidrawProps["validateEmbeddable"]) => boolean;
10
+ export {};
@@ -1,26 +1,26 @@
1
- import type { AppState, PendingExcalidrawElements } from "@excalidraw/excalidraw/types";
2
- import { type ElementsMap, type ExcalidrawBindableElement, type ExcalidrawElement, type ExcalidrawFlowchartNodeElement } from "./types";
3
- import type { Scene } from "./Scene";
4
- type LinkDirection = "up" | "right" | "down" | "left";
5
- export declare const getLinkDirectionFromKey: (key: string) => LinkDirection;
6
- export declare const getPredecessors: (node: ExcalidrawBindableElement, elementsMap: ElementsMap, direction: LinkDirection) => ExcalidrawBindableElement[];
7
- export declare const addNewNodes: (startNode: ExcalidrawFlowchartNodeElement, appState: AppState, direction: LinkDirection, scene: Scene, numberOfNodes: number) => ExcalidrawElement[];
8
- export declare class FlowChartNavigator {
9
- isExploring: boolean;
10
- private sameLevelNodes;
11
- private sameLevelIndex;
12
- private direction;
13
- private visitedNodes;
14
- clear(): void;
15
- exploreByDirection(element: ExcalidrawElement, elementsMap: ElementsMap, direction: LinkDirection): ExcalidrawElement["id"] | null;
16
- }
17
- export declare class FlowChartCreator {
18
- isCreatingChart: boolean;
19
- private numberOfNodes;
20
- private direction;
21
- pendingNodes: PendingExcalidrawElements | null;
22
- createNodes(startNode: ExcalidrawFlowchartNodeElement, appState: AppState, direction: LinkDirection, scene: Scene): void;
23
- clear(): void;
24
- }
25
- export declare const isNodeInFlowchart: (element: ExcalidrawFlowchartNodeElement, elementsMap: ElementsMap) => boolean;
26
- export {};
1
+ import type { AppState, PendingExcalidrawElements } from "@excalidraw/excalidraw/types";
2
+ import { type ElementsMap, type ExcalidrawBindableElement, type ExcalidrawElement, type ExcalidrawFlowchartNodeElement } from "./types";
3
+ import type { Scene } from "./Scene";
4
+ type LinkDirection = "up" | "right" | "down" | "left";
5
+ export declare const getLinkDirectionFromKey: (key: string) => LinkDirection;
6
+ export declare const getPredecessors: (node: ExcalidrawBindableElement, elementsMap: ElementsMap, direction: LinkDirection) => ExcalidrawBindableElement[];
7
+ export declare const addNewNodes: (startNode: ExcalidrawFlowchartNodeElement, appState: AppState, direction: LinkDirection, scene: Scene, numberOfNodes: number) => ExcalidrawElement[];
8
+ export declare class FlowChartNavigator {
9
+ isExploring: boolean;
10
+ private sameLevelNodes;
11
+ private sameLevelIndex;
12
+ private direction;
13
+ private visitedNodes;
14
+ clear(): void;
15
+ exploreByDirection(element: ExcalidrawElement, elementsMap: ElementsMap, direction: LinkDirection): ExcalidrawElement["id"] | null;
16
+ }
17
+ export declare class FlowChartCreator {
18
+ isCreatingChart: boolean;
19
+ private numberOfNodes;
20
+ private direction;
21
+ pendingNodes: PendingExcalidrawElements | null;
22
+ createNodes(startNode: ExcalidrawFlowchartNodeElement, appState: AppState, direction: LinkDirection, scene: Scene): void;
23
+ clear(): void;
24
+ }
25
+ export declare const isNodeInFlowchart: (element: ExcalidrawFlowchartNodeElement, elementsMap: ElementsMap) => boolean;
26
+ export {};
@@ -1,51 +1,51 @@
1
- import type { ElementsMap, ExcalidrawElement, OrderedExcalidrawElement } from "./types";
2
- export declare class InvalidFractionalIndexError extends Error {
3
- code: "ELEMENT_HAS_INVALID_INDEX";
4
- }
5
- /**
6
- * Envisioned relation between array order and fractional indices:
7
- *
8
- * 1) Array (or array-like ordered data structure) should be used as a cache of elements order, hiding the internal fractional indices implementation.
9
- * - it's undesirable to perform reorder for each related operation, therefore it's necessary to cache the order defined by fractional indices into an ordered data structure
10
- * - it's easy enough to define the order of the elements from the outside (boundaries), without worrying about the underlying structure of fractional indices (especially for the host apps)
11
- * - it's necessary to always keep the array support for backwards compatibility (restore) - old scenes, old libraries, supporting multiple excalidraw versions etc.
12
- * - it's necessary to always keep the fractional indices in sync with the array order
13
- * - elements with invalid indices should be detected and synced, without altering the already valid indices
14
- *
15
- * 2) Fractional indices should be used to reorder the elements, whenever the cached order is expected to be invalidated.
16
- * - as the fractional indices are encoded as part of the elements, it opens up possibilities for incremental-like APIs
17
- * - re-order based on fractional indices should be part of (multiplayer) operations such as reconciliation & undo/redo
18
- * - technically all the z-index actions could perform also re-order based on fractional indices,but in current state it would not bring much benefits,
19
- * as it's faster & more efficient to perform re-order based on array manipulation and later synchronisation of moved indices with the array order
20
- */
21
- /**
22
- * Ensure that all elements have valid fractional indices.
23
- *
24
- * @throws `InvalidFractionalIndexError` if invalid index is detected.
25
- */
26
- export declare const validateFractionalIndices: (elements: readonly ExcalidrawElement[], { shouldThrow, includeBoundTextValidation, ignoreLogs, reconciliationContext, }: {
27
- shouldThrow: boolean;
28
- includeBoundTextValidation: boolean;
29
- ignoreLogs?: true | undefined;
30
- reconciliationContext?: {
31
- localElements: ReadonlyArray<ExcalidrawElement>;
32
- remoteElements: ReadonlyArray<ExcalidrawElement>;
33
- } | undefined;
34
- }) => void;
35
- /**
36
- * Order the elements based on the fractional indices.
37
- * - when fractional indices are identical, break the tie based on the element id
38
- * - when there is no fractional index in one of the elements, respect the order of the array
39
- */
40
- export declare const orderByFractionalIndex: (elements: OrderedExcalidrawElement[]) => OrderedExcalidrawElement[];
41
- /**
42
- * Synchronizes invalid fractional indices of moved elements with the array order by mutating passed elements.
43
- * If the synchronization fails or the result is invalid, it fallbacks to `syncInvalidIndices`.
44
- */
45
- export declare const syncMovedIndices: (elements: readonly ExcalidrawElement[], movedElements: ElementsMap) => OrderedExcalidrawElement[];
46
- /**
47
- * Synchronizes all invalid fractional indices with the array order by mutating passed elements.
48
- *
49
- * WARN: in edge cases it could modify the elements which were not moved, as it's impossible to guess the actually moved elements from the elements array itself.
50
- */
51
- export declare const syncInvalidIndices: (elements: readonly ExcalidrawElement[]) => OrderedExcalidrawElement[];
1
+ import type { ElementsMap, ExcalidrawElement, OrderedExcalidrawElement } from "./types";
2
+ export declare class InvalidFractionalIndexError extends Error {
3
+ code: "ELEMENT_HAS_INVALID_INDEX";
4
+ }
5
+ /**
6
+ * Envisioned relation between array order and fractional indices:
7
+ *
8
+ * 1) Array (or array-like ordered data structure) should be used as a cache of elements order, hiding the internal fractional indices implementation.
9
+ * - it's undesirable to perform reorder for each related operation, therefore it's necessary to cache the order defined by fractional indices into an ordered data structure
10
+ * - it's easy enough to define the order of the elements from the outside (boundaries), without worrying about the underlying structure of fractional indices (especially for the host apps)
11
+ * - it's necessary to always keep the array support for backwards compatibility (restore) - old scenes, old libraries, supporting multiple excalidraw versions etc.
12
+ * - it's necessary to always keep the fractional indices in sync with the array order
13
+ * - elements with invalid indices should be detected and synced, without altering the already valid indices
14
+ *
15
+ * 2) Fractional indices should be used to reorder the elements, whenever the cached order is expected to be invalidated.
16
+ * - as the fractional indices are encoded as part of the elements, it opens up possibilities for incremental-like APIs
17
+ * - re-order based on fractional indices should be part of (multiplayer) operations such as reconciliation & undo/redo
18
+ * - technically all the z-index actions could perform also re-order based on fractional indices,but in current state it would not bring much benefits,
19
+ * as it's faster & more efficient to perform re-order based on array manipulation and later synchronisation of moved indices with the array order
20
+ */
21
+ /**
22
+ * Ensure that all elements have valid fractional indices.
23
+ *
24
+ * @throws `InvalidFractionalIndexError` if invalid index is detected.
25
+ */
26
+ export declare const validateFractionalIndices: (elements: readonly ExcalidrawElement[], { shouldThrow, includeBoundTextValidation, ignoreLogs, reconciliationContext, }: {
27
+ shouldThrow: boolean;
28
+ includeBoundTextValidation: boolean;
29
+ ignoreLogs?: true | undefined;
30
+ reconciliationContext?: {
31
+ localElements: ReadonlyArray<ExcalidrawElement>;
32
+ remoteElements: ReadonlyArray<ExcalidrawElement>;
33
+ } | undefined;
34
+ }) => void;
35
+ /**
36
+ * Order the elements based on the fractional indices.
37
+ * - when fractional indices are identical, break the tie based on the element id
38
+ * - when there is no fractional index in one of the elements, respect the order of the array
39
+ */
40
+ export declare const orderByFractionalIndex: (elements: OrderedExcalidrawElement[]) => OrderedExcalidrawElement[];
41
+ /**
42
+ * Synchronizes invalid fractional indices of moved elements with the array order by mutating passed elements.
43
+ * If the synchronization fails or the result is invalid, it fallbacks to `syncInvalidIndices`.
44
+ */
45
+ export declare const syncMovedIndices: (elements: readonly ExcalidrawElement[], movedElements: ElementsMap) => OrderedExcalidrawElement[];
46
+ /**
47
+ * Synchronizes all invalid fractional indices with the array order by mutating passed elements.
48
+ *
49
+ * WARN: in edge cases it could modify the elements which were not moved, as it's impossible to guess the actually moved elements from the elements array itself.
50
+ */
51
+ export declare const syncInvalidIndices: (elements: readonly ExcalidrawElement[]) => OrderedExcalidrawElement[];
@@ -1,70 +1,70 @@
1
- import type { AppClassProperties, AppState, StaticCanvasAppState } from "@excalidraw/excalidraw/types";
2
- import type { ReadonlySetLike } from "@excalidraw/common/utility-types";
3
- import type { ExcalidrawElementsIncludingDeleted } from "./Scene";
4
- import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted, NonDeletedExcalidrawElement } from "./types";
5
- export declare const bindElementsToFramesAfterDuplication: (nextElements: readonly ExcalidrawElement[], origElements: readonly ExcalidrawElement[], origIdToDuplicateId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
6
- export declare function isElementIntersectingFrame(element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap): boolean;
7
- export declare const getElementsCompletelyInFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => ExcalidrawElement[];
8
- export declare const isElementContainingFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
9
- export declare const getElementsIntersectingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => ExcalidrawElement[];
10
- export declare const elementsAreInFrameBounds: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
11
- export declare const elementOverlapsWithFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
12
- export declare const isCursorInFrame: (cursorCoords: {
13
- x: number;
14
- y: number;
15
- }, frame: NonDeleted<ExcalidrawFrameLikeElement>, elementsMap: ElementsMap) => boolean;
16
- export declare const groupsAreAtLeastIntersectingTheFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameLikeElement) => boolean;
17
- export declare const groupsAreCompletelyOutOfFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameLikeElement) => boolean;
18
- /**
19
- * Returns a map of frameId to frame elements. Includes empty frames.
20
- */
21
- export declare const groupByFrameLikes: (elements: readonly ExcalidrawElement[]) => Map<string, ExcalidrawElement[]>;
22
- export declare const getFrameChildren: (allElements: ElementsMapOrArray, frameId: string) => ExcalidrawElement[];
23
- export declare const getFrameLikeElements: (allElements: ExcalidrawElementsIncludingDeleted) => ExcalidrawFrameLikeElement[];
24
- /**
25
- * Returns ExcalidrawFrameElements and non-frame-children elements.
26
- *
27
- * Considers children as root elements if they point to a frame parent
28
- * non-existing in the elements set.
29
- *
30
- * Considers non-frame bound elements (container or arrow labels) as root.
31
- */
32
- export declare const getRootElements: (allElements: ExcalidrawElementsIncludingDeleted) => ExcalidrawElement[];
33
- export declare const getElementsInResizingFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, appState: AppState, elementsMap: ElementsMap) => ExcalidrawElement[];
34
- export declare const getElementsInNewFrame: (elements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => (import("./types").ExcalidrawSelectionElement | import("./types").ExcalidrawRectangleElement | import("./types").ExcalidrawDiamondElement | import("./types").ExcalidrawEllipseElement | import("./types").ExcalidrawTextElement | import("./types").ExcalidrawLinearElement | import("./types").ExcalidrawFreeDrawElement | import("./types").ExcalidrawImageElement | import("./types").ExcalidrawFrameElement | import("./types").ExcalidrawMagicFrameElement | import("./types").ExcalidrawIframeElement | import("./types").ExcalidrawEmbeddableElement)[];
35
- export declare const omitPartialGroups: (elements: ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, allElementsMap: ElementsMap) => (import("./types").ExcalidrawSelectionElement | import("./types").ExcalidrawRectangleElement | import("./types").ExcalidrawDiamondElement | import("./types").ExcalidrawEllipseElement | import("./types").ExcalidrawTextElement | import("./types").ExcalidrawLinearElement | import("./types").ExcalidrawFreeDrawElement | import("./types").ExcalidrawImageElement | import("./types").ExcalidrawFrameElement | import("./types").ExcalidrawMagicFrameElement | import("./types").ExcalidrawIframeElement | import("./types").ExcalidrawEmbeddableElement)[];
36
- export declare const getContainingFrame: (element: ExcalidrawElement, elementsMap: ElementsMap) => ExcalidrawFrameLikeElement | null;
37
- /** */
38
- export declare const filterElementsEligibleAsFrameChildren: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => ExcalidrawElement[];
39
- /**
40
- * Retains (or repairs for target frame) the ordering invriant where children
41
- * elements come right before the parent frame:
42
- * [el, el, child, child, frame, el]
43
- *
44
- * @returns mutated allElements (same data structure)
45
- */
46
- export declare const addElementsToFrame: <T extends ElementsMapOrArray>(allElements: T, elementsToAdd: NonDeletedExcalidrawElement[], frame: ExcalidrawFrameLikeElement, appState: AppState) => T;
47
- export declare const removeElementsFromFrame: (elementsToRemove: ReadonlySetLike<NonDeletedExcalidrawElement>, elementsMap: ElementsMap) => void;
48
- export declare const removeAllElementsFromFrame: <T extends ExcalidrawElement>(allElements: readonly T[], frame: ExcalidrawFrameLikeElement) => readonly T[];
49
- export declare const replaceAllElementsInFrame: <T extends ExcalidrawElement>(allElements: readonly T[], nextElementsInFrame: ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, app: AppClassProperties) => T[];
50
- /** does not mutate elements, but returns new ones */
51
- export declare const updateFrameMembershipOfSelectedElements: <T extends ElementsMapOrArray>(allElements: T, appState: AppState, app: AppClassProperties) => T;
52
- /**
53
- * filters out elements that are inside groups that contain a frame element
54
- * anywhere in the group tree
55
- */
56
- export declare const omitGroupsContainingFrameLikes: (allElements: ElementsMapOrArray, selectedElements?: readonly ExcalidrawElement[]) => ExcalidrawElement[];
57
- /**
58
- * depending on the appState, return target frame, which is the frame the given element
59
- * is going to be added to or remove from
60
- */
61
- export declare const getTargetFrame: (element: ExcalidrawElement, elementsMap: ElementsMap, appState: StaticCanvasAppState) => ExcalidrawFrameLikeElement | null;
62
- export declare const isElementInFrame: (element: ExcalidrawElement, allElementsMap: ElementsMap, appState: StaticCanvasAppState, opts?: {
63
- targetFrame?: ExcalidrawFrameLikeElement;
64
- checkedGroups?: Map<string, boolean>;
65
- }) => boolean;
66
- export declare const shouldApplyFrameClip: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, appState: StaticCanvasAppState, elementsMap: ElementsMap, checkedGroups?: Map<string, boolean>) => boolean;
67
- export declare const getDefaultFrameName: (element: ExcalidrawFrameLikeElement) => "Frame" | "AI Frame";
68
- export declare const getFrameLikeTitle: (element: ExcalidrawFrameLikeElement) => string;
69
- export declare const getElementsOverlappingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => NonDeletedExcalidrawElement[];
70
- export declare const frameAndChildrenSelectedTogether: (selectedElements: readonly ExcalidrawElement[]) => boolean;
1
+ import type { AppClassProperties, AppState, StaticCanvasAppState } from "@excalidraw/excalidraw/types";
2
+ import type { ReadonlySetLike } from "@excalidraw/common/utility-types";
3
+ import type { ExcalidrawElementsIncludingDeleted } from "./Scene";
4
+ import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted, NonDeletedExcalidrawElement } from "./types";
5
+ export declare const bindElementsToFramesAfterDuplication: (nextElements: readonly ExcalidrawElement[], origElements: readonly ExcalidrawElement[], origIdToDuplicateId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
6
+ export declare function isElementIntersectingFrame(element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap): boolean;
7
+ export declare const getElementsCompletelyInFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => ExcalidrawElement[];
8
+ export declare const isElementContainingFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
9
+ export declare const getElementsIntersectingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => ExcalidrawElement[];
10
+ export declare const elementsAreInFrameBounds: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
11
+ export declare const elementOverlapsWithFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
12
+ export declare const isCursorInFrame: (cursorCoords: {
13
+ x: number;
14
+ y: number;
15
+ }, frame: NonDeleted<ExcalidrawFrameLikeElement>, elementsMap: ElementsMap) => boolean;
16
+ export declare const groupsAreAtLeastIntersectingTheFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameLikeElement) => boolean;
17
+ export declare const groupsAreCompletelyOutOfFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameLikeElement) => boolean;
18
+ /**
19
+ * Returns a map of frameId to frame elements. Includes empty frames.
20
+ */
21
+ export declare const groupByFrameLikes: (elements: readonly ExcalidrawElement[]) => Map<string, ExcalidrawElement[]>;
22
+ export declare const getFrameChildren: (allElements: ElementsMapOrArray, frameId: string) => ExcalidrawElement[];
23
+ export declare const getFrameLikeElements: (allElements: ExcalidrawElementsIncludingDeleted) => ExcalidrawFrameLikeElement[];
24
+ /**
25
+ * Returns ExcalidrawFrameElements and non-frame-children elements.
26
+ *
27
+ * Considers children as root elements if they point to a frame parent
28
+ * non-existing in the elements set.
29
+ *
30
+ * Considers non-frame bound elements (container or arrow labels) as root.
31
+ */
32
+ export declare const getRootElements: (allElements: ExcalidrawElementsIncludingDeleted) => ExcalidrawElement[];
33
+ export declare const getElementsInResizingFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, appState: AppState, elementsMap: ElementsMap) => ExcalidrawElement[];
34
+ export declare const getElementsInNewFrame: (elements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => (import("./types").ExcalidrawSelectionElement | import("./types").ExcalidrawRectangleElement | import("./types").ExcalidrawDiamondElement | import("./types").ExcalidrawEllipseElement | import("./types").ExcalidrawTextElement | import("./types").ExcalidrawLinearElement | import("./types").ExcalidrawFreeDrawElement | import("./types").ExcalidrawImageElement | import("./types").ExcalidrawFrameElement | import("./types").ExcalidrawMagicFrameElement | import("./types").ExcalidrawIframeElement | import("./types").ExcalidrawEmbeddableElement)[];
35
+ export declare const omitPartialGroups: (elements: ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, allElementsMap: ElementsMap) => (import("./types").ExcalidrawSelectionElement | import("./types").ExcalidrawRectangleElement | import("./types").ExcalidrawDiamondElement | import("./types").ExcalidrawEllipseElement | import("./types").ExcalidrawTextElement | import("./types").ExcalidrawLinearElement | import("./types").ExcalidrawFreeDrawElement | import("./types").ExcalidrawImageElement | import("./types").ExcalidrawFrameElement | import("./types").ExcalidrawMagicFrameElement | import("./types").ExcalidrawIframeElement | import("./types").ExcalidrawEmbeddableElement)[];
36
+ export declare const getContainingFrame: (element: ExcalidrawElement, elementsMap: ElementsMap) => ExcalidrawFrameLikeElement | null;
37
+ /** */
38
+ export declare const filterElementsEligibleAsFrameChildren: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => ExcalidrawElement[];
39
+ /**
40
+ * Retains (or repairs for target frame) the ordering invriant where children
41
+ * elements come right before the parent frame:
42
+ * [el, el, child, child, frame, el]
43
+ *
44
+ * @returns mutated allElements (same data structure)
45
+ */
46
+ export declare const addElementsToFrame: <T extends ElementsMapOrArray>(allElements: T, elementsToAdd: NonDeletedExcalidrawElement[], frame: ExcalidrawFrameLikeElement, appState: AppState) => T;
47
+ export declare const removeElementsFromFrame: (elementsToRemove: ReadonlySetLike<NonDeletedExcalidrawElement>, elementsMap: ElementsMap) => void;
48
+ export declare const removeAllElementsFromFrame: <T extends ExcalidrawElement>(allElements: readonly T[], frame: ExcalidrawFrameLikeElement) => readonly T[];
49
+ export declare const replaceAllElementsInFrame: <T extends ExcalidrawElement>(allElements: readonly T[], nextElementsInFrame: ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, app: AppClassProperties) => T[];
50
+ /** does not mutate elements, but returns new ones */
51
+ export declare const updateFrameMembershipOfSelectedElements: <T extends ElementsMapOrArray>(allElements: T, appState: AppState, app: AppClassProperties) => T;
52
+ /**
53
+ * filters out elements that are inside groups that contain a frame element
54
+ * anywhere in the group tree
55
+ */
56
+ export declare const omitGroupsContainingFrameLikes: (allElements: ElementsMapOrArray, selectedElements?: readonly ExcalidrawElement[]) => ExcalidrawElement[];
57
+ /**
58
+ * depending on the appState, return target frame, which is the frame the given element
59
+ * is going to be added to or remove from
60
+ */
61
+ export declare const getTargetFrame: (element: ExcalidrawElement, elementsMap: ElementsMap, appState: StaticCanvasAppState) => ExcalidrawFrameLikeElement | null;
62
+ export declare const isElementInFrame: (element: ExcalidrawElement, allElementsMap: ElementsMap, appState: StaticCanvasAppState, opts?: {
63
+ targetFrame?: ExcalidrawFrameLikeElement;
64
+ checkedGroups?: Map<string, boolean>;
65
+ }) => boolean;
66
+ export declare const shouldApplyFrameClip: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, appState: StaticCanvasAppState, elementsMap: ElementsMap, checkedGroups?: Map<string, boolean>) => boolean;
67
+ export declare const getDefaultFrameName: (element: ExcalidrawFrameLikeElement) => "Frame" | "AI Frame";
68
+ export declare const getFrameLikeTitle: (element: ExcalidrawFrameLikeElement) => string;
69
+ export declare const getElementsOverlappingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => NonDeletedExcalidrawElement[];
70
+ export declare const frameAndChildrenSelectedTogether: (selectedElements: readonly ExcalidrawElement[]) => boolean;
@@ -1,33 +1,33 @@
1
- import type { AppClassProperties, AppState, InteractiveCanvasAppState } from "@excalidraw/excalidraw/types";
2
- import type { Mutable } from "@excalidraw/common/utility-types";
3
- import type { GroupId, ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ElementsMapOrArray, ElementsMap } from "./types";
4
- export declare const selectGroup: (groupId: GroupId, appState: InteractiveCanvasAppState, elements: readonly NonDeleted<ExcalidrawElement>[]) => Pick<InteractiveCanvasAppState, "selectedGroupIds" | "selectedElementIds" | "editingGroupId">;
5
- export declare const selectGroupsForSelectedElements: {
6
- (appState: Pick<AppState, "selectedElementIds" | "editingGroupId">, elements: readonly NonDeletedExcalidrawElement[], prevAppState: InteractiveCanvasAppState, app: AppClassProperties | null): Mutable<Pick<InteractiveCanvasAppState, "selectedGroupIds" | "editingGroupId" | "selectedElementIds">>;
7
- clearCache(): void;
8
- };
9
- /**
10
- * If the element's group is selected, don't render an individual
11
- * selection border around it.
12
- */
13
- export declare const isSelectedViaGroup: (appState: InteractiveCanvasAppState, element: ExcalidrawElement) => boolean;
14
- export declare const getSelectedGroupForElement: (appState: Pick<InteractiveCanvasAppState, "editingGroupId" | "selectedGroupIds">, element: ExcalidrawElement) => string | undefined;
15
- export declare const getSelectedGroupIds: (appState: InteractiveCanvasAppState) => GroupId[];
16
- export declare const selectGroupsFromGivenElements: (elements: readonly NonDeleted<ExcalidrawElement>[], appState: InteractiveCanvasAppState) => {
17
- [groupId: string]: boolean;
18
- };
19
- export declare const editGroupForSelectedElement: (appState: AppState, element: NonDeleted<ExcalidrawElement>) => AppState;
20
- export declare const isElementInGroup: (element: ExcalidrawElement, groupId: string) => boolean;
21
- export declare const getElementsInGroup: (elements: ElementsMapOrArray, groupId: string) => ExcalidrawElement[];
22
- export declare const getSelectedGroupIdForElement: (element: ExcalidrawElement, selectedGroupIds: {
23
- [groupId: string]: boolean;
24
- }) => string | undefined;
25
- export declare const addToGroup: (prevGroupIds: ExcalidrawElement["groupIds"], newGroupId: GroupId, editingGroupId: AppState["editingGroupId"]) => string[];
26
- export declare const removeFromSelectedGroups: (groupIds: ExcalidrawElement["groupIds"], selectedGroupIds: {
27
- [groupId: string]: boolean;
28
- }) => string[];
29
- export declare const getMaximumGroups: (elements: ExcalidrawElement[], elementsMap: ElementsMap) => ExcalidrawElement[][];
30
- export declare const getNonDeletedGroupIds: (elements: ElementsMap) => Set<string>;
31
- export declare const elementsAreInSameGroup: (elements: readonly ExcalidrawElement[]) => boolean;
32
- export declare const isInGroup: (element: NonDeletedExcalidrawElement) => boolean;
33
- export declare const getNewGroupIdsForDuplication: (groupIds: ExcalidrawElement["groupIds"], editingGroupId: AppState["editingGroupId"], mapper: (groupId: GroupId) => GroupId) => string[];
1
+ import type { AppClassProperties, AppState, InteractiveCanvasAppState } from "@excalidraw/excalidraw/types";
2
+ import type { Mutable } from "@excalidraw/common/utility-types";
3
+ import type { GroupId, ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ElementsMapOrArray, ElementsMap } from "./types";
4
+ export declare const selectGroup: (groupId: GroupId, appState: InteractiveCanvasAppState, elements: readonly NonDeleted<ExcalidrawElement>[]) => Pick<InteractiveCanvasAppState, "selectedGroupIds" | "selectedElementIds" | "editingGroupId">;
5
+ export declare const selectGroupsForSelectedElements: {
6
+ (appState: Pick<AppState, "selectedElementIds" | "editingGroupId">, elements: readonly NonDeletedExcalidrawElement[], prevAppState: InteractiveCanvasAppState, app: AppClassProperties | null): Mutable<Pick<InteractiveCanvasAppState, "selectedGroupIds" | "editingGroupId" | "selectedElementIds">>;
7
+ clearCache(): void;
8
+ };
9
+ /**
10
+ * If the element's group is selected, don't render an individual
11
+ * selection border around it.
12
+ */
13
+ export declare const isSelectedViaGroup: (appState: InteractiveCanvasAppState, element: ExcalidrawElement) => boolean;
14
+ export declare const getSelectedGroupForElement: (appState: Pick<InteractiveCanvasAppState, "editingGroupId" | "selectedGroupIds">, element: ExcalidrawElement) => string | undefined;
15
+ export declare const getSelectedGroupIds: (appState: InteractiveCanvasAppState) => GroupId[];
16
+ export declare const selectGroupsFromGivenElements: (elements: readonly NonDeleted<ExcalidrawElement>[], appState: InteractiveCanvasAppState) => {
17
+ [groupId: string]: boolean;
18
+ };
19
+ export declare const editGroupForSelectedElement: (appState: AppState, element: NonDeleted<ExcalidrawElement>) => AppState;
20
+ export declare const isElementInGroup: (element: ExcalidrawElement, groupId: string) => boolean;
21
+ export declare const getElementsInGroup: (elements: ElementsMapOrArray, groupId: string) => ExcalidrawElement[];
22
+ export declare const getSelectedGroupIdForElement: (element: ExcalidrawElement, selectedGroupIds: {
23
+ [groupId: string]: boolean;
24
+ }) => string | undefined;
25
+ export declare const addToGroup: (prevGroupIds: ExcalidrawElement["groupIds"], newGroupId: GroupId, editingGroupId: AppState["editingGroupId"]) => string[];
26
+ export declare const removeFromSelectedGroups: (groupIds: ExcalidrawElement["groupIds"], selectedGroupIds: {
27
+ [groupId: string]: boolean;
28
+ }) => string[];
29
+ export declare const getMaximumGroups: (elements: ExcalidrawElement[], elementsMap: ElementsMap) => ExcalidrawElement[][];
30
+ export declare const getNonDeletedGroupIds: (elements: ElementsMap) => Set<string>;
31
+ export declare const elementsAreInSameGroup: (elements: readonly ExcalidrawElement[]) => boolean;
32
+ export declare const isInGroup: (element: NonDeletedExcalidrawElement) => boolean;
33
+ export declare const getNewGroupIdsForDuplication: (groupIds: ExcalidrawElement["groupIds"], editingGroupId: AppState["editingGroupId"], mapper: (groupId: GroupId) => GroupId) => string[];
@@ -1,15 +1,15 @@
1
- import type { LocalPoint, GlobalPoint, Vector } from "@excalidraw/math";
2
- import type { ExcalidrawBindableElement } from "./types";
3
- export declare const HEADING_RIGHT: Heading;
4
- export declare const HEADING_DOWN: Heading;
5
- export declare const HEADING_LEFT: Heading;
6
- export declare const HEADING_UP: Heading;
7
- export type Heading = [1, 0] | [0, 1] | [-1, 0] | [0, -1];
8
- export declare const vectorToHeading: (vec: Vector) => Heading;
9
- export declare const headingForPoint: <P extends GlobalPoint | LocalPoint>(p: P, o: P) => Heading;
10
- export declare const headingForPointIsHorizontal: <P extends GlobalPoint | LocalPoint>(p: P, o: P) => boolean;
11
- export declare const compareHeading: (a: Heading, b: Heading) => boolean;
12
- export declare const headingIsHorizontal: (a: Heading) => boolean;
13
- export declare const headingIsVertical: (a: Heading) => boolean;
14
- export declare const headingForPointFromElement: <Point extends GlobalPoint>(element: Readonly<ExcalidrawBindableElement>, aabb: readonly [minX: number, minY: number, maxX: number, maxY: number], p: Readonly<Point>) => Heading;
15
- export declare const flipHeading: (h: Heading) => Heading;
1
+ import type { LocalPoint, GlobalPoint, Vector } from "@excalidraw/math";
2
+ import type { ExcalidrawBindableElement } from "./types";
3
+ export declare const HEADING_RIGHT: Heading;
4
+ export declare const HEADING_DOWN: Heading;
5
+ export declare const HEADING_LEFT: Heading;
6
+ export declare const HEADING_UP: Heading;
7
+ export type Heading = [1, 0] | [0, 1] | [-1, 0] | [0, -1];
8
+ export declare const vectorToHeading: (vec: Vector) => Heading;
9
+ export declare const headingForPoint: <P extends GlobalPoint | LocalPoint>(p: P, o: P) => Heading;
10
+ export declare const headingForPointIsHorizontal: <P extends GlobalPoint | LocalPoint>(p: P, o: P) => boolean;
11
+ export declare const compareHeading: (a: Heading, b: Heading) => boolean;
12
+ export declare const headingIsHorizontal: (a: Heading) => boolean;
13
+ export declare const headingIsVertical: (a: Heading) => boolean;
14
+ export declare const headingForPointFromElement: <Point extends GlobalPoint>(element: Readonly<ExcalidrawBindableElement>, aabb: readonly [minX: number, minY: number, maxX: number, maxY: number], p: Readonly<Point>) => Heading;
15
+ export declare const flipHeading: (h: Heading) => Heading;
@@ -1,32 +1,32 @@
1
- import type { AppClassProperties, DataURL, BinaryFiles } from "@excalidraw/excalidraw/types";
2
- import type { ExcalidrawElement, FileId, InitializedExcalidrawImageElement } from "./types";
3
- export declare const loadHTMLImageElement: (dataURL: DataURL) => Promise<HTMLImageElement>;
4
- /** NOTE: updates cache even if already populated with given image. Thus,
5
- * you should filter out the images upstream if you want to optimize this. */
6
- export declare const updateImageCache: ({ fileIds, files, imageCache, }: {
7
- fileIds: FileId[];
8
- files: BinaryFiles;
9
- imageCache: AppClassProperties["imageCache"];
10
- }) => Promise<{
11
- imageCache: Map<FileId, {
12
- image: HTMLImageElement | Promise<HTMLImageElement>;
13
- mimeType: import("../../common/src/utility-types").ValueOf<{
14
- readonly svg: "image/svg+xml";
15
- readonly png: "image/png";
16
- readonly jpg: "image/jpeg";
17
- readonly gif: "image/gif";
18
- readonly webp: "image/webp";
19
- readonly bmp: "image/bmp";
20
- readonly ico: "image/x-icon";
21
- readonly avif: "image/avif";
22
- readonly jfif: "image/jfif";
23
- }>;
24
- }>;
25
- /** includes errored files because they cache was updated nonetheless */
26
- updatedFiles: Map<FileId, true>;
27
- /** files that failed when creating HTMLImageElement */
28
- erroredFiles: Map<FileId, true>;
29
- }>;
30
- export declare const getInitializedImageElements: (elements: readonly ExcalidrawElement[]) => InitializedExcalidrawImageElement[];
31
- export declare const isHTMLSVGElement: (node: Node | null) => node is SVGElement;
32
- export declare const normalizeSVG: (SVGString: string) => string;
1
+ import type { AppClassProperties, DataURL, BinaryFiles } from "@excalidraw/excalidraw/types";
2
+ import type { ExcalidrawElement, FileId, InitializedExcalidrawImageElement } from "./types";
3
+ export declare const loadHTMLImageElement: (dataURL: DataURL) => Promise<HTMLImageElement>;
4
+ /** NOTE: updates cache even if already populated with given image. Thus,
5
+ * you should filter out the images upstream if you want to optimize this. */
6
+ export declare const updateImageCache: ({ fileIds, files, imageCache, }: {
7
+ fileIds: FileId[];
8
+ files: BinaryFiles;
9
+ imageCache: AppClassProperties["imageCache"];
10
+ }) => Promise<{
11
+ imageCache: Map<FileId, {
12
+ image: HTMLImageElement | Promise<HTMLImageElement>;
13
+ mimeType: import("../../common/src/utility-types").ValueOf<{
14
+ readonly svg: "image/svg+xml";
15
+ readonly png: "image/png";
16
+ readonly jpg: "image/jpeg";
17
+ readonly gif: "image/gif";
18
+ readonly webp: "image/webp";
19
+ readonly bmp: "image/bmp";
20
+ readonly ico: "image/x-icon";
21
+ readonly avif: "image/avif";
22
+ readonly jfif: "image/jfif";
23
+ }>;
24
+ }>;
25
+ /** includes errored files because they cache was updated nonetheless */
26
+ updatedFiles: Map<FileId, true>;
27
+ /** files that failed when creating HTMLImageElement */
28
+ erroredFiles: Map<FileId, true>;
29
+ }>;
30
+ export declare const getInitializedImageElements: (elements: readonly ExcalidrawElement[]) => InitializedExcalidrawImageElement[];
31
+ export declare const isHTMLSVGElement: (node: Node | null) => node is SVGElement;
32
+ export declare const normalizeSVG: (SVGString: string) => string;