@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-880dbb25e

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 (298) hide show
  1. package/CHANGELOG.md +11 -11
  2. package/dist/dev/chunk-CP5DND7P.js +7 -0
  3. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  4. package/dist/dev/chunk-CRKRRBMD.js +5677 -0
  5. package/dist/dev/chunk-CRKRRBMD.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-LMHBUWQS.js → chunk-QF5FRM6O.js} +16 -5
  9. package/dist/dev/chunk-QF5FRM6O.js.map +7 -0
  10. package/dist/dev/data/{image-V26YBSDB.js → image-IWGLHPIX.js} +3 -3
  11. package/dist/dev/index.css +3021 -2942
  12. package/dist/dev/index.css.map +3 -3
  13. package/dist/dev/index.js +30933 -24345
  14. package/dist/dev/index.js.map +4 -4
  15. package/dist/dev/locales/{en-OZCJJ2HN.js → en-SMAPCEOQ.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-A66AFZZU.js +7 -0
  19. package/dist/prod/chunk-HHV2PJKY.js +4 -0
  20. package/dist/prod/chunk-I4UNSFV6.js +12 -0
  21. package/dist/prod/chunk-LS7FJGPW.js +86 -0
  22. package/dist/prod/data/image-4SM4COIL.js +1 -0
  23. package/dist/prod/index.css +1 -1
  24. package/dist/prod/index.js +27 -16
  25. package/dist/prod/locales/{en-B4ZKOASM.js → en-TYY6KWIJ.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 +29 -8
  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 -11
  38. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +19 -18
  39. package/dist/types/element/src/align.d.ts +8 -0
  40. package/dist/types/{excalidraw/element → element/src}/binding.d.ts +30 -19
  41. package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +19 -6
  42. package/dist/types/element/src/collision.d.ts +32 -0
  43. package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
  44. package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +1 -1
  45. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +80 -42
  46. package/dist/types/element/src/distance.d.ts +3 -0
  47. package/dist/types/{excalidraw → element/src}/distribute.d.ts +3 -2
  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 +12 -3
  55. package/dist/types/{excalidraw → element/src}/frame.d.ts +8 -7
  56. package/dist/types/{excalidraw → element/src}/groups.d.ts +6 -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 +57 -0
  60. package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +24 -37
  61. package/dist/types/element/src/mutateElement.d.ts +21 -0
  62. package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +4 -43
  63. package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +3 -3
  64. package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +7 -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 -7
  67. package/dist/types/element/src/shape.d.ts +42 -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 +3 -3
  70. package/dist/types/element/src/store.d.ts +236 -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 +21 -3
  74. package/dist/types/{excalidraw/element → element/src}/types.d.ts +17 -4
  75. package/dist/types/element/src/utils.d.ts +31 -0
  76. package/dist/types/{excalidraw → element/src}/zindex.d.ts +5 -4
  77. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +97 -106
  78. package/dist/types/excalidraw/actions/actionAlign.d.ts +7 -7
  79. package/dist/types/excalidraw/actions/actionBoundText.d.ts +70 -76
  80. package/dist/types/excalidraw/actions/actionCanvas.d.ts +627 -490
  81. package/dist/types/excalidraw/actions/actionClipboard.d.ts +206 -222
  82. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +34 -37
  83. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +102 -110
  84. package/dist/types/excalidraw/actions/actionDistribute.d.ts +3 -3
  85. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -7
  86. package/dist/types/excalidraw/actions/actionElementLink.d.ts +37 -40
  87. package/dist/types/excalidraw/actions/actionElementLock.d.ts +82 -90
  88. package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +34 -47
  89. package/dist/types/excalidraw/actions/actionExport.d.ts +351 -378
  90. package/dist/types/excalidraw/actions/actionFinalize.d.ts +100 -65
  91. package/dist/types/excalidraw/actions/actionFlip.d.ts +3 -3
  92. package/dist/types/excalidraw/actions/actionFrame.d.ts +252 -264
  93. package/dist/types/excalidraw/actions/actionGroup.d.ts +67 -73
  94. package/dist/types/excalidraw/actions/actionHistory.d.ts +2 -3
  95. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +561 -40
  96. package/dist/types/excalidraw/actions/actionLink.d.ts +35 -38
  97. package/dist/types/excalidraw/actions/actionMenu.d.ts +98 -107
  98. package/dist/types/excalidraw/actions/actionNavigate.d.ts +65 -71
  99. package/dist/types/excalidraw/actions/actionProperties.d.ts +469 -506
  100. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +35 -38
  101. package/dist/types/excalidraw/actions/actionStyles.d.ts +36 -39
  102. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  103. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +34 -37
  104. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +34 -37
  105. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +33 -208
  106. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  107. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +33 -37
  108. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +34 -38
  109. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +34 -38
  110. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  111. package/dist/types/excalidraw/actions/index.d.ts +1 -0
  112. package/dist/types/excalidraw/actions/manager.d.ts +2 -2
  113. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  114. package/dist/types/excalidraw/actions/types.d.ts +6 -5
  115. package/dist/types/excalidraw/animated-trail.d.ts +7 -1
  116. package/dist/types/excalidraw/appState.d.ts +38 -28
  117. package/dist/types/excalidraw/charts.d.ts +1 -1
  118. package/dist/types/excalidraw/clipboard.d.ts +7 -7
  119. package/dist/types/excalidraw/components/Actions.d.ts +3 -7
  120. package/dist/types/excalidraw/components/App.d.ts +46 -29
  121. package/dist/types/excalidraw/components/Avatar.d.ts +1 -1
  122. package/dist/types/excalidraw/components/ButtonIcon.d.ts +2 -1
  123. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
  124. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -5
  125. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
  126. package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
  127. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +4 -5
  128. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +3 -4
  129. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +3 -3
  130. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  131. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +4 -4
  132. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  133. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  134. package/dist/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
  135. package/dist/types/excalidraw/components/ContextMenu.d.ts +2 -2
  136. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  137. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  138. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
  139. package/dist/types/excalidraw/components/DialogActionButton.d.ts +1 -1
  140. package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +1 -1
  141. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +5 -4
  142. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  143. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  144. package/dist/types/excalidraw/components/FixedSideContainer.d.ts +1 -1
  145. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  146. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +1 -1
  147. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
  148. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +1 -1
  149. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
  150. package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
  151. package/dist/types/excalidraw/components/IconPicker.d.ts +1 -1
  152. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +2 -2
  153. package/dist/types/excalidraw/components/InitializeApp.d.ts +1 -1
  154. package/dist/types/excalidraw/components/Island.d.ts +1 -1
  155. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +2 -2
  156. package/dist/types/excalidraw/components/LayerUI.d.ts +3 -3
  157. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -1
  158. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  159. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +3 -3
  160. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -2
  161. package/dist/types/excalidraw/components/LoadingMessage.d.ts +1 -1
  162. package/dist/types/excalidraw/components/MagicButton.d.ts +1 -1
  163. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -3
  164. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
  165. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  166. package/dist/types/excalidraw/components/PublishLibrary.d.ts +1 -1
  167. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
  168. package/dist/types/excalidraw/components/Range.d.ts +3 -3
  169. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  170. package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  171. package/dist/types/excalidraw/components/Sidebar/common.d.ts +1 -1
  172. package/dist/types/excalidraw/components/Stack.d.ts +1 -1
  173. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  174. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  175. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  176. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  177. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +14 -4
  178. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +2 -2
  179. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  180. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +3 -3
  181. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +2 -2
  182. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  183. package/dist/types/excalidraw/components/Stats/Position.d.ts +2 -2
  184. package/dist/types/excalidraw/components/Stats/index.d.ts +2 -2
  185. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -11
  186. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  187. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +1 -1
  188. package/dist/types/excalidraw/components/TextField.d.ts +1 -1
  189. package/dist/types/excalidraw/components/Toast.d.ts +1 -1
  190. package/dist/types/excalidraw/components/ToolButton.d.ts +2 -2
  191. package/dist/types/excalidraw/components/Tooltip.d.ts +1 -1
  192. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  193. package/dist/types/excalidraw/components/UserList.d.ts +1 -1
  194. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +4 -3
  195. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -2
  196. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +3 -3
  197. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +1 -1
  198. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +2 -2
  199. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +1 -1
  200. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +5 -4
  201. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -2
  202. package/dist/types/excalidraw/components/icons.d.ts +5 -1
  203. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
  204. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +4 -1
  205. package/dist/types/excalidraw/components/shapes.d.ts +62 -0
  206. package/dist/types/excalidraw/context/tunnels.d.ts +1 -1
  207. package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +1 -1
  208. package/dist/types/excalidraw/data/blob.d.ts +4 -4
  209. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  210. package/dist/types/excalidraw/data/index.d.ts +2 -2
  211. package/dist/types/excalidraw/data/json.d.ts +1 -1
  212. package/dist/types/excalidraw/data/library.d.ts +3 -3
  213. package/dist/types/excalidraw/data/reconcile.d.ts +3 -2
  214. package/dist/types/excalidraw/data/resave.d.ts +1 -1
  215. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  216. package/dist/types/excalidraw/data/transform.d.ts +4 -4
  217. package/dist/types/excalidraw/data/types.d.ts +3 -3
  218. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  219. package/dist/types/excalidraw/eraser/index.d.ts +12 -0
  220. package/dist/types/excalidraw/errors.d.ts +0 -3
  221. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -13
  222. package/dist/types/excalidraw/history.d.ts +31 -23
  223. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  224. package/dist/types/excalidraw/i18n.d.ts +1 -1
  225. package/dist/types/excalidraw/index.d.ts +18 -16
  226. package/dist/types/excalidraw/laser-trails.d.ts +1 -1
  227. package/dist/types/excalidraw/lasso/index.d.ts +16 -0
  228. package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
  229. package/dist/types/excalidraw/renderer/helpers.d.ts +8 -3
  230. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  231. package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
  232. package/dist/types/excalidraw/scene/Renderer.d.ts +3 -4
  233. package/dist/types/excalidraw/scene/export.d.ts +1 -1
  234. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  235. package/dist/types/excalidraw/scene/scroll.d.ts +1 -1
  236. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  237. package/dist/types/excalidraw/scene/types.d.ts +6 -4
  238. package/dist/types/excalidraw/snapping.d.ts +5 -6
  239. package/dist/types/excalidraw/types.d.ts +45 -25
  240. package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +4 -2
  241. package/dist/types/math/{angle.d.ts → src/angle.d.ts} +2 -0
  242. package/dist/types/math/src/constants.d.ts +3 -0
  243. package/dist/types/math/src/curve.d.ts +74 -0
  244. package/dist/types/math/{index.d.ts → src/index.d.ts} +1 -0
  245. package/dist/types/math/{point.d.ts → src/point.d.ts} +3 -3
  246. package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
  247. package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +2 -0
  248. package/dist/types/math/{segment.d.ts → src/segment.d.ts} +1 -1
  249. package/dist/types/math/{types.d.ts → src/types.d.ts} +1 -0
  250. package/dist/types/math/{vector.d.ts → src/vector.d.ts} +8 -2
  251. package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
  252. package/dist/types/utils/{export.d.ts → src/export.d.ts} +2 -2
  253. package/dist/types/utils/{index.d.ts → src/index.d.ts} +1 -1
  254. package/dist/types/utils/{geometry → src}/shape.d.ts +2 -15
  255. package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +2 -2
  256. package/history.ts +148 -109
  257. package/package.json +25 -10
  258. package/dist/dev/chunk-3SN6HYVK.js +0 -25695
  259. package/dist/dev/chunk-3SN6HYVK.js.map +0 -7
  260. package/dist/dev/chunk-53KHN5WM.js +0 -7
  261. package/dist/dev/chunk-53KHN5WM.js.map +0 -7
  262. package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
  263. package/dist/dev/chunk-OKSO7T74.js +0 -4132
  264. package/dist/dev/chunk-OKSO7T74.js.map +0 -7
  265. package/dist/prod/chunk-36CXSE6H.js +0 -34
  266. package/dist/prod/chunk-6U3AYISY.js +0 -12
  267. package/dist/prod/chunk-EIO257PC.js +0 -86
  268. package/dist/prod/chunk-G5N3DNGT.js +0 -7
  269. package/dist/prod/data/image-N4WCURRR.js +0 -1
  270. package/dist/types/excalidraw/align.d.ts +0 -7
  271. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  272. package/dist/types/excalidraw/element/collision.d.ts +0 -26
  273. package/dist/types/excalidraw/element/distance.d.ts +0 -3
  274. package/dist/types/excalidraw/element/index.d.ts +0 -26
  275. package/dist/types/excalidraw/element/mutateElement.d.ts +0 -13
  276. package/dist/types/excalidraw/element/utils.d.ts +0 -21
  277. package/dist/types/excalidraw/scene/Shape.d.ts +0 -17
  278. package/dist/types/excalidraw/scene/ShapeCache.d.ts +0 -25
  279. package/dist/types/excalidraw/shapes.d.ts +0 -85
  280. package/dist/types/excalidraw/store.d.ts +0 -129
  281. package/dist/types/excalidraw/visualdebug.d.ts +0 -41
  282. package/dist/types/math/curve.d.ts +0 -40
  283. package/dist/types/utils/collision.d.ts +0 -9
  284. /package/dist/dev/data/{image-V26YBSDB.js.map → image-IWGLHPIX.js.map} +0 -0
  285. /package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-SMAPCEOQ.js.map} +0 -0
  286. /package/dist/types/{excalidraw → common/src}/keys.d.ts +0 -0
  287. /package/dist/types/{excalidraw → common/src}/queue.d.ts +0 -0
  288. /package/dist/types/{excalidraw → common/src}/random.d.ts +0 -0
  289. /package/dist/types/{excalidraw/data → common/src}/url.d.ts +0 -0
  290. /package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +0 -0
  291. /package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +0 -0
  292. /package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +0 -0
  293. /package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +0 -0
  294. /package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
  295. /package/dist/types/math/{line.d.ts → src/line.d.ts} +0 -0
  296. /package/dist/types/math/{range.d.ts → src/range.d.ts} +0 -0
  297. /package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +0 -0
  298. /package/dist/types/math/{utils.d.ts → src/utils.d.ts} +0 -0
@@ -1,3 +1,4 @@
1
+ import { LaserPointer } from "@excalidraw/laser-pointer";
1
2
  import type { LaserPointerOptions } from "@excalidraw/laser-pointer";
2
3
  import type { AnimationFrameHandler } from "./animation-frame-handler";
3
4
  import type App from "./components/App";
@@ -10,15 +11,18 @@ export interface Trail {
10
11
  }
11
12
  export interface AnimatedTrailOptions {
12
13
  fill: (trail: AnimatedTrail) => string;
14
+ stroke?: (trail: AnimatedTrail) => string;
15
+ animateTrail?: boolean;
13
16
  }
14
17
  export declare class AnimatedTrail implements Trail {
15
18
  private animationFrameHandler;
16
- private app;
19
+ protected app: App;
17
20
  private options;
18
21
  private currentTrail?;
19
22
  private pastTrails;
20
23
  private container?;
21
24
  private trailElement;
25
+ private trailAnimation?;
22
26
  constructor(animationFrameHandler: AnimationFrameHandler, app: App, options: Partial<LaserPointerOptions> & Partial<AnimatedTrailOptions>);
23
27
  get hasCurrentTrail(): boolean;
24
28
  hasLastPoint(x: number, y: number): boolean;
@@ -27,6 +31,8 @@ export declare class AnimatedTrail implements Trail {
27
31
  startPath(x: number, y: number): void;
28
32
  addPointToPath(x: number, y: number): void;
29
33
  endPath(): void;
34
+ getCurrentTrail(): LaserPointer | undefined;
35
+ clearTrails(): void;
30
36
  private update;
31
37
  private onFrame;
32
38
  private drawTrail;
@@ -1,16 +1,28 @@
1
1
  import type { AppState, NormalizedZoomValue } from "./types";
2
2
  export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
3
3
  export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
4
- zenModeEnabled?: boolean | undefined;
5
- gridModeEnabled?: boolean | undefined;
6
- objectsSnapModeEnabled?: boolean | undefined;
7
- theme?: import("./element/types").Theme | undefined;
4
+ viewBackgroundColor?: string | undefined;
8
5
  name?: string | null | undefined;
9
- currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
6
+ zoom?: Readonly<{
7
+ value: NormalizedZoomValue;
8
+ }> | undefined;
9
+ scrollX?: number | undefined;
10
+ scrollY?: number | undefined;
11
+ editingGroupId?: string | null | undefined;
12
+ selectedElementIds?: Readonly<{
13
+ [id: string]: true;
14
+ }> | undefined;
15
+ theme?: import("@excalidraw/element/types").Theme | undefined;
16
+ selectedGroupIds?: {
17
+ [groupId: string]: boolean;
18
+ } | undefined;
19
+ selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
20
+ zenModeEnabled?: boolean | undefined;
10
21
  showWelcomeScreen?: boolean | undefined;
11
22
  activeTool?: ({
12
23
  lastActiveTool: import("./types").ActiveTool | null;
13
24
  locked: boolean;
25
+ fromSelection: boolean;
14
26
  } & import("./types").ActiveTool) | undefined;
15
27
  penMode?: boolean | undefined;
16
28
  penDetected?: boolean | undefined;
@@ -20,63 +32,61 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
20
32
  exportScale?: number | undefined;
21
33
  currentItemStrokeColor?: string | undefined;
22
34
  currentItemBackgroundColor?: string | undefined;
23
- currentItemFillStyle?: import("./element/types").FillStyle | undefined;
35
+ currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
24
36
  currentItemStrokeWidth?: number | undefined;
25
- currentItemStrokeStyle?: import("./element/types").StrokeStyle | undefined;
37
+ currentItemStrokeStyle?: import("@excalidraw/element/types").StrokeStyle | undefined;
26
38
  currentItemRoughness?: number | undefined;
27
39
  currentItemOpacity?: number | undefined;
28
40
  currentItemFontFamily?: number | undefined;
29
41
  currentItemFontSize?: number | undefined;
30
42
  currentItemTextAlign?: string | undefined;
31
- currentItemStartArrowhead?: import("./element/types").Arrowhead | null | undefined;
32
- currentItemEndArrowhead?: import("./element/types").Arrowhead | null | undefined;
33
- currentItemRoundness?: import("./element/types").StrokeRoundness | undefined;
34
- viewBackgroundColor?: string | undefined;
35
- scrollX?: number | undefined;
36
- scrollY?: number | undefined;
43
+ currentItemStartArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
44
+ currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
45
+ currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
46
+ currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
37
47
  cursorButton?: "up" | "down" | undefined;
38
48
  scrolledOutside?: boolean | undefined;
39
- zoom?: Readonly<{
40
- value: NormalizedZoomValue;
41
- }> | undefined;
42
49
  openMenu?: "canvas" | "shape" | null | undefined;
43
50
  openSidebar?: {
44
51
  name: string;
45
52
  tab?: string | undefined;
46
53
  } | null | undefined;
47
54
  defaultSidebarDockedPreference?: boolean | undefined;
48
- lastPointerDownWith?: import("./element/types").PointerType | undefined;
49
- selectedElementIds?: Readonly<{
50
- [id: string]: true;
51
- }> | undefined;
55
+ lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
52
56
  previousSelectedElementIds?: {
53
57
  [id: string]: true;
54
58
  } | undefined;
55
59
  shouldCacheIgnoreZoom?: boolean | undefined;
56
60
  gridSize?: number | undefined;
57
61
  gridStep?: number | undefined;
58
- selectedGroupIds?: {
59
- [groupId: string]: boolean;
60
- } | undefined;
61
- editingGroupId?: string | null | undefined;
62
+ gridModeEnabled?: boolean | undefined;
62
63
  stats?: {
63
64
  open: boolean;
64
65
  panels: number;
65
66
  } | undefined;
66
- currentChartType?: import("./element/types").ChartType | undefined;
67
- selectedLinearElement?: import("./element/linearElementEditor").LinearElementEditor | null | undefined;
67
+ currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
68
+ objectsSnapModeEnabled?: boolean | undefined;
69
+ lockedMultiSelections?: {
70
+ [groupId: string]: true;
71
+ } | undefined;
68
72
  };
69
73
  export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
70
- gridModeEnabled?: boolean | undefined;
71
74
  viewBackgroundColor?: string | undefined;
72
75
  gridSize?: number | undefined;
73
76
  gridStep?: number | undefined;
77
+ gridModeEnabled?: boolean | undefined;
78
+ lockedMultiSelections?: {
79
+ [groupId: string]: true;
80
+ } | undefined;
74
81
  };
75
82
  export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
76
- gridModeEnabled?: boolean | undefined;
77
83
  viewBackgroundColor?: string | undefined;
78
84
  gridSize?: number | undefined;
79
85
  gridStep?: number | undefined;
86
+ gridModeEnabled?: boolean | undefined;
87
+ lockedMultiSelections?: {
88
+ [groupId: string]: true;
89
+ } | undefined;
80
90
  };
