@excalidraw/element 0.18.0-d1f3982 → 0.18.0-d9e8a33

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 (255) hide show
  1. package/dist/dev/index.js +5200 -2663
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +19 -18
  4. package/dist/types/common/debug.d.ts +21 -0
  5. package/dist/types/common/src/appEventBus.d.ts +27 -0
  6. package/dist/types/common/src/bounds.d.ts +10 -0
  7. package/dist/types/common/src/colors.d.ts +59 -39
  8. package/dist/types/common/src/constants.d.ts +19 -11
  9. package/dist/types/common/src/editorInterface.d.ts +1 -1
  10. package/dist/types/common/src/font-metadata.d.ts +1 -3
  11. package/dist/types/common/src/index.d.ts +4 -0
  12. package/dist/types/common/src/keys.d.ts +1 -1
  13. package/dist/types/common/src/utility-types.d.ts +0 -1
  14. package/dist/types/common/src/utils.d.ts +51 -40
  15. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  16. package/dist/types/element/src/Scene.d.ts +5 -3
  17. package/dist/types/element/src/arrowheads.d.ts +3 -0
  18. package/dist/types/element/src/arrows/focus.d.ts +27 -0
  19. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  20. package/dist/types/element/src/binding.d.ts +67 -48
  21. package/dist/types/element/src/bounds.d.ts +7 -13
  22. package/dist/types/element/src/collision.d.ts +7 -2
  23. package/dist/types/element/src/comparisons.d.ts +7 -7
  24. package/dist/types/element/src/distribute.d.ts +2 -1
  25. package/dist/types/element/src/dragElements.d.ts +3 -3
  26. package/dist/types/element/src/duplicate.d.ts +3 -3
  27. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  28. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  29. package/dist/types/element/src/frame.d.ts +6 -2
  30. package/dist/types/element/src/heading.d.ts +2 -1
  31. package/dist/types/element/src/image.d.ts +1 -11
  32. package/dist/types/element/src/index.d.ts +4 -3
  33. package/dist/types/element/src/linearElementEditor.d.ts +23 -22
  34. package/dist/types/element/src/mutateElement.d.ts +5 -1
  35. package/dist/types/element/src/newElement.d.ts +6 -6
  36. package/dist/types/element/src/renderElement.d.ts +1 -7
  37. package/dist/types/element/src/resizeElements.d.ts +10 -10
  38. package/dist/types/element/src/resizeTest.d.ts +1 -1
  39. package/dist/types/element/src/selection.d.ts +10 -10
  40. package/dist/types/element/src/shape.d.ts +9 -8
  41. package/dist/types/element/src/textElement.d.ts +1 -1
  42. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  43. package/dist/types/element/src/textWrapping.d.ts +26 -0
  44. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  45. package/dist/types/element/src/transformHandles.d.ts +3 -23
  46. package/dist/types/element/src/typeChecks.d.ts +4 -7
  47. package/dist/types/element/src/types.d.ts +12 -13
  48. package/dist/types/element/src/utils.d.ts +9 -4
  49. package/dist/types/element/src/visualdebug.d.ts +59 -0
  50. package/dist/types/element/src/zindex.d.ts +7 -1
  51. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +113 -162
  52. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -7
  53. package/dist/types/excalidraw/actions/actionBoundText.d.ts +82 -115
  54. package/dist/types/excalidraw/actions/actionCanvas.d.ts +484 -869
  55. package/dist/types/excalidraw/actions/actionClipboard.d.ts +100 -890
  56. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +39 -56
  57. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +132 -185
  58. package/dist/types/excalidraw/actions/actionDeselect.d.ts +160 -0
  59. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  60. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +1 -2
  61. package/dist/types/excalidraw/actions/actionElementLink.d.ts +31 -54
  62. package/dist/types/excalidraw/actions/actionElementLock.d.ts +80 -113
  63. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +40 -57
  64. package/dist/types/excalidraw/actions/actionExport.d.ts +161 -1427
  65. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -402
  66. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  67. package/dist/types/excalidraw/actions/actionFrame.d.ts +255 -358
  68. package/dist/types/excalidraw/actions/actionGroup.d.ts +85 -126
  69. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +148 -203
  70. package/dist/types/excalidraw/actions/actionLink.d.ts +39 -56
  71. package/dist/types/excalidraw/actions/actionMenu.d.ts +29 -52
  72. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -367
  73. package/dist/types/excalidraw/actions/actionProperties.d.ts +142 -2566
  74. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +42 -63
  75. package/dist/types/excalidraw/actions/actionStyles.d.ts +39 -55
  76. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  77. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +173 -0
  78. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +39 -56
  79. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +173 -0
  80. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +39 -56
  81. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +28 -51
  82. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  83. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +39 -56
  84. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +39 -56
  85. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +40 -57
  86. package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -3
  87. package/dist/types/excalidraw/actions/index.d.ts +3 -0
  88. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  89. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  90. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  91. package/dist/types/excalidraw/appState.d.ts +17 -13
  92. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  93. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  94. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  95. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  96. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  97. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  98. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  99. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  100. package/dist/types/excalidraw/clipboard.d.ts +13 -38
  101. package/dist/types/excalidraw/components/Actions.d.ts +5 -2
  102. package/dist/types/excalidraw/components/App.d.ts +93 -56
  103. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  104. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  105. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  106. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -1
  107. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +0 -1
  108. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  109. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  110. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  111. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  112. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  113. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  114. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  115. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  116. package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
  117. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  118. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  119. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  120. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  121. package/dist/types/excalidraw/components/InlineIcon.d.ts +2 -2
  122. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  123. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  124. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  125. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  126. package/dist/types/excalidraw/components/MobileMenu.d.ts +1 -1
  127. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -1
  128. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  129. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  130. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  131. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  132. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  133. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  134. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  135. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  136. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
  137. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  138. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  139. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  140. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  141. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  142. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  143. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  144. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  145. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
  146. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  147. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  148. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  149. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  150. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  151. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  152. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  153. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  154. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  155. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  156. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  157. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  158. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  159. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
  160. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  161. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  162. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  163. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  164. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  165. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  166. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  167. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  168. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  169. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  170. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  171. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  172. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  173. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  174. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  175. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  176. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  177. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  178. package/dist/types/excalidraw/components/Toast.d.ts +11 -7
  179. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  180. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +5 -2
  181. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +48 -38
  182. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -6
  183. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  184. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  185. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  186. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  187. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
  188. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  189. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  190. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  191. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  192. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  193. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  194. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  195. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  196. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  197. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  198. package/dist/types/excalidraw/components/icons.d.ts +44 -21
  199. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +20 -2
  200. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -32
  201. package/dist/types/excalidraw/components/shapes.d.ts +74 -1
  202. package/dist/types/excalidraw/data/blob.d.ts +328 -7
  203. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  204. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  205. package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
  206. package/dist/types/excalidraw/data/index.d.ts +4 -5
  207. package/dist/types/excalidraw/data/json.d.ts +171 -4
  208. package/dist/types/excalidraw/data/library.d.ts +24 -9
  209. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  210. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  211. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  212. package/dist/types/excalidraw/errors.d.ts +14 -0
  213. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  214. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  215. package/dist/types/excalidraw/i18n.d.ts +2 -2
  216. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  217. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  218. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -14
  219. package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
  220. package/dist/types/excalidraw/scene/export.d.ts +2 -2
  221. package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
  222. package/dist/types/excalidraw/scene/types.d.ts +19 -2
  223. package/dist/types/excalidraw/snapping.d.ts +5 -5
  224. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  225. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  226. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  227. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  228. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  229. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  230. package/dist/types/excalidraw/types.d.ts +109 -21
  231. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +7 -3
  232. package/dist/types/math/src/curve.d.ts +4 -1
  233. package/dist/types/math/src/point.d.ts +7 -2
  234. package/dist/types/math/src/polygon.d.ts +2 -2
  235. package/dist/types/math/src/range.d.ts +1 -3
  236. package/dist/types/math/src/segment.d.ts +3 -3
  237. package/dist/types/math/src/types.d.ts +25 -1
  238. package/dist/types/utils/src/bbox.d.ts +1 -1
  239. package/dist/types/utils/src/export.d.ts +5 -5
  240. package/dist/types/utils/src/shape.d.ts +6 -6
  241. package/dist/types/utils/src/withinBounds.d.ts +2 -2
  242. package/package.json +9 -3
  243. package/dist/types/excalidraw/charts.d.ts +0 -27
  244. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  245. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
  246. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  247. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -8
  248. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  249. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -22
  250. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  251. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  252. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
  253. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  254. package/dist/types/excalidraw/index.d.ts +0 -46
  255. package/dist/types/excalidraw/polyfill.d.ts +0 -2
