@excalidraw/element 0.18.0-042a6979d → 0.18.0-063e025

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 (308) hide show
  1. package/dist/dev/index.js +7295 -4299
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +20 -19
  4. package/dist/types/common/debug.d.ts +21 -0
  5. package/dist/types/common/src/appEventBus.d.ts +27 -0
  6. package/dist/types/common/src/bounds.d.ts +10 -0
  7. package/dist/types/common/src/colors.d.ts +59 -39
  8. package/dist/types/common/src/constants.d.ts +46 -33
  9. package/dist/types/common/src/editorInterface.d.ts +34 -0
  10. package/dist/types/common/src/font-metadata.d.ts +1 -3
  11. package/dist/types/common/src/index.d.ts +5 -0
  12. package/dist/types/common/src/keys.d.ts +1 -1
  13. package/dist/types/common/src/utility-types.d.ts +0 -1
  14. package/dist/types/common/src/utils.d.ts +46 -76
  15. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  16. package/dist/types/element/src/Scene.d.ts +11 -7
  17. package/dist/types/element/src/align.d.ts +2 -2
  18. package/dist/types/element/src/arrowheads.d.ts +3 -0
  19. package/dist/types/element/src/arrows/focus.d.ts +27 -0
  20. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  21. package/dist/types/element/src/binding.d.ts +69 -50
  22. package/dist/types/element/src/bounds.d.ts +26 -19
  23. package/dist/types/element/src/collision.d.ts +7 -2
  24. package/dist/types/element/src/comparisons.d.ts +8 -7
  25. package/dist/types/element/src/delta.d.ts +0 -1
  26. package/dist/types/element/src/distribute.d.ts +3 -2
  27. package/dist/types/element/src/dragElements.d.ts +3 -3
  28. package/dist/types/element/src/duplicate.d.ts +7 -6
  29. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  30. package/dist/types/element/src/embeddable.d.ts +2 -2
  31. package/dist/types/element/src/flowchart.d.ts +3 -3
  32. package/dist/types/element/src/fractionalIndex.d.ts +4 -4
  33. package/dist/types/element/src/frame.d.ts +14 -9
  34. package/dist/types/element/src/groups.d.ts +9 -9
  35. package/dist/types/element/src/heading.d.ts +2 -1
  36. package/dist/types/element/src/image.d.ts +1 -11
  37. package/dist/types/element/src/index.d.ts +6 -4
  38. package/dist/types/element/src/linearElementEditor.d.ts +31 -30
  39. package/dist/types/element/src/mutateElement.d.ts +5 -1
  40. package/dist/types/element/src/newElement.d.ts +7 -6
  41. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  42. package/dist/types/element/src/renderElement.d.ts +4 -10
  43. package/dist/types/element/src/resizeElements.d.ts +12 -12
  44. package/dist/types/element/src/resizeTest.d.ts +6 -5
  45. package/dist/types/element/src/selection.d.ts +14 -14
  46. package/dist/types/element/src/shape.d.ts +9 -8
  47. package/dist/types/element/src/textElement.d.ts +9 -9
  48. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  49. package/dist/types/element/src/textWrapping.d.ts +26 -0
  50. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  51. package/dist/types/element/src/transformHandles.d.ts +8 -27
  52. package/dist/types/element/src/typeChecks.d.ts +29 -31
  53. package/dist/types/element/src/types.d.ts +20 -14
  54. package/dist/types/element/src/utils.d.ts +9 -4
  55. package/dist/types/element/src/visualdebug.d.ts +58 -0
  56. package/dist/types/element/src/zindex.d.ts +7 -1
  57. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +143 -177
  58. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  59. package/dist/types/excalidraw/actions/actionBoundText.d.ts +102 -125
  60. package/dist/types/excalidraw/actions/actionCanvas.d.ts +522 -1194
  61. package/dist/types/excalidraw/actions/actionClipboard.d.ts +104 -868
  62. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +49 -61
  63. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +164 -202
  64. package/dist/types/excalidraw/actions/actionDeselect.d.ts +161 -0
  65. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  66. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -3
  67. package/dist/types/excalidraw/actions/actionElementLink.d.ts +41 -59
  68. package/dist/types/excalidraw/actions/actionElementLock.d.ts +101 -124
  69. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +50 -62
  70. package/dist/types/excalidraw/actions/actionExport.d.ts +179 -1407
  71. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -394
  72. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  73. package/dist/types/excalidraw/actions/actionFrame.d.ts +304 -386
  74. package/dist/types/excalidraw/actions/actionGroup.d.ts +112 -143
  75. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +162 -211
  76. package/dist/types/excalidraw/actions/actionLink.d.ts +48 -60
  77. package/dist/types/excalidraw/actions/actionMenu.d.ts +40 -424
  78. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
  79. package/dist/types/excalidraw/actions/actionProperties.d.ts +181 -2525
  80. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +56 -72
  81. package/dist/types/excalidraw/actions/actionStyles.d.ts +49 -60
  82. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  83. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +174 -0
  84. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +53 -66
  85. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +174 -0
  86. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +50 -62
  87. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +41 -60
  88. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  89. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +50 -62
  90. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +50 -62
  91. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +51 -63
  92. package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -3
  93. package/dist/types/excalidraw/actions/index.d.ts +5 -2
  94. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  95. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  96. package/dist/types/excalidraw/actions/types.d.ts +7 -7
  97. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  98. package/dist/types/excalidraw/appState.d.ts +24 -15
  99. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  100. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  101. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  102. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  103. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  104. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  105. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  106. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  107. package/dist/types/excalidraw/clipboard.d.ts +57 -19
  108. package/dist/types/excalidraw/components/Actions.d.ts +23 -7
  109. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  110. package/dist/types/excalidraw/components/App.d.ts +179 -100
  111. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  112. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  113. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  114. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +2 -3
  115. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  116. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  117. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  118. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  119. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  120. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  121. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  122. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  123. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
  124. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  125. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  126. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  127. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  128. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  129. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  130. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  131. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  132. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  133. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  134. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  135. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  136. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  137. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  138. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  139. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  140. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  141. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  142. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  143. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  144. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  145. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  146. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  147. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  148. package/dist/types/excalidraw/components/MobileToolBar.d.ts +10 -0
  149. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  150. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  151. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  152. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  153. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  154. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  155. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  156. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  157. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  158. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  159. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  160. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  161. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  162. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  163. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  164. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  165. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  166. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  167. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  168. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  169. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  170. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  171. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  172. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  173. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  174. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  175. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  176. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  177. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  178. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  179. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  180. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  181. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  182. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  183. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  184. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  185. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  186. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  187. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  188. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  189. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  190. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  191. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  192. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  193. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  194. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  195. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  196. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  197. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  198. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  199. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  200. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  201. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  202. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  203. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  204. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  205. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  206. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  207. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  208. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  209. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  210. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  211. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  212. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  213. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +8 -4
  214. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  215. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  216. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  217. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  218. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  219. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  220. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  221. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  222. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  223. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  224. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  225. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  226. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  227. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  228. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  229. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  230. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  231. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  232. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  233. package/dist/types/excalidraw/components/icons.d.ts +51 -21
  234. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
  235. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  236. package/dist/types/excalidraw/components/shapes.d.ts +209 -1
  237. package/dist/types/excalidraw/data/blob.d.ts +331 -12
  238. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  239. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  240. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  241. package/dist/types/excalidraw/data/index.d.ts +8 -9
  242. package/dist/types/excalidraw/data/json.d.ts +171 -3
  243. package/dist/types/excalidraw/data/library.d.ts +25 -10
  244. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  245. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  246. package/dist/types/excalidraw/data/types.d.ts +4 -1
  247. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  248. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  249. package/dist/types/excalidraw/errors.d.ts +14 -0
  250. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  251. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  252. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  253. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  254. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  255. package/dist/types/excalidraw/i18n.d.ts +2 -2
  256. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  257. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  258. package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
  259. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  260. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  261. package/dist/types/excalidraw/scene/Renderer.d.ts +428 -18
  262. package/dist/types/excalidraw/scene/export.d.ts +4 -4
  263. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  264. package/dist/types/excalidraw/scene/types.d.ts +23 -8
  265. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  266. package/dist/types/excalidraw/snapping.d.ts +12 -12
  267. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  268. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  269. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  270. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  271. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  272. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  273. package/dist/types/excalidraw/types.d.ts +294 -43
  274. package/dist/types/excalidraw/viewport.d.ts +316 -0
  275. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
  276. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  277. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  278. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  279. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  280. package/dist/types/laser-pointer/src/state.d.ts +35 -0
  281. package/dist/types/math/src/constants.d.ts +0 -1
  282. package/dist/types/math/src/curve.d.ts +4 -1
  283. package/dist/types/math/src/point.d.ts +8 -2
  284. package/dist/types/math/src/polygon.d.ts +2 -2
  285. package/dist/types/math/src/range.d.ts +1 -3
  286. package/dist/types/math/src/segment.d.ts +4 -3
  287. package/dist/types/math/src/types.d.ts +25 -1
  288. package/dist/types/utils/src/export.d.ts +8 -8
  289. package/dist/types/utils/src/index.d.ts +1 -2
  290. package/dist/types/utils/src/shape.d.ts +6 -6
  291. package/package.json +10 -3
  292. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  293. package/dist/types/excalidraw/charts.d.ts +0 -27
  294. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  295. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  296. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  297. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  298. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  299. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  300. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  301. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  302. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  303. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  304. package/dist/types/excalidraw/index.d.ts +0 -47
  305. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  306. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  307. package/dist/types/utils/src/bbox.d.ts +0 -9
  308. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -37,7 +37,7 @@ export interface LibraryMigrationAdapter {
37
37
  /** clears entire storage afterwards */
38
38
  clear(): MaybePromise<void>;
39
39
  }
