@zsviczian/excalidraw 0.17.6-24 → 0.17.6-26

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 (395) hide show
  1. package/dist/excalidraw.development.js +112 -112
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/styles.development.css +18 -48
  4. package/dist/styles.production.css +3 -3
  5. package/package.json +1 -1
  6. package/types/excalidraw/actions/actionAddToLibrary.d.ts +629 -629
  7. package/types/excalidraw/actions/actionAlign.d.ts +108 -108
  8. package/types/excalidraw/actions/actionBoundText.d.ts +456 -456
  9. package/types/excalidraw/actions/actionCanvas.d.ts +3070 -3070
  10. package/types/excalidraw/actions/actionClipboard.d.ts +1374 -1370
  11. package/types/excalidraw/actions/actionCropEditor.d.ts +222 -222
  12. package/types/excalidraw/actions/actionDeleteSelected.d.ts +668 -664
  13. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  14. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -21
  15. package/types/excalidraw/actions/actionElementLink.d.ts +244 -244
  16. package/types/excalidraw/actions/actionElementLock.d.ts +444 -444
  17. package/types/excalidraw/actions/actionExport.d.ts +1953 -1953
  18. package/types/excalidraw/actions/actionFinalize.d.ts +425 -425
  19. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  20. package/types/excalidraw/actions/actionFrame.d.ts +1383 -887
  21. package/types/excalidraw/actions/actionGroup.d.ts +454 -454
  22. package/types/excalidraw/actions/actionHistory.d.ts +7 -7
  23. package/types/excalidraw/actions/actionLinearEditor.d.ts +223 -223
  24. package/types/excalidraw/actions/actionLink.d.ts +223 -223
  25. package/types/excalidraw/actions/actionMenu.d.ts +649 -649
  26. package/types/excalidraw/actions/actionNavigate.d.ts +430 -430
  27. package/types/excalidraw/actions/actionProperties.d.ts +3276 -3276
  28. package/types/excalidraw/actions/actionSelectAll.d.ts +222 -222
  29. package/types/excalidraw/actions/actionStyles.d.ts +236 -236
  30. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  31. package/types/excalidraw/actions/actionToggleGridMode.d.ts +225 -225
  32. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +223 -223
  33. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +420 -420
  34. package/types/excalidraw/actions/actionToggleStats.d.ts +223 -223
  35. package/types/excalidraw/actions/actionToggleViewMode.d.ts +224 -224
  36. package/types/excalidraw/actions/actionToggleZenMode.d.ts +224 -224
  37. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  38. package/types/excalidraw/actions/index.d.ts +27 -27
  39. package/types/excalidraw/actions/manager.d.ts +21 -21
  40. package/types/excalidraw/actions/register.d.ts +5 -5
  41. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  42. package/types/excalidraw/actions/types.d.ts +46 -46
  43. package/types/excalidraw/align.d.ts +6 -6
  44. package/types/excalidraw/analytics.d.ts +1 -1
  45. package/types/excalidraw/animated-trail.d.ts +33 -33
  46. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  47. package/types/excalidraw/appState.d.ts +89 -89
  48. package/types/excalidraw/binaryheap.d.ts +12 -12
  49. package/types/excalidraw/change.d.ts +191 -191
  50. package/types/excalidraw/charts.d.ts +27 -27
  51. package/types/excalidraw/clients.d.ts +14 -14
  52. package/types/excalidraw/clipboard.d.ts +66 -66
  53. package/types/excalidraw/colors.d.ts +61 -61
  54. package/types/excalidraw/components/Actions.d.ts +34 -34
  55. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  56. package/types/excalidraw/components/App.d.ts +551 -551
  57. package/types/excalidraw/components/Avatar.d.ts +11 -11
  58. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  59. package/types/excalidraw/components/Button.d.ts +17 -17
  60. package/types/excalidraw/components/ButtonIcon.d.ts +14 -14
  61. package/types/excalidraw/components/ButtonIconCycle.d.ts +10 -10
  62. package/types/excalidraw/components/ButtonIconSelect.d.ts +19 -19
  63. package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
  64. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  65. package/types/excalidraw/components/Card.d.ts +6 -6
  66. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  67. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
  68. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
  69. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  70. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +8 -8
  71. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
  72. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  73. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  74. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  75. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  76. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  77. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  78. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  79. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  80. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  81. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  82. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  83. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  84. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  85. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  86. package/types/excalidraw/components/Dialog.d.ts +13 -13
  87. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  88. package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -11
  89. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  90. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  91. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  92. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  93. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  94. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  95. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  96. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -25
  97. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  98. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  99. package/types/excalidraw/components/HandButton.d.ts +10 -10
  100. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  101. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  102. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  103. package/types/excalidraw/components/IconPicker.d.ts +14 -14
  104. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  105. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  106. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  107. package/types/excalidraw/components/Island.d.ts +10 -10
  108. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  109. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  110. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  111. package/types/excalidraw/components/LibraryMenu.d.ts +24 -24
  112. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  113. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  114. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  115. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  116. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  117. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  118. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  119. package/types/excalidraw/components/LockButton.d.ts +10 -10
  120. package/types/excalidraw/components/MagicButton.d.ts +9 -9
  121. package/types/excalidraw/components/MobileMenu.d.ts +24 -24
  122. package/types/excalidraw/components/Modal.d.ts +14 -14
  123. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  124. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  125. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  126. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  127. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  128. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  129. package/types/excalidraw/components/Popover.d.ts +15 -15
  130. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  131. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  132. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  133. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  134. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  135. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  136. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  137. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  138. package/types/excalidraw/components/SearchSidebar.d.ts +1 -0
  139. package/types/excalidraw/components/Section.d.ts +6 -6
  140. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  141. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  142. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  143. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  144. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  145. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  146. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  147. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  148. package/types/excalidraw/components/Sidebar/common.d.ts +33 -33
  149. package/types/excalidraw/components/Spinner.d.ts +8 -8
  150. package/types/excalidraw/components/Stack.d.ts +16 -16
  151. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  152. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  153. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  154. package/types/excalidraw/components/Stats/Collapsible.d.ts +9 -8
  155. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  156. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  157. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  158. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  159. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  160. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  161. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  162. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  163. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  164. package/types/excalidraw/components/Stats/utils.d.ts +26 -26
  165. package/types/excalidraw/components/Switch.d.ts +9 -9
  166. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  167. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  168. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  169. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  170. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  171. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  172. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  173. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  174. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  175. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  176. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  177. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  178. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -8
  179. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  180. package/types/excalidraw/components/TextField.d.ts +21 -21
  181. package/types/excalidraw/components/Toast.d.ts +9 -9
  182. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  183. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  184. package/types/excalidraw/components/Trans.d.ts +9 -9
  185. package/types/excalidraw/components/UserList.d.ts +18 -18
  186. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
  187. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  188. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  189. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  190. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  191. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  192. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  193. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -45
  194. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -7
  195. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  196. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  197. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +15 -15
  198. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  199. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  200. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  201. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  202. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  203. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  204. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  205. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
  206. package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -9
  207. package/types/excalidraw/components/icons.d.ts +223 -214
  208. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  209. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  210. package/types/excalidraw/components/main-menu/MainMenu.d.ts +80 -80
  211. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -59
  212. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  213. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  214. package/types/excalidraw/constants.d.ts +326 -326
  215. package/types/excalidraw/context/tunnels.d.ts +20 -20
  216. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  217. package/types/excalidraw/cursor.d.ts +6 -6
  218. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  219. package/types/excalidraw/data/ai/types.d.ts +242 -242
  220. package/types/excalidraw/data/blob.d.ts +53 -53
  221. package/types/excalidraw/data/encode.d.ts +55 -55
  222. package/types/excalidraw/data/encryption.d.ts +9 -9
  223. package/types/excalidraw/data/filesystem.d.ts +21 -20
  224. package/types/excalidraw/data/image.d.ts +9 -15
  225. package/types/excalidraw/data/index.d.ts +22 -22
  226. package/types/excalidraw/data/json.d.ts +16 -16
  227. package/types/excalidraw/data/library.d.ts +112 -106
  228. package/types/excalidraw/data/reconcile.d.ts +6 -6
  229. package/types/excalidraw/data/resave.d.ts +5 -5
  230. package/types/excalidraw/data/restore.d.ts +21 -21
  231. package/types/excalidraw/data/transform.d.ts +81 -81
  232. package/types/excalidraw/data/types.d.ts +45 -45
  233. package/types/excalidraw/data/url.d.ts +7 -8
  234. package/types/excalidraw/deburr.d.ts +1 -1
  235. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  236. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  237. package/types/excalidraw/distribute.d.ts +6 -6
  238. package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -7
  239. package/types/excalidraw/element/binding.d.ts +102 -102
  240. package/types/excalidraw/element/bounds.d.ts +76 -76
  241. package/types/excalidraw/element/collision.d.ts +17 -17
  242. package/types/excalidraw/element/containerCache.d.ts +11 -11
  243. package/types/excalidraw/element/cropElement.d.ts +19 -19
  244. package/types/excalidraw/element/dragElements.d.ts +32 -32
  245. package/types/excalidraw/element/elementLink.d.ts +13 -13
  246. package/types/excalidraw/element/embeddable.d.ts +229 -229
  247. package/types/excalidraw/element/flowchart.d.ts +25 -25
  248. package/types/excalidraw/element/heading.d.ts +12 -12
  249. package/types/excalidraw/element/image.d.ts +32 -32
  250. package/types/excalidraw/element/index.d.ts +26 -26
  251. package/types/excalidraw/element/linearElementEditor.d.ts +129 -129
  252. package/types/excalidraw/element/mutateElement.d.ts +11 -11
  253. package/types/excalidraw/element/newElement.d.ts +106 -106
  254. package/types/excalidraw/element/resizeElements.d.ts +39 -39
  255. package/types/excalidraw/element/resizeTest.d.ts +15 -15
  256. package/types/excalidraw/element/routing.d.ts +15 -15
  257. package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -3
  258. package/types/excalidraw/element/sizeHelpers.d.ts +35 -35
  259. package/types/excalidraw/element/sortElements.d.ts +2 -2
  260. package/types/excalidraw/element/textElement.d.ts +83 -83
  261. package/types/excalidraw/element/textWrapping.d.ts +13 -13
  262. package/types/excalidraw/element/textWysiwyg.d.ts +22 -22
  263. package/types/excalidraw/element/transformHandles.d.ts +55 -55
  264. package/types/excalidraw/element/typeChecks.d.ts +39 -39
  265. package/types/excalidraw/element/types.d.ts +263 -263
  266. package/types/excalidraw/emitter.d.ts +16 -16
  267. package/types/excalidraw/entry.d.ts +1 -1
  268. package/types/excalidraw/env.d.cts +1 -1
  269. package/types/excalidraw/env.d.ts +1 -1
  270. package/types/excalidraw/errors.d.ts +32 -32
  271. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  272. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  273. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  274. package/types/excalidraw/fonts/ExcalidrawFont.d.ts +37 -0
  275. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  276. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  277. package/types/excalidraw/fonts/FontMetadata.d.ts +37 -37
  278. package/types/excalidraw/fonts/Fonts.d.ts +116 -116
  279. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  280. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  281. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  282. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  283. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  284. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  285. package/types/excalidraw/fonts/index.d.ts +1 -1
  286. package/types/excalidraw/fonts/metadata.d.ts +35 -0
  287. package/types/excalidraw/fonts/wasm/hb-subset.bindings.d.ts +45 -0
  288. package/types/excalidraw/fonts/wasm/hb-subset.loader.d.ts +5 -0
  289. package/types/excalidraw/fonts/wasm/hb-subset.wasm.d.ts +2 -0
  290. package/types/excalidraw/fonts/wasm/woff2.bindings.d.ts +31 -0
  291. package/types/excalidraw/fonts/wasm/woff2.loader.d.ts +6 -0
  292. package/types/excalidraw/fonts/wasm/woff2.wasm.d.ts +2 -0
  293. package/types/excalidraw/fractionalIndex.d.ts +48 -48
  294. package/types/excalidraw/frame.d.ts +63 -63
  295. package/types/excalidraw/ga.d.ts +63 -0
  296. package/types/excalidraw/gadirections.d.ts +8 -0
  297. package/types/excalidraw/galines.d.ts +22 -0
  298. package/types/excalidraw/gapoints.d.ts +7 -0
  299. package/types/excalidraw/gatransforms.d.ts +10 -0
  300. package/types/excalidraw/gesture.d.ts +6 -6
  301. package/types/excalidraw/groups.d.ts +33 -33
  302. package/types/excalidraw/history.d.ts +40 -40
  303. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  304. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  305. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  306. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  307. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  308. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  309. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  310. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  311. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  312. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  313. package/types/excalidraw/i18n.d.ts +24 -24
  314. package/types/excalidraw/index-node.d.ts +1 -1
  315. package/types/excalidraw/index.d.ts +64 -64
  316. package/types/excalidraw/jotai.d.ts +34 -34
  317. package/types/excalidraw/keys.d.ts +189 -189
  318. package/types/excalidraw/laser-trails.d.ts +20 -20
  319. package/types/excalidraw/main.d.ts +2 -2
  320. package/types/excalidraw/math.d.ts +79 -0
  321. package/types/excalidraw/mermaid.d.ts +2 -2
  322. package/types/excalidraw/obsidianUtils.d.ts +26 -26
  323. package/types/excalidraw/points.d.ts +7 -7
  324. package/types/excalidraw/polyfill.d.ts +2 -2
  325. package/types/excalidraw/publicPath.d.ts +1 -1
  326. package/types/excalidraw/queue.d.ts +9 -9
  327. package/types/excalidraw/random.d.ts +4 -4
  328. package/types/excalidraw/reactUtils.d.ts +14 -14
  329. package/types/excalidraw/renderer/easingFunctions.d.ts +6 -6
  330. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  331. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  332. package/types/excalidraw/renderer/renderElement.d.ts +28 -28
  333. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  334. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  335. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  336. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  337. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  338. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  339. package/types/excalidraw/scene/Scene.d.ts +79 -79
  340. package/types/excalidraw/scene/Shape.d.ts +17 -17
  341. package/types/excalidraw/scene/ShapeCache.d.ts +25 -25
  342. package/types/excalidraw/scene/comparisons.d.ts +488 -488
  343. package/types/excalidraw/scene/export.d.ts +37 -30
  344. package/types/excalidraw/scene/index.d.ts +4 -4
  345. package/types/excalidraw/scene/normalize.d.ts +4 -4
  346. package/types/excalidraw/scene/scroll.d.ts +23 -23
  347. package/types/excalidraw/scene/scrollbars.d.ts +12 -12
  348. package/types/excalidraw/scene/selection.d.ts +32 -32
  349. package/types/excalidraw/scene/types.d.ts +119 -119
  350. package/types/excalidraw/scene/zoom.d.ts +12 -12
  351. package/types/excalidraw/shapes.d.ts +85 -85
  352. package/types/excalidraw/snapping.d.ts +112 -112
  353. package/types/excalidraw/store.d.ts +129 -129
  354. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  355. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  356. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  357. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  358. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  359. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  360. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  361. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  362. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  363. package/types/excalidraw/types.d.ts +741 -741
  364. package/types/excalidraw/utility-types.d.ts +31 -31
  365. package/types/excalidraw/utils.d.ts +250 -249
  366. package/types/excalidraw/visualdebug.d.ts +35 -35
  367. package/types/excalidraw/webpack.dev.config.d.ts +81 -81
  368. package/types/excalidraw/webpack.prod.config.d.ts +97 -97
  369. package/types/excalidraw/workers.d.ts +36 -36
  370. package/types/excalidraw/zindex.d.ts +6 -6
  371. package/types/math/angle.d.ts +17 -17
  372. package/types/math/arc.d.ts +6 -6
  373. package/types/math/curve.d.ts +32 -32
  374. package/types/math/ga/ga.d.ts +63 -63
  375. package/types/math/ga/gadirections.d.ts +8 -8
  376. package/types/math/ga/galines.d.ts +22 -22
  377. package/types/math/ga/gapoints.d.ts +7 -7
  378. package/types/math/ga/gatransforms.d.ts +10 -10
  379. package/types/math/index.d.ts +12 -12
  380. package/types/math/line.d.ts +26 -26
  381. package/types/math/point.d.ts +140 -140
  382. package/types/math/polygon.d.ts +5 -5
  383. package/types/math/range.d.ts +44 -44
  384. package/types/math/segment.d.ts +32 -32
  385. package/types/math/triangle.d.ts +11 -11
  386. package/types/math/types.d.ts +96 -96
  387. package/types/math/utils.d.ts +7 -7
  388. package/types/math/vector.d.ts +92 -92
  389. package/types/utils/bbox.d.ts +9 -9
  390. package/types/utils/collision.d.ts +9 -9
  391. package/types/utils/export.d.ts +46 -46
  392. package/types/utils/geometry/geometry.d.ts +89 -0
  393. package/types/utils/geometry/shape.d.ts +71 -71
  394. package/types/utils/index.d.ts +4 -4
  395. package/types/utils/withinBounds.d.ts +19 -19