@@ -74,16 +74,31 @@ declare class Library {
74
74
  getLatestLibrary: () => Promise<LibraryItems>;
75
75
  updateLibrary: ({ libraryItems, prompt, merge, openLibraryMenu, defaultStatus, }: {
76
76
  libraryItems: LibraryItemsSource;
77
- merge?: boolean | undefined;
78
- prompt?: boolean | undefined;
79
- openLibraryMenu?: boolean | undefined;
80
- defaultStatus?: "published" | "unpublished" | undefined;
77
+ merge?: boolean;
78
+ prompt?: boolean;
79
+ openLibraryMenu?: boolean;
80
+ defaultStatus?: "unpublished" | "published";
81
81
  }) => Promise<LibraryItems>;
82
- setLibrary: (libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
82
+ setLibrary: (
83
+ /**
84
+ * LibraryItems that will replace current items. Can be a function which
85
+ * will be invoked after all previous tasks are resolved
86
+ * (this is the prefered way to update the library to avoid race conditions,
87
+ * but you'll want to manually merge the library items in the callback
88
+ * - which is what we're doing in Library.importLibrary()).
89
+ *
90
+ * If supplied promise is rejected with AbortError, we swallow it and
91
+ * do not update the library.
92
+ */
93
+ libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
83
94
  }
84
95
  export default Library;
85
96
  export declare const distributeLibraryItemsOnSquareGrid: (libraryItems: LibraryItems) => ExcalidrawElement[];
86
- export declare const validateLibraryUrl: (libraryUrl: string, validator?: string[] | ((libraryUrl: string) => boolean)) => true;
97
+ export declare const validateLibraryUrl: (libraryUrl: string,
98
+ /**
99
+ * @returns `true` if the URL is valid, throws otherwise.
100
+ */
101
+ validator?: ((libraryUrl: string) => boolean) | string[]) => true;
87
102
  export declare const parseLibraryTokensFromUrl: () => {
88
103
  libraryUrl: string;
89
104
  idToken: string | null;
@@ -95,10 +110,10 @@ export declare const useHandleLibrary: (opts: {
95
110
  * Return `true` if the library install url should be allowed.
96
111
  * If not supplied, only the excalidraw.com base domain is allowed.
97
112
  */
98
- validateLibraryUrl?: ((libraryUrl: string) => boolean) | undefined;
113
+ validateLibraryUrl?: (libraryUrl: string) => boolean;
99
114
  } & ({
100
115
  /** @deprecated we recommend using `opts.adapter` instead */
101
- getInitialLibraryItems?: (() => MaybePromise<LibraryItemsSource>) | undefined;
116
+ getInitialLibraryItems?: () => MaybePromise<LibraryItemsSource>;
102
117
  } | {
103
118
  adapter: LibraryPersistenceAdapter;
104
119
  /**
@@ -108,5 +123,5 @@ export declare const useHandleLibrary: (opts: {
108
123
  *
109
124
  * Can be a different LibraryPersistenceAdapter.
110
125
  */
111
- migrationAdapter?: LibraryMigrationAdapter | undefined;
126
+ migrationAdapter?: LibraryMigrationAdapter;
112
127
  })) => void;
@@ -1,5 +1,10 @@
1
+ import type { MaybePromise } from "@excalidraw/common/utility-types";
1
2
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
3
  import type { AppState, BinaryFiles } from "../types";
3
- export declare const resaveAsImageWithScene: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name: string) => Promise<{
4
- fileHandle: import("browser-fs-access").FileSystemHandle;
4
+ export declare const resaveAsImageWithScene: (data: MaybePromise<{
5
+ elements: readonly ExcalidrawElement[];
6
+ appState: AppState;
7
+ files: BinaryFiles;
8
+ }>, fileHandle: FileSystemFileHandle, filename: string) => Promise<{
9
+ fileHandle: FileSystemFileHandle;
5
10
  }>;
@@ -1,4 +1,5 @@
1
- import type { ExcalidrawArrowElement, ExcalidrawElement, ExcalidrawLinearElement, ExcalidrawSelectionElement, ExcalidrawTextElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
1
+ import { type CombineBrandsIfNeeded } from "@excalidraw/common";
2
+ import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, ExcalidrawSelectionElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
3
  import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
4
  import type { ImportedDataState } from "./types";
4
5
  type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
@@ -8,19 +9,33 @@ export type RestoredDataState = {
8
9
  appState: RestoredAppState;
9
10
  files: BinaryFiles;
10
11
  };
11
- export declare const restoreElement: (element: Exclude<ExcalidrawElement, ExcalidrawSelectionElement>, opts?: {
12
+ export declare const restoreElement: (
13
+ /** element to be restored */
14
+ element: Exclude<ExcalidrawElement, ExcalidrawSelectionElement>,
15
+ /** all elements to be restored */
16
+ targetElementsMap: Readonly<ElementsMap>,
17
+ /** used for additional context */
18
+ existingElementsMap: Readonly<ElementsMap> | null | undefined, opts?: {
12
19
  deleteInvisibleElements?: boolean;
13
- }) => ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | ExcalidrawArrowElement | null;
14
- export declare const restoreElements: (elements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
20
+ }) => typeof element | null;
21
+ export declare const restoreElements: <T extends ExcalidrawElement>(targetElements: readonly T[] | undefined | null,
22
+ /** used for additional context (e.g. repairing arrow bindings) */
23
+ existingElements: Readonly<ElementsMapOrArray> | null | undefined, opts?: {
15
24
  refreshDimensions?: boolean;
16
25
  repairBindings?: boolean;
17
26
  deleteInvisibleElements?: boolean;
18
- } | undefined) => OrderedExcalidrawElement[];
27
+ } | undefined) => CombineBrandsIfNeeded<T, OrderedExcalidrawElement>;
28
+ /**
29
+ * When replacing elements that may exist locally, this bumps their versions
30
+ * to the local version + 1. Mainly for later reconciliation to work properly.
31
+ *
32
+ * See https://github.com/excalidraw/excalidraw/issues/3795
33
+ *
34
+ * Generally use this on editor boundaries (importing from file etc.), though
35
+ * it does not apply universally (e.g. we don't want to do this for collab
36
+ * updates).
37
+ */
38
+ export declare const bumpElementVersions: <T extends ExcalidrawElement>(targetElements: readonly T[], localElements: Readonly<ElementsMapOrArray> | null | undefined) => T[];
19
39
  export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
20
- export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
21
- refreshDimensions?: boolean;
22
- repairBindings?: boolean;
23
- deleteInvisibleElements?: boolean;
24
- }) => RestoredDataState;
25
40
  export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
26
41
  export {};
@@ -7,8 +7,8 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
7
7
  set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
8
8
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
9
9
  } | ({
10
- get: <Value_2>(atom: import("jotai").Atom<Value_2>) => Value_2;
11
- set: <Value_1_1, Args_1 extends unknown[], Result_1>(atom: WritableAtom<Value_1_1, Args_1, Result_1>, ...args: Args_1) => Result_1;
10
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
11
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
12
12
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
13
13
  } & {
14
14
  dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
@@ -19,21 +19,21 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
19
19
  readonly l: Set<() => void>;
20
20
  readonly d: Set<import("jotai").Atom<unknown>>;
21
21
  readonly t: Set<import("jotai").Atom<unknown>>;
22
- u?: (() => void) | undefined;
23
- } | undefined;
22
+ u?: () => void;
23
+ };
24
24
  v?: unknown;