40
- export declare const libraryItemsAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
40
+ export declare const libraryItemsAtom: import("jotai").PrimitiveAtom<{
41
41
  status: "loading" | "loaded";
42
42
  /** indicates whether library is initialized with library items (has gone
43
43
  * through at least one update). Used in UI. Specific to this atom only. */
@@ -74,16 +74,31 @@ declare class Library {
74
74
  getLatestLibrary: () => Promise<LibraryItems>;
75
75
  updateLibrary: ({ libraryItems, prompt, merge, openLibraryMenu, defaultStatus, }: {
76
76
  libraryItems: LibraryItemsSource;
77
- merge?: boolean | undefined;
78
- prompt?: boolean | undefined;
79
- openLibraryMenu?: boolean | undefined;
80
- defaultStatus?: "published" | "unpublished" | undefined;
77
+ merge?: boolean;
78
+ prompt?: boolean;
79
+ openLibraryMenu?: boolean;
80
+ defaultStatus?: "unpublished" | "published";
81
81
  }) => Promise<LibraryItems>;
82
- setLibrary: (libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
82
+ setLibrary: (
83
+ /**
84
+ * LibraryItems that will replace current items. Can be a function which
85
+ * will be invoked after all previous tasks are resolved
86
+ * (this is the prefered way to update the library to avoid race conditions,
87
+ * but you'll want to manually merge the library items in the callback
88
+ * - which is what we're doing in Library.importLibrary()).
89
+ *
90
+ * If supplied promise is rejected with AbortError, we swallow it and
91
+ * do not update the library.
92
+ */
93
+ libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
83
94
  }
84
95
  export default Library;
85
96
  export declare const distributeLibraryItemsOnSquareGrid: (libraryItems: LibraryItems) => ExcalidrawElement[];
86
- export declare const validateLibraryUrl: (libraryUrl: string, validator?: string[] | ((libraryUrl: string) => boolean)) => true;
97
+ export declare const validateLibraryUrl: (libraryUrl: string,
98
+ /**
99
+ * @returns `true` if the URL is valid, throws otherwise.
100
+ */
101
+ validator?: ((libraryUrl: string) => boolean) | string[]) => true;
87
102
  export declare const parseLibraryTokensFromUrl: () => {
88
103
  libraryUrl: string;
89
104
  idToken: string | null;
@@ -95,10 +110,10 @@ export declare const useHandleLibrary: (opts: {
95
110
  * Return `true` if the library install url should be allowed.
96
111
  * If not supplied, only the excalidraw.com base domain is allowed.
97
112
  */
98
- validateLibraryUrl?: ((libraryUrl: string) => boolean) | undefined;
113
+ validateLibraryUrl?: (libraryUrl: string) => boolean;
99
114
  } & ({
100
115
  /** @deprecated we recommend using `opts.adapter` instead */
101
- getInitialLibraryItems?: (() => MaybePromise<LibraryItemsSource>) | undefined;
116
+ getInitialLibraryItems?: () => MaybePromise<LibraryItemsSource>;
102
117
  } | {
103
118
  adapter: LibraryPersistenceAdapter;
104
119
  /**
@@ -108,5 +123,5 @@ export declare const useHandleLibrary: (opts: {
108
123
  *
109
124
  * Can be a different LibraryPersistenceAdapter.
110
125
  */
111
- migrationAdapter?: LibraryMigrationAdapter | undefined;
126
+ migrationAdapter?: LibraryMigrationAdapter;
112
127
  })) => void;
@@ -1,5 +1,10 @@
1
+ import type { MaybePromise } from "@excalidraw/common/utility-types";
1
2
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
3
  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;
4
+ export declare const resaveAsImageWithScene: (data: MaybePromise<{
5
+ elements: readonly ExcalidrawElement[];
6
+ appState: AppState;
7
+ files: BinaryFiles;
8
+ }>, fileHandle: FileSystemFileHandle, filename: string) => Promise<{
9
+ fileHandle: FileSystemFileHandle;
5
10
  }>;
@@ -1,4 +1,5 @@
1
- import type { ExcalidrawArrowElement, ExcalidrawElement, ExcalidrawLinearElement, ExcalidrawSelectionElement, ExcalidrawTextElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
1
+ import { type CombineBrandsIfNeeded } from "@excalidraw/common";
2
+ import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, ExcalidrawSelectionElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
3
  import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
4
  import type { ImportedDataState } from "./types";
4
5
  type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
@@ -8,19 +9,33 @@ export type RestoredDataState = {
8
9
  appState: RestoredAppState;
9
10
  files: BinaryFiles;
10
11
  };
11
- export declare const restoreElement: (element: Exclude<ExcalidrawElement, ExcalidrawSelectionElement>, opts?: {
12
+ export declare const restoreElement: (
13
+ /** element to be restored */
14
+ element: Exclude<ExcalidrawElement, ExcalidrawSelectionElement>,
15
+ /** all elements to be restored */
16
+ targetElementsMap: Readonly<ElementsMap>,
17
+ /** used for additional context */
18
+ existingElementsMap: Readonly<ElementsMap> | null | undefined, opts?: {
12
19
  deleteInvisibleElements?: boolean;
13
- }) => ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | ExcalidrawArrowElement | null;
14
- export declare const restoreElements: (elements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
20
+ }) => typeof element | null;
21
+ export declare const restoreElements: <T extends ExcalidrawElement>(targetElements: readonly T[] | undefined | null,
22
+ /** used for additional context (e.g. repairing arrow bindings) */
23
+ existingElements: Readonly<ElementsMapOrArray> | null | undefined, opts?: {
15
24
  refreshDimensions?: boolean;
16
25
  repairBindings?: boolean;
17
26
  deleteInvisibleElements?: boolean;
18
- } | undefined) => OrderedExcalidrawElement[];
27
+ } | undefined) => CombineBrandsIfNeeded<T, OrderedExcalidrawElement>;
28
+ /**
29
+ * When replacing elements that may exist locally, this bumps their versions
30
+ * to the local version + 1. Mainly for later reconciliation to work properly.
31
+ *
32
+ * See https://github.com/excalidraw/excalidraw/issues/3795
33
+ *
34
+ * Generally use this on editor boundaries (importing from file etc.), though
35
+ * it does not apply universally (e.g. we don't want to do this for collab
36
+ * updates).
37
+ */
38
+ export declare const bumpElementVersions: <T extends ExcalidrawElement>(targetElements: readonly T[], localElements: Readonly<ElementsMapOrArray> | null | undefined) => T[];
19
39
  export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
20
- export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
21
- refreshDimensions?: boolean;
22
- repairBindings?: boolean;
23
- deleteInvisibleElements?: boolean;
24
- }) => RestoredDataState;
25
40
  export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
26
41
  export {};
@@ -1,7 +1,7 @@
1
1
  import type { VERSIONS } from "@excalidraw/common";
2
2
  import type { ExcalidrawElement } from "@excalidraw/element/types";
3
3
  import type { cleanAppStateForExport } from "../appState";
4
- import type { AppState, BinaryFiles, LibraryItems, LibraryItems_anyVersion } from "../types";
4
+ import type { AppState, BinaryFiles, LibraryItem, LibraryItems, LibraryItems_anyVersion } from "../types";
5
5
  export interface ExportedDataState {
6
6
  type: string;
7
7
  version: number;
@@ -43,3 +43,6 @@ export interface ImportedLibraryData extends Partial<ExportedLibraryData> {
43
43
  /** @deprecated v1 */
44
44
  library?: LibraryItems;
45
45
  }
46
+ export type ExcalidrawLibraryIds = {
47
+ itemIds: LibraryItem["id"][];
48
+ };
@@ -7,8 +7,8 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
7
7
  set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
8
8
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
9
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;
10
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
11
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
12
12
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
13
13
  } & {
14
14
  dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
@@ -19,21 +19,21 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
19
19
  readonly l: Set<() => void>;
20
20
  readonly d: Set<import("jotai").Atom<unknown>>;
21
21
  readonly t: Set<import("jotai").Atom<unknown>>;
22
- u?: (() => void) | undefined;
23
- } | undefined;
22
+ u?: () => void;
23
+ };
24
24
  v?: unknown;
25
25
  e?: unknown;
26
26
  }>;
