@excalidraw/excalidraw 0.18.0-432a46e → 0.18.0-4e0441e

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 (449) hide show
  1. package/dist/dev/chunk-CP5DND7P.js +7 -0
  2. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  3. package/dist/dev/{chunk-LMHBUWQS.js → chunk-LLUJPE5U.js} +62 -29
  4. package/dist/dev/chunk-LLUJPE5U.js.map +7 -0
  5. package/dist/dev/chunk-YMRX7R7U.js +5671 -0
  6. package/dist/dev/chunk-YMRX7R7U.js.map +7 -0
  7. package/dist/dev/data/{image-5HAY2PCR.js → image-L23D26XS.js} +3 -3
  8. package/dist/dev/index.css +997 -521
  9. package/dist/dev/index.css.map +3 -3
  10. package/dist/dev/index.js +13994 -12296
  11. package/dist/dev/index.js.map +4 -4
  12. package/dist/dev/locales/{en-OZCJJ2HN.js → en-YSPYSBUR.js} +4 -2
  13. package/dist/dev/subset-shared.chunk.js +1 -1
  14. package/dist/dev/subset-worker.chunk.js +1 -1
  15. package/dist/prod/chunk-A66AFZZU.js +7 -0
  16. package/dist/prod/chunk-HT4FKTIQ.js +4 -0
  17. package/dist/prod/chunk-RSFMSEP5.js +12 -0
  18. package/dist/prod/data/image-NWF7UX55.js +1 -0
  19. package/dist/prod/index.css +1 -1
  20. package/dist/prod/index.js +25 -17
  21. package/dist/prod/locales/en-SFRQHD7K.js +1 -0
  22. package/dist/prod/subset-shared.chunk.js +1 -1
  23. package/dist/prod/subset-worker.chunk.js +1 -1
  24. package/dist/types/{packages/common → common}/src/colors.d.ts +1 -0
  25. package/dist/types/{packages/common → common}/src/constants.d.ts +47 -7
  26. package/dist/types/{packages/excalidraw → common/src}/emitter.d.ts +1 -1
  27. package/dist/types/{packages/common → common}/src/font-metadata.d.ts +4 -2
  28. package/dist/types/{packages/common → common}/src/index.d.ts +1 -0
  29. package/dist/types/{packages/common → common}/src/utility-types.d.ts +5 -0
  30. package/dist/types/{packages/common → common}/src/utils.d.ts +21 -2
  31. package/dist/types/{packages/excalidraw/scene → element/src}/Scene.d.ts +16 -15
  32. package/dist/types/element/src/align.d.ts +8 -0
  33. package/dist/types/{packages/element → element}/src/binding.d.ts +26 -15
  34. package/dist/types/{packages/element → element}/src/bounds.d.ts +19 -6
  35. package/dist/types/element/src/collision.d.ts +32 -0
  36. package/dist/types/{packages/element → element}/src/cropElement.d.ts +1 -1
  37. package/dist/types/{packages/excalidraw/change.d.ts → element/src/delta.d.ts} +77 -40
  38. package/dist/types/element/src/distance.d.ts +3 -0
  39. package/dist/types/{packages/element → element}/src/distribute.d.ts +2 -1
  40. package/dist/types/{packages/element → element}/src/dragElements.d.ts +3 -2
  41. package/dist/types/{packages/element → element}/src/duplicate.d.ts +10 -13
  42. package/dist/types/{packages/element → element}/src/elbowArrow.d.ts +1 -1
  43. package/dist/types/{packages/element → element}/src/flowchart.d.ts +3 -2
  44. package/dist/types/{packages/element → element}/src/fractionalIndex.d.ts +9 -3
  45. package/dist/types/{packages/element → element}/src/frame.d.ts +5 -4
  46. package/dist/types/{packages/element → element}/src/groups.d.ts +1 -0
  47. package/dist/types/{packages/element → element}/src/heading.d.ts +0 -1
  48. package/dist/types/element/src/index.d.ts +58 -0
  49. package/dist/types/{packages/element → element}/src/linearElementEditor.d.ts +23 -36
  50. package/dist/types/{packages/element → element}/src/mutateElement.d.ts +11 -3
  51. package/dist/types/{packages/element → element}/src/newElement.d.ts +4 -3
  52. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  53. package/dist/types/{packages/element → element}/src/renderElement.d.ts +4 -1
  54. package/dist/types/{packages/element → element}/src/resizeElements.d.ts +5 -4
  55. package/dist/types/{packages/element → element}/src/selection.d.ts +11 -5
  56. package/dist/types/element/src/shape.d.ts +42 -0
  57. package/dist/types/{packages/element → element}/src/sizeHelpers.d.ts +2 -2
  58. package/dist/types/element/src/store.d.ts +237 -0
  59. package/dist/types/{packages/element → element}/src/textElement.d.ts +5 -3
  60. package/dist/types/{packages/element → element}/src/transformHandles.d.ts +1 -1
  61. package/dist/types/{packages/element → element}/src/typeChecks.d.ts +19 -1
  62. package/dist/types/{packages/element → element}/src/types.d.ts +15 -2
  63. package/dist/types/element/src/utils.d.ts +31 -0
  64. package/dist/types/{packages/element → element}/src/zindex.d.ts +1 -1
  65. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionAddToLibrary.d.ts +60 -54
  66. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionBoundText.d.ts +40 -36
  67. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionCanvas.d.ts +431 -228
  68. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionClipboard.d.ts +120 -106
  69. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionCropEditor.d.ts +20 -18
  70. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionDeleteSelected.d.ts +60 -53
  71. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionElementLink.d.ts +19 -17
  72. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionElementLock.d.ts +55 -53
  73. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionEmbeddable.d.ts +20 -18
  74. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionExport.d.ts +190 -172
  75. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionFinalize.d.ts +87 -42
  76. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionFrame.d.ts +127 -119
  77. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionGroup.d.ts +40 -36
  78. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionHistory.d.ts +1 -2
  79. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +718 -0
  80. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionLink.d.ts +19 -17
  81. package/dist/types/excalidraw/actions/actionMenu.d.ts +184 -0
  82. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionNavigate.d.ts +40 -36
  83. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionProperties.d.ts +320 -273
  84. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionSelectAll.d.ts +20 -18
  85. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionStyles.d.ts +20 -18
  86. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionToggleGridMode.d.ts +20 -18
  87. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionToggleObjectsSnapMode.d.ts +20 -18
  88. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +187 -0
  89. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  90. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionToggleStats.d.ts +20 -19
  91. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionToggleViewMode.d.ts +20 -19
  92. package/dist/types/{packages/excalidraw → excalidraw}/actions/actionToggleZenMode.d.ts +20 -19
  93. package/dist/types/{packages/excalidraw → excalidraw}/actions/index.d.ts +2 -2
  94. package/dist/types/{packages/excalidraw → excalidraw}/actions/types.d.ts +4 -3
  95. package/dist/types/{packages/excalidraw → excalidraw}/animated-trail.d.ts +7 -1
  96. package/dist/types/{packages/excalidraw → excalidraw}/appState.d.ts +24 -10
  97. package/dist/types/excalidraw/clipboard.d.ts +129 -0
  98. package/dist/types/{packages/excalidraw → excalidraw}/components/Actions.d.ts +17 -7
  99. package/dist/types/{packages/excalidraw → excalidraw}/components/App.d.ts +43 -25
  100. package/dist/types/{packages/excalidraw → excalidraw}/components/ButtonIcon.d.ts +1 -0
  101. package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/ColorInput.d.ts +2 -1
  102. package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/ColorPicker.d.ts +6 -1
  103. package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/CustomColorList.d.ts +1 -1
  104. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -0
  105. package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/Picker.d.ts +4 -3
  106. package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/PickerColorList.d.ts +3 -3
  107. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +9 -0
  108. package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/TopPicks.d.ts +1 -1
  109. package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  110. package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  111. package/dist/types/{packages/excalidraw → excalidraw}/components/CommandPalette/CommandPalette.d.ts +1 -0
  112. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  113. package/dist/types/{packages/excalidraw → excalidraw}/components/ElementLinkDialog.d.ts +4 -3
  114. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  115. package/dist/types/{packages/excalidraw → excalidraw}/components/ExcalidrawLogo.d.ts +1 -1
  116. package/dist/types/{packages/excalidraw → excalidraw}/components/FontPicker/FontPicker.d.ts +2 -1
  117. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +8 -0
  118. package/dist/types/excalidraw/components/InlineIcon.d.ts +5 -0
  119. package/dist/types/{packages/excalidraw → excalidraw}/components/LayerUI.d.ts +2 -1
  120. package/dist/types/{packages/excalidraw → excalidraw}/components/LibraryMenuSection.d.ts +1 -1
  121. package/dist/types/{packages/excalidraw → excalidraw}/components/MobileMenu.d.ts +3 -5
  122. package/dist/types/excalidraw/components/MobileToolBar.d.ts +11 -0
  123. package/dist/types/{packages/excalidraw → excalidraw}/components/Popover.d.ts +2 -1
  124. package/dist/types/{packages/excalidraw → excalidraw}/components/PropertiesPopover.d.ts +1 -0
  125. package/dist/types/{packages/excalidraw/components/ButtonIconSelect.d.ts → excalidraw/components/RadioSelection.d.ts} +1 -1
  126. package/dist/types/excalidraw/components/Range.d.ts +8 -0
  127. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/Angle.d.ts +1 -1
  128. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/CanvasGrid.d.ts +1 -1
  129. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/Collapsible.d.ts +2 -1
  130. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/Dimension.d.ts +1 -1
  131. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/DragInput.d.ts +12 -2
  132. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/FontSize.d.ts +1 -1
  133. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/MultiAngle.d.ts +1 -1
  134. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/MultiDimension.d.ts +1 -1
  135. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/MultiFontSize.d.ts +1 -1
  136. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/MultiPosition.d.ts +1 -1
  137. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/Position.d.ts +1 -1
  138. package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/utils.d.ts +4 -11
  139. package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogTrigger.d.ts +1 -2
  140. package/dist/types/{packages/excalidraw → excalidraw}/components/TextField.d.ts +1 -0
  141. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  142. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  143. package/dist/types/{packages/excalidraw → excalidraw}/components/canvases/InteractiveCanvas.d.ts +1 -0
  144. package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenu.d.ts +4 -2
  145. package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuContent.d.ts +2 -1
  146. package/dist/types/{packages/excalidraw → excalidraw}/components/hyperlink/Hyperlink.d.ts +3 -2
  147. package/dist/types/{packages/excalidraw → excalidraw}/components/hyperlink/helpers.d.ts +2 -1
  148. package/dist/types/{packages/excalidraw → excalidraw}/components/icons.d.ts +9 -0
  149. package/dist/types/excalidraw/components/shapes.d.ts +190 -0
  150. package/dist/types/{packages/excalidraw → excalidraw}/data/blob.d.ts +3 -7
  151. package/dist/types/{packages/excalidraw → excalidraw}/data/reconcile.d.ts +1 -0
  152. package/dist/types/{packages/excalidraw → excalidraw}/data/restore.d.ts +6 -1
  153. package/dist/types/{packages/excalidraw → excalidraw}/data/transform.d.ts +1 -1
  154. package/dist/types/{packages/excalidraw → excalidraw}/data/types.d.ts +4 -1
  155. package/dist/types/{packages/excalidraw → excalidraw}/editor-jotai.d.ts +6 -6
  156. package/dist/types/excalidraw/eraser/index.d.ts +12 -0
  157. package/dist/types/{packages/excalidraw → excalidraw}/fonts/Fonts.d.ts +1 -1
  158. package/dist/types/excalidraw/history.d.ts +48 -0
  159. package/dist/types/{packages/excalidraw → excalidraw}/hooks/useEmitter.d.ts +1 -1
  160. package/dist/types/{packages/excalidraw → excalidraw}/hooks/useLibraryItemSvg.d.ts +1 -1
  161. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  162. package/dist/types/{packages/excalidraw → excalidraw}/index.d.ts +11 -10
  163. package/dist/types/excalidraw/lasso/index.d.ts +16 -0
  164. package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
  165. package/dist/types/excalidraw/renderer/helpers.d.ts +18 -0
  166. package/dist/types/excalidraw/renderer/staticScene.d.ts +14 -0
  167. package/dist/types/{packages/excalidraw → excalidraw}/scene/Renderer.d.ts +1 -2
  168. package/dist/types/excalidraw/scene/index.d.ts +4 -0
  169. package/dist/types/{packages/excalidraw → excalidraw}/scene/scrollbars.d.ts +2 -3
  170. package/dist/types/{packages/excalidraw → excalidraw}/scene/types.d.ts +2 -0
  171. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  172. package/dist/types/{packages/excalidraw → excalidraw}/snapping.d.ts +2 -2
  173. package/dist/types/{packages/excalidraw → excalidraw}/types.d.ts +48 -17
  174. package/dist/types/{packages/excalidraw → excalidraw}/wysiwyg/textWysiwyg.d.ts +3 -1
  175. package/dist/types/{packages/math → math}/src/angle.d.ts +2 -0
  176. package/dist/types/math/src/constants.d.ts +3 -0
  177. package/dist/types/math/src/curve.d.ts +74 -0
  178. package/dist/types/{packages/math → math}/src/index.d.ts +1 -0
  179. package/dist/types/{packages/math → math}/src/point.d.ts +1 -1
  180. package/dist/types/{packages/math → math}/src/polygon.d.ts +1 -0
  181. package/dist/types/{packages/math → math}/src/rectangle.d.ts +2 -0
  182. package/dist/types/{packages/math → math}/src/segment.d.ts +2 -1
  183. package/dist/types/{packages/math → math}/src/types.d.ts +1 -0
  184. package/dist/types/{packages/math → math}/src/vector.d.ts +8 -2
  185. package/dist/types/{packages/utils → utils}/src/bbox.d.ts +1 -1
  186. package/dist/types/{packages/utils → utils}/src/index.d.ts +1 -1
  187. package/dist/types/{packages/utils → utils}/src/withinBounds.d.ts +1 -1
  188. package/history.ts +146 -109
  189. package/package.json +31 -11
  190. package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
  191. package/dist/dev/chunk-S7W4OWSF.js +0 -18442
  192. package/dist/dev/chunk-S7W4OWSF.js.map +0 -7
  193. package/dist/dev/chunk-ZG3EI5XS.js +0 -7
  194. package/dist/dev/chunk-ZG3EI5XS.js.map +0 -7
  195. package/dist/prod/chunk-6U3AYISY.js +0 -12
  196. package/dist/prod/chunk-LRITYP5X.js +0 -31
  197. package/dist/prod/chunk-U24AOZ3B.js +0 -7
  198. package/dist/prod/data/image-W3GRS73V.js +0 -1
  199. package/dist/prod/locales/en-B4ZKOASM.js +0 -1
  200. package/dist/types/excalidraw-app/app_constants.d.ts +0 -44
  201. package/dist/types/packages/element/src/Shape.d.ts +0 -17
  202. package/dist/types/packages/element/src/ShapeCache.d.ts +0 -25
  203. package/dist/types/packages/element/src/align.d.ts +0 -7
  204. package/dist/types/packages/element/src/collision.d.ts +0 -26
  205. package/dist/types/packages/element/src/distance.d.ts +0 -3
  206. package/dist/types/packages/element/src/index.d.ts +0 -16
  207. package/dist/types/packages/element/src/shapes.d.ts +0 -23
  208. package/dist/types/packages/element/src/utils.d.ts +0 -21
  209. package/dist/types/packages/excalidraw/actions/actionLinearEditor.d.ts +0 -192
  210. package/dist/types/packages/excalidraw/actions/actionMenu.d.ts +0 -554
  211. package/dist/types/packages/excalidraw/actions/actionToggleSearchMenu.d.ts +0 -357
  212. package/dist/types/packages/excalidraw/clipboard.d.ts +0 -66
  213. package/dist/types/packages/excalidraw/components/ButtonSelect.d.ts +0 -9
  214. package/dist/types/packages/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +0 -8
  215. package/dist/types/packages/excalidraw/components/ColorPicker/ShadeList.d.ts +0 -8
  216. package/dist/types/packages/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +0 -6
  217. package/dist/types/packages/excalidraw/components/InlineIcon.d.ts +0 -3
  218. package/dist/types/packages/excalidraw/components/Range.d.ts +0 -8
  219. package/dist/types/packages/excalidraw/components/shapes.d.ts +0 -62
  220. package/dist/types/packages/excalidraw/history.d.ts +0 -40
  221. package/dist/types/packages/excalidraw/renderer/helpers.d.ts +0 -13
  222. package/dist/types/packages/excalidraw/renderer/staticScene.d.ts +0 -11
  223. package/dist/types/packages/excalidraw/scene/index.d.ts +0 -4
  224. package/dist/types/packages/excalidraw/store.d.ts +0 -129
  225. package/dist/types/packages/excalidraw/tests/fixtures/diagramFixture.d.ts +0 -504
  226. package/dist/types/packages/excalidraw/tests/fixtures/elementFixture.d.ts +0 -7
  227. package/dist/types/packages/excalidraw/tests/helpers/api.d.ts +0 -89
  228. package/dist/types/packages/excalidraw/tests/helpers/colorize.d.ts +0 -2
  229. package/dist/types/packages/excalidraw/tests/helpers/mocks.d.ts +0 -5
  230. package/dist/types/packages/excalidraw/tests/helpers/polyfills.d.ts +0 -36
  231. package/dist/types/packages/excalidraw/tests/helpers/ui.d.ts +0 -189
  232. package/dist/types/packages/excalidraw/tests/queries/dom.d.ts +0 -2
  233. package/dist/types/packages/excalidraw/tests/queries/toolQueries.d.ts +0 -2
  234. package/dist/types/packages/excalidraw/tests/test-utils.d.ts +0 -139
  235. package/dist/types/packages/excalidraw/visualdebug.d.ts +0 -41
  236. package/dist/types/packages/math/src/curve.d.ts +0 -40
  237. package/dist/types/packages/utils/src/collision.d.ts +0 -8
  238. /package/dist/dev/data/{image-5HAY2PCR.js.map → image-L23D26XS.js.map} +0 -0
  239. /package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-YSPYSBUR.js.map} +0 -0
  240. /package/dist/types/{packages/common → common}/src/binary-heap.d.ts +0 -0
  241. /package/dist/types/{packages/common → common}/src/keys.d.ts +0 -0
  242. /package/dist/types/{packages/common → common}/src/points.d.ts +0 -0
  243. /package/dist/types/{packages/common → common}/src/promise-pool.d.ts +0 -0
  244. /package/dist/types/{packages/common → common}/src/queue.d.ts +0 -0
  245. /package/dist/types/{packages/common → common}/src/random.d.ts +0 -0
  246. /package/dist/types/{packages/common → common}/src/url.d.ts +0 -0
  247. /package/dist/types/{packages/element → element}/src/comparisons.d.ts +0 -0
  248. /package/dist/types/{packages/element → element}/src/containerCache.d.ts +0 -0
  249. /package/dist/types/{packages/element → element}/src/elementLink.d.ts +0 -0
  250. /package/dist/types/{packages/element → element}/src/embeddable.d.ts +0 -0
  251. /package/dist/types/{packages/element → element}/src/image.d.ts +0 -0
  252. /package/dist/types/{packages/element → element}/src/resizeTest.d.ts +0 -0
  253. /package/dist/types/{packages/element → element}/src/showSelectedShapeActions.d.ts +0 -0
  254. /package/dist/types/{packages/element → element}/src/sortElements.d.ts +0 -0
  255. /package/dist/types/{packages/element → element}/src/textMeasurements.d.ts +0 -0
  256. /package/dist/types/{packages/element → element}/src/textWrapping.d.ts +0 -0
  257. /package/dist/types/{packages/excalidraw → excalidraw}/actions/actionAlign.d.ts +0 -0
  258. /package/dist/types/{packages/excalidraw → excalidraw}/actions/actionDistribute.d.ts +0 -0
  259. /package/dist/types/{packages/excalidraw → excalidraw}/actions/actionDuplicateSelection.d.ts +0 -0
  260. /package/dist/types/{packages/excalidraw → excalidraw}/actions/actionFlip.d.ts +0 -0
  261. /package/dist/types/{packages/excalidraw → excalidraw}/actions/actionTextAutoResize.d.ts +0 -0
  262. /package/dist/types/{packages/excalidraw → excalidraw}/actions/actionZindex.d.ts +0 -0
  263. /package/dist/types/{packages/excalidraw → excalidraw}/actions/manager.d.ts +0 -0
  264. /package/dist/types/{packages/excalidraw → excalidraw}/actions/register.d.ts +0 -0
  265. /package/dist/types/{packages/excalidraw → excalidraw}/actions/shortcuts.d.ts +0 -0
  266. /package/dist/types/{packages/excalidraw → excalidraw}/analytics.d.ts +0 -0
  267. /package/dist/types/{packages/excalidraw → excalidraw}/animation-frame-handler.d.ts +0 -0
  268. /package/dist/types/{packages/excalidraw → excalidraw}/charts.d.ts +0 -0
  269. /package/dist/types/{packages/excalidraw → excalidraw}/clients.d.ts +0 -0
  270. /package/dist/types/{packages/excalidraw → excalidraw}/components/ActiveConfirmDialog.d.ts +0 -0
  271. /package/dist/types/{packages/excalidraw → excalidraw}/components/Avatar.d.ts +0 -0
  272. /package/dist/types/{packages/excalidraw → excalidraw}/components/BraveMeasureTextError.d.ts +0 -0
  273. /package/dist/types/{packages/excalidraw → excalidraw}/components/Button.d.ts +0 -0
  274. /package/dist/types/{packages/excalidraw → excalidraw}/components/ButtonIconCycle.d.ts +0 -0
  275. /package/dist/types/{packages/excalidraw → excalidraw}/components/ButtonSeparator.d.ts +0 -0
  276. /package/dist/types/{packages/excalidraw → excalidraw}/components/Card.d.ts +0 -0
  277. /package/dist/types/{packages/excalidraw → excalidraw}/components/CheckboxItem.d.ts +0 -0
  278. /package/dist/types/{packages/excalidraw → excalidraw}/components/ColorPicker/PickerHeading.d.ts +0 -0
  279. /package/dist/types/{packages/excalidraw → excalidraw}/components/CommandPalette/defaultCommandPaletteItems.d.ts +0 -0
  280. /package/dist/types/{packages/excalidraw → excalidraw}/components/CommandPalette/types.d.ts +0 -0
  281. /package/dist/types/{packages/excalidraw → excalidraw}/components/ConfirmDialog.d.ts +0 -0
  282. /package/dist/types/{packages/excalidraw → excalidraw}/components/ContextMenu.d.ts +0 -0
  283. /package/dist/types/{packages/excalidraw → excalidraw}/components/DarkModeToggle.d.ts +0 -0
  284. /package/dist/types/{packages/excalidraw → excalidraw}/components/DefaultSidebar.d.ts +0 -0
  285. /package/dist/types/{packages/excalidraw → excalidraw}/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -0
  286. /package/dist/types/{packages/excalidraw → excalidraw}/components/Dialog.d.ts +0 -0
  287. /package/dist/types/{packages/excalidraw → excalidraw}/components/DialogActionButton.d.ts +0 -0
  288. /package/dist/types/{packages/excalidraw → excalidraw}/components/ElementCanvasButtons.d.ts +0 -0
  289. /package/dist/types/{packages/excalidraw → excalidraw}/components/ErrorDialog.d.ts +0 -0
  290. /package/dist/types/{packages/excalidraw → excalidraw}/components/EyeDropper.d.ts +0 -0
  291. /package/dist/types/{packages/excalidraw → excalidraw}/components/FilledButton.d.ts +0 -0
  292. /package/dist/types/{packages/excalidraw → excalidraw}/components/FixedSideContainer.d.ts +0 -0
  293. /package/dist/types/{packages/excalidraw → excalidraw}/components/FollowMode/FollowMode.d.ts +0 -0
  294. /package/dist/types/{packages/excalidraw → excalidraw}/components/FontPicker/FontPickerList.d.ts +0 -0
  295. /package/dist/types/{packages/excalidraw → excalidraw}/components/FontPicker/keyboardNavHandlers.d.ts +0 -0
  296. /package/dist/types/{packages/excalidraw → excalidraw}/components/HandButton.d.ts +0 -0
  297. /package/dist/types/{packages/excalidraw → excalidraw}/components/HelpButton.d.ts +0 -0
  298. /package/dist/types/{packages/excalidraw → excalidraw}/components/HelpDialog.d.ts +0 -0
  299. /package/dist/types/{packages/excalidraw → excalidraw}/components/HintViewer.d.ts +0 -0
  300. /package/dist/types/{packages/excalidraw → excalidraw}/components/IconPicker.d.ts +0 -0
  301. /package/dist/types/{packages/excalidraw → excalidraw}/components/ImageExportDialog.d.ts +0 -0
  302. /package/dist/types/{packages/excalidraw → excalidraw}/components/InitializeApp.d.ts +0 -0
  303. /package/dist/types/{packages/excalidraw → excalidraw}/components/Island.d.ts +0 -0
  304. /package/dist/types/{packages/excalidraw → excalidraw}/components/JSONExportDialog.d.ts +0 -0
  305. /package/dist/types/{packages/excalidraw → excalidraw}/components/LaserPointerButton.d.ts +0 -0
  306. /package/dist/types/{packages/excalidraw → excalidraw}/components/LibraryMenu.d.ts +0 -0
  307. /package/dist/types/{packages/excalidraw → excalidraw}/components/LibraryMenuBrowseButton.d.ts +0 -0
  308. /package/dist/types/{packages/excalidraw → excalidraw}/components/LibraryMenuControlButtons.d.ts +0 -0
  309. /package/dist/types/{packages/excalidraw → excalidraw}/components/LibraryMenuHeaderContent.d.ts +0 -0
  310. /package/dist/types/{packages/excalidraw → excalidraw}/components/LibraryMenuItems.d.ts +0 -0
  311. /package/dist/types/{packages/excalidraw → excalidraw}/components/LibraryUnit.d.ts +0 -0
  312. /package/dist/types/{packages/excalidraw → excalidraw}/components/LoadingMessage.d.ts +0 -0
  313. /package/dist/types/{packages/excalidraw → excalidraw}/components/LockButton.d.ts +0 -0
  314. /package/dist/types/{packages/excalidraw → excalidraw}/components/MagicButton.d.ts +0 -0
  315. /package/dist/types/{packages/excalidraw → excalidraw}/components/Modal.d.ts +0 -0
  316. /package/dist/types/{packages/excalidraw → excalidraw}/components/OverwriteConfirm/OverwriteConfirm.d.ts +0 -0
  317. /package/dist/types/{packages/excalidraw → excalidraw}/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +0 -0
  318. /package/dist/types/{packages/excalidraw → excalidraw}/components/OverwriteConfirm/OverwriteConfirmState.d.ts +0 -0
  319. /package/dist/types/{packages/excalidraw → excalidraw}/components/Paragraph.d.ts +0 -0
  320. /package/dist/types/{packages/excalidraw → excalidraw}/components/PasteChartDialog.d.ts +0 -0
  321. /package/dist/types/{packages/excalidraw → excalidraw}/components/PenModeButton.d.ts +0 -0
  322. /package/dist/types/{packages/excalidraw → excalidraw}/components/ProjectName.d.ts +0 -0
  323. /package/dist/types/{packages/excalidraw → excalidraw}/components/PublishLibrary.d.ts +0 -0
  324. /package/dist/types/{packages/excalidraw → excalidraw}/components/QuickSearch.d.ts +0 -0
  325. /package/dist/types/{packages/excalidraw → excalidraw}/components/RadioGroup.d.ts +0 -0
  326. /package/dist/types/{packages/excalidraw → excalidraw}/components/SVGLayer.d.ts +0 -0
  327. /package/dist/types/{packages/excalidraw → excalidraw}/components/ScrollableList.d.ts +0 -0
  328. /package/dist/types/{packages/excalidraw → excalidraw}/components/SearchMenu.d.ts +0 -0
  329. /package/dist/types/{packages/excalidraw → excalidraw}/components/Section.d.ts +0 -0
  330. /package/dist/types/{packages/excalidraw → excalidraw}/components/ShareableLinkDialog.d.ts +0 -0
  331. /package/dist/types/{packages/excalidraw → excalidraw}/components/Sidebar/Sidebar.d.ts +0 -0
  332. /package/dist/types/{packages/excalidraw → excalidraw}/components/Sidebar/SidebarHeader.d.ts +0 -0
  333. /package/dist/types/{packages/excalidraw → excalidraw}/components/Sidebar/SidebarTab.d.ts +0 -0
  334. /package/dist/types/{packages/excalidraw → excalidraw}/components/Sidebar/SidebarTabTrigger.d.ts +0 -0
  335. /package/dist/types/{packages/excalidraw → excalidraw}/components/Sidebar/SidebarTabTriggers.d.ts +0 -0
  336. /package/dist/types/{packages/excalidraw → excalidraw}/components/Sidebar/SidebarTabs.d.ts +0 -0
  337. /package/dist/types/{packages/excalidraw → excalidraw}/components/Sidebar/SidebarTrigger.d.ts +0 -0
  338. /package/dist/types/{packages/excalidraw → excalidraw}/components/Sidebar/common.d.ts +0 -0
  339. /package/dist/types/{packages/excalidraw → excalidraw}/components/Spinner.d.ts +0 -0
  340. /package/dist/types/{packages/excalidraw → excalidraw}/components/Stack.d.ts +0 -0
  341. /package/dist/types/{packages/excalidraw → excalidraw}/components/Stats/index.d.ts +0 -0
  342. /package/dist/types/{packages/excalidraw → excalidraw}/components/Switch.d.ts +0 -0
  343. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/MermaidToExcalidraw.d.ts +0 -0
  344. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialog.d.ts +0 -0
  345. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogInput.d.ts +0 -0
  346. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogOutput.d.ts +0 -0
  347. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogPanel.d.ts +0 -0
  348. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogPanels.d.ts +0 -0
  349. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +0 -0
  350. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogTab.d.ts +0 -0
  351. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogTabTrigger.d.ts +0 -0
  352. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogTabTriggers.d.ts +0 -0
  353. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/TTDDialogTabs.d.ts +0 -0
  354. /package/dist/types/{packages/excalidraw → excalidraw}/components/TTDDialog/common.d.ts +0 -0
  355. /package/dist/types/{packages/excalidraw → excalidraw}/components/Toast.d.ts +0 -0
  356. /package/dist/types/{packages/excalidraw → excalidraw}/components/ToolButton.d.ts +0 -0
  357. /package/dist/types/{packages/excalidraw → excalidraw}/components/Tooltip.d.ts +0 -0
  358. /package/dist/types/{packages/excalidraw → excalidraw}/components/Trans.d.ts +0 -0
  359. /package/dist/types/{packages/excalidraw → excalidraw}/components/UserList.d.ts +0 -0
  360. /package/dist/types/{packages/excalidraw → excalidraw}/components/canvases/NewElementCanvas.d.ts +0 -0
  361. /package/dist/types/{packages/excalidraw → excalidraw}/components/canvases/StaticCanvas.d.ts +0 -0
  362. /package/dist/types/{packages/excalidraw → excalidraw}/components/canvases/index.d.ts +0 -0
  363. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuGroup.d.ts +0 -0
  364. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuItem.d.ts +0 -0
  365. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuItemContent.d.ts +0 -0
  366. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +0 -0
  367. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuItemCustom.d.ts +0 -0
  368. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuItemLink.d.ts +0 -0
  369. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuSeparator.d.ts +0 -0
  370. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/DropdownMenuTrigger.d.ts +0 -0
  371. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/common.d.ts +0 -0
  372. /package/dist/types/{packages/excalidraw → excalidraw}/components/dropdownMenu/dropdownMenuUtils.d.ts +0 -0
  373. /package/dist/types/{packages/excalidraw → excalidraw}/components/footer/Footer.d.ts +0 -0
  374. /package/dist/types/{packages/excalidraw → excalidraw}/components/footer/FooterCenter.d.ts +0 -0
  375. /package/dist/types/{packages/excalidraw → excalidraw}/components/hoc/withInternalFallback.d.ts +0 -0
  376. /package/dist/types/{packages/excalidraw → excalidraw}/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -0
  377. /package/dist/types/{packages/excalidraw → excalidraw}/components/main-menu/DefaultItems.d.ts +0 -0
  378. /package/dist/types/{packages/excalidraw → excalidraw}/components/main-menu/MainMenu.d.ts +0 -0
  379. /package/dist/types/{packages/excalidraw → excalidraw}/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -0
  380. /package/dist/types/{packages/excalidraw → excalidraw}/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -0
  381. /package/dist/types/{packages/excalidraw → excalidraw}/components/welcome-screen/WelcomeScreen.d.ts +0 -0
  382. /package/dist/types/{packages/excalidraw → excalidraw}/context/tunnels.d.ts +0 -0
  383. /package/dist/types/{packages/excalidraw → excalidraw}/context/ui-appState.d.ts +0 -0
  384. /package/dist/types/{packages/excalidraw → excalidraw}/cursor.d.ts +0 -0
  385. /package/dist/types/{packages/excalidraw → excalidraw}/data/EditorLocalStorage.d.ts +0 -0
  386. /package/dist/types/{packages/excalidraw → excalidraw}/data/ai/types.d.ts +0 -0
  387. /package/dist/types/{packages/excalidraw → excalidraw}/data/encode.d.ts +0 -0
  388. /package/dist/types/{packages/excalidraw → excalidraw}/data/encryption.d.ts +0 -0
  389. /package/dist/types/{packages/excalidraw → excalidraw}/data/filesystem.d.ts +0 -0
  390. /package/dist/types/{packages/excalidraw → excalidraw}/data/image.d.ts +0 -0
  391. /package/dist/types/{packages/excalidraw → excalidraw}/data/index.d.ts +0 -0
  392. /package/dist/types/{packages/excalidraw → excalidraw}/data/json.d.ts +0 -0
  393. /package/dist/types/{packages/excalidraw → excalidraw}/data/library.d.ts +0 -0
  394. /package/dist/types/{packages/excalidraw → excalidraw}/data/resave.d.ts +0 -0
  395. /package/dist/types/{packages/excalidraw → excalidraw}/deburr.d.ts +0 -0
  396. /package/dist/types/{packages/excalidraw → excalidraw}/errors.d.ts +0 -0
  397. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Cascadia/index.d.ts +0 -0
  398. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/ComicShanns/index.d.ts +0 -0
  399. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Emoji/index.d.ts +0 -0
  400. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/ExcalidrawFontFace.d.ts +0 -0
  401. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Excalifont/index.d.ts +0 -0
  402. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Helvetica/index.d.ts +0 -0
  403. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Liberation/index.d.ts +0 -0
  404. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Lilita/index.d.ts +0 -0
  405. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Nunito/index.d.ts +0 -0
  406. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Virgil/index.d.ts +0 -0
  407. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/Xiaolai/index.d.ts +0 -0
  408. /package/dist/types/{packages/excalidraw → excalidraw}/fonts/index.d.ts +0 -0
  409. /package/dist/types/{packages/excalidraw → excalidraw}/gesture.d.ts +0 -0
  410. /package/dist/types/{packages/excalidraw → excalidraw}/hooks/useCallbackRefState.d.ts +0 -0
  411. /package/dist/types/{packages/excalidraw → excalidraw}/hooks/useCopiedIndicator.d.ts +0 -0
  412. /package/dist/types/{packages/excalidraw → excalidraw}/hooks/useCreatePortalContainer.d.ts +0 -0
  413. /package/dist/types/{packages/excalidraw → excalidraw}/hooks/useOutsideClick.d.ts +0 -0
  414. /package/dist/types/{packages/excalidraw → excalidraw}/hooks/useScrollPosition.d.ts +0 -0
  415. /package/dist/types/{packages/excalidraw → excalidraw}/hooks/useStable.d.ts +0 -0
  416. /package/dist/types/{packages/excalidraw → excalidraw}/hooks/useStableCallback.d.ts +0 -0
  417. /package/dist/types/{packages/excalidraw → excalidraw}/hooks/useTransition.d.ts +0 -0
  418. /package/dist/types/{packages/excalidraw → excalidraw}/i18n.d.ts +0 -0
  419. /package/dist/types/{packages/excalidraw → excalidraw}/index-node.d.ts +0 -0
  420. /package/dist/types/{packages/excalidraw → excalidraw}/laser-trails.d.ts +0 -0
  421. /package/dist/types/{packages/excalidraw → excalidraw}/mermaid.d.ts +0 -0
  422. /package/dist/types/{packages/excalidraw → excalidraw}/polyfill.d.ts +0 -0
  423. /package/dist/types/{packages/excalidraw → excalidraw}/reactUtils.d.ts +0 -0
  424. /package/dist/types/{packages/excalidraw → excalidraw}/renderer/interactiveScene.d.ts +0 -0
  425. /package/dist/types/{packages/excalidraw → excalidraw}/renderer/renderNewElementScene.d.ts +0 -0
  426. /package/dist/types/{packages/excalidraw → excalidraw}/renderer/renderSnaps.d.ts +0 -0
  427. /package/dist/types/{packages/excalidraw → excalidraw}/renderer/roundRect.d.ts +0 -0
  428. /package/dist/types/{packages/excalidraw → excalidraw}/renderer/staticSvgScene.d.ts +0 -0
  429. /package/dist/types/{packages/excalidraw → excalidraw}/scene/export.d.ts +0 -0
  430. /package/dist/types/{packages/excalidraw → excalidraw}/scene/normalize.d.ts +0 -0
  431. /package/dist/types/{packages/excalidraw → excalidraw}/scene/scroll.d.ts +0 -0
  432. /package/dist/types/{packages/excalidraw → excalidraw}/scene/zoom.d.ts +0 -0
  433. /package/dist/types/{packages/excalidraw → excalidraw}/subset/harfbuzz/harfbuzz-bindings.d.ts +0 -0
  434. /package/dist/types/{packages/excalidraw → excalidraw}/subset/harfbuzz/harfbuzz-loader.d.ts +0 -0
  435. /package/dist/types/{packages/excalidraw → excalidraw}/subset/harfbuzz/harfbuzz-wasm.d.ts +0 -0
  436. /package/dist/types/{packages/excalidraw → excalidraw}/subset/subset-main.d.ts +0 -0
  437. /package/dist/types/{packages/excalidraw → excalidraw}/subset/subset-shared.chunk.d.ts +0 -0
  438. /package/dist/types/{packages/excalidraw → excalidraw}/subset/subset-worker.chunk.d.ts +0 -0
  439. /package/dist/types/{packages/excalidraw → excalidraw}/subset/woff2/woff2-bindings.d.ts +0 -0
  440. /package/dist/types/{packages/excalidraw → excalidraw}/subset/woff2/woff2-loader.d.ts +0 -0
  441. /package/dist/types/{packages/excalidraw → excalidraw}/subset/woff2/woff2-wasm.d.ts +0 -0
  442. /package/dist/types/{packages/excalidraw → excalidraw}/workers.d.ts +0 -0
  443. /package/dist/types/{packages/math → math}/src/ellipse.d.ts +0 -0
  444. /package/dist/types/{packages/math → math}/src/line.d.ts +0 -0
  445. /package/dist/types/{packages/math → math}/src/range.d.ts +0 -0
  446. /package/dist/types/{packages/math → math}/src/triangle.d.ts +0 -0
  447. /package/dist/types/{packages/math → math}/src/utils.d.ts +0 -0
  448. /package/dist/types/{packages/utils → utils}/src/export.d.ts +0 -0
  449. /package/dist/types/{packages/utils → utils}/src/shape.d.ts +0 -0
