@zsviczian/excalidraw 0.18.0-20 → 0.18.0-22

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 (387) hide show
  1. package/dist/excalidraw.development.js +181 -137
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +1 -1
  4. package/types/common/src/binary-heap.d.ts +12 -12
  5. package/types/common/src/colors.d.ts +62 -62
  6. package/types/common/src/constants.d.ts +353 -353
  7. package/types/common/src/emitter.d.ts +16 -16
  8. package/types/common/src/font-metadata.d.ts +48 -48
  9. package/types/common/src/index.d.ts +12 -12
  10. package/types/common/src/keys.d.ts +189 -189
  11. package/types/common/src/points.d.ts +9 -9
  12. package/types/common/src/promise-pool.d.ts +6 -6
  13. package/types/common/src/queue.d.ts +9 -9
  14. package/types/common/src/random.d.ts +4 -4
  15. package/types/common/src/url.d.ts +7 -7
  16. package/types/common/src/utility-types.d.ts +37 -37
  17. package/types/common/src/utils.d.ts +267 -269
  18. package/types/element/src/Scene.d.ts +76 -76
  19. package/types/element/src/align.d.ts +7 -7
  20. package/types/element/src/binding.d.ts +107 -107
  21. package/types/element/src/bounds.d.ts +87 -82
  22. package/types/element/src/collision.d.ts +32 -32
  23. package/types/element/src/comparisons.d.ts +8 -8
  24. package/types/element/src/containerCache.d.ts +11 -11
  25. package/types/element/src/cropElement.d.ts +19 -19
  26. package/types/element/src/delta.d.ts +216 -216
  27. package/types/element/src/distance.d.ts +3 -3
  28. package/types/element/src/distribute.d.ts +6 -6
  29. package/types/element/src/dragElements.d.ts +33 -33
  30. package/types/element/src/duplicate.d.ts +63 -63
  31. package/types/element/src/easingFunctions.d.ts +6 -6
  32. package/types/element/src/elbowArrow.d.ts +17 -17
  33. package/types/element/src/elementLink.d.ts +13 -13
  34. package/types/element/src/embeddable.d.ts +10 -10
  35. package/types/element/src/flowchart.d.ts +26 -26
  36. package/types/element/src/fractionalIndex.d.ts +57 -57
  37. package/types/element/src/frame.d.ts +70 -70
  38. package/types/element/src/groups.d.ts +33 -33
  39. package/types/element/src/heading.d.ts +15 -15
  40. package/types/element/src/image.d.ts +32 -32
  41. package/types/element/src/index.d.ts +57 -59
  42. package/types/element/src/linearElementEditor.d.ts +118 -118
  43. package/types/element/src/mutateElement.d.ts +21 -21
  44. package/types/element/src/newElement.d.ts +63 -63
  45. package/types/element/src/renderElement.d.ts +28 -28
  46. package/types/element/src/resizeElements.d.ts +39 -38
  47. package/types/element/src/resizeTest.d.ts +15 -15
  48. package/types/element/src/selection.d.ts +38 -38
  49. package/types/element/src/{ShapeCache.d.ts → shape.d.ts} +42 -25
  50. package/types/element/src/showSelectedShapeActions.d.ts +3 -3
  51. package/types/element/src/sizeHelpers.d.ts +35 -35
  52. package/types/element/src/sortElements.d.ts +2 -2
  53. package/types/element/src/store.d.ts +231 -231
  54. package/types/element/src/textElement.d.ts +40 -40
  55. package/types/element/src/textMeasurements.d.ts +41 -41
  56. package/types/element/src/textWrapping.d.ts +13 -13
  57. package/types/element/src/transformHandles.d.ts +55 -55
  58. package/types/element/src/typeChecks.d.ts +57 -57
  59. package/types/element/src/types.d.ts +298 -298
  60. package/types/element/src/utils.d.ts +25 -22
  61. package/types/element/src/zindex.d.ts +7 -7
  62. package/types/excalidraw/actions/actionAddToLibrary.d.ts +635 -635
  63. package/types/excalidraw/actions/actionAlign.d.ts +109 -109
  64. package/types/excalidraw/actions/actionBoundText.d.ts +460 -460
  65. package/types/excalidraw/actions/actionCanvas.d.ts +3308 -3308
  66. package/types/excalidraw/actions/actionClipboard.d.ts +1387 -1387
  67. package/types/excalidraw/actions/actionCropEditor.d.ts +224 -224
  68. package/types/excalidraw/actions/actionDeleteSelected.d.ts +675 -675
  69. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  70. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +17 -17
  71. package/types/excalidraw/actions/actionElementLink.d.ts +246 -246
  72. package/types/excalidraw/actions/actionElementLock.d.ts +446 -446
  73. package/types/excalidraw/actions/actionEmbeddable.d.ts +221 -221
  74. package/types/excalidraw/actions/actionExport.d.ts +1971 -1971
  75. package/types/excalidraw/actions/actionFinalize.d.ts +672 -672
  76. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  77. package/types/excalidraw/actions/actionFrame.d.ts +1392 -1392
  78. package/types/excalidraw/actions/actionGroup.d.ts +458 -458
  79. package/types/excalidraw/actions/actionHistory.d.ts +6 -6
  80. package/types/excalidraw/actions/actionLinearEditor.d.ts +721 -721
  81. package/types/excalidraw/actions/actionLink.d.ts +225 -225
  82. package/types/excalidraw/actions/actionMenu.d.ts +655 -655
  83. package/types/excalidraw/actions/actionNavigate.d.ts +434 -434
  84. package/types/excalidraw/actions/actionProperties.d.ts +3314 -3314
  85. package/types/excalidraw/actions/actionSelectAll.d.ts +224 -224
  86. package/types/excalidraw/actions/actionStyles.d.ts +238 -238
  87. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  88. package/types/excalidraw/actions/actionToggleGridMode.d.ts +227 -227
  89. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +225 -225
  90. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +218 -218
  91. package/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -19
  92. package/types/excalidraw/actions/actionToggleStats.d.ts +224 -224
  93. package/types/excalidraw/actions/actionToggleViewMode.d.ts +225 -225
  94. package/types/excalidraw/actions/actionToggleZenMode.d.ts +225 -225
  95. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  96. package/types/excalidraw/actions/index.d.ts +28 -28
  97. package/types/excalidraw/actions/manager.d.ts +21 -21
  98. package/types/excalidraw/actions/register.d.ts +5 -5
  99. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  100. package/types/excalidraw/actions/types.d.ts +47 -47
  101. package/types/excalidraw/analytics.d.ts +1 -1
  102. package/types/excalidraw/animated-trail.d.ts +39 -39
  103. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  104. package/types/excalidraw/appState.d.ts +99 -99
  105. package/types/excalidraw/charts.d.ts +27 -27
  106. package/types/excalidraw/clients.d.ts +14 -14
  107. package/types/excalidraw/clipboard.d.ts +66 -66
  108. package/types/excalidraw/components/Actions.d.ts +35 -35
  109. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  110. package/types/excalidraw/components/App.d.ts +560 -560
  111. package/types/excalidraw/components/Avatar.d.ts +11 -11
  112. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  113. package/types/excalidraw/components/Button.d.ts +17 -17
  114. package/types/excalidraw/components/ButtonIcon.d.ts +16 -16
  115. package/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
  116. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  117. package/types/excalidraw/components/Card.d.ts +6 -6
  118. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  119. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -10
  120. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -23
  121. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  122. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -7
  123. package/types/excalidraw/components/ColorPicker/Picker.d.ts +17 -17
  124. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -9
  125. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  126. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  127. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  128. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  129. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  130. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  131. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  132. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  133. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  134. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  135. package/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -23
  136. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  137. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  138. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  139. package/types/excalidraw/components/Dialog.d.ts +13 -13
  140. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  141. package/types/excalidraw/components/ElementCanvasButtons.d.ts +7 -7
  142. package/types/excalidraw/components/ElementLinkDialog.d.ts +12 -12
  143. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  144. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  145. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  146. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  147. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  148. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  149. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  150. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
  151. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  152. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  153. package/types/excalidraw/components/HandButton.d.ts +10 -10
  154. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  155. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  156. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  157. package/types/excalidraw/components/IconPicker.d.ts +15 -15
  158. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  159. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  160. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  161. package/types/excalidraw/components/Island.d.ts +10 -10
  162. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  163. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  164. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  165. package/types/excalidraw/components/LibraryMenu.d.ts +10 -10
  166. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  167. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  168. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  169. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  170. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  171. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  172. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  173. package/types/excalidraw/components/LockButton.d.ts +10 -10
  174. package/types/excalidraw/components/MagicButton.d.ts +10 -10
  175. package/types/excalidraw/components/MobileMenu.d.ts +25 -25
  176. package/types/excalidraw/components/Modal.d.ts +14 -14
  177. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  178. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  179. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  180. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  181. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  182. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  183. package/types/excalidraw/components/Popover.d.ts +15 -15
  184. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  185. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  186. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  187. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  188. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  189. package/types/excalidraw/components/RadioSelection.d.ts +20 -20
  190. package/types/excalidraw/components/Range.d.ts +8 -8
  191. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  192. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  193. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  194. package/types/excalidraw/components/Section.d.ts +6 -6
  195. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  196. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  197. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  198. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  199. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  200. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  201. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  202. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  203. package/types/excalidraw/components/Sidebar/common.d.ts +34 -34
  204. package/types/excalidraw/components/Spinner.d.ts +8 -8
  205. package/types/excalidraw/components/Stack.d.ts +15 -15
  206. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  207. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  208. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  209. package/types/excalidraw/components/Stats/Collapsible.d.ts +10 -10
  210. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  211. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  212. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  213. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  214. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  215. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  216. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  217. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  218. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  219. package/types/excalidraw/components/Stats/utils.d.ts +19 -19
  220. package/types/excalidraw/components/Switch.d.ts +9 -9
  221. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  222. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  223. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  224. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  225. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  226. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  227. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  228. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  229. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  230. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  231. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  232. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  233. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
  234. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  235. package/types/excalidraw/components/TextField.d.ts +21 -21
  236. package/types/excalidraw/components/Toast.d.ts +9 -9
  237. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  238. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  239. package/types/excalidraw/components/Trans.d.ts +9 -9
  240. package/types/excalidraw/components/UnlockPopup.d.ts +8 -8
  241. package/types/excalidraw/components/UserList.d.ts +18 -18
  242. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -30
  243. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  244. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  245. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  246. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  247. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  248. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  249. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
  250. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  251. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  252. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  253. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  254. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  255. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  256. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  257. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  258. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  259. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  260. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  261. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -19
  262. package/types/excalidraw/components/hyperlink/helpers.d.ts +10 -10
  263. package/types/excalidraw/components/icons.d.ts +227 -227
  264. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  265. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  266. package/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -83
  267. package/types/excalidraw/components/shapes.d.ts +62 -62
  268. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +60 -60
  269. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  270. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  271. package/types/excalidraw/context/tunnels.d.ts +21 -21
  272. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  273. package/types/excalidraw/cursor.d.ts +6 -6
  274. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  275. package/types/excalidraw/data/ai/types.d.ts +242 -242
  276. package/types/excalidraw/data/blob.d.ts +53 -53
  277. package/types/excalidraw/data/encode.d.ts +55 -55
  278. package/types/excalidraw/data/encryption.d.ts +9 -9
  279. package/types/excalidraw/data/filesystem.d.ts +21 -21
  280. package/types/excalidraw/data/image.d.ts +9 -9
  281. package/types/excalidraw/data/index.d.ts +22 -22
  282. package/types/excalidraw/data/json.d.ts +16 -16
  283. package/types/excalidraw/data/library.d.ts +112 -112
  284. package/types/excalidraw/data/reconcile.d.ts +6 -6
  285. package/types/excalidraw/data/resave.d.ts +5 -5
  286. package/types/excalidraw/data/restore.d.ts +21 -21
  287. package/types/excalidraw/data/transform.d.ts +81 -81
  288. package/types/excalidraw/data/types.d.ts +45 -45
  289. package/types/excalidraw/deburr.d.ts +1 -1
  290. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  291. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  292. package/types/excalidraw/editor-jotai.d.ts +56 -56
  293. package/types/excalidraw/entry.d.ts +1 -1
  294. package/types/excalidraw/env.d.cts +1 -1
  295. package/types/excalidraw/env.d.ts +1 -1
  296. package/types/excalidraw/eraser/index.d.ts +12 -12
  297. package/types/excalidraw/errors.d.ts +29 -29
  298. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  299. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  300. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  301. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  302. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  303. package/types/excalidraw/fonts/Fonts.d.ts +90 -90
  304. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  305. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  306. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  307. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  308. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  309. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  310. package/types/excalidraw/fonts/index.d.ts +1 -1
  311. package/types/excalidraw/gesture.d.ts +6 -6
  312. package/types/excalidraw/history.d.ts +48 -48
  313. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  314. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  315. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  316. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  317. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  318. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  319. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  320. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  321. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  322. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  323. package/types/excalidraw/i18n.d.ts +24 -24
  324. package/types/excalidraw/index-node.d.ts +1 -1
  325. package/types/excalidraw/index.d.ts +59 -59
  326. package/types/excalidraw/laser-trails.d.ts +20 -20
  327. package/types/excalidraw/lasso/index.d.ts +16 -16
  328. package/types/excalidraw/lasso/utils.d.ts +13 -13
  329. package/types/excalidraw/main.d.ts +2 -2
  330. package/types/excalidraw/mermaid.d.ts +2 -2
  331. package/types/excalidraw/obsidianUtils.d.ts +37 -37
  332. package/types/excalidraw/polyfill.d.ts +2 -2
  333. package/types/excalidraw/publicPath.d.ts +1 -1
  334. package/types/excalidraw/reactUtils.d.ts +14 -14
  335. package/types/excalidraw/renderer/helpers.d.ts +18 -18
  336. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  337. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  338. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  339. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  340. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  341. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  342. package/types/excalidraw/scene/Renderer.d.ts +27 -27
  343. package/types/excalidraw/scene/export.d.ts +37 -37
  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 +11 -11
  348. package/types/excalidraw/scene/types.d.ts +122 -122
  349. package/types/excalidraw/scene/zoom.d.ts +12 -12
  350. package/types/excalidraw/snapping.d.ts +111 -111
  351. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  352. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  353. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  354. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  355. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  356. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  357. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  358. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  359. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  360. package/types/excalidraw/types.d.ts +778 -778
  361. package/types/excalidraw/visualdebug.d.ts +41 -41
  362. package/types/excalidraw/webpack.dev.config.d.ts +114 -114
  363. package/types/excalidraw/webpack.prod.config.d.ts +128 -128
  364. package/types/excalidraw/workers.d.ts +36 -36
  365. package/types/excalidraw/wysiwyg/textWysiwyg.d.ts +24 -24
  366. package/types/math/src/angle.d.ts +19 -19
  367. package/types/math/src/constants.d.ts +3 -0
  368. package/types/math/src/curve.d.ts +74 -46
  369. package/types/math/src/ellipse.d.ts +44 -44
  370. package/types/math/src/index.d.ts +13 -13
  371. package/types/math/src/line.d.ts +17 -17
  372. package/types/math/src/point.d.ts +122 -122
  373. package/types/math/src/polygon.d.ts +6 -6
  374. package/types/math/src/range.d.ts +44 -44
  375. package/types/math/src/rectangle.d.ts +3 -3
  376. package/types/math/src/segment.d.ts +39 -39
  377. package/types/math/src/triangle.d.ts +11 -11
  378. package/types/math/src/types.d.ts +106 -106
  379. package/types/math/src/utils.d.ts +9 -7
  380. package/types/math/src/vector.d.ts +94 -94
  381. package/types/utils/src/bbox.d.ts +9 -9
  382. package/types/utils/src/export.d.ts +35 -35
  383. package/types/utils/src/index.d.ts +4 -4
  384. package/types/utils/src/shape.d.ts +58 -58
  385. package/types/utils/src/withinBounds.d.ts +19 -19
  386. package/types/element/src/Shape.d.ts +0 -21
  387. package/types/element/src/shapes.d.ts +0 -27