27
27
  dev4_get_mounted_atoms: () => Set<import("jotai").Atom<unknown>>;
28
28
  dev4_restore_atoms: (values: Iterable<readonly [import("jotai").Atom<unknown>, unknown]>) => void;
29
- }) | undefined;
29
+ });
30
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;
31
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
32
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
33
33
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
34
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;
35
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
36
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
37
37
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
38
38
  } & {
39
39
  dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
@@ -44,8 +44,8 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
44
44
  readonly l: Set<() => void>;
45
45
  readonly d: Set<import("jotai").Atom<unknown>>;
46
46
  readonly t: Set<import("jotai").Atom<unknown>>;
47
- u?: (() => void) | undefined;
48
- } | undefined;
47
+ u?: () => void;
48
+ };
49
49
  v?: unknown;
50
50
  e?: unknown;
51
51
  }>;
@@ -1,10 +1,9 @@
1
- import { AnimatedTrail } from "../animated-trail";
2
- import type { AnimationFrameHandler } from "../animation-frame-handler";
1
+ import { AnimatedTrail } from "../animatedTrail";
3
2
  import type App from "../components/App";
4
3
  export declare class EraserTrail extends AnimatedTrail {
5
4
  private elementsToErase;
6
5
  private groupsToErase;
7
- constructor(animationFrameHandler: AnimationFrameHandler, app: App);
6
+ constructor(app: App);
8
7
  startPath(x: number, y: number): void;
9
8
  addPointToPath(x: number, y: number, restore?: boolean): string[];
10
9
  private updateElementsToBeErased;
@@ -26,4 +26,18 @@ export declare class WorkerInTheMainChunkError extends Error {
26
26
  export declare class ExcalidrawError extends Error {
27
27
  constructor(message: string);
28
28
  }
29
+ export declare class RequestError extends Error {
30
+ status: number;
31
+ data: any;
32
+ toObject(): {
33
+ name: string;
34
+ status: number;
35
+ message: string;
36
+ };
37
+ constructor({ message, status, data, }?: {
38
+ message?: string;
39
+ status?: number;
40
+ data?: any;
41
+ });
42
+ }
29
43
  export {};
@@ -0,0 +1,29 @@
1
+ import type { AppState } from "../types";
2
+ /**
3
+ * Subscribes to specific appState changes. The component re-renders
4
+ * only when the specified prop(s) change — not on every appState update.
5
+ *
6
+ * Works both inside and outside the <Excalidraw> tree, as long as
7
+ * ExcalidrawAPIContext.Provider is an ancestor (automatically provided
8
+ * inside <Excalidraw>, or manually by the host app).
9
+ *
10
+ * Returns the narrowed value depending on prop form:
11
+ * - `keyof AppState` → `AppState[K]`
12
+ * - `(keyof AppState)[]` → whole `AppState`
13
+ * - selector function → selector's return type `T`
14
+ *
15
+ * If excalidrawAPI is not ready yet (host apps), hook is rerendered with latest
16
+ * value once available.
17
+ */
18
+ export declare function useAppStateValue<K extends keyof AppState>(prop: K, _internal?: boolean): AppState[K];
19
+ export declare function useAppStateValue(props: (keyof AppState)[], _internal?: boolean): AppState;
20
+ export declare function useAppStateValue<T>(selector: (appState: AppState) => T, _internal?: boolean): T;
21
+ /**
22
+ * Subscribes to specific appState changes without causing component rerenders.
23
+ *
24
+ * The callback is called on every matching change, but also on initial render
25
+ * so you can initialize your state.
26
+ */
27
+ export declare function useOnAppStateChange<K extends keyof AppState>(prop: K, callback: (value: AppState[K], appState: AppState) => void): undefined;
28
+ export declare function useOnAppStateChange(props: (keyof AppState)[], callback: (props: AppState, appState: AppState) => void): undefined;
29
+ export declare function useOnAppStateChange<T>(selector: (appState: AppState) => T, callback: (value: T, appState: AppState) => void): undefined;
@@ -1,9 +1,9 @@
1
1
  import type { LibraryItem } from "../types";
2
2
  export type SvgCache = Map<LibraryItem["id"], SVGSVGElement>;
3
- export declare const libraryItemSvgsCache: import("jotai/vanilla/atom").PrimitiveAtom<SvgCache> & {
3
+ export declare const libraryItemSvgsCache: import("jotai").PrimitiveAtom<SvgCache> & {
4
4
  init: SvgCache;
5
5
  };
6
- export declare const useLibraryItemSvg: (id: LibraryItem["id"] | null, elements: LibraryItem["elements"] | undefined, svgCache: SvgCache) => SVGSVGElement | undefined;
6
+ export declare const useLibraryItemSvg: (id: LibraryItem["id"] | null, elements: LibraryItem["elements"] | undefined, svgCache: SvgCache, ref: React.RefObject<HTMLDivElement | null>) => SVGSVGElement | undefined;
7
7
  export declare const useLibraryCache: () => {
8
8
  clearLibraryCache: () => void;
9
9
  deleteItemsFromLibraryCache: (items: LibraryItem["id"][]) => void;
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
2
1
  export declare function useOutsideClick<T extends HTMLElement>(ref: React.RefObject<T | null>,
3
2
  /** if performance is of concern, memoize the callback */
4
- callback: (event: Event) => void,
3
+ callback: (event: Event & {
4
+ target: T;
5
+ }) => void,
5
6
  /**
6
7
  * Optional callback which is called on every click.
7
8
  *
@@ -14,7 +15,7 @@ callback: (event: Event) => void,
14
15
  * Returning `undefined` will fallback to the default behavior.
15
16
  */
16
17
  isInside?: (event: Event & {
17
- target: HTMLElement;
18
+ target: T;
18
19
  },
19
20
  /** the element of the passed ref */
20
21
  container: T) => boolean | undefined): void;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
- export declare const useScrollPosition: <T extends HTMLElement>(elementRef: import("react").RefObject<T | null>) => number;
1
+ export declare const useScrollPosition: <T extends HTMLElement>(elementRef: React.RefObject<T | null>) => number;
@@ -0,0 +1,14 @@
1
+ export type CaretPosition = {
2
+ start: number;
3
+ end: number;
4
+ };
5
+ export declare const saveCaretPosition: () => CaretPosition | null;
6
+ export declare const restoreCaretPosition: (position: CaretPosition | null) => void;
7
+ export declare const withCaretPositionPreservation: (callback: () => void, isCompactMode: boolean, isEditingText: boolean, onPreventClose?: () => void) => void;
8
+ export declare const useTextEditorFocus: () => {
9
+ saveCaretPosition: () => void;
10
+ restoreCaretPosition: () => void;
11
+ clearSavedPosition: () => void;
12
+ hasSavedPosition: boolean;
13
+ };
14
+ export declare const temporarilyDisableTextEditorBlur: (duration?: number) => void;
@@ -15,10 +15,10 @@ export declare const setLanguage: (lang: Language) => Promise<void>;
15
15
  export declare const getLanguage: () => Language;
16
16
  export declare const t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
17
17
  [key: string]: string | number;
18
- } | null | undefined, fallback?: string) => string;
18
+ } | null, fallback?: string) => string;
19
19
  export declare const useI18n: () => {
20
20
  t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
21
21
  [key: string]: string | number;
22
- } | null | undefined, fallback?: string) => string;
22
+ } | null, fallback?: string) => string;
23
23
  langCode: string;
