@zsviczian/excalidraw 0.18.0-1 → 0.18.0-10

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 (243) hide show
  1. package/README.md +1 -1
  2. package/dist/excalidraw.development.js +2231 -2418
  3. package/dist/excalidraw.production.min.js +1 -1
  4. package/dist/excalidraw.production.min.js.LICENSE.txt +0 -32
  5. package/dist/styles.development.css +2995 -3004
  6. package/dist/styles.production.css +28 -28
  7. package/package.json +14 -2
  8. package/types/{excalidraw/binaryheap.d.ts → common/src/binary-heap.d.ts} +1 -1
  9. package/types/{excalidraw → common/src}/colors.d.ts +1 -0
  10. package/types/{excalidraw → common/src}/constants.d.ts +10 -7
  11. package/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +11 -3
  12. package/types/common/src/index.d.ts +11 -0
  13. package/types/{excalidraw → common/src}/points.d.ts +2 -0
  14. package/types/common/src/promise-pool.d.ts +6 -0
  15. package/types/{excalidraw → common/src}/utils.d.ts +13 -12
  16. package/types/{excalidraw/scene → element/src}/Shape.d.ts +2 -2
  17. package/types/{excalidraw/scene → element/src}/ShapeCache.d.ts +4 -4
  18. package/types/{excalidraw → element/src}/align.d.ts +2 -2
  19. package/types/{excalidraw/element → element/src}/binding.d.ts +8 -8
  20. package/types/{excalidraw/element → element/src}/bounds.d.ts +9 -4
  21. package/types/{excalidraw/element → element/src}/collision.d.ts +3 -3
  22. package/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
  23. package/types/{excalidraw → element/src}/distribute.d.ts +1 -1
  24. package/types/{excalidraw/element → element/src}/dragElements.d.ts +3 -3
  25. package/types/element/src/duplicate.d.ts +63 -0
  26. package/types/{excalidraw/element → element/src}/elbowArrow.d.ts +2 -2
  27. package/types/{excalidraw/element → element/src}/elementLink.d.ts +1 -1
  28. package/types/element/src/embeddable.d.ts +10 -0
  29. package/types/{excalidraw/element → element/src}/flowchart.d.ts +1 -1
  30. package/types/{excalidraw → element/src}/fractionalIndex.d.ts +4 -1
  31. package/types/{excalidraw → element/src}/frame.d.ts +7 -7
  32. package/types/{excalidraw → element/src}/groups.d.ts +5 -5
  33. package/types/{excalidraw/element → element/src}/heading.d.ts +1 -2
  34. package/types/{excalidraw/element → element/src}/image.d.ts +2 -2
  35. package/types/{excalidraw/element → element/src}/index.d.ts +0 -10
  36. package/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +7 -7
  37. package/types/{excalidraw/element → element/src}/mutateElement.d.ts +1 -1
  38. package/types/{excalidraw/element → element/src}/newElement.d.ts +3 -43
  39. package/types/{excalidraw/renderer → element/src}/renderElement.d.ts +3 -3
  40. package/types/{excalidraw/element → element/src}/resizeElements.d.ts +4 -4
  41. package/types/{excalidraw/element → element/src}/resizeTest.d.ts +4 -4
  42. package/types/{excalidraw/scene → element/src}/selection.d.ts +13 -2
  43. package/types/element/src/shapes.d.ts +23 -0
  44. package/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +1 -1
  45. package/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +1 -1
  46. package/types/{excalidraw/element → element/src}/textElement.d.ts +5 -5
  47. package/types/{excalidraw/element → element/src}/transformHandles.d.ts +7 -7
  48. package/types/{excalidraw/element → element/src}/typeChecks.d.ts +2 -2
  49. package/types/{excalidraw/element → element/src}/types.d.ts +2 -2
  50. package/types/{excalidraw/element → element/src}/utils.d.ts +1 -1
  51. package/types/{excalidraw → element/src}/zindex.d.ts +5 -4
  52. package/types/excalidraw/actions/actionAddToLibrary.d.ts +94 -79
  53. package/types/excalidraw/actions/actionAlign.d.ts +7 -7
  54. package/types/excalidraw/actions/actionBoundText.d.ts +68 -58
  55. package/types/excalidraw/actions/actionCanvas.d.ts +738 -455
  56. package/types/excalidraw/actions/actionClipboard.d.ts +197 -167
  57. package/types/excalidraw/actions/actionCropEditor.d.ts +33 -28
  58. package/types/excalidraw/actions/actionDeleteSelected.d.ts +94 -79
  59. package/types/excalidraw/actions/actionDistribute.d.ts +3 -3
  60. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -7
  61. package/types/excalidraw/actions/actionElementLink.d.ts +37 -32
  62. package/types/excalidraw/actions/actionElementLock.d.ts +67 -58
  63. package/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +33 -38
  64. package/types/excalidraw/actions/actionExport.d.ts +374 -329
  65. package/types/excalidraw/actions/actionFinalize.d.ts +55 -45
  66. package/types/excalidraw/actions/actionFlip.d.ts +3 -3
  67. package/types/excalidraw/actions/actionFrame.d.ts +243 -223
  68. package/types/excalidraw/actions/actionGroup.d.ts +65 -55
  69. package/types/excalidraw/actions/actionHistory.d.ts +1 -1
  70. package/types/excalidraw/actions/actionLinearEditor.d.ts +34 -29
  71. package/types/excalidraw/actions/actionLink.d.ts +33 -28
  72. package/types/excalidraw/actions/actionMenu.d.ts +94 -79
  73. package/types/excalidraw/actions/actionNavigate.d.ts +62 -52
  74. package/types/excalidraw/actions/actionProperties.d.ts +422 -347
  75. package/types/excalidraw/actions/actionSelectAll.d.ts +33 -28
  76. package/types/excalidraw/actions/actionStyles.d.ts +35 -30
  77. package/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  78. package/types/excalidraw/actions/actionToggleGridMode.d.ts +33 -28
  79. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +33 -28
  80. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +64 -54
  81. package/types/excalidraw/actions/actionToggleStats.d.ts +32 -28
  82. package/types/excalidraw/actions/actionToggleViewMode.d.ts +33 -29
  83. package/types/excalidraw/actions/actionToggleZenMode.d.ts +33 -29
  84. package/types/excalidraw/actions/actionZindex.d.ts +8 -8
  85. package/types/excalidraw/actions/index.d.ts +1 -0
  86. package/types/excalidraw/actions/manager.d.ts +2 -2
  87. package/types/excalidraw/actions/shortcuts.d.ts +1 -1
  88. package/types/excalidraw/actions/types.d.ts +4 -4
  89. package/types/excalidraw/animated-trail.d.ts +7 -1
  90. package/types/excalidraw/appState.d.ts +32 -31
  91. package/types/excalidraw/change.d.ts +3 -3
  92. package/types/excalidraw/charts.d.ts +1 -1
  93. package/types/excalidraw/clipboard.d.ts +7 -7
  94. package/types/excalidraw/components/Actions.d.ts +3 -3
  95. package/types/excalidraw/components/App.d.ts +32 -32
  96. package/types/excalidraw/components/Avatar.d.ts +1 -1
  97. package/types/excalidraw/components/ButtonIcon.d.ts +1 -1
  98. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  99. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
  100. package/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -2
  101. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  102. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  103. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +3 -3
  104. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  105. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  106. package/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
  107. package/types/excalidraw/components/ContextMenu.d.ts +2 -2
  108. package/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  109. package/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
  110. package/types/excalidraw/components/DialogActionButton.d.ts +1 -1
  111. package/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +1 -1
  112. package/types/excalidraw/components/ElementLinkDialog.d.ts +2 -2
  113. package/types/excalidraw/components/EyeDropper.d.ts +1 -1
  114. package/types/excalidraw/components/FixedSideContainer.d.ts +1 -1
  115. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  116. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +1 -1
  117. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
  118. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +1 -1
  119. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
  120. package/types/excalidraw/components/HintViewer.d.ts +1 -1
  121. package/types/excalidraw/components/IconPicker.d.ts +1 -1
  122. package/types/excalidraw/components/ImageExportDialog.d.ts +2 -2
  123. package/types/excalidraw/components/InitializeApp.d.ts +1 -1
  124. package/types/excalidraw/components/Island.d.ts +1 -1
  125. package/types/excalidraw/components/JSONExportDialog.d.ts +2 -2
  126. package/types/excalidraw/components/LayerUI.d.ts +3 -3
  127. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -1
  128. package/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  129. package/types/excalidraw/components/LibraryMenuSection.d.ts +3 -3
  130. package/types/excalidraw/components/LibraryUnit.d.ts +2 -2
  131. package/types/excalidraw/components/LoadingMessage.d.ts +1 -1
  132. package/types/excalidraw/components/MagicButton.d.ts +1 -1
  133. package/types/excalidraw/components/MobileMenu.d.ts +3 -3
  134. package/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
  135. package/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  136. package/types/excalidraw/components/PublishLibrary.d.ts +1 -1
  137. package/types/excalidraw/components/SVGLayer.d.ts +1 -1
  138. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  139. package/types/excalidraw/components/Sidebar/common.d.ts +1 -1
  140. package/types/excalidraw/components/Stack.d.ts +1 -1
  141. package/types/excalidraw/components/Stats/Angle.d.ts +1 -1
  142. package/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
  143. package/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  144. package/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  145. package/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
  146. package/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  147. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  148. package/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  149. package/types/excalidraw/components/Stats/Position.d.ts +1 -1
  150. package/types/excalidraw/components/Stats/index.d.ts +2 -2
  151. package/types/excalidraw/components/Stats/utils.d.ts +1 -1
  152. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -1
  153. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +1 -1
  154. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  155. package/types/excalidraw/components/TTDDialog/common.d.ts +3 -3
  156. package/types/excalidraw/components/TextField.d.ts +1 -1
  157. package/types/excalidraw/components/Toast.d.ts +1 -1
  158. package/types/excalidraw/components/ToolButton.d.ts +2 -2
  159. package/types/excalidraw/components/Tooltip.d.ts +1 -1
  160. package/types/excalidraw/components/UserList.d.ts +1 -1
  161. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +4 -3
  162. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -2
  163. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +3 -3
  164. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +1 -1
  165. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +2 -2
  166. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +1 -1
  167. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  168. package/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  169. package/types/excalidraw/components/icons.d.ts +2 -1
  170. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
  171. package/types/excalidraw/components/main-menu/MainMenu.d.ts +4 -1
  172. package/types/excalidraw/components/shapes.d.ts +62 -0
  173. package/types/excalidraw/context/tunnels.d.ts +1 -1
  174. package/types/excalidraw/data/EditorLocalStorage.d.ts +1 -1
  175. package/types/excalidraw/data/blob.d.ts +4 -4
  176. package/types/excalidraw/data/filesystem.d.ts +2 -2
  177. package/types/excalidraw/data/index.d.ts +2 -2
  178. package/types/excalidraw/data/json.d.ts +1 -1
  179. package/types/excalidraw/data/library.d.ts +3 -3
  180. package/types/excalidraw/data/reconcile.d.ts +2 -2
  181. package/types/excalidraw/data/resave.d.ts +1 -1
  182. package/types/excalidraw/data/restore.d.ts +1 -1
  183. package/types/excalidraw/data/transform.d.ts +4 -4
  184. package/types/excalidraw/data/types.d.ts +3 -3
  185. package/types/excalidraw/eraser/index.d.ts +14 -0
  186. package/types/excalidraw/errors.d.ts +0 -3
  187. package/types/excalidraw/fonts/Fonts.d.ts +2 -12
  188. package/types/excalidraw/history.d.ts +2 -2
  189. package/types/excalidraw/i18n.d.ts +1 -1
  190. package/types/excalidraw/index.d.ts +29 -35
  191. package/types/excalidraw/laser-trails.d.ts +1 -1
  192. package/types/excalidraw/lasso/index.d.ts +15 -0
  193. package/types/excalidraw/lasso/utils.d.ts +12 -0
  194. package/types/excalidraw/obsidianUtils.d.ts +3 -2
  195. package/types/excalidraw/renderer/helpers.d.ts +2 -2
  196. package/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
  197. package/types/excalidraw/scene/Renderer.d.ts +3 -3
  198. package/types/excalidraw/scene/Scene.d.ts +5 -5
  199. package/types/excalidraw/scene/export.d.ts +1 -1
  200. package/types/excalidraw/scene/index.d.ts +2 -2
  201. package/types/excalidraw/scene/scroll.d.ts +1 -1
  202. package/types/excalidraw/scene/scrollbars.d.ts +2 -3
  203. package/types/excalidraw/scene/types.d.ts +4 -4
  204. package/types/excalidraw/snapping.d.ts +5 -6
  205. package/types/excalidraw/store.d.ts +2 -2
  206. package/types/excalidraw/types.d.ts +26 -16
  207. package/types/excalidraw/visualdebug.d.ts +2 -2
  208. package/types/excalidraw/webpack.dev.config.d.ts +2 -0
  209. package/types/excalidraw/webpack.prod.config.d.ts +2 -0
  210. package/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +1 -1
  211. package/types/math/{point.d.ts → src/point.d.ts} +2 -2
  212. package/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
  213. package/types/math/{segment.d.ts → src/segment.d.ts} +1 -1
  214. package/types/math/{types.d.ts → src/types.d.ts} +1 -0
  215. package/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
  216. package/types/utils/{collision.d.ts → src/collision.d.ts} +2 -3
  217. package/types/utils/{export.d.ts → src/export.d.ts} +2 -12
  218. package/types/utils/{index.d.ts → src/index.d.ts} +1 -1
  219. package/types/utils/{geometry → src}/shape.d.ts +2 -15
  220. package/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +2 -2
  221. package/types/excalidraw/shapes.d.ts +0 -85
  222. /package/types/{excalidraw → common/src}/keys.d.ts +0 -0
  223. /package/types/{excalidraw → common/src}/queue.d.ts +0 -0
  224. /package/types/{excalidraw → common/src}/random.d.ts +0 -0
  225. /package/types/{excalidraw/data → common/src}/url.d.ts +0 -0
  226. /package/types/{excalidraw → common/src}/utility-types.d.ts +0 -0
  227. /package/types/{excalidraw/element → element/src}/containerCache.d.ts +0 -0
  228. /package/types/{excalidraw/element → element/src}/cropElement.d.ts +0 -0
  229. /package/types/{excalidraw/element → element/src}/distance.d.ts +0 -0
  230. /package/types/{excalidraw/renderer → element/src}/easingFunctions.d.ts +0 -0
  231. /package/types/{excalidraw/element → element/src}/sortElements.d.ts +0 -0
  232. /package/types/{excalidraw/element → element/src}/textMeasurements.d.ts +0 -0
  233. /package/types/{excalidraw/element → element/src}/textWrapping.d.ts +0 -0
  234. /package/types/math/{angle.d.ts → src/angle.d.ts} +0 -0
  235. /package/types/math/{curve.d.ts → src/curve.d.ts} +0 -0
  236. /package/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
  237. /package/types/math/{index.d.ts → src/index.d.ts} +0 -0
  238. /package/types/math/{line.d.ts → src/line.d.ts} +0 -0
  239. /package/types/math/{range.d.ts → src/range.d.ts} +0 -0
  240. /package/types/math/{rectangle.d.ts → src/rectangle.d.ts} +0 -0
  241. /package/types/math/{triangle.d.ts → src/triangle.d.ts} +0 -0
  242. /package/types/math/{utils.d.ts → src/utils.d.ts} +0 -0
  243. /package/types/math/{vector.d.ts → src/vector.d.ts} +0 -0
