@zsviczian/excalidraw 0.17.6-1 → 0.17.6-11

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 (421) hide show
  1. package/dist/excalidraw.development.js +1528 -1385
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/excalidraw.production.min.js.LICENSE.txt +1 -1
  4. package/dist/styles.development.css +7 -7
  5. package/dist/styles.production.css +1 -1
  6. package/package.json +3 -2
  7. package/types/excalidraw/actions/actionAddToLibrary.d.ts +611 -605
  8. package/types/excalidraw/actions/actionAlign.d.ts +108 -108
  9. package/types/excalidraw/actions/actionBoundText.d.ts +444 -440
  10. package/types/excalidraw/actions/actionCanvas.d.ts +2986 -2958
  11. package/types/excalidraw/actions/actionClipboard.d.ts +1334 -1322
  12. package/types/excalidraw/actions/actionCropEditor.d.ts +216 -0
  13. package/types/excalidraw/actions/actionDeleteSelected.d.ts +646 -640
  14. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  15. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -21
  16. package/types/excalidraw/actions/actionElementLock.d.ts +432 -428
  17. package/types/excalidraw/actions/actionExport.d.ts +1902 -1884
  18. package/types/excalidraw/actions/actionFinalize.d.ts +413 -409
  19. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  20. package/types/excalidraw/actions/actionFrame.d.ts +863 -855
  21. package/types/excalidraw/actions/actionGroup.d.ts +442 -438
  22. package/types/excalidraw/actions/actionHistory.d.ts +7 -7
  23. package/types/excalidraw/actions/actionLinearEditor.d.ts +217 -215
  24. package/types/excalidraw/actions/actionLink.d.ts +217 -215
  25. package/types/excalidraw/actions/actionMenu.d.ts +634 -628
  26. package/types/excalidraw/actions/actionNavigate.d.ts +418 -414
  27. package/types/excalidraw/actions/actionProperties.d.ts +3186 -3156
  28. package/types/excalidraw/actions/actionSelectAll.d.ts +216 -214
  29. package/types/excalidraw/actions/actionStyles.d.ts +230 -228
  30. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  31. package/types/excalidraw/actions/actionToggleGridMode.d.ts +219 -217
  32. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +217 -215
  33. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +411 -407
  34. package/types/excalidraw/actions/actionToggleStats.d.ts +217 -215
  35. package/types/excalidraw/actions/actionToggleViewMode.d.ts +218 -216
  36. package/types/excalidraw/actions/actionToggleZenMode.d.ts +218 -216
  37. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  38. package/types/excalidraw/actions/index.d.ts +27 -26
  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 +44 -44
  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 +546 -535
  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/ErrorDialog.d.ts +5 -5
  89. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  90. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  91. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  92. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  93. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  94. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  95. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -25
  96. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  97. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  98. package/types/excalidraw/components/HandButton.d.ts +10 -10
  99. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  100. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  101. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  102. package/types/excalidraw/components/IconPicker.d.ts +14 -14
  103. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  104. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  105. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  106. package/types/excalidraw/components/Island.d.ts +10 -10
  107. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  108. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  109. package/types/excalidraw/components/LayerUI.d.ts +30 -30
  110. package/types/excalidraw/components/LibraryMenu.d.ts +24 -24
  111. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  112. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  113. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  114. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  115. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  116. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  117. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  118. package/types/excalidraw/components/LockButton.d.ts +10 -10
  119. package/types/excalidraw/components/MagicButton.d.ts +9 -9
  120. package/types/excalidraw/components/MobileMenu.d.ts +24 -24
  121. package/types/excalidraw/components/Modal.d.ts +14 -14
  122. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  123. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  124. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  125. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  126. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  127. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  128. package/types/excalidraw/components/Popover.d.ts +15 -15
  129. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  130. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  131. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  132. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  133. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  134. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  135. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  136. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  137. package/types/excalidraw/components/SearchSidebar.d.ts +1 -0
  138. package/types/excalidraw/components/Section.d.ts +6 -6
  139. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  140. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  141. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  142. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  143. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  144. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  145. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  146. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  147. package/types/excalidraw/components/Sidebar/common.d.ts +33 -33
  148. package/types/excalidraw/components/Spinner.d.ts +8 -8
  149. package/types/excalidraw/components/Stack.d.ts +16 -16
  150. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  151. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  152. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  153. package/types/excalidraw/components/Stats/Collapsible.d.ts +8 -8
  154. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  155. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  156. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  157. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  158. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  159. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  160. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  161. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  162. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  163. package/types/excalidraw/components/Stats/utils.d.ts +26 -26
  164. package/types/excalidraw/components/Switch.d.ts +9 -9
  165. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +14 -14
  166. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  167. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  168. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  169. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  170. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  171. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  172. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  173. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  174. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  175. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  176. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -8
  177. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  178. package/types/excalidraw/components/TextField.d.ts +21 -21
  179. package/types/excalidraw/components/Toast.d.ts +9 -9
  180. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  181. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  182. package/types/excalidraw/components/Trans.d.ts +9 -9
  183. package/types/excalidraw/components/UserList.d.ts +18 -18
  184. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
  185. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  186. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  187. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  188. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  189. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  190. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  191. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -45
  192. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -7
  193. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  194. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  195. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +15 -15
  196. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  197. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  198. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  199. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  200. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  201. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  202. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  203. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
  204. package/types/excalidraw/components/hyperlink/helpers.d.ts +8 -8
  205. package/types/excalidraw/components/icons.d.ts +213 -212
  206. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  207. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  208. package/types/excalidraw/components/main-menu/MainMenu.d.ts +80 -80
  209. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -59
  210. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  211. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  212. package/types/excalidraw/constants.d.ts +322 -322
  213. package/types/excalidraw/context/tunnels.d.ts +20 -20
  214. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  215. package/types/excalidraw/cursor.d.ts +6 -6
  216. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  217. package/types/excalidraw/data/ai/types.d.ts +242 -242
  218. package/types/excalidraw/data/blob.d.ts +52 -49
  219. package/types/excalidraw/data/encode.d.ts +54 -54
  220. package/types/excalidraw/data/encryption.d.ts +9 -9
  221. package/types/excalidraw/data/filesystem.d.ts +20 -20
  222. package/types/excalidraw/data/image.d.ts +15 -15
  223. package/types/excalidraw/data/index.d.ts +22 -22
  224. package/types/excalidraw/data/json.d.ts +16 -16
  225. package/types/excalidraw/data/library.d.ts +106 -106
  226. package/types/excalidraw/data/reconcile.d.ts +6 -6
  227. package/types/excalidraw/data/resave.d.ts +5 -5
  228. package/types/excalidraw/data/restore.d.ts +21 -21
  229. package/types/excalidraw/data/transform.d.ts +81 -81
  230. package/types/excalidraw/data/types.d.ts +45 -45
  231. package/types/excalidraw/data/url.d.ts +8 -8
  232. package/types/excalidraw/deburr.d.ts +1 -1
  233. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  234. package/types/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  235. package/types/excalidraw/distribute.d.ts +6 -6
  236. package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -7
  237. package/types/excalidraw/element/binding.d.ts +99 -99
  238. package/types/excalidraw/element/bounds.d.ts +76 -76
  239. package/types/excalidraw/element/collision.d.ts +17 -17
  240. package/types/excalidraw/element/containerCache.d.ts +11 -11
  241. package/types/excalidraw/element/cropElement.d.ts +14 -0
  242. package/types/excalidraw/element/dragElements.d.ts +32 -32
  243. package/types/excalidraw/element/embeddable.d.ts +223 -221
  244. package/types/excalidraw/element/flowchart.d.ts +25 -25
  245. package/types/excalidraw/element/heading.d.ts +12 -12
  246. package/types/excalidraw/element/image.d.ts +32 -32
  247. package/types/excalidraw/element/index.d.ts +26 -26
  248. package/types/excalidraw/element/linearElementEditor.d.ts +128 -128
  249. package/types/excalidraw/element/mutateElement.d.ts +11 -11
  250. package/types/excalidraw/element/newElement.d.ts +106 -105
  251. package/types/excalidraw/element/resizeElements.d.ts +16 -16
  252. package/types/excalidraw/element/resizeTest.d.ts +15 -15
  253. package/types/excalidraw/element/routing.d.ts +12 -12
  254. package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -3
  255. package/types/excalidraw/element/sizeHelpers.d.ts +35 -35
  256. package/types/excalidraw/element/sortElements.d.ts +2 -2
  257. package/types/excalidraw/element/textElement.d.ts +83 -73
  258. package/types/excalidraw/element/textWrapping.d.ts +13 -0
  259. package/types/excalidraw/element/textWysiwyg.d.ts +22 -22
  260. package/types/excalidraw/element/transformHandles.d.ts +55 -55
  261. package/types/excalidraw/element/typeChecks.d.ts +39 -39
  262. package/types/excalidraw/element/types.d.ts +263 -253
  263. package/types/excalidraw/emitter.d.ts +16 -16
  264. package/types/excalidraw/entry.d.ts +1 -1
  265. package/types/excalidraw/env.d.cts +1 -1
  266. package/types/excalidraw/env.d.ts +1 -1
  267. package/types/excalidraw/errors.d.ts +25 -25
  268. package/types/excalidraw/fonts/{woff2/Cascadia → Cascadia}/index.d.ts +2 -2
  269. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
  270. package/types/excalidraw/fonts/{woff2/Emoji → Emoji}/index.d.ts +2 -2
  271. package/types/excalidraw/fonts/ExcalidrawFont.d.ts +37 -37
  272. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -35
  273. package/types/excalidraw/fonts/{woff2/Excalifont → Excalifont}/index.d.ts +2 -2
  274. package/types/excalidraw/fonts/FontMetadata.d.ts +37 -0
  275. package/types/excalidraw/fonts/Fonts.d.ts +117 -0
  276. package/types/excalidraw/fonts/{woff2/Helvetica → Helvetica}/index.d.ts +2 -2
  277. package/types/excalidraw/fonts/{woff2/Liberation → Liberation}/index.d.ts +2 -2
  278. package/types/excalidraw/fonts/{woff2/Lilita → Lilita}/index.d.ts +2 -2
  279. package/types/excalidraw/fonts/{woff2/Nunito → Nunito}/index.d.ts +2 -2
  280. package/types/excalidraw/fonts/{woff2/Virgil → Virgil}/index.d.ts +2 -2
  281. package/types/excalidraw/fonts/{woff2/Xiaolai → Xiaolai}/index.d.ts +8 -8
  282. package/types/excalidraw/fonts/index.d.ts +1 -87
  283. package/types/excalidraw/fonts/metadata.d.ts +35 -37
  284. package/types/excalidraw/fonts/wasm/hb-subset.bindings.d.ts +45 -45
  285. package/types/excalidraw/fonts/wasm/hb-subset.loader.d.ts +5 -5
  286. package/types/excalidraw/fonts/wasm/hb-subset.wasm.d.ts +2 -2
  287. package/types/excalidraw/fonts/wasm/woff2.bindings.d.ts +31 -31
  288. package/types/excalidraw/fonts/wasm/woff2.loader.d.ts +6 -6
  289. package/types/excalidraw/fonts/wasm/woff2.wasm.d.ts +2 -2
  290. package/types/excalidraw/fractionalIndex.d.ts +48 -48
  291. package/types/excalidraw/frame.d.ts +63 -63
  292. package/types/excalidraw/ga.d.ts +63 -63
  293. package/types/excalidraw/gadirections.d.ts +8 -8
  294. package/types/excalidraw/galines.d.ts +22 -22
  295. package/types/excalidraw/gapoints.d.ts +7 -7
  296. package/types/excalidraw/gatransforms.d.ts +10 -10
  297. package/types/excalidraw/gesture.d.ts +6 -6
  298. package/types/excalidraw/groups.d.ts +33 -33
  299. package/types/excalidraw/history.d.ts +40 -40
  300. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  301. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  302. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  303. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  304. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  305. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  306. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  307. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  308. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  309. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  310. package/types/excalidraw/i18n.d.ts +24 -24
  311. package/types/excalidraw/index-node.d.ts +1 -1
  312. package/types/excalidraw/index.d.ts +62 -62
  313. package/types/excalidraw/jotai.d.ts +34 -34
  314. package/types/excalidraw/keys.d.ts +189 -82
  315. package/types/excalidraw/laser-trails.d.ts +20 -20
  316. package/types/excalidraw/main.d.ts +2 -2
  317. package/types/excalidraw/math.d.ts +79 -79
  318. package/types/excalidraw/mermaid.d.ts +2 -2
  319. package/types/excalidraw/obsidianUtils.d.ts +23 -21
  320. package/types/excalidraw/points.d.ts +7 -7
  321. package/types/excalidraw/polyfill.d.ts +2 -2
  322. package/types/excalidraw/publicPath.d.ts +1 -1
  323. package/types/excalidraw/queue.d.ts +9 -9
  324. package/types/excalidraw/random.d.ts +4 -4
  325. package/types/excalidraw/reactUtils.d.ts +14 -14
  326. package/types/excalidraw/renderer/easingFunctions.d.ts +6 -6
  327. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  328. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  329. package/types/excalidraw/renderer/renderElement.d.ts +28 -27
  330. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  331. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  332. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  333. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  334. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  335. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  336. package/types/excalidraw/scene/Scene.d.ts +78 -78
  337. package/types/excalidraw/scene/Shape.d.ts +17 -17
  338. package/types/excalidraw/scene/ShapeCache.d.ts +25 -25
  339. package/types/excalidraw/scene/comparisons.d.ts +488 -487
  340. package/types/excalidraw/scene/export.d.ts +30 -29
  341. package/types/excalidraw/scene/index.d.ts +4 -4
  342. package/types/excalidraw/scene/normalize.d.ts +4 -4
  343. package/types/excalidraw/scene/scroll.d.ts +23 -23
  344. package/types/excalidraw/scene/scrollbars.d.ts +12 -12
  345. package/types/excalidraw/scene/selection.d.ts +32 -32
  346. package/types/excalidraw/scene/types.d.ts +119 -112
  347. package/types/excalidraw/scene/zoom.d.ts +12 -12
  348. package/types/excalidraw/shapes.d.ts +85 -85
  349. package/types/excalidraw/snapping.d.ts +112 -112
  350. package/types/excalidraw/store.d.ts +129 -129
  351. package/types/excalidraw/{fonts/wasm/hb-subset-bindings.d.ts → subset/harfbuzz/harfbuzz-bindings.d.ts} +45 -45
  352. package/types/excalidraw/{fonts/wasm/hb-subset-loader.d.ts → subset/harfbuzz/harfbuzz-loader.d.ts} +13 -13
  353. package/types/excalidraw/{fonts/wasm/hb-subset-wasm.d.ts → subset/harfbuzz/harfbuzz-wasm.d.ts} +2 -2
  354. package/types/excalidraw/{fonts/subset → subset}/subset-main.d.ts +12 -12
  355. package/types/excalidraw/{fonts/subset → subset}/subset-shared.chunk.d.ts +32 -32
  356. package/types/excalidraw/{fonts/subset → subset}/subset-worker.chunk.d.ts +15 -15
  357. package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-bindings.d.ts +31 -31
  358. package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-loader.d.ts +14 -14
  359. package/types/excalidraw/{fonts/wasm → subset/woff2}/woff2-wasm.d.ts +2 -2
  360. package/types/excalidraw/types.d.ts +730 -719
  361. package/types/excalidraw/utility-types.d.ts +31 -31
  362. package/types/excalidraw/utils.d.ts +249 -249
  363. package/types/excalidraw/visualdebug.d.ts +35 -35
  364. package/types/excalidraw/webpack.dev.config.d.ts +81 -81
  365. package/types/excalidraw/webpack.prod.config.d.ts +97 -97
  366. package/types/excalidraw/workers.d.ts +36 -36
  367. package/types/excalidraw/zindex.d.ts +6 -6
  368. package/types/math/angle.d.ts +17 -17
  369. package/types/math/arc.d.ts +6 -6
  370. package/types/math/curve.d.ts +32 -32
  371. package/types/math/ga/ga.d.ts +63 -63
  372. package/types/math/ga/gadirections.d.ts +8 -8
  373. package/types/math/ga/galines.d.ts +22 -22
  374. package/types/math/ga/gapoints.d.ts +7 -7
  375. package/types/math/ga/gatransforms.d.ts +10 -10
  376. package/types/math/index.d.ts +12 -12
  377. package/types/math/line.d.ts +26 -26
  378. package/types/math/point.d.ts +140 -140
  379. package/types/math/polygon.d.ts +5 -5
  380. package/types/math/range.d.ts +44 -44
  381. package/types/math/segment.d.ts +32 -32
  382. package/types/math/triangle.d.ts +11 -11
  383. package/types/math/types.d.ts +96 -96
  384. package/types/math/utils.d.ts +7 -6
  385. package/types/math/vector.d.ts +92 -88
  386. package/types/utils/bbox.d.ts +9 -9
  387. package/types/utils/collision.d.ts +9 -9
  388. package/types/utils/export.d.ts +46 -44
  389. package/types/utils/geometry/geometry.d.ts +89 -89
  390. package/types/utils/geometry/shape.d.ts +71 -71
  391. package/types/utils/index.d.ts +4 -4
  392. package/types/utils/withinBounds.d.ts +19 -19
  393. package/dist/excalidraw-assets/CascadiaCode-Regular.woff2 +0 -0
  394. package/dist/excalidraw-assets/ComicShanns-Regular.woff2 +0 -0
  395. package/dist/excalidraw-assets/Excalifont-Regular.woff2 +0 -0
  396. package/dist/excalidraw-assets/LiberationSans-Regular.woff2 +0 -0
  397. package/dist/excalidraw-assets/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
  398. package/dist/excalidraw-assets/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
  399. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
  400. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
  401. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
  402. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
  403. package/dist/excalidraw-assets/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
  404. package/dist/excalidraw-assets/Virgil-Regular.woff2 +0 -0
  405. package/dist/excalidraw-assets-dev/CascadiaCode-Regular.woff2 +0 -0
  406. package/dist/excalidraw-assets-dev/ComicShanns-Regular.woff2 +0 -0
  407. package/dist/excalidraw-assets-dev/Excalifont-Regular.woff2 +0 -0
  408. package/dist/excalidraw-assets-dev/LiberationSans-Regular.woff2 +0 -0
  409. package/dist/excalidraw-assets-dev/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
  410. package/dist/excalidraw-assets-dev/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
  411. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
  412. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
  413. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
  414. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
  415. package/dist/excalidraw-assets-dev/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
  416. package/dist/excalidraw-assets-dev/Virgil-Regular.woff2 +0 -0
  417. package/types/excalidraw/components/MagicSettings.d.ts +0 -8
  418. package/types/excalidraw/components/Stats.d.ts +0 -11
  419. package/types/excalidraw/data/magic.d.ts +0 -23
  420. package/types/excalidraw/fonts/woff2/Comic/index.d.ts +0 -2
  421. package/types/excalidraw/scene/Fonts.d.ts +0 -19