24
24
  };
@@ -1,20 +1,18 @@
1
- import { AnimatedTrail } from "./animated-trail";
2
- import type { Trail } from "./animated-trail";
3
- import type { AnimationFrameHandler } from "./animation-frame-handler";
1
+ import { AnimatedTrail } from "./animatedTrail";
2
+ import type { Trail } from "./animatedTrail";
4
3
  import type App from "./components/App";
5
4
  export declare class LaserTrails implements Trail {
6
- private animationFrameHandler;
7
5
  private app;
8
6
  localTrail: AnimatedTrail;
9
7
  private collabTrails;
10
8
  private container?;
11
- constructor(animationFrameHandler: AnimationFrameHandler, app: App);
9
+ constructor(app: App);
12
10
  private getTrailOptions;
13
11
  startPath(x: number, y: number): void;
14
12
  addPointToPath(x: number, y: number): void;
15
13
  endPath(): void;
16
14
  start(container: SVGSVGElement): void;
17
15
  stop(): void;
18
- onFrame(): void;
19
- private updateCollabTrails;
16
+ private stopCollabTrails;
17
+ updateCollabTrails(collaborators: App["state"]["collaborators"]): void;
20
18
  }
@@ -1,5 +1,4 @@
1
- import { type AnimationFrameHandler } from "../animation-frame-handler";
2
- import { AnimatedTrail } from "../animated-trail";
1
+ import { AnimatedTrail } from "../animatedTrail";
3
2
  import type App from "../components/App";