@@ -3,7 +3,7 @@ export type SvgCache = Map<LibraryItem["id"], SVGSVGElement>;
3
3
  export declare const libraryItemSvgsCache: import("jotai/vanilla/atom").PrimitiveAtom<SvgCache> & {
4
4
  init: SvgCache;
5
5
  };
6
- export declare const useLibraryItemSvg: (id: LibraryItem["id"] | null, elements: LibraryItem["elements"] | undefined, svgCache: SvgCache) => SVGSVGElement | undefined;
6
+ export declare const useLibraryItemSvg: (id: LibraryItem["id"] | null, elements: LibraryItem["elements"] | undefined, svgCache: SvgCache, ref: React.RefObject<HTMLDivElement | null>) => SVGSVGElement | undefined;
7
7
  export declare const useLibraryCache: () => {
8
8
  clearLibraryCache: () => void;
9
9
  deleteItemsFromLibraryCache: (items: LibraryItem["id"][]) => void;
@@ -0,0 +1,14 @@
1
+ export type CaretPosition = {
2
+ start: number;
3
+ end: number;
4
+ };
5
+ export declare const saveCaretPosition: () => CaretPosition | null;
6
+ export declare const restoreCaretPosition: (position: CaretPosition | null) => void;
7
+ export declare const withCaretPositionPreservation: (callback: () => void, isCompactMode: boolean, isEditingText: boolean, onPreventClose?: () => void) => void;
8
+ export declare const useTextEditorFocus: () => {
9
+ saveCaretPosition: () => void;
10
+ restoreCaretPosition: () => void;
11
+ clearSavedPosition: () => void;
12
+ hasSavedPosition: boolean;
13
+ };
14
+ export declare const temporarilyDisableTextEditorBlur: (duration?: number) => void;
@@ -9,26 +9,27 @@ import "./fonts/fonts.css";
9
9
  import type { ExcalidrawProps } from "./types";
10
10
  export declare const Excalidraw: React.MemoExoticComponent<(props: ExcalidrawProps) => import("react/jsx-runtime").JSX.Element>;
11
11
  export { getSceneVersion, hashElementsVersion, hashString, getNonDeletedElements, } from "@excalidraw/element";
12
- export { getTextFromElements } from "@excalidraw/element/textElement";
13
- export { isInvisiblySmallElement } from "@excalidraw/element/sizeHelpers";
12
+ export { getTextFromElements } from "@excalidraw/element";
13
+ export { isInvisiblySmallElement } from "@excalidraw/element";
14
14
  export { defaultLang, useI18n, languages } from "./i18n";
15
- export { restore, restoreAppState, restoreElements, restoreLibraryItems, } from "./data/restore";
15
+ export { restore, restoreAppState, restoreElement, restoreElements, restoreLibraryItems, } from "./data/restore";
16
16
  export { reconcileElements } from "./data/reconcile";
17
17
  export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, } from "@excalidraw/utils/export";