@@ -1,48 +1,43 @@
1
1
  import React from "react";
2
+ import Footer from "./components/footer/FooterCenter";
3
+ import LiveCollaborationTrigger from "./components/live-collaboration/LiveCollaborationTrigger";
4
+ import MainMenu from "./components/main-menu/MainMenu";
5
+ import WelcomeScreen from "./components/welcome-screen/WelcomeScreen";
2
6
  import "./css/app.scss";
3
7
  import "./css/styles.scss";
4
8
  import "./fonts/fonts.css";
5
9
  import type { ExcalidrawProps } from "./types";
6
- import Footer from "./components/footer/FooterCenter";
7
- import MainMenu from "./components/main-menu/MainMenu";
8
- import WelcomeScreen from "./components/welcome-screen/WelcomeScreen";
9
- import LiveCollaborationTrigger from "./components/live-collaboration/LiveCollaborationTrigger";
10
10
  export declare const Excalidraw: React.MemoExoticComponent<(props: ExcalidrawProps) => import("react/jsx-runtime").JSX.Element>;
11
- export { getSceneVersion, hashElementsVersion, hashString, isInvisiblySmallElement, getNonDeletedElements, getTextFromElements, } from "./element";
11
+ export { getSceneVersion, hashElementsVersion, hashString, getNonDeletedElements, } from "@excalidraw/element";
12
+ export { getTextFromElements } from "@excalidraw/element/textElement";
13
+ export { isInvisiblySmallElement } from "@excalidraw/element/sizeHelpers";
12
14
  export { defaultLang, useI18n, languages } from "./i18n";