4
3
  export declare class LassoTrail extends AnimatedTrail {
5
4
  private intersectedElements;
@@ -7,7 +6,7 @@ export declare class LassoTrail extends AnimatedTrail {
7
6
  private elementsSegments;
8
7
  private canvasTranslate;
9
8
  private keepPreviousSelection;
10
- constructor(animationFrameHandler: AnimationFrameHandler, app: App);
9
+ constructor(app: App);
11
10
  startPath(x: number, y: number, keepPreviousSelection?: boolean): void;
12
11
  selectElementsFromIds: (ids: string[]) => void;
13
12
  addPointToPath: (x: number, y: number, keepPreviousSelection?: boolean) => void;
@@ -0,0 +1,16 @@
1
+ export type Animation<R extends object> = (params: {
2
+ deltaTime: number;
3
+ state?: R;
4
+ }) => R | null | undefined;
5
+ export declare class AnimationController {
6
+ private static scheduledFrame;
7
+ private static animations;
8
+ static start<R extends object>(key: string, animation: Animation<R>): void;
9
+ private static scheduleNextFrame;
10
+ private static cancelScheduledFrame;
11
+ private static cancelScheduledFrameIfIdle;
12
+ private static tick;
13
+ static running(key: string): boolean;
14
+ static cancel(key: string): void;
15
+ static reset(): void;
16
+ }
@@ -1,4 +1,3 @@
1
- import type { ElementsMap, ExcalidrawDiamondElement, ExcalidrawRectanguloidElement } from "@excalidraw/element/types";
2
1
  import type { StaticCanvasRenderConfig } from "../scene/types";
3
2
  import type { AppState, StaticCanvasAppState } from "../types";
4
3
  export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke: boolean, fill?: boolean) => void;
@@ -8,11 +7,10 @@ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normali
8
7
  scale: number;
9
8
  normalizedWidth: number;
10
9
  normalizedHeight: number;
11
- theme?: import("@excalidraw/element/types").Theme | undefined;
12
- isExporting?: boolean | undefined;
13
- viewBackgroundColor?: string | null | undefined;
10
+ theme?: AppState["theme"];
11
+ isExporting?: StaticCanvasRenderConfig["isExporting"];
12
+ viewBackgroundColor?: StaticCanvasAppState["viewBackgroundColor"];
14
13
  }) => CanvasRenderingContext2D;
