@zsviczian/excalidraw 0.18.0-12 → 0.18.0-14

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 (390) hide show
  1. package/dist/excalidraw.development.js +210 -177
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/styles.development.css +16 -0
  4. package/dist/styles.production.css +1 -0
  5. package/package.json +1 -1
  6. package/types/common/src/binary-heap.d.ts +12 -12
  7. package/types/common/src/colors.d.ts +62 -62
  8. package/types/common/src/constants.d.ts +337 -336
  9. package/types/{excalidraw → common/src}/emitter.d.ts +16 -16
  10. package/types/common/src/font-metadata.d.ts +46 -46
  11. package/types/common/src/index.d.ts +12 -11
  12. package/types/common/src/keys.d.ts +189 -189
  13. package/types/common/src/points.d.ts +9 -9
  14. package/types/common/src/promise-pool.d.ts +6 -6
  15. package/types/common/src/queue.d.ts +9 -9
  16. package/types/common/src/random.d.ts +4 -4
  17. package/types/common/src/url.d.ts +7 -7
  18. package/types/common/src/utility-types.d.ts +37 -32
  19. package/types/common/src/utils.d.ts +266 -257
  20. package/types/element/src/Scene.d.ts +76 -76
  21. package/types/element/src/Shape.d.ts +17 -17
  22. package/types/element/src/ShapeCache.d.ts +25 -25
  23. package/types/element/src/align.d.ts +7 -7
  24. package/types/element/src/binding.d.ts +108 -100
  25. package/types/element/src/bounds.d.ts +81 -81
  26. package/types/element/src/collision.d.ts +26 -26
  27. package/types/element/src/comparisons.d.ts +8 -8
  28. package/types/element/src/containerCache.d.ts +11 -11
  29. package/types/element/src/cropElement.d.ts +19 -19
  30. package/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +196 -191
  31. package/types/element/src/distance.d.ts +3 -3
  32. package/types/element/src/distribute.d.ts +6 -6
  33. package/types/element/src/dragElements.d.ts +33 -33
  34. package/types/element/src/duplicate.d.ts +63 -63
  35. package/types/element/src/easingFunctions.d.ts +6 -6
  36. package/types/element/src/elbowArrow.d.ts +17 -17
  37. package/types/element/src/elementLink.d.ts +13 -13
  38. package/types/element/src/embeddable.d.ts +10 -10
  39. package/types/element/src/flowchart.d.ts +26 -26
  40. package/types/element/src/fractionalIndex.d.ts +51 -51
  41. package/types/element/src/frame.d.ts +69 -69
  42. package/types/element/src/groups.d.ts +33 -33
  43. package/types/element/src/heading.d.ts +15 -15
  44. package/types/element/src/image.d.ts +32 -32
  45. package/types/element/src/index.d.ts +16 -16
  46. package/types/element/src/linearElementEditor.d.ts +125 -129
  47. package/types/element/src/mutateElement.d.ts +21 -21
  48. package/types/element/src/newElement.d.ts +62 -62
  49. package/types/element/src/renderElement.d.ts +28 -28
  50. package/types/element/src/resizeElements.d.ts +38 -38
  51. package/types/element/src/resizeTest.d.ts +15 -15
  52. package/types/element/src/selection.d.ts +43 -43
  53. package/types/element/src/shapes.d.ts +23 -23
  54. package/types/element/src/showSelectedShapeActions.d.ts +3 -3
  55. package/types/element/src/sizeHelpers.d.ts +34 -34
  56. package/types/element/src/sortElements.d.ts +2 -2
  57. package/types/element/src/store.d.ts +227 -0
  58. package/types/element/src/textElement.d.ts +40 -40
  59. package/types/element/src/textMeasurements.d.ts +41 -41
  60. package/types/element/src/textWrapping.d.ts +13 -13
  61. package/types/element/src/transformHandles.d.ts +55 -55
  62. package/types/element/src/typeChecks.d.ts +42 -39
  63. package/types/element/src/types.d.ts +292 -285
  64. package/types/element/src/utils.d.ts +21 -21
  65. package/types/element/src/zindex.d.ts +7 -7
  66. package/types/excalidraw/actions/actionAddToLibrary.d.ts +644 -644
  67. package/types/excalidraw/actions/actionAlign.d.ts +109 -109
  68. package/types/excalidraw/actions/actionBoundText.d.ts +466 -466
  69. package/types/excalidraw/actions/actionCanvas.d.ts +3353 -3353
  70. package/types/excalidraw/actions/actionClipboard.d.ts +1404 -1404
  71. package/types/excalidraw/actions/actionCropEditor.d.ts +227 -227
  72. package/types/excalidraw/actions/actionDeleteSelected.d.ts +683 -683
  73. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  74. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +17 -17
  75. package/types/excalidraw/actions/actionElementLink.d.ts +249 -249
  76. package/types/excalidraw/actions/actionElementLock.d.ts +453 -453
  77. package/types/excalidraw/actions/actionEmbeddable.d.ts +224 -224
  78. package/types/excalidraw/actions/actionExport.d.ts +1998 -1998
  79. package/types/excalidraw/actions/actionFinalize.d.ts +435 -435
  80. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  81. package/types/excalidraw/actions/actionFrame.d.ts +1404 -1404
  82. package/types/excalidraw/actions/actionGroup.d.ts +464 -464
  83. package/types/excalidraw/actions/actionHistory.d.ts +6 -7
  84. package/types/excalidraw/actions/actionLinearEditor.d.ts +228 -228
  85. package/types/excalidraw/actions/actionLink.d.ts +228 -228
  86. package/types/excalidraw/actions/actionMenu.d.ts +664 -664
  87. package/types/excalidraw/actions/actionNavigate.d.ts +440 -440
  88. package/types/excalidraw/actions/actionProperties.d.ts +3351 -3351
  89. package/types/excalidraw/actions/actionSelectAll.d.ts +227 -227
  90. package/types/excalidraw/actions/actionStyles.d.ts +241 -241
  91. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  92. package/types/excalidraw/actions/actionToggleGridMode.d.ts +230 -230
  93. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +228 -228
  94. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +430 -430
  95. package/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  96. package/types/excalidraw/actions/actionToggleStats.d.ts +227 -227
  97. package/types/excalidraw/actions/actionToggleViewMode.d.ts +228 -228
  98. package/types/excalidraw/actions/actionToggleZenMode.d.ts +228 -228
  99. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  100. package/types/excalidraw/actions/index.d.ts +28 -28
  101. package/types/excalidraw/actions/manager.d.ts +21 -21
  102. package/types/excalidraw/actions/register.d.ts +5 -5
  103. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  104. package/types/excalidraw/actions/types.d.ts +46 -46
  105. package/types/excalidraw/analytics.d.ts +1 -1
  106. package/types/excalidraw/animated-trail.d.ts +39 -39
  107. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  108. package/types/excalidraw/appState.d.ts +90 -90
  109. package/types/excalidraw/charts.d.ts +27 -27
  110. package/types/excalidraw/clients.d.ts +14 -14
  111. package/types/excalidraw/clipboard.d.ts +66 -66
  112. package/types/excalidraw/components/Actions.d.ts +35 -35
  113. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  114. package/types/excalidraw/components/App.d.ts +566 -564
  115. package/types/excalidraw/components/Avatar.d.ts +11 -11
  116. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  117. package/types/excalidraw/components/Button.d.ts +17 -17
  118. package/types/excalidraw/components/ButtonIcon.d.ts +15 -15
  119. package/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
  120. package/types/excalidraw/components/ButtonIconSelect.d.ts +20 -20
  121. package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
  122. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  123. package/types/excalidraw/components/Card.d.ts +6 -6
  124. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  125. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
  126. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
  127. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  128. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -7
  129. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
  130. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  131. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  132. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  133. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  134. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  135. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  136. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  137. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  138. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  139. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  140. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  141. package/types/excalidraw/components/ConvertElementTypePopup.d.ts +49 -0
  142. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  143. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  144. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  145. package/types/excalidraw/components/Dialog.d.ts +13 -13
  146. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  147. package/types/excalidraw/components/ElementCanvasButtons.d.ts +7 -7
  148. package/types/excalidraw/components/ElementLinkDialog.d.ts +12 -12
  149. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  150. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  151. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  152. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  153. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  154. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  155. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  156. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
  157. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  158. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  159. package/types/excalidraw/components/HandButton.d.ts +10 -10
  160. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  161. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  162. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  163. package/types/excalidraw/components/IconPicker.d.ts +15 -15
  164. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  165. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  166. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  167. package/types/excalidraw/components/Island.d.ts +10 -10
  168. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  169. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  170. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  171. package/types/excalidraw/components/LibraryMenu.d.ts +10 -10
  172. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  173. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  174. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  175. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  176. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  177. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  178. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  179. package/types/excalidraw/components/LockButton.d.ts +10 -10
  180. package/types/excalidraw/components/MagicButton.d.ts +10 -10
  181. package/types/excalidraw/components/MobileMenu.d.ts +25 -25
  182. package/types/excalidraw/components/Modal.d.ts +14 -14
  183. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  184. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  185. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  186. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  187. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  188. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  189. package/types/excalidraw/components/Popover.d.ts +15 -15
  190. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  191. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  192. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  193. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  194. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  195. package/types/excalidraw/components/Range.d.ts +8 -8
  196. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  197. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  198. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  199. package/types/excalidraw/components/Section.d.ts +6 -6
  200. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  201. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  202. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  203. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  204. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  205. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  206. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  207. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  208. package/types/excalidraw/components/Sidebar/common.d.ts +34 -34
  209. package/types/excalidraw/components/Spinner.d.ts +8 -8
  210. package/types/excalidraw/components/Stack.d.ts +15 -15
  211. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  212. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  213. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  214. package/types/excalidraw/components/Stats/Collapsible.d.ts +9 -9
  215. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  216. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  217. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  218. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  219. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  220. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  221. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  222. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  223. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  224. package/types/excalidraw/components/Stats/utils.d.ts +19 -26
  225. package/types/excalidraw/components/Switch.d.ts +9 -9
  226. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  227. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  228. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  229. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  230. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  231. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  232. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  233. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  234. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  235. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  236. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  237. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  238. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
  239. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  240. package/types/excalidraw/components/TextField.d.ts +21 -21
  241. package/types/excalidraw/components/Toast.d.ts +9 -9
  242. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  243. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  244. package/types/excalidraw/components/Trans.d.ts +9 -9
  245. package/types/excalidraw/components/UserList.d.ts +18 -18
  246. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -30
  247. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  248. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  249. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  250. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  251. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  252. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  253. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
  254. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  255. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  256. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  257. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  258. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  259. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  260. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  261. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  262. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  263. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  264. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  265. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -19
  266. package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -9
  267. package/types/excalidraw/components/icons.d.ts +224 -224
  268. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  269. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  270. package/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -83
  271. package/types/excalidraw/components/shapes.d.ts +62 -62
  272. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +60 -60
  273. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  274. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  275. package/types/excalidraw/context/tunnels.d.ts +21 -21
  276. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  277. package/types/excalidraw/cursor.d.ts +6 -6
  278. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  279. package/types/excalidraw/data/ai/types.d.ts +242 -242
  280. package/types/excalidraw/data/blob.d.ts +53 -53
  281. package/types/excalidraw/data/encode.d.ts +55 -55
  282. package/types/excalidraw/data/encryption.d.ts +9 -9
  283. package/types/excalidraw/data/filesystem.d.ts +21 -21
  284. package/types/excalidraw/data/image.d.ts +9 -9
  285. package/types/excalidraw/data/index.d.ts +22 -22
  286. package/types/excalidraw/data/json.d.ts +16 -16
  287. package/types/excalidraw/data/library.d.ts +112 -112
  288. package/types/excalidraw/data/reconcile.d.ts +6 -6
  289. package/types/excalidraw/data/resave.d.ts +5 -5
  290. package/types/excalidraw/data/restore.d.ts +21 -21
  291. package/types/excalidraw/data/transform.d.ts +81 -81
  292. package/types/excalidraw/data/types.d.ts +45 -45
  293. package/types/excalidraw/deburr.d.ts +1 -1
  294. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  295. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  296. package/types/excalidraw/editor-jotai.d.ts +56 -56
  297. package/types/excalidraw/entry.d.ts +1 -1
  298. package/types/excalidraw/env.d.cts +1 -1
  299. package/types/excalidraw/env.d.ts +1 -1
  300. package/types/excalidraw/eraser/index.d.ts +14 -14
  301. package/types/excalidraw/errors.d.ts +29 -29
  302. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  303. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  304. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  305. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  306. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  307. package/types/excalidraw/fonts/Fonts.d.ts +90 -90
  308. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  309. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  310. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  311. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  312. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  313. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  314. package/types/excalidraw/fonts/index.d.ts +1 -1
  315. package/types/excalidraw/gesture.d.ts +6 -6
  316. package/types/excalidraw/history.d.ts +32 -40
  317. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  318. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  319. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  320. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  321. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  322. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  323. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  324. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  325. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  326. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  327. package/types/excalidraw/i18n.d.ts +24 -24
  328. package/types/excalidraw/index-node.d.ts +1 -1
  329. package/types/excalidraw/index.d.ts +59 -59
  330. package/types/excalidraw/laser-trails.d.ts +20 -20
  331. package/types/excalidraw/lasso/index.d.ts +15 -15
  332. package/types/excalidraw/lasso/utils.d.ts +12 -12
  333. package/types/excalidraw/main.d.ts +2 -2
  334. package/types/excalidraw/mermaid.d.ts +2 -2
  335. package/types/excalidraw/obsidianUtils.d.ts +29 -29
  336. package/types/excalidraw/polyfill.d.ts +2 -2
  337. package/types/excalidraw/publicPath.d.ts +1 -1
  338. package/types/excalidraw/reactUtils.d.ts +14 -14
  339. package/types/excalidraw/renderer/helpers.d.ts +18 -13
  340. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  341. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  342. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  343. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  344. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  345. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  346. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  347. package/types/excalidraw/scene/export.d.ts +37 -37
  348. package/types/excalidraw/scene/index.d.ts +4 -4
  349. package/types/excalidraw/scene/normalize.d.ts +4 -4
  350. package/types/excalidraw/scene/scroll.d.ts +23 -23
  351. package/types/excalidraw/scene/scrollbars.d.ts +11 -11
  352. package/types/excalidraw/scene/types.d.ts +122 -122
  353. package/types/excalidraw/scene/zoom.d.ts +12 -12
  354. package/types/excalidraw/snapping.d.ts +111 -111
  355. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  356. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  357. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  358. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  359. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  360. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  361. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  362. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  363. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  364. package/types/excalidraw/types.d.ts +767 -764
  365. package/types/excalidraw/visualdebug.d.ts +41 -41
  366. package/types/excalidraw/webpack.dev.config.d.ts +114 -114
  367. package/types/excalidraw/webpack.prod.config.d.ts +128 -128
  368. package/types/excalidraw/workers.d.ts +36 -36
  369. package/types/excalidraw/wysiwyg/textWysiwyg.d.ts +24 -22
  370. package/types/math/src/angle.d.ts +17 -17
  371. package/types/math/src/curve.d.ts +42 -40
  372. package/types/math/src/ellipse.d.ts +44 -44
  373. package/types/math/src/index.d.ts +12 -12
  374. package/types/math/src/line.d.ts +17 -17
  375. package/types/math/src/point.d.ts +122 -122
  376. package/types/math/src/polygon.d.ts +6 -6
  377. package/types/math/src/range.d.ts +44 -44
  378. package/types/math/src/rectangle.d.ts +3 -3
  379. package/types/math/src/segment.d.ts +39 -39
  380. package/types/math/src/triangle.d.ts +11 -11
  381. package/types/math/src/types.d.ts +106 -106
  382. package/types/math/src/utils.d.ts +7 -7
  383. package/types/math/src/vector.d.ts +92 -88
  384. package/types/utils/src/bbox.d.ts +9 -9
  385. package/types/utils/src/collision.d.ts +8 -8
  386. package/types/utils/src/export.d.ts +35 -35
  387. package/types/utils/src/index.d.ts +4 -4
  388. package/types/utils/src/shape.d.ts +58 -58
  389. package/types/utils/src/withinBounds.d.ts +19 -19
  390. package/types/excalidraw/store.d.ts +0 -129