25
25
  e?: unknown;
26
26
  }>;
27
27
  dev4_get_mounted_atoms: () => Set<import("jotai").Atom<unknown>>;
28
28
  dev4_restore_atoms: (values: Iterable<readonly [import("jotai").Atom<unknown>, unknown]>) => void;
29
- }) | undefined;
29
+ });
30
30
  } | undefined) => {
31
- get: <Value_3>(atom: import("jotai").Atom<Value_3>) => Value_3;
32
- set: <Value_1_2, Args_2 extends unknown[], Result_2>(atom: WritableAtom<Value_1_2, Args_2, Result_2>, ...args: Args_2) => Result_2;
31
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
32
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
33
33
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
34
34
  } | ({
35
- get: <Value_4>(atom: import("jotai").Atom<Value_4>) => Value_4;
36
- set: <Value_1_3, Args_3 extends unknown[], Result_3>(atom: WritableAtom<Value_1_3, Args_3, Result_3>, ...args: Args_3) => Result_3;
35
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
36
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
37
37
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
38
38
  } & {
39
39
  dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
@@ -44,8 +44,8 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
44
44
  readonly l: Set<() => void>;
45
45
  readonly d: Set<import("jotai").Atom<unknown>>;
46
46
  readonly t: Set<import("jotai").Atom<unknown>>;
47
- u?: (() => void) | undefined;
48
- } | undefined;
47
+ u?: () => void;
48
+ };
49
49
  v?: unknown;