@@ -1,31 +1,31 @@
1
- export type Mutable<T> = {
2
- -readonly [P in keyof T]: T[P];
3
- };
4
- export type ValueOf<T> = T[keyof T];
5
- export type Merge<M, N> = Omit<M, keyof N> & N;
6
- /** utility type to assert that the second type is a subtype of the first type.
7
- * Returns the subtype. */
8
- export type SubtypeOf<Supertype, Subtype extends Supertype> = Subtype;
9
- export type ResolutionType<T extends (...args: any) => any> = T extends (...args: any) => Promise<infer R> ? R : any;
10
- export type MarkOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
11
- export type MarkRequired<T, RK extends keyof T> = Exclude<T, RK> & Required<Pick<T, RK>>;
12
- export type MarkNonNullable<T, K extends keyof T> = {
13
- [P in K]-?: P extends K ? NonNullable<T[P]> : T[P];
14
- } & {
15
- [P in keyof T]: T[P];
16
- };
17
- export type NonOptional<T> = Exclude<T, undefined>;
18
- export type SignatureType<T> = T extends (...args: infer R) => any ? R : never;
19
- export type CallableType<T extends (...args: any[]) => any> = (...args: SignatureType<T>) => ReturnType<T>;
20
- export type ForwardRef<T, P = any> = Parameters<CallableType<React.ForwardRefRenderFunction<T, P>>>[1];
21
- export type ExtractSetType<T extends Set<any>> = T extends Set<infer U> ? U : never;
22
- export type SameType<T, U> = T extends U ? (U extends T ? true : false) : false;
23
- export type Assert<T extends true> = T;
24
- export type NestedKeyOf<T, K = keyof T> = K extends keyof T & (string | number) ? `${K}` | (T[K] extends object ? `${K}.${NestedKeyOf<T[K]>}` : never) : never;
25
- export type SetLike<T> = Set<T> | T[];
26
- export type ReadonlySetLike<T> = ReadonlySet<T> | readonly T[];
27
- export type MakeBrand<T extends string> = {
28
- [K in `~brand~${T}`]: T;
29
- };
30
- /** Maybe just promise or already fulfilled one! */
31
- export type MaybePromise<T> = T | Promise<T>;
1
+ export type Mutable<T> = {
2
+ -readonly [P in keyof T]: T[P];
3
+ };
4
+ export type ValueOf<T> = T[keyof T];
5
+ export type Merge<M, N> = Omit<M, keyof N> & N;
6
+ /** utility type to assert that the second type is a subtype of the first type.
7
+ * Returns the subtype. */
8
+ export type SubtypeOf<Supertype, Subtype extends Supertype> = Subtype;
9
+ export type ResolutionType<T extends (...args: any) => any> = T extends (...args: any) => Promise<infer R> ? R : any;
10
+ export type MarkOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
11
+ export type MarkRequired<T, RK extends keyof T> = Exclude<T, RK> & Required<Pick<T, RK>>;
12
+ export type MarkNonNullable<T, K extends keyof T> = {
13
+ [P in K]-?: P extends K ? NonNullable<T[P]> : T[P];
14
+ } & {
15
+ [P in keyof T]: T[P];
16
+ };
17
+ export type NonOptional<T> = Exclude<T, undefined>;
18
+ export type SignatureType<T> = T extends (...args: infer R) => any ? R : never;
19
+ export type CallableType<T extends (...args: any[]) => any> = (...args: SignatureType<T>) => ReturnType<T>;
20
+ export type ForwardRef<T, P = any> = Parameters<CallableType<React.ForwardRefRenderFunction<T, P>>>[1];
21
+ export type ExtractSetType<T extends Set<any>> = T extends Set<infer U> ? U : never;
22
+ export type SameType<T, U> = T extends U ? (U extends T ? true : false) : false;
23
+ export type Assert<T extends true> = T;
24
+ export type NestedKeyOf<T, K = keyof T> = K extends keyof T & (string | number) ? `${K}` | (T[K] extends object ? `${K}.${NestedKeyOf<T[K]>}` : never) : never;
25
+ export type SetLike<T> = Set<T> | T[];
26
+ export type ReadonlySetLike<T> = ReadonlySet<T> | readonly T[];
27
+ export type MakeBrand<T extends string> = {
28
+ [K in `~brand~${T}`]: T;
29
+ };
30
+ /** Maybe just promise or already fulfilled one! */
31
+ export type MaybePromise<T> = T | Promise<T>;
@@ -1,249 +1,249 @@
1
- import type { EVENT } from "./constants";
2
- import type { FontFamilyValues, FontString } from "./element/types";
3
- import type { ActiveTool, AppState, ToolType, UnsubscribeCallback, Zoom } from "./types";
4
- import type { MaybePromise } from "./utility-types";
5
- export declare const setDateTimeForTests: (dateTime: string) => void;
6
- export declare const getDateTime: () => string;
7
- export declare const capitalizeString: (str: string) => string;
8
- export declare const isToolIcon: (target: Element | EventTarget | null) => target is HTMLElement;
9
- export declare const isInputLike: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
10
- export declare const isInteractive: (target: Element | EventTarget | null) => boolean;
11
- export declare const isWritableElement: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLTextAreaElement;
12
- export declare const getFontFamilyString: ({ fontFamily, }: {
13
- fontFamily: FontFamilyValues;
14
- }) => string;
15
- /** returns fontSize+fontFamily string for assignment to DOM elements */
16
- export declare const getFontString: ({ fontSize, fontFamily, }: {
17
- fontSize: number;
18
- fontFamily: FontFamilyValues;
19
- }) => FontString;
20
- export declare const debounce: <T extends any[]>(fn: (...args: T) => void, timeout: number) => {
21
- (...args: T): void;
22
- flush(): void;
23
- cancel(): void;
24
- };
25
- export declare const throttleRAF: <T extends any[]>(fn: (...args: T) => void, opts?: {
26
- trailing?: boolean;
27
- }) => {
28
- (...args: T): void;
29
- flush(): void;
30
- cancel(): void;
31
- };
32
- /**
33
- * Exponential ease-out method
34
- *
35
- * @param {number} k - The value to be tweened.
36
- * @returns {number} The tweened value.
37
- */
38
- export declare const easeOut: (k: number) => number;
39
- /**
40
- * Animates values from `fromValues` to `toValues` using the requestAnimationFrame API.
41
- * Executes the `onStep` callback on each step with the interpolated values.
42
- * Returns a function that can be called to cancel the animation.
43
- *
44
- * @example
45
- * // Example usage:
46
- * const fromValues = { x: 0, y: 0 };
47
- * const toValues = { x: 100, y: 200 };
48
- * const onStep = ({x, y}) => {
49
- * setState(x, y)
50
- * };
51
- * const onCancel = () => {
52
- * console.log("Animation canceled");
53
- * };
54
- *
55
- * const cancelAnimation = easeToValuesRAF({
56
- * fromValues,
57
- * toValues,
58
- * onStep,
59
- * onCancel,
60
- * });
61
- *
62
- * // To cancel the animation:
63
- * cancelAnimation();
64
- */
65
- export declare const easeToValuesRAF: <T extends Record<keyof T, number>, K extends keyof T>({ fromValues, toValues, onStep, duration, interpolateValue, onStart, onEnd, onCancel, }: {
66
- fromValues: T;
67
- toValues: T;
68
- /**
69
- * Interpolate a single value.
70
- * Return undefined to be handled by the default interpolator.
71
- */
72
- interpolateValue?: ((fromValue: number, toValue: number, progress: number, key: K) => number | undefined) | undefined;
73
- onStep: (values: T) => void;
74
- duration?: number | undefined;
75
- onStart?: (() => void) | undefined;
76
- onEnd?: (() => void) | undefined;
77
- onCancel?: (() => void) | undefined;
78
- }) => () => void;
79
- export declare const chunk: <T extends unknown>(array: readonly T[], size: number) => T[][];
80
- export declare const selectNode: (node: Element) => void;
81
- export declare const removeSelection: () => void;
82
- export declare const distance: (x: number, y: number) => number;
83
- export declare const updateActiveTool: (appState: Pick<AppState, "activeTool">, data: (({
84
- type: ToolType;
85
- } | {
86
- type: "custom";
87
- customType: string;
88
- }) & {
89
- locked?: boolean;
90
- }) & {
91
- lastActiveToolBeforeEraser?: ActiveTool | null;
92
- }) => AppState["activeTool"];
93
- export declare const isFullScreen: () => boolean;
94
- export declare const allowFullScreen: () => Promise<void>;
95
- export declare const exitFullScreen: () => Promise<void>;
96
- export declare const getShortcutKey: (shortcut: string) => string;
97
- export declare const viewportCoordsToSceneCoords: ({ clientX, clientY }: {
98
- clientX: number;
99
- clientY: number;
100
- }, { zoom, offsetLeft, offsetTop, scrollX, scrollY, }: {
101
- zoom: Zoom;
102
- offsetLeft: number;
103
- offsetTop: number;
104
- scrollX: number;
105
- scrollY: number;
106
- }) => {
107
- x: number;
108
- y: number;
109
- };
110
- export declare const sceneCoordsToViewportCoords: ({ sceneX, sceneY }: {
111
- sceneX: number;
112
- sceneY: number;
113
- }, { zoom, offsetLeft, offsetTop, scrollX, scrollY, }: {
114
- zoom: Zoom;
115
- offsetLeft: number;
116
- offsetTop: number;
117
- scrollX: number;
118
- scrollY: number;
119
- }) => {
120
- x: number;
121
- y: number;
122
- };
123
- export declare const getGlobalCSSVariable: (name: string) => string;
124
- /**
125
- * Checks whether first directional character is RTL. Meaning whether it starts
126
- * with RTL characters, or indeterminate (numbers etc.) characters followed by
127
- * RTL.
128
- * See https://github.com/excalidraw/excalidraw/pull/1722#discussion_r436340171
129
- */
130
- export declare const isRTL: (text: string) => boolean;
131
- export declare const tupleToCoors: (xyTuple: readonly [number, number]) => {
132
- x: number;
133
- y: number;
134
- };
135
- /** use as a rejectionHandler to mute filesystem Abort errors */
136
- export declare const muteFSAbortError: (error?: Error) => void;
137
- export declare const findIndex: <T>(array: readonly T[], cb: (element: T, index: number, array: readonly T[]) => boolean, fromIndex?: number) => number;
138
- export declare const findLastIndex: <T>(array: readonly T[], cb: (element: T, index: number, array: readonly T[]) => boolean, fromIndex?: number) => number;
139
- export declare const isTransparent: (color: string) => boolean;
140
- export type ResolvablePromise<T> = Promise<T> & {
141
- resolve: [T] extends [undefined] ? (value?: MaybePromise<Awaited<T>>) => void : (value: MaybePromise<Awaited<T>>) => void;
142
- reject: (error: Error) => void;
143
- };
144
- export declare const resolvablePromise: <T>() => ResolvablePromise<T>;
145
- export declare const nFormatter: (num: number, digits: number) => string;
146
- export declare const getVersion: () => string;
147
- export declare const supportsEmoji: () => boolean;
148
- export declare const getNearestScrollableContainer: (element: HTMLElement) => HTMLElement | Document;
149
- export declare const focusNearestParent: (element: HTMLInputElement) => void;
150
- export declare const preventUnload: (event: BeforeUnloadEvent) => void;
151
- export declare const bytesToHexString: (bytes: Uint8Array) => string;
152
- export declare const getUpdatedTimestamp: () => number;
153
- /**
154
- * Transforms array of objects containing `id` attribute,
155
- * or array of ids (strings), into a Map, keyd by `id`.
156
- */
157
- export declare const arrayToMap: <T extends string | {
158
- id: string;
159
- }>(items: Map<string, T> | readonly T[]) => Map<string, T>;
160
- export declare const arrayToMapWithIndex: <T extends {
161
- id: string;
162
- }>(elements: readonly T[]) => Map<string, [element: T, index: number]>;
163
- /**
164
- * Transform array into an object, use only when array order is irrelevant.
165
- */
166
- export declare const arrayToObject: <T>(array: readonly T[], groupBy?: ((value: T) => string | number) | undefined) => {
167
- [key: string]: T;
168
- };
169
- /** Doubly linked node */
170
- export type Node<T> = T & {
171
- prev: Node<T> | null;
172
- next: Node<T> | null;
173
- };
174
- /**
175
- * Creates a circular doubly linked list by adding `prev` and `next` props to the existing array nodes.
176
- */
177
- export declare const arrayToList: <T>(array: readonly T[]) => Node<T>[];
178
- export declare const isTestEnv: () => boolean;
179
- export declare const isDevEnv: () => boolean;
180
- export declare const isServerEnv: () => boolean;
181
- export declare const wrapEvent: <T extends Event>(name: EVENT, nativeEvent: T) => CustomEvent<{
182
- nativeEvent: T;
183
- }>;
184
- export declare const updateObject: <T extends Record<string, any>>(obj: T, updates: Partial<T>) => T;
185
- export declare const isPrimitive: (val: any) => boolean;
186
- export declare const getFrame: () => "iframe" | "top";
187
- export declare const isRunningInIframe: () => boolean;
188
- export declare const isPromiseLike: (value: any) => value is Promise<any>;
189
- export declare const queryFocusableElements: (container: HTMLElement | null) => HTMLElement[];
190
- /**
191
- * Returns whether object/array is shallow equal.
192
- * Considers empty object/arrays as equal (whether top-level or second-level).
193
- */
194
- export declare const isShallowEqual: <T extends Record<string, any>, K extends readonly unknown[]>(objA: T, objB: T, comparators?: { [key in keyof T]?: ((a: T[key], b: T[key]) => boolean) | undefined; } | (keyof T extends K[number] ? K extends readonly (keyof T)[] ? K : {
195
- _error: "keys are either missing or include keys not in compared obj";
196
- } : {
197
- _error: "keys are either missing or include keys not in compared obj";
198
- }) | undefined, debug?: boolean) => boolean;
199
- export declare const composeEventHandlers: <E>(originalEventHandler?: ((event: E) => void) | undefined, ourEventHandler?: ((event: E) => void) | undefined, { checkForDefaultPrevented }?: {
200
- checkForDefaultPrevented?: boolean | undefined;
201
- }) => (event: E) => void;
202
- /**
203
- * supply `null` as message if non-never value is valid, you just need to
204
- * typecheck against it
205
- */
206
- export declare const assertNever: (value: never, message: string | null, softAssert?: boolean) => never;
207
- export declare function invariant(condition: any, message: string): asserts condition;
208
- /**
209
- * Memoizes on values of `opts` object (strict equality).
210
- */
211
- export declare const memoize: <T extends Record<string, any>, R extends unknown>(func: (opts: T) => R) => ((opts: T) => R) & {
212
- clear: () => void;
213
- };
214
- /** Checks if value is inside given collection. Useful for type-safety. */
215
- export declare const isMemberOf: <T extends string>(collection: Set<T> | Record<T, any> | Map<T, any> | readonly T[], value: string) => value is T;
216
- export declare const cloneJSON: <T>(obj: T) => T;
217
- export declare const updateStable: <T extends any[] | Record<string, any>>(prevValue: T, nextValue: T) => T;
218
- export declare function addEventListener<K extends keyof WindowEventMap>(target: Window & typeof globalThis, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
219
- export declare function addEventListener(target: Window & typeof globalThis, type: string, listener: (this: Window, ev: Event) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
220
- export declare function addEventListener<K extends keyof DocumentEventMap>(target: Document, type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
221
- export declare function addEventListener(target: Document, type: string, listener: (this: Document, ev: Event) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
222
- export declare function addEventListener<K extends keyof FontFaceSetEventMap>(target: FontFaceSet, type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
223
- export declare function addEventListener<K extends keyof HTMLElementEventMap>(target: Document | (Window & typeof globalThis) | HTMLElement | undefined | null | false, type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
224
- export declare function getSvgPathFromStroke(points: number[][], closed?: boolean): string;
225
- export declare const normalizeEOL: (str: string) => string;
226
- type HasBrand<T> = {
227
- [K in keyof T]: K extends `~brand${infer _}` ? true : never;
228
- }[keyof T];
229
- type RemoveAllBrands<T> = HasBrand<T> extends true ? {
230
- [K in keyof T as K extends `~brand~${infer _}` ? never : K]: T[K];
231
- } : never;
232
- type Unbrand<T> = T extends Map<infer E, infer F> ? Map<E, F> : T extends Set<infer E> ? Set<E> : T extends Array<infer E> ? Array<E> : RemoveAllBrands<T>;
233
- /**
234
- * Makes type into a branded type, ensuring that value is assignable to
235
- * the base ubranded type. Optionally you can explicitly supply current value
236
- * type to combine both (useful for composite branded types. Make sure you
237
- * compose branded types which are not composite themselves.)
238
- */
239
- export declare const toBrandedType: <BrandedType, CurrentType = BrandedType>(value: Unbrand<BrandedType>) => CurrentType & BrandedType;
240
- export declare const promiseTry: <TValue, TArgs extends unknown[]>(fn: (...args: TArgs) => TValue | PromiseLike<TValue>, ...args: TArgs) => Promise<TValue>;
241
- export declare const isAnyTrue: (...args: boolean[]) => boolean;
242
- export declare const safelyParseJSON: (json: string) => Record<string, any> | null;
243
- export declare class PromisePool<T> {
244
- private readonly pool;
245
- private readonly entries;
246
- constructor(source: IterableIterator<Promise<void | readonly [number, T]>>, concurrency: number);
247
- all(): PromiseLike<T[]>;
248
- }
249
- export {};
1
+ import type { EVENT } from "./constants";
2
+ import type { FontFamilyValues, FontString } from "./element/types";
3
+ import type { ActiveTool, AppState, ToolType, UnsubscribeCallback, Zoom } from "./types";
4
+ import type { MaybePromise } from "./utility-types";
5
+ export declare const setDateTimeForTests: (dateTime: string) => void;
6
+ export declare const getDateTime: () => string;
7
+ export declare const capitalizeString: (str: string) => string;
8
+ export declare const isToolIcon: (target: Element | EventTarget | null) => target is HTMLElement;
9
+ export declare const isInputLike: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
10
+ export declare const isInteractive: (target: Element | EventTarget | null) => boolean;
11
+ export declare const isWritableElement: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLTextAreaElement;
12
+ export declare const getFontFamilyString: ({ fontFamily, }: {
13
+ fontFamily: FontFamilyValues;
14
+ }) => string;
15
+ /** returns fontSize+fontFamily string for assignment to DOM elements */
16
+ export declare const getFontString: ({ fontSize, fontFamily, }: {
17
+ fontSize: number;
18
+ fontFamily: FontFamilyValues;
19
+ }) => FontString;
20
+ export declare const debounce: <T extends any[]>(fn: (...args: T) => void, timeout: number) => {
21
+ (...args: T): void;
22
+ flush(): void;
23
+ cancel(): void;
24
+ };
25
+ export declare const throttleRAF: <T extends any[]>(fn: (...args: T) => void, opts?: {
26
+ trailing?: boolean;
27
+ }) => {
28
+ (...args: T): void;
29
+ flush(): void;
30
+ cancel(): void;
31
+ };
32
+ /**
33
+ * Exponential ease-out method
34
+ *
35
+ * @param {number} k - The value to be tweened.
36
+ * @returns {number} The tweened value.
37
+ */
38
+ export declare const easeOut: (k: number) => number;
39
+ /**
40
+ * Animates values from `fromValues` to `toValues` using the requestAnimationFrame API.
41
+ * Executes the `onStep` callback on each step with the interpolated values.
42
+ * Returns a function that can be called to cancel the animation.
43
+ *
44
+ * @example
45
+ * // Example usage:
46
+ * const fromValues = { x: 0, y: 0 };
47
+ * const toValues = { x: 100, y: 200 };
48
+ * const onStep = ({x, y}) => {
49
+ * setState(x, y)
50
+ * };
51
+ * const onCancel = () => {
52
+ * console.log("Animation canceled");
53
+ * };
54
+ *
55
+ * const cancelAnimation = easeToValuesRAF({
56
+ * fromValues,
57
+ * toValues,
58
+ * onStep,
59
+ * onCancel,
60
+ * });
61
+ *
62
+ * // To cancel the animation:
63
+ * cancelAnimation();
64
+ */
65
+ export declare const easeToValuesRAF: <T extends Record<keyof T, number>, K extends keyof T>({ fromValues, toValues, onStep, duration, interpolateValue, onStart, onEnd, onCancel, }: {
66
+ fromValues: T;
67
+ toValues: T;
68
+ /**
69
+ * Interpolate a single value.
70
+ * Return undefined to be handled by the default interpolator.
71
+ */
72
+ interpolateValue?: ((fromValue: number, toValue: number, progress: number, key: K) => number | undefined) | undefined;
73
+ onStep: (values: T) => void;
74
+ duration?: number | undefined;
75
+ onStart?: (() => void) | undefined;
76
+ onEnd?: (() => void) | undefined;
77
+ onCancel?: (() => void) | undefined;
78
+ }) => () => void;
79
+ export declare const chunk: <T extends unknown>(array: readonly T[], size: number) => T[][];
80
+ export declare const selectNode: (node: Element) => void;
81
+ export declare const removeSelection: () => void;
82
+ export declare const distance: (x: number, y: number) => number;
83
+ export declare const updateActiveTool: (appState: Pick<AppState, "activeTool">, data: (({
84
+ type: ToolType;
85
+ } | {
86
+ type: "custom";
87
+ customType: string;
88
+ }) & {
89
+ locked?: boolean;
90
+ }) & {
91
+ lastActiveToolBeforeEraser?: ActiveTool | null;
92
+ }) => AppState["activeTool"];
93
+ export declare const isFullScreen: () => boolean;
94
+ export declare const allowFullScreen: () => Promise<void>;
95
+ export declare const exitFullScreen: () => Promise<void>;
96
+ export declare const getShortcutKey: (shortcut: string) => string;
97
+ export declare const viewportCoordsToSceneCoords: ({ clientX, clientY }: {
98
+ clientX: number;
99
+ clientY: number;
100
+ }, { zoom, offsetLeft, offsetTop, scrollX, scrollY, }: {
101
+ zoom: Zoom;
102
+ offsetLeft: number;
103
+ offsetTop: number;
104
+ scrollX: number;
105
+ scrollY: number;
106
+ }) => {
107
+ x: number;
108
+ y: number;
109
+ };
110
+ export declare const sceneCoordsToViewportCoords: ({ sceneX, sceneY }: {
111
+ sceneX: number;
112
+ sceneY: number;
113
+ }, { zoom, offsetLeft, offsetTop, scrollX, scrollY, }: {
114
+ zoom: Zoom;
115
+ offsetLeft: number;
116
+ offsetTop: number;
117
+ scrollX: number;
118
+ scrollY: number;
119
+ }) => {
120
+ x: number;
121
+ y: number;
122
+ };
123
+ export declare const getGlobalCSSVariable: (name: string) => string;
124
+ /**
125
+ * Checks whether first directional character is RTL. Meaning whether it starts
126
+ * with RTL characters, or indeterminate (numbers etc.) characters followed by
127
+ * RTL.
128
+ * See https://github.com/excalidraw/excalidraw/pull/1722#discussion_r436340171
129
+ */
130
+ export declare const isRTL: (text: string) => boolean;
131
+ export declare const tupleToCoors: (xyTuple: readonly [number, number]) => {
132
+ x: number;
133
+ y: number;
134
+ };
135
+ /** use as a rejectionHandler to mute filesystem Abort errors */
136
+ export declare const muteFSAbortError: (error?: Error) => void;
137
+ export declare const findIndex: <T>(array: readonly T[], cb: (element: T, index: number, array: readonly T[]) => boolean, fromIndex?: number) => number;
138
+ export declare const findLastIndex: <T>(array: readonly T[], cb: (element: T, index: number, array: readonly T[]) => boolean, fromIndex?: number) => number;
139
+ export declare const isTransparent: (color: string) => boolean;
140
+ export type ResolvablePromise<T> = Promise<T> & {
141
+ resolve: [T] extends [undefined] ? (value?: MaybePromise<Awaited<T>>) => void : (value: MaybePromise<Awaited<T>>) => void;
142
+ reject: (error: Error) => void;
143
+ };
144
+ export declare const resolvablePromise: <T>() => ResolvablePromise<T>;
145
+ export declare const nFormatter: (num: number, digits: number) => string;
146
+ export declare const getVersion: () => string;
147
+ export declare const supportsEmoji: () => boolean;
148
+ export declare const getNearestScrollableContainer: (element: HTMLElement) => HTMLElement | Document;
149
+ export declare const focusNearestParent: (element: HTMLInputElement) => void;
150
+ export declare const preventUnload: (event: BeforeUnloadEvent) => void;
151
+ export declare const bytesToHexString: (bytes: Uint8Array) => string;
152
+ export declare const getUpdatedTimestamp: () => number;
153
+ /**
154
+ * Transforms array of objects containing `id` attribute,
155
+ * or array of ids (strings), into a Map, keyd by `id`.
156
+ */
157
+ export declare const arrayToMap: <T extends string | {
158
+ id: string;
159
+ }>(items: Map<string, T> | readonly T[]) => Map<string, T>;
160
+ export declare const arrayToMapWithIndex: <T extends {
161
+ id: string;
162
+ }>(elements: readonly T[]) => Map<string, [element: T, index: number]>;
163
+ /**
164
+ * Transform array into an object, use only when array order is irrelevant.
165
+ */
166
+ export declare const arrayToObject: <T>(array: readonly T[], groupBy?: ((value: T) => string | number) | undefined) => {
167
+ [key: string]: T;
168
+ };
169
+ /** Doubly linked node */
170
+ export type Node<T> = T & {
171
+ prev: Node<T> | null;
172
+ next: Node<T> | null;
173
+ };
174
+ /**
175
+ * Creates a circular doubly linked list by adding `prev` and `next` props to the existing array nodes.
176
+ */
177
+ export declare const arrayToList: <T>(array: readonly T[]) => Node<T>[];
178
+ export declare const isTestEnv: () => boolean;
179
+ export declare const isDevEnv: () => boolean;
180
+ export declare const isServerEnv: () => boolean;
181
+ export declare const wrapEvent: <T extends Event>(name: EVENT, nativeEvent: T) => CustomEvent<{
182
+ nativeEvent: T;
183
+ }>;
184
+ export declare const updateObject: <T extends Record<string, any>>(obj: T, updates: Partial<T>) => T;
185
+ export declare const isPrimitive: (val: any) => boolean;
186
+ export declare const getFrame: () => "iframe" | "top";
187
+ export declare const isRunningInIframe: () => boolean;
188
+ export declare const isPromiseLike: (value: any) => value is Promise<any>;
189
+ export declare const queryFocusableElements: (container: HTMLElement | null) => HTMLElement[];
190
+ /**
191
+ * Returns whether object/array is shallow equal.
192
+ * Considers empty object/arrays as equal (whether top-level or second-level).
193
+ */
194
+ export declare const isShallowEqual: <T extends Record<string, any>, K extends readonly unknown[]>(objA: T, objB: T, comparators?: { [key in keyof T]?: ((a: T[key], b: T[key]) => boolean) | undefined; } | (keyof T extends K[number] ? K extends readonly (keyof T)[] ? K : {
195
+ _error: "keys are either missing or include keys not in compared obj";
196
+ } : {
197
+ _error: "keys are either missing or include keys not in compared obj";
198
+ }) | undefined, debug?: boolean) => boolean;
199
+ export declare const composeEventHandlers: <E>(originalEventHandler?: ((event: E) => void) | undefined, ourEventHandler?: ((event: E) => void) | undefined, { checkForDefaultPrevented }?: {
200
+ checkForDefaultPrevented?: boolean | undefined;
201
+ }) => (event: E) => void;
202
+ /**
203
+ * supply `null` as message if non-never value is valid, you just need to
204
+ * typecheck against it
205
+ */
206
+ export declare const assertNever: (value: never, message: string | null, softAssert?: boolean) => never;
207
+ export declare function invariant(condition: any, message: string): asserts condition;
208
+ /**
209
+ * Memoizes on values of `opts` object (strict equality).
210
+ */
211
+ export declare const memoize: <T extends Record<string, any>, R extends unknown>(func: (opts: T) => R) => ((opts: T) => R) & {
212
+ clear: () => void;
213
+ };
214
+ /** Checks if value is inside given collection. Useful for type-safety. */
215
+ export declare const isMemberOf: <T extends string>(collection: Set<T> | Record<T, any> | Map<T, any> | readonly T[], value: string) => value is T;
216
+ export declare const cloneJSON: <T>(obj: T) => T;
217
+ export declare const updateStable: <T extends any[] | Record<string, any>>(prevValue: T, nextValue: T) => T;
218
+ export declare function addEventListener<K extends keyof WindowEventMap>(target: Window & typeof globalThis, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
219
+ export declare function addEventListener(target: Window & typeof globalThis, type: string, listener: (this: Window, ev: Event) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
220
+ export declare function addEventListener<K extends keyof DocumentEventMap>(target: Document, type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
221
+ export declare function addEventListener(target: Document, type: string, listener: (this: Document, ev: Event) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
222
+ export declare function addEventListener<K extends keyof FontFaceSetEventMap>(target: FontFaceSet, type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
223
+ export declare function addEventListener<K extends keyof HTMLElementEventMap>(target: Document | (Window & typeof globalThis) | HTMLElement | undefined | null | false, type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): UnsubscribeCallback;
224
+ export declare function getSvgPathFromStroke(points: number[][], closed?: boolean): string;
225
+ export declare const normalizeEOL: (str: string) => string;
226
+ type HasBrand<T> = {
227
+ [K in keyof T]: K extends `~brand${infer _}` ? true : never;
228
+ }[keyof T];
229
+ type RemoveAllBrands<T> = HasBrand<T> extends true ? {
230
+ [K in keyof T as K extends `~brand~${infer _}` ? never : K]: T[K];
231
+ } : never;
232
+ type Unbrand<T> = T extends Map<infer E, infer F> ? Map<E, F> : T extends Set<infer E> ? Set<E> : T extends Array<infer E> ? Array<E> : RemoveAllBrands<T>;
233
+ /**
234
+ * Makes type into a branded type, ensuring that value is assignable to
235
+ * the base ubranded type. Optionally you can explicitly supply current value
236
+ * type to combine both (useful for composite branded types. Make sure you
237
+ * compose branded types which are not composite themselves.)
238
+ */
239
+ export declare const toBrandedType: <BrandedType, CurrentType = BrandedType>(value: Unbrand<BrandedType>) => CurrentType & BrandedType;
240
+ export declare const promiseTry: <TValue, TArgs extends unknown[]>(fn: (...args: TArgs) => TValue | PromiseLike<TValue>, ...args: TArgs) => Promise<TValue>;
241
+ export declare const isAnyTrue: (...args: boolean[]) => boolean;
242
+ export declare const safelyParseJSON: (json: string) => Record<string, any> | null;
243
+ export declare class PromisePool<T> {
244
+ private readonly pool;
245
+ private readonly entries;
246
+ constructor(source: IterableIterator<Promise<void | readonly [number, T]>>, concurrency: number);
247
+ all(): PromiseLike<T[]>;
248
+ }
249
+ export {};
@@ -1,35 +1,35 @@
1
- import { type GlobalPoint } from "../math";
2
- import type { LineSegment } from "../utils";
3
- import type { BoundingBox, Bounds } from "./element/bounds";
4
- declare global {
5
- interface Window {
6
- visualDebug?: {
7
- data: DebugElement[][];
8
- currentFrame?: number;
9
- };
10
- }
11
- }
12
- export type DebugElement = {
13
- color: string;
14
- data: LineSegment<GlobalPoint>;
15
- permanent: boolean;
16
- };
17
- export declare const debugDrawLine: (segment: LineSegment<GlobalPoint> | LineSegment<GlobalPoint>[], opts?: {
18
- color?: string;
19
- permanent?: boolean;
20
- }) => void;
21
- export declare const debugDrawPoint: (p: GlobalPoint, opts?: {
22
- color?: string;
23
- permanent?: boolean;
24
- fuzzy?: boolean;
25
- }) => void;
26
- export declare const debugDrawBoundingBox: (box: BoundingBox | BoundingBox[], opts?: {
27
- color?: string;
28
- permanent?: boolean;
29
- }) => void;
30
- export declare const debugDrawBounds: (box: Bounds | Bounds[], opts?: {
31
- color?: string;
32
- permanent?: boolean;
33
- }) => void;
34
- export declare const debugCloseFrame: () => void;
35
- export declare const debugClear: () => void;
1
+ import { type GlobalPoint } from "../math";
2
+ import type { LineSegment } from "../utils";
3
+ import type { BoundingBox, Bounds } from "./element/bounds";
4
+ declare global {
5
+ interface Window {
6
+ visualDebug?: {
7
+ data: DebugElement[][];
8
+ currentFrame?: number;
9
+ };
10
+ }
11
+ }
12
+ export type DebugElement = {
13
+ color: string;
14
+ data: LineSegment<GlobalPoint>;
15
+ permanent: boolean;
16
+ };
17
+ export declare const debugDrawLine: (segment: LineSegment<GlobalPoint> | LineSegment<GlobalPoint>[], opts?: {
18
+ color?: string;
19
+ permanent?: boolean;
20
+ }) => void;
21
+ export declare const debugDrawPoint: (p: GlobalPoint, opts?: {
22
+ color?: string;
23
+ permanent?: boolean;
24
+ fuzzy?: boolean;
25
+ }) => void;
26
+ export declare const debugDrawBoundingBox: (box: BoundingBox | BoundingBox[], opts?: {
27
+ color?: string;
28
+ permanent?: boolean;
29
+ }) => void;
30
+ export declare const debugDrawBounds: (box: Bounds | Bounds[], opts?: {
31
+ color?: string;
32
+ permanent?: boolean;
33
+ }) => void;
34
+ export declare const debugCloseFrame: () => void;
35
+ export declare const debugClear: () => void;