13
15
  export { restore, restoreAppState, restoreElements, restoreLibraryItems, } from "./data/restore";
14
16
  export { reconcileElements } from "./data/reconcile";
15
- export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, getCommonBoundingBox, //zsviczian
16
- getMaximumGroups, //zsviczian
17
- intersectElementWithLine, //zsviczian
18
- determineFocusDistance, //zsviczian
19
- measureText, //zsviczian
20
- getLineHeight, //zsviczian
21
- wrapText, //zsviczian
22
- getFontString, //zsviczian
23
- getBoundTextMaxWidth, //zsviczian
24
- mermaidToExcalidraw, //zsviczian
25
- destroyObsidianUtils, //zsviczian
26
- registerLocalFont, //zsviczian
27
- getFontFamilies, //zsviczian
28
- getFontFamilyString, //zsviczian
29
- registerFontsInCSS, //zsviczian
30
- getCSSFontDefinition, //zsviczian
31
- loadSceneFonts, //zsviczian
32
- loadMermaid, } from "../utils/export";
33
- export { refreshTextDimensions } from "./element/newElement";
34
- export { getContainerElement } from "./element/textElement";
17
+ export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, } from "@excalidraw/utils/export";
18
+ export { getCommonBoundingBox } from "@excalidraw/element/bounds";
19
+ export { getMaximumGroups } from "@excalidraw/element/groups";
20
+ export { determineFocusDistance } from "@excalidraw/element/binding";
21
+ export { measureText } from "@excalidraw/element/textMeasurements";
22
+ export { wrapText } from "@excalidraw/element/textWrapping";
23
+ export { getLineHeight } from "@excalidraw/common";
24
+ export { getFontString, getFontFamilyString } from "@excalidraw/common";
25
+ export { getBoundTextMaxWidth } from "@excalidraw/element/textElement";
26
+ export { mermaidToExcalidraw } from "./components/TTDDialog/MermaidToExcalidrawLib";
27
+ export { destroyObsidianUtils, registerLocalFont, getFontFamilies, registerFontsInCSS, getCSSFontDefinition, loadSceneFonts, getSharedMermaidInstance, loadMermaid, intersectElementWithLine, } from "../excalidraw/obsidianUtils";
28
+ export { refreshTextDimensions } from "@excalidraw/element/newElement";
29
+ export { getContainerElement } from "@excalidraw/element/textElement";
35
30
  export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