@@ -1,39 +1,39 @@
1
- import type { ElementOrToolType } from "../types";
2
- import type { MarkNonNullable } from "../utility-types";
3
- import type { Bounds } from "./bounds";
4
- import type { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawEmbeddableElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, ExcalidrawFrameElement, RoundnessType, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeElement, ExcalidrawIframeLikeElement, ExcalidrawMagicFrameElement, ExcalidrawArrowElement, ExcalidrawElbowArrowElement, PointBinding, FixedPointBinding, ExcalidrawFlowchartNodeElement } from "./types";
5
- export declare const isInitializedImageElement: (element: ExcalidrawElement | null) => element is InitializedExcalidrawImageElement;
6
- export declare const isImageElement: (element: ExcalidrawElement | null) => element is ExcalidrawImageElement;
7
- export declare const isEmbeddableElement: (element: ExcalidrawElement | null | undefined) => element is ExcalidrawEmbeddableElement;
8
- export declare const isIframeElement: (element: ExcalidrawElement | null) => element is ExcalidrawIframeElement;
9
- export declare const isIframeLikeElement: (element: ExcalidrawElement | null) => element is ExcalidrawIframeLikeElement;
10
- export declare const isTextElement: (element: ExcalidrawElement | null) => element is ExcalidrawTextElement;
11
- export declare const isFrameElement: (element: ExcalidrawElement | null) => element is ExcalidrawFrameElement;
12
- export declare const isMagicFrameElement: (element: ExcalidrawElement | null) => element is ExcalidrawMagicFrameElement;
13
- export declare const isFrameLikeElement: (element: ExcalidrawElement | null) => element is ExcalidrawFrameLikeElement;
14
- export declare const isFreeDrawElement: (element?: ExcalidrawElement | null) => element is ExcalidrawFreeDrawElement;
15
- export declare const isFreeDrawElementType: (elementType: ExcalidrawElementType) => boolean;
16
- export declare const isLinearElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLinearElement;
17
- export declare const isArrowElement: (element?: ExcalidrawElement | null) => element is ExcalidrawArrowElement;
18
- export declare const isElbowArrow: (element?: ExcalidrawElement) => element is ExcalidrawElbowArrowElement;
19
- export declare const isLinearElementType: (elementType: ElementOrToolType) => boolean;
20
- export declare const isBindingElement: (element?: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawLinearElement;
21
- export declare const isBindingElementType: (elementType: ElementOrToolType) => boolean;
22
- export declare const isBindableElement: (element: ExcalidrawElement | null | undefined, includeLocked?: boolean) => element is ExcalidrawBindableElement;
23
- export declare const isRectanguloidElement: (element?: ExcalidrawElement | null) => element is ExcalidrawBindableElement;
24
- export declare const isRectangularElement: (element?: ExcalidrawElement | null) => element is ExcalidrawBindableElement;
25
- export declare const isTextBindableContainer: (element: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawTextContainer;
26
- export declare const isExcalidrawElement: (element: any) => element is ExcalidrawElement;
27
- export declare const isFlowchartNodeElement: (element: ExcalidrawElement) => element is ExcalidrawFlowchartNodeElement;
28
- export declare const hasBoundTextElement: (element: ExcalidrawElement | null) => element is MarkNonNullable<ExcalidrawBindableElement, "boundElements">;
29
- export declare const isBoundToContainer: (element: ExcalidrawElement | null) => element is ExcalidrawTextElementWithContainer;
30
- export declare const isUsingAdaptiveRadius: (type: string) => boolean;
31
- export declare const isUsingProportionalRadius: (type: string) => boolean;
32
- export declare const canApplyRoundnessTypeToElement: (roundnessType: RoundnessType, element: ExcalidrawElement) => boolean;
33
- export declare const getDefaultRoundnessTypeForElement: (element: ExcalidrawElement) => {
34
- type: 2;
35
- } | {
36
- type: 3;
37
- } | null;
38
- export declare const isFixedPointBinding: (binding: PointBinding | FixedPointBinding) => binding is FixedPointBinding;
39
- export declare const isBounds: (box: unknown) => box is Bounds;
1
+ import type { ElementOrToolType } from "../types";
2
+ import type { MarkNonNullable } from "../utility-types";
3
+ import type { Bounds } from "./bounds";
4
+ import type { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawEmbeddableElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, ExcalidrawFrameElement, RoundnessType, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeElement, ExcalidrawIframeLikeElement, ExcalidrawMagicFrameElement, ExcalidrawArrowElement, ExcalidrawElbowArrowElement, PointBinding, FixedPointBinding, ExcalidrawFlowchartNodeElement } from "./types";
5
+ export declare const isInitializedImageElement: (element: ExcalidrawElement | null) => element is InitializedExcalidrawImageElement;
6
+ export declare const isImageElement: (element: ExcalidrawElement | null) => element is ExcalidrawImageElement;
7
+ export declare const isEmbeddableElement: (element: ExcalidrawElement | null | undefined) => element is ExcalidrawEmbeddableElement;
8
+ export declare const isIframeElement: (element: ExcalidrawElement | null) => element is ExcalidrawIframeElement;
9
+ export declare const isIframeLikeElement: (element: ExcalidrawElement | null) => element is ExcalidrawIframeLikeElement;
10
+ export declare const isTextElement: (element: ExcalidrawElement | null) => element is ExcalidrawTextElement;
11
+ export declare const isFrameElement: (element: ExcalidrawElement | null) => element is ExcalidrawFrameElement;
12
+ export declare const isMagicFrameElement: (element: ExcalidrawElement | null) => element is ExcalidrawMagicFrameElement;
13
+ export declare const isFrameLikeElement: (element: ExcalidrawElement | null) => element is ExcalidrawFrameLikeElement;
14
+ export declare const isFreeDrawElement: (element?: ExcalidrawElement | null) => element is ExcalidrawFreeDrawElement;
15
+ export declare const isFreeDrawElementType: (elementType: ExcalidrawElementType) => boolean;
16
+ export declare const isLinearElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLinearElement;
17
+ export declare const isArrowElement: (element?: ExcalidrawElement | null) => element is ExcalidrawArrowElement;
18
+ export declare const isElbowArrow: (element?: ExcalidrawElement) => element is ExcalidrawElbowArrowElement;
19
+ export declare const isLinearElementType: (elementType: ElementOrToolType) => boolean;
20
+ export declare const isBindingElement: (element?: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawLinearElement;
21
+ export declare const isBindingElementType: (elementType: ElementOrToolType) => boolean;
22
+ export declare const isBindableElement: (element: ExcalidrawElement | null | undefined, includeLocked?: boolean) => element is ExcalidrawBindableElement;
23
+ export declare const isRectanguloidElement: (element?: ExcalidrawElement | null) => element is ExcalidrawBindableElement;
24
+ export declare const isRectangularElement: (element?: ExcalidrawElement | null) => element is ExcalidrawBindableElement;
25
+ export declare const isTextBindableContainer: (element: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawTextContainer;
26
+ export declare const isExcalidrawElement: (element: any) => element is ExcalidrawElement;
27
+ export declare const isFlowchartNodeElement: (element: ExcalidrawElement) => element is ExcalidrawFlowchartNodeElement;
28
+ export declare const hasBoundTextElement: (element: ExcalidrawElement | null) => element is MarkNonNullable<ExcalidrawBindableElement, "boundElements">;
29
+ export declare const isBoundToContainer: (element: ExcalidrawElement | null) => element is ExcalidrawTextElementWithContainer;
30
+ export declare const isUsingAdaptiveRadius: (type: string) => boolean;
31
+ export declare const isUsingProportionalRadius: (type: string) => boolean;
32
+ export declare const canApplyRoundnessTypeToElement: (roundnessType: RoundnessType, element: ExcalidrawElement) => boolean;
33
+ export declare const getDefaultRoundnessTypeForElement: (element: ExcalidrawElement) => {
34
+ type: 2;
35
+ } | {
36
+ type: 3;
37
+ } | null;
38
+ export declare const isFixedPointBinding: (binding: PointBinding | FixedPointBinding) => binding is FixedPointBinding;
39
+ export declare const isBounds: (box: unknown) => box is Bounds;
@@ -1,263 +1,263 @@
1
- import type { LocalPoint, Radians } from "../../math";
2
- import type { FONT_FAMILY, ROUNDNESS, TEXT_ALIGN, THEME, VERTICAL_ALIGN } from "../constants";
3
- import type { MakeBrand, MarkNonNullable, Merge, ValueOf } from "../utility-types";
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
- _brand: "fontString";
11
- };
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
- export type FractionalIndex = string & {
21
- _brand: "franctionalIndex";
22
- };
23
- export type BoundElement = Readonly<{
24
- id: ExcalidrawLinearElement["id"];
25
- type: "arrow" | "text";
26
- }>;
27
- type _ExcalidrawElementBase = Readonly<{
28
- id: string;
29
- x: number;
30
- y: number;
31
- strokeColor: string;
32
- backgroundColor: string;
33
- fillStyle: FillStyle;
34
- strokeWidth: number;
35
- strokeStyle: StrokeStyle;
36
- roundness: null | {
37
- type: RoundnessType;
38
- value?: number;
39
- };
40
- roughness: number;
41
- opacity: number;
42
- width: number;
43
- height: number;
44
- angle: Radians;
45
- /** Random integer used to seed shape generation so that the roughjs shape
46
- doesn't differ across renders. */
47
- seed: number;
48
- /** Integer that is sequentially incremented on each change. Used to reconcile
49
- elements during collaboration or when saving to server. */
50
- version: number;
51
- /** Random integer that is regenerated on each change.
52
- Used for deterministic reconciliation of updates during collaboration,
53
- in case the versions (see above) are identical. */
54
- versionNonce: number;
55
- /** String in a fractional form defined by https://github.com/rocicorp/fractional-indexing.
56
- Used for ordering in multiplayer scenarios, such as during reconciliation or undo / redo.
57
- Always kept in sync with the array order by `syncMovedIndices` and `syncInvalidIndices`.
58
- Could be null, i.e. for new elements which were not yet assigned to the scene. */
59
- index: FractionalIndex | null;
60
- isDeleted: boolean;
61
- /** List of groups the element belongs to.
62
- Ordered from deepest to shallowest. */
63
- groupIds: readonly GroupId[];
64
- frameId: string | null;
65
- /** other elements that are bound to this element */
66
- boundElements: readonly BoundElement[] | null;
67
- /** epoch (ms) timestamp of last element update */
68
- updated: number;
69
- link: string | null;
70
- locked: boolean;
71
- customData?: Record<string, any>;
72
- }>;
73
- export type ExcalidrawSelectionElement = _ExcalidrawElementBase & {
74
- type: "selection";
75
- };
76
- export type ExcalidrawRectangleElement = _ExcalidrawElementBase & {
77
- type: "rectangle";
78
- };
79
- export type ExcalidrawDiamondElement = _ExcalidrawElementBase & {
80
- type: "diamond";
81
- };
82
- export type ExcalidrawEllipseElement = _ExcalidrawElementBase & {
83
- type: "ellipse";
84
- };
85
- export type ExcalidrawEmbeddableElement = _ExcalidrawElementBase & Readonly<{
86
- type: "embeddable";
87
- scale: [number, number];
88
- }>;
89
- export type MagicGenerationData = {
90
- status: "pending";
91
- } | {
92
- status: "done";
93
- html: string;
94
- } | {
95
- status: "error";
96
- message?: string;
97
- code: "ERR_GENERATION_INTERRUPTED" | string;
98
- };
99
- export type ExcalidrawIframeElement = _ExcalidrawElementBase & Readonly<{
100
- type: "iframe";
101
- customData?: {
102
- generationData?: MagicGenerationData;
103
- };
104
- scale: [number, number];
105
- }>;
106
- export type ExcalidrawIframeLikeElement = ExcalidrawIframeElement | ExcalidrawEmbeddableElement;
107
- export type IframeData = ({
108
- intrinsicSize: {
109
- w: number;
110
- h: number;
111
- };
112
- error?: Error;
113
- sandbox?: {
114
- allowSameOrigin?: boolean;
115
- };
116
- } & ({
117
- type: "video" | "generic";
118
- link: string;
119
- } | {
120
- type: "document";
121
- srcdoc: (theme: Theme) => string;
122
- }));
123
- export type ImageCrop = {
124
- x: number;
125
- y: number;
126
- width: number;
127
- height: number;
128
- naturalWidth: number;
129
- naturalHeight: number;
130
- };
131
- export type ExcalidrawImageElement = _ExcalidrawElementBase & Readonly<{
132
- type: "image";
133
- fileId: FileId | null;
134
- /** whether respective file is persisted */
135
- status: "pending" | "saved" | "error";
136
- /** X and Y scale factors <-1, 1>, used for image axis flipping */
137
- scale: [number, number];
138
- /** whether an element is cropped */
139
- crop: ImageCrop | null;
140
- }>;
141
- export type InitializedExcalidrawImageElement = MarkNonNullable<ExcalidrawImageElement, "fileId">;
142
- export type ExcalidrawFrameElement = _ExcalidrawElementBase & {
143
- type: "frame";
144
- name: string | null;
145
- };
146
- export type ExcalidrawMagicFrameElement = _ExcalidrawElementBase & {
147
- type: "magicframe";
148
- name: string | null;
149
- };
150
- export type ExcalidrawFrameLikeElement = ExcalidrawFrameElement | ExcalidrawMagicFrameElement;
151
- /**
152
- * These are elements that don't have any additional properties.
153
- */
154
- export type ExcalidrawGenericElement = ExcalidrawSelectionElement | ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement;
155
- export type ExcalidrawFlowchartNodeElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement;
156
- export type ExcalidrawRectanguloidElement = ExcalidrawRectangleElement | ExcalidrawImageElement | ExcalidrawTextElement | ExcalidrawFreeDrawElement | ExcalidrawIframeLikeElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement;
157
- /**
158
- * ExcalidrawElement should be JSON serializable and (eventually) contain
159
- * no computed data. The list of all ExcalidrawElements should be shareable
160
- * between peers and contain no state local to the peer.
161
- */
162
- export type ExcalidrawElement = ExcalidrawGenericElement | ExcalidrawTextElement | ExcalidrawLinearElement | ExcalidrawArrowElement | ExcalidrawFreeDrawElement | ExcalidrawImageElement | ExcalidrawFrameElement | ExcalidrawMagicFrameElement | ExcalidrawIframeElement | ExcalidrawEmbeddableElement;
163
- export type ExcalidrawNonSelectionElement = Exclude<ExcalidrawElement, ExcalidrawSelectionElement>;
164
- export type Ordered<TElement extends ExcalidrawElement> = TElement & {
165
- index: FractionalIndex;
166
- };
167
- export type OrderedExcalidrawElement = Ordered<ExcalidrawElement>;
168
- export type NonDeleted<TElement extends ExcalidrawElement> = TElement & {
169
- isDeleted: boolean;
170
- };
171
- export type NonDeletedExcalidrawElement = NonDeleted<ExcalidrawElement>;
172
- export type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
173
- type: "text";
174
- fontSize: number;
175
- fontFamily: FontFamilyValues;
176
- text: string;
177
- rawText: string;
178
- textAlign: TextAlign;
179
- verticalAlign: VerticalAlign;
180
- containerId: ExcalidrawGenericElement["id"] | null;
181
- originalText: string;
182
- /**
183
- * If `true` the width will fit the text. If `false`, the text will
184
- * wrap to fit the width.
185
- *
186
- * @default true
187
- */
188
- autoResize: boolean;
189
- /**
190
- * Unitless line height (aligned to W3C). To get line height in px, multiply
191
- * with font size (using `getLineHeightInPx` helper).
192
- */
193
- lineHeight: number & {
194
- _brand: "unitlessLineHeight";
195
- };
196
- }>;
197
- export type ExcalidrawBindableElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawTextElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawEmbeddableElement | ExcalidrawFrameElement | ExcalidrawMagicFrameElement;
198
- export type ExcalidrawTextContainer = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawArrowElement;
199
- export type ExcalidrawTextElementWithContainer = {
200
- containerId: ExcalidrawTextContainer["id"];
201
- } & ExcalidrawTextElement;
202
- export type FixedPoint = [number, number];
203
- export type PointBinding = {
204
- elementId: ExcalidrawBindableElement["id"];
205
- focus: number;
206
- gap: number;
207
- };
208
- export type FixedPointBinding = Merge<PointBinding, {
209
- fixedPoint: FixedPoint;
210
- }>;
211
- export type Arrowhead = "arrow" | "bar" | "dot" | "circle" | "circle_outline" | "triangle" | "triangle_outline" | "diamond" | "diamond_outline";
212
- export type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<{
213
- type: "line" | "arrow";
214
- points: readonly LocalPoint[];
215
- lastCommittedPoint: LocalPoint | null;
216
- startBinding: PointBinding | null;
217
- endBinding: PointBinding | null;
218
- startArrowhead: Arrowhead | null;
219
- endArrowhead: Arrowhead | null;
220
- }>;
221
- export type ExcalidrawArrowElement = ExcalidrawLinearElement & Readonly<{
222
- type: "arrow";
223
- elbowed: boolean;
224
- }>;
225
- export type ExcalidrawElbowArrowElement = Merge<ExcalidrawArrowElement, {
226
- elbowed: true;
227
- startBinding: FixedPointBinding | null;
228
- endBinding: FixedPointBinding | null;
229
- }>;
230
- export type ExcalidrawFreeDrawElement = _ExcalidrawElementBase & Readonly<{
231
- type: "freedraw";
232
- points: readonly LocalPoint[];
233
- pressures: readonly number[];
234
- simulatePressure: boolean;
235
- lastCommittedPoint: LocalPoint | null;
236
- }>;
237
- export type FileId = string & {
238
- _brand: "FileId";
239
- };
240
- export type ExcalidrawElementType = ExcalidrawElement["type"];
241
- /**
242
- * Map of excalidraw elements.
243
- * Unspecified whether deleted or non-deleted.
244
- * Can be a subset of Scene elements.
245
- */
246
- export type ElementsMap = Map<ExcalidrawElement["id"], ExcalidrawElement>;
247
- /**
248
- * Map of non-deleted elements.
249
- * Can be a subset of Scene elements.
250
- */
251
- export type NonDeletedElementsMap = Map<ExcalidrawElement["id"], NonDeletedExcalidrawElement> & MakeBrand<"NonDeletedElementsMap">;
252
- /**
253
- * Map of all excalidraw Scene elements, including deleted.
254
- * Not a subset. Use this type when you need access to current Scene elements.
255
- */
256
- export type SceneElementsMap = Map<ExcalidrawElement["id"], Ordered<ExcalidrawElement>> & MakeBrand<"SceneElementsMap">;
257
- /**
258
- * Map of all non-deleted Scene elements.
259
- * Not a subset. Use this type when you need access to current Scene elements.
260
- */
261
- export type NonDeletedSceneElementsMap = Map<ExcalidrawElement["id"], Ordered<NonDeletedExcalidrawElement>> & MakeBrand<"NonDeletedSceneElementsMap">;
262
- export type ElementsMapOrArray = readonly ExcalidrawElement[] | Readonly<ElementsMap>;
263
- export {};
1
+ import type { LocalPoint, Radians } from "../../math";
2
+ import type { FONT_FAMILY, ROUNDNESS, TEXT_ALIGN, THEME, VERTICAL_ALIGN } from "../constants";
3
+ import type { MakeBrand, MarkNonNullable, Merge, ValueOf } from "../utility-types";
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
+ _brand: "fontString";
11
+ };
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
+ export type FractionalIndex = string & {
21
+ _brand: "franctionalIndex";
22
+ };
23
+ export type BoundElement = Readonly<{
24
+ id: ExcalidrawLinearElement["id"];
25
+ type: "arrow" | "text";
26
+ }>;
27
+ type _ExcalidrawElementBase = Readonly<{
28
+ id: string;
29
+ x: number;
30
+ y: number;
31
+ strokeColor: string;
32
+ backgroundColor: string;
33
+ fillStyle: FillStyle;
34
+ strokeWidth: number;
35
+ strokeStyle: StrokeStyle;
36
+ roundness: null | {
37
+ type: RoundnessType;
38
+ value?: number;
39
+ };
40
+ roughness: number;
41
+ opacity: number;
42
+ width: number;
43
+ height: number;
44
+ angle: Radians;
45
+ /** Random integer used to seed shape generation so that the roughjs shape
46
+ doesn't differ across renders. */
47
+ seed: number;
48
+ /** Integer that is sequentially incremented on each change. Used to reconcile
49
+ elements during collaboration or when saving to server. */
50
+ version: number;
51
+ /** Random integer that is regenerated on each change.
52
+ Used for deterministic reconciliation of updates during collaboration,
53
+ in case the versions (see above) are identical. */
54
+ versionNonce: number;
55
+ /** String in a fractional form defined by https://github.com/rocicorp/fractional-indexing.
56
+ Used for ordering in multiplayer scenarios, such as during reconciliation or undo / redo.
57
+ Always kept in sync with the array order by `syncMovedIndices` and `syncInvalidIndices`.
58
+ Could be null, i.e. for new elements which were not yet assigned to the scene. */
59
+ index: FractionalIndex | null;
60
+ isDeleted: boolean;
61
+ /** List of groups the element belongs to.
62
+ Ordered from deepest to shallowest. */
63
+ groupIds: readonly GroupId[];
64
+ frameId: string | null;
65
+ /** other elements that are bound to this element */
66
+ boundElements: readonly BoundElement[] | null;
67
+ /** epoch (ms) timestamp of last element update */
68
+ updated: number;
69
+ link: string | null;
70
+ locked: boolean;
71
+ customData?: Record<string, any>;
72
+ }>;
73
+ export type ExcalidrawSelectionElement = _ExcalidrawElementBase & {
74
+ type: "selection";
75
+ };
76
+ export type ExcalidrawRectangleElement = _ExcalidrawElementBase & {
77
+ type: "rectangle";
78
+ };
79
+ export type ExcalidrawDiamondElement = _ExcalidrawElementBase & {
80
+ type: "diamond";
81
+ };
82
+ export type ExcalidrawEllipseElement = _ExcalidrawElementBase & {
83
+ type: "ellipse";
84
+ };
85
+ export type ExcalidrawEmbeddableElement = _ExcalidrawElementBase & Readonly<{
86
+ type: "embeddable";
87
+ scale: [number, number];
88
+ }>;
89
+ export type MagicGenerationData = {
90
+ status: "pending";
91
+ } | {
92
+ status: "done";
93
+ html: string;
94
+ } | {
95
+ status: "error";
96
+ message?: string;
97
+ code: "ERR_GENERATION_INTERRUPTED" | string;
98
+ };
99
+ export type ExcalidrawIframeElement = _ExcalidrawElementBase & Readonly<{
100
+ type: "iframe";
101
+ customData?: {
102
+ generationData?: MagicGenerationData;
103
+ };
104
+ scale: [number, number];
105
+ }>;
106
+ export type ExcalidrawIframeLikeElement = ExcalidrawIframeElement | ExcalidrawEmbeddableElement;
107
+ export type IframeData = ({
108
+ intrinsicSize: {
109
+ w: number;
110
+ h: number;
111
+ };
112
+ error?: Error;
113
+ sandbox?: {
114
+ allowSameOrigin?: boolean;
115
+ };
116
+ } & ({
117
+ type: "video" | "generic";
118
+ link: string;
119
+ } | {
120
+ type: "document";
121
+ srcdoc: (theme: Theme) => string;
122
+ }));
123
+ export type ImageCrop = {
124
+ x: number;
125
+ y: number;
126
+ width: number;
127
+ height: number;
128
+ naturalWidth: number;
129
+ naturalHeight: number;
130
+ };
131
+ export type ExcalidrawImageElement = _ExcalidrawElementBase & Readonly<{
132
+ type: "image";
133
+ fileId: FileId | null;
134
+ /** whether respective file is persisted */
135
+ status: "pending" | "saved" | "error";
136
+ /** X and Y scale factors <-1, 1>, used for image axis flipping */
137
+ scale: [number, number];
138
+ /** whether an element is cropped */
139
+ crop: ImageCrop | null;
140
+ }>;
141
+ export type InitializedExcalidrawImageElement = MarkNonNullable<ExcalidrawImageElement, "fileId">;
142
+ export type ExcalidrawFrameElement = _ExcalidrawElementBase & {
143
+ type: "frame";
144
+ name: string | null;
145
+ };
146
+ export type ExcalidrawMagicFrameElement = _ExcalidrawElementBase & {
147
+ type: "magicframe";
148
+ name: string | null;
149
+ };
150
+ export type ExcalidrawFrameLikeElement = ExcalidrawFrameElement | ExcalidrawMagicFrameElement;
151
+ /**
152
+ * These are elements that don't have any additional properties.
153
+ */
154
+ export type ExcalidrawGenericElement = ExcalidrawSelectionElement | ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement;
155
+ export type ExcalidrawFlowchartNodeElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement;
156
+ export type ExcalidrawRectanguloidElement = ExcalidrawRectangleElement | ExcalidrawImageElement | ExcalidrawTextElement | ExcalidrawFreeDrawElement | ExcalidrawIframeLikeElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement;
157
+ /**
158
+ * ExcalidrawElement should be JSON serializable and (eventually) contain
159
+ * no computed data. The list of all ExcalidrawElements should be shareable
160
+ * between peers and contain no state local to the peer.
161
+ */
162
+ export type ExcalidrawElement = ExcalidrawGenericElement | ExcalidrawTextElement | ExcalidrawLinearElement | ExcalidrawArrowElement | ExcalidrawFreeDrawElement | ExcalidrawImageElement | ExcalidrawFrameElement | ExcalidrawMagicFrameElement | ExcalidrawIframeElement | ExcalidrawEmbeddableElement;
163
+ export type ExcalidrawNonSelectionElement = Exclude<ExcalidrawElement, ExcalidrawSelectionElement>;
164
+ export type Ordered<TElement extends ExcalidrawElement> = TElement & {
165
+ index: FractionalIndex;
166
+ };
167
+ export type OrderedExcalidrawElement = Ordered<ExcalidrawElement>;
168
+ export type NonDeleted<TElement extends ExcalidrawElement> = TElement & {
169
+ isDeleted: boolean;
170
+ };
171
+ export type NonDeletedExcalidrawElement = NonDeleted<ExcalidrawElement>;
172
+ export type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
173
+ type: "text";
174
+ fontSize: number;
175
+ fontFamily: FontFamilyValues;
176
+ text: string;
177
+ rawText: string;
178
+ textAlign: TextAlign;
179
+ verticalAlign: VerticalAlign;
180
+ containerId: ExcalidrawGenericElement["id"] | null;
181
+ originalText: string;
182
+ /**
183
+ * If `true` the width will fit the text. If `false`, the text will
184
+ * wrap to fit the width.
185
+ *
186
+ * @default true
187
+ */
188
+ autoResize: boolean;
189
+ /**
190
+ * Unitless line height (aligned to W3C). To get line height in px, multiply
191
+ * with font size (using `getLineHeightInPx` helper).
192
+ */
193
+ lineHeight: number & {
194
+ _brand: "unitlessLineHeight";
195
+ };
196
+ }>;
197
+ export type ExcalidrawBindableElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawTextElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawEmbeddableElement | ExcalidrawFrameElement | ExcalidrawMagicFrameElement;
198
+ export type ExcalidrawTextContainer = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawArrowElement;
199
+ export type ExcalidrawTextElementWithContainer = {
200
+ containerId: ExcalidrawTextContainer["id"];
201
+ } & ExcalidrawTextElement;
202
+ export type FixedPoint = [number, number];
203
+ export type PointBinding = {
204
+ elementId: ExcalidrawBindableElement["id"];
205
+ focus: number;
206
+ gap: number;
207
+ };
208
+ export type FixedPointBinding = Merge<PointBinding, {
209
+ fixedPoint: FixedPoint;
210
+ }>;
211
+ export type Arrowhead = "arrow" | "bar" | "dot" | "circle" | "circle_outline" | "triangle" | "triangle_outline" | "diamond" | "diamond_outline" | "crowfoot_one" | "crowfoot_many" | "crowfoot_one_or_many";
212
+ export type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<{
213
+ type: "line" | "arrow";
214
+ points: readonly LocalPoint[];
215
+ lastCommittedPoint: LocalPoint | null;
216
+ startBinding: PointBinding | null;
217
+ endBinding: PointBinding | null;
218
+ startArrowhead: Arrowhead | null;
219
+ endArrowhead: Arrowhead | null;
220
+ }>;
221
+ export type ExcalidrawArrowElement = ExcalidrawLinearElement & Readonly<{
222
+ type: "arrow";
223
+ elbowed: boolean;
224
+ }>;
225
+ export type ExcalidrawElbowArrowElement = Merge<ExcalidrawArrowElement, {
226
+ elbowed: true;
227
+ startBinding: FixedPointBinding | null;
228
+ endBinding: FixedPointBinding | null;
229
+ }>;
230
+ export type ExcalidrawFreeDrawElement = _ExcalidrawElementBase & Readonly<{
231
+ type: "freedraw";
232
+ points: readonly LocalPoint[];
233
+ pressures: readonly number[];
234
+ simulatePressure: boolean;
235
+ lastCommittedPoint: LocalPoint | null;
236
+ }>;
237
+ export type FileId = string & {
238
+ _brand: "FileId";
239
+ };
240
+ export type ExcalidrawElementType = ExcalidrawElement["type"];
241
+ /**
242
+ * Map of excalidraw elements.
243
+ * Unspecified whether deleted or non-deleted.
244
+ * Can be a subset of Scene elements.
245
+ */
246
+ export type ElementsMap = Map<ExcalidrawElement["id"], ExcalidrawElement>;
247
+ /**
248
+ * Map of non-deleted elements.
249
+ * Can be a subset of Scene elements.
250
+ */
251
+ export type NonDeletedElementsMap = Map<ExcalidrawElement["id"], NonDeletedExcalidrawElement> & MakeBrand<"NonDeletedElementsMap">;
252
+ /**
253
+ * Map of all excalidraw Scene elements, including deleted.
254
+ * Not a subset. Use this type when you need access to current Scene elements.
255
+ */
256
+ export type SceneElementsMap = Map<ExcalidrawElement["id"], Ordered<ExcalidrawElement>> & MakeBrand<"SceneElementsMap">;
257
+ /**
258
+ * Map of all non-deleted Scene elements.
259
+ * Not a subset. Use this type when you need access to current Scene elements.
260
+ */
261
+ export type NonDeletedSceneElementsMap = Map<ExcalidrawElement["id"], Ordered<NonDeletedExcalidrawElement>> & MakeBrand<"NonDeletedSceneElementsMap">;
262
+ export type ElementsMapOrArray = readonly ExcalidrawElement[] | Readonly<ElementsMap>;
263
+ export {};
@@ -1,16 +1,16 @@
1
- import type { UnsubscribeCallback } from "./types";
2
- type Subscriber<T extends any[]> = (...payload: T) => void;
3
- export declare class Emitter<T extends any[] = []> {
4
- subscribers: Subscriber<T>[];
5
- /**
6
- * Attaches subscriber
7
- *
8
- * @returns unsubscribe function
9
- */
10
- on(...handlers: Subscriber<T>[] | Subscriber<T>[][]): UnsubscribeCallback;
11
- once(...handlers: Subscriber<T>[] | Subscriber<T>[][]): UnsubscribeCallback;
12
- off(...handlers: Subscriber<T>[] | Subscriber<T>[][]): void;
13
- trigger(...payload: T): this;
14
- clear(): void;
15
- }
16
- export {};
1
+ import type { UnsubscribeCallback } from "./types";
2
+ type Subscriber<T extends any[]> = (...payload: T) => void;
3
+ export declare class Emitter<T extends any[] = []> {
4
+ subscribers: Subscriber<T>[];
5
+ /**
6
+ * Attaches subscriber
7
+ *
8
+ * @returns unsubscribe function
9
+ */
10
+ on(...handlers: Subscriber<T>[] | Subscriber<T>[][]): UnsubscribeCallback;
11
+ once(...handlers: Subscriber<T>[] | Subscriber<T>[][]): UnsubscribeCallback;
12
+ off(...handlers: Subscriber<T>[] | Subscriber<T>[][]): void;
13
+ trigger(...payload: T): this;
14
+ clear(): void;
15
+ }
16
+ export {};
@@ -1 +1 @@
1
- export * from "./index";
1
+ export * from "./index";