@excalidraw/element 0.18.0-91c7748 → 0.18.0-a52cd20

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 (360) hide show
  1. package/dist/dev/index.js +15101 -8988
  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 +81 -39
  8. package/dist/types/common/src/constants.d.ts +89 -34
  9. package/dist/types/common/src/editorInterface.d.ts +34 -0
  10. package/dist/types/common/src/font-metadata.d.ts +1 -3
  11. package/dist/types/common/src/index.d.ts +5 -0
  12. package/dist/types/common/src/keys.d.ts +5 -1
  13. package/dist/types/common/src/points.d.ts +1 -1
  14. package/dist/types/common/src/random.d.ts +7 -0
  15. package/dist/types/common/src/utility-types.d.ts +0 -1
  16. package/dist/types/common/src/utils.d.ts +52 -78
  17. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  18. package/dist/types/element/src/Scene.d.ts +12 -8
  19. package/dist/types/element/src/align.d.ts +2 -2
  20. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  21. package/dist/types/element/src/arrowheads.d.ts +3 -0
  22. package/dist/types/element/src/arrows/focus.d.ts +30 -0
  23. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  24. package/dist/types/element/src/binding.d.ts +85 -51
  25. package/dist/types/element/src/bounds.d.ts +25 -18
  26. package/dist/types/element/src/bucketFill.d.ts +110 -0
  27. package/dist/types/element/src/collision.d.ts +11 -3
  28. package/dist/types/element/src/comparisons.d.ts +10 -7
  29. package/dist/types/element/src/convertToShape.d.ts +23 -0
  30. package/dist/types/element/src/delta.d.ts +23 -1
  31. package/dist/types/element/src/distribute.d.ts +3 -2
  32. package/dist/types/element/src/dragElements.d.ts +30 -3
  33. package/dist/types/element/src/duplicate.d.ts +67 -6
  34. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  35. package/dist/types/element/src/embeddable.d.ts +2 -2
  36. package/dist/types/element/src/flowchart.d.ts +11 -7
  37. package/dist/types/element/src/fractionalIndex.d.ts +4 -4
  38. package/dist/types/element/src/frame.d.ts +16 -11
  39. package/dist/types/element/src/groups.d.ts +9 -9
  40. package/dist/types/element/src/heading.d.ts +2 -1
  41. package/dist/types/element/src/image.d.ts +1 -11
  42. package/dist/types/element/src/index.d.ts +9 -4
  43. package/dist/types/element/src/linearElementEditor.d.ts +48 -30
  44. package/dist/types/element/src/mutateElement.d.ts +6 -2
  45. package/dist/types/element/src/newElement.d.ts +59 -9
  46. package/dist/types/element/src/renderElement.d.ts +21 -13
  47. package/dist/types/element/src/resizeElements.d.ts +12 -12
  48. package/dist/types/element/src/resizeTest.d.ts +6 -5
  49. package/dist/types/element/src/selection.d.ts +14 -14
  50. package/dist/types/element/src/shape.d.ts +36 -9
  51. package/dist/types/element/src/sizeHelpers.d.ts +6 -0
  52. package/dist/types/element/src/sortElements.d.ts +10 -0
  53. package/dist/types/element/src/stickyNote.d.ts +183 -0
  54. package/dist/types/element/src/textElement.d.ts +21 -10
  55. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  56. package/dist/types/element/src/textWrapping.d.ts +26 -0
  57. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +27 -8
  58. package/dist/types/element/src/transformHandles.d.ts +8 -27
  59. package/dist/types/element/src/typeChecks.d.ts +30 -31
  60. package/dist/types/element/src/types.d.ts +55 -20
  61. package/dist/types/element/src/utils.d.ts +22 -6
  62. package/dist/types/element/src/visualdebug.d.ts +58 -0
  63. package/dist/types/element/src/zindex.d.ts +7 -1
  64. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +215 -189
  65. package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
  66. package/dist/types/excalidraw/actions/actionBoundText.d.ts +150 -133
  67. package/dist/types/excalidraw/actions/actionCanvas.d.ts +543 -1576
  68. package/dist/types/excalidraw/actions/actionClipboard.d.ts +152 -880
  69. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +73 -65
  70. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +237 -214
  71. package/dist/types/excalidraw/actions/actionDeselect.d.ts +182 -0
  72. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
  73. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -3
  74. package/dist/types/excalidraw/actions/actionElementLink.d.ts +65 -63
  75. package/dist/types/excalidraw/actions/actionElementLock.d.ts +149 -132
  76. package/dist/types/excalidraw/actions/actionExport.d.ts +228 -1423
  77. package/dist/types/excalidraw/actions/actionFinalize.d.ts +11 -396
  78. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  79. package/dist/types/excalidraw/actions/actionFrame.d.ts +373 -521
  80. package/dist/types/excalidraw/actions/actionGroup.d.ts +160 -151
  81. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +236 -214
  82. package/dist/types/excalidraw/actions/actionLink.d.ts +72 -64
  83. package/dist/types/excalidraw/actions/actionMenu.d.ts +64 -430
  84. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -361
  85. package/dist/types/excalidraw/actions/actionProperties.d.ts +241 -2560
  86. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +80 -76
  87. package/dist/types/excalidraw/actions/actionStyles.d.ts +74 -65
  88. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  89. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleArrowBinding.d.ts} +88 -79
  90. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +77 -70
  91. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +195 -0
  92. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +74 -66
  93. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +65 -64
  94. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
  95. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +74 -66
  96. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +75 -67
  97. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +75 -67
  98. package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -3
  99. package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
  100. package/dist/types/excalidraw/actions/index.d.ts +5 -3
  101. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  102. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  103. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  104. package/dist/types/excalidraw/actions/types.d.ts +11 -7
  105. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  106. package/dist/types/excalidraw/appState.d.ts +50 -20
  107. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  108. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  109. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  110. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  111. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  112. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  113. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  114. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  115. package/dist/types/excalidraw/clipboard.d.ts +13 -38
  116. package/dist/types/excalidraw/components/Actions.d.ts +26 -11
  117. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  118. package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
  119. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  120. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  121. package/dist/types/excalidraw/components/App.d.ts +646 -132
  122. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  123. package/dist/types/excalidraw/components/App.duplicate.d.ts +51 -0
  124. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  125. package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
  126. package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
  127. package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
  128. package/dist/types/excalidraw/components/App.viewport.d.ts +113 -0
  129. package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
  130. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  131. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  132. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  133. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -5
  134. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  135. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +7 -1
  136. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -2
  137. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +5 -2
  138. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  139. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
  140. package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
  141. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  142. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  143. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  144. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  145. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
  146. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  147. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  148. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  149. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  150. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  151. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  152. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
  153. package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
  154. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  155. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +4 -1
  156. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
  157. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +2 -1
  158. package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
  159. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  160. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  161. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  162. package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
  163. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  164. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  165. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  166. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  167. package/dist/types/excalidraw/components/LayerUI.d.ts +6 -2
  168. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  169. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  170. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  171. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +7 -3
  172. package/dist/types/excalidraw/components/LibraryUnit.d.ts +9 -5
  173. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  174. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  175. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  176. package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
  177. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  178. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  179. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  180. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  181. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  182. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  183. package/dist/types/excalidraw/components/Popover.d.ts +2 -3
  184. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  185. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  186. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  187. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  188. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  189. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  190. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  191. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  192. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
  193. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  194. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  195. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  196. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  197. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  198. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  199. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  200. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  201. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  202. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  203. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
  204. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  205. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  206. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  207. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  208. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  209. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  210. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  211. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  212. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  213. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  214. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  215. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  216. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  217. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  218. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  219. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  220. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  221. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  222. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  223. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  224. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  225. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  226. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  227. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  228. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  229. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  230. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  231. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  232. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  233. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  234. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  235. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  236. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  237. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  238. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  239. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  240. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  241. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  242. package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
  243. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  244. package/dist/types/excalidraw/components/Tools.d.ts +151 -0
  245. package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
  246. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
  247. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
  248. package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
  249. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  250. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  251. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  252. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +10 -4
  253. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
  254. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  255. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  256. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  257. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  258. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  259. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  260. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  261. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  262. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  263. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  264. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  265. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  266. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  267. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  268. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  269. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  270. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  271. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  272. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  273. package/dist/types/excalidraw/components/icons.d.ts +51 -23
  274. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +26 -3
  275. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  276. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  277. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  278. package/dist/types/excalidraw/data/blob.d.ts +373 -8
  279. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  280. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  281. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  282. package/dist/types/excalidraw/data/index.d.ts +8 -9
  283. package/dist/types/excalidraw/data/json.d.ts +192 -3
  284. package/dist/types/excalidraw/data/library.d.ts +25 -10
  285. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  286. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  287. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  288. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  289. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  290. package/dist/types/excalidraw/errors.d.ts +14 -0
  291. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
  292. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  293. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
  294. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  295. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  296. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
  297. package/dist/types/excalidraw/i18n.d.ts +2 -2
  298. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  299. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  300. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  301. package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
  302. package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
  303. package/dist/types/excalidraw/renderer/helpers.d.ts +31 -8
  304. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
  305. package/dist/types/excalidraw/scene/Renderer.d.ts +491 -19
  306. package/dist/types/excalidraw/scene/export.d.ts +4 -4
  307. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  308. package/dist/types/excalidraw/scene/types.d.ts +28 -8
  309. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  310. package/dist/types/excalidraw/snapping.d.ts +12 -12
  311. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  312. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  313. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  314. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  315. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  316. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  317. package/dist/types/excalidraw/types.d.ts +644 -60
  318. package/dist/types/excalidraw/viewport.d.ts +302 -0
  319. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +14 -5
  320. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  321. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  322. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  323. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  324. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  325. package/dist/types/math/src/constants.d.ts +0 -1
  326. package/dist/types/math/src/curve.d.ts +23 -13
  327. package/dist/types/math/src/index.d.ts +1 -0
  328. package/dist/types/math/src/pca.d.ts +79 -0
  329. package/dist/types/math/src/point.d.ts +8 -2
  330. package/dist/types/math/src/polygon.d.ts +26 -2
  331. package/dist/types/math/src/range.d.ts +1 -3
  332. package/dist/types/math/src/segment.d.ts +9 -3
  333. package/dist/types/math/src/types.d.ts +25 -1
  334. package/dist/types/utils/src/export.d.ts +9 -8
  335. package/dist/types/utils/src/index.d.ts +1 -2
  336. package/dist/types/utils/src/shape.d.ts +8 -8
  337. package/package.json +10 -3
  338. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  339. package/dist/types/excalidraw/charts.d.ts +0 -27
  340. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  341. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  342. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  343. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  344. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  345. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
  346. package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
  347. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  348. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
  349. package/dist/types/excalidraw/components/shapes.d.ts +0 -190
  350. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  351. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  352. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  353. package/dist/types/excalidraw/cursor.d.ts +0 -5
  354. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  355. package/dist/types/excalidraw/index.d.ts +0 -47
  356. package/dist/types/excalidraw/polyfill.d.ts +0 -2
  357. package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
  358. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  359. package/dist/types/utils/src/bbox.d.ts +0 -9
  360. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -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,18 +1,41 @@
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";
3
+ export declare const DEFAULT_SELECTION_COLOR = "#6965db";
4
+ /**
5
+ * Returns the theme's selection color (`--color-selection`), read from the
6
+ * computed style of any element inside the editor container so that host
7
+ * overrides are respected. Falls back to the default when unavailable.
8
+ */
9
+ export declare const getSelectionColor: (element: Element | null | undefined) => string;
4
10
  export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke: boolean, fill?: boolean) => void;