@@ -1,55 +1,55 @@
1
- export declare const toByteString: (data: string | Uint8Array | ArrayBuffer) => string;
2
- /**
3
- * @param isByteString set to true if already byte string to prevent bloat
4
- * due to reencoding
5
- */
6
- export declare const stringToBase64: (str: string, isByteString?: boolean) => string;
7
- export declare const base64ToString: (base64: string, isByteString?: boolean) => string;
8
- export declare const base64ToArrayBuffer: (base64: string) => ArrayBuffer;
9
- export declare const base64urlToString: (str: string) => string;
10
- type EncodedData = {
11
- encoded: string;
12
- encoding: "bstring";
13
- /** whether text is compressed (zlib) */
14
- compressed: boolean;
15
- /** version for potential migration purposes */
16
- version?: string;
17
- };
18
- /**
19
- * Encodes (and potentially compresses via zlib) text to byte string
20
- */
21
- export declare const encode: ({ text, compress, }: {
22
- text: string;
23
- /** defaults to `true`. If compression fails, falls back to bstring alone. */
24
- compress?: boolean | undefined;
25
- }) => EncodedData;
26
- export declare const decode: (data: EncodedData) => string;
27
- /**
28
- * The returned buffer has following format:
29
- * `[]` refers to a buffers wrapper (see `concatBuffers`)
30
- *
31
- * [
32
- * encodingMetadataBuffer,
33
- * iv,
34
- * [
35
- * contentsMetadataBuffer
36
- * contentsBuffer
37
- * ]
38
- * ]
39
- */
40
- export declare const compressData: <T extends Record<string, any> = never>(dataBuffer: Uint8Array, options: {
41
- encryptionKey: string;
42
- } & ([T] extends [never] ? {
43
- metadata?: T | undefined;
44
- } : {
45
- metadata: T;
46
- })) => Promise<Uint8Array>;
47
- export declare const decompressData: <T extends Record<string, any>>(bufferView: Uint8Array, options: {
48
- decryptionKey: string;
49
- }) => Promise<{
50
- /** metadata source is always JSON so we can decode it here */
51
- metadata: T;
52
- /** data can be anything so the caller must decode it */
53
- data: Uint8Array;
54
- }>;
55
- export {};
1
+ export declare const toByteString: (data: string | Uint8Array | ArrayBuffer) => string;
2
+ /**
3
+ * @param isByteString set to true if already byte string to prevent bloat
4
+ * due to reencoding
5
+ */
6
+ export declare const stringToBase64: (str: string, isByteString?: boolean) => string;
7
+ export declare const base64ToString: (base64: string, isByteString?: boolean) => string;
8
+ export declare const base64ToArrayBuffer: (base64: string) => ArrayBuffer;
9
+ export declare const base64urlToString: (str: string) => string;
10
+ type EncodedData = {
11
+ encoded: string;
12
+ encoding: "bstring";
13
+ /** whether text is compressed (zlib) */
14
+ compressed: boolean;
15
+ /** version for potential migration purposes */
16
+ version?: string;
17
+ };
18
+ /**
19
+ * Encodes (and potentially compresses via zlib) text to byte string
20
+ */
21
+ export declare const encode: ({ text, compress, }: {
22
+ text: string;
23
+ /** defaults to `true`. If compression fails, falls back to bstring alone. */
24
+ compress?: boolean | undefined;
25
+ }) => EncodedData;
26
+ export declare const decode: (data: EncodedData) => string;
27
+ /**
28
+ * The returned buffer has following format:
29
+ * `[]` refers to a buffers wrapper (see `concatBuffers`)
30
+ *
31
+ * [
32
+ * encodingMetadataBuffer,
33
+ * iv,
34
+ * [
35
+ * contentsMetadataBuffer
36
+ * contentsBuffer
37
+ * ]
38
+ * ]
39
+ */
40
+ export declare const compressData: <T extends Record<string, any> = never>(dataBuffer: Uint8Array, options: {
41
+ encryptionKey: string;
42
+ } & ([T] extends [never] ? {
43
+ metadata?: T | undefined;
44
+ } : {
45
+ metadata: T;
46
+ })) => Promise<Uint8Array>;
47
+ export declare const decompressData: <T extends Record<string, any>>(bufferView: Uint8Array, options: {
48
+ decryptionKey: string;
49
+ }) => Promise<{
50
+ /** metadata source is always JSON so we can decode it here */
51
+ metadata: T;
52
+ /** data can be anything so the caller must decode it */
53
+ data: Uint8Array;
54
+ }>;
55
+ export {};
@@ -1,9 +1,9 @@
1
- export declare const IV_LENGTH_BYTES = 12;
2
- export declare const createIV: () => Uint8Array;
3
- export declare const generateEncryptionKey: <T extends "string" | "cryptoKey" = "string">(returnAs?: T | undefined) => Promise<T extends "cryptoKey" ? CryptoKey : string>;
4
- export declare const getCryptoKey: (key: string, usage: KeyUsage) => Promise<CryptoKey>;
5
- export declare const encryptData: (key: string | CryptoKey, data: Uint8Array | ArrayBuffer | Blob | File | string) => Promise<{
6
- encryptedBuffer: ArrayBuffer;
7
- iv: Uint8Array;
8
- }>;
9
- export declare const decryptData: (iv: Uint8Array, encrypted: Uint8Array | ArrayBuffer, privateKey: string) => Promise<ArrayBuffer>;
1
+ export declare const IV_LENGTH_BYTES = 12;
2
+ export declare const createIV: () => Uint8Array;
3
+ export declare const generateEncryptionKey: <T extends "string" | "cryptoKey" = "string">(returnAs?: T | undefined) => Promise<T extends "cryptoKey" ? CryptoKey : string>;
4
+ export declare const getCryptoKey: (key: string, usage: KeyUsage) => Promise<CryptoKey>;
5
+ export declare const encryptData: (key: string | CryptoKey, data: Uint8Array | ArrayBuffer | Blob | File | string) => Promise<{
6
+ encryptedBuffer: ArrayBuffer;
7
+ iv: Uint8Array;
8
+ }>;
9
+ export declare const decryptData: (iv: Uint8Array, encrypted: Uint8Array | ArrayBuffer, privateKey: string) => Promise<ArrayBuffer>;
@@ -1,21 +1,21 @@
1
- import { supported as nativeFileSystemSupported } from "browser-fs-access";
2
- import { MIME_TYPES } from "@excalidraw/common";
3
- import type { FileSystemHandle } from "browser-fs-access";
4
- type FILE_EXTENSION = Exclude<keyof typeof MIME_TYPES, "binary">;
5
- export declare const fileOpen: <M extends boolean | undefined = false>(opts: {
6
- extensions?: FILE_EXTENSION[] | undefined;
7
- description: string;
8
- multiple?: M | undefined;
9
- }) => Promise<M extends false | undefined ? File : File[]>;
10
- export declare const fileSave: (blob: Blob | Promise<Blob>, opts: {
11
- /** supply without the extension */
12
- name: string;
13
- /** file extension */
14
- extension: FILE_EXTENSION;
15
- mimeTypes?: string[];
16
- description: string;
17
- /** existing FileSystemHandle */
18
- fileHandle?: FileSystemHandle | null;
19
- }) => Promise<FileSystemHandle | null>;
20
- export { nativeFileSystemSupported };
21
- export type { FileSystemHandle };
1
+ import { supported as nativeFileSystemSupported } from "browser-fs-access";
2
+ import { MIME_TYPES } from "@excalidraw/common";
3
+ import type { FileSystemHandle } from "browser-fs-access";
4
+ type FILE_EXTENSION = Exclude<keyof typeof MIME_TYPES, "binary">;
5
+ export declare const fileOpen: <M extends boolean | undefined = false>(opts: {
6
+ extensions?: FILE_EXTENSION[] | undefined;
7
+ description: string;
8
+ multiple?: M | undefined;
9
+ }) => Promise<M extends false | undefined ? File : File[]>;
10
+ export declare const fileSave: (blob: Blob | Promise<Blob>, opts: {
11
+ /** supply without the extension */
12
+ name: string;
13
+ /** file extension */
14
+ extension: FILE_EXTENSION;
15
+ mimeTypes?: string[];
16
+ description: string;
17
+ /** existing FileSystemHandle */
18
+ fileHandle?: FileSystemHandle | null;
19
+ }) => Promise<FileSystemHandle | null>;
20
+ export { nativeFileSystemSupported };
21
+ export type { FileSystemHandle };
@@ -1,9 +1,9 @@
1
- export declare const getTEXtChunk: (blob: Blob) => Promise<{
2
- keyword: string;
3
- text: string;
4
- } | null>;
5
- export declare const encodePngMetadata: ({ blob, metadata, }: {
6
- blob: Blob;
7
- metadata: string;
8
- }) => Promise<Blob>;
9
- export declare const decodePngMetadata: (blob: Blob) => Promise<string>;
1
+ export declare const getTEXtChunk: (blob: Blob) => Promise<{
2
+ keyword: string;
3
+ text: string;
4
+ } | null>;
5
+ export declare const encodePngMetadata: ({ blob, metadata, }: {
6
+ blob: Blob;
7
+ metadata: string;
8
+ }) => Promise<Blob>;
9
+ export declare const decodePngMetadata: (blob: Blob) => Promise<string>;
@@ -1,22 +1,22 @@
1
- import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
- import type { FileSystemHandle } from "./filesystem";
3
- import type { ExportType } from "../scene/types";
4
- import type { AppState, BinaryFiles } from "../types";
5
- export { loadFromBlob } from "./blob";
6
- export { loadFromJSON, saveAsJSON } from "./json";
7
- export type ExportedElements = readonly NonDeletedExcalidrawElement[] & {
8
- _brand: "exportedElements";
9
- };
10
- export declare const prepareElementsForExport: (elements: readonly ExcalidrawElement[], { selectedElementIds }: Pick<AppState, "selectedElementIds">, exportSelectionOnly: boolean) => {
11
- exportingFrame: ExcalidrawFrameLikeElement | null;
12
- exportedElements: ExportedElements;
13
- };
14
- export declare const exportCanvas: (type: Omit<ExportType, "backend">, elements: ExportedElements, appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, name, fileHandle, exportingFrame, }: {
15
- exportBackground: boolean;
16
- exportPadding?: number | undefined;
17
- viewBackgroundColor: string;
18
- /** filename, if applicable */
19
- name?: string | undefined;
20
- fileHandle?: FileSystemHandle | null | undefined;
21
- exportingFrame: ExcalidrawFrameLikeElement | null;
22
- }) => Promise<FileSystemHandle | null | undefined>;
1
+ import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { FileSystemHandle } from "./filesystem";
3
+ import type { ExportType } from "../scene/types";
4
+ import type { AppState, BinaryFiles } from "../types";
5
+ export { loadFromBlob } from "./blob";
6
+ export { loadFromJSON, saveAsJSON } from "./json";
7
+ export type ExportedElements = readonly NonDeletedExcalidrawElement[] & {
8
+ _brand: "exportedElements";
9
+ };
10
+ export declare const prepareElementsForExport: (elements: readonly ExcalidrawElement[], { selectedElementIds }: Pick<AppState, "selectedElementIds">, exportSelectionOnly: boolean) => {
11
+ exportingFrame: ExcalidrawFrameLikeElement | null;
12
+ exportedElements: ExportedElements;
13
+ };
14
+ export declare const exportCanvas: (type: Omit<ExportType, "backend">, elements: ExportedElements, appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, name, fileHandle, exportingFrame, }: {
15
+ exportBackground: boolean;
16
+ exportPadding?: number | undefined;
17
+ viewBackgroundColor: string;
18
+ /** filename, if applicable */
19
+ name?: string | undefined;
20
+ fileHandle?: FileSystemHandle | null | undefined;
21
+ exportingFrame: ExcalidrawFrameLikeElement | null;
22
+ }) => Promise<FileSystemHandle | null | undefined>;
@@ -1,16 +1,16 @@
1
- import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type { AppState, BinaryFiles, LibraryItems } from "../types";
3
- import type { ImportedDataState, ImportedLibraryData } from "./types";
4
- export declare const serializeAsJSON: (elements: readonly ExcalidrawElement[], appState: Partial<AppState>, files: BinaryFiles, type: "local" | "database") => string;
5
- export declare const saveAsJSON: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name?: string) => Promise<{
6
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
7
- }>;
8
- export declare const loadFromJSON: (localAppState: AppState, localElements: readonly ExcalidrawElement[] | null) => Promise<import("./restore").RestoredDataState>;
9
- export declare const isValidExcalidrawData: (data?: {
10
- type?: any;
11
- elements?: any;
12
- appState?: any;
13
- }) => data is ImportedDataState;
14
- export declare const isValidLibrary: (json: any) => json is ImportedLibraryData;
15
- export declare const serializeLibraryAsJSON: (libraryItems: LibraryItems) => string;
16
- export declare const saveLibraryAsJSON: (libraryItems: LibraryItems) => Promise<void>;
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { AppState, BinaryFiles, LibraryItems } from "../types";
3
+ import type { ImportedDataState, ImportedLibraryData } from "./types";
4
+ export declare const serializeAsJSON: (elements: readonly ExcalidrawElement[], appState: Partial<AppState>, files: BinaryFiles, type: "local" | "database") => string;
5
+ export declare const saveAsJSON: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name?: string) => Promise<{
6
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
7
+ }>;
8
+ export declare const loadFromJSON: (localAppState: AppState, localElements: readonly ExcalidrawElement[] | null) => Promise<import("./restore").RestoredDataState>;
9
+ export declare const isValidExcalidrawData: (data?: {
10
+ type?: any;
11
+ elements?: any;
12
+ appState?: any;
13
+ }) => data is ImportedDataState;
14
+ export declare const isValidLibrary: (json: any) => json is ImportedLibraryData;
15
+ export declare const serializeLibraryAsJSON: (libraryItems: LibraryItems) => string;
16
+ export declare const saveLibraryAsJSON: (libraryItems: LibraryItems) => Promise<void>;
@@ -1,112 +1,112 @@
1
- import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type { MaybePromise } from "@excalidraw/common/utility-types";
3
- import type App from "../components/App";
4
- import type { LibraryItems, ExcalidrawImperativeAPI, LibraryItemsSource, LibraryItems_anyVersion } from "../types";
5
- export type LibraryPersistedData = {
6
- libraryItems: LibraryItems;
7
- };
8
- export type LibraryAdatapterSource = "load" | "save";
9
- export interface LibraryPersistenceAdapter {
10
- /**
11
- * Should load data that were previously saved into the database using the
12
- * `save` method. Should throw if saving fails.
13
- *
14
- * Will be used internally in multiple places, such as during save to
15
- * in order to reconcile changes with latest store data.
16
- */
17
- load(metadata: {
18
- /**
19
- * Indicates whether we're loading data for save purposes, or reading
20
- * purposes, in which case host app can implement more aggressive caching.
21
- */
22
- source: LibraryAdatapterSource;
23
- }): MaybePromise<{
24
- libraryItems: LibraryItems_anyVersion;
25
- } | null>;
26
- /** Should persist to the database as is (do no change the data structure). */
27
- save(libraryData: LibraryPersistedData): MaybePromise<void>;
28
- }
29
- export interface LibraryMigrationAdapter {
30
- /**
31
- * loads data from legacy data source. Returns `null` if no data is
32
- * to be migrated.
33
- */
34
- load(): MaybePromise<{
35
- libraryItems: LibraryItems_anyVersion;
36
- } | null>;
37
- /** clears entire storage afterwards */
38
- clear(): MaybePromise<void>;
39
- }
40
- export declare const libraryItemsAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
41
- status: "loading" | "loaded";
42
- /** indicates whether library is initialized with library items (has gone
43
- * through at least one update). Used in UI. Specific to this atom only. */
44
- isInitialized: boolean;
45
- libraryItems: LibraryItems;
46
- }> & {
47
- init: {
48
- status: "loading" | "loaded";
49
- /** indicates whether library is initialized with library items (has gone
50
- * through at least one update). Used in UI. Specific to this atom only. */
51
- isInitialized: boolean;
52
- libraryItems: LibraryItems;
53
- };
54
- };
55
- /** Merges otherItems into localItems. Unique items in otherItems array are
56
- sorted first. */
57
- export declare const mergeLibraryItems: (localItems: LibraryItems, otherItems: LibraryItems) => LibraryItems;
58
- declare class Library {
59
- /** latest libraryItems */
60
- private currLibraryItems;
61
- /** snapshot of library items since last onLibraryChange call */
62
- private prevLibraryItems;
63
- private app;
64
- constructor(app: App);
65
- private updateQueue;
66
- private getLastUpdateTask;
67
- private notifyListeners;
68
- /** call on excalidraw instance unmount */
69
- destroy: () => void;
70
- resetLibrary: () => Promise<LibraryItems>;
71
- /**
72
- * @returns latest cloned libraryItems. Awaits all in-progress updates first.
73
- */
74
- getLatestLibrary: () => Promise<LibraryItems>;
75
- updateLibrary: ({ libraryItems, prompt, merge, openLibraryMenu, defaultStatus, }: {
76
- libraryItems: LibraryItemsSource;
77
- merge?: boolean | undefined;
78
- prompt?: boolean | undefined;
79
- openLibraryMenu?: boolean | undefined;
80
- defaultStatus?: "unpublished" | "published" | undefined;
81
- }) => Promise<LibraryItems>;
82
- setLibrary: (libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
83
- }
84
- export default Library;
85
- export declare const distributeLibraryItemsOnSquareGrid: (libraryItems: LibraryItems) => ExcalidrawElement[];
86
- export declare const validateLibraryUrl: (libraryUrl: string, validator?: string[] | ((libraryUrl: string) => boolean)) => true;
87
- export declare const parseLibraryTokensFromUrl: () => {
88
- libraryUrl: string;
89
- idToken: string | null;
90
- } | null;
91
- export declare const getLibraryItemsHash: (items: LibraryItems) => number;
92
- export declare const useHandleLibrary: (opts: {
93
- excalidrawAPI: ExcalidrawImperativeAPI | null;
94
- /**
95
- * Return `true` if the library install url should be allowed.
96
- * If not supplied, only the excalidraw.com base domain is allowed.
97
- */
98
- validateLibraryUrl?: ((libraryUrl: string) => boolean) | undefined;
99
- } & ({
100
- /** @deprecated we recommend using `opts.adapter` instead */
101
- getInitialLibraryItems?: (() => MaybePromise<LibraryItemsSource>) | undefined;
102
- } | {
103
- adapter: LibraryPersistenceAdapter;
104
- /**
105
- * Adapter that takes care of loading data from legacy data store.
106
- * Supply this if you want to migrate data on initial load from legacy
107
- * data store.
108
- *
109
- * Can be a different LibraryPersistenceAdapter.
110
- */
111
- migrationAdapter?: LibraryMigrationAdapter | undefined;
112
- })) => void;
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { MaybePromise } from "@excalidraw/common/utility-types";
3
+ import type App from "../components/App";
4
+ import type { LibraryItems, ExcalidrawImperativeAPI, LibraryItemsSource, LibraryItems_anyVersion } from "../types";
5
+ export type LibraryPersistedData = {
6
+ libraryItems: LibraryItems;
7
+ };
8
+ export type LibraryAdatapterSource = "load" | "save";
9
+ export interface LibraryPersistenceAdapter {
10
+ /**
11
+ * Should load data that were previously saved into the database using the
12
+ * `save` method. Should throw if saving fails.
13
+ *
14
+ * Will be used internally in multiple places, such as during save to
15
+ * in order to reconcile changes with latest store data.
16
+ */
17
+ load(metadata: {
18
+ /**
19
+ * Indicates whether we're loading data for save purposes, or reading
20
+ * purposes, in which case host app can implement more aggressive caching.
21
+ */
22
+ source: LibraryAdatapterSource;
23
+ }): MaybePromise<{
24
+ libraryItems: LibraryItems_anyVersion;
25
+ } | null>;
26
+ /** Should persist to the database as is (do no change the data structure). */
27
+ save(libraryData: LibraryPersistedData): MaybePromise<void>;
28
+ }
29
+ export interface LibraryMigrationAdapter {
30
+ /**
31
+ * loads data from legacy data source. Returns `null` if no data is
32
+ * to be migrated.
33
+ */
34
+ load(): MaybePromise<{
35
+ libraryItems: LibraryItems_anyVersion;
36
+ } | null>;
37
+ /** clears entire storage afterwards */
38
+ clear(): MaybePromise<void>;
39
+ }
40
+ export declare const libraryItemsAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
41
+ status: "loading" | "loaded";
42
+ /** indicates whether library is initialized with library items (has gone
43
+ * through at least one update). Used in UI. Specific to this atom only. */
44
+ isInitialized: boolean;
45
+ libraryItems: LibraryItems;
46
+ }> & {
47
+ init: {
48
+ status: "loading" | "loaded";
49
+ /** indicates whether library is initialized with library items (has gone
50
+ * through at least one update). Used in UI. Specific to this atom only. */
51
+ isInitialized: boolean;
52
+ libraryItems: LibraryItems;
53
+ };
54
+ };
55
+ /** Merges otherItems into localItems. Unique items in otherItems array are
56
+ sorted first. */
57
+ export declare const mergeLibraryItems: (localItems: LibraryItems, otherItems: LibraryItems) => LibraryItems;
58
+ declare class Library {
59
+ /** latest libraryItems */
60
+ private currLibraryItems;
61
+ /** snapshot of library items since last onLibraryChange call */
62
+ private prevLibraryItems;
63
+ private app;
64
+ constructor(app: App);
65
+ private updateQueue;
66
+ private getLastUpdateTask;
67
+ private notifyListeners;
68
+ /** call on excalidraw instance unmount */
69
+ destroy: () => void;
70
+ resetLibrary: () => Promise<LibraryItems>;
71
+ /**
72
+ * @returns latest cloned libraryItems. Awaits all in-progress updates first.
73
+ */
74
+ getLatestLibrary: () => Promise<LibraryItems>;
75
+ updateLibrary: ({ libraryItems, prompt, merge, openLibraryMenu, defaultStatus, }: {
76
+ libraryItems: LibraryItemsSource;
77
+ merge?: boolean | undefined;
78
+ prompt?: boolean | undefined;
79
+ openLibraryMenu?: boolean | undefined;
80
+ defaultStatus?: "unpublished" | "published" | undefined;
81
+ }) => Promise<LibraryItems>;
82
+ setLibrary: (libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
83
+ }
84
+ export default Library;
85
+ export declare const distributeLibraryItemsOnSquareGrid: (libraryItems: LibraryItems) => ExcalidrawElement[];
86
+ export declare const validateLibraryUrl: (libraryUrl: string, validator?: string[] | ((libraryUrl: string) => boolean)) => true;
87
+ export declare const parseLibraryTokensFromUrl: () => {
88
+ libraryUrl: string;
89
+ idToken: string | null;
90
+ } | null;
91
+ export declare const getLibraryItemsHash: (items: LibraryItems) => number;
92
+ export declare const useHandleLibrary: (opts: {
93
+ excalidrawAPI: ExcalidrawImperativeAPI | null;
94
+ /**
95
+ * Return `true` if the library install url should be allowed.
96
+ * If not supplied, only the excalidraw.com base domain is allowed.
97
+ */
98
+ validateLibraryUrl?: ((libraryUrl: string) => boolean) | undefined;
99
+ } & ({
100
+ /** @deprecated we recommend using `opts.adapter` instead */
101
+ getInitialLibraryItems?: (() => MaybePromise<LibraryItemsSource>) | undefined;
102
+ } | {
103
+ adapter: LibraryPersistenceAdapter;
104
+ /**
105
+ * Adapter that takes care of loading data from legacy data store.
106
+ * Supply this if you want to migrate data on initial load from legacy
107
+ * data store.
108
+ *
109
+ * Can be a different LibraryPersistenceAdapter.
110
+ */
111
+ migrationAdapter?: LibraryMigrationAdapter | undefined;
112
+ })) => void;
@@ -1,6 +1,6 @@
1
- import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
2
- import type { MakeBrand } from "@excalidraw/common/utility-types";
3
- import type { AppState } from "../types";
4
- export type ReconciledExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"ReconciledElement">;
5
- export type RemoteExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"RemoteExcalidrawElement">;
6
- export declare const reconcileElements: (localElements: readonly OrderedExcalidrawElement[], remoteElements: readonly RemoteExcalidrawElement[], localAppState: AppState) => ReconciledExcalidrawElement[];
1
+ import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { MakeBrand } from "@excalidraw/common/utility-types";
3
+ import type { AppState } from "../types";
4
+ export type ReconciledExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"ReconciledElement">;
5
+ export type RemoteExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"RemoteExcalidrawElement">;
6
+ export declare const reconcileElements: (localElements: readonly OrderedExcalidrawElement[], remoteElements: readonly RemoteExcalidrawElement[], localAppState: AppState) => ReconciledExcalidrawElement[];
@@ -1,5 +1,5 @@
1
- import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type { AppState, BinaryFiles } from "../types";
3
- export declare const resaveAsImageWithScene: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name: string) => Promise<{
4
- fileHandle: import("browser-fs-access").FileSystemHandle;
5
- }>;
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { AppState, BinaryFiles } from "../types";
3
+ export declare const resaveAsImageWithScene: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name: string) => Promise<{
4
+ fileHandle: import("browser-fs-access").FileSystemHandle;
5
+ }>;
@@ -1,21 +1,21 @@
1
- import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
- import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
- import type { ImportedDataState } from "./types";
4
- type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
5
- export declare const AllowedExcalidrawActiveTools: Record<AppState["activeTool"]["type"], boolean>;
6
- export type RestoredDataState = {
7
- elements: OrderedExcalidrawElement[];
8
- appState: RestoredAppState;
9
- files: BinaryFiles;
10
- };
11
- export declare const restoreElements: (elements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
12
- refreshDimensions?: boolean;
13
- repairBindings?: boolean;
14
- } | undefined) => OrderedExcalidrawElement[];
15
- export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
16
- export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
17
- refreshDimensions?: boolean;
18
- repairBindings?: boolean;
19
- }) => RestoredDataState;
20
- export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
21
- export {};
1
+ import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
+ import type { ImportedDataState } from "./types";
4
+ type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
5
+ export declare const AllowedExcalidrawActiveTools: Record<AppState["activeTool"]["type"], boolean>;
6
+ export type RestoredDataState = {
7
+ elements: OrderedExcalidrawElement[];
8
+ appState: RestoredAppState;
9
+ files: BinaryFiles;
10
+ };
11
+ export declare const restoreElements: (elements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
12
+ refreshDimensions?: boolean;
13
+ repairBindings?: boolean;
14
+ } | undefined) => OrderedExcalidrawElement[];
15
+ export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
16
+ export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
17
+ refreshDimensions?: boolean;
18
+ repairBindings?: boolean;
19
+ }) => RestoredDataState;
20
+ export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
21
+ export {};