@zsviczian/excalidraw 0.18.0-3 → 0.18.0-5

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 +2068 -2266
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/styles.development.css +46 -49
  4. package/dist/styles.production.css +7 -7
  5. package/package.json +14 -2
  6. package/types/{excalidraw/binaryheap.d.ts → common/src/binary-heap.d.ts} +12 -12
  7. package/types/{excalidraw → common/src}/colors.d.ts +62 -61
  8. package/types/{excalidraw → common/src}/constants.d.ts +334 -333
  9. package/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +46 -38
  10. package/types/common/src/index.d.ts +11 -0
  11. package/types/{excalidraw → common/src}/keys.d.ts +189 -189
  12. package/types/{excalidraw → common/src}/points.d.ts +9 -7
  13. package/types/common/src/promise-pool.d.ts +6 -0
  14. package/types/{excalidraw → common/src}/queue.d.ts +9 -9
  15. package/types/{excalidraw → common/src}/random.d.ts +4 -4
  16. package/types/{excalidraw/data → common/src}/url.d.ts +7 -7
  17. package/types/{excalidraw → common/src}/utility-types.d.ts +32 -32
  18. package/types/{excalidraw → common/src}/utils.d.ts +253 -256
  19. package/types/{excalidraw/scene → element/src}/Shape.d.ts +17 -17
  20. package/types/{excalidraw/scene → element/src}/ShapeCache.d.ts +25 -25
  21. package/types/{excalidraw → element/src}/align.d.ts +7 -7
  22. package/types/{excalidraw/element → element/src}/binding.d.ts +101 -100
  23. package/types/{excalidraw/element → element/src}/bounds.d.ts +81 -76
  24. package/types/{excalidraw/element → element/src}/collision.d.ts +26 -26
  25. package/types/{excalidraw/scene → element/src}/comparisons.d.ts +8 -8
  26. package/types/{excalidraw/element → element/src}/containerCache.d.ts +11 -11
  27. package/types/{excalidraw/element → element/src}/cropElement.d.ts +19 -19
  28. package/types/{excalidraw/element → element/src}/distance.d.ts +3 -3
  29. package/types/{excalidraw → element/src}/distribute.d.ts +6 -6
  30. package/types/{excalidraw/element → element/src}/dragElements.d.ts +32 -32
  31. package/types/element/src/duplicate.d.ts +66 -0
  32. package/types/{excalidraw/renderer → element/src}/easingFunctions.d.ts +6 -6
  33. package/types/{excalidraw/element → element/src}/elbowArrow.d.ts +17 -17
  34. package/types/{excalidraw/element → element/src}/elementLink.d.ts +13 -13
  35. package/types/element/src/embeddable.d.ts +10 -0
  36. package/types/{excalidraw/element → element/src}/flowchart.d.ts +25 -25
  37. package/types/{excalidraw → element/src}/fractionalIndex.d.ts +51 -48
  38. package/types/{excalidraw → element/src}/frame.d.ts +69 -69
  39. package/types/{excalidraw → element/src}/groups.d.ts +33 -33
  40. package/types/{excalidraw/element → element/src}/heading.d.ts +15 -16
  41. package/types/{excalidraw/element → element/src}/image.d.ts +32 -32
  42. package/types/{excalidraw/element → element/src}/index.d.ts +16 -26
  43. package/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +129 -129
  44. package/types/{excalidraw/element → element/src}/mutateElement.d.ts +13 -13
  45. package/types/{excalidraw/element → element/src}/newElement.d.ts +62 -102
  46. package/types/{excalidraw/renderer → element/src}/renderElement.d.ts +28 -28
  47. package/types/{excalidraw/element → element/src}/resizeElements.d.ts +38 -38
  48. package/types/{excalidraw/element → element/src}/resizeTest.d.ts +15 -15
  49. package/types/{excalidraw/scene → element/src}/selection.d.ts +32 -32
  50. package/types/element/src/shapes.d.ts +23 -0
  51. package/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +3 -3
  52. package/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +35 -35
  53. package/types/{excalidraw/element → element/src}/sortElements.d.ts +2 -2
  54. package/types/{excalidraw/element → element/src}/textElement.d.ts +38 -39
  55. package/types/{excalidraw/element → element/src}/textMeasurements.d.ts +41 -41
  56. package/types/{excalidraw/element → element/src}/textWrapping.d.ts +13 -13
  57. package/types/{excalidraw/element → element/src}/transformHandles.d.ts +55 -55
  58. package/types/{excalidraw/element → element/src}/typeChecks.d.ts +39 -39
  59. package/types/{excalidraw/element → element/src}/types.d.ts +285 -285
  60. package/types/{excalidraw/element → element/src}/utils.d.ts +21 -21
  61. package/types/{excalidraw → element/src}/zindex.d.ts +7 -6
  62. package/types/excalidraw/actions/actionAddToLibrary.d.ts +632 -629
  63. package/types/excalidraw/actions/actionAlign.d.ts +109 -109
  64. package/types/excalidraw/actions/actionBoundText.d.ts +458 -456
  65. package/types/excalidraw/actions/actionCanvas.d.ts +3293 -3070
  66. package/types/excalidraw/actions/actionClipboard.d.ts +1380 -1374
  67. package/types/excalidraw/actions/actionCropEditor.d.ts +223 -222
  68. package/types/excalidraw/actions/actionDeleteSelected.d.ts +671 -668
  69. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  70. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +17 -21
  71. package/types/excalidraw/actions/actionElementLink.d.ts +245 -244
  72. package/types/excalidraw/actions/actionElementLock.d.ts +445 -444
  73. package/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +220 -229
  74. package/types/excalidraw/actions/actionExport.d.ts +1962 -1953
  75. package/types/excalidraw/actions/actionFinalize.d.ts +427 -425
  76. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  77. package/types/excalidraw/actions/actionFrame.d.ts +1388 -1384
  78. package/types/excalidraw/actions/actionGroup.d.ts +456 -454
  79. package/types/excalidraw/actions/actionHistory.d.ts +7 -7
  80. package/types/excalidraw/actions/actionLinearEditor.d.ts +224 -223
  81. package/types/excalidraw/actions/actionLink.d.ts +224 -223
  82. package/types/excalidraw/actions/actionMenu.d.ts +652 -649
  83. package/types/excalidraw/actions/actionNavigate.d.ts +432 -430
  84. package/types/excalidraw/actions/actionProperties.d.ts +3291 -3276
  85. package/types/excalidraw/actions/actionSelectAll.d.ts +223 -222
  86. package/types/excalidraw/actions/actionStyles.d.ts +237 -236
  87. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  88. package/types/excalidraw/actions/actionToggleGridMode.d.ts +226 -225
  89. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +224 -223
  90. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +422 -420
  91. package/types/excalidraw/actions/actionToggleStats.d.ts +223 -223
  92. package/types/excalidraw/actions/actionToggleViewMode.d.ts +224 -224
  93. package/types/excalidraw/actions/actionToggleZenMode.d.ts +224 -224
  94. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  95. package/types/excalidraw/actions/index.d.ts +28 -27
  96. package/types/excalidraw/actions/manager.d.ts +21 -21
  97. package/types/excalidraw/actions/register.d.ts +5 -5
  98. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  99. package/types/excalidraw/actions/types.d.ts +46 -46
  100. package/types/excalidraw/analytics.d.ts +1 -1
  101. package/types/excalidraw/animated-trail.d.ts +39 -33
  102. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  103. package/types/excalidraw/appState.d.ts +90 -89
  104. package/types/excalidraw/change.d.ts +191 -191
  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 +551 -561
  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 +15 -15
  115. package/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
  116. package/types/excalidraw/components/ButtonIconSelect.d.ts +20 -20
  117. package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
  118. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  119. package/types/excalidraw/components/Card.d.ts +6 -6
  120. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  121. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
  122. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
  123. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  124. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -8
  125. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
  126. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  127. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  128. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  129. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  130. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  131. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  132. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  133. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  134. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  135. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  136. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  137. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  138. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  139. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  140. package/types/excalidraw/components/Dialog.d.ts +13 -13
  141. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  142. package/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +7 -7
  143. package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -11
  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/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 +9 -9
  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 +26 -26
  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/UserList.d.ts +18 -18
  241. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
  242. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  243. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  244. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  245. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  246. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  247. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  248. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
  249. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
  250. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  251. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  252. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
  253. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  254. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  255. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  256. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  257. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  258. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  259. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  260. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
  261. package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -9
  262. package/types/excalidraw/components/icons.d.ts +224 -223
  263. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  264. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  265. package/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -80
  266. package/types/excalidraw/components/shapes.d.ts +62 -0
  267. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +60 -60
  268. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  269. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  270. package/types/excalidraw/context/tunnels.d.ts +21 -21
  271. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  272. package/types/excalidraw/cursor.d.ts +6 -6
  273. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  274. package/types/excalidraw/data/ai/types.d.ts +242 -242
  275. package/types/excalidraw/data/blob.d.ts +53 -53
  276. package/types/excalidraw/data/encode.d.ts +55 -55
  277. package/types/excalidraw/data/encryption.d.ts +9 -9
  278. package/types/excalidraw/data/filesystem.d.ts +21 -21
  279. package/types/excalidraw/data/image.d.ts +9 -9
  280. package/types/excalidraw/data/index.d.ts +22 -22
  281. package/types/excalidraw/data/json.d.ts +16 -16
  282. package/types/excalidraw/data/library.d.ts +112 -112
  283. package/types/excalidraw/data/reconcile.d.ts +6 -6
  284. package/types/excalidraw/data/resave.d.ts +5 -5
  285. package/types/excalidraw/data/restore.d.ts +21 -21
  286. package/types/excalidraw/data/transform.d.ts +81 -81
  287. package/types/excalidraw/data/types.d.ts +45 -45
  288. package/types/excalidraw/deburr.d.ts +1 -1
  289. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  290. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  291. package/types/excalidraw/editor-jotai.d.ts +56 -56
  292. package/types/excalidraw/emitter.d.ts +16 -16
  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/errors.d.ts +29 -32
  297. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  298. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  299. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  300. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  301. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  302. package/types/excalidraw/fonts/Fonts.d.ts +90 -100
  303. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  304. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  305. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  306. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  307. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  308. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  309. package/types/excalidraw/fonts/index.d.ts +1 -1
  310. package/types/excalidraw/gesture.d.ts +6 -6
  311. package/types/excalidraw/history.d.ts +40 -40
  312. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  313. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  314. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  315. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  316. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  317. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  318. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  319. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  320. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  321. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  322. package/types/excalidraw/i18n.d.ts +24 -24
  323. package/types/excalidraw/index-node.d.ts +1 -1
  324. package/types/excalidraw/index.d.ts +59 -65
  325. package/types/excalidraw/laser-trails.d.ts +20 -20
  326. package/types/excalidraw/lasso/index.d.ts +15 -0
  327. package/types/excalidraw/lasso/utils.d.ts +13 -0
  328. package/types/excalidraw/main.d.ts +2 -2
  329. package/types/excalidraw/mermaid.d.ts +2 -2
  330. package/types/excalidraw/obsidianUtils.d.ts +28 -28
  331. package/types/excalidraw/polyfill.d.ts +2 -2
  332. package/types/excalidraw/publicPath.d.ts +1 -1
  333. package/types/excalidraw/reactUtils.d.ts +14 -14
  334. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  335. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  336. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  337. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  338. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  339. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  340. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  341. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  342. package/types/excalidraw/scene/Scene.d.ts +79 -79
  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 +12 -12
  348. package/types/excalidraw/scene/types.d.ts +120 -120
  349. package/types/excalidraw/scene/zoom.d.ts +12 -12
  350. package/types/excalidraw/snapping.d.ts +111 -112
  351. package/types/excalidraw/store.d.ts +129 -129
  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 +751 -753
  362. package/types/excalidraw/visualdebug.d.ts +41 -41
  363. package/types/excalidraw/webpack.dev.config.d.ts +114 -112
  364. package/types/excalidraw/webpack.prod.config.d.ts +128 -126
  365. package/types/excalidraw/workers.d.ts +36 -36
  366. package/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +22 -22
  367. package/types/math/{angle.d.ts → src/angle.d.ts} +17 -17
  368. package/types/math/{curve.d.ts → src/curve.d.ts} +40 -40
  369. package/types/math/{ellipse.d.ts → src/ellipse.d.ts} +44 -44
  370. package/types/math/{index.d.ts → src/index.d.ts} +12 -12
  371. package/types/math/{line.d.ts → src/line.d.ts} +17 -17
  372. package/types/math/{point.d.ts → src/point.d.ts} +122 -122
  373. package/types/math/{polygon.d.ts → src/polygon.d.ts} +6 -5
  374. package/types/math/{range.d.ts → src/range.d.ts} +44 -44
  375. package/types/math/{rectangle.d.ts → src/rectangle.d.ts} +3 -3
  376. package/types/math/{segment.d.ts → src/segment.d.ts} +39 -39
  377. package/types/math/{triangle.d.ts → src/triangle.d.ts} +11 -11
  378. package/types/math/{types.d.ts → src/types.d.ts} +105 -105
  379. package/types/math/{utils.d.ts → src/utils.d.ts} +7 -7
  380. package/types/math/{vector.d.ts → src/vector.d.ts} +88 -88
  381. package/types/utils/{bbox.d.ts → src/bbox.d.ts} +9 -9
  382. package/types/utils/{collision.d.ts → src/collision.d.ts} +8 -9
  383. package/types/utils/{export.d.ts → src/export.d.ts} +35 -45
  384. package/types/utils/{index.d.ts → src/index.d.ts} +4 -4
  385. package/types/utils/{geometry → src}/shape.d.ts +58 -71
  386. package/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +19 -19
  387. package/types/excalidraw/shapes.d.ts +0 -85
@@ -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 "../constants";
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 { FileSystemHandle } from "./filesystem";
2
- import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "../element/types";
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 "../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 App from "../components/App";
2
- import type { ExcalidrawElement } from "../element/types";
3
- import type { LibraryItems, ExcalidrawImperativeAPI, LibraryItemsSource, LibraryItems_anyVersion } from "../types";
4
- import type { MaybePromise } from "../utility-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?: "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,6 +1,6 @@
1
- import type { OrderedExcalidrawElement } from "../element/types";
2
- import type { AppState } from "../types";
3
- import type { MakeBrand } from "../utility-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 "../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 "../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 {};