36
31
  export { loadFromBlob, loadSceneOrLibraryFromBlob, loadLibraryFromBlob, } from "./data/blob";
37
- export { getFreeDrawSvgPath } from "./renderer/renderElement";
32
+ export { getFreeDrawSvgPath } from "@excalidraw/element/renderElement";
38
33
  export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
39
- export { isLinearElement } from "./element/typeChecks";
40
- export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, } from "./constants";
41
- export { mutateElement, newElementWith, bumpVersion, } from "./element/mutateElement";
34
+ export { isLinearElement } from "@excalidraw/element/typeChecks";
35
+ export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, } from "@excalidraw/common";
36
+ export { mutateElement, newElementWith, bumpVersion, } from "@excalidraw/element/mutateElement";
42
37
  export { CaptureUpdateAction } from "./store";
43
38
  export { parseLibraryTokensFromUrl, useHandleLibrary } from "./data/library";
44
- export { sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, safelyParseJSON, } from "./utils";
45
- export { getEmbedLink } from "./element/embeddable";
39
+ export { sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, safelyParseJSON, } from "@excalidraw/common";
40
+ export { getEmbedLink } from "@excalidraw/element/embeddable";
46
41
  export { Sidebar } from "./components/Sidebar/Sidebar";
47
42
  export { Button } from "./components/Button";
48
43
  export { Footer };
@@ -54,12 +49,11 @@ export { Stats } from "./components/Stats";
54
49
  export { DefaultSidebar } from "./components/DefaultSidebar";
55
50
  export { TTDDialog } from "./components/TTDDialog/TTDDialog";
56
51
  export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
57
- export { normalizeLink } from "./data/url";
58
52
  export { zoomToFitBounds } from "./actions/actionCanvas";
59
53
  export { convertToExcalidrawElements } from "./data/transform";
60
- export { getCommonBounds, getVisibleSceneBounds } from "./element/bounds";
54
+ export { getCommonBounds, getVisibleSceneBounds, } from "@excalidraw/element/bounds";
61
55
  export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
62
56
  export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
63
57
  export { getDataURL } from "./data/blob";
64
- export { isElementLink } from "./element/elementLink";
65
- export { setCustomTextMetricsProvider } from "./element/textMeasurements";
58
+ export { isElementLink } from "@excalidraw/element/elementLink";
59
+ export { setCustomTextMetricsProvider } from "@excalidraw/element/textMeasurements";
@@ -1,5 +1,5 @@
1
- import type { Trail } from "./animated-trail";
2
1
  import { AnimatedTrail } from "./animated-trail";
2
+ import type { Trail } from "./animated-trail";
3
3
  import type { AnimationFrameHandler } from "./animation-frame-handler";
4
4
  import type App from "./components/App";
5
5
  export declare class LaserTrails implements Trail {
@@ -0,0 +1,15 @@
1
+ import { type AnimationFrameHandler } from "../animation-frame-handler";
2
+ import { AnimatedTrail } from "../animated-trail";
3
+ import type App from "../components/App";
4
+ export declare class LassoTrail extends AnimatedTrail {
5
+ private intersectedElements;
6
+ private enclosedElements;
7
+ private elementsSegments;
8
+ private keepPreviousSelection;
9
+ constructor(animationFrameHandler: AnimationFrameHandler, app: App);
10
+ startPath(x: number, y: number, keepPreviousSelection?: boolean): void;
11
+ selectElementsFromIds: (ids: string[]) => void;
12
+ addPointToPath: (x: number, y: number, keepPreviousSelection?: boolean) => void;
13
+ private updateSelection;
14
+ endPath(): void;
15
+ }
@@ -0,0 +1,12 @@
1
+ import type { ElementsSegmentsMap, GlobalPoint } from "@excalidraw/math/types";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
+ export declare const getLassoSelectedElementIds: (input: {
4
+ lassoPath: GlobalPoint[];
5
+ elements: readonly ExcalidrawElement[];
6
+ elementsSegments: ElementsSegmentsMap;
7
+ intersectedElements: Set<ExcalidrawElement["id"]>;
8
+ enclosedElements: Set<ExcalidrawElement["id"]>;
9
+ simplifyDistance?: number;
10
+ }) => {
11
+ selectedElementIds: string[];
12
+ };
@@ -1,7 +1,7 @@
1
1
  import { GlobalPoint } from "@excalidraw/math/types";
2
2
  import type { MermaidToExcalidrawLibProps } from "./components/TTDDialog/common";
3
- import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "./element/types";
4
- import type { FontMetadata } from "./fonts/FontMetadata";
3
+ import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
4
+ import type { FontMetadata } from "@excalidraw/common";
5
5
  import type { AppState } from "./types";
6
6
  export declare let hostPlugin: any;
7
7
  export declare function destroyObsidianUtils(): void;
@@ -26,3 +26,4 @@ export declare function isTouchInPenMode(appState: AppState, event: React.Pointe
26
26
  export declare function getSharedMermaidInstance(): Promise<MermaidToExcalidrawLibProps>;
27
27
  export declare function loadMermaid(): Promise<MermaidToExcalidrawLibProps>;
28
28
  export declare const intersectElementWithLine: (element: ExcalidrawElement, a: GlobalPoint, b: GlobalPoint, gap: number | undefined, elementsMap: ElementsMap) => GlobalPoint[] | undefined;
29
+ export declare const disableDoubleClickTextEditing: () => any;
@@ -1,5 +1,5 @@
1
- import type { StaticCanvasAppState, AppState } from "../types";
2
1
  import type { StaticCanvasRenderConfig } from "../scene/types";
2
+ import type { StaticCanvasAppState, AppState } from "../types";
3
3
  export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke?: boolean) => void;
4
4
  export declare const getNormalizedCanvasDimensions: (canvas: HTMLCanvasElement, scale: number) => [number, number];
5
5
  export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normalizedHeight, theme, isExporting, viewBackgroundColor, }: {
@@ -7,7 +7,7 @@ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normali
7
7
  scale: number;
8
8
  normalizedWidth: number;
9
9
  normalizedHeight: number;
10
- theme?: import("../element/types").Theme | undefined;
10
+ theme?: import("@excalidraw/element/types").Theme | undefined;
11
11
  isExporting?: boolean | undefined;
12
12
  viewBackgroundColor?: string | null | undefined;
13
13
  }) => CanvasRenderingContext2D;