18
18
  export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
19
19
  export { loadFromBlob, loadSceneOrLibraryFromBlob, loadLibraryFromBlob, } from "./data/blob";
20
- export { getFreeDrawSvgPath } from "@excalidraw/element/renderElement";
20
+ export { getFreeDrawSvgPath } from "@excalidraw/element";
21
21
  export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
22
- export { isLinearElement } from "@excalidraw/element/typeChecks";
22
+ export { isLinearElement } from "@excalidraw/element";
23
23
  export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, } from "@excalidraw/common";
24
- export { mutateElement, newElementWith, bumpVersion, } from "@excalidraw/element/mutateElement";
25
- export { CaptureUpdateAction } from "./store";
24
+ export { mutateElement, newElementWith, bumpVersion, } from "@excalidraw/element";
25
+ export { CaptureUpdateAction } from "@excalidraw/element";
26
26
  export { parseLibraryTokensFromUrl, useHandleLibrary } from "./data/library";
27
27
  export { sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, } from "@excalidraw/common";
28
28
  export { Sidebar } from "./components/Sidebar/Sidebar";
29
29
  export { Button } from "./components/Button";
30
30
  export { Footer };
31
31
  export { MainMenu };
32
+ export { Ellipsify } from "./components/Ellipsify";
32
33
  export { useDevice } from "./components/App";
