@zsviczian/excalidraw 0.18.0-31 → 0.18.0-32

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 (385) hide show
  1. package/dist/excalidraw.development.js +153 -98
  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 +354 -354
  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 -267
  18. package/types/element/src/Scene.d.ts +76 -76
  19. package/types/element/src/align.d.ts +8 -8
  20. package/types/element/src/binding.d.ts +111 -111
  21. package/types/element/src/bounds.d.ts +89 -89
  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 +225 -225
  27. package/types/element/src/distance.d.ts +3 -3
  28. package/types/element/src/distribute.d.ts +7 -7
  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 +34 -34
  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 -57
  42. package/types/element/src/linearElementEditor.d.ts +116 -116
  43. package/types/element/src/mutateElement.d.ts +21 -21
  44. package/types/element/src/newElement.d.ts +64 -64
  45. package/types/element/src/renderElement.d.ts +28 -28
  46. package/types/element/src/resizeElements.d.ts +39 -39
  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/shape.d.ts +42 -42
  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 +232 -232
  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 +308 -308
  60. package/types/element/src/utils.d.ts +31 -31
  61. package/types/element/src/zindex.d.ts +7 -7
  62. package/types/excalidraw/actions/actionAddToLibrary.d.ts +641 -641
  63. package/types/excalidraw/actions/actionAlign.d.ts +109 -109
  64. package/types/excalidraw/actions/actionBoundText.d.ts +464 -464
  65. package/types/excalidraw/actions/actionCanvas.d.ts +3338 -3338
  66. package/types/excalidraw/actions/actionClipboard.d.ts +1400 -1400
  67. package/types/excalidraw/actions/actionCropEditor.d.ts +226 -226
  68. package/types/excalidraw/actions/actionDeleteSelected.d.ts +681 -681
  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 +248 -248
  72. package/types/excalidraw/actions/actionElementLock.d.ts +450 -450
  73. package/types/excalidraw/actions/actionEmbeddable.d.ts +223 -223
  74. package/types/excalidraw/actions/actionExport.d.ts +1989 -1989
  75. package/types/excalidraw/actions/actionFinalize.d.ts +679 -679
  76. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  77. package/types/excalidraw/actions/actionFrame.d.ts +1409 -1409
  78. package/types/excalidraw/actions/actionGroup.d.ts +462 -462
  79. package/types/excalidraw/actions/actionHistory.d.ts +6 -6
  80. package/types/excalidraw/actions/actionLinearEditor.d.ts +763 -763
  81. package/types/excalidraw/actions/actionLink.d.ts +227 -227
  82. package/types/excalidraw/actions/actionMenu.d.ts +661 -661
  83. package/types/excalidraw/actions/actionNavigate.d.ts +438 -438
  84. package/types/excalidraw/actions/actionProperties.d.ts +3574 -3574
  85. package/types/excalidraw/actions/actionSelectAll.d.ts +226 -226
  86. package/types/excalidraw/actions/actionStyles.d.ts +240 -240
  87. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  88. package/types/excalidraw/actions/actionToggleGridMode.d.ts +229 -229
  89. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +227 -227
  90. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +220 -220
  91. package/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -19
  92. package/types/excalidraw/actions/actionToggleStats.d.ts +226 -226
  93. package/types/excalidraw/actions/actionToggleViewMode.d.ts +227 -227
  94. package/types/excalidraw/actions/actionToggleZenMode.d.ts +227 -227
  95. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  96. package/types/excalidraw/actions/index.d.ts +29 -29
  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 +100 -100
  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 +31 -31
  109. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  110. package/types/excalidraw/components/App.d.ts +567 -567
  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/Ellipsify.d.ts +3 -3
  144. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  145. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  146. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  147. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  148. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  149. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  150. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  151. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
  152. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  153. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  154. package/types/excalidraw/components/HandButton.d.ts +10 -10
  155. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  156. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  157. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  158. package/types/excalidraw/components/IconPicker.d.ts +15 -15
  159. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  160. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  161. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  162. package/types/excalidraw/components/Island.d.ts +10 -10
  163. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  164. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  165. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  166. package/types/excalidraw/components/LibraryMenu.d.ts +10 -10
  167. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  168. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  169. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  170. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  171. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  172. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  173. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  174. package/types/excalidraw/components/LockButton.d.ts +10 -10
  175. package/types/excalidraw/components/MagicButton.d.ts +10 -10
  176. package/types/excalidraw/components/MobileMenu.d.ts +25 -25
  177. package/types/excalidraw/components/Modal.d.ts +14 -14
  178. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  179. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  180. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  181. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  182. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  183. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  184. package/types/excalidraw/components/Popover.d.ts +15 -15
  185. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  186. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  187. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  188. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  189. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  190. package/types/excalidraw/components/RadioSelection.d.ts +20 -20
  191. package/types/excalidraw/components/Range.d.ts +8 -8
  192. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  193. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  194. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  195. package/types/excalidraw/components/Section.d.ts +6 -6
  196. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  197. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  198. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  199. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  200. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  201. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  202. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  203. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  204. package/types/excalidraw/components/Sidebar/common.d.ts +34 -34
  205. package/types/excalidraw/components/Spinner.d.ts +8 -8
  206. package/types/excalidraw/components/Stack.d.ts +15 -15
  207. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  208. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  209. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  210. package/types/excalidraw/components/Stats/Collapsible.d.ts +10 -10
  211. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  212. package/types/excalidraw/components/Stats/DragInput.d.ts +44 -44
  213. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  214. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  215. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  216. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  217. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  218. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  219. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  220. package/types/excalidraw/components/Stats/utils.d.ts +19 -19
  221. package/types/excalidraw/components/Switch.d.ts +9 -9
  222. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  223. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  224. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  225. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  226. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  227. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  228. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  229. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  230. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  231. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  232. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  233. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  234. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
  235. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  236. package/types/excalidraw/components/TextField.d.ts +21 -21
  237. package/types/excalidraw/components/Toast.d.ts +9 -9
  238. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  239. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  240. package/types/excalidraw/components/Trans.d.ts +9 -9
  241. package/types/excalidraw/components/UnlockPopup.d.ts +8 -8
  242. package/types/excalidraw/components/UserList.d.ts +18 -18
  243. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -30
  244. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  245. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  246. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  247. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  248. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  249. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  250. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
  251. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  252. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  253. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  254. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  255. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  256. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  257. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  258. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  259. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  260. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  261. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  262. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -19
  263. package/types/excalidraw/components/hyperlink/helpers.d.ts +10 -10
  264. package/types/excalidraw/components/icons.d.ts +228 -228
  265. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  266. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  267. package/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -83
  268. package/types/excalidraw/components/shapes.d.ts +62 -62
  269. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +60 -60
  270. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  271. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  272. package/types/excalidraw/context/tunnels.d.ts +21 -21
  273. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  274. package/types/excalidraw/cursor.d.ts +6 -6
  275. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  276. package/types/excalidraw/data/ai/types.d.ts +242 -242
  277. package/types/excalidraw/data/blob.d.ts +53 -53
  278. package/types/excalidraw/data/encode.d.ts +55 -55
  279. package/types/excalidraw/data/encryption.d.ts +9 -9
  280. package/types/excalidraw/data/filesystem.d.ts +21 -21
  281. package/types/excalidraw/data/image.d.ts +9 -9
  282. package/types/excalidraw/data/index.d.ts +22 -22
  283. package/types/excalidraw/data/json.d.ts +16 -16
  284. package/types/excalidraw/data/library.d.ts +112 -112
  285. package/types/excalidraw/data/reconcile.d.ts +7 -7
  286. package/types/excalidraw/data/resave.d.ts +5 -5
  287. package/types/excalidraw/data/restore.d.ts +21 -21
  288. package/types/excalidraw/data/transform.d.ts +81 -81
  289. package/types/excalidraw/data/types.d.ts +45 -45
  290. package/types/excalidraw/deburr.d.ts +1 -1
  291. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  292. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  293. package/types/excalidraw/editor-jotai.d.ts +56 -56
  294. package/types/excalidraw/entry.d.ts +1 -1
  295. package/types/excalidraw/env.d.cts +1 -1
  296. package/types/excalidraw/env.d.ts +1 -1
  297. package/types/excalidraw/eraser/index.d.ts +12 -12
  298. package/types/excalidraw/errors.d.ts +29 -29
  299. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  300. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  301. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  302. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  303. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  304. package/types/excalidraw/fonts/Fonts.d.ts +90 -90
  305. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  306. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  307. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  308. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  309. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  310. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  311. package/types/excalidraw/fonts/index.d.ts +1 -1
  312. package/types/excalidraw/gesture.d.ts +6 -6
  313. package/types/excalidraw/history.d.ts +48 -48
  314. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  315. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  316. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  317. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  318. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  319. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  320. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  321. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  322. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  323. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  324. package/types/excalidraw/i18n.d.ts +24 -24
  325. package/types/excalidraw/index-node.d.ts +1 -1
  326. package/types/excalidraw/index.d.ts +61 -61
  327. package/types/excalidraw/laser-trails.d.ts +20 -20
  328. package/types/excalidraw/lasso/index.d.ts +16 -16
  329. package/types/excalidraw/lasso/utils.d.ts +13 -13
  330. package/types/excalidraw/main.d.ts +2 -2
  331. package/types/excalidraw/mermaid.d.ts +2 -2
  332. package/types/excalidraw/obsidianUtils.d.ts +40 -40
  333. package/types/excalidraw/polyfill.d.ts +2 -2
  334. package/types/excalidraw/publicPath.d.ts +1 -1
  335. package/types/excalidraw/reactUtils.d.ts +14 -14
  336. package/types/excalidraw/renderer/helpers.d.ts +18 -18
  337. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  338. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  339. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  340. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  341. package/types/excalidraw/renderer/staticScene.d.ts +14 -14
  342. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  343. package/types/excalidraw/scene/Renderer.d.ts +27 -27
  344. package/types/excalidraw/scene/export.d.ts +37 -37
  345. package/types/excalidraw/scene/index.d.ts +4 -4
  346. package/types/excalidraw/scene/normalize.d.ts +4 -4
  347. package/types/excalidraw/scene/scroll.d.ts +23 -23
  348. package/types/excalidraw/scene/scrollbars.d.ts +11 -11
  349. package/types/excalidraw/scene/types.d.ts +122 -122
  350. package/types/excalidraw/scene/zoom.d.ts +12 -12
  351. package/types/excalidraw/snapping.d.ts +111 -111
  352. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  353. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  354. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  355. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  356. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  357. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  358. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  359. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  360. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  361. package/types/excalidraw/types.d.ts +781 -781
  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 -3
  368. package/types/math/src/curve.d.ts +74 -74
  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 +5 -5
  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 +7 -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
@@ -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?: "published" | "unpublished" | 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?: "published" | "unpublished" | 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,7 +1,7 @@
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 shouldDiscardRemoteElement: (localAppState: AppState, local: OrderedExcalidrawElement | undefined, remote: RemoteExcalidrawElement) => boolean;
7
- 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 shouldDiscardRemoteElement: (localAppState: AppState, local: OrderedExcalidrawElement | undefined, remote: RemoteExcalidrawElement) => boolean;
7
+ 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 {};