50
50
  e?: unknown;
51
51
  }>;
@@ -26,4 +26,18 @@ export declare class WorkerInTheMainChunkError extends Error {
26
26
  export declare class ExcalidrawError extends Error {
27
27
  constructor(message: string);
28
28
  }
29
+ export declare class RequestError extends Error {
30
+ status: number;
31
+ data: any;
32
+ toObject(): {
33
+ name: string;
34
+ status: number;
35
+ message: string;
36
+ };
37
+ constructor({ message, status, data, }?: {
38
+ message?: string;
39
+ status?: number;
40
+ data?: any;
41
+ });
42
+ }
29
43
  export {};
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
2
1
  export declare function useOutsideClick<T extends HTMLElement>(ref: React.RefObject<T | null>,
3
2
  /** if performance is of concern, memoize the callback */
4
- callback: (event: Event) => void,
3
+ callback: (event: Event & {
4
+ target: T;
5
+ }) => void,
5
6
  /**
6
7
  * Optional callback which is called on every click.
7
8
  *
@@ -14,7 +15,7 @@ callback: (event: Event) => void,
14
15
  * Returning `undefined` will fallback to the default behavior.
15
16
  */
16
17
  isInside?: (event: Event & {
17
- target: HTMLElement;
18
+ target: T;
18
19
  },
19
20
  /** the element of the passed ref */
20
21
  container: T) => boolean | undefined): void;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
- export declare const useScrollPosition: <T extends HTMLElement>(elementRef: import("react").RefObject<T | null>) => number;
1
+ export declare const useScrollPosition: <T extends HTMLElement>(elementRef: React.RefObject<T | null>) => number;
@@ -15,10 +15,10 @@ export declare const setLanguage: (lang: Language) => Promise<void>;
15
15
  export declare const getLanguage: () => Language;
16
16
  export declare const t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
17
17
  [key: string]: string | number;
18
- } | null | undefined, fallback?: string) => string;
18
+ } | null, fallback?: string) => string;
19
19
  export declare const useI18n: () => {
20
20
  t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
21
21
  [key: string]: string | number;
22
- } | null | undefined, fallback?: string) => string;
22
+ } | null, fallback?: string) => string;
23
23
  langCode: string;