@@ -1,5 +1,5 @@
1
- import type { RoughSVG } from "roughjs/bin/svg";
2
- import type { NonDeletedExcalidrawElement } from "../element/types";
1
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
2
  import type { RenderableElementsMap, SVGRenderConfig } from "../scene/types";
4
3
  import type { BinaryFiles } from "../types";
4
+ import type { RoughSVG } from "roughjs/bin/svg";
5
5
  export declare const renderSceneToSvg: (elements: readonly NonDeletedExcalidrawElement[], elementsMap: RenderableElementsMap, rsvg: RoughSVG, svgRoot: SVGElement, files: BinaryFiles, renderConfig: SVGRenderConfig) => void;
@@ -1,6 +1,6 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "../element/types";
2
- import type { AppState } from "../types";
1
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
2
  import type Scene from "./Scene";
3
+ import type { AppState } from "../types";
4
4
  export declare class Renderer {
5
5
  private scene;
6
6
  constructor(scene: Scene);
@@ -19,7 +19,7 @@ export declare class Renderer {
19
19
  pendingImageElementId: AppState["pendingImageElementId"];
20
20
  sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
21
21
  }) => {
22
- elementsMap: Map<string, NonDeletedExcalidrawElement> & import("../utility-types").MakeBrand<"NonDeletedElementsMap"> & import("../utility-types").MakeBrand<"RenderableElementsMap">;
22
+ elementsMap: Map<string, NonDeletedExcalidrawElement> & import("@excalidraw/common/utility-types").MakeBrand<"NonDeletedElementsMap"> & import("@excalidraw/common/utility-types").MakeBrand<"RenderableElementsMap">;
23
23
  visibleElements: readonly NonDeletedExcalidrawElement[];
24
24
  }) & {
25
25
  clear: () => void;
@@ -1,5 +1,5 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameLikeElement, ElementsMapOrArray, OrderedExcalidrawElement, Ordered } from "../element/types";
2
- import type { LinearElementEditor } from "../element/linearElementEditor";
1
+ import type { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
2
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameLikeElement, ElementsMapOrArray, OrderedExcalidrawElement, Ordered } from "@excalidraw/element/types";
3
3
  import type { AppState } from "../types";
4
4
  type ElementIdKey = InstanceType<typeof LinearElementEditor>["elementId"];
5
5
  type ElementKey = ExcalidrawElement | ElementIdKey;
@@ -30,9 +30,9 @@ declare class Scene {
30
30
  */
31
31
  private sceneNonce;
32
32
  getSceneNonce(): number | undefined;
33
- getNonDeletedElementsMap(): Map<string, Ordered<NonDeletedExcalidrawElement>> & import("../utility-types").MakeBrand<"NonDeletedSceneElementsMap">;
33
+ getNonDeletedElementsMap(): Map<string, Ordered<NonDeletedExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"NonDeletedSceneElementsMap">;
34
34
  getElementsIncludingDeleted(): readonly OrderedExcalidrawElement[];
35
- getElementsMapIncludingDeleted(): Map<string, Ordered<ExcalidrawElement>> & import("../utility-types").MakeBrand<"SceneElementsMap">;
35
+ getElementsMapIncludingDeleted(): Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
36
36
  getNonDeletedElements(): readonly Ordered<NonDeletedExcalidrawElement>[];
37
37
  getFramesIncludingDeleted(): readonly ExcalidrawFrameLikeElement[];
38
38
  getSelectedElements(opts: {
@@ -73,7 +73,7 @@ declare class Scene {
73
73
  getElementIndex(elementId: string): number;
74
74
  getContainerElement: (element: (ExcalidrawElement & {
75
75
  containerId: ExcalidrawElement["id"] | null;
76
- }) | null) => import("../element/types").ExcalidrawSelectionElement | import("../element/types").ExcalidrawRectangleElement | import("../element/types").ExcalidrawDiamondElement | import("../element/types").ExcalidrawEllipseElement | import("../element/types").ExcalidrawTextElement | import("../element/types").ExcalidrawLinearElement | import("../element/types").ExcalidrawFreeDrawElement | import("../element/types").ExcalidrawImageElement | import("../element/types").ExcalidrawFrameElement | import("../element/types").ExcalidrawMagicFrameElement | import("../element/types").ExcalidrawIframeElement | import("../element/types").ExcalidrawEmbeddableElement | null;
76
+ }) | null) => import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | null;
77
77
  getElementsFromId: (id: string) => ExcalidrawElement[];
78
78
  }
79
79
  export default Scene;
@@ -1,4 +1,4 @@
1
- import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "../element/types";
1
+ import type { ExcalidrawFrameLikeElement, 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;
@@ -1,4 +1,4 @@
1
- export { isSomeElementSelected, getElementsWithinSelection, getCommonAttributeOfSelectedElements, getSelectedElements, getTargetElements, } from "./selection";
1
+ export { isSomeElementSelected, getElementsWithinSelection, getCommonAttributeOfSelectedElements, getSelectedElements, getTargetElements, } from "@excalidraw/element/selection";
2
2
  export { calculateScrollCenter } from "./scroll";
3
- export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, } from "./comparisons";
3
+ export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, } from "@excalidraw/element/comparisons";
4
4
  export { getNormalizedZoom, getNormalizedGridSize, getNormalizedGridStep, } from "./normalize";
@@ -1,5 +1,5 @@
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
1
2
  import type { AppState, Offsets, PointerCoords, Zoom } from "../types";