@@ -1,35 +1,35 @@
1
- import { MIME_TYPES } from "@excalidraw/common";
2
- import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/element/types";
3
- import type { AppState, BinaryFiles } from "@excalidraw/excalidraw/types";
4
- export { MIME_TYPES };
5
- type ExportOpts = {
6
- elements: readonly NonDeleted<ExcalidrawElement>[];
7
- appState?: Partial<Omit<AppState, "offsetTop" | "offsetLeft">>;
8
- files: BinaryFiles | null;
9
- maxWidthOrHeight?: number;
10
- exportingFrame?: ExcalidrawFrameLikeElement | null;
11
- getDimensions?: (width: number, height: number) => {
12
- width: number;
13
- height: number;
14
- scale?: number;
15
- };
16
- };
17
- export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, exportingFrame, }: ExportOpts & {
18
- exportPadding?: number | undefined;
19
- }) => Promise<HTMLCanvasElement>;
20
- export declare const exportToBlob: (opts: ExportOpts & {
21
- mimeType?: string;
22
- quality?: number;
23
- exportPadding?: number;
24
- }) => Promise<Blob>;
25
- export declare const exportToSvg: ({ elements, appState, files, exportPadding, renderEmbeddables, exportingFrame, skipInliningFonts, reuseImages, }: Omit<ExportOpts, "getDimensions"> & {
26
- exportPadding?: number | undefined;
27
- renderEmbeddables?: boolean | undefined;
28
- skipInliningFonts?: true | undefined;
29
- reuseImages?: boolean | undefined;
30
- }) => Promise<SVGSVGElement>;
31
- export declare const exportToClipboard: (opts: ExportOpts & {
32
- mimeType?: string;
33
- quality?: number;
34
- type: "png" | "svg" | "json";
35
- }) => Promise<void>;
1
+ import { MIME_TYPES } from "@excalidraw/common";
2
+ import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/element/types";
3
+ import type { AppState, BinaryFiles } from "@excalidraw/excalidraw/types";
4
+ export { MIME_TYPES };
5
+ type ExportOpts = {
6
+ elements: readonly NonDeleted<ExcalidrawElement>[];
7
+ appState?: Partial<Omit<AppState, "offsetTop" | "offsetLeft">>;
8
+ files: BinaryFiles | null;
9
+ maxWidthOrHeight?: number;
10
+ exportingFrame?: ExcalidrawFrameLikeElement | null;
11
+ getDimensions?: (width: number, height: number) => {
12
+ width: number;
13
+ height: number;
14
+ scale?: number;
15
+ };
16
+ };
17
+ export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, exportingFrame, }: ExportOpts & {
18
+ exportPadding?: number | undefined;
19
+ }) => Promise<HTMLCanvasElement>;
20
+ export declare const exportToBlob: (opts: ExportOpts & {
21
+ mimeType?: string;
22
+ quality?: number;
23
+ exportPadding?: number;
24
+ }) => Promise<Blob>;
25
+ export declare const exportToSvg: ({ elements, appState, files, exportPadding, renderEmbeddables, exportingFrame, skipInliningFonts, reuseImages, }: Omit<ExportOpts, "getDimensions"> & {
26
+ exportPadding?: number | undefined;
27
+ renderEmbeddables?: boolean | undefined;
28
+ skipInliningFonts?: true | undefined;
29
+ reuseImages?: boolean | undefined;
30
+ }) => Promise<SVGSVGElement>;
31
+ export declare const exportToClipboard: (opts: ExportOpts & {
32
+ mimeType?: string;
33
+ quality?: number;
34
+ type: "png" | "svg" | "json";
35
+ }) => Promise<void>;
@@ -1,4 +1,4 @@
1
- export * from "./export";
2
- export * from "./withinBounds";
3
- export * from "./bbox";
4
- export { getCommonBounds } from "@excalidraw/element/bounds";
1
+ export * from "./export";
2
+ export * from "./withinBounds";
3
+ export * from "./bbox";
4
+ export { getCommonBounds } from "@excalidraw/element/bounds";
@@ -1,58 +1,58 @@
1
- import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "@excalidraw/element/types";
3
- import type { Curve, LineSegment, Polygon, Radians } from "@excalidraw/math";
4
- import type { Drawable, Op } from "roughjs/bin/core";
5
- export type Polyline<Point extends GlobalPoint | LocalPoint> = LineSegment<Point>[];
6
- export type Polycurve<Point extends GlobalPoint | LocalPoint> = Curve<Point>[];
7
- export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
8
- center: Point;
9
- angle: Radians;
10
- halfWidth: number;
11
- halfHeight: number;
12
- };
13
- export type GeometricShape<Point extends GlobalPoint | LocalPoint> = {
14
- type: "line";
15
- data: LineSegment<Point>;
16
- } | {
17
- type: "polygon";
18
- data: Polygon<Point>;
19
- } | {
20
- type: "curve";
21
- data: Curve<Point>;
22
- } | {
23
- type: "ellipse";
24
- data: Ellipse<Point>;
25
- } | {
26
- type: "polyline";
27
- data: Polyline<Point>;
28
- } | {
29
- type: "polycurve";
30
- data: Polycurve<Point>;
31
- };
32
- type RectangularElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawTextElement | ExcalidrawSelectionElement;
33
- export declare const getPolygonShape: <Point extends GlobalPoint | LocalPoint>(element: RectangularElement) => GeometricShape<Point>;
34
- export declare const getSelectionBoxShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawElement, elementsMap: ElementsMap, padding?: number) => GeometricShape<Point>;
35
- export declare const getEllipseShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawEllipseElement) => GeometricShape<Point>;
36
- export declare const getCurvePathOps: (shape: Drawable) => Op[];
37
- export declare const getCurveShape: <Point extends GlobalPoint | LocalPoint>(roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
38
- export declare const getFreedrawShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawFreeDrawElement, center: Point, isClosed?: boolean) => GeometricShape<Point>;
39
- export declare const getClosedCurveShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawLinearElement, roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
40
- /**
41
- * Determine intersection of a rectangular shaped element and a
42
- * line segment.
43
- *
44
- * @param element The rectangular element to test against
45
- * @param segment The segment intersecting the element
46
- * @param gap Optional value to inflate the shape before testing
47
- * @returns An array of intersections
48
- */
49
- export declare const segmentIntersectRectangleElement: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawBindableElement, segment: LineSegment<Point>, gap?: number) => Point[];
50
- export declare const pointOnEllipse: <Point extends GlobalPoint | LocalPoint>(point: Point, ellipse: Ellipse<Point>, threshold?: number) => boolean;
51
- export declare const pointInEllipse: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => boolean;
52
- export declare const ellipseAxes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => {
53
- majorAxis: number;
54
- minorAxis: number;
55
- };
56
- export declare const ellipseFocusToCenter: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => number;
57
- export declare const ellipseExtremes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => import("@excalidraw/math").Vector[];
58
- export {};
1
+ import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
+ import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "@excalidraw/element/types";
3
+ import type { Curve, LineSegment, Polygon, Radians } from "@excalidraw/math";
4
+ import type { Drawable, Op } from "roughjs/bin/core";
5
+ export type Polyline<Point extends GlobalPoint | LocalPoint> = LineSegment<Point>[];
6
+ export type Polycurve<Point extends GlobalPoint | LocalPoint> = Curve<Point>[];
7
+ export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
8
+ center: Point;
9
+ angle: Radians;
10
+ halfWidth: number;
11
+ halfHeight: number;
12
+ };
13
+ export type GeometricShape<Point extends GlobalPoint | LocalPoint> = {
14
+ type: "line";
15
+ data: LineSegment<Point>;
16
+ } | {
17
+ type: "polygon";
18
+ data: Polygon<Point>;
19
+ } | {
20
+ type: "curve";
21
+ data: Curve<Point>;
22
+ } | {
23
+ type: "ellipse";
24
+ data: Ellipse<Point>;
25
+ } | {
26
+ type: "polyline";
27
+ data: Polyline<Point>;
28
+ } | {
29
+ type: "polycurve";
30
+ data: Polycurve<Point>;
31
+ };
32
+ type RectangularElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawTextElement | ExcalidrawSelectionElement;
33
+ export declare const getPolygonShape: <Point extends GlobalPoint | LocalPoint>(element: RectangularElement) => GeometricShape<Point>;
34
+ export declare const getSelectionBoxShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawElement, elementsMap: ElementsMap, padding?: number) => GeometricShape<Point>;
35
+ export declare const getEllipseShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawEllipseElement) => GeometricShape<Point>;
36
+ export declare const getCurvePathOps: (shape: Drawable) => Op[];
37
+ export declare const getCurveShape: <Point extends GlobalPoint | LocalPoint>(roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
38
+ export declare const getFreedrawShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawFreeDrawElement, center: Point, isClosed?: boolean) => GeometricShape<Point>;
39
+ export declare const getClosedCurveShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawLinearElement, roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
40
+ /**
41
+ * Determine intersection of a rectangular shaped element and a
42
+ * line segment.
43
+ *
44
+ * @param element The rectangular element to test against
45
+ * @param segment The segment intersecting the element
46
+ * @param gap Optional value to inflate the shape before testing
47
+ * @returns An array of intersections
48
+ */
49
+ export declare const segmentIntersectRectangleElement: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawBindableElement, segment: LineSegment<Point>, gap?: number) => Point[];
50
+ export declare const pointOnEllipse: <Point extends GlobalPoint | LocalPoint>(point: Point, ellipse: Ellipse<Point>, threshold?: number) => boolean;
51
+ export declare const pointInEllipse: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => boolean;
52
+ export declare const ellipseAxes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => {
53
+ majorAxis: number;
54
+ minorAxis: number;
55
+ };
56
+ export declare const ellipseFocusToCenter: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => number;
57
+ export declare const ellipseExtremes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => import("@excalidraw/math").Vector[];
58
+ export {};
@@ -1,19 +1,19 @@
1
- import type { Bounds } from "@excalidraw/element/bounds";
2
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
- type Element = NonDeletedExcalidrawElement;
4
- type Elements = readonly NonDeletedExcalidrawElement[];
5
- export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;
6
- export declare const elementPartiallyOverlapsWithOrContainsBBox: (element: Element, bbox: Bounds) => boolean;
7
- export declare const elementsOverlappingBBox: ({ elements, bounds, type, errorMargin, }: {
8
- elements: Elements;
9
- bounds: Bounds | ExcalidrawElement;
10
- /** safety offset. Defaults to 0. */
11
- errorMargin?: number | undefined;
12
- /**
13
- * - overlap: elements overlapping or inside bounds
14
- * - contain: elements inside bounds or bounds inside elements
15
- * - inside: elements inside bounds
16
- **/
17
- type: "overlap" | "contain" | "inside";
18
- }) => NonDeletedExcalidrawElement[];
19
- export {};
1
+ import type { Bounds } from "@excalidraw/element/bounds";
2
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
+ type Element = NonDeletedExcalidrawElement;
4
+ type Elements = readonly NonDeletedExcalidrawElement[];
5
+ export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;
6
+ export declare const elementPartiallyOverlapsWithOrContainsBBox: (element: Element, bbox: Bounds) => boolean;
7
+ export declare const elementsOverlappingBBox: ({ elements, bounds, type, errorMargin, }: {
8
+ elements: Elements;
9
+ bounds: Bounds | ExcalidrawElement;
10
+ /** safety offset. Defaults to 0. */
11
+ errorMargin?: number | undefined;
12
+ /**
13
+ * - overlap: elements overlapping or inside bounds
14
+ * - contain: elements inside bounds or bounds inside elements
15
+ * - inside: elements inside bounds
16
+ **/
17
+ type: "overlap" | "contain" | "inside";
18
+ }) => NonDeletedExcalidrawElement[];
19
+ export {};
@@ -1,129 +0,0 @@
1
- import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
2
- import type { ValueOf } from "@excalidraw/common/utility-types";
3
- import { AppStateChange, ElementsChange } from "./change";
4
- import { Emitter } from "./emitter";
5
- import type { AppState, ObservedAppState } from "./types";
6
- export declare const getObservedAppState: (appState: AppState) => ObservedAppState;
7
- export declare const CaptureUpdateAction: {
8
- /**
9
- * Immediately undoable.
10
- *
11
- * Use for updates which should be captured.
12
- * Should be used for most of the local updates.
13
- *
14
- * These updates will _immediately_ make it to the local undo / redo stacks.
15
- */
16
- readonly IMMEDIATELY: "IMMEDIATELY";
17
- /**
18
- * Never undoable.
19
- *
20
- * Use for updates which should never be recorded, such as remote updates
21
- * or scene initialization.
22
- *
23
- * These updates will _never_ make it to the local undo / redo stacks.
24
- */
25
- readonly NEVER: "NEVER";
26
- /**
27
- * Eventually undoable.
28
- *
29
- * Use for updates which should not be captured immediately - likely
30
- * exceptions which are part of some async multi-step process. Otherwise, all
31
- * such updates would end up being captured with the next
32
- * `CaptureUpdateAction.IMMEDIATELY` - triggered either by the next `updateScene`
33
- * or internally by the editor.
34
- *
35
- * These updates will _eventually_ make it to the local undo / redo stacks.
36
- */
37
- readonly EVENTUALLY: "EVENTUALLY";
38
- };
39
- export type CaptureUpdateActionType = ValueOf<typeof CaptureUpdateAction>;
40
- /**
41
- * Represent an increment to the Store.
42
- */
43
- declare class StoreIncrementEvent {
44
- readonly elementsChange: ElementsChange;
45
- readonly appStateChange: AppStateChange;
46
- constructor(elementsChange: ElementsChange, appStateChange: AppStateChange);
47
- }
48
- /**
49
- * Store which captures the observed changes and emits them as `StoreIncrementEvent` events.
50
- *
51
- * @experimental this interface is experimental and subject to change.
52
- */
53
- export interface IStore {
54
- onStoreIncrementEmitter: Emitter<[StoreIncrementEvent]>;
55
- get snapshot(): Snapshot;
56
- set snapshot(snapshot: Snapshot);
57
- /**
58
- * Use to schedule update of the snapshot, useful on updates for which we don't need to calculate increments (i.e. remote updates).
59
- */
60
- shouldUpdateSnapshot(): void;
61
- /**
62
- * Use to schedule calculation of a store increment.
63
- */
64
- shouldCaptureIncrement(): void;
65
- /**
66
- * Based on the scheduled operation, either only updates store snapshot or also calculates increment and emits the result as a `StoreIncrementEvent`.
67
- *
68
- * @emits StoreIncrementEvent when increment is calculated.
69
- */
70
- commit(elements: Map<string, OrderedExcalidrawElement> | undefined, appState: AppState | ObservedAppState | undefined): void;
71
- /**
72
- * Clears the store instance.
73
- */
74
- clear(): void;
75
- /**
76
- * Filters out yet uncomitted elements from `nextElements`, which are part of in-progress local async actions (ephemerals) and thus were not yet commited to the snapshot.
77
- *
78
- * This is necessary in updates in which we receive reconciled elements, already containing elements which were not yet captured by the local store (i.e. collab).
79
- */
80
- filterUncomittedElements(prevElements: Map<string, OrderedExcalidrawElement>, nextElements: Map<string, OrderedExcalidrawElement>): Map<string, OrderedExcalidrawElement>;
81
- }
82
- export declare class Store implements IStore {
83
- readonly onStoreIncrementEmitter: Emitter<[StoreIncrementEvent]>;
84
- private scheduledActions;
85
- private _snapshot;
86
- get snapshot(): Snapshot;
87
- set snapshot(snapshot: Snapshot);
88
- shouldCaptureIncrement: () => void;
89
- shouldUpdateSnapshot: () => void;
90
- private scheduleAction;
91
- commit: (elements: Map<string, OrderedExcalidrawElement> | undefined, appState: AppState | ObservedAppState | undefined) => void;
92
- captureIncrement: (elements: Map<string, OrderedExcalidrawElement> | undefined, appState: AppState | ObservedAppState | undefined) => void;
93
- updateSnapshot: (elements: Map<string, OrderedExcalidrawElement> | undefined, appState: AppState | ObservedAppState | undefined) => void;
94
- filterUncomittedElements: (prevElements: Map<string, OrderedExcalidrawElement>, nextElements: Map<string, OrderedExcalidrawElement>) => Map<string, OrderedExcalidrawElement>;
95
- clear: () => void;
96
- private satisfiesScheduledActionsInvariant;
97
- }
98
- export declare class Snapshot {
99
- readonly elements: Map<string, OrderedExcalidrawElement>;
100
- readonly appState: ObservedAppState;
101
- readonly meta: {
102
- didElementsChange: boolean;
103
- didAppStateChange: boolean;
104
- isEmpty?: boolean;
105
- };
106
- private constructor();
107
- static empty(): Snapshot;
108
- isEmpty(): boolean | undefined;
109
- /**
110
- * Efficiently clone the existing snapshot, only if we detected changes.
111
- *
112
- * @returns same instance if there are no changes detected, new instance otherwise.
113
- */
114
- maybeClone(elements: Map<string, OrderedExcalidrawElement> | undefined, appState: AppState | ObservedAppState | undefined): Snapshot;
115
- private maybeCreateAppStateSnapshot;
116
- private detectChangedAppState;
117
- private maybeCreateElementsSnapshot;
118
- /**
119
- * Detect if there any changed elements.
120
- *
121
- * NOTE: we shouldn't just use `sceneVersionNonce` instead, as we need to call this before the scene updates.
122
- */
123
- private detectChangedElements;
124
- /**
125
- * Perform structural clone, cloning only elements that changed.
126
- */
127
- private createElementsSnapshot;
128
- }
129
- export {};