@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-a30e1b2

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 (279) hide show
  1. package/CHANGELOG.md +11 -11
  2. package/dist/dev/{chunk-LMHBUWQS.js → chunk-CARD3WJZ.js} +10 -4
  3. package/dist/dev/chunk-CARD3WJZ.js.map +7 -0
  4. package/dist/dev/{chunk-3SN6HYVK.js → chunk-ETWEPOFC.js} +15663 -22657
  5. package/dist/dev/chunk-ETWEPOFC.js.map +7 -0
  6. package/dist/dev/chunk-FB2NA5UG.js +4132 -0
  7. package/dist/dev/chunk-FB2NA5UG.js.map +7 -0
  8. package/dist/dev/{chunk-53KHN5WM.js → chunk-RS23HYC4.js} +2 -2
  9. package/dist/dev/{chunk-53KHN5WM.js.map → chunk-RS23HYC4.js.map} +1 -1
  10. package/dist/dev/data/{image-V26YBSDB.js → image-AYLHSOBV.js} +3 -3
  11. package/dist/dev/index.css +3093 -3055
  12. package/dist/dev/index.css.map +3 -3
  13. package/dist/dev/index.js +32056 -23232
  14. package/dist/dev/index.js.map +4 -4
  15. package/dist/dev/locales/{en-OZCJJ2HN.js → en-E3O5XSXJ.js} +2 -2
  16. package/dist/dev/subset-shared.chunk.js +2 -2
  17. package/dist/dev/subset-worker.chunk.js +2 -2
  18. package/dist/prod/chunk-6BSJPDKJ.js +33 -0
  19. package/dist/prod/{chunk-6U3AYISY.js → chunk-FGHASORR.js} +4 -4
  20. package/dist/prod/chunk-LS7FJGPW.js +86 -0
  21. package/dist/prod/{chunk-G5N3DNGT.js → chunk-SBKTMZM7.js} +1 -1
  22. package/dist/prod/data/image-VAYKYPXV.js +1 -0
  23. package/dist/prod/index.css +1 -1
  24. package/dist/prod/index.js +19 -15
  25. package/dist/prod/locales/{en-B4ZKOASM.js → en-44IKVKYT.js} +1 -1
  26. package/dist/prod/subset-shared.chunk.js +1 -1
  27. package/dist/prod/subset-worker.chunk.js +1 -1
  28. package/dist/types/{excalidraw/binaryheap.d.ts → common/src/binary-heap.d.ts} +1 -1
  29. package/dist/types/{excalidraw → common/src}/colors.d.ts +1 -0
  30. package/dist/types/{excalidraw → common/src}/constants.d.ts +11 -6
  31. package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
  32. package/dist/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +15 -5
  33. package/dist/types/common/src/index.d.ts +12 -0
  34. package/dist/types/{excalidraw → common/src}/points.d.ts +2 -0
  35. package/dist/types/common/src/promise-pool.d.ts +6 -0
  36. package/dist/types/{excalidraw → common/src}/utility-types.d.ts +5 -0
  37. package/dist/types/{excalidraw → common/src}/utils.d.ts +22 -12
  38. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +12 -15
  39. package/dist/types/{excalidraw/scene → element/src}/Shape.d.ts +2 -2
  40. package/dist/types/{excalidraw/scene → element/src}/ShapeCache.d.ts +4 -4
  41. package/dist/types/element/src/align.d.ts +7 -0
  42. package/dist/types/{excalidraw/element → element/src}/binding.d.ts +24 -16
  43. package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +9 -4
  44. package/dist/types/{excalidraw/element → element/src}/collision.d.ts +3 -3
  45. package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
  46. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +41 -36
  47. package/dist/types/{excalidraw → element/src}/distribute.d.ts +1 -1
  48. package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +5 -4
  49. package/dist/types/element/src/duplicate.d.ts +63 -0
  50. package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +1 -1
  51. package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +1 -1
  52. package/dist/types/element/src/embeddable.d.ts +10 -0
  53. package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +4 -3
  54. package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +5 -2
  55. package/dist/types/{excalidraw → element/src}/frame.d.ts +8 -7
  56. package/dist/types/{excalidraw → element/src}/groups.d.ts +5 -5
  57. package/dist/types/{excalidraw/element → element/src}/heading.d.ts +1 -2
  58. package/dist/types/{excalidraw/element → element/src}/image.d.ts +2 -2
  59. package/dist/types/element/src/index.d.ts +16 -0
  60. package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +16 -20
  61. package/dist/types/{excalidraw/element → element/src}/mutateElement.d.ts +11 -3
  62. package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +4 -44
  63. package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +3 -3
  64. package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +6 -6
  65. package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +4 -4
  66. package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +13 -2
  67. package/dist/types/element/src/shapes.d.ts +23 -0
  68. package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +1 -1
  69. package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +1 -2
  70. package/dist/types/element/src/store.d.ts +227 -0
  71. package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +8 -7
  72. package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +7 -7
  73. package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +5 -2
  74. package/dist/types/{excalidraw/element → element/src}/types.d.ts +9 -2
  75. package/dist/types/element/src/zindex.d.ts +7 -0
  76. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +88 -103
  77. package/dist/types/excalidraw/actions/actionAlign.d.ts +15 -15
  78. package/dist/types/excalidraw/actions/actionBoundText.d.ts +64 -74
  79. package/dist/types/excalidraw/actions/actionCanvas.d.ts +608 -497
  80. package/dist/types/excalidraw/actions/actionClipboard.d.ts +188 -218
  81. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +31 -36
  82. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +89 -104
  83. package/dist/types/excalidraw/actions/actionDistribute.d.ts +7 -7
  84. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +5 -9
  85. package/dist/types/excalidraw/actions/actionElementLink.d.ts +34 -39
  86. package/dist/types/excalidraw/actions/actionElementLock.d.ts +65 -76
  87. package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +31 -46
  88. package/dist/types/excalidraw/actions/actionExport.d.ts +342 -387
  89. package/dist/types/excalidraw/actions/actionFinalize.d.ts +52 -62
  90. package/dist/types/excalidraw/actions/actionFlip.d.ts +7 -7
  91. package/dist/types/excalidraw/actions/actionFrame.d.ts +234 -254
  92. package/dist/types/excalidraw/actions/actionGroup.d.ts +65 -75
  93. package/dist/types/excalidraw/actions/actionHistory.d.ts +2 -3
  94. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +32 -37
  95. package/dist/types/excalidraw/actions/actionLink.d.ts +34 -39
  96. package/dist/types/excalidraw/actions/actionMenu.d.ts +91 -106
  97. package/dist/types/excalidraw/actions/actionNavigate.d.ts +59 -69
  98. package/dist/types/excalidraw/actions/actionProperties.d.ts +396 -471
  99. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +33 -38
  100. package/dist/types/excalidraw/actions/actionStyles.d.ts +37 -42
  101. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  102. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +33 -38
  103. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +33 -38
  104. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +32 -209
  105. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  106. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +32 -38
  107. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +33 -39
  108. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +33 -39
  109. package/dist/types/excalidraw/actions/actionZindex.d.ts +16 -16
  110. package/dist/types/excalidraw/actions/index.d.ts +1 -0
  111. package/dist/types/excalidraw/actions/manager.d.ts +2 -2
  112. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  113. package/dist/types/excalidraw/actions/types.d.ts +5 -5
  114. package/dist/types/excalidraw/animated-trail.d.ts +7 -1
  115. package/dist/types/excalidraw/appState.d.ts +34 -33
  116. package/dist/types/excalidraw/charts.d.ts +1 -1
  117. package/dist/types/excalidraw/clipboard.d.ts +7 -7
  118. package/dist/types/excalidraw/components/Actions.d.ts +3 -3
  119. package/dist/types/excalidraw/components/App.d.ts +38 -20
  120. package/dist/types/excalidraw/components/Avatar.d.ts +1 -1
  121. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -1
  122. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  123. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
  124. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -2
  125. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  126. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  127. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +3 -3
  128. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  129. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  130. package/dist/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
  131. package/dist/types/excalidraw/components/ContextMenu.d.ts +2 -2
  132. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +49 -0
  133. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  134. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
  135. package/dist/types/excalidraw/components/DialogActionButton.d.ts +1 -1
  136. package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +1 -1
  137. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +5 -4
  138. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  139. package/dist/types/excalidraw/components/FixedSideContainer.d.ts +1 -1
  140. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  141. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +1 -1
  142. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
  143. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +1 -1
  144. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
  145. package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
  146. package/dist/types/excalidraw/components/IconPicker.d.ts +1 -1
  147. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +2 -2
  148. package/dist/types/excalidraw/components/InitializeApp.d.ts +1 -1
  149. package/dist/types/excalidraw/components/Island.d.ts +1 -1
  150. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +2 -2
  151. package/dist/types/excalidraw/components/LayerUI.d.ts +3 -3
  152. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -1
  153. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  154. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +3 -3
  155. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -2
  156. package/dist/types/excalidraw/components/LoadingMessage.d.ts +1 -1
  157. package/dist/types/excalidraw/components/MagicButton.d.ts +1 -1
  158. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -3
  159. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
  160. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  161. package/dist/types/excalidraw/components/PublishLibrary.d.ts +1 -1
  162. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  163. package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  164. package/dist/types/excalidraw/components/Sidebar/common.d.ts +1 -1
  165. package/dist/types/excalidraw/components/Stack.d.ts +1 -1
  166. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  167. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  168. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  169. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  170. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +3 -3
  171. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +2 -2
  172. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  173. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +3 -3
  174. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +2 -2
  175. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  176. package/dist/types/excalidraw/components/Stats/Position.d.ts +2 -2
  177. package/dist/types/excalidraw/components/Stats/index.d.ts +2 -2
  178. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -11
  179. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  180. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +1 -1
  181. package/dist/types/excalidraw/components/TextField.d.ts +1 -1
  182. package/dist/types/excalidraw/components/Toast.d.ts +1 -1
  183. package/dist/types/excalidraw/components/ToolButton.d.ts +2 -2
  184. package/dist/types/excalidraw/components/Tooltip.d.ts +1 -1
  185. package/dist/types/excalidraw/components/UserList.d.ts +1 -1
  186. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +4 -3
  187. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -2
  188. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +3 -3
  189. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +1 -1
  190. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +2 -2
  191. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +1 -1
  192. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +5 -4
  193. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  194. package/dist/types/excalidraw/components/icons.d.ts +2 -1
  195. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
  196. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +4 -1
  197. package/dist/types/excalidraw/components/shapes.d.ts +62 -0
  198. package/dist/types/excalidraw/context/tunnels.d.ts +1 -1
  199. package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +1 -1
  200. package/dist/types/excalidraw/data/blob.d.ts +4 -4
  201. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  202. package/dist/types/excalidraw/data/index.d.ts +2 -2
  203. package/dist/types/excalidraw/data/json.d.ts +1 -1
  204. package/dist/types/excalidraw/data/library.d.ts +3 -3
  205. package/dist/types/excalidraw/data/reconcile.d.ts +2 -2
  206. package/dist/types/excalidraw/data/resave.d.ts +1 -1
  207. package/dist/types/excalidraw/data/restore.d.ts +1 -1
  208. package/dist/types/excalidraw/data/transform.d.ts +4 -4
  209. package/dist/types/excalidraw/data/types.d.ts +3 -3
  210. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  211. package/dist/types/excalidraw/eraser/index.d.ts +14 -0
  212. package/dist/types/excalidraw/errors.d.ts +0 -3
  213. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -13
  214. package/dist/types/excalidraw/history.d.ts +15 -23
  215. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  216. package/dist/types/excalidraw/i18n.d.ts +1 -1
  217. package/dist/types/excalidraw/index.d.ts +16 -15
  218. package/dist/types/excalidraw/laser-trails.d.ts +1 -1
  219. package/dist/types/excalidraw/lasso/index.d.ts +15 -0
  220. package/dist/types/excalidraw/lasso/utils.d.ts +12 -0
  221. package/dist/types/excalidraw/renderer/helpers.d.ts +7 -2
  222. package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
  223. package/dist/types/excalidraw/scene/Renderer.d.ts +3 -3
  224. package/dist/types/excalidraw/scene/export.d.ts +1 -1
  225. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  226. package/dist/types/excalidraw/scene/scroll.d.ts +1 -1
  227. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  228. package/dist/types/excalidraw/scene/types.d.ts +6 -4
  229. package/dist/types/excalidraw/snapping.d.ts +5 -6
  230. package/dist/types/excalidraw/types.d.ts +31 -18
  231. package/dist/types/excalidraw/visualdebug.d.ts +2 -2
  232. package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +4 -2
  233. package/dist/types/math/{curve.d.ts → src/curve.d.ts} +2 -0
  234. package/dist/types/math/{point.d.ts → src/point.d.ts} +2 -2
  235. package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
  236. package/dist/types/math/{segment.d.ts → src/segment.d.ts} +1 -1
  237. package/dist/types/math/{types.d.ts → src/types.d.ts} +1 -0
  238. package/dist/types/math/{vector.d.ts → src/vector.d.ts} +4 -0
  239. package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
  240. package/dist/types/utils/{collision.d.ts → src/collision.d.ts} +2 -3
  241. package/dist/types/utils/{export.d.ts → src/export.d.ts} +2 -2
  242. package/dist/types/utils/{index.d.ts → src/index.d.ts} +1 -1
  243. package/dist/types/utils/{geometry → src}/shape.d.ts +2 -15
  244. package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +2 -2
  245. package/history.ts +70 -94
  246. package/package.json +16 -4
  247. package/dist/dev/chunk-3SN6HYVK.js.map +0 -7
  248. package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
  249. package/dist/dev/chunk-OKSO7T74.js +0 -4132
  250. package/dist/dev/chunk-OKSO7T74.js.map +0 -7
  251. package/dist/prod/chunk-36CXSE6H.js +0 -34
  252. package/dist/prod/chunk-EIO257PC.js +0 -86
  253. package/dist/prod/data/image-N4WCURRR.js +0 -1
  254. package/dist/types/excalidraw/align.d.ts +0 -7
  255. package/dist/types/excalidraw/element/index.d.ts +0 -26
  256. package/dist/types/excalidraw/shapes.d.ts +0 -85
  257. package/dist/types/excalidraw/store.d.ts +0 -129
  258. package/dist/types/excalidraw/zindex.d.ts +0 -6
  259. package/dist/dev/data/{image-V26YBSDB.js.map → image-AYLHSOBV.js.map} +0 -0
  260. package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-E3O5XSXJ.js.map} +0 -0
  261. package/dist/types/{excalidraw → common/src}/keys.d.ts +0 -0
  262. package/dist/types/{excalidraw → common/src}/queue.d.ts +0 -0
  263. package/dist/types/{excalidraw → common/src}/random.d.ts +0 -0
  264. package/dist/types/{excalidraw/data → common/src}/url.d.ts +0 -0
  265. package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +0 -0
  266. package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +0 -0
  267. package/dist/types/{excalidraw/element → element/src}/distance.d.ts +0 -0
  268. package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +0 -0
  269. package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +0 -0
  270. package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +0 -0
  271. package/dist/types/{excalidraw/element → element/src}/utils.d.ts +1 -1
  272. /package/dist/types/math/{angle.d.ts → src/angle.d.ts} +0 -0
  273. /package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
  274. /package/dist/types/math/{index.d.ts → src/index.d.ts} +0 -0
  275. /package/dist/types/math/{line.d.ts → src/line.d.ts} +0 -0
  276. /package/dist/types/math/{range.d.ts → src/range.d.ts} +0 -0
  277. /package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +0 -0
  278. /package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +0 -0
  279. /package/dist/types/math/{utils.d.ts → src/utils.d.ts} +0 -0