24
24
  };
@@ -0,0 +1,12 @@
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 isRunning;
7
+ private static animations;
8
+ static start<R extends object>(key: string, animation: Animation<R>): void;
9
+ private static tick;
10
+ static running(key: string): boolean;
11
+ static cancel(key: string): void;
12
+ }
@@ -1,4 +1,3 @@
1
- import type { ElementsMap, ExcalidrawDiamondElement, ExcalidrawRectanguloidElement } from "@excalidraw/element/types";
2
1
  import type { StaticCanvasRenderConfig } from "../scene/types";
3
2
  import type { AppState, StaticCanvasAppState } from "../types";
4
3
  export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke: boolean, fill?: boolean) => void;
@@ -8,11 +7,10 @@ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normali
8
7
  scale: number;
9
8
  normalizedWidth: number;
10
9
  normalizedHeight: number;
11
- theme?: import("@excalidraw/element/types").Theme | undefined;
12
- isExporting?: boolean | undefined;
13
- viewBackgroundColor?: string | null | undefined;
10
+ theme?: AppState["theme"];
11
+ isExporting?: StaticCanvasRenderConfig["isExporting"];
12
+ viewBackgroundColor?: StaticCanvasAppState["viewBackgroundColor"];
14
13
  }) => CanvasRenderingContext2D;