33
34
  export { WelcomeScreen };
34
35
  export { LiveCollaborationTrigger };
@@ -38,9 +39,9 @@ export { TTDDialog } from "./components/TTDDialog/TTDDialog";
38
39
  export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
39
40
  export { zoomToFitBounds } from "./actions/actionCanvas";
40
41
  export { convertToExcalidrawElements } from "./data/transform";
41
- export { getCommonBounds, getVisibleSceneBounds, } from "@excalidraw/element/bounds";
42
+ export { getCommonBounds, getVisibleSceneBounds } from "@excalidraw/element";
42
43
  export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
43
44
  export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
44
45
  export { getDataURL } from "./data/blob";
45
- export { isElementLink } from "@excalidraw/element/elementLink";
46
- export { setCustomTextMetricsProvider } from "@excalidraw/element/textMeasurements";
46
+ export { isElementLink } from "@excalidraw/element";
47
+ export { setCustomTextMetricsProvider } from "@excalidraw/element";
@@ -0,0 +1,16 @@
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 canvasTranslate;
9
+ private keepPreviousSelection;
10
+ constructor(animationFrameHandler: AnimationFrameHandler, app: App);
11
+ startPath(x: number, y: number, keepPreviousSelection?: boolean): void;
12
+ selectElementsFromIds: (ids: string[]) => void;
13
+ addPointToPath: (x: number, y: number, keepPreviousSelection?: boolean) => void;
14
+ private updateSelection;
15
+ endPath(): void;
16
+ }
@@ -0,0 +1,13 @@
1
+ import type { ElementsSegmentsMap, GlobalPoint } from "@excalidraw/math/types";
2
+ import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
3
+ export declare const getLassoSelectedElementIds: (input: {
4
+ lassoPath: GlobalPoint[];
5
+ elements: readonly ExcalidrawElement[];
6
+ elementsMap: ElementsMap;
7
+ elementsSegments: ElementsSegmentsMap;
8
+ intersectedElements: Set<ExcalidrawElement["id"]>;
9
+ enclosedElements: Set<ExcalidrawElement["id"]>;
10
+ simplifyDistance?: number;
11
+ }) => {
12
+ selectedElementIds: string[];
13
+ };
@@ -0,0 +1,18 @@
1
+ import type { ElementsMap, ExcalidrawDiamondElement, ExcalidrawRectanguloidElement } from "@excalidraw/element/types";
2
+ import type { StaticCanvasRenderConfig } from "../scene/types";
3
+ import type { AppState, StaticCanvasAppState } from "../types";
4
+ export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke: boolean, fill?: boolean) => void;
5
+ export declare const getNormalizedCanvasDimensions: (canvas: HTMLCanvasElement, scale: number) => [number, number];
6
+ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normalizedHeight, theme, isExporting, viewBackgroundColor, }: {
7
+ canvas: HTMLCanvasElement;
8
+ scale: number;
9
+ normalizedWidth: number;
10
+ normalizedHeight: number;
11
+ theme?: import("@excalidraw/element/types").Theme | undefined;
12
+ isExporting?: boolean | undefined;
13
+ viewBackgroundColor?: string | null | undefined;
14
+ }) => 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;
@@ -0,0 +1,14 @@
1
+ import type { ExcalidrawFrameLikeElement } from "@excalidraw/element/types";
2
+ import type { StaticCanvasRenderConfig, StaticSceneRenderConfig } from "../scene/types";
3
+ import type { StaticCanvasAppState } from "../types";
4
+ export declare const frameClip: (frame: ExcalidrawFrameLikeElement, context: CanvasRenderingContext2D, renderConfig: StaticCanvasRenderConfig, appState: StaticCanvasAppState) => void;
5
+ /** throttled to animation framerate */
6
+ export declare const renderStaticSceneThrottled: {
7
+ (config: StaticSceneRenderConfig): void;
8
+ flush(): void;
9
+ cancel(): void;
10
+ };
11
+ /**
12
+ * Static scene is the non-ui canvas where we render elements.
13
+ */
14
+ export declare const renderStaticScene: (renderConfig: StaticSceneRenderConfig, throttle?: boolean) => void;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "./Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../types";
4
4
  export declare class Renderer {
5
5
  private scene;
@@ -16,7 +16,6 @@ export declare class Renderer {
16
16
  /** note: first render of newElement will always bust the cache
17
17
  * (we'd have to prefilter elements outside of this function) */
18
18
  newElementId: ExcalidrawElement["id"] | undefined;
19
- pendingImageElementId: AppState["pendingImageElementId"];
20
19
  sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
21
20
  }) => {
22
21
  elementsMap: Map<string, NonDeletedExcalidrawElement> & import("@excalidraw/common/utility-types").MakeBrand<"NonDeletedElementsMap"> & import("@excalidraw/common/utility-types").MakeBrand<"RenderableElementsMap">;
@@ -0,0 +1,4 @@
1
+ export { isSomeElementSelected, getElementsWithinSelection, getSelectedElements, getTargetElements, } from "@excalidraw/element";
2
+ export { calculateScrollCenter } from "./scroll";
3
+ export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, } from "@excalidraw/element";
4
+ export { getNormalizedZoom, getNormalizedGridSize, getNormalizedGridStep, } from "./normalize";
@@ -1,10 +1,9 @@
1
- import type { ExcalidrawElement } from "@excalidraw/element/types";
2
1
  import type { InteractiveCanvasAppState } from "../types";