11
+ /**
12
+ * The scroll the renderers draw at: the real one, rounded to whole device
13
+ * pixels. Panning writes a fractional scroll (pointer delta ÷ zoom), and an
14
+ * element's cached bitmap blitted at a fractional device offset gets
15
+ * resampled — so as the fraction drifts under a pan, every element pulses
16
+ * between crisp and soft. A whole-pixel scroll moves the scene the way a
17
+ * browser scrolls a page: each element keeps its own, constant sub-pixel
18
+ * phase and a pan never changes how anything is filtered. The difference
19
+ * stays under half a device pixel, so hit-testing and DOM overlays keep
20
+ * using the real scroll. Identity when nothing needs to change.
21
+ */
22
+ export declare const snapScrollToDevicePixels: <T extends {
23
+ scrollX: number;
24
+ scrollY: number;
25
+ zoom: {
26
+ value: number;
27
+ };
28
+ }>(appState: T, scale: number) => T;
5
29
  export declare const getNormalizedCanvasDimensions: (canvas: HTMLCanvasElement, scale: number) => [number, number];
6
30
  export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normalizedHeight, theme, isExporting, viewBackgroundColor, }: {
7
31
  canvas: HTMLCanvasElement;
8
32
  scale: number;
9
33
  normalizedWidth: number;
10
34
  normalizedHeight: number;
11
- theme?: import("@excalidraw/element/types").Theme | undefined;
12
- isExporting?: boolean | undefined;
13
- viewBackgroundColor?: string | null | undefined;
35
+ theme?: AppState["theme"];
36
+ isExporting?: StaticCanvasRenderConfig["isExporting"];
37
+ viewBackgroundColor?: StaticCanvasAppState["viewBackgroundColor"];
14
38
  }) => 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;