15
- export declare const drawHighlightForRectWithRotation: (context: CanvasRenderingContext2D, element: ExcalidrawRectanguloidElement, elementsMap: ElementsMap, padding: number) => void;
16
- export declare const strokeEllipseWithRotation: (context: CanvasRenderingContext2D, width: number, height: number, cx: number, cy: number, angle: number) => void;
17
- export declare const strokeRectWithRotation: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean, radius?: number) => void;
18
- export declare const drawHighlightForDiamondWithRotation: (context: CanvasRenderingContext2D, padding: number, element: ExcalidrawDiamondElement, elementsMap: ElementsMap) => void;
14
+ export declare const strokeRectWithRotation_simple: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean,
15
+ /** should account for zoom */
16
+ radius?: number) => void;
@@ -1,20 +1,14 @@
1
+ import { getScrollBars } from "../scene/scrollbars";
1
2
  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;
3
+ declare const _renderInteractiveScene: ({ app, canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, editorInterface, animationState, deltaTime, }: InteractiveSceneRenderConfig) => {
4
+ scrollBars?: ReturnType<typeof getScrollBars>;
5
+ atLeastOneVisibleElement: boolean;
6
+ elementsMap: RenderableElementsMap;
7
+ animationState?: typeof animationState;
7
8
  };
8
9
  /**
9
10
  * Interactive scene is the ui-canvas where we render bounding boxes, selections
10
11
  * and other ui stuff.
11
12
  */