@@ -0,0 +1,62 @@
1
+ export declare const SHAPES: readonly [{
2
+ readonly icon: import("react/jsx-runtime").JSX.Element;
3
+ readonly value: "selection";
4
+ readonly key: "v";
5
+ readonly numericKey: "1";
6
+ readonly fillable: true;
7
+ }, {
8
+ readonly icon: import("react/jsx-runtime").JSX.Element;
9
+ readonly value: "rectangle";
10
+ readonly key: "r";
11
+ readonly numericKey: "2";
12
+ readonly fillable: true;
13
+ }, {
14
+ readonly icon: import("react/jsx-runtime").JSX.Element;
15
+ readonly value: "diamond";
16
+ readonly key: "d";
17
+ readonly numericKey: "3";
18
+ readonly fillable: true;
19
+ }, {
20
+ readonly icon: import("react/jsx-runtime").JSX.Element;
21
+ readonly value: "ellipse";
22
+ readonly key: "o";
23
+ readonly numericKey: "4";
24
+ readonly fillable: true;
25
+ }, {
26
+ readonly icon: import("react/jsx-runtime").JSX.Element;
27
+ readonly value: "arrow";
28
+ readonly key: "a";
29
+ readonly numericKey: "5";
30
+ readonly fillable: true;
31
+ }, {
32
+ readonly icon: import("react/jsx-runtime").JSX.Element;
33
+ readonly value: "line";
34
+ readonly key: "l";
35
+ readonly numericKey: "6";
36
+ readonly fillable: true;
37
+ }, {
38
+ readonly icon: import("react/jsx-runtime").JSX.Element;
39
+ readonly value: "freedraw";
40
+ readonly key: readonly ["p", "x"];
41
+ readonly numericKey: "7";
42
+ readonly fillable: false;
43
+ }, {
44
+ readonly icon: import("react/jsx-runtime").JSX.Element;
45
+ readonly value: "text";
46
+ readonly key: "t";
47
+ readonly numericKey: "8";
48
+ readonly fillable: false;
49
+ }, {
50
+ readonly icon: import("react/jsx-runtime").JSX.Element;
51
+ readonly value: "image";
52
+ readonly key: null;
53
+ readonly numericKey: "9";
54
+ readonly fillable: false;
55
+ }, {
56
+ readonly icon: import("react/jsx-runtime").JSX.Element;
57
+ readonly value: "eraser";
58
+ readonly key: "e";
59
+ readonly numericKey: "0";
60
+ readonly fillable: false;
61
+ }];
62
+ export declare const findShapeByKey: (key: string) => "line" | "ellipse" | "text" | "rectangle" | "diamond" | "image" | "selection" | "arrow" | "freedraw" | "eraser" | null;
@@ -1,6 +1,6 @@
1
+ import { createIsolation } from "jotai-scope";
1
2
  import React from "react";