39
+ export declare const strokeRectWithRotation_simple: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean,
40
+ /** should account for zoom */
41
+ 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: unsnappedAppState, 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 {};
@@ -1,27 +1,499 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
1
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { Scene } from "@excalidraw/element";
3
- import type { AppState } from "../types";
3
+ import type { RenderableElementsMap } from "./types";
4
+ import type { AppState, ElementRenderOffsets } from "../types";
5
+ type GetRenderableElementsOpts = {
6
+ zoom: AppState["zoom"];
7
+ offsetLeft: AppState["offsetLeft"];
8
+ offsetTop: AppState["offsetTop"];
9
+ scrollX: AppState["scrollX"];
10
+ scrollY: AppState["scrollY"];
11
+ height: AppState["height"];
12
+ width: AppState["width"];
13
+ editingTextElement: AppState["editingTextElement"];
14
+ newElement: AppState["newElement"];
15
+ selectedElements: readonly NonDeletedExcalidrawElement[];
16
+ selectedElementsAreBeingDragged: AppState["selectedElementsAreBeingDragged"];
17
+ frameToHighlight: AppState["frameToHighlight"];
18
+ };
4
19
  export declare class Renderer {
5
20
  private scene;
6
21
  constructor(scene: Scene);
7
- getRenderableElements: ((opts: {
8
- zoom: AppState["zoom"];
9
- offsetLeft: AppState["offsetLeft"];
10
- offsetTop: AppState["offsetTop"];
11
- scrollX: AppState["scrollX"];
12
- scrollY: AppState["scrollY"];
13
- height: AppState["height"];
14
- width: AppState["width"];
15
- editingTextElement: AppState["editingTextElement"];
16
- /** note: first render of newElement will always bust the cache
17
- * (we'd have to prefilter elements outside of this function) */
18
- newElementId: ExcalidrawElement["id"] | undefined;
19
- sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
20
- }) => {
21
- elementsMap: Map<string, NonDeletedExcalidrawElement> & import("../../common/src/utility-types").MakeBrand<"NonDeletedElementsMap"> & import("../../common/src/utility-types").MakeBrand<"RenderableElementsMap">;
22
+ /**
23
+ * Adjusts the document-visible set for render-override translations: an
24
+ * element leaves it when its offset moves it out of view and enters it when
25
+ * its offset brings it in; everything else keeps its document visibility.
26
+ * Only translated elements go through viewport geometry. The result is
27
+ * memoized on the offsets' identity so that opacity-only snapshots don't
28
+ * reach it at all.
29
+ */
30
+ getVisibleElementsWithRenderOffsets(visibleElements: readonly NonDeletedExcalidrawElement[], elementsMap: RenderableElementsMap, appState: AppState, offsets: ElementRenderOffsets): readonly NonDeletedExcalidrawElement[];
31
+ private _getVisibleElementsWithRenderOffsets;
32
+ /** the document-visible elements as a set, cached per visible array */
33
+ private visibleSets;
34
+ private getVisibleSet;
35
+ private getVisibleCanvasElements;
36
+ private getRenderableElementsMap;
37
+ private sortSelectedElementsIntoHighlightedFrame;
38
+ private _getRenderableElements;
39
+ getRenderableElements: (opts: GetRenderableElementsOpts) => {
40
+ elementsMap: RenderableElementsMap;
22
41
  visibleElements: readonly NonDeletedExcalidrawElement[];
23
- }) & {
24
- clear: () => void;
42
+ newElementCanvasElement: (Readonly<{
43
+ id: string;
44
+ x: number;
45
+ y: number;
46
+ strokeColor: string;
47
+ backgroundColor: string;
48
+ fillStyle: import("@excalidraw/element/types").FillStyle;
49
+ strokeWidth: number;
50
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
51
+ roundness: null | {
52
+ type: import("@excalidraw/element/types").RoundnessType;
53
+ value?: number;
54
+ };
55
+ roughness: number;
56
+ opacity: number;
57
+ width: number;
58
+ height: number;
59
+ angle: import("@excalidraw/math").Radians;
60
+ seed: number;
61
+ version: number;
62
+ versionNonce: number;
63
+ index: import("@excalidraw/element/types").FractionalIndex | null;
64
+ isDeleted: boolean;
65
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
66
+ frameId: string | null;
67
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
68
+ updated: number;
69
+ created: number | null;
70
+ link: string | null;
71
+ locked: boolean;
72
+ customData?: Record<string, any>;
73
+ }> & Readonly<{
74
+ type: "line" | "arrow";
75
+ points: readonly import("@excalidraw/math").LocalPoint[];
76
+ startBinding: import("@excalidraw/element/types").FixedPointBinding | null;
77
+ endBinding: import("@excalidraw/element/types").FixedPointBinding | null;
78
+ startArrowhead: import("@excalidraw/element/types").Arrowhead | null;
79
+ endArrowhead: import("@excalidraw/element/types").Arrowhead | null;
80
+ }> & {
81
+ isDeleted: false;
82
+ }) | (Readonly<{
83
+ id: string;
84
+ x: number;
85
+ y: number;
86
+ strokeColor: string;
87
+ backgroundColor: string;
88
+ fillStyle: import("@excalidraw/element/types").FillStyle;
89
+ strokeWidth: number;
90
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
91
+ roundness: null | {
92
+ type: import("@excalidraw/element/types").RoundnessType;
93
+ value?: number;
94
+ };
95
+ roughness: number;
96
+ opacity: number;
97
+ width: number;
98
+ height: number;
99
+ angle: import("@excalidraw/math").Radians;
100
+ seed: number;
101
+ version: number;
102
+ versionNonce: number;
103
+ index: import("@excalidraw/element/types").FractionalIndex | null;
104
+ isDeleted: boolean;
105
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
106
+ frameId: string | null;
107
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
108
+ updated: number;
109
+ created: number | null;
110
+ link: string | null;
111
+ locked: boolean;
112
+ customData?: Record<string, any>;
113
+ }> & {
114
+ type: "rectangle";
115
+ } & {
116
+ isDeleted: false;
117
+ }) | (Readonly<{
118
+ id: string;
119
+ x: number;
120
+ y: number;
121
+ strokeColor: string;
122
+ backgroundColor: string;
123
+ fillStyle: import("@excalidraw/element/types").FillStyle;
124
+ strokeWidth: number;
125
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
126
+ roundness: null | {
127
+ type: import("@excalidraw/element/types").RoundnessType;
128
+ value?: number;
129
+ };
130
+ roughness: number;
131
+ opacity: number;
132
+ width: number;
133
+ height: number;
134
+ angle: import("@excalidraw/math").Radians;
135
+ seed: number;
136
+ version: number;
137
+ versionNonce: number;
138
+ index: import("@excalidraw/element/types").FractionalIndex | null;
139
+ isDeleted: boolean;
140
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
141
+ frameId: string | null;
142
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
143
+ updated: number;
144
+ created: number | null;
145
+ link: string | null;
146
+ locked: boolean;
147
+ customData?: Record<string, any>;
148
+ }> & Readonly<{
149
+ type: "stickynote";
150
+ baseHeight: number;
151
+ }> & {
152
+ isDeleted: false;
153
+ }) | (Readonly<{
154
+ id: string;
155
+ x: number;
156
+ y: number;
157
+ strokeColor: string;
158
+ backgroundColor: string;
159
+ fillStyle: import("@excalidraw/element/types").FillStyle;
160
+ strokeWidth: number;
161
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
162
+ roundness: null | {
163
+ type: import("@excalidraw/element/types").RoundnessType;
164
+ value?: number;
165
+ };
166
+ roughness: number;
167
+ opacity: number;
168
+ width: number;
169
+ height: number;
170
+ angle: import("@excalidraw/math").Radians;
171
+ seed: number;
172
+ version: number;
173
+ versionNonce: number;
174
+ index: import("@excalidraw/element/types").FractionalIndex | null;
175
+ isDeleted: boolean;
176
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
177
+ frameId: string | null;
178
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
179
+ updated: number;
180
+ created: number | null;
181
+ link: string | null;
182
+ locked: boolean;
183
+ customData?: Record<string, any>;
184
+ }> & {
185
+ type: "diamond";
186
+ } & {
187
+ isDeleted: false;
188
+ }) | (Readonly<{
189
+ id: string;
190
+ x: number;
191
+ y: number;
192
+ strokeColor: string;
193
+ backgroundColor: string;
194
+ fillStyle: import("@excalidraw/element/types").FillStyle;
195
+ strokeWidth: number;
196
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
197
+ roundness: null | {
198
+ type: import("@excalidraw/element/types").RoundnessType;
199
+ value?: number;
200
+ };
201
+ roughness: number;
202
+ opacity: number;
203
+ width: number;
204
+ height: number;
205
+ angle: import("@excalidraw/math").Radians;
206
+ seed: number;
207
+ version: number;
208
+ versionNonce: number;
209
+ index: import("@excalidraw/element/types").FractionalIndex | null;
210
+ isDeleted: boolean;
211
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
212
+ frameId: string | null;
213
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
214
+ updated: number;
215
+ created: number | null;
216
+ link: string | null;
217
+ locked: boolean;
218
+ customData?: Record<string, any>;
219
+ }> & {
220
+ type: "ellipse";
221
+ } & {
222
+ isDeleted: false;
223
+ }) | (Readonly<{
224
+ id: string;
225
+ x: number;
226
+ y: number;
227
+ strokeColor: string;
228
+ backgroundColor: string;
229
+ fillStyle: import("@excalidraw/element/types").FillStyle;
230
+ strokeWidth: number;
231
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
232
+ roundness: null | {
233
+ type: import("@excalidraw/element/types").RoundnessType;
234
+ value?: number;
235
+ };
236
+ roughness: number;
237
+ opacity: number;
238
+ width: number;
239
+ height: number;
240
+ angle: import("@excalidraw/math").Radians;
241
+ seed: number;
242
+ version: number;
243
+ versionNonce: number;
244
+ index: import("@excalidraw/element/types").FractionalIndex | null;
245
+ isDeleted: boolean;
246
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
247
+ frameId: string | null;
248
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
249
+ updated: number;
250
+ created: number | null;
251
+ link: string | null;
252
+ locked: boolean;
253
+ customData?: Record<string, any>;
254
+ }> & Readonly<{
255
+ type: "embeddable";
256
+ }> & {
257
+ isDeleted: false;
258
+ }) | (Readonly<{
259
+ id: string;
260
+ x: number;
261
+ y: number;
262
+ strokeColor: string;
263
+ backgroundColor: string;
264
+ fillStyle: import("@excalidraw/element/types").FillStyle;
265
+ strokeWidth: number;
266
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
267
+ roundness: null | {
268
+ type: import("@excalidraw/element/types").RoundnessType;
269
+ value?: number;
270
+ };
271
+ roughness: number;
272
+ opacity: number;
273
+ width: number;
274
+ height: number;
275
+ angle: import("@excalidraw/math").Radians;
276
+ seed: number;
277
+ version: number;
278
+ versionNonce: number;
279
+ index: import("@excalidraw/element/types").FractionalIndex | null;
280
+ isDeleted: boolean;
281
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
282
+ frameId: string | null;
283
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
284
+ updated: number;
285
+ created: number | null;
286
+ link: string | null;
287
+ locked: boolean;
288
+ customData?: Record<string, any>;
289
+ }> & Readonly<{
290
+ type: "iframe";
291
+ customData?: {
292
+ generationData?: import("@excalidraw/element/types").MagicGenerationData;
293
+ };
294
+ }> & {
295
+ isDeleted: false;
296
+ }) | (Readonly<{
297
+ id: string;
298
+ x: number;
299
+ y: number;
300
+ strokeColor: string;
301
+ backgroundColor: string;
302
+ fillStyle: import("@excalidraw/element/types").FillStyle;
303
+ strokeWidth: number;
304
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
305
+ roundness: null | {
306
+ type: import("@excalidraw/element/types").RoundnessType;
307
+ value?: number;
308
+ };
309
+ roughness: number;
310
+ opacity: number;
311
+ width: number;
312
+ height: number;
313
+ angle: import("@excalidraw/math").Radians;
314
+ seed: number;
315
+ version: number;
316
+ versionNonce: number;
317
+ index: import("@excalidraw/element/types").FractionalIndex | null;
318
+ isDeleted: boolean;
319
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
320
+ frameId: string | null;
321
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
322
+ updated: number;
323
+ created: number | null;
324
+ link: string | null;
325
+ locked: boolean;
326
+ customData?: Record<string, any>;
327
+ }> & Readonly<{
328
+ type: "image";
329
+ fileId: import("@excalidraw/element/types").FileId | null;
330
+ status: "pending" | "saved" | "error";
331
+ scale: [number, number];
332
+ crop: import("@excalidraw/element/types").ImageCrop | null;
333
+ }> & {
334
+ isDeleted: false;
335
+ }) | (Readonly<{
336
+ id: string;
337
+ x: number;
338
+ y: number;
339
+ strokeColor: string;
340
+ backgroundColor: string;
341
+ fillStyle: import("@excalidraw/element/types").FillStyle;
342
+ strokeWidth: number;
343
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
344
+ roundness: null | {
345
+ type: import("@excalidraw/element/types").RoundnessType;
346
+ value?: number;
347
+ };
348
+ roughness: number;
349
+ opacity: number;
350
+ width: number;
351
+ height: number;
352
+ angle: import("@excalidraw/math").Radians;
353
+ seed: number;
354
+ version: number;
355
+ versionNonce: number;
356
+ index: import("@excalidraw/element/types").FractionalIndex | null;
357
+ isDeleted: boolean;
358
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
359
+ frameId: string | null;
360
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
361
+ updated: number;
362
+ created: number | null;
363
+ link: string | null;
364
+ locked: boolean;
365
+ customData?: Record<string, any>;
366
+ }> & {
367
+ type: "frame";
368
+ name: string | null;
369
+ } & {
370
+ isDeleted: false;
371
+ }) | (Readonly<{
372
+ id: string;
373
+ x: number;
374
+ y: number;
375
+ strokeColor: string;
376
+ backgroundColor: string;
377
+ fillStyle: import("@excalidraw/element/types").FillStyle;
378
+ strokeWidth: number;
379
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
380
+ roundness: null | {
381
+ type: import("@excalidraw/element/types").RoundnessType;
382
+ value?: number;
383
+ };
384
+ roughness: number;
385
+ opacity: number;
386
+ width: number;
387
+ height: number;
388
+ angle: import("@excalidraw/math").Radians;
389
+ seed: number;
390
+ version: number;
391
+ versionNonce: number;
392
+ index: import("@excalidraw/element/types").FractionalIndex | null;
393
+ isDeleted: boolean;
394
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
395
+ frameId: string | null;
396
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
397
+ updated: number;
398
+ created: number | null;
399
+ link: string | null;
400
+ locked: boolean;
401
+ customData?: Record<string, any>;
402
+ }> & {
403
+ type: "magicframe";
404
+ name: string | null;
405
+ } & {
406
+ isDeleted: false;
407
+ }) | (Readonly<{
408
+ id: string;
409
+ x: number;
410
+ y: number;
411
+ strokeColor: string;
412
+ backgroundColor: string;
413
+ fillStyle: import("@excalidraw/element/types").FillStyle;
414
+ strokeWidth: number;
415
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
416
+ roundness: null | {
417
+ type: import("@excalidraw/element/types").RoundnessType;
418
+ value?: number;
419
+ };
420
+ roughness: number;
421
+ opacity: number;
422
+ width: number;
423
+ height: number;
424
+ angle: import("@excalidraw/math").Radians;
425
+ seed: number;
426
+ version: number;
427
+ versionNonce: number;
428
+ index: import("@excalidraw/element/types").FractionalIndex | null;
429
+ isDeleted: boolean;
430
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
431
+ frameId: string | null;
432
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
433
+ updated: number;
434
+ created: number | null;
435
+ link: string | null;
436
+ locked: boolean;
437
+ customData?: Record<string, any>;
438
+ }> & Readonly<{
439
+ type: "text";
440
+ fontSize: number;
441
+ fontFamily: import("@excalidraw/element/types").FontFamilyValues;
442
+ baseFontSize: number | null;
443
+ text: string;
444
+ textAlign: import("@excalidraw/element/types").TextAlign;
445
+ verticalAlign: import("@excalidraw/element/types").VerticalAlign;
446
+ containerId: import("@excalidraw/element/types").ExcalidrawTextContainer["id"] | null;
447
+ originalText: string;
448
+ autoResize: boolean;
449
+ lineHeight: number & {
450
+ _brand: "unitlessLineHeight";
451
+ };
452
+ labelPosition?: number | null;
453
+ }> & {
454
+ isDeleted: false;
455
+ }) | (Readonly<{
456
+ id: string;
457
+ x: number;
458
+ y: number;
459
+ strokeColor: string;
460
+ backgroundColor: string;
461
+ fillStyle: import("@excalidraw/element/types").FillStyle;
462
+ strokeWidth: number;
463
+ strokeStyle: import("@excalidraw/element/types").StrokeStyle;
464
+ roundness: null | {
465
+ type: import("@excalidraw/element/types").RoundnessType;
466
+ value?: number;
467
+ };
468
+ roughness: number;
469
+ opacity: number;
470
+ width: number;
471
+ height: number;
472
+ angle: import("@excalidraw/math").Radians;
473
+ seed: number;
474
+ version: number;
475
+ versionNonce: number;
476
+ index: import("@excalidraw/element/types").FractionalIndex | null;
477
+ isDeleted: boolean;
478
+ groupIds: readonly import("@excalidraw/element/types").GroupId[];
479
+ frameId: string | null;
480
+ boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
481
+ updated: number;
482
+ created: number | null;
483
+ link: string | null;
484
+ locked: boolean;
485
+ customData?: Record<string, any>;
486
+ }> & Readonly<{
487
+ type: "freedraw";
488
+ points: readonly import("@excalidraw/math").LocalPoint[];
489
+ pressures: readonly number[];
490
+ simulatePressure: boolean;
491
+ strokeOptions: import("@excalidraw/element/types").StrokeOptions;
492
+ }> & {
493
+ isDeleted: false;
494
+ }) | null;
495
+ canvasNonce: string;
25
496
  };
26
497
  destroy(): void;
27
498
  }
499
+ export {};
@@ -1,10 +1,10 @@
1
- import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
1
+ import type { ExcalidrawFrameLikeElement, NonDeleted, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { AppState, BinaryFiles } from "../types";
3
3
  export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, exportingFrame, }: {
4
4
  exportBackground: boolean;
5
- exportPadding?: number | undefined;
5
+ exportPadding?: number;
6
6
  viewBackgroundColor: string;
7
- exportingFrame?: ExcalidrawFrameLikeElement | null | undefined;
7
+ exportingFrame?: NonDeleted<ExcalidrawFrameLikeElement> | null;
8
8
  }, createCanvas?: (width: number, height: number) => {
9
9
  canvas: HTMLCanvasElement;
10
10
  scale: number;
@@ -22,7 +22,7 @@ export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElemen
22
22
  * if true, all embeddables passed in will be rendered when possible.
23
23
  */
24
24
  renderEmbeddables?: boolean;
25
- exportingFrame?: ExcalidrawFrameLikeElement | null;
25
+ exportingFrame?: NonDeleted<ExcalidrawFrameLikeElement> | null;
26
26
  skipInliningFonts?: true;
27
27
  reuseImages?: boolean;
28
28
  }) => Promise<SVGSVGElement>;
@@ -1,4 +1,4 @@
1
1
  export { isSomeElementSelected, getElementsWithinSelection, getSelectedElements, getTargetElements, } from "@excalidraw/element";
2
- export { calculateScrollCenter } from "./scroll";
3
- export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, } from "@excalidraw/element";
2
+ export { getScrollToContentState } from "../viewport";
3
+ export { hasBackground, hasFillStyle, hasRoughness, hasStrokeWidth, hasStrokeStyle, hasFreedrawMode, canHaveArrowheads, canChangeRoundness, } from "@excalidraw/element";
4
4
  export { getNormalizedZoom, getNormalizedGridSize, getNormalizedGridStep, } from "./normalize";