2
- import type { ExcalidrawElement } from "../element/types";
3
3
  export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, offsets, }: {
4
4
  scenePoint: PointerCoords;
5
5
  viewportDimensions: {
@@ -1,10 +1,9 @@
1
1
  import type { InteractiveCanvasAppState } from "../types";
2
- import type { ScrollBars } from "./types";
3
- import type { ExcalidrawElement } from "../element/types";
2
+ import type { RenderableElementsMap, ScrollBars } from "./types";
4
3
  export declare const SCROLLBAR_MARGIN = 4;
5
4
  export declare const SCROLLBAR_WIDTH = 6;
6
5
  export declare const SCROLLBAR_COLOR = "rgba(128,128,128,0.3)";
7
- export declare const getScrollBars: (elements: readonly ExcalidrawElement[], viewportWidth: number, viewportHeight: number, appState: InteractiveCanvasAppState) => ScrollBars;
6
+ export declare const getScrollBars: (elements: RenderableElementsMap, viewportWidth: number, viewportHeight: number, appState: InteractiveCanvasAppState) => ScrollBars;
8
7
  export declare const isOverScrollBars: (scrollBars: ScrollBars, x: number, y: number) => {
9
8
  isOverEither: boolean;
10
9
  isOverHorizontal: boolean;
@@ -1,9 +1,9 @@
1
+ import type { UserIdleState } from "@excalidraw/common";
2
+ import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
3
+ import type { MakeBrand } from "@excalidraw/common/utility-types";
4
+ import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, Device, PendingExcalidrawElements } from "../types";
1
5
  import type { RoughCanvas } from "roughjs/bin/canvas";
2
6
  import type { Drawable } from "roughjs/bin/core";
3
- import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "../element/types";
4
- import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, Device, PendingExcalidrawElements } from "../types";
5
- import type { MakeBrand } from "../utility-types";
6
- import type { UserIdleState } from "../constants";
7
7
  export type RenderableElementsMap = NonDeletedElementsMap & MakeBrand<"RenderableElementsMap">;
8
8
  export type StaticCanvasRenderConfig = {
9
9
  canvasBackgroundColor: AppState["viewBackgroundColor"];
@@ -1,9 +1,9 @@
1
- import type { InclusiveRange } from "@excalidraw/math";
2
1
  import { type GlobalPoint } from "@excalidraw/math";
3
- import type { Bounds } from "./element/bounds";
4
- import type { MaybeTransformHandleType } from "./element/transformHandles";
5
- import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "./element/types";
6
- import type { AppClassProperties, AppState, KeyboardModifiersObject, NullableGridSize } from "./types";
2
+ import type { InclusiveRange } from "@excalidraw/math";
3
+ import type { Bounds } from "@excalidraw/element/bounds";
4
+ import type { MaybeTransformHandleType } from "@excalidraw/element/transformHandles";
5
+ import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
6
+ import type { AppClassProperties, AppState, KeyboardModifiersObject } from "./types";
7
7
  export declare const getSnapDistance: (zoomValue: number) => number;
8
8
  type Vector2D = {
9
9
  x: number;
@@ -108,5 +108,4 @@ export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElemen
108
108
  snapLines: PointerSnapLine[];
109
109
  };
110
110
  export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => boolean;
111
- export declare const getGridPoint: (x: number, y: number, gridSize: NullableGridSize) => [number, number];
112
111
  export {};
@@ -1,8 +1,8 @@
1
+ import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { ValueOf } from "@excalidraw/common/utility-types";
1
3
  import { AppStateChange, ElementsChange } from "./change";
2
- import type { OrderedExcalidrawElement } from "./element/types";
3
4
  import { Emitter } from "./emitter";
4
5
  import type { AppState, ObservedAppState } from "./types";
5
- import type { ValueOf } from "./utility-types";
6
6
  export declare const getObservedAppState: (appState: AppState) => ObservedAppState;
7
7
  export declare const CaptureUpdateAction: {
8
8
  /**
@@ -1,26 +1,23 @@
1
- import type { JSX } from "react";
2
- import type React from "react";
3
- import type { PointerType, ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, TextAlign, ExcalidrawElement, GroupId, ExcalidrawBindableElement, Arrowhead, ChartType, FontFamilyValues, ExcalidrawTextElement, FileId, ExcalidrawImageElement, Theme, StrokeRoundness, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeLikeElement, OrderedExcalidrawElement, ExcalidrawNonSelectionElement } from "./element/types";
1
+ import type { IMAGE_MIME_TYPES, UserIdleState, throttleRAF, MIME_TYPES, ColorPaletteCustom } from "@excalidraw/common";
2
+ import type { SuggestedBinding } from "@excalidraw/element/binding";
3
+ import type { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
4
+ import type { MaybeTransformHandleType } from "@excalidraw/element/transformHandles";
5
+ import type { PointerType, ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, TextAlign, ExcalidrawElement, GroupId, ExcalidrawBindableElement, Arrowhead, ChartType, FontFamilyValues, ExcalidrawTextElement, FileId, ExcalidrawImageElement, Theme, StrokeRoundness, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeLikeElement, OrderedExcalidrawElement, ExcalidrawNonSelectionElement } from "@excalidraw/element/types";
6
+ import type { Merge, MaybePromise, ValueOf, MakeBrand } from "@excalidraw/common/utility-types";
4
7
  import type { Action } from "./actions/types";
5
- import type { LinearElementEditor } from "./element/linearElementEditor";
6
- import type { SuggestedBinding } from "./element/binding";
7
- import type { ImportedDataState } from "./data/types";
8
- import type App from "./components/App";
9
- import type { throttleRAF } from "./utils";
10
8
  import type { Spreadsheet } from "./charts";
11
- import type { Language } from "./i18n";
12
9
  import type { ClipboardData } from "./clipboard";
13
- import type { isOverScrollBars } from "./scene/scrollbars";
14
- import type { MaybeTransformHandleType } from "./element/transformHandles";
10
+ import type App from "./components/App";
15
11
  import type Library from "./data/library";
16
12
  import type { FileSystemHandle } from "./data/filesystem";
17
- import type { IMAGE_MIME_TYPES, MIME_TYPES } from "./constants";
18
13
  import type { ContextMenuItems } from "./components/ContextMenu";
19
14
  import type { SnapLine } from "./snapping";
20
- import type { Merge, MaybePromise, ValueOf, MakeBrand } from "./utility-types";
21
- import type { ColorPaletteCustom } from "./colors";
22
15
  import type { CaptureUpdateActionType } from "./store";
23
- import type { UserIdleState } from "./constants";
16
+ import type { ImportedDataState } from "./data/types";
17
+ import type { Language } from "./i18n";
18
+ import type { isOverScrollBars } from "./scene/scrollbars";
19
+ import type React from "react";
20
+ import type { JSX } from "react";
24
21
  export type SocketId = string & {
25
22
  _brand: "SocketId";
26
23
  };
@@ -87,7 +84,7 @@ export type BinaryFileData = {
87
84
  };
88
85
  export type BinaryFileMetadata = Omit<BinaryFileData, "dataURL">;
89
86
  export type BinaryFiles = Record<ExcalidrawElement["id"], BinaryFileData>;
90
- export type ToolType = "selection" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "text" | "image" | "eraser" | "hand" | "frame" | "magicframe" | "embeddable" | "laser" | "mermaid";
87
+ export type ToolType = "selection" | "lasso" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "text" | "image" | "eraser" | "hand" | "frame" | "magicframe" | "embeddable" | "laser" | "mermaid";
91
88
  export type ElementOrToolType = ExcalidrawElementType | ToolType | "custom";
92
89
  export type ActiveTool = {
93
90
  type: ToolType;
@@ -129,6 +126,7 @@ export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
129
126
  frameRendering: AppState["frameRendering"];
130
127
  linkOpacity: AppState["linkOpacity"];
131
128
  gridColor: AppState["gridColor"];
129
+ gridDirection: AppState["gridDirection"];
132
130
  frameColor: AppState["frameColor"];
133
131
  currentHoveredFontFamily: AppState["currentHoveredFontFamily"];
134
132
  hoveredElementIds: AppState["hoveredElementIds"];
@@ -150,6 +148,7 @@ export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
150
148
  zenModeEnabled: AppState["zenModeEnabled"];
151
149
  editingTextElement: AppState["editingTextElement"];
152
150
  gridColor: AppState["gridColor"];
151
+ gridDirection: AppState["gridDirection"];
153
152
  highlightSearchResult: AppState["highlightSearchResult"];
154
153
  isCropping: AppState["isCropping"];
155
154
  croppingElementId: AppState["croppingElementId"];
@@ -225,6 +224,7 @@ export interface AppState {
225
224
  */
226
225
  lastActiveTool: ActiveTool | null;
227
226
  locked: boolean;
227
+ fromSelection: boolean;
228
228
  } & ActiveTool;
229
229
  penMode: boolean;
230
230
  penDetected: boolean;
@@ -356,6 +356,10 @@ export interface AppState {
356
356
  Bold: string;
357
357
  Regular: string;
358
358
  };
359
+ gridDirection: {
360
+ horizontal: boolean;
361
+ vertical: boolean;
362
+ };
359
363
  highlightSearchResult: boolean;
360
364
  dynamicStyle: {
361
365
  [x: string]: string;
@@ -514,6 +518,7 @@ export interface ExcalidrawProps {
514
518
  aiEnabled?: boolean;
515
519
  showDeprecatedFonts?: boolean;
516
520
  insertLinkAction?: (linkVal: string) => void;
521
+ renderScrollbars?: boolean;
517
522
  }
518
523
  export type SceneData = {
519
524
  elements?: ImportedDataState["elements"];
@@ -643,6 +648,10 @@ export type PointerDownState = Readonly<{
643
648
  x: number;
644
649
  y: number;
645
650
  } | null;
651
+ origin: {
652
+ x: number;
653
+ y: number;
654
+ };
646
655
  };
647
656
  eventListeners: {
648
657
  onMove: null | ReturnType<typeof throttleRAF>;
@@ -663,6 +672,7 @@ export interface ExcalidrawImperativeAPI {
663
672
  history: {
664
673
  clear: InstanceType<typeof App>["resetHistory"];
665
674
  };
675
+ setForceRenderAllEmbeddables: InstanceType<typeof App>["setForceRenderAllEmbeddables"];
666
676
  zoomToFit: InstanceType<typeof App>["zoomToFit"];
667
677
  getColorAtScenePoint: InstanceType<typeof App>["getColorAtScenePoint"];
668
678
  startLineEditor: InstanceType<typeof App>["startLineEditor"];
@@ -1,7 +1,7 @@
1
- import type { Curve } from "@excalidraw/math";
2
1
  import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
+ import type { Curve } from "@excalidraw/math";
3
3
  import type { LineSegment } from "@excalidraw/utils";
4
- import type { Bounds } from "./element/bounds";
4
+ import type { Bounds } from "@excalidraw/element/bounds";
5
5
  declare global {
6
6
  interface Window {
7
7
  visualDebug?: {
@@ -18,6 +18,8 @@ export namespace resolve {
18
18
  "@excalidraw/excalidraw": string;
19
19
  "@excalidraw/utils": string;
20
20
  "@excalidraw/math": string;
21
+ "@excalidraw/common": string;
22
+ "@excalidraw/element": string;
21
23
  };
22
24
  }
23
25
  export namespace module {
@@ -19,6 +19,8 @@ export namespace resolve {
19
19
  "@excalidraw/excalidraw": string;
20
20
  "@excalidraw/utils": string;
21
21
  "@excalidraw/math": string;
22
+ "@excalidraw/common": string;
23
+ "@excalidraw/element": string;
22
24
  };
23
25
  }
24
26
  export namespace module {
@@ -1,4 +1,4 @@
1
- import type { ExcalidrawElement, ExcalidrawTextElement } from "./types";
1
+ import type { ExcalidrawElement, ExcalidrawTextElement } from "@excalidraw/element/types";
2
2
  import type App from "../components/App";
3
3
  export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords, element, canvas, excalidrawContainer, app, autoSelect, }: {
4
4
  id: ExcalidrawElement["id"];
@@ -45,7 +45,7 @@ export declare function isPoint(p: unknown): p is LocalPoint | GlobalPoint;
45
45
  */
46
46
  export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point): boolean;
47
47
  /**
48
- * Roate a point by [angle] radians.
48
+ * Rotate a point by [angle] radians.
49
49
  *
50
50
  * @param point The point to rotate
51
51
  * @param center The point to rotate around, the center point
@@ -54,7 +54,7 @@ export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: P
54
54
  */
55
55
  export declare function pointRotateRads<Point extends GlobalPoint | LocalPoint>([x, y]: Point, [cx, cy]: Point, angle: Radians): Point;
56
56
  /**
57
- * Roate a point by [angle] degree.
57
+ * Rotate a point by [angle] degree.
58
58
  *
59
59
  * @param point The point to rotate
60
60
  * @param center The point to rotate around, the center point
@@ -2,4 +2,5 @@ import type { GlobalPoint, LocalPoint, Polygon } from "./types";
2
2
  export declare function polygon<Point extends GlobalPoint | LocalPoint>(...points: Point[]): Polygon<Point>;
3
3
  export declare function polygonFromPoints<Point extends GlobalPoint | LocalPoint>(points: Point[]): Polygon<Point>;
4
4
  export declare const polygonIncludesPoint: <Point extends GlobalPoint | LocalPoint>(point: Point, polygon: Polygon<Point>) => boolean;
5
+ export declare const polygonIncludesPointNonZero: <Point extends [number, number]>(point: Point, polygon: Point[]) => boolean;
5
6
  export declare const pointOnPolygon: <Point extends GlobalPoint | LocalPoint>(p: Point, poly: Polygon<Point>, threshold?: number) => boolean;
@@ -36,4 +36,4 @@ export declare const distanceToLineSegment: <Point extends GlobalPoint | LocalPo
36
36
  * @param s
37
37
  * @returns
38
38
  */
39
- export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point>): Point | null;
39
+ export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point>, threshold?: number): Point | null;
@@ -103,3 +103,4 @@ export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
103
103
  } & {
104
104
  _brand: "excalimath_ellipse";
105
105
  };
106
+ export type ElementsSegmentsMap = Map<string, LineSegment<GlobalPoint>[]>;
@@ -1,5 +1,5 @@
1
1
  import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { Bounds } from "@excalidraw/excalidraw/element/bounds";
2
+ import type { Bounds } from "@excalidraw/element/bounds";
3
3
  export type LineSegment<P extends LocalPoint | GlobalPoint> = [P, P];
4
4
  export declare function getBBox<P extends LocalPoint | GlobalPoint>(line: LineSegment<P>): Bounds;
5
5
  export declare function doBBoxesIntersect(a: Bounds, b: Bounds): boolean;
@@ -1,7 +1,6 @@
1
- import type { Polyline } from "./geometry/shape";
2
- import { type GeometricShape } from "./geometry/shape";
3
- import type { Curve } from "@excalidraw/math";
4
1
  import { type GlobalPoint, type LocalPoint, type Polygon } from "@excalidraw/math";
2
+ import type { Curve } from "@excalidraw/math";
3
+ import type { Polyline, GeometricShape } from "./shape";
5
4
  export declare const isPointOnShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>, tolerance?: number) => boolean;
6
5
  export declare const isPointInShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>) => boolean;
7
6
  export declare const isPointInBounds: <Point extends GlobalPoint | LocalPoint>(point: Point, bounds: Polygon<Point>) => boolean;
@@ -1,6 +1,6 @@
1
+ import { MIME_TYPES } from "@excalidraw/common";
2
+ import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/element/types";
1
3
  import type { AppState, BinaryFiles } from "@excalidraw/excalidraw/types";
2
- import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/excalidraw/element/types";
3
- import { MIME_TYPES } from "@excalidraw/excalidraw/constants";
4
4
  export { MIME_TYPES };
5
5
  type ExportOpts = {
6
6
  elements: readonly NonDeleted<ExcalidrawElement>[];
@@ -33,13 +33,3 @@ export declare const exportToClipboard: (opts: ExportOpts & {
33
33
  quality?: number;
34
34
  type: "png" | "svg" | "json";
35
35
  }) => Promise<void>;
36
- export { getCommonBoundingBox } from "../excalidraw/element/bounds";
37
- export { getMaximumGroups } from "../excalidraw/groups";
38
- export { determineFocusDistance } from "../excalidraw/element/binding";
39
- export { measureText } from "../excalidraw/element/textMeasurements";
40
- export { wrapText } from "../excalidraw/element/textWrapping";
41
- export { getLineHeight } from "../excalidraw/fonts/index";
42
- export { getFontString, getFontFamilyString } from "../excalidraw/utils";
43
- export { getBoundTextMaxWidth } from "../excalidraw/element/textElement";
44
- export { mermaidToExcalidraw } from "../excalidraw/components/TTDDialog/MermaidToExcalidrawLib";
45
- export { destroyObsidianUtils, registerLocalFont, getFontFamilies, registerFontsInCSS, getCSSFontDefinition, loadSceneFonts, getSharedMermaidInstance, loadMermaid, intersectElementWithLine, } from "../excalidraw/obsidianUtils";
@@ -1,4 +1,4 @@
1
1
  export * from "./export";
2
2
  export * from "./withinBounds";
3
3
  export * from "./bbox";
4
- export { getCommonBounds } from "@excalidraw/excalidraw/element/bounds";
4
+ export { getCommonBounds } from "@excalidraw/element/bounds";
@@ -1,19 +1,6 @@
1
- /**
2
- * this file defines pure geometric shapes
3
- *
4
- * for instance, a cubic bezier curve is specified by its four control points and
5
- * an ellipse is defined by its center, angle, semi major axis and semi minor axis
6
- * (but in semi-width and semi-height so it's more relevant to Excalidraw)
7
- *
8
- * the idea with pure shapes is so that we can provide collision and other geoemtric methods not depending on
9
- * the specifics of roughjs or elements in Excalidraw; instead, we can focus on the pure shapes themselves
10
- *
11
- * also included in this file are methods for converting an Excalidraw element or a Drawable from roughjs
12
- * to pure shapes
13
- */
14
- import type { Curve, LineSegment, Polygon, Radians } from "@excalidraw/math";
15
1
  import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
16
- import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "@excalidraw/excalidraw/element/types";
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";
17
4
  import type { Drawable, Op } from "roughjs/bin/core";
18
5
  export type Polyline<Point extends GlobalPoint | LocalPoint> = LineSegment<Point>[];
19
6
  export type Polycurve<Point extends GlobalPoint | LocalPoint> = Curve<Point>[];
@@ -1,5 +1,5 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/excalidraw/element/types";
2
- import type { Bounds } from "@excalidraw/excalidraw/element/bounds";
1
+ import type { Bounds } from "@excalidraw/element/bounds";
2
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
3
  type Element = NonDeletedExcalidrawElement;
4
4
  type Elements = readonly NonDeletedExcalidrawElement[];
5
5
  export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;