2
3
  import tunnel from "tunnel-rat";
3
- import { createIsolation } from "jotai-scope";
4
4
  export type Tunnel = ReturnType<typeof tunnel>;
5
5
  type TunnelsContextValue = {
6
6
  MainMenuTunnel: Tunnel;
@@ -1,4 +1,4 @@
1
- import type { EDITOR_LS_KEYS } from "../constants";
1
+ import type { EDITOR_LS_KEYS } from "@excalidraw/common";
2
2
  import type { JSONValue } from "../types";
3
3
  export declare class EditorLocalStorage {
4
4
  static has(key: typeof EDITOR_LS_KEYS[keyof typeof EDITOR_LS_KEYS]): boolean;
@@ -1,12 +1,12 @@
1
- import { IMAGE_MIME_TYPES, MIME_TYPES } from "../constants";
2
- import type { ExcalidrawElement, FileId } from "../element/types";
1
+ import { IMAGE_MIME_TYPES, MIME_TYPES } from "@excalidraw/common";
2
+ import type { ValueOf } from "@excalidraw/common/utility-types";
3
+ import type { ExcalidrawElement, FileId } from "@excalidraw/element/types";
3
4
  import type { AppState, DataURL, LibraryItem } from "../types";
4
- import type { ValueOf } from "../utility-types";
5
5
  import type { FileSystemHandle } from "./filesystem";
6
6
  import type { ImportedLibraryData } from "./types";
7
7
  export declare const getMimeType: (blob: Blob | string) => string;
8
8
  export declare const getFileHandleType: (handle: FileSystemHandle | null) => string | null;
9
- export declare const isImageFileHandleType: (type: string | null) => type is "svg" | "png";
9
+ export declare const isImageFileHandleType: (type: string | null) => type is "png" | "svg";
10
10
  export declare const isImageFileHandle: (handle: FileSystemHandle | null) => boolean;
11
11
  export declare const isSupportedImageFileType: (type: string | null | undefined) => boolean;
12
12
  export declare const isSupportedImageFile: (blob: Blob | null | undefined) => blob is Blob & {
@@ -1,6 +1,6 @@
1
- import type { FileSystemHandle } from "browser-fs-access";
2
1
  import { supported as nativeFileSystemSupported } from "browser-fs-access";
3
- import { MIME_TYPES } from "../constants";
2
+ import { MIME_TYPES } from "@excalidraw/common";
3
+ import type { FileSystemHandle } from "browser-fs-access";
4
4
  type FILE_EXTENSION = Exclude<keyof typeof MIME_TYPES, "binary">;
5
5
  export declare const fileOpen: <M extends boolean | undefined = false>(opts: {
6
6
  extensions?: FILE_EXTENSION[] | undefined;
@@ -1,7 +1,7 @@
1
- import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "../element/types";
1
+ import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { FileSystemHandle } from "./filesystem";
2
3
  import type { ExportType } from "../scene/types";
3
4
  import type { AppState, BinaryFiles } from "../types";
4
- import type { FileSystemHandle } from "./filesystem";
5
5
  export { loadFromBlob } from "./blob";
6
6
  export { loadFromJSON, saveAsJSON } from "./json";
7
7
  export type ExportedElements = readonly NonDeletedExcalidrawElement[] & {
@@ -1,4 +1,4 @@
1
- import type { ExcalidrawElement } from "../element/types";
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { AppState, BinaryFiles, LibraryItems } from "../types";
3
3
  import type { ImportedDataState, ImportedLibraryData } from "./types";
4
4
  export declare const serializeAsJSON: (elements: readonly ExcalidrawElement[], appState: Partial<AppState>, files: BinaryFiles, type: "local" | "database") => string;
@@ -1,7 +1,7 @@
1
- import type { LibraryItems, ExcalidrawImperativeAPI, LibraryItemsSource, LibraryItems_anyVersion } from "../types";
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { MaybePromise } from "@excalidraw/common/utility-types";
2
3
  import type App from "../components/App";
3
- import type { ExcalidrawElement } from "../element/types";
4
- import type { MaybePromise } from "../utility-types";
4
+ import type { LibraryItems, ExcalidrawImperativeAPI, LibraryItemsSource, LibraryItems_anyVersion } from "../types";
5
5
  export type LibraryPersistedData = {
6
6
  libraryItems: LibraryItems;
7
7
  };
@@ -1,6 +1,6 @@
1
- import type { OrderedExcalidrawElement } from "../element/types";
1
+ import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { MakeBrand } from "@excalidraw/common/utility-types";
2
3
  import type { AppState } from "../types";
3
- import type { MakeBrand } from "../utility-types";
4
4
  export type ReconciledExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"ReconciledElement">;
5
5
  export type RemoteExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"RemoteExcalidrawElement">;
6
6
  export declare const reconcileElements: (localElements: readonly OrderedExcalidrawElement[], remoteElements: readonly RemoteExcalidrawElement[], localAppState: AppState) => ReconciledExcalidrawElement[];
@@ -1,4 +1,4 @@
1
- import type { ExcalidrawElement } from "../element/types";
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { AppState, BinaryFiles } from "../types";
3
3
  export declare const resaveAsImageWithScene: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name: string) => Promise<{
4
4
  fileHandle: import("browser-fs-access").FileSystemHandle;
@@ -1,4 +1,4 @@
1
- import type { ExcalidrawElement, OrderedExcalidrawElement } from "../element/types";
1
+ import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
3
  import type { ImportedDataState } from "./types";
4
4
  type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
@@ -1,6 +1,6 @@
1
- import type { ElementConstructorOpts } from "../element/newElement";
2
- import type { ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFrameElement, ExcalidrawFreeDrawElement, ExcalidrawGenericElement, ExcalidrawIframeLikeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawMagicFrameElement, ExcalidrawSelectionElement, ExcalidrawTextElement, FileId, FontFamilyValues, TextAlign, VerticalAlign } from "../element/types";
3
- import type { MarkOptional } from "../utility-types";
1
+ import type { ElementConstructorOpts } from "@excalidraw/element/newElement";
2
+ import type { ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFrameElement, ExcalidrawFreeDrawElement, ExcalidrawGenericElement, ExcalidrawIframeLikeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawMagicFrameElement, ExcalidrawSelectionElement, ExcalidrawTextElement, FileId, FontFamilyValues, TextAlign, VerticalAlign } from "@excalidraw/element/types";
3
+ import type { MarkOptional } from "@excalidraw/common/utility-types";
4
4
  export type ValidLinearElement = {
5
5
  type: "arrow" | "line";
6
6
  x: number;
@@ -78,4 +78,4 @@ export type ExcalidrawElementSkeleton = Extract<Exclude<ExcalidrawElement, Excal
78
78
  } & Partial<ExcalidrawMagicFrameElement>);
79
79
  export declare const convertToExcalidrawElements: (elementsSkeleton: ExcalidrawElementSkeleton[] | null, opts?: {
80
80
  regenerateIds: boolean;
81
- }) => import("../element/types").OrderedExcalidrawElement[];
81
+ }) => import("@excalidraw/element/types").OrderedExcalidrawElement[];
@@ -1,7 +1,7 @@
1
- import type { ExcalidrawElement } from "../element/types";
2
- import type { AppState, BinaryFiles, LibraryItems, LibraryItems_anyVersion } from "../types";
1
+ import type { VERSIONS } from "@excalidraw/common";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
3
  import type { cleanAppStateForExport } from "../appState";
4
- import type { VERSIONS } from "../constants";
4
+ import type { AppState, BinaryFiles, LibraryItems, LibraryItems_anyVersion } from "../types";
5
5
  export interface ExportedDataState {
6
6
  type: string;
7
7
  version: number;
@@ -1,14 +1,14 @@
1
- import { atom, createStore, type PrimitiveAtom } from "jotai";
1
+ import { atom, createStore, type PrimitiveAtom, type WritableAtom } from "jotai";
2
2
  import { createIsolation } from "jotai-scope";
3
- export { atom, PrimitiveAtom };
3
+ export { atom, PrimitiveAtom, WritableAtom };
4
4
  export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof import("jotai").useSetAtom, useAtomValue: typeof import("jotai").useAtomValue, useStore: (options?: {
5
5
  store?: {
6
6
  get: <Value>(atom: import("jotai").Atom<Value>) => Value;
7
- set: <Value_1, Args extends unknown[], Result>(atom: import("jotai").WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
7
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
8
8
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
9
9
  } | ({
10
10
  get: <Value_2>(atom: import("jotai").Atom<Value_2>) => Value_2;
11
- set: <Value_1_1, Args_1 extends unknown[], Result_1>(atom: import("jotai").WritableAtom<Value_1_1, Args_1, Result_1>, ...args: Args_1) => Result_1;
11
+ set: <Value_1_1, Args_1 extends unknown[], Result_1>(atom: WritableAtom<Value_1_1, Args_1, Result_1>, ...args: Args_1) => Result_1;
12
12
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
13
13
  } & {
14
14
  dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
@@ -29,11 +29,11 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
29
29
  }) | undefined;
30
30
  } | undefined) => {
31
31
  get: <Value_3>(atom: import("jotai").Atom<Value_3>) => Value_3;
32
- set: <Value_1_2, Args_2 extends unknown[], Result_2>(atom: import("jotai").WritableAtom<Value_1_2, Args_2, Result_2>, ...args: Args_2) => Result_2;
32
+ set: <Value_1_2, Args_2 extends unknown[], Result_2>(atom: WritableAtom<Value_1_2, Args_2, Result_2>, ...args: Args_2) => Result_2;
33
33
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
34
34
  } | ({
35
35
  get: <Value_4>(atom: import("jotai").Atom<Value_4>) => Value_4;
36
- set: <Value_1_3, Args_3 extends unknown[], Result_3>(atom: import("jotai").WritableAtom<Value_1_3, Args_3, Result_3>, ...args: Args_3) => Result_3;
36
+ set: <Value_1_3, Args_3 extends unknown[], Result_3>(atom: WritableAtom<Value_1_3, Args_3, Result_3>, ...args: Args_3) => Result_3;
37
37
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
38
38
  } & {
39
39
  dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
@@ -0,0 +1,14 @@
1
+ import { AnimatedTrail } from "../animated-trail";
2
+ import type { AnimationFrameHandler } from "../animation-frame-handler";
3
+ import type App from "../components/App";
4
+ export declare class EraserTrail extends AnimatedTrail {
5
+ private elementsToErase;
6
+ private groupsToErase;
7
+ private segmentsCache;
8
+ private geometricShapesCache;
9
+ constructor(animationFrameHandler: AnimationFrameHandler, app: App);
10
+ startPath(x: number, y: number): void;
11
+ addPointToPath(x: number, y: number, restore?: boolean): string[];
12
+ private updateElementsToBeErased;
13
+ endPath(): void;
14
+ }
@@ -10,9 +10,6 @@ export declare class ImageSceneDataError extends Error {
10
10
  code: ImageSceneDataErrorCode;
11
11
  constructor(message?: string, code?: ImageSceneDataErrorCode);
12
12
  }
13
- export declare class InvalidFractionalIndexError extends Error {
14
- code: "ELEMENT_HAS_INVALID_INDEX";
15
- }
16
13
  type WorkerErrorCodes = "WORKER_URL_NOT_DEFINED" | "WORKER_IN_THE_MAIN_CHUNK";
17
14
  export declare class WorkerUrlNotDefinedError extends Error {
18
15
  code: WorkerErrorCodes;
@@ -1,7 +1,7 @@
1
+ import { type FontMetadata } from "@excalidraw/common";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
+ import type Scene from "@excalidraw/element/Scene";
1
4
  import { ExcalidrawFontFace } from "./ExcalidrawFontFace";
2
- import { type FontMetadata } from "./FontMetadata";
3
- import type { ExcalidrawElement, ExcalidrawTextElement, FontFamilyValues } from "../element/types";
4
- import type Scene from "../scene/Scene";
5
5
  export declare class Fonts {
6
6
  static readonly loadedFontsCache: Set<string>;
7
7
  private static _registered;
@@ -73,16 +73,6 @@ export declare class Fonts {
73
73
  */
74
74
  private static getAllFamilies;
75
75
  }
76
- /**
77
- * Calculates vertical offset for a text with alphabetic baseline.
78
- */
79
- export declare const getVerticalOffset: (fontFamily: ExcalidrawTextElement["fontFamily"], fontSize: ExcalidrawTextElement["fontSize"], lineHeightPx: number) => number;
80
- /**
81
- * Gets line height forr a selected family.
82
- */
83
- export declare const getLineHeight: (fontFamily: FontFamilyValues) => number & {
84
- _brand: "unitlessLineHeight";
85
- };
86
76
  export interface ExcalidrawFontFaceDescriptor {
87
77
  uri: string;
88
78
  descriptors?: FontFaceDescriptors;
@@ -1,40 +1,32 @@
1
- import type { AppStateChange, ElementsChange } from "./change";
2
- import type { SceneElementsMap } from "./element/types";
3
- import { Emitter } from "./emitter";
4
- import type { Snapshot } from "./store";
1
+ import { Emitter } from "@excalidraw/common";
2
+ import { StoreDelta, type Store } from "@excalidraw/element/store";
3
+ import type { SceneElementsMap } from "@excalidraw/element/types";
5
4
  import type { AppState } from "./types";
5
+ declare class HistoryEntry extends StoreDelta {
6
+ }
6
7
  export declare class HistoryChangedEvent {
7
8
  readonly isUndoStackEmpty: boolean;
8
9
  readonly isRedoStackEmpty: boolean;
9
10
  constructor(isUndoStackEmpty?: boolean, isRedoStackEmpty?: boolean);
10
11
  }
11
12
  export declare class History {
13
+ private readonly store;
12
14
  readonly onHistoryChangedEmitter: Emitter<[HistoryChangedEvent]>;
13
- private readonly undoStack;
14
- private readonly redoStack;
15
+ readonly undoStack: HistoryEntry[];
16
+ readonly redoStack: HistoryEntry[];
15
17
  get isUndoStackEmpty(): boolean;
16
18
  get isRedoStackEmpty(): boolean;
19
+ constructor(store: Store);
17
20
  clear(): void;
18
21
  /**
19
- * Record a local change which will go into the history
22
+ * Record a non-empty local durable increment, which will go into the undo stack..
23
+ * Do not re-record history entries, which were already pushed to undo / redo stack, as part of history action.
20
24
  */
21
- record(elementsChange: ElementsChange, appStateChange: AppStateChange): void;
22
- undo(elements: SceneElementsMap, appState: AppState, snapshot: Readonly<Snapshot>): void | [SceneElementsMap, AppState];
23
- redo(elements: SceneElementsMap, appState: AppState, snapshot: Readonly<Snapshot>): void | [SceneElementsMap, AppState];
25
+ record(delta: StoreDelta): void;
26
+ undo(elements: SceneElementsMap, appState: AppState): void | [SceneElementsMap, AppState];
27
+ redo(elements: SceneElementsMap, appState: AppState): void | [SceneElementsMap, AppState];
24
28
  private perform;
25
29
  private static pop;
26
30
  private static push;
27
31
  }
28
- export declare class HistoryEntry {
29
- readonly appStateChange: AppStateChange;
30
- readonly elementsChange: ElementsChange;
31
- private constructor();
32
- static create(appStateChange: AppStateChange, elementsChange: ElementsChange): HistoryEntry;
33
- inverse(): HistoryEntry;
34
- applyTo(elements: SceneElementsMap, appState: AppState, snapshot: Readonly<Snapshot>): [SceneElementsMap, AppState, boolean];
35
- /**
36
- * Apply latest (remote) changes to the history entry, creates new instance of `HistoryEntry`.
37
- */
38
- applyLatestChanges(elements: SceneElementsMap): HistoryEntry;
39
- isEmpty(): boolean;
40
- }
32
+ export {};
@@ -1,2 +1,2 @@
1
- import type { Emitter } from "../emitter";
1
+ import type { Emitter } from "@excalidraw/common";
2
2
  export declare const useEmitter: <TEvent extends unknown>(emitter: Emitter<[TEvent]>, initialState: TEvent) => TEvent;
@@ -1,5 +1,5 @@
1
+ import type { NestedKeyOf } from "@excalidraw/common/utility-types";
1
2
  import fallbackLangData from "./locales/en.json";
2
- import type { NestedKeyOf } from "./utility-types";
3
3
  export interface Language {
4
4
  code: string;
5
5
  label: string;
@@ -1,28 +1,30 @@
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
17
  export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, } from "@excalidraw/utils/export";
16
18
  export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
17
19
  export { loadFromBlob, loadSceneOrLibraryFromBlob, loadLibraryFromBlob, } from "./data/blob";
18
- export { getFreeDrawSvgPath } from "./renderer/renderElement";
20
+ export { getFreeDrawSvgPath } from "@excalidraw/element/renderElement";
19
21
  export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
20
- export { isLinearElement } from "./element/typeChecks";
21
- export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, } from "./constants";
22
- export { mutateElement, newElementWith, bumpVersion, } from "./element/mutateElement";
23
- export { CaptureUpdateAction } from "./store";
22
+ export { isLinearElement } from "@excalidraw/element/typeChecks";
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 "@excalidraw/element/store";
24
26
  export { parseLibraryTokensFromUrl, useHandleLibrary } from "./data/library";
25
- export { sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, } from "./utils";
27
+ export { sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, } from "@excalidraw/common";
26
28
  export { Sidebar } from "./components/Sidebar/Sidebar";
27
29
  export { Button } from "./components/Button";
28
30
  export { Footer };
@@ -34,12 +36,11 @@ export { Stats } from "./components/Stats";
34
36
  export { DefaultSidebar } from "./components/DefaultSidebar";
35
37
  export { TTDDialog } from "./components/TTDDialog/TTDDialog";
36
38
  export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
37
- export { normalizeLink } from "./data/url";
38
39
  export { zoomToFitBounds } from "./actions/actionCanvas";
39
40
  export { convertToExcalidrawElements } from "./data/transform";
40
- export { getCommonBounds, getVisibleSceneBounds } from "./element/bounds";
41
+ export { getCommonBounds, getVisibleSceneBounds, } from "@excalidraw/element/bounds";
41
42
  export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
42
43
  export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
43
44
  export { getDataURL } from "./data/blob";
44
- export { isElementLink } from "./element/elementLink";
45
- export { setCustomTextMetricsProvider } from "./element/textMeasurements";
45
+ export { isElementLink } from "@excalidraw/element/elementLink";
46
+ 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,5 +1,6 @@
1
- import type { StaticCanvasAppState, AppState } from "../types";
1
+ import type { ExcalidrawDiamondElement, ExcalidrawRectanguloidElement } from "@excalidraw/element/types";
2
2
  import type { StaticCanvasRenderConfig } from "../scene/types";
3
+ import type { AppState, StaticCanvasAppState } from "../types";
3
4
  export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke?: boolean) => void;
4
5
  export declare const getNormalizedCanvasDimensions: (canvas: HTMLCanvasElement, scale: number) => [number, number];
5
6
  export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normalizedHeight, theme, isExporting, viewBackgroundColor, }: {
@@ -7,7 +8,11 @@ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normali
7
8
  scale: number;
8
9
  normalizedWidth: number;
9
10
  normalizedHeight: number;
10
- theme?: import("../element/types").Theme | undefined;
11
+ theme?: import("@excalidraw/element/types").Theme | undefined;
11
12
  isExporting?: boolean | undefined;
12
13
  viewBackgroundColor?: string | null | undefined;
13
14
  }) => CanvasRenderingContext2D;
15
+ export declare const drawHighlightForRectWithRotation: (context: CanvasRenderingContext2D, element: ExcalidrawRectanguloidElement, 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) => void;
@@ -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";
1
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type Scene from "@excalidraw/element/Scene";
2
3
  import type { AppState } from "../types";
3
- import type Scene from "./Scene";
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,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(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;
@@ -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"];
@@ -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;
@@ -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 {};