@excalidraw/excalidraw 0.15.2-d353867 → 0.15.2-eb020d0

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 (502) hide show
  1. package/CHANGELOG.md +38 -1
  2. package/README.md +4 -0
  3. package/dist/excalidraw-assets/locales/ar-SA-json-b9c75e6743e089f51f9b.js +1 -0
  4. package/dist/excalidraw-assets/locales/az-AZ-json-32268e2c7ad89fce5d2c.js +1 -0
  5. package/dist/excalidraw-assets/locales/bg-BG-json-ff5ef83d3c2706367417.js +1 -0
  6. package/dist/excalidraw-assets/locales/bn-BD-json-f9b1344b2f5c0ab53ce8.js +1 -0
  7. package/dist/excalidraw-assets/locales/ca-ES-json-d4a1f01f8c174c315974.js +1 -0
  8. package/dist/excalidraw-assets/locales/cs-CZ-json-ff1b9bbfe92356698245.js +1 -0
  9. package/dist/excalidraw-assets/locales/da-DK-json-ac982a0c1e02b45f9500.js +1 -0
  10. package/dist/excalidraw-assets/locales/de-DE-json-a3222d8a9ed4864ccedf.js +1 -0
  11. package/dist/excalidraw-assets/locales/el-GR-json-8cc1609bd088ec4f197a.js +1 -0
  12. package/dist/excalidraw-assets/locales/es-ES-json-4f3da97feff33cb00e6d.js +1 -0
  13. package/dist/excalidraw-assets/locales/eu-ES-json-f9efd2bf2555bceb526a.js +1 -0
  14. package/dist/excalidraw-assets/locales/fa-IR-json-abcad5d329ac9558750e.js +1 -0
  15. package/dist/excalidraw-assets/locales/fi-FI-json-7250174bb3682c3ee602.js +1 -0
  16. package/dist/excalidraw-assets/locales/fr-FR-json-f82759a1bc767e0889bd.js +1 -0
  17. package/dist/excalidraw-assets/locales/gl-ES-json-8408403b5df17158e269.js +1 -0
  18. package/dist/excalidraw-assets/locales/he-IL-json-2e5cea590dd00f76b42f.js +1 -0
  19. package/dist/excalidraw-assets/locales/hi-IN-json-3898c9c1216b44476529.js +1 -0
  20. package/dist/excalidraw-assets/locales/hu-HU-json-1b5028b3a2676b3e7bde.js +1 -0
  21. package/dist/excalidraw-assets/locales/id-ID-json-43d505d7071a0e359681.js +1 -0
  22. package/dist/excalidraw-assets/locales/it-IT-json-a1526e95ebe4c2156ffb.js +1 -0
  23. package/dist/excalidraw-assets/locales/ja-JP-json-b7b0079dca8ece2551c7.js +1 -0
  24. package/dist/excalidraw-assets/locales/kaa-json-b2f03ae2f239b9fae304.js +1 -0
  25. package/dist/excalidraw-assets/locales/kab-KAB-json-e8618205ea49417e5fb4.js +1 -0
  26. package/dist/excalidraw-assets/locales/kk-KZ-json-f648362328b839e9313f.js +1 -0
  27. package/dist/excalidraw-assets/locales/km-KH-json-920cbd8cb9ea3c2ce631.js +1 -0
  28. package/dist/excalidraw-assets/locales/ko-KR-json-e5f26d9854a5d68ada0a.js +1 -0
  29. package/dist/excalidraw-assets/locales/ku-TR-json-374bbbb0b003a490681d.js +1 -0
  30. package/dist/excalidraw-assets/locales/lt-LT-json-9caac0d3530651221c75.js +1 -0
  31. package/dist/excalidraw-assets/locales/lv-LV-json-c811870330575e53285c.js +1 -0
  32. package/dist/excalidraw-assets/locales/mr-IN-json-05294735c64b63223d8e.js +1 -0
  33. package/dist/excalidraw-assets/locales/my-MM-json-c3cff6d30b1e629f546f.js +1 -0
  34. package/dist/excalidraw-assets/locales/nb-NO-json-75cfab63ad7c2ff45f19.js +1 -0
  35. package/dist/excalidraw-assets/locales/nl-NL-json-90ef39ed303967aeb9c2.js +1 -0
  36. package/dist/excalidraw-assets/locales/nn-NO-json-1a8db0d8c3717d895cc5.js +1 -0
  37. package/dist/excalidraw-assets/locales/oc-FR-json-925326d13bc187dcd377.js +1 -0
  38. package/dist/excalidraw-assets/locales/pa-IN-json-d9ee09801ed220840b2b.js +1 -0
  39. package/dist/excalidraw-assets/locales/pl-PL-json-9a1b0b7262cd86ab734f.js +1 -0
  40. package/dist/excalidraw-assets/locales/pt-BR-json-62a1095dd13343b61194.js +1 -0
  41. package/dist/excalidraw-assets/locales/pt-PT-json-cc517eed349ce432b054.js +1 -0
  42. package/dist/excalidraw-assets/locales/ro-RO-json-162b57c475da796d5a5b.js +1 -0
  43. package/dist/excalidraw-assets/locales/ru-RU-json-cfc347872e181d1335a7.js +1 -0
  44. package/dist/excalidraw-assets/locales/si-LK-json-674ece30d49390e45733.js +1 -0
  45. package/dist/excalidraw-assets/locales/sk-SK-json-8edebc008b63305c87e1.js +1 -0
  46. package/dist/excalidraw-assets/locales/sl-SI-json-826580e1006547dbbd3b.js +1 -0
  47. package/dist/excalidraw-assets/locales/sv-SE-json-84a855efd030e37f51ab.js +1 -0
  48. package/dist/excalidraw-assets/locales/ta-IN-json-f59f50c4b8f2b2fee8ca.js +1 -0
  49. package/dist/excalidraw-assets/locales/th-TH-json-4cbe42d56e0a6f261769.js +1 -0
  50. package/dist/excalidraw-assets/locales/tr-TR-json-eb07e9699c26fef02345.js +1 -0
  51. package/dist/excalidraw-assets/locales/uk-UA-json-a48bb2e866a11d396a35.js +1 -0
  52. package/dist/excalidraw-assets/locales/vi-VN-json-cbbaff972778abc0e34b.js +1 -0
  53. package/dist/excalidraw-assets/locales/zh-CN-json-62d636303447fe79db54.js +1 -0
  54. package/dist/excalidraw-assets/locales/zh-HK-json-19e6814bddb06e0dd6e3.js +1 -0
  55. package/dist/excalidraw-assets/locales/zh-TW-json-3fcc3dcef74999ea3757.js +1 -0
  56. package/dist/excalidraw-assets/{vendor-53d1c69ef585b6dd219b.js → vendor-ef3c5d81a00ef582b871.js} +2 -2
  57. package/dist/excalidraw-assets-dev/locales/ar-SA-json-a69e95810fd104088c5c.js +22 -0
  58. package/dist/excalidraw-assets-dev/locales/az-AZ-json-589b1b62c7020f14c833.js +22 -0
  59. package/dist/excalidraw-assets-dev/locales/bg-BG-json-79742eced03e74339dfa.js +22 -0
  60. package/dist/excalidraw-assets-dev/locales/bn-BD-json-737c1b739f303a032d89.js +22 -0
  61. package/dist/excalidraw-assets-dev/locales/ca-ES-json-5f515dea6151baaa2eaa.js +22 -0
  62. package/dist/excalidraw-assets-dev/locales/cs-CZ-json-124bc5ab8060f0c7e965.js +22 -0
  63. package/dist/excalidraw-assets-dev/locales/da-DK-json-d099915b14b07f999456.js +22 -0
  64. package/dist/excalidraw-assets-dev/locales/de-DE-json-d8d9ee97794526088903.js +22 -0
  65. package/dist/excalidraw-assets-dev/locales/el-GR-json-8562deea2ef40d73cf8a.js +22 -0
  66. package/dist/excalidraw-assets-dev/locales/es-ES-json-da3d630806693d7dac08.js +22 -0
  67. package/dist/excalidraw-assets-dev/locales/eu-ES-json-ea32646b47bf29438fb9.js +22 -0
  68. package/dist/excalidraw-assets-dev/locales/fa-IR-json-e8d73ea1c5bdccca7b27.js +22 -0
  69. package/dist/excalidraw-assets-dev/locales/fi-FI-json-1d2a667fad3ea0ced0ef.js +22 -0
  70. package/dist/excalidraw-assets-dev/locales/fr-FR-json-ef3b02eac347cee42eac.js +22 -0
  71. package/dist/excalidraw-assets-dev/locales/gl-ES-json-3c8bbe9429fc52e410b2.js +22 -0
  72. package/dist/excalidraw-assets-dev/locales/he-IL-json-4a05a09da3b8c37144d5.js +22 -0
  73. package/dist/excalidraw-assets-dev/locales/hi-IN-json-0300ce94e80ea89134af.js +22 -0
  74. package/dist/excalidraw-assets-dev/locales/hu-HU-json-331ac1b31c82505ea6cc.js +22 -0
  75. package/dist/excalidraw-assets-dev/locales/id-ID-json-f8ba56a28586e4e77070.js +22 -0
  76. package/dist/excalidraw-assets-dev/locales/it-IT-json-0d8f11dec1a87e9359c8.js +22 -0
  77. package/dist/excalidraw-assets-dev/locales/ja-JP-json-ceaa3287f265ae241112.js +22 -0
  78. package/dist/excalidraw-assets-dev/locales/kaa-json-4efd2d14964af8a534cb.js +22 -0
  79. package/dist/excalidraw-assets-dev/locales/kab-KAB-json-3e7e196cc06505d82d71.js +22 -0
  80. package/dist/excalidraw-assets-dev/locales/kk-KZ-json-96ab3e149666871ce872.js +22 -0
  81. package/dist/excalidraw-assets-dev/locales/km-KH-json-5e3f43be16a6ec0eb24f.js +22 -0
  82. package/dist/excalidraw-assets-dev/locales/ko-KR-json-1f078c7aad070d3bd0e9.js +22 -0
  83. package/dist/excalidraw-assets-dev/locales/ku-TR-json-fcef5d1f6a04981f2a5e.js +22 -0
  84. package/dist/excalidraw-assets-dev/locales/lt-LT-json-09bf8afbe684fc98c92a.js +22 -0
  85. package/dist/excalidraw-assets-dev/locales/lv-LV-json-95d0faca7a20097e219f.js +22 -0
  86. package/dist/excalidraw-assets-dev/locales/mr-IN-json-3ffe983e37fedc73cd65.js +22 -0
  87. package/dist/excalidraw-assets-dev/locales/my-MM-json-c88241ade5d8f9bafe5d.js +22 -0
  88. package/dist/excalidraw-assets-dev/locales/nb-NO-json-b80dd1befb2641b9364c.js +22 -0
  89. package/dist/excalidraw-assets-dev/locales/nl-NL-json-4f65f25ec5e87503413e.js +22 -0
  90. package/dist/excalidraw-assets-dev/locales/nn-NO-json-2134d8b06b7e30965748.js +22 -0
  91. package/dist/excalidraw-assets-dev/locales/oc-FR-json-3e134022a025ff54b6f2.js +22 -0
  92. package/dist/excalidraw-assets-dev/locales/pa-IN-json-97ad2e2064b71f244820.js +22 -0
  93. package/dist/excalidraw-assets-dev/locales/pl-PL-json-1ed88814e0018339868e.js +22 -0
  94. package/dist/excalidraw-assets-dev/locales/pt-BR-json-49f03e588be4c6bbe08c.js +22 -0
  95. package/dist/excalidraw-assets-dev/locales/pt-PT-json-2929d15eba5953ef7715.js +22 -0
  96. package/dist/excalidraw-assets-dev/locales/ro-RO-json-785455320326c2640311.js +22 -0
  97. package/dist/excalidraw-assets-dev/locales/ru-RU-json-8836a70e1fe715aa70c7.js +22 -0
  98. package/dist/excalidraw-assets-dev/locales/si-LK-json-244722aa29ba7ca8bd7a.js +22 -0
  99. package/dist/excalidraw-assets-dev/locales/sk-SK-json-97afb0ec22d1503e2af4.js +22 -0
  100. package/dist/excalidraw-assets-dev/locales/sl-SI-json-e59c2bd944228503e705.js +22 -0
  101. package/dist/excalidraw-assets-dev/locales/sv-SE-json-8ee6702d94e84e48faa8.js +22 -0
  102. package/dist/excalidraw-assets-dev/locales/ta-IN-json-3c99dc4ff8af7e2523f3.js +22 -0
  103. package/dist/excalidraw-assets-dev/locales/th-TH-json-a4b323409d22013c30e2.js +22 -0
  104. package/dist/excalidraw-assets-dev/locales/tr-TR-json-399c6f39c50e30399d18.js +22 -0
  105. package/dist/excalidraw-assets-dev/locales/uk-UA-json-8657d9ac1c78af847957.js +22 -0
  106. package/dist/excalidraw-assets-dev/locales/vi-VN-json-e81217b667a314e4b841.js +22 -0
  107. package/dist/excalidraw-assets-dev/locales/zh-CN-json-8a2394a4129f40872d71.js +22 -0
  108. package/dist/excalidraw-assets-dev/locales/zh-HK-json-2f278ce98daca1c37501.js +22 -0
  109. package/dist/excalidraw-assets-dev/locales/zh-TW-json-e4eb1416e4564d3a1fd9.js +22 -0
  110. package/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.js → vendor-a14cd58fa2db417e42b2.js} +6 -6
  111. package/dist/excalidraw.development.js +2975 -1776
  112. package/dist/excalidraw.production.min.js +1 -1
  113. package/package.json +8 -3
  114. package/types/actions/actionAddToLibrary.d.ts +81 -31
  115. package/types/actions/actionAlign.d.ts +25 -20
  116. package/types/actions/actionBoundText.d.ts +58 -24
  117. package/types/actions/actionCanvas.d.ts +411 -109
  118. package/types/actions/actionClipboard.d.ts +131 -50
  119. package/types/actions/actionDeleteSelected.d.ts +75 -28
  120. package/types/actions/actionDistribute.d.ts +7 -8
  121. package/types/actions/actionDuplicateSelection.d.ts +0 -1
  122. package/types/actions/actionElementLock.d.ts +271 -0
  123. package/types/actions/actionExport.d.ts +252 -99
  124. package/types/actions/actionFinalize.d.ts +52 -22
  125. package/types/actions/actionFlip.d.ts +4 -7
  126. package/types/actions/actionFrame.d.ts +423 -0
  127. package/types/actions/actionGroup.d.ts +246 -9
  128. package/types/actions/actionHistory.d.ts +1 -1
  129. package/types/actions/actionLinearEditor.d.ts +29 -13
  130. package/types/actions/actionMenu.d.ts +82 -33
  131. package/types/actions/actionNavigate.d.ts +1 -1
  132. package/types/actions/actionProperties.d.ts +355 -133
  133. package/types/actions/actionSelectAll.d.ts +121 -2
  134. package/types/actions/actionStyles.d.ts +27 -11
  135. package/types/actions/actionToggleGridMode.d.ts +27 -11
  136. package/types/actions/actionToggleStats.d.ts +27 -11
  137. package/types/actions/actionToggleViewMode.d.ts +27 -11
  138. package/types/actions/actionToggleZenMode.d.ts +27 -11
  139. package/types/actions/actionZindex.d.ts +4 -4
  140. package/types/actions/index.d.ts +1 -1
  141. package/types/actions/manager.d.ts +1 -1
  142. package/types/actions/shortcuts.d.ts +1 -1
  143. package/types/actions/types.d.ts +10 -9
  144. package/types/appState.d.ts +12 -9
  145. package/types/charts.d.ts +2 -2
  146. package/types/clients.d.ts +5 -6
  147. package/types/clipboard.d.ts +1 -0
  148. package/types/colors.d.ts +60 -5
  149. package/types/components/Actions.d.ts +7 -7
  150. package/types/components/ActiveConfirmDialog.d.ts +1 -21
  151. package/types/components/App.d.ts +57 -12
  152. package/types/components/Avatar.d.ts +1 -2
  153. package/types/components/Button.d.ts +3 -2
  154. package/types/components/Card.d.ts +0 -1
  155. package/types/components/ColorPicker/ColorInput.d.ts +8 -0
  156. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  157. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  158. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  159. package/types/components/ColorPicker/Picker.d.ts +18 -0
  160. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  161. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  162. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  163. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  164. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  165. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  166. package/types/components/ContextMenu.d.ts +3 -3
  167. package/types/components/DefaultSidebar.d.ts +29 -0
  168. package/types/components/Dialog.d.ts +3 -4
  169. package/types/components/ExcalidrawLogo.d.ts +15 -0
  170. package/types/components/EyeDropper.d.ts +17 -0
  171. package/types/components/FilledButton.d.ts +17 -0
  172. package/types/components/FixedSideContainer.d.ts +1 -1
  173. package/types/components/HandButton.d.ts +1 -1
  174. package/types/components/HelpButton.d.ts +1 -1
  175. package/types/components/HintViewer.d.ts +4 -5
  176. package/types/components/ImageExportDialog.d.ts +8 -13
  177. package/types/components/Island.d.ts +1 -1
  178. package/types/components/JSONExportDialog.d.ts +5 -5
  179. package/types/components/LayerUI.d.ts +7 -11
  180. package/types/components/LibraryMenu.d.ts +13 -14
  181. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  182. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  183. package/types/components/LibraryMenuHeaderContent.d.ts +10 -28
  184. package/types/components/LibraryMenuItems.d.ts +6 -7
  185. package/types/components/LibraryMenuSection.d.ts +22 -0
  186. package/types/components/LibraryUnit.d.ts +6 -3
  187. package/types/components/LoadingMessage.d.ts +0 -1
  188. package/types/components/LockButton.d.ts +1 -1
  189. package/types/components/MobileMenu.d.ts +7 -6
  190. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  191. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  192. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  193. package/types/components/PasteChartDialog.d.ts +4 -5
  194. package/types/components/PenModeButton.d.ts +1 -1
  195. package/types/components/Popover.d.ts +1 -1
  196. package/types/components/ProjectName.d.ts +2 -1
  197. package/types/components/PublishLibrary.d.ts +2 -2
  198. package/types/components/RadioGroup.d.ts +12 -0
  199. package/types/components/Section.d.ts +1 -1
  200. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  201. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  202. package/types/components/Sidebar/SidebarTab.d.ts +8 -0
  203. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  204. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  205. package/types/components/Sidebar/SidebarTabs.d.ts +6 -0
  206. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  207. package/types/components/Sidebar/common.d.ts +24 -7
  208. package/types/components/Spinner.d.ts +2 -1
  209. package/types/components/Stack.d.ts +4 -3
  210. package/types/components/Stats.d.ts +3 -3
  211. package/types/components/Switch.d.ts +9 -0
  212. package/types/components/ToolButton.d.ts +5 -4
  213. package/types/components/Tooltip.d.ts +1 -1
  214. package/types/components/Trans.d.ts +9 -0
  215. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  216. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  217. package/types/components/canvases/index.d.ts +3 -0
  218. package/types/components/dropdownMenu/DropdownMenu.d.ts +3 -2
  219. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -2
  220. package/types/components/footer/Footer.d.ts +2 -2
  221. package/types/components/icons.d.ts +12 -1
  222. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -1
  223. package/types/components/main-menu/MainMenu.d.ts +3 -2
  224. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -1
  225. package/types/components/welcome-screen/WelcomeScreen.d.ts +0 -1
  226. package/types/constants.d.ts +41 -3
  227. package/types/context/tunnels.d.ts +19 -0
  228. package/types/context/ui-appState.d.ts +4 -0
  229. package/types/data/encode.d.ts +1 -1
  230. package/types/data/filesystem.d.ts +1 -1
  231. package/types/data/library.d.ts +3 -45
  232. package/types/data/restore.d.ts +2 -2
  233. package/types/data/transform.d.ts +71 -0
  234. package/types/data/types.d.ts +3 -5
  235. package/types/data/url.d.ts +7 -0
  236. package/types/element/Hyperlink.d.ts +38 -18
  237. package/types/element/binding.d.ts +4 -3
  238. package/types/element/bounds.d.ts +31 -6
  239. package/types/element/collision.d.ts +7 -7
  240. package/types/element/dragElements.d.ts +2 -1
  241. package/types/element/embeddable.d.ts +153 -0
  242. package/types/element/index.d.ts +3 -2
  243. package/types/element/linearElementEditor.d.ts +31 -15
  244. package/types/element/mutateElement.d.ts +1 -1
  245. package/types/element/newElement.d.ts +15 -6
  246. package/types/element/resizeElements.d.ts +1 -0
  247. package/types/element/showSelectedShapeActions.d.ts +2 -2
  248. package/types/element/sizeHelpers.d.ts +8 -1
  249. package/types/element/textElement.d.ts +6 -8
  250. package/types/element/textWysiwyg.d.ts +1 -1
  251. package/types/element/transformHandles.d.ts +15 -8
  252. package/types/element/typeChecks.d.ts +3 -1
  253. package/types/element/types.d.ts +51 -35
  254. package/types/errors.d.ts +1 -1
  255. package/types/frame.d.ts +40 -0
  256. package/types/ga.d.ts +5 -5
  257. package/types/groups.d.ts +15 -11
  258. package/types/history.d.ts +3 -3
  259. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  260. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  261. package/types/hooks/useOutsideClick.d.ts +19 -2
  262. package/types/hooks/useScrollPosition.d.ts +1 -0
  263. package/types/hooks/useTransition.d.ts +2 -0
  264. package/types/i18n.d.ts +7 -4
  265. package/types/jotai.d.ts +16 -104
  266. package/types/keys.d.ts +4 -1
  267. package/types/math.d.ts +1 -0
  268. package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-HK-json-19e6814bddb06e0dd6e3.d.ts +0 -0
  269. package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-TW-json-3fcc3dcef74999ea3757.d.ts +0 -0
  270. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-ef3c5d81a00ef582b871.d.ts +0 -0
  271. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-CN-json-8a2394a4129f40872d71.d.ts +2 -0
  272. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-HK-json-2f278ce98daca1c37501.d.ts +2 -0
  273. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-TW-json-e4eb1416e4564d3a1fd9.d.ts +2 -0
  274. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  275. package/types/packages/excalidraw/index.d.ts +4 -1
  276. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  277. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  278. package/types/packages/utils.d.ts +3 -2
  279. package/types/renderer/renderElement.d.ts +11 -22
  280. package/types/renderer/renderScene.d.ts +19 -29
  281. package/types/renderer/roundRect.d.ts +1 -1
  282. package/types/scene/Renderer.d.ts +25 -0
  283. package/types/scene/Scene.d.ts +27 -5
  284. package/types/scene/Shape.d.ts +12 -0
  285. package/types/scene/ShapeCache.d.ts +20 -0
  286. package/types/scene/export.d.ts +2 -0
  287. package/types/scene/scroll.d.ts +1 -1
  288. package/types/scene/scrollbars.d.ts +2 -6
  289. package/types/scene/selection.d.ts +26 -6
  290. package/types/scene/types.d.ts +60 -27
  291. package/types/types.d.ts +141 -50
  292. package/types/utility-types.d.ts +16 -14
  293. package/types/utils.d.ts +62 -24
  294. package/types/zindex.d.ts +4 -4
  295. package/dist/excalidraw-assets/locales/ar-SA-json-06d4bd2f3a164162f2b8.js +0 -1
  296. package/dist/excalidraw-assets/locales/bg-BG-json-72ac7b7548d7fefdcd2a.js +0 -1
  297. package/dist/excalidraw-assets/locales/bn-BD-json-759924ef13bd9e602cb3.js +0 -1
  298. package/dist/excalidraw-assets/locales/ca-ES-json-6108f4ae0be3d1e369a6.js +0 -1
  299. package/dist/excalidraw-assets/locales/cs-CZ-json-1ae99f296c9febb99f72.js +0 -1
  300. package/dist/excalidraw-assets/locales/da-DK-json-ed85a6f48e1df51b1b46.js +0 -1
  301. package/dist/excalidraw-assets/locales/de-DE-json-f70dfb7201a16dc3f9fc.js +0 -1
  302. package/dist/excalidraw-assets/locales/el-GR-json-79f7d66730b39df84f8e.js +0 -1
  303. package/dist/excalidraw-assets/locales/es-ES-json-682b92427b8b27bb0aa8.js +0 -1
  304. package/dist/excalidraw-assets/locales/eu-ES-json-1cc77079b354b962615f.js +0 -1
  305. package/dist/excalidraw-assets/locales/fa-IR-json-586a1324f942d89620b6.js +0 -1
  306. package/dist/excalidraw-assets/locales/fi-FI-json-d43636fb51002f55e2a4.js +0 -1
  307. package/dist/excalidraw-assets/locales/fr-FR-json-b5ea877625968f748b7f.js +0 -1
  308. package/dist/excalidraw-assets/locales/gl-ES-json-2117445509ba7c479ee0.js +0 -1
  309. package/dist/excalidraw-assets/locales/he-IL-json-3280be0edae615c7685f.js +0 -1
  310. package/dist/excalidraw-assets/locales/hi-IN-json-dad8ce15f9b7a435a926.js +0 -1
  311. package/dist/excalidraw-assets/locales/hu-HU-json-6ccf0d8a164ecec52187.js +0 -1
  312. package/dist/excalidraw-assets/locales/id-ID-json-6031eb8be253b20c28e9.js +0 -1
  313. package/dist/excalidraw-assets/locales/it-IT-json-446b14f993000d0f572f.js +0 -1
  314. package/dist/excalidraw-assets/locales/ja-JP-json-ef6ec5abb0c3c53c7a51.js +0 -1
  315. package/dist/excalidraw-assets/locales/kab-KAB-json-69853849c71eff277ba0.js +0 -1
  316. package/dist/excalidraw-assets/locales/kk-KZ-json-1f9df2b51e34996bad30.js +0 -1
  317. package/dist/excalidraw-assets/locales/ko-KR-json-cf33ecf52ab95055544b.js +0 -1
  318. package/dist/excalidraw-assets/locales/ku-TR-json-d10a4bb9ede3c08a08e1.js +0 -1
  319. package/dist/excalidraw-assets/locales/lt-LT-json-08c7fc343ef2f533ec5f.js +0 -1
  320. package/dist/excalidraw-assets/locales/lv-LV-json-1e3a5e87e39d2d90274c.js +0 -1
  321. package/dist/excalidraw-assets/locales/mr-IN-json-c922a007bb00d3e4f3b1.js +0 -1
  322. package/dist/excalidraw-assets/locales/my-MM-json-1a05d5c242c822079dca.js +0 -1
  323. package/dist/excalidraw-assets/locales/nb-NO-json-7ea7ab2356e76889af8d.js +0 -1
  324. package/dist/excalidraw-assets/locales/nl-NL-json-5805f36f33a3f8e53adc.js +0 -1
  325. package/dist/excalidraw-assets/locales/nn-NO-json-8209f0f674435b52293d.js +0 -1
  326. package/dist/excalidraw-assets/locales/oc-FR-json-e90ca79174b6e1eccb72.js +0 -1
  327. package/dist/excalidraw-assets/locales/pa-IN-json-1854ecccf3c6f8ea9c46.js +0 -1
  328. package/dist/excalidraw-assets/locales/pl-PL-json-b4be83b26070e4cf70ca.js +0 -1
  329. package/dist/excalidraw-assets/locales/pt-BR-json-2e7a1690edc8d46e8842.js +0 -1
  330. package/dist/excalidraw-assets/locales/pt-PT-json-aba1622a80e32e465a3d.js +0 -1
  331. package/dist/excalidraw-assets/locales/ro-RO-json-3397acad1a98b5093c8b.js +0 -1
  332. package/dist/excalidraw-assets/locales/ru-RU-json-8ab49e8d0473e92a8ab9.js +0 -1
  333. package/dist/excalidraw-assets/locales/si-LK-json-db1222db995d9425e281.js +0 -1
  334. package/dist/excalidraw-assets/locales/sk-SK-json-50dcb09552f93c2de3a4.js +0 -1
  335. package/dist/excalidraw-assets/locales/sl-SI-json-68eba9ac00ae57bae3f4.js +0 -1
  336. package/dist/excalidraw-assets/locales/sv-SE-json-36b97455521e61312a47.js +0 -1
  337. package/dist/excalidraw-assets/locales/ta-IN-json-4063d11b19f24794564a.js +0 -1
  338. package/dist/excalidraw-assets/locales/th-TH-json-3a152569bbebfec7c6c0.js +0 -1
  339. package/dist/excalidraw-assets/locales/tr-TR-json-9002b1505b0931924d42.js +0 -1
  340. package/dist/excalidraw-assets/locales/uk-UA-json-4e345c790342b7672248.js +0 -1
  341. package/dist/excalidraw-assets/locales/vi-VN-json-2f5b95c0011820e16f4b.js +0 -1
  342. package/dist/excalidraw-assets/locales/zh-CN-json-2cb13b38b6615ada3097.js +0 -1
  343. package/dist/excalidraw-assets/locales/zh-HK-json-4bcbf71743fda1544a84.js +0 -1
  344. package/dist/excalidraw-assets/locales/zh-TW-json-c39caba2da3f001066a8.js +0 -1
  345. package/dist/excalidraw-assets-dev/locales/ar-SA-json-8df64942a3f6232064a4.js +0 -22
  346. package/dist/excalidraw-assets-dev/locales/bg-BG-json-f0939048738ceeacefae.js +0 -22
  347. package/dist/excalidraw-assets-dev/locales/bn-BD-json-4b92eb02a90d83c47173.js +0 -22
  348. package/dist/excalidraw-assets-dev/locales/ca-ES-json-e85ce0d6447d42432c66.js +0 -22
  349. package/dist/excalidraw-assets-dev/locales/cs-CZ-json-2a885b79b3be836df283.js +0 -22
  350. package/dist/excalidraw-assets-dev/locales/da-DK-json-dfdaec93be64dc2704d9.js +0 -22
  351. package/dist/excalidraw-assets-dev/locales/de-DE-json-72757b9d842748bf832e.js +0 -22
  352. package/dist/excalidraw-assets-dev/locales/el-GR-json-c18382659d1c0307b73b.js +0 -22
  353. package/dist/excalidraw-assets-dev/locales/es-ES-json-aacc6f2fd98f0f967c32.js +0 -22
  354. package/dist/excalidraw-assets-dev/locales/eu-ES-json-63e15be6c04e80959411.js +0 -22
  355. package/dist/excalidraw-assets-dev/locales/fa-IR-json-7b9d274d5accc82982e9.js +0 -22
  356. package/dist/excalidraw-assets-dev/locales/fi-FI-json-b466031cdd8ef6f8c32b.js +0 -22
  357. package/dist/excalidraw-assets-dev/locales/fr-FR-json-0d4f6fdfa9be76a941d7.js +0 -22
  358. package/dist/excalidraw-assets-dev/locales/gl-ES-json-46863175bb629a5bb37e.js +0 -22
  359. package/dist/excalidraw-assets-dev/locales/he-IL-json-e0bd304682986695208c.js +0 -22
  360. package/dist/excalidraw-assets-dev/locales/hi-IN-json-0e1dae2ff14e81ba2dd4.js +0 -22
  361. package/dist/excalidraw-assets-dev/locales/hu-HU-json-230434a2a2eb764d410c.js +0 -22
  362. package/dist/excalidraw-assets-dev/locales/id-ID-json-c163c21859b707d96c6d.js +0 -22
  363. package/dist/excalidraw-assets-dev/locales/it-IT-json-f3776c336b416375460b.js +0 -22
  364. package/dist/excalidraw-assets-dev/locales/ja-JP-json-452835b81621e5ae6cb6.js +0 -22
  365. package/dist/excalidraw-assets-dev/locales/kab-KAB-json-61a7d382c88b96fe1f38.js +0 -22
  366. package/dist/excalidraw-assets-dev/locales/kk-KZ-json-0f99b0b0e9aeb250f10d.js +0 -22
  367. package/dist/excalidraw-assets-dev/locales/ko-KR-json-3de3dc5cb1dac5b79f94.js +0 -22
  368. package/dist/excalidraw-assets-dev/locales/ku-TR-json-22a3fdac3947f747cd75.js +0 -22
  369. package/dist/excalidraw-assets-dev/locales/lt-LT-json-535e00475a2d73aa8927.js +0 -22
  370. package/dist/excalidraw-assets-dev/locales/lv-LV-json-6e981883d91c29060dd4.js +0 -22
  371. package/dist/excalidraw-assets-dev/locales/mr-IN-json-6ad409707531c84de376.js +0 -22
  372. package/dist/excalidraw-assets-dev/locales/my-MM-json-cb25da0149000113fd3f.js +0 -22
  373. package/dist/excalidraw-assets-dev/locales/nb-NO-json-bd11ba266e4e2c0fa619.js +0 -22
  374. package/dist/excalidraw-assets-dev/locales/nl-NL-json-8e66a88c43a7eeed44f8.js +0 -22
  375. package/dist/excalidraw-assets-dev/locales/nn-NO-json-608fd6a88621d6d18035.js +0 -22
  376. package/dist/excalidraw-assets-dev/locales/oc-FR-json-dc16297d69033e71846a.js +0 -22
  377. package/dist/excalidraw-assets-dev/locales/pa-IN-json-03bbe592bfa55fe214a9.js +0 -22
  378. package/dist/excalidraw-assets-dev/locales/pl-PL-json-3e483c75de431520dfa3.js +0 -22
  379. package/dist/excalidraw-assets-dev/locales/pt-BR-json-a9f4548703a436582ea1.js +0 -22
  380. package/dist/excalidraw-assets-dev/locales/pt-PT-json-722910761860dbd3fb87.js +0 -22
  381. package/dist/excalidraw-assets-dev/locales/ro-RO-json-fe65a70419c866a6ce94.js +0 -22
  382. package/dist/excalidraw-assets-dev/locales/ru-RU-json-2c39ffbb623db8024be0.js +0 -22
  383. package/dist/excalidraw-assets-dev/locales/si-LK-json-a867646cf3fa3a22cafb.js +0 -22
  384. package/dist/excalidraw-assets-dev/locales/sk-SK-json-bb5ffb40cd779a63565f.js +0 -22
  385. package/dist/excalidraw-assets-dev/locales/sl-SI-json-d1036f8f3d1f6b1a70f4.js +0 -22
  386. package/dist/excalidraw-assets-dev/locales/sv-SE-json-53791d0a923a4de6a2e2.js +0 -22
  387. package/dist/excalidraw-assets-dev/locales/ta-IN-json-30fffc9f1cedf1d559d8.js +0 -22
  388. package/dist/excalidraw-assets-dev/locales/th-TH-json-523e92f9f3b6924c3f66.js +0 -22
  389. package/dist/excalidraw-assets-dev/locales/tr-TR-json-e43e35aa81edeb9058ee.js +0 -22
  390. package/dist/excalidraw-assets-dev/locales/uk-UA-json-2cd06c30d512defd8a0b.js +0 -22
  391. package/dist/excalidraw-assets-dev/locales/vi-VN-json-fe2d25d75865c608e798.js +0 -22
  392. package/dist/excalidraw-assets-dev/locales/zh-CN-json-e5e59a1cd383192a1792.js +0 -22
  393. package/dist/excalidraw-assets-dev/locales/zh-HK-json-2e545ed460deb9818584.js +0 -22
  394. package/dist/excalidraw-assets-dev/locales/zh-TW-json-5c0415fa2e3076904544.js +0 -22
  395. package/types/actions/actionToggleLock.d.ts +0 -119
  396. package/types/components/ColorPicker.d.ts +0 -14
  397. package/types/components/LibraryButton.d.ts +0 -8
  398. package/types/components/context/tunnels.d.ts +0 -16
  399. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  400. /package/dist/excalidraw-assets/{vendor-53d1c69ef585b6dd219b.js.LICENSE.txt → vendor-ef3c5d81a00ef582b871.js.LICENSE.txt} +0 -0
  401. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ar-SA-json-06d4bd2f3a164162f2b8.d.ts → ar-SA-json-b9c75e6743e089f51f9b.d.ts} +0 -0
  402. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{bg-BG-json-72ac7b7548d7fefdcd2a.d.ts → az-AZ-json-32268e2c7ad89fce5d2c.d.ts} +0 -0
  403. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{bn-BD-json-759924ef13bd9e602cb3.d.ts → bg-BG-json-ff5ef83d3c2706367417.d.ts} +0 -0
  404. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ca-ES-json-6108f4ae0be3d1e369a6.d.ts → bn-BD-json-f9b1344b2f5c0ab53ce8.d.ts} +0 -0
  405. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{cs-CZ-json-1ae99f296c9febb99f72.d.ts → ca-ES-json-d4a1f01f8c174c315974.d.ts} +0 -0
  406. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{da-DK-json-ed85a6f48e1df51b1b46.d.ts → cs-CZ-json-ff1b9bbfe92356698245.d.ts} +0 -0
  407. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{de-DE-json-f70dfb7201a16dc3f9fc.d.ts → da-DK-json-ac982a0c1e02b45f9500.d.ts} +0 -0
  408. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{el-GR-json-79f7d66730b39df84f8e.d.ts → de-DE-json-a3222d8a9ed4864ccedf.d.ts} +0 -0
  409. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{es-ES-json-682b92427b8b27bb0aa8.d.ts → el-GR-json-8cc1609bd088ec4f197a.d.ts} +0 -0
  410. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{eu-ES-json-1cc77079b354b962615f.d.ts → es-ES-json-4f3da97feff33cb00e6d.d.ts} +0 -0
  411. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{fa-IR-json-586a1324f942d89620b6.d.ts → eu-ES-json-f9efd2bf2555bceb526a.d.ts} +0 -0
  412. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{fi-FI-json-d43636fb51002f55e2a4.d.ts → fa-IR-json-abcad5d329ac9558750e.d.ts} +0 -0
  413. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{fr-FR-json-b5ea877625968f748b7f.d.ts → fi-FI-json-7250174bb3682c3ee602.d.ts} +0 -0
  414. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{gl-ES-json-2117445509ba7c479ee0.d.ts → fr-FR-json-f82759a1bc767e0889bd.d.ts} +0 -0
  415. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{he-IL-json-3280be0edae615c7685f.d.ts → gl-ES-json-8408403b5df17158e269.d.ts} +0 -0
  416. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{hi-IN-json-dad8ce15f9b7a435a926.d.ts → he-IL-json-2e5cea590dd00f76b42f.d.ts} +0 -0
  417. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{hu-HU-json-6ccf0d8a164ecec52187.d.ts → hi-IN-json-3898c9c1216b44476529.d.ts} +0 -0
  418. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{id-ID-json-6031eb8be253b20c28e9.d.ts → hu-HU-json-1b5028b3a2676b3e7bde.d.ts} +0 -0
  419. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{it-IT-json-446b14f993000d0f572f.d.ts → id-ID-json-43d505d7071a0e359681.d.ts} +0 -0
  420. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ja-JP-json-ef6ec5abb0c3c53c7a51.d.ts → it-IT-json-a1526e95ebe4c2156ffb.d.ts} +0 -0
  421. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{kab-KAB-json-69853849c71eff277ba0.d.ts → ja-JP-json-b7b0079dca8ece2551c7.d.ts} +0 -0
  422. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{kk-KZ-json-1f9df2b51e34996bad30.d.ts → kaa-json-b2f03ae2f239b9fae304.d.ts} +0 -0
  423. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ko-KR-json-cf33ecf52ab95055544b.d.ts → kab-KAB-json-e8618205ea49417e5fb4.d.ts} +0 -0
  424. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ku-TR-json-d10a4bb9ede3c08a08e1.d.ts → kk-KZ-json-f648362328b839e9313f.d.ts} +0 -0
  425. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{lt-LT-json-08c7fc343ef2f533ec5f.d.ts → km-KH-json-920cbd8cb9ea3c2ce631.d.ts} +0 -0
  426. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{lv-LV-json-1e3a5e87e39d2d90274c.d.ts → ko-KR-json-e5f26d9854a5d68ada0a.d.ts} +0 -0
  427. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{mr-IN-json-c922a007bb00d3e4f3b1.d.ts → ku-TR-json-374bbbb0b003a490681d.d.ts} +0 -0
  428. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{my-MM-json-1a05d5c242c822079dca.d.ts → lt-LT-json-9caac0d3530651221c75.d.ts} +0 -0
  429. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{nb-NO-json-7ea7ab2356e76889af8d.d.ts → lv-LV-json-c811870330575e53285c.d.ts} +0 -0
  430. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{nl-NL-json-5805f36f33a3f8e53adc.d.ts → mr-IN-json-05294735c64b63223d8e.d.ts} +0 -0
  431. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{nn-NO-json-8209f0f674435b52293d.d.ts → my-MM-json-c3cff6d30b1e629f546f.d.ts} +0 -0
  432. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{oc-FR-json-e90ca79174b6e1eccb72.d.ts → nb-NO-json-75cfab63ad7c2ff45f19.d.ts} +0 -0
  433. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{pa-IN-json-1854ecccf3c6f8ea9c46.d.ts → nl-NL-json-90ef39ed303967aeb9c2.d.ts} +0 -0
  434. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{pl-PL-json-b4be83b26070e4cf70ca.d.ts → nn-NO-json-1a8db0d8c3717d895cc5.d.ts} +0 -0
  435. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{pt-BR-json-2e7a1690edc8d46e8842.d.ts → oc-FR-json-925326d13bc187dcd377.d.ts} +0 -0
  436. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{pt-PT-json-aba1622a80e32e465a3d.d.ts → pa-IN-json-d9ee09801ed220840b2b.d.ts} +0 -0
  437. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ro-RO-json-3397acad1a98b5093c8b.d.ts → pl-PL-json-9a1b0b7262cd86ab734f.d.ts} +0 -0
  438. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ru-RU-json-8ab49e8d0473e92a8ab9.d.ts → pt-BR-json-62a1095dd13343b61194.d.ts} +0 -0
  439. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{si-LK-json-db1222db995d9425e281.d.ts → pt-PT-json-cc517eed349ce432b054.d.ts} +0 -0
  440. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{sk-SK-json-50dcb09552f93c2de3a4.d.ts → ro-RO-json-162b57c475da796d5a5b.d.ts} +0 -0
  441. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{sl-SI-json-68eba9ac00ae57bae3f4.d.ts → ru-RU-json-cfc347872e181d1335a7.d.ts} +0 -0
  442. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{sv-SE-json-36b97455521e61312a47.d.ts → si-LK-json-674ece30d49390e45733.d.ts} +0 -0
  443. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ta-IN-json-4063d11b19f24794564a.d.ts → sk-SK-json-8edebc008b63305c87e1.d.ts} +0 -0
  444. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{th-TH-json-3a152569bbebfec7c6c0.d.ts → sl-SI-json-826580e1006547dbbd3b.d.ts} +0 -0
  445. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{tr-TR-json-9002b1505b0931924d42.d.ts → sv-SE-json-84a855efd030e37f51ab.d.ts} +0 -0
  446. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{uk-UA-json-4e345c790342b7672248.d.ts → ta-IN-json-f59f50c4b8f2b2fee8ca.d.ts} +0 -0
  447. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{vi-VN-json-2f5b95c0011820e16f4b.d.ts → th-TH-json-4cbe42d56e0a6f261769.d.ts} +0 -0
  448. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{zh-CN-json-2cb13b38b6615ada3097.d.ts → tr-TR-json-eb07e9699c26fef02345.d.ts} +0 -0
  449. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{zh-HK-json-4bcbf71743fda1544a84.d.ts → uk-UA-json-a48bb2e866a11d396a35.d.ts} +0 -0
  450. /package/types/packages/excalidraw/dist/excalidraw-assets/locales/{zh-TW-json-c39caba2da3f001066a8.d.ts → vi-VN-json-cbbaff972778abc0e34b.d.ts} +0 -0
  451. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-53d1c69ef585b6dd219b.d.ts → locales/zh-CN-json-62d636303447fe79db54.d.ts} +0 -0
  452. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ar-SA-json-8df64942a3f6232064a4.d.ts → ar-SA-json-a69e95810fd104088c5c.d.ts} +0 -0
  453. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{bg-BG-json-f0939048738ceeacefae.d.ts → az-AZ-json-589b1b62c7020f14c833.d.ts} +0 -0
  454. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{bn-BD-json-4b92eb02a90d83c47173.d.ts → bg-BG-json-79742eced03e74339dfa.d.ts} +0 -0
  455. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ca-ES-json-e85ce0d6447d42432c66.d.ts → bn-BD-json-737c1b739f303a032d89.d.ts} +0 -0
  456. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{cs-CZ-json-2a885b79b3be836df283.d.ts → ca-ES-json-5f515dea6151baaa2eaa.d.ts} +0 -0
  457. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{da-DK-json-dfdaec93be64dc2704d9.d.ts → cs-CZ-json-124bc5ab8060f0c7e965.d.ts} +0 -0
  458. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{de-DE-json-72757b9d842748bf832e.d.ts → da-DK-json-d099915b14b07f999456.d.ts} +0 -0
  459. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{el-GR-json-c18382659d1c0307b73b.d.ts → de-DE-json-d8d9ee97794526088903.d.ts} +0 -0
  460. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{es-ES-json-aacc6f2fd98f0f967c32.d.ts → el-GR-json-8562deea2ef40d73cf8a.d.ts} +0 -0
  461. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{eu-ES-json-63e15be6c04e80959411.d.ts → es-ES-json-da3d630806693d7dac08.d.ts} +0 -0
  462. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{fa-IR-json-7b9d274d5accc82982e9.d.ts → eu-ES-json-ea32646b47bf29438fb9.d.ts} +0 -0
  463. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{fi-FI-json-b466031cdd8ef6f8c32b.d.ts → fa-IR-json-e8d73ea1c5bdccca7b27.d.ts} +0 -0
  464. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{fr-FR-json-0d4f6fdfa9be76a941d7.d.ts → fi-FI-json-1d2a667fad3ea0ced0ef.d.ts} +0 -0
  465. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{gl-ES-json-46863175bb629a5bb37e.d.ts → fr-FR-json-ef3b02eac347cee42eac.d.ts} +0 -0
  466. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{he-IL-json-e0bd304682986695208c.d.ts → gl-ES-json-3c8bbe9429fc52e410b2.d.ts} +0 -0
  467. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{hi-IN-json-0e1dae2ff14e81ba2dd4.d.ts → he-IL-json-4a05a09da3b8c37144d5.d.ts} +0 -0
  468. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{hu-HU-json-230434a2a2eb764d410c.d.ts → hi-IN-json-0300ce94e80ea89134af.d.ts} +0 -0
  469. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{id-ID-json-c163c21859b707d96c6d.d.ts → hu-HU-json-331ac1b31c82505ea6cc.d.ts} +0 -0
  470. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{it-IT-json-f3776c336b416375460b.d.ts → id-ID-json-f8ba56a28586e4e77070.d.ts} +0 -0
  471. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ja-JP-json-452835b81621e5ae6cb6.d.ts → it-IT-json-0d8f11dec1a87e9359c8.d.ts} +0 -0
  472. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{kab-KAB-json-61a7d382c88b96fe1f38.d.ts → ja-JP-json-ceaa3287f265ae241112.d.ts} +0 -0
  473. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{kk-KZ-json-0f99b0b0e9aeb250f10d.d.ts → kaa-json-4efd2d14964af8a534cb.d.ts} +0 -0
  474. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ko-KR-json-3de3dc5cb1dac5b79f94.d.ts → kab-KAB-json-3e7e196cc06505d82d71.d.ts} +0 -0
  475. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ku-TR-json-22a3fdac3947f747cd75.d.ts → kk-KZ-json-96ab3e149666871ce872.d.ts} +0 -0
  476. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{lt-LT-json-535e00475a2d73aa8927.d.ts → km-KH-json-5e3f43be16a6ec0eb24f.d.ts} +0 -0
  477. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{lv-LV-json-6e981883d91c29060dd4.d.ts → ko-KR-json-1f078c7aad070d3bd0e9.d.ts} +0 -0
  478. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{mr-IN-json-6ad409707531c84de376.d.ts → ku-TR-json-fcef5d1f6a04981f2a5e.d.ts} +0 -0
  479. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{my-MM-json-cb25da0149000113fd3f.d.ts → lt-LT-json-09bf8afbe684fc98c92a.d.ts} +0 -0
  480. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{nb-NO-json-bd11ba266e4e2c0fa619.d.ts → lv-LV-json-95d0faca7a20097e219f.d.ts} +0 -0
  481. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{nl-NL-json-8e66a88c43a7eeed44f8.d.ts → mr-IN-json-3ffe983e37fedc73cd65.d.ts} +0 -0
  482. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{nn-NO-json-608fd6a88621d6d18035.d.ts → my-MM-json-c88241ade5d8f9bafe5d.d.ts} +0 -0
  483. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{oc-FR-json-dc16297d69033e71846a.d.ts → nb-NO-json-b80dd1befb2641b9364c.d.ts} +0 -0
  484. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{pa-IN-json-03bbe592bfa55fe214a9.d.ts → nl-NL-json-4f65f25ec5e87503413e.d.ts} +0 -0
  485. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{pl-PL-json-3e483c75de431520dfa3.d.ts → nn-NO-json-2134d8b06b7e30965748.d.ts} +0 -0
  486. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{pt-BR-json-a9f4548703a436582ea1.d.ts → oc-FR-json-3e134022a025ff54b6f2.d.ts} +0 -0
  487. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{pt-PT-json-722910761860dbd3fb87.d.ts → pa-IN-json-97ad2e2064b71f244820.d.ts} +0 -0
  488. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ro-RO-json-fe65a70419c866a6ce94.d.ts → pl-PL-json-1ed88814e0018339868e.d.ts} +0 -0
  489. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ru-RU-json-2c39ffbb623db8024be0.d.ts → pt-BR-json-49f03e588be4c6bbe08c.d.ts} +0 -0
  490. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{si-LK-json-a867646cf3fa3a22cafb.d.ts → pt-PT-json-2929d15eba5953ef7715.d.ts} +0 -0
  491. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{sk-SK-json-bb5ffb40cd779a63565f.d.ts → ro-RO-json-785455320326c2640311.d.ts} +0 -0
  492. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{sl-SI-json-d1036f8f3d1f6b1a70f4.d.ts → ru-RU-json-8836a70e1fe715aa70c7.d.ts} +0 -0
  493. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{sv-SE-json-53791d0a923a4de6a2e2.d.ts → si-LK-json-244722aa29ba7ca8bd7a.d.ts} +0 -0
  494. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ta-IN-json-30fffc9f1cedf1d559d8.d.ts → sk-SK-json-97afb0ec22d1503e2af4.d.ts} +0 -0
  495. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{th-TH-json-523e92f9f3b6924c3f66.d.ts → sl-SI-json-e59c2bd944228503e705.d.ts} +0 -0
  496. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{tr-TR-json-e43e35aa81edeb9058ee.d.ts → sv-SE-json-8ee6702d94e84e48faa8.d.ts} +0 -0
  497. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{uk-UA-json-2cd06c30d512defd8a0b.d.ts → ta-IN-json-3c99dc4ff8af7e2523f3.d.ts} +0 -0
  498. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{vi-VN-json-fe2d25d75865c608e798.d.ts → th-TH-json-a4b323409d22013c30e2.d.ts} +0 -0
  499. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{zh-CN-json-e5e59a1cd383192a1792.d.ts → tr-TR-json-399c6f39c50e30399d18.d.ts} +0 -0
  500. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{zh-HK-json-2e545ed460deb9818584.d.ts → uk-UA-json-8657d9ac1c78af847957.d.ts} +0 -0
  501. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{zh-TW-json-5c0415fa2e3076904544.d.ts → vi-VN-json-e81217b667a314e4b841.d.ts} +0 -0
  502. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
