@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-9036812b6

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-FB2NA5UG.js +4132 -0
  5. package/dist/dev/chunk-FB2NA5UG.js.map +7 -0
  6. package/dist/dev/chunk-FRLWKCNE.js +5668 -0
  7. package/dist/dev/chunk-FRLWKCNE.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-T2LJEHDP.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 +30882 -24351
  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-I4UNSFV6.js +12 -0
  20. package/dist/prod/chunk-LS7FJGPW.js +86 -0
  21. package/dist/prod/chunk-YZO7PSYQ.js +4 -0
  22. package/dist/prod/data/image-53OPA26C.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 +14 -17
  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} +74 -40
  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 +232 -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 +45 -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 +1 -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 +17 -15
  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 +44 -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 +149 -110
  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-T2LJEHDP.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 } from "@excalidraw/element";
4
+ import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } 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 import("@excalidraw/element/types").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,7 @@ declare class App extends React.Component<AppProps, AppState> {
384
397
  */
385
398
  captureUpdate?: SceneData["captureUpdate"];
386
399
  }) => void;
400
+ mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
387
401
  private triggerRender;
388
402
  /**
389
403
  * @returns whether the menu was toggled on or off
@@ -398,17 +412,15 @@ declare class App extends React.Component<AppProps, AppState> {
398
412
  private onKeyDown;
399
413
  private onKeyUp;
400
414
  private isToolSupported;
401
- setActiveTool: (tool: (({
402
- type: Exclude<ToolType, "image">;
415
+ setActiveTool: (tool: ({
416
+ type: ToolType;
403
417
  } | {
404
- type: Extract<ToolType, "image">;
405
- insertOnCanvasDirectly?: boolean;
406
- }) | {
407
418
  type: "custom";
408
419
  customType: string;
409
420
  }) & {
410
421
  locked?: boolean;
411
- }) => void;
422
+ fromSelection?: boolean;
423
+ }, keepSelection?: boolean) => void;
412
424
  setOpenDialog: (dialogType: AppState["openDialog"]) => void;
413
425
  private setCursor;
414
426
  private resetCursor;
@@ -428,7 +440,7 @@ declare class App extends React.Component<AppProps, AppState> {
428
440
  private getTextElementAtPosition;
429
441
  private getElementAtPosition;
430
442
  private getElementsAtPosition;
431
- private getElementHitThreshold;
443
+ getElementHitThreshold(element: ExcalidrawElement): number;
432
444
  private hitElement;
433
445
  private getTextBindableContainerAtPosition;
434
446
  private startTextEditing;
@@ -491,13 +503,18 @@ declare class App extends React.Component<AppProps, AppState> {
491
503
  private restoreReadyToEraseElements;
492
504
  private eraseElements;
493
505
  private initializeImage;
506
+ /**
507
+ * use during async image initialization,
508
+ * when the placeholder image could have been modified in the meantime,
509
+ * and when you don't want to loose those modifications
510
+ */
511
+ private getLatestInitializedImageElement;
494
512
  /**
495
513
  * inserts image into elements array and rerenders
496
514
  */
497
- insertImageElement: (imageElement: ExcalidrawImageElement, imageFile: File, showCursorImagePreview?: boolean) => Promise<NonDeleted<InitializedExcalidrawImageElement> | null | undefined>;
498
- private setImagePreviewCursor;
515
+ private insertImageElement;
499
516
  private onImageAction;
500
- initializeImageDimensions: (imageElement: ExcalidrawImageElement, forceNaturalSize?: boolean) => void;
517
+ private getImageNaturalDimensions;
501
518
  /** updates image cache, refreshing updated elements and/or setting status
502
519
  to error for images that fail during <img> element creation */
503
520
  private updateImageCache;
@@ -508,7 +525,6 @@ declare class App extends React.Component<AppProps, AppState> {
508
525
  private scheduleImageRefresh;
509
526
  private updateBindingEnabledOnPointerMove;
510
527
  private maybeSuggestBindingAtCursor;
511
- private maybeSuggestBindingsForLinearElementAtCoords;
512
528
  private clearSelection;
513
529
  private handleInteractiveCanvasRef;
514
530
  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;