15
- export declare const drawHighlightForRectWithRotation: (context: CanvasRenderingContext2D, element: ExcalidrawRectanguloidElement, elementsMap: ElementsMap, padding: number) => void;
16
- export declare const strokeEllipseWithRotation: (context: CanvasRenderingContext2D, width: number, height: number, cx: number, cy: number, angle: number) => void;
17
- export declare const strokeRectWithRotation: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean, radius?: number) => void;
18
- export declare const drawHighlightForDiamondWithRotation: (context: CanvasRenderingContext2D, padding: number, element: ExcalidrawDiamondElement, elementsMap: ElementsMap) => void;
14
+ export declare const strokeRectWithRotation_simple: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean,
15
+ /** should account for zoom */
16
+ radius?: number) => void;
@@ -1,20 +1,12 @@
1
- import type { InteractiveSceneRenderConfig, RenderableElementsMap } from "../scene/types";
2
- /** throttled to animation framerate */
3
- export declare const renderInteractiveSceneThrottled: {
4
- (config: InteractiveSceneRenderConfig): void;
5
- flush(): void;
6
- cancel(): void;
1
+ import { getScrollBars } from "../scene/scrollbars";
2
+ import type { InteractiveSceneRenderConfig } from "../scene/types";
3
+ declare const _renderInteractiveScene: ({ app, canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, editorInterface, animationState, deltaTime, }: InteractiveSceneRenderConfig) => {
4
+ scrollBars?: ReturnType<typeof getScrollBars>;
5
+ animationState?: typeof animationState;
7
6
  };
8
7
  /**
9
8
  * Interactive scene is the ui-canvas where we render bounding boxes, selections
10
9
  * and other ui stuff.
11
10
  */
12
- export declare const renderInteractiveScene: <U extends ({ canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, device, }: InteractiveSceneRenderConfig) => {
13
- atLeastOneVisibleElement: boolean;
14
- elementsMap: RenderableElementsMap;
15
- scrollBars?: undefined;
16
- } | {
17
- scrollBars: import("../scene/types").ScrollBars | undefined;
18
- atLeastOneVisibleElement: boolean;
19
- elementsMap: RenderableElementsMap;
20
- }, T extends boolean = false>(renderConfig: InteractiveSceneRenderConfig, throttle?: T | undefined) => T extends true ? void : ReturnType<U>;
11
+ export declare const renderInteractiveScene: <U extends typeof _renderInteractiveScene>(renderConfig: InteractiveSceneRenderConfig) => ReturnType<U>;
12
+ export {};