12
- export declare const renderInteractiveScene: <U extends ({ canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, editorInterface, }: 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>;
13
+ export declare const renderInteractiveScene: <U extends typeof _renderInteractiveScene>(renderConfig: InteractiveSceneRenderConfig) => ReturnType<U>;
14
+ export {};
@@ -1,11 +1,14 @@
1
1
  import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { Scene } from "@excalidraw/element";
3
+ import type { RenderableElementsMap } from "./types";
3
4
  import type { AppState } from "../types";
4
5
  export declare class Renderer {
5
6
  private scene;
6
7
  constructor(scene: Scene);
7
8
  getRenderableElements: ((opts: {
8
- zoom: AppState["zoom"];
9
+ zoom: Readonly<{
10
+ value: import("../types").NormalizedZoomValue;
11
+ }>;
9
12
  offsetLeft: AppState["offsetLeft"];
10
13
  offsetTop: AppState["offsetTop"];
11
14
  scrollX: AppState["scrollX"];
@@ -18,7 +21,7 @@ export declare class Renderer {
18
21
  newElementId: ExcalidrawElement["id"] | undefined;
19
22
  sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
20
23
  }) => {
21
- elementsMap: Map<string, NonDeletedExcalidrawElement> & import("../../common/src/utility-types").MakeBrand<"NonDeletedElementsMap"> & import("../../common/src/utility-types").MakeBrand<"RenderableElementsMap">;
24
+ elementsMap: RenderableElementsMap;
22
25
  visibleElements: readonly NonDeletedExcalidrawElement[];
23
26
  }) & {
24
27
  clear: () => void;
@@ -2,9 +2,9 @@ import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@e
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?: ExcalidrawFrameLikeElement | null;
8
8
  }, createCanvas?: (width: number, height: number) => {
9
9
  canvas: HTMLCanvasElement;
10
10
  scale: number;
@@ -7,12 +7,7 @@ export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, of
7
7
  width: number;
8
8
  };
9
9
  zoom: Zoom;
10
- offsets?: Partial<{
11
- top: number;
12
- right: number;
13
- bottom: number;
14
- left: number;
15
- }> | undefined;
10
+ offsets?: Offsets;
16
11
  }) => {
17
12
  scrollX: number;
18
13
  scrollY: number;
@@ -15,6 +15,7 @@ export type StaticCanvasRenderConfig = {
15
15
  embedsValidationStatus: EmbedsValidationStatus;
16
16
  elementsPendingErasure: ElementsPendingErasure;
17
17
  pendingFlowchartNodes: PendingExcalidrawElements | null;
18
+ theme: AppState["theme"];
18
19
  };
19
20
  export type SVGRenderConfig = {
20
21
  offsetX: number;
@@ -32,6 +33,7 @@ export type SVGRenderConfig = {
32
33
  * @default true
33
34
  */
34
35
  reuseImages: boolean;
36
+ theme: AppState["theme"];
35
37
  };
36
38
  export type InteractiveCanvasRenderConfig = {
37
39
  remoteSelectedElementIds: Map<ExcalidrawElement["id"], SocketId[]>;
@@ -43,6 +45,10 @@ export type InteractiveCanvasRenderConfig = {
43
45
  remotePointerUsernames: Map<SocketId, string>;
44
46
  remotePointerButton: Map<SocketId, string | undefined>;
45
47
  selectionColor: string;
48
+ lastViewportPosition: {
49
+ x: number;
50
+ y: number;
51
+ };
46
52
  renderScrollbars?: boolean;
47
53
  };
48
54
  export type RenderInteractiveSceneCallback = {
@@ -60,7 +66,13 @@ export type StaticSceneRenderConfig = {
60
66
  appState: StaticCanvasAppState;
61
67
  renderConfig: StaticCanvasRenderConfig;
62
68
  };
69
+ export type InteractiveSceneRenderAnimationState = {
70
+ bindingHighlight: {
71
+ runtime: number;
72
+ } | undefined;
73
+ };
63
74
  export type InteractiveSceneRenderConfig = {
75
+ app: AppClassProperties;
64
76
  canvas: HTMLCanvasElement | null;
65
77
  elementsMap: RenderableElementsMap;
66
78
  visibleElements: readonly NonDeletedExcalidrawElement[];
@@ -71,6 +83,8 @@ export type InteractiveSceneRenderConfig = {
71
83
  renderConfig: InteractiveCanvasRenderConfig;
72
84
  editorInterface: EditorInterface;
73
85
  callback: (data: RenderInteractiveSceneCallback) => void;
86
+ animationState?: InteractiveSceneRenderAnimationState;
87
+ deltaTime: number;
74
88
  };
75
89
  export type NewElementSceneRenderConfig = {
76
90
  canvas: HTMLCanvasElement | null;
@@ -103,14 +117,17 @@ export type ScrollBars = {
103
117
  deltaMultiplier: number;
104
118
  } | null;
105
119
  };
106
- export type ElementShape = Drawable | Drawable[] | null;
120
+ export type SVGPathString = string & {
121
+ __brand: "SVGPathString";
122
+ };
123
+ export type ElementShape = Drawable | Drawable[] | Path2D | (Drawable | SVGPathString)[] | null;
107
124
  export type ElementShapes = {
108
125
  rectangle: Drawable;
109
126
  ellipse: Drawable;
110
127
  diamond: Drawable;
111
128
  iframe: Drawable;
112
129
  embeddable: Drawable;
113
- freedraw: Drawable | null;
130
+ freedraw: (Drawable | SVGPathString)[];
114
131
  arrow: Drawable[];
115
132
  line: Drawable[];
116
133
  text: null;
@@ -1,6 +1,6 @@
1
1
  import { type GlobalPoint } from "@excalidraw/math";
2
2
  import type { InclusiveRange } from "@excalidraw/math";
3
- import type { Bounds } from "@excalidraw/element";
3
+ import type { Bounds } from "@excalidraw/common";
4
4
  import type { MaybeTransformHandleType } from "@excalidraw/element";
5
5
  import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
6
6
  import type { AppClassProperties, AppState, KeyboardModifiersObject } from "./types";
@@ -70,9 +70,9 @@ export declare const isSnappingEnabled: ({ event, app, selectedElements, }: {
70
70
  }) => boolean;
71
71
  export declare const areRoughlyEqual: (a: number, b: number, precision?: number) => boolean;
72
72
  export declare const getElementsCorners: (elements: ExcalidrawElement[], elementsMap: ElementsMap, { omitCenter, boundingBoxCorners, dragOffset, }?: {
73
- omitCenter?: boolean | undefined;
74
- boundingBoxCorners?: boolean | undefined;
75
- dragOffset?: Vector2D | undefined;
73
+ omitCenter?: boolean;
74
+ boundingBoxCorners?: boolean;
75
+ dragOffset?: Vector2D;
76
76
  }) => GlobalPoint[];
77
77
  export declare const getVisibleGaps: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => {
78
78
  horizontalGaps: Gap[];
@@ -107,5 +107,5 @@ export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElemen
107
107
  };
108
108
  snapLines: PointerSnapLine[];
109
109
  };
110
- export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => boolean;
110
+ export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => activeToolType is "text" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "magicframe";
111
111
  export {};
@@ -38,7 +38,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38
38
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
39
39
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40
40
  */
41
- declare function subset(hbSubsetWasm: any, heapu8: Uint8Array, font: ArrayBuffer, codePoints: ReadonlySet<number>): Uint8Array;
41
+ declare function subset(hbSubsetWasm: any, heapu8: Uint8Array, font: ArrayBuffer, codePoints: ReadonlySet<number>): Uint8Array<ArrayBuffer>;
42
42
  declare const _default: {
43
43
  subset: typeof subset;
44
44
  };
@@ -7,7 +7,7 @@
7
7
  * In the future consider separating common utils into a separate shared chunk.
8
8
  */
9
9
  declare const load: () => Promise<{
10
- subset: (fontBuffer: ArrayBuffer, codePoints: ReadonlySet<number>) => Uint8Array;
10
+ subset: (fontBuffer: ArrayBuffer, codePoints: ReadonlySet<number>) => Uint8Array<ArrayBuffer>;
11
11
  }>;
12
12
  declare const _default: () => ReturnType<typeof load>;
13
13
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: Uint8Array;
1
+ declare const _default: Uint8Array<ArrayBuffer>;
2
2
  export default _default;
@@ -7,8 +7,8 @@
7
7
  * In the future consider separating common utils into a separate shared chunk.
8
8
  */
9
9
  declare const load: () => Promise<{
10
- compress: (buffer: ArrayBuffer) => Uint8Array;
11
- decompress: (buffer: ArrayBuffer) => Uint8Array;
10
+ compress: (buffer: ArrayBuffer) => Uint8Array<ArrayBuffer>;
11
+ decompress: (buffer: ArrayBuffer) => Uint8Array<ArrayBuffer>;
12
12
  }>;
13
13
  declare const _default: () => ReturnType<typeof load>;
14
14
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: Uint8Array;
1
+ declare const _default: Uint8Array<ArrayBuffer>;
2
2
  export default _default;
@@ -0,0 +1,15 @@
1
+ import { type GlobalPoint } from "@excalidraw/math";
2
+ import type { EditorInterface } from "@excalidraw/common";
3
+ import type { ExcalidrawTextElement } from "@excalidraw/element/types";
4
+ export declare const getTextBoxPadding: (zoomValue: number) => number;
5
+ export declare const getTextAutoResizeHandle: (textElement: ExcalidrawTextElement, zoomValue: number, formFactor: EditorInterface["formFactor"]) => {
6
+ center: GlobalPoint | import("@excalidraw/math").LocalPoint;
7
+ start: GlobalPoint;
8
+ end: GlobalPoint;
9
+ hitboxWidth: number;
10
+ hitboxHeight: number;
11
+ } | null;
12
+ export declare const isPointHittingTextAutoResizeHandle: (point: Readonly<{
13
+ x: number;
14
+ y: number;
15
+ }>, textElement: ExcalidrawTextElement, zoomValue: number, formFactor: EditorInterface["formFactor"]) => boolean;