1
  import { NonDeleted, ExcalidrawLinearElement, ExcalidrawElement, PointBinding, ExcalidrawBindableElement, ExcalidrawTextElementWithContainer } from "./types";
3
- import { Point, AppState, PointerCoords } from "../types";
2
+ import { Point, AppState, PointerCoords, InteractiveCanvasAppState } from "../types";
4
3
  import History from "../history";
5
4
  import Scene from "../scene/Scene";
6
5
  declare const editorMidPointsCache: {
@@ -53,8 +52,8 @@ export declare class LinearElementEditor {
53
52
  y: number;
54
53
  }[]) => void, linearElementEditor: LinearElementEditor): boolean;
55
54
  static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState): LinearElementEditor;
56
- static getEditorMidPoints: (element: NonDeleted<ExcalidrawLinearElement>, appState: AppState) => (typeof editorMidPointsCache)["points"];
57
- static updateEditorMidPointsCache: (element: NonDeleted<ExcalidrawLinearElement>, appState: AppState) => void;
55
+ static getEditorMidPoints: (element: NonDeleted<ExcalidrawLinearElement>, appState: InteractiveCanvasAppState) => (typeof editorMidPointsCache)["points"];
56
+ static updateEditorMidPointsCache: (element: NonDeleted<ExcalidrawLinearElement>, appState: InteractiveCanvasAppState) => void;
58
57
  static getSegmentMidpointHitCoords: (linearElementEditor: LinearElementEditor, scenePointer: {
59
58
  x: number;
60
59
  y: number;
@@ -62,7 +61,7 @@ export declare class LinearElementEditor {
62
61
  static isSegmentTooShort(element: NonDeleted<ExcalidrawLinearElement>, startPoint: Point, endPoint: Point, zoom: AppState["zoom"]): boolean;
63
62
  static getSegmentMidPoint(element: NonDeleted<ExcalidrawLinearElement>, startPoint: Point, endPoint: Point, endPointIndex: number): readonly [number, number];
64
63
  static getSegmentMidPointIndex(linearElementEditor: LinearElementEditor, appState: AppState, midPoint: Point): number;
65
- static handlePointerDown(event: React.PointerEvent<HTMLCanvasElement>, appState: AppState, history: History, scenePointer: {
64
+ static handlePointerDown(event: React.PointerEvent<HTMLElement>, appState: AppState, history: History, scenePointer: {
66
65
  x: number;
67
66
  y: number;
68
67
  }, linearElementEditor: LinearElementEditor): {
@@ -131,6 +130,10 @@ export declare class LinearElementEditor {
131
130
  showWelcomeScreen: boolean;
132
131
  isLoading: boolean;
133
132
  errorMessage: import("react").ReactNode;
133
+ activeEmbeddable: {
134
+ element: import("./types").NonDeletedExcalidrawElement;
135
+ state: "active" | "hover";
136
+ } | null;
134
137
  draggingElement: import("./types").NonDeletedExcalidrawElement | null;
135
138
  resizingElement: import("./types").NonDeletedExcalidrawElement | null;
136
139
  multiElement: NonDeleted<ExcalidrawLinearElement> | null;
@@ -138,12 +141,21 @@ export declare class LinearElementEditor {
138
141
  isBindingEnabled: boolean;
139
142
  startBoundElement: NonDeleted<ExcalidrawBindableElement> | null;
140
143
  suggestedBindings: import("./binding").SuggestedBinding[];
144
+ frameToHighlight: NonDeleted<import("./types").ExcalidrawFrameElement> | null;
145
+ frameRendering: {
146
+ enabled: boolean;
147
+ name: boolean;
148
+ outline: boolean;
149
+ clip: boolean;
150
+ };
151
+ editingFrame: string | null;
152
+ elementsToHighlight: NonDeleted<ExcalidrawElement>[] | null;
141
153
  editingElement: import("./types").NonDeletedExcalidrawElement | null;
142
154
  activeTool: {
143
155
  lastActiveTool: import("../types").LastActiveTool;
144
156
  locked: boolean;
145
157
  } & ({
146
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
158
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
147
159
  customType: null;
148
160
  } | {
149
161
  type: "custom";
@@ -180,17 +192,21 @@ export declare class LinearElementEditor {
180
192
  value: import("../types").NormalizedZoomValue;
181
193
  }>;
182
194
  openMenu: "canvas" | "shape" | null;
183
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
184
- openSidebar: "library" | "customSidebar" | null;
195
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
196
+ openSidebar: {
197
+ name: string;
198
+ tab?: string | undefined;
199
+ } | null;
185
200
  openDialog: "imageExport" | "help" | "jsonExport" | null;
186
- isSidebarDocked: boolean;
201
+ defaultSidebarDockedPreference: boolean;
187
202
  lastPointerDownWith: import("./types").PointerType;
188
- selectedElementIds: {
189
- [id: string]: boolean;
190
- };
203
+ selectedElementIds: Readonly<{
204
+ [id: string]: true;
205
+ }>;
191
206
  previousSelectedElementIds: {
192
- [id: string]: boolean;
207
+ [id: string]: true;
193
208
  };
209
+ selectedElementsAreBeingDragged: boolean;
194
210
  shouldCacheIgnoreZoom: boolean;
195
211
  toast: {
196
212
  message: string;
@@ -198,7 +214,7 @@ export declare class LinearElementEditor {
198
214
  duration?: number | undefined;
199
215
  } | null;
200
216
  zenModeEnabled: boolean;
201
- theme: string;
217
+ theme: import("./types").Theme;
202
218
  gridSize: number | null;
203
219
  viewModeEnabled: boolean;
204
220
  selectedGroupIds: {
@@ -221,7 +237,7 @@ export declare class LinearElementEditor {
221
237
  data: import("../charts").Spreadsheet;
222
238
  };
223
239
  pendingImageElementId: string | null;
224
- showHyperlinkPopup: false | "info" | "editor";
240
+ showHyperlinkPopup: false | "editor" | "info";
225
241
  selectedLinearElement: LinearElementEditor | null;
226
242
  };
227
243
  };
@@ -1,6 +1,6 @@
1
1
  import { ExcalidrawElement } from "./types";
2
2
  import { Mutable } from "../utility-types";
3
- declare type ElementUpdate<TElement extends ExcalidrawElement> = Omit<Partial<TElement>, "id" | "version" | "versionNonce">;
3
+ type ElementUpdate<TElement extends ExcalidrawElement> = Omit<Partial<TElement>, "id" | "version" | "versionNonce">;
4
4
  export declare const mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
5
5
  export declare const newElementWith: <TElement extends ExcalidrawElement>(element: TElement, updates: ElementUpdate<TElement>) => TElement;
6
6
  /**
@@ -1,17 +1,22 @@
1
- import { ExcalidrawElement, ExcalidrawImageElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawGenericElement, NonDeleted, TextAlign, GroupId, VerticalAlign, Arrowhead, ExcalidrawFreeDrawElement, FontFamilyValues, ExcalidrawTextContainer } from "../element/types";
1
+ import { ExcalidrawElement, ExcalidrawImageElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawGenericElement, NonDeleted, TextAlign, GroupId, VerticalAlign, Arrowhead, ExcalidrawFreeDrawElement, FontFamilyValues, ExcalidrawTextContainer, ExcalidrawFrameElement, ExcalidrawEmbeddableElement } from "../element/types";
2
2
  import { AppState } from "../types";
3
3
  import { MarkOptional, Mutable } from "../utility-types";
4
- declare type ElementConstructorOpts = MarkOptional<Omit<ExcalidrawGenericElement, "id" | "type" | "isDeleted" | "updated">, "width" | "height" | "angle" | "groupIds" | "boundElements" | "seed" | "version" | "versionNonce" | "link" | "strokeStyle" | "fillStyle" | "strokeColor" | "backgroundColor" | "roughness" | "strokeWidth" | "roundness" | "locked" | "opacity">;
4
+ export type ElementConstructorOpts = MarkOptional<Omit<ExcalidrawGenericElement, "id" | "type" | "isDeleted" | "updated">, "width" | "height" | "angle" | "groupIds" | "frameId" | "boundElements" | "seed" | "version" | "versionNonce" | "link" | "strokeStyle" | "fillStyle" | "strokeColor" | "backgroundColor" | "roughness" | "strokeWidth" | "roundness" | "locked" | "opacity">;
5
5
  export declare const newElement: (opts: {
6
6
  type: ExcalidrawGenericElement["type"];
7
7
  } & ElementConstructorOpts) => NonDeleted<ExcalidrawGenericElement>;
8
+ export declare const newEmbeddableElement: (opts: {
9
+ type: "embeddable";
10
+ validated: ExcalidrawEmbeddableElement["validated"];
11
+ } & ElementConstructorOpts) => NonDeleted<ExcalidrawEmbeddableElement>;
12
+ export declare const newFrameElement: (opts: ElementConstructorOpts) => NonDeleted<ExcalidrawFrameElement>;
8
13
  export declare const newTextElement: (opts: {
9
14
  text: string;
10
15
  fontSize?: number;
11
16
  fontFamily?: FontFamilyValues;
12
17
  textAlign?: TextAlign;
13
18
  verticalAlign?: VerticalAlign;
14
- containerId?: ExcalidrawTextContainer["id"];
19
+ containerId?: ExcalidrawTextContainer["id"] | null;
15
20
  lineHeight?: ExcalidrawTextElement["lineHeight"];
16
21
  strokeWidth?: ExcalidrawTextElement["strokeWidth"];
17
22
  } & ElementConstructorOpts) => NonDeleted<ExcalidrawTextElement>;
@@ -35,8 +40,8 @@ export declare const newFreeDrawElement: (opts: {
35
40
  } & ElementConstructorOpts) => NonDeleted<ExcalidrawFreeDrawElement>;
36
41
  export declare const newLinearElement: (opts: {
37
42
  type: ExcalidrawLinearElement["type"];
38
- startArrowhead: Arrowhead | null;
39
- endArrowhead: Arrowhead | null;
43
+ startArrowhead?: Arrowhead | null;
44
+ endArrowhead?: Arrowhead | null;
40
45
  points?: ExcalidrawLinearElement["points"];
41
46
  } & ElementConstructorOpts) => NonDeleted<ExcalidrawLinearElement>;
42
47
  export declare const newImageElement: (opts: {
@@ -55,6 +60,11 @@ export declare const newImageElement: (opts: {
55
60
  * Typed arrays and other non-null objects.
56
61
  */
57
62
  export declare const deepCopyElement: <T extends ExcalidrawElement>(val: T) => Mutable<T>;
63
+ /**
64
+ * utility wrapper to generate new id. In test env it reuses the old + postfix
65
+ * for test assertions.
66
+ */
67
+ export declare const regenerateId: (previousId: string | null) => string;
58
68
  /**
59
69
  * Duplicate an element, often used in the alt-drag operation.
60
70
  * Note that this method has gotten a bit complicated since the
@@ -84,4 +94,3 @@ export declare const duplicateElements: (elements: readonly ExcalidrawElement[],
84
94
  /** NOTE also updates version flags and `updated` */
85
95
  randomizeSeed: boolean;
86
96
  }) => ExcalidrawElement[];
87
- export {};
@@ -4,5 +4,6 @@ import { PointerDownState } from "../types";
4
4
  export declare const normalizeAngle: (angle: number) => number;
5
5
  export declare const transformElements: (pointerDownState: PointerDownState, transformHandleType: MaybeTransformHandleType, selectedElements: readonly NonDeletedExcalidrawElement[], resizeArrowDirection: "origin" | "end", shouldRotateWithDiscreteAngle: boolean, shouldResizeFromCenter: boolean, shouldMaintainAspectRatio: boolean, pointerX: number, pointerY: number, centerX: number, centerY: number) => boolean;
6
6
  export declare const resizeSingleElement: (originalElements: PointerDownState["originalElements"], shouldMaintainAspectRatio: boolean, element: NonDeletedExcalidrawElement, transformHandleDirection: TransformHandleDirection, shouldResizeFromCenter: boolean, pointerX: number, pointerY: number) => void;
7
+ export declare const resizeMultipleElements: (pointerDownState: PointerDownState, selectedElements: readonly NonDeletedExcalidrawElement[], transformHandleType: "nw" | "ne" | "sw" | "se", shouldResizeFromCenter: boolean, pointerX: number, pointerY: number) => void;
7
8
  export declare const getResizeOffsetXY: (transformHandleType: MaybeTransformHandleType, selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
8
9
  export declare const getResizeArrowDirection: (transformHandleType: MaybeTransformHandleType, element: NonDeleted<ExcalidrawLinearElement>) => "origin" | "end";
@@ -1,3 +1,3 @@
1
- import { AppState } from "../types";
2
1
  import { NonDeletedExcalidrawElement } from "./types";
3
- export declare const showSelectedShapeActions: (appState: AppState, elements: readonly NonDeletedExcalidrawElement[]) => boolean;
2
+ import { UIAppState } from "../types";
3
+ export declare const showSelectedShapeActions: (appState: UIAppState, elements: readonly NonDeletedExcalidrawElement[]) => boolean;
@@ -1,6 +1,13 @@
1
1
  import { ExcalidrawElement } from "./types";
2
- import { AppState } from "../types";
2
+ import { AppState, Zoom } from "../types";
3
3
  export declare const isInvisiblySmallElement: (element: ExcalidrawElement) => boolean;
4
+ export declare const isElementInViewport: (element: ExcalidrawElement, width: number, height: number, viewTransformations: {
5
+ zoom: Zoom;
6
+ offsetLeft: number;
7
+ offsetTop: number;
8
+ scrollX: number;
9
+ scrollY: number;
10
+ }) => boolean;
4
11
  /**
5
12
  * Makes a perfect shape or diagonal/horizontal/vertical line
6
13
  */
@@ -6,7 +6,7 @@ export declare const normalizeText: (text: string) => string;
6
6
  export declare const splitIntoLines: (text: string) => string[];
7
7
  export declare const redrawTextBoundingBox: (textElement: ExcalidrawTextElement, container: ExcalidrawElement | null) => void;
8
8
  export declare const bindTextToShapeAfterDuplication: (sceneElements: ExcalidrawElement[], oldElements: ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
9
- export declare const handleBindTextResize: (container: NonDeletedExcalidrawElement, transformHandleType: MaybeTransformHandleType) => void;
9
+ export declare const handleBindTextResize: (container: NonDeletedExcalidrawElement, transformHandleType: MaybeTransformHandleType, shouldMaintainAspectRatio?: boolean) => void;
10
10
  export declare const computeBoundTextPosition: (container: ExcalidrawElement, boundTextElement: ExcalidrawTextElementWithContainer) => {
11
11
  x: number;
12
12
  y: number;
@@ -47,10 +47,6 @@ export declare const getBoundTextElement: (element: ExcalidrawElement | null) =>
47
47
  export declare const getContainerElement: (element: (ExcalidrawElement & {
48
48
  containerId: ExcalidrawElement["id"] | null;
49
49
  }) | null) => ExcalidrawElement | null;
50
- export declare const getContainerDims: (element: ExcalidrawElement) => {
51
- width: number;
52
- height: number;
53
- };
54
50
  export declare const getContainerCenter: (container: ExcalidrawElement, appState: AppState) => {
55
51
  x: number;
56
52
  y: number;
@@ -69,10 +65,12 @@ export declare const shouldAllowVerticalAlign: (selectedElements: NonDeletedExca
69
65
  export declare const suppportsHorizontalAlign: (selectedElements: NonDeletedExcalidrawElement[]) => boolean;
70
66
  export declare const getTextBindableContainerAtPosition: (elements: readonly ExcalidrawElement[], appState: AppState, x: number, y: number) => ExcalidrawTextContainer | null;
71
67
  declare const VALID_CONTAINER_TYPES: Set<string>;
72
- export declare const isValidTextContainer: (element: ExcalidrawElement) => boolean;
68
+ export declare const isValidTextContainer: (element: {
69
+ type: ExcalidrawElement["type"];
70
+ }) => boolean;
73
71
  export declare const computeContainerDimensionForBoundText: (dimension: number, containerType: ExtractSetType<typeof VALID_CONTAINER_TYPES>) => number;
74
- export declare const getMaxContainerWidth: (container: ExcalidrawElement) => number;
75
- export declare const getMaxContainerHeight: (container: ExcalidrawElement) => number;
72
+ export declare const getBoundTextMaxWidth: (container: ExcalidrawElement, boundTextElement?: ExcalidrawTextElement | null) => number;
73
+ export declare const getBoundTextMaxHeight: (container: ExcalidrawElement, boundTextElement: ExcalidrawTextElementWithContainer) => number;
76
74
  export declare const isMeasureTextSupported: () => boolean;
77
75
  export declare const getDefaultLineHeight: (fontFamily: FontFamilyValues) => number & {
78
76
  _brand: "unitlessLineHeight";
@@ -15,7 +15,7 @@ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords,
15
15
  }) => void;
16
16
  getViewportCoords: (x: number, y: number) => [number, number];
17
17
  element: ExcalidrawTextElement;
18
- canvas: HTMLCanvasElement | null;
18
+ canvas: HTMLCanvasElement;
19
19
  excalidrawContainer: HTMLDivElement | null;
20
20
  app: App;
21
21
  }) => void;
@@ -1,23 +1,30 @@
1
1
  import { ExcalidrawElement, NonDeletedExcalidrawElement, PointerType } from "./types";
2
- import { AppState, Zoom } from "../types";
3
- export declare type TransformHandleDirection = "n" | "s" | "w" | "e" | "nw" | "ne" | "sw" | "se";
4
- export declare type TransformHandleType = TransformHandleDirection | "rotation";
5
- export declare type TransformHandle = [number, number, number, number];
6
- export declare type TransformHandles = Partial<{
2
+ import { InteractiveCanvasAppState, Zoom } from "../types";
3
+ export type TransformHandleDirection = "n" | "s" | "w" | "e" | "nw" | "ne" | "sw" | "se";
4
+ export type TransformHandleType = TransformHandleDirection | "rotation";
5
+ export type TransformHandle = [number, number, number, number];
6
+ export type TransformHandles = Partial<{
7
7
  [T in TransformHandleType]: TransformHandle;
8
8
  }>;
9
- export declare type MaybeTransformHandleType = TransformHandleType | false;
9
+ export type MaybeTransformHandleType = TransformHandleType | false;
10
10
  export declare const OMIT_SIDES_FOR_MULTIPLE_ELEMENTS: {
11
11
  e: boolean;
12
12
  s: boolean;
13
13
  n: boolean;
14
14
  w: boolean;
15
15
  };
16
+ export declare const OMIT_SIDES_FOR_FRAME: {
17
+ e: boolean;
18
+ s: boolean;
19
+ n: boolean;
20
+ w: boolean;
21
+ rotation: boolean;
22
+ };
16
23
  export declare const getTransformHandlesFromCoords: ([x1, y1, x2, y2, cx, cy]: [number, number, number, number, number, number], angle: number, zoom: Zoom, pointerType: PointerType, omitSides?: {
17
24
  s?: boolean | undefined;
18
25
  e?: boolean | undefined;
19
- n?: boolean | undefined;
20
26
  w?: boolean | undefined;
27
+ n?: boolean | undefined;
21
28
  nw?: boolean | undefined;
22
29
  ne?: boolean | undefined;
23
30
  sw?: boolean | undefined;
@@ -25,4 +32,4 @@ export declare const getTransformHandlesFromCoords: ([x1, y1, x2, y2, cx, cy]: [
25
32
  rotation?: boolean | undefined;
26
33
  }, margin?: number) => TransformHandles;
27
34
  export declare const getTransformHandles: (element: ExcalidrawElement, zoom: Zoom, pointerType?: PointerType) => TransformHandles;
28
- export declare const shouldShowBoundingBox: (elements: NonDeletedExcalidrawElement[], appState: AppState) => boolean;
35
+ export declare const shouldShowBoundingBox: (elements: readonly NonDeletedExcalidrawElement[], appState: InteractiveCanvasAppState) => boolean;
@@ -1,10 +1,12 @@
1
1
  import { AppState } from "../types";
2
2
  import { MarkNonNullable } from "../utility-types";
3
- import { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawGenericElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, RoundnessType } from "./types";
3
+ import { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawEmbeddableElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawGenericElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, ExcalidrawFrameElement, RoundnessType } from "./types";
4
4
  export declare const isGenericElement: (element: ExcalidrawElement | null) => element is ExcalidrawGenericElement;
5
5
  export declare const isInitializedImageElement: (element: ExcalidrawElement | null) => element is InitializedExcalidrawImageElement;
6
6
  export declare const isImageElement: (element: ExcalidrawElement | null) => element is ExcalidrawImageElement;
7
+ export declare const isEmbeddableElement: (element: ExcalidrawElement | null | undefined) => element is ExcalidrawEmbeddableElement;
7
8
  export declare const isTextElement: (element: ExcalidrawElement | null) => element is ExcalidrawTextElement;
9
+ export declare const isFrameElement: (element: ExcalidrawElement | null) => element is ExcalidrawFrameElement;
8
10
  export declare const isFreeDrawElement: (element?: ExcalidrawElement | null) => element is ExcalidrawFreeDrawElement;
9
11
  export declare const isFreeDrawElementType: (elementType: ExcalidrawElement["type"]) => boolean;
10
12
  export declare const isLinearElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLinearElement;
@@ -1,23 +1,23 @@
1
1
  import { Point } from "../types";
2
2
  import { FONT_FAMILY, ROUNDNESS, TEXT_ALIGN, THEME, VERTICAL_ALIGN } from "../constants";
3
3
  import { MarkNonNullable, ValueOf } from "../utility-types";
4
- export declare type ChartType = "bar" | "line";
5
- export declare type FillStyle = "hachure" | "cross-hatch" | "solid" | "zigzag";
6
- export declare type FontFamilyKeys = keyof typeof FONT_FAMILY;
7
- export declare type FontFamilyValues = typeof FONT_FAMILY[FontFamilyKeys];
8
- export declare type Theme = typeof THEME[keyof typeof THEME];
9
- export declare type FontString = string & {
4
+ export type ChartType = "bar" | "line";
5
+ export type FillStyle = "hachure" | "cross-hatch" | "solid" | "zigzag";
6
+ export type FontFamilyKeys = keyof typeof FONT_FAMILY;
7
+ export type FontFamilyValues = typeof FONT_FAMILY[FontFamilyKeys];
8
+ export type Theme = typeof THEME[keyof typeof THEME];
9
+ export type FontString = string & {
10
10
  _brand: "fontString";
11
11
  };
12
- export declare type GroupId = string;
13
- export declare type PointerType = "mouse" | "pen" | "touch";
14
- export declare type StrokeRoundness = "round" | "sharp";
15
- export declare type RoundnessType = ValueOf<typeof ROUNDNESS>;
16
- export declare type StrokeStyle = "solid" | "dashed" | "dotted";
17
- export declare type TextAlign = typeof TEXT_ALIGN[keyof typeof TEXT_ALIGN];
18
- declare type VerticalAlignKeys = keyof typeof VERTICAL_ALIGN;
19
- export declare type VerticalAlign = typeof VERTICAL_ALIGN[VerticalAlignKeys];
20
- declare type _ExcalidrawElementBase = Readonly<{
12
+ export type GroupId = string;
13
+ export type PointerType = "mouse" | "pen" | "touch";
14
+ export type StrokeRoundness = "round" | "sharp";
15
+ export type RoundnessType = ValueOf<typeof ROUNDNESS>;
16
+ export type StrokeStyle = "solid" | "dashed" | "dotted";
17
+ export type TextAlign = typeof TEXT_ALIGN[keyof typeof TEXT_ALIGN];
18
+ type VerticalAlignKeys = keyof typeof VERTICAL_ALIGN;
19
+ export type VerticalAlign = typeof VERTICAL_ALIGN[VerticalAlignKeys];
20
+ type _ExcalidrawElementBase = Readonly<{
21
21
  id: string;
22
22
  x: number;
23
23
  y: number;
@@ -49,6 +49,7 @@ declare type _ExcalidrawElementBase = Readonly<{
49
49
  /** List of groups the element belongs to.
50
50
  Ordered from deepest to shallowest. */
51
51
  groupIds: readonly GroupId[];
52
+ frameId: string | null;
52
53
  /** other elements that are bound to this element */
53
54
  boundElements: readonly Readonly<{
54
55
  id: ExcalidrawLinearElement["id"];
@@ -60,19 +61,30 @@ declare type _ExcalidrawElementBase = Readonly<{
60
61
  locked: boolean;
61
62
  customData?: Record<string, any>;
62
63
  }>;
63
- export declare type ExcalidrawSelectionElement = _ExcalidrawElementBase & {
64
+ export type ExcalidrawSelectionElement = _ExcalidrawElementBase & {
64
65
  type: "selection";
65
66
  };
66
- export declare type ExcalidrawRectangleElement = _ExcalidrawElementBase & {
67
+ export type ExcalidrawRectangleElement = _ExcalidrawElementBase & {
67
68
  type: "rectangle";
68
69
  };
69
- export declare type ExcalidrawDiamondElement = _ExcalidrawElementBase & {
70
+ export type ExcalidrawDiamondElement = _ExcalidrawElementBase & {
70
71
  type: "diamond";
71
72
  };
72
- export declare type ExcalidrawEllipseElement = _ExcalidrawElementBase & {
73
+ export type ExcalidrawEllipseElement = _ExcalidrawElementBase & {
73
74
  type: "ellipse";
74
75
  };
75
- export declare type ExcalidrawImageElement = _ExcalidrawElementBase & Readonly<{
76
+ export type ExcalidrawEmbeddableElement = _ExcalidrawElementBase & Readonly<{
77
+ type: "embeddable";
78
+ /**
79
+ * indicates whether the embeddable src (url) has been validated for rendering.
80
+ * null value indicates that the validation is pending. We reset the
81
+ * value on each restore (or url change) so that we can guarantee
82
+ * the validation came from a trusted source (the editor). Also because we
83
+ * may not have access to host-app supplied url validator during restore.
84
+ */
85
+ validated: boolean | null;
86
+ }>;
87
+ export type ExcalidrawImageElement = _ExcalidrawElementBase & Readonly<{
76
88
  type: "image";
77
89
  fileId: FileId | null;
78
90
  /** whether respective file is persisted */
@@ -80,22 +92,26 @@ export declare type ExcalidrawImageElement = _ExcalidrawElementBase & Readonly<{
80
92
  /** X and Y scale factors <-1, 1>, used for image axis flipping */
81
93
  scale: [number, number];
82
94
  }>;
83
- export declare type InitializedExcalidrawImageElement = MarkNonNullable<ExcalidrawImageElement, "fileId">;
95
+ export type InitializedExcalidrawImageElement = MarkNonNullable<ExcalidrawImageElement, "fileId">;
96
+ export type ExcalidrawFrameElement = _ExcalidrawElementBase & {
97
+ type: "frame";
98
+ name: string | null;
99
+ };
84
100
  /**
85
101
  * These are elements that don't have any additional properties.
86
102
  */
87
- export declare type ExcalidrawGenericElement = ExcalidrawSelectionElement | ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement;
103
+ export type ExcalidrawGenericElement = ExcalidrawSelectionElement | ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement;
88
104
  /**
89
105
  * ExcalidrawElement should be JSON serializable and (eventually) contain
90
106
  * no computed data. The list of all ExcalidrawElements should be shareable
91
107
  * between peers and contain no state local to the peer.
92
108
  */
93
- export declare type ExcalidrawElement = ExcalidrawGenericElement | ExcalidrawTextElement | ExcalidrawLinearElement | ExcalidrawFreeDrawElement | ExcalidrawImageElement;
94
- export declare type NonDeleted<TElement extends ExcalidrawElement> = TElement & {
109
+ export type ExcalidrawElement = ExcalidrawGenericElement | ExcalidrawTextElement | ExcalidrawLinearElement | ExcalidrawFreeDrawElement | ExcalidrawImageElement | ExcalidrawFrameElement | ExcalidrawEmbeddableElement;
110
+ export type NonDeleted<TElement extends ExcalidrawElement> = TElement & {
95
111
  isDeleted: boolean;
96
112
  };
97
- export declare type NonDeletedExcalidrawElement = NonDeleted<ExcalidrawElement>;
98
- export declare type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
113
+ export type NonDeletedExcalidrawElement = NonDeleted<ExcalidrawElement>;
114
+ export type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
99
115
  type: "text";
100
116
  fontSize: number;
101
117
  fontFamily: FontFamilyValues;
@@ -113,18 +129,18 @@ export declare type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
113
129
  _brand: "unitlessLineHeight";
114
130
  };
115
131
  }>;
116
- export declare type ExcalidrawBindableElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawTextElement | ExcalidrawImageElement;
117
- export declare type ExcalidrawTextContainer = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawImageElement | ExcalidrawArrowElement;
118
- export declare type ExcalidrawTextElementWithContainer = {
132
+ export type ExcalidrawBindableElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawTextElement | ExcalidrawImageElement | ExcalidrawEmbeddableElement | ExcalidrawFrameElement;
133
+ export type ExcalidrawTextContainer = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawArrowElement;
134
+ export type ExcalidrawTextElementWithContainer = {
119
135
  containerId: ExcalidrawTextContainer["id"];
120
136
  } & ExcalidrawTextElement;
121
- export declare type PointBinding = {
137
+ export type PointBinding = {
122
138
  elementId: ExcalidrawBindableElement["id"];
123
139
  focus: number;
124
140
  gap: number;
125
141
  };
126
- export declare type Arrowhead = "arrow" | "bar" | "dot" | "triangle";
127
- export declare type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<{
142
+ export type Arrowhead = "arrow" | "bar" | "dot" | "triangle";
143
+ export type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<{
128
144
  type: "line" | "arrow";
129
145
  points: readonly Point[];
130
146
  lastCommittedPoint: Point | null;
@@ -133,17 +149,17 @@ export declare type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<
133
149
  startArrowhead: Arrowhead | null;
134
150
  endArrowhead: Arrowhead | null;
135
151
  }>;
136
- export declare type ExcalidrawArrowElement = ExcalidrawLinearElement & Readonly<{
152
+ export type ExcalidrawArrowElement = ExcalidrawLinearElement & Readonly<{
137
153
  type: "arrow";
138
154
  }>;
139
- export declare type ExcalidrawFreeDrawElement = _ExcalidrawElementBase & Readonly<{
155
+ export type ExcalidrawFreeDrawElement = _ExcalidrawElementBase & Readonly<{
140
156
  type: "freedraw";
141
157
  points: readonly Point[];
142
158
  pressures: readonly number[];
143
159
  simulatePressure: boolean;
144
160
  lastCommittedPoint: Point | null;
145
161
  }>;
146
- export declare type FileId = string & {
162
+ export type FileId = string & {
147
163
  _brand: "FileId";
148
164
  };
149
165
  export {};
package/types/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- declare type CANVAS_ERROR_NAMES = "CANVAS_ERROR" | "CANVAS_POSSIBLY_TOO_BIG";
1
+ type CANVAS_ERROR_NAMES = "CANVAS_ERROR" | "CANVAS_POSSIBLY_TOO_BIG";
2
2
  export declare class CanvasError extends Error {
3
3
  constructor(message?: string, name?: CANVAS_ERROR_NAMES);
4
4
  }
@@ -0,0 +1,40 @@
1
+ import { ExcalidrawElement, ExcalidrawFrameElement, NonDeleted, NonDeletedExcalidrawElement } from "./element/types";
2
+ import { AppClassProperties, AppState, StaticCanvasAppState } from "./types";
3
+ import { ExcalidrawElementsIncludingDeleted } from "./scene/Scene";
4
+ export declare const bindElementsToFramesAfterDuplication: (nextElements: ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
5
+ export declare const getElementsCompletelyInFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
6
+ export declare const isElementContainingFrame: (elements: readonly ExcalidrawElement[], element: ExcalidrawElement, frame: ExcalidrawFrameElement) => boolean;
7
+ export declare const getElementsIntersectingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
8
+ export declare const elementsAreInFrameBounds: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => boolean;
9
+ export declare const elementOverlapsWithFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameElement) => boolean;
10
+ export declare const isCursorInFrame: (cursorCoords: {
11
+ x: number;
12
+ y: number;
13
+ }, frame: NonDeleted<ExcalidrawFrameElement>) => boolean;
14
+ export declare const groupsAreAtLeastIntersectingTheFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameElement) => boolean;
15
+ export declare const groupsAreCompletelyOutOfFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameElement) => boolean;
16
+ /**
17
+ * Returns a map of frameId to frame elements. Includes empty frames.
18
+ */
19
+ export declare const groupByFrames: (elements: readonly ExcalidrawElement[]) => Map<string, ExcalidrawElement[]>;
20
+ export declare const getFrameElements: (allElements: ExcalidrawElementsIncludingDeleted, frameId: string) => ExcalidrawElement[];
21
+ export declare const getElementsInResizingFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
22
+ export declare const getElementsInNewFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement) => ExcalidrawElement[];
23
+ export declare const getContainingFrame: (element: ExcalidrawElement, elementsMap?: Map<string, ExcalidrawElement>) => ExcalidrawFrameElement | null;
24
+ export declare const addElementsToFrame: (allElements: ExcalidrawElementsIncludingDeleted, elementsToAdd: NonDeletedExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
25
+ export declare const removeElementsFromFrame: (allElements: ExcalidrawElementsIncludingDeleted, elementsToRemove: NonDeletedExcalidrawElement[], appState: AppState) => ExcalidrawElement[];
26
+ export declare const removeAllElementsFromFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
27
+ export declare const replaceAllElementsInFrame: (allElements: ExcalidrawElementsIncludingDeleted, nextElementsInFrame: ExcalidrawElement[], frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
28
+ /** does not mutate elements, but returns new ones */
29
+ export declare const updateFrameMembershipOfSelectedElements: (allElements: ExcalidrawElementsIncludingDeleted, appState: AppState, app: AppClassProperties) => ExcalidrawElementsIncludingDeleted;
30
+ /**
31
+ * filters out elements that are inside groups that contain a frame element
32
+ * anywhere in the group tree
33
+ */
34
+ export declare const omitGroupsContainingFrames: (allElements: ExcalidrawElementsIncludingDeleted, selectedElements?: readonly ExcalidrawElement[]) => ExcalidrawElement[];
35
+ /**
36
+ * depending on the appState, return target frame, which is the frame the given element
37
+ * is going to be added to or remove from
38
+ */
39
+ export declare const getTargetFrame: (element: ExcalidrawElement, appState: StaticCanvasAppState) => ExcalidrawFrameElement | null;
40
+ export declare const isElementInFrame: (element: ExcalidrawElement, allElements: ExcalidrawElementsIncludingDeleted, appState: StaticCanvasAppState) => boolean;
package/types/ga.d.ts CHANGED
@@ -16,15 +16,15 @@
16
16
  * See GAPoint, GALine, GADirection and GATransform modules for common
17
17
  * operations.
18
18
  */
19
- export declare type Point = NVector;
20
- export declare type Direction = NVector;
21
- export declare type Line = NVector;
22
- export declare type Transform = NVector;
19
+ export type Point = NVector;
20
+ export type Direction = NVector;
21
+ export type Line = NVector;
22
+ export type Transform = NVector;
23
23
  export declare const point: (x: number, y: number) => NVector;
24
24
  export declare const origin: () => NVector;
25
25
  export declare const direction: (x: number, y: number) => NVector;
26
26
  export declare const offset: (x: number, y: number) => NVector;
27
- declare type NVector = readonly [
27
+ type NVector = readonly [
28
28
  number,
29
29
  number,
30
30
  number,
package/types/groups.d.ts CHANGED
@@ -1,18 +1,21 @@
1
- import { GroupId, ExcalidrawElement, NonDeleted } from "./element/types";
2
- import { AppState } from "./types";
3
- export declare const selectGroup: (groupId: GroupId, appState: AppState, elements: readonly NonDeleted<ExcalidrawElement>[]) => AppState;
1
+ import { GroupId, ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement } from "./element/types";
2
+ import { AppClassProperties, AppState, InteractiveCanvasAppState } from "./types";
3
+ import { Mutable } from "./utility-types";
4
+ export declare const selectGroup: (groupId: GroupId, appState: InteractiveCanvasAppState, elements: readonly NonDeleted<ExcalidrawElement>[]) => Pick<InteractiveCanvasAppState, "selectedGroupIds" | "selectedElementIds" | "editingGroupId">;
5
+ export declare const selectGroupsForSelectedElements: {
6
+ (appState: Pick<AppState, "selectedElementIds" | "editingGroupId">, elements: readonly NonDeletedExcalidrawElement[], prevAppState: InteractiveCanvasAppState, app: AppClassProperties | null): Mutable<Pick<InteractiveCanvasAppState, "selectedGroupIds" | "editingGroupId" | "selectedElementIds">>;
7
+ clearCache(): void;
8
+ };
4
9
  /**
5
10
  * If the element's group is selected, don't render an individual
6
11
  * selection border around it.
7
12
  */
8
- export declare const isSelectedViaGroup: (appState: AppState, element: ExcalidrawElement) => boolean;
9
- export declare const getSelectedGroupForElement: (appState: AppState, element: ExcalidrawElement) => string | undefined;
10
- export declare const getSelectedGroupIds: (appState: AppState) => GroupId[];
11
- /**
12
- * When you select an element, you often want to actually select the whole group it's in, unless
13
- * you're currently editing that group.
14
- */
15
- export declare const selectGroupsForSelectedElements: (appState: AppState, elements: readonly NonDeleted<ExcalidrawElement>[]) => AppState;
13
+ export declare const isSelectedViaGroup: (appState: InteractiveCanvasAppState, element: ExcalidrawElement) => boolean;
14
+ export declare const getSelectedGroupForElement: (appState: InteractiveCanvasAppState, element: ExcalidrawElement) => string | undefined;
15
+ export declare const getSelectedGroupIds: (appState: InteractiveCanvasAppState) => GroupId[];
16
+ export declare const selectGroupsFromGivenElements: (elements: readonly NonDeleted<ExcalidrawElement>[], appState: InteractiveCanvasAppState) => {
17
+ [groupId: string]: boolean;
18
+ };
16
19
  export declare const editGroupForSelectedElement: (appState: AppState, element: NonDeleted<ExcalidrawElement>) => AppState;
17
20
  export declare const isElementInGroup: (element: ExcalidrawElement, groupId: string) => boolean;
18
21
  export declare const getElementsInGroup: (elements: readonly ExcalidrawElement[], groupId: string) => ExcalidrawElement[];
@@ -25,3 +28,4 @@ export declare const removeFromSelectedGroups: (groupIds: ExcalidrawElement["gro
25
28
  [groupId: string]: boolean;
26
29
  }) => string[];
27
30
  export declare const getMaximumGroups: (elements: ExcalidrawElement[]) => ExcalidrawElement[][];
31
+ export declare const elementsAreInSameGroup: (elements: ExcalidrawElement[]) => boolean;
@@ -5,9 +5,9 @@ export interface HistoryEntry {
5
5
  elements: ExcalidrawElement[];
6
6
  }
7
7
  declare const clearAppStatePropertiesForHistory: (appState: AppState) => {
8
- selectedElementIds: {
9
- [id: string]: boolean;
10
- };
8
+ selectedElementIds: Readonly<{
9
+ [id: string]: true;
10
+ }>;
11
11
  selectedGroupIds: {
12
12
  [groupId: string]: boolean;
13
13
  };
@@ -0,0 +1,4 @@
1
+ export declare const useCreatePortalContainer: (opts?: {
2
+ className?: string;
3
+ parentSelector?: string;
4
+ }) => HTMLDivElement | null;
@@ -0,0 +1,11 @@
1
+ import { LibraryItem } from "../types";
2
+ export type SvgCache = Map<LibraryItem["id"], SVGSVGElement>;
3
+ export declare const libraryItemSvgsCache: import("jotai").PrimitiveAtom<SvgCache> & {
4
+ init: SvgCache;
5
+ };
6
+ export declare const useLibraryItemSvg: (id: LibraryItem["id"] | null, elements: LibraryItem["elements"] | undefined, svgCache: SvgCache) => SVGSVGElement | undefined;
7
+ export declare const useLibraryCache: () => {
8
+ clearLibraryCache: () => void;
9
+ deleteItemsFromLibraryCache: (items: LibraryItem["id"][]) => void;
10
+ svgCache: SvgCache;
11
+ };