81
91
  export declare const isEraserActive: ({ activeTool, }: {
82
92
  activeTool: AppState["activeTool"];
@@ -1,4 +1,4 @@
1
- import type { NonDeletedExcalidrawElement } from "./element/types";
1
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
2
  export type ChartElements = readonly NonDeletedExcalidrawElement[];
3
3
  export interface Spreadsheet {
4
4
  title: string | null;
@@ -1,7 +1,7 @@
1
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "./element/types";
2
- import type { BinaryFiles } from "./types";
1
+ import { ALLOWED_PASTE_MIME_TYPES } from "@excalidraw/common";
2
+ import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
3
  import type { Spreadsheet } from "./charts";
4
- import { ALLOWED_PASTE_MIME_TYPES } from "./constants";
4
+ import type { BinaryFiles } from "./types";
5
5
  export type PastedMixedContent = {
6
6
  type: "text" | "imageUrl";
7
7
  value: string;
@@ -21,6 +21,8 @@ export declare const probablySupportsClipboardWriteText: boolean;
21
21
  export declare const probablySupportsClipboardBlob: boolean;
22
22
  export declare const createPasteEvent: ({ types, files, }: {
23
23
  types?: {
24
+ "text/plain"?: string | File | undefined;
25
+ "text/html"?: string | File | undefined;
24
26
  "image/svg+xml"?: string | File | undefined;
25
27
  "image/png"?: string | File | undefined;
26
28
  "image/jpeg"?: string | File | undefined;
@@ -30,8 +32,6 @@ export declare const createPasteEvent: ({ types, files, }: {
30
32
  "image/x-icon"?: string | File | undefined;
31
33
  "image/avif"?: string | File | undefined;
32
34
  "image/jfif"?: string | File | undefined;
33
- "text/plain"?: string | File | undefined;
34
- "text/html"?: string | File | undefined;
35
35
  } | undefined;
36
36
  files?: File[] | undefined;
37
37
  }) => ClipboardEvent;
@@ -45,6 +45,8 @@ export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawEl
45
45
  * Will prompt user for permission if not granted.
46
46
  */
47
47
  export declare const readSystemClipboard: () => Promise<{
48
+ "text/plain"?: string | File | undefined;
49
+ "text/html"?: string | File | undefined;
48
50
  "image/svg+xml"?: string | File | undefined;
49
51
  "image/png"?: string | File | undefined;
50
52
  "image/jpeg"?: string | File | undefined;
@@ -54,8 +56,6 @@ export declare const readSystemClipboard: () => Promise<{
54
56
  "image/x-icon"?: string | File | undefined;
55
57
  "image/avif"?: string | File | undefined;
56
58
  "image/jfif"?: string | File | undefined;
57
- "text/plain"?: string | File | undefined;
58
- "text/html"?: string | File | undefined;
59
59
  }>;
60
60
  /**
61
61
  * Attempts to parse clipboard event.
@@ -1,7 +1,7 @@
1
- import type { ActionManager } from "../actions/manager";
2
- import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "../element/types";
3
- import type { AppClassProperties, AppProps, UIAppState, Zoom } from "../types";
1
+ import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
4
2
  import "./Actions.scss";
3
+ import type { AppClassProperties, AppProps, UIAppState, Zoom } from "../types";
4
+ import type { ActionManager } from "../actions/manager";
5
5
  export declare const canChangeStrokeColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
6
6
  export declare const canChangeBackgroundColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
7
7
  export declare const SelectedShapeActions: ({ appState, elementsMap, renderAction, app, }: {
@@ -28,7 +28,3 @@ export declare const ExitZenModeAction: ({ actionManager, showExitZenModeBtn, }:
28
28
  actionManager: ActionManager;
29
29
  showExitZenModeBtn: boolean;
30
30
  }) => import("react/jsx-runtime").JSX.Element;
31
- export declare const FinalizeAction: ({ renderAction, className, }: {
32
- renderAction: ActionManager["renderAction"];
33
- className?: string | undefined;
34
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,23 +1,22 @@
1
1
  import React from "react";
2
- import type { RoughCanvas } from "roughjs/bin/canvas";
2
+ import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
3
+ import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
4
+ import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, OrderedExcalidrawElement, SceneElementsMap } from "@excalidraw/element/types";
5
+ import type { Mutable } from "@excalidraw/common/utility-types";
3
6
  import { ActionManager } from "../actions/manager";
4
- import type { ActionResult } from "../actions/types";
5
- import { type EXPORT_IMAGE_TYPES } from "../constants";
6
- import type { ExportedElements } from "../data";
7
- import { LinearElementEditor } from "../element/linearElementEditor";
8
- import type { ExcalidrawElement, NonDeleted, InitializedExcalidrawImageElement, ExcalidrawImageElement, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "../element/types";
7
+ import { AnimationFrameHandler } from "../animation-frame-handler";
9
8
  import { History } from "../history";
10
- import Scene from "../scene/Scene";
11
- import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
12
- import type { FileSystemHandle } from "../data/filesystem";
13
9
  import { Fonts } from "../fonts";
10
+ import { type WritableAtom } from "../editor-jotai";
14
11
  import { Renderer } from "../scene/Renderer";
15
- import { Emitter } from "../emitter";
16
- import { Store } from "../store";
17
- import { AnimationFrameHandler } from "../animation-frame-handler";
18
- import { AnimatedTrail } from "../animated-trail";
19
12
  import { LaserTrails } from "../laser-trails";
20
- import { FlowChartCreator } from "../element/flowchart";
13
+ import { LassoTrail } from "../lasso";
14
+ import { EraserTrail } from "../eraser";
15
+ import type { ExportedElements } from "../data";
16
+ import type { FileSystemHandle } from "../data/filesystem";
17
+ import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
18
+ import type { RoughCanvas } from "roughjs/bin/canvas";
19
+ import type { ActionResult } from "../actions/types";
21
20
  export declare const ExcalidrawContainerContext: React.Context<{
22
21
  container: HTMLDivElement | null;
23
22
  id: string | null;
@@ -79,6 +78,7 @@ declare class App extends React.Component<AppProps, AppState> {
79
78
  /** embeds that have been inserted to DOM (as a perf optim, we don't want to
80
79
  * insert to DOM before user initially scrolls to them) */
81
80
  private initializedEmbeds;
81
+ private handleToastClose;
82
82
  private elementsPendingErasure;
83
83
  flowChartCreator: FlowChartCreator;
84
84
  private flowChartNavigator;
@@ -96,11 +96,13 @@ declare class App extends React.Component<AppProps, AppState> {
96
96
  };
97
97
  animationFrameHandler: AnimationFrameHandler;
98
98
  laserTrails: LaserTrails;
99
- eraserTrail: AnimatedTrail;
99
+ eraserTrail: EraserTrail;
100
+ lassoTrail: LassoTrail;
100
101
  onChangeEmitter: Emitter<[elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles]>;
101
102
  onPointerDownEmitter: Emitter<[activeTool: {
102
103
  lastActiveTool: import("../types").ActiveTool | null;
103
104
  locked: boolean;
105
+ fromSelection: boolean;
104
106
  } & import("../types").ActiveTool, pointerDownState: Readonly<{
105
107
  origin: Readonly<{
106
108
  x: number;
@@ -121,7 +123,7 @@ declare class App extends React.Component<AppProps, AppState> {
121
123
  };
122
124
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
123
125
  resize: {
124
- handleType: import("../element/transformHandles").MaybeTransformHandleType;
126
+ handleType: import("@excalidraw/element").MaybeTransformHandleType;
125
127
  isResizing: boolean;
126
128
  offset: {
127
129
  x: number;
@@ -147,6 +149,10 @@ declare class App extends React.Component<AppProps, AppState> {
147
149
  x: number;
148
150
  y: number;
149
151
  } | null;
152
+ origin: {
153
+ x: number;
154
+ y: number;
155
+ };
150
156
  };
151
157
  eventListeners: {
152
158
  onMove: {
@@ -165,6 +171,7 @@ declare class App extends React.Component<AppProps, AppState> {
165
171
  onPointerUpEmitter: Emitter<[activeTool: {
166
172
  lastActiveTool: import("../types").ActiveTool | null;
167
173
  locked: boolean;
174
+ fromSelection: boolean;
168
175
  } & import("../types").ActiveTool, pointerDownState: Readonly<{
169
176
  origin: Readonly<{
170
177
  x: number;
@@ -185,7 +192,7 @@ declare class App extends React.Component<AppProps, AppState> {
185
192
  };
186
193
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
187
194
  resize: {
188
- handleType: import("../element/transformHandles").MaybeTransformHandleType;
195
+ handleType: import("@excalidraw/element").MaybeTransformHandleType;
189
196
  isResizing: boolean;
190
197
  offset: {
191
198
  x: number;
@@ -211,6 +218,10 @@ declare class App extends React.Component<AppProps, AppState> {
211
218
  x: number;
212
219
  y: number;
213
220
  } | null;
221
+ origin: {
222
+ x: number;
223
+ y: number;
224
+ };
214
225
  };
215
226
  eventListeners: {
216
227
  onMove: {
@@ -233,6 +244,7 @@ declare class App extends React.Component<AppProps, AppState> {
233
244
  missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
234
245
  onRemoveEventListenersEmitter: Emitter<[]>;
235
246
  constructor(props: AppProps);
247
+ updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
236
248
  private onWindowMessage;
237
249
  private cacheEmbeddableRef;
238
250
  /**
@@ -253,7 +265,8 @@ declare class App extends React.Component<AppProps, AppState> {
253
265
  private toggleOverscrollBehavior;
254
266
  render(): import("react/jsx-runtime").JSX.Element;
255
267
  focusContainer: AppClassProperties["focusContainer"];
256
- getSceneElementsIncludingDeleted: () => readonly import("../element/types").OrderedExcalidrawElement[];
268
+ getSceneElementsIncludingDeleted: () => readonly OrderedExcalidrawElement[];
269
+ getSceneElementsMapIncludingDeleted: () => Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
257
270
  getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
258
271
  onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
259
272
  onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
@@ -384,6 +397,8 @@ declare class App extends React.Component<AppProps, AppState> {
384
397
  */
385
398
  captureUpdate?: SceneData["captureUpdate"];
386
399
  }) => void;
400
+ applyDeltas: (deltas: StoreDelta[], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
401
+ mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
387
402
  private triggerRender;
388
403
  /**
389
404
  * @returns whether the menu was toggled on or off
@@ -398,17 +413,15 @@ declare class App extends React.Component<AppProps, AppState> {
398
413
  private onKeyDown;
399
414
  private onKeyUp;
400
415
  private isToolSupported;
401
- setActiveTool: (tool: (({
402
- type: Exclude<ToolType, "image">;
416
+ setActiveTool: (tool: ({
417
+ type: ToolType;
403
418
  } | {
404
- type: Extract<ToolType, "image">;
405
- insertOnCanvasDirectly?: boolean;
406
- }) | {
407
419
  type: "custom";
408
420
  customType: string;
409
421
  }) & {
410
422
  locked?: boolean;
411
- }) => void;
423
+ fromSelection?: boolean;
424
+ }, keepSelection?: boolean) => void;
412
425
  setOpenDialog: (dialogType: AppState["openDialog"]) => void;
413
426
  private setCursor;
414
427
  private resetCursor;
@@ -428,7 +441,7 @@ declare class App extends React.Component<AppProps, AppState> {
428
441
  private getTextElementAtPosition;
429
442
  private getElementAtPosition;
430
443
  private getElementsAtPosition;
431
- private getElementHitThreshold;
444
+ getElementHitThreshold(element: ExcalidrawElement): number;
432
445
  private hitElement;
433
446
  private getTextBindableContainerAtPosition;
434
447
  private startTextEditing;
@@ -491,13 +504,18 @@ declare class App extends React.Component<AppProps, AppState> {
491
504
  private restoreReadyToEraseElements;
492
505
  private eraseElements;
493
506
  private initializeImage;
507
+ /**
508
+ * use during async image initialization,
509
+ * when the placeholder image could have been modified in the meantime,
510
+ * and when you don't want to loose those modifications
511
+ */
512
+ private getLatestInitializedImageElement;
494
513
  /**
495
514
  * inserts image into elements array and rerenders
496
515
  */
497
- insertImageElement: (imageElement: ExcalidrawImageElement, imageFile: File, showCursorImagePreview?: boolean) => Promise<NonDeleted<InitializedExcalidrawImageElement> | null | undefined>;
498
- private setImagePreviewCursor;
516
+ private insertImageElement;
499
517
  private onImageAction;
500
- initializeImageDimensions: (imageElement: ExcalidrawImageElement, forceNaturalSize?: boolean) => void;
518
+ private getImageNaturalDimensions;
501
519
  /** updates image cache, refreshing updated elements and/or setting status
502
520
  to error for images that fail during <img> element creation */
503
521
  private updateImageCache;
@@ -508,7 +526,6 @@ declare class App extends React.Component<AppProps, AppState> {
508
526
  private scheduleImageRefresh;
509
527
  private updateBindingEnabledOnPointerMove;
510
528
  private maybeSuggestBindingAtCursor;
511
- private maybeSuggestBindingsForLinearElementAtCoords;
512
529
  private clearSelection;
513
530
  private handleInteractiveCanvasRef;
514
531
  private handleAppOnDrop;
@@ -1,5 +1,5 @@
1
- import "./Avatar.scss";
2
1
  import React from "react";
2
+ import "./Avatar.scss";
3
3
  type AvatarProps = {
4
4
  onClick: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
5
5
  color: string;
@@ -1,5 +1,5 @@
1
- import type { JSX } from "react";
2
1
  import "./ButtonIcon.scss";
2
+ import type { JSX } from "react";
3
3
  interface ButtonIconProps {
4
4
  icon: JSX.Element;
5
5
  title: string;
@@ -10,6 +10,7 @@ interface ButtonIconProps {
10
10
  /** include standalone style (could interfere with parent styles) */
11
11
  standalone?: boolean;
12
12
  onClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
13
+ style?: React.CSSProperties;
13
14
  }
14
15
  export declare const ButtonIcon: import("react").ForwardRefExoticComponent<ButtonIconProps & import("react").RefAttributes<HTMLButtonElement>>;
15
16
  export {};
@@ -4,6 +4,7 @@ interface ColorInputProps {
4
4
  onChange: (color: string) => void;
5
5
  label: string;
6
6
  colorPickerType: ColorPickerType;
7
+ placeholder?: string;
7
8
  }
8
- export declare const ColorInput: ({ color, onChange, label, colorPickerType, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const ColorInput: ({ color, onChange, label, colorPickerType, placeholder, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
9
10
  export {};
@@ -1,12 +1,16 @@
1
- import type { ExcalidrawElement } from "../../element/types";
2
- import type { AppState } from "../../types";
3
- import type { ColorPickerType } from "./colorPickerUtils";
4
- import type { ColorTuple, ColorPaletteCustom } from "../../colors";
1
+ import type { ColorTuple, ColorPaletteCustom } from "@excalidraw/common";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
5
3
  import "./ColorPicker.scss";
4
+ import type { ColorPickerType } from "./colorPickerUtils";
5
+ import type { AppState } from "../../types";
6
6
  export declare const getColor: (color: string) => string | null;
7
7
  interface ColorPickerProps {
8
8
  type: ColorPickerType;
9
- color: string;
9
+ /**
10
+ * null indicates no color should be displayed as active
11
+ * (e.g. when multiple shapes selected with different colors)
12
+ */
13
+ color: string | null;
10
14
  onChange: (color: string) => void;
11
15
  label: string;
12
16
  elements: readonly ExcalidrawElement[];
@@ -1,6 +1,6 @@
1
1
  interface CustomColorListProps {
2
2
  colors: string[];
3
- color: string;
3
+ color: string | null;
4
4
  onChange: (color: string) => void;
5
5
  label: string;
6
6
  }
@@ -1,8 +1,7 @@
1
1
  interface HotkeyLabelProps {
2
2
  color: string;
3
3
  keyLabel: string | number;
4
- isCustomColor?: boolean;
5
4
  isShade?: boolean;
6
5
  }
7
- declare const HotkeyLabel: ({ color, keyLabel, isCustomColor, isShade, }: HotkeyLabelProps) => import("react/jsx-runtime").JSX.Element;
6
+ declare const HotkeyLabel: ({ color, keyLabel, isShade, }: HotkeyLabelProps) => import("react/jsx-runtime").JSX.Element;
8
7
  export default HotkeyLabel;
@@ -1,11 +1,10 @@
1
1
  import React from "react";
2
- import type { ExcalidrawElement } from "../../element/types";
2
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
+ import type { ColorPaletteCustom } from "@excalidraw/common";
3
4
  import type { ColorPickerType } from "./colorPickerUtils";
4
- import type { ColorPaletteCustom } from "../../colors";
5
5
  interface PickerProps {
6
- color: string;
6
+ color: string | null;
7
7
  onChange: (color: string) => void;
8
- label: string;
9
8
  type: ColorPickerType;
10
9
  elements: readonly ExcalidrawElement[];
11
10
  palette: ColorPaletteCustom;
@@ -14,5 +13,5 @@ interface PickerProps {
14
13
  onEyeDropperToggle: (force?: boolean) => void;
15
14
  onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
16
15
  }
17
- export declare const Picker: ({ color, onChange, label, type, elements, palette, updateData, children, onEyeDropperToggle, onEscape, }: PickerProps) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
18
17
  export {};
@@ -1,10 +1,9 @@
1
- import type { ColorPaletteCustom } from "../../colors";
1
+ import type { ColorPaletteCustom } from "@excalidraw/common";
2
2
  interface PickerColorListProps {
3
3
  palette: ColorPaletteCustom;
4
- color: string;
4
+ color: string | null;
5
5
  onChange: (color: string) => void;
6
- label: string;
7
6
  activeShade: number;
8
7
  }
9
- declare const PickerColorList: ({ palette, color, onChange, label, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const PickerColorList: ({ palette, color, onChange, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
10
9
  export default PickerColorList;
@@ -1,8 +1,8 @@
1
- import type { ColorPaletteCustom } from "../../colors";
1
+ import type { ColorPaletteCustom } from "@excalidraw/common";
2
2
  interface ShadeListProps {
3
- hex: string;
3
+ color: string | null;
4
4
  onChange: (color: string) => void;
5
5
  palette: ColorPaletteCustom;
6
6
  }
7
- export declare const ShadeList: ({ hex, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const ShadeList: ({ color, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
8
  export {};
@@ -2,7 +2,7 @@ import type { ColorPickerType } from "./colorPickerUtils";
2
2
  interface TopPicksProps {
3
3
  onChange: (color: string) => void;
4
4
  type: ColorPickerType;
5
- activeColor: string;
5
+ activeColor: string | null;
6
6
  topPicks?: readonly string[];
7
7
  }
8
8
  export declare const TopPicks: ({ onChange, type, activeColor, topPicks, }: TopPicksProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,8 +1,8 @@
1
- import type { ExcalidrawElement } from "../../element/types";
2
- import type { ColorPickerColor, ColorPaletteCustom } from "../../colors";
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { ColorPickerColor, ColorPaletteCustom } from "@excalidraw/common";
3
3
  export declare const getColorNameAndShadeFromColor: ({ palette, color, }: {
4
4
  palette: ColorPaletteCustom;
5
- color: string;
5
+ color: string | null;
6
6
  }) => {
7
7
  colorName: ColorPickerColor;
8
8
  shade: number | null;
@@ -17,5 +17,5 @@ export type ActiveColorPickerSectionAtomType = "custom" | "baseColors" | "shades
17
17
  export declare const activeColorPickerSectionAtom: import("jotai/vanilla/atom").PrimitiveAtom<ActiveColorPickerSectionAtomType> & {
18
18
  init: ActiveColorPickerSectionAtomType;
19
19
  };
20
- export declare const getContrastYIQ: (bgHex: string, isCustomColor: boolean) => "white" | "black";
20
+ export declare const isColorDark: (color: string, threshold?: number) => boolean;
21
21
  export type ColorPickerType = "canvasBackground" | "elementBackground" | "elementStroke";
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
- import type { ColorPaletteCustom } from "../../colors";
2
+ import type { ColorPaletteCustom } from "@excalidraw/common";
3
3
  import type { ActiveColorPickerSectionAtomType } from "./colorPickerUtils";
4
4
  interface ColorPickerKeyNavHandlerProps {
5
5
  event: React.KeyboardEvent;
6
6
  activeColorPickerSection: ActiveColorPickerSectionAtomType;
7
7
  palette: ColorPaletteCustom;
8
- color: string;
8
+ color: string | null;
9
9
  onChange: (color: string) => void;
10
10
  customColors: string[];
11
11
  setActiveColorPickerSection: (update: React.SetStateAction<ActiveColorPickerSectionAtomType>) => void;
@@ -1,6 +1,6 @@
1
- import type { CommandPaletteItem } from "./types";
2
1
  import * as defaultItems from "./defaultCommandPaletteItems";
3
2
  import "./CommandPalette.scss";
3
+ import type { CommandPaletteItem } from "./types";
4
4
  export declare const DEFAULT_CATEGORIES: {
5
5
  app: string;
6
6
  export: string;
@@ -1,5 +1,5 @@
1
- import type { DialogProps } from "./Dialog";
2
1
  import "./ConfirmDialog.scss";
2
+ import type { DialogProps } from "./Dialog";
3
3
  interface Props extends Omit<DialogProps, "onCloseRequest"> {
4
4
  onConfirm: () => void;
5
5
  onCancel: () => void;
@@ -1,7 +1,7 @@
1
+ import React from "react";
1
2
  import "./ContextMenu.scss";
2
- import type { Action } from "../actions/types";
3
3
  import type { ActionManager } from "../actions/manager";
4
- import React from "react";
4
+ import type { Action } from "../actions/types";
5
5
  export type ContextMenuItem = typeof CONTEXT_MENU_SEPARATOR | Action;
6
6
  export type ContextMenuItems = (ContextMenuItem | false | null | undefined)[];
7
7
  type ContextMenuProps = {
@@ -0,0 +1,23 @@
1
+ import type { ConvertibleTypes, ExcalidrawElement, ExcalidrawTextContainer, ExcalidrawTextElementWithContainer } from "@excalidraw/element/types";
2
+ import type { Scene } from "@excalidraw/element";
3
+ import "./ConvertElementTypePopup.scss";
4
+ import type App from "./App";
5
+ export declare const convertElementTypePopupAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
6
+ type: "panel";
7
+ } | null> & {
8
+ init: {
9
+ type: "panel";
10
+ } | null;
11
+ };
12
+ declare const ConvertElementTypePopup: ({ app }: {
13
+ app: App;
14
+ }) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const adjustBoundTextSize: (container: ExcalidrawTextContainer, boundText: ExcalidrawTextElementWithContainer, scene: Scene) => void;
16
+ type ConversionType = "generic" | "linear" | null;
17
+ export declare const convertElementTypes: (app: App, { conversionType, nextType, direction, }: {
18
+ conversionType: ConversionType;
19
+ nextType?: ConvertibleTypes | undefined;
20
+ direction?: "left" | "right" | undefined;
21
+ }) => boolean;
22
+ export declare const getConversionTypeFromElements: (elements: ExcalidrawElement[]) => ConversionType;
23
+ export default ConvertElementTypePopup;