3
- import type { ScrollBars } from "./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(0,0,0,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;
@@ -93,12 +93,14 @@ export type ScrollBars = {
93
93
  y: number;
94
94
  width: number;
95
95
  height: number;
96
+ deltaMultiplier: number;
96
97
  } | null;
97
98
  vertical: {
98
99
  x: number;
99
100
  y: number;
100
101
  width: number;
101
102
  height: number;
103
+ deltaMultiplier: number;
102
104
  } | null;
103
105
  };
104
106
  export type ElementShape = Drawable | Drawable[] | null;
@@ -0,0 +1 @@
1
+ export declare const getShortcutKey: (shortcut: string) => string;
@@ -1,7 +1,7 @@
1
1
  import { type GlobalPoint } from "@excalidraw/math";
2
2
  import type { InclusiveRange } from "@excalidraw/math";
3
- import type { Bounds } from "@excalidraw/element/bounds";
4
- import type { MaybeTransformHandleType } from "@excalidraw/element/transformHandles";
3
+ import type { Bounds } from "@excalidraw/element";
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";
7
7
  export declare const getSnapDistance: (zoomValue: number) => number;
@@ -1,9 +1,10 @@
1
1
  import type { IMAGE_MIME_TYPES, UserIdleState, throttleRAF, MIME_TYPES } 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, FileId, ExcalidrawImageElement, Theme, StrokeRoundness, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeLikeElement, OrderedExcalidrawElement, ExcalidrawNonSelectionElement } from "@excalidraw/element/types";
2
+ import type { SuggestedBinding } from "@excalidraw/element";
3
+ import type { LinearElementEditor } from "@excalidraw/element";
4
+ import type { MaybeTransformHandleType } from "@excalidraw/element";
5
+ import type { PointerType, ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, TextAlign, ExcalidrawElement, GroupId, ExcalidrawBindableElement, Arrowhead, ChartType, FontFamilyValues, FileId, Theme, StrokeRoundness, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeLikeElement, OrderedExcalidrawElement, ExcalidrawNonSelectionElement } from "@excalidraw/element/types";
6
6
  import type { Merge, MaybePromise, ValueOf, MakeBrand } from "@excalidraw/common/utility-types";
7
+ import type { CaptureUpdateActionType, DurableIncrement, EphemeralIncrement } from "@excalidraw/element";
7
8
  import type { Action } from "./actions/types";
8
9
  import type { Spreadsheet } from "./charts";
9
10
  import type { ClipboardData } from "./clipboard";
@@ -12,7 +13,6 @@ import type Library from "./data/library";
12
13
  import type { FileSystemHandle } from "./data/filesystem";
13
14
  import type { ContextMenuItems } from "./components/ContextMenu";
14
15
  import type { SnapLine } from "./snapping";
15
- import type { CaptureUpdateActionType } from "./store";
16
16
  import type { ImportedDataState } from "./data/types";
17
17
  import type { Language } from "./i18n";
18
18
  import type { isOverScrollBars } from "./scene/scrollbars";
@@ -84,7 +84,7 @@ export type BinaryFileData = {
84
84
  };
85
85
  export type BinaryFileMetadata = Omit<BinaryFileData, "dataURL">;
86
86
  export type BinaryFiles = Record<ExcalidrawElement["id"], BinaryFileData>;
87
- export type ToolType = "selection" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "text" | "image" | "eraser" | "hand" | "frame" | "magicframe" | "embeddable" | "laser";
87
+ export type ToolType = "selection" | "lasso" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "text" | "image" | "eraser" | "hand" | "frame" | "magicframe" | "embeddable" | "laser";
88
88
  export type ElementOrToolType = ExcalidrawElementType | ToolType | "custom";
89
89
  export type ActiveTool = {
90
90
  type: ToolType;
@@ -113,7 +113,6 @@ type _CommonCanvasAppState = {
113
113
  offsetLeft: AppState["offsetLeft"];
114
114
  offsetTop: AppState["offsetTop"];
115
115
  theme: AppState["theme"];
116
- pendingImageElementId: AppState["pendingImageElementId"];
117
116
  };
118
117
  export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
119
118
  shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
@@ -130,7 +129,6 @@ export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
130
129
  }>;
131
130
  export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
132
131
  activeEmbeddable: AppState["activeEmbeddable"];
133
- editingLinearElement: AppState["editingLinearElement"];
134
132
  selectionElement: AppState["selectionElement"];
135
133
  selectedGroupIds: AppState["selectedGroupIds"];
136
134
  selectedLinearElement: AppState["selectedLinearElement"];
@@ -146,6 +144,7 @@ export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
146
144
  isCropping: AppState["isCropping"];
147
145
  croppingElementId: AppState["croppingElementId"];
148
146
  searchMatches: AppState["searchMatches"];
147
+ activeLockedId: AppState["activeLockedId"];
149
148
  }>;
150
149
  export type ObservedAppState = ObservedStandaloneAppState & ObservedElementsAppState;
151
150
  export type ObservedStandaloneAppState = {
@@ -156,9 +155,13 @@ export type ObservedElementsAppState = {
156
155
  editingGroupId: AppState["editingGroupId"];
157
156
  selectedElementIds: AppState["selectedElementIds"];
158
157
  selectedGroupIds: AppState["selectedGroupIds"];
159
- editingLinearElementId: LinearElementEditor["elementId"] | null;
160
- selectedLinearElementId: LinearElementEditor["elementId"] | null;
158
+ selectedLinearElement: {
159
+ elementId: LinearElementEditor["elementId"];
160
+ isEditing: boolean;
161
+ } | null;
161
162
  croppingElementId: AppState["croppingElementId"];
163
+ lockedMultiSelections: AppState["lockedMultiSelections"];
164
+ activeLockedId: AppState["activeLockedId"];
162
165
  };
163
166
  export interface AppState {
164
167
  contextMenu: {
@@ -209,7 +212,6 @@ export interface AppState {
209
212
  * set when a new text is created or when an existing text is being edited
210
213
  */
211
214
  editingTextElement: NonDeletedExcalidrawElement | null;
212
- editingLinearElement: LinearElementEditor | null;
213
215
  activeTool: {
214
216
  /**
215
217
  * indicates a previous tool we should revert back to if we deselect the
@@ -217,7 +219,12 @@ export interface AppState {
217
219
  */
218
220
  lastActiveTool: ActiveTool | null;
219
221
  locked: boolean;
222
+ fromSelection: boolean;
220
223
  } & ActiveTool;
224
+ preferredSelectionTool: {
225
+ type: "selection" | "lasso";
226
+ initialized: boolean;
227
+ };
221
228
  penMode: boolean;
222
229
  penDetected: boolean;
223
230
  exportBackground: boolean;
@@ -248,8 +255,8 @@ export interface AppState {
248
255
  isResizing: boolean;
249
256
  isRotating: boolean;
250
257
  zoom: Zoom;
251
- openMenu: "canvas" | "shape" | null;
252
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | null;
258
+ openMenu: "canvas" | null;
259
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
253
260
  openSidebar: {
254
261
  name: SidebarName;
255
262
  tab?: SidebarTabName;
@@ -323,8 +330,6 @@ export interface AppState {
323
330
  shown: true;
324
331
  data: Spreadsheet;
325
332
  };
326
- /** imageElement waiting to be placed on canvas */
327
- pendingImageElementId: ExcalidrawImageElement["id"] | null;
328
333
  showHyperlinkPopup: false | "info" | "editor";
329
334
  selectedLinearElement: LinearElementEditor | null;
330
335
  snapLines: readonly SnapLine[];
@@ -340,9 +345,20 @@ export interface AppState {
340
345
  /** image cropping */
341
346
  isCropping: boolean;
342
347
  croppingElementId: ExcalidrawElement["id"] | null;
343
- searchMatches: readonly SearchMatch[];
348
+ /** null if no search matches found / search closed */
349
+ searchMatches: Readonly<{
350
+ focusedId: ExcalidrawElement["id"] | null;
351
+ matches: readonly SearchMatch[];
352
+ }> | null;
353
+ /** the locked element/group that's active and shows unlock popup */
354
+ activeLockedId: string | null;
355
+ lockedMultiSelections: {
356
+ [groupId: string]: true;
357
+ };
358
+ /** properties sidebar mode - determines whether to show compact or complete sidebar */
359
+ stylesPanelMode: "compact" | "full" | "mobile";
344
360
  }
345
- type SearchMatch = {
361
+ export type SearchMatch = {
346
362
  id: string;
347
363
  focus: boolean;
348
364
  matchedLines: {
@@ -350,6 +366,7 @@ type SearchMatch = {
350
366
  offsetY: number;
351
367
  width: number;
352
368
  height: number;
369
+ showOnCanvas: boolean;
353
370
  }[];
354
371
  };
355
372
  export type UIAppState = Omit<AppState, "suggestedBindings" | "startBoundElement" | "cursorButton" | "scrollX" | "scrollY">;
@@ -402,6 +419,7 @@ export type OnUserFollowedPayload = {
402
419
  };
403
420
  export interface ExcalidrawProps {
404
421
  onChange?: (elements: readonly OrderedExcalidrawElement[], appState: AppState, files: BinaryFiles) => void;
422
+ onIncrement?: (event: DurableIncrement | EphemeralIncrement) => void;
405
423
  initialData?: (() => MaybePromise<ExcalidrawInitialDataState | null>) | MaybePromise<ExcalidrawInitialDataState | null>;
406
424
  excalidrawAPI?: (api: ExcalidrawImperativeAPI) => void;
407
425
  isCollaborating?: boolean;
@@ -429,6 +447,7 @@ export interface ExcalidrawProps {
429
447
  onDuplicate?: (nextElements: readonly ExcalidrawElement[],
430
448
  /** excludes the duplicated elements */
431
449
  prevElements: readonly ExcalidrawElement[]) => ExcalidrawElement[] | void;
450
+ renderTopLeftUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
432
451
  renderTopRightUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
433
452
  langCode?: Language["code"];
434
453
  viewModeEnabled?: boolean;
@@ -458,6 +477,7 @@ export interface ExcalidrawProps {
458
477
  renderEmbeddable?: (element: NonDeleted<ExcalidrawEmbeddableElement>, appState: AppState) => JSX.Element | null;
459
478
  aiEnabled?: boolean;
460
479
  showDeprecatedFonts?: boolean;
480
+ renderScrollbars?: boolean;
461
481
  }
462
482
  export type SceneData = {
463
483
  elements?: ImportedDataState["elements"];
@@ -543,6 +563,8 @@ export type AppClassProperties = {
543
563
  visibleElements: App["visibleElements"];
544
564
  excalidrawContainerValue: App["excalidrawContainerValue"];
545
565
  onPointerUpEmitter: App["onPointerUpEmitter"];
566
+ updateEditorAtom: App["updateEditorAtom"];
567
+ onPointerDownEmitter: App["onPointerDownEmitter"];
546
568
  };
547
569
  export type PointerDownState = Readonly<{
548
570
  origin: Readonly<{
@@ -586,6 +608,11 @@ export type PointerDownState = Readonly<{
586
608
  x: number;
587
609
  y: number;
588
610
  } | null;
611
+ origin: {
612
+ x: number;
613
+ y: number;
614
+ };
615
+ blockDragging: boolean;
589
616
  };
590
617
  eventListeners: {
591
618
  onMove: null | ReturnType<typeof throttleRAF>;
@@ -600,9 +627,12 @@ export type PointerDownState = Readonly<{
600
627
  export type UnsubscribeCallback = () => void;
601
628
  export interface ExcalidrawImperativeAPI {
602
629
  updateScene: InstanceType<typeof App>["updateScene"];
630
+ applyDeltas: InstanceType<typeof App>["applyDeltas"];
631
+ mutateElement: InstanceType<typeof App>["mutateElement"];
603
632
  updateLibrary: InstanceType<typeof Library>["updateLibrary"];
604
633
  resetScene: InstanceType<typeof App>["resetScene"];
605
634
  getSceneElementsIncludingDeleted: InstanceType<typeof App>["getSceneElementsIncludingDeleted"];
635
+ getSceneElementsMapIncludingDeleted: InstanceType<typeof App>["getSceneElementsMapIncludingDeleted"];
606
636
  history: {
607
637
  clear: InstanceType<typeof App>["resetHistory"];
608
638
  };
@@ -627,6 +657,7 @@ export interface ExcalidrawImperativeAPI {
627
657
  */
628
658
  updateFrameRendering: InstanceType<typeof App>["updateFrameRendering"];
629
659
  onChange: (callback: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles) => void) => UnsubscribeCallback;
660
+ onIncrement: (callback: (event: DurableIncrement | EphemeralIncrement) => void) => UnsubscribeCallback;
630
661
  onPointerDown: (callback: (activeTool: AppState["activeTool"], pointerDownState: PointerDownState, event: React.PointerEvent<HTMLElement>) => void) => UnsubscribeCallback;
631
662
  onPointerUp: (callback: (activeTool: AppState["activeTool"], pointerDownState: PointerDownState, event: PointerEvent) => void) => UnsubscribeCallback;
632
663
  onScrollChange: (callback: (scrollX: number, scrollY: number, zoom: Zoom) => void) => UnsubscribeCallback;
@@ -1,5 +1,6 @@
1
1
  import type { ExcalidrawElement, ExcalidrawTextElement } from "@excalidraw/element/types";
2
2
  import type App from "../components/App";
3
+ type SubmitHandler = () => void;
3
4
  export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords, element, canvas, excalidrawContainer, app, autoSelect, }: {
4
5
  id: ExcalidrawElement["id"];
5
6
  /**
@@ -19,4 +20,5 @@ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords,
19
20
  excalidrawContainer: HTMLDivElement | null;
20
21
  app: App;
21
22
  autoSelect?: boolean | undefined;
22
- }) => void;
23
+ }) => SubmitHandler;
24
+ export {};
@@ -15,3 +15,5 @@ export declare function radiansToDegrees(degrees: Radians): Degrees;
15
15
  * @returns TRUE if the provided angle is a right angle
16
16
  */
17
17
  export declare function isRightAngleRads(rads: Radians): boolean;
18
+ export declare function radiansBetweenAngles(a: Radians, min: Radians, max: Radians): boolean;
19
+ export declare function radiansDifference(a: Radians, b: Radians): Radians;
@@ -0,0 +1,3 @@
1
+ export declare const PRECISION = 0.0001;
2
+ export declare const LegendreGaussN24TValues: number[];
3
+ export declare const LegendreGaussN24CValues: number[];
@@ -0,0 +1,74 @@
1
+ import type { Curve, GlobalPoint, LineSegment, LocalPoint } from "./types";
2
+ /**
3
+ *
4
+ * @param a
5
+ * @param b
6
+ * @param c
7
+ * @param d
8
+ * @returns
9
+ */
10
+ export declare function curve<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, c: Point, d: Point): Curve<Point>;
11
+ export declare const bezierEquation: <Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, t: number) => Point;
12
+ /**
13
+ * Computes the intersection between a cubic spline and a line segment.
14
+ */
15
+ export declare function curveIntersectLineSegment<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, l: LineSegment<Point>): Point[];
16
+ /**
17
+ * Finds the closest point on the Bezier curve from another point
18
+ *
19
+ * @param x
20
+ * @param y
21
+ * @param P0
22
+ * @param P1
23
+ * @param P2
24
+ * @param P3
25
+ * @param tolerance
26
+ * @param maxLevel
27
+ * @returns
28
+ */
29
+ export declare function curveClosestPoint<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point, tolerance?: number): Point | null;
30
+ /**
31
+ * Determines the distance between a point and the closest point on the
32
+ * Bezier curve.
33
+ *
34
+ * @param c The curve to test
35
+ * @param p The point to measure from
36
+ */
37
+ export declare function curvePointDistance<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point): number;
38
+ /**
39
+ * Determines if the parameter is a Curve
40
+ */
41
+ export declare function isCurve<P extends GlobalPoint | LocalPoint>(v: unknown): v is Curve<P>;
42
+ export declare function curveTangent<Point extends GlobalPoint | LocalPoint>([p0, p1, p2, p3]: Curve<Point>, t: number): import("./types").Vector;
43
+ export declare function curveCatmullRomQuadraticApproxPoints(points: GlobalPoint[], tension?: number): [GlobalPoint, GlobalPoint][] | undefined;
44
+ export declare function curveCatmullRomCubicApproxPoints<Point extends GlobalPoint | LocalPoint>(points: Point[], tension?: number): Curve<Point>[] | undefined;
45
+ export declare function curveOffsetPoints([p0, p1, p2, p3]: Curve<GlobalPoint>, offset: number, steps?: number): GlobalPoint[];
46
+ export declare function offsetPointsForQuadraticBezier(p0: GlobalPoint, p1: GlobalPoint, p2: GlobalPoint, offsetDist: number, steps?: number): GlobalPoint[];
47
+ /**
48
+ * Implementation based on Legendre-Gauss quadrature for more accurate arc
49
+ * length calculation.
50
+ *
51
+ * Reference: https://pomax.github.io/bezierinfo/#arclength
52
+ *
53
+ * @param c The curve to calculate the length of
54
+ * @returns The approximated length of the curve
55
+ */
56
+ export declare function curveLength<P extends GlobalPoint | LocalPoint>(c: Curve<P>): number;
57
+ /**
58
+ * Calculates the curve length from t=0 to t=parameter using the same
59
+ * Legendre-Gauss quadrature method used in curveLength
60
+ *
61
+ * @param c The curve to calculate the partial length for
62
+ * @param t The parameter value (0 to 1) to calculate length up to
63
+ * @returns The length of the curve from beginning to parameter t
64
+ */
65
+ export declare function curveLengthAtParameter<P extends GlobalPoint | LocalPoint>(c: Curve<P>, t: number): number;
66
+ /**
67
+ * Calculates the point at a specific percentage of a curve's total length
68
+ * using binary search for improved efficiency and accuracy.
69
+ *
70
+ * @param c The curve to calculate point on
71
+ * @param percent A value between 0 and 1 representing the percentage of the curve's length
72
+ * @returns The point at the specified percentage of curve length
73
+ */
74
+ export declare function curvePointAtLength<P extends GlobalPoint | LocalPoint>(c: Curve<P>, percent: number): P;
@@ -1,5 +1,6 @@
1
1
  export * from "./angle";
2
2
  export * from "./curve";
3
+ export * from "./ellipse";
3
4
  export * from "./line";
4
5
  export * from "./point";
5
6
  export * from "./polygon";
@@ -43,7 +43,7 @@ export declare function isPoint(p: unknown): p is LocalPoint | GlobalPoint;
43
43
  * @param b Point The second point to compare
44
44
  * @returns TRUE if the points are sufficiently close to each other
45
45
  */
46
- export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point): boolean;
46
+ export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, tolerance?: number): boolean;
47
47
  /**
48
48
  * Rotate a point by [angle] radians.
49
49
  *
@@ -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;
@@ -1,3 +1,5 @@
1
1
  import type { GlobalPoint, LineSegment, LocalPoint, Rectangle } from "./types";
2
2
  export declare function rectangle<P extends GlobalPoint | LocalPoint>(topLeft: P, bottomRight: P): Rectangle<P>;
3
+ export declare function rectangleFromNumberSequence<Point extends LocalPoint | GlobalPoint>(minX: number, minY: number, maxX: number, maxY: number): Rectangle<Point>;
3
4
  export declare function rectangleIntersectLineSegment<Point extends LocalPoint | GlobalPoint>(r: Rectangle<Point>, l: LineSegment<Point>): Point[];
5
+ export declare function rectangleIntersectRectangle<Point extends LocalPoint | GlobalPoint>(rectangle1: Rectangle<Point>, rectangle2: Rectangle<Point>): boolean;
@@ -36,4 +36,5 @@ 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;
40
+ export declare function lineSegmentsDistance<Point extends GlobalPoint | LocalPoint>(s1: LineSegment<Point>, s2: LineSegment<Point>): number;
@@ -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>[]>;
@@ -12,9 +12,11 @@ export declare function vector(x: number, y: number, originX?: number, originY?:
12
12
  *
13
13
  * @param p The point to turn into a vector
14
14
  * @param origin The origin point in a given coordiante system
15
- * @returns The created vector from the point and the origin
15
+ * @param threshold The threshold to consider the vector as 'undefined'
16
+ * @param defaultValue The default value to return if the vector is 'undefined'
17
+ * @returns The created vector from the point and the origin or default
16
18
  */
17
- export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point): Vector;
19
+ export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point, threshold?: number, defaultValue?: Vector): Vector;
18
20
  /**
19
21
  * Cross product is a binary operation on two vectors in 2D space.
20
22
  * It results in a vector that is perpendicular to both vectors.
@@ -86,3 +88,7 @@ export declare function vectorMagnitude(v: Vector): number;
86
88
  * @returns The new normalized vector
87
89
  */
88
90
  export declare const vectorNormalize: (v: Vector) => Vector;
91
+ /**
92
+ * Calculate the right-hand normal of the vector.
93
+ */
94
+ export declare const vectorNormal: (v: Vector) => Vector;
@@ -1,5 +1,5 @@
1
1
  import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { Bounds } from "@excalidraw/element/bounds";
2
+ import type { Bounds } from "@excalidraw/element";
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,4 +1,4 @@
1
1
  export * from "./export";
2
2
  export * from "./withinBounds";
3
3
  export * from "./bbox";
4
- export { getCommonBounds } from "@excalidraw/element/bounds";
4
+ export { getCommonBounds } from "@excalidraw/element";
@@ -1,4 +1,4 @@
1
- import type { Bounds } from "@excalidraw/element/bounds";
1
+ import type { Bounds } from "@excalidraw/element";
2
2
  import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
3
  type Element = NonDeletedExcalidrawElement;
4
4
  type Elements = readonly NonDeletedExcalidrawElement[];