@zsviczian/excalidraw 0.17.6-24 → 0.17.6-26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/dist/excalidraw.development.js +112 -112
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/styles.development.css +18 -48
  4. package/dist/styles.production.css +3 -3
  5. package/package.json +1 -1
  6. package/types/excalidraw/actions/actionAddToLibrary.d.ts +629 -629
  7. package/types/excalidraw/actions/actionAlign.d.ts +108 -108
  8. package/types/excalidraw/actions/actionBoundText.d.ts +456 -456
  9. package/types/excalidraw/actions/actionCanvas.d.ts +3070 -3070
  10. package/types/excalidraw/actions/actionClipboard.d.ts +1374 -1370
  11. package/types/excalidraw/actions/actionCropEditor.d.ts +222 -222
  12. package/types/excalidraw/actions/actionDeleteSelected.d.ts +668 -664
  13. package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
  14. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -21
  15. package/types/excalidraw/actions/actionElementLink.d.ts +244 -244
  16. package/types/excalidraw/actions/actionElementLock.d.ts +444 -444
  17. package/types/excalidraw/actions/actionExport.d.ts +1953 -1953
  18. package/types/excalidraw/actions/actionFinalize.d.ts +425 -425
  19. package/types/excalidraw/actions/actionFlip.d.ts +34 -34
  20. package/types/excalidraw/actions/actionFrame.d.ts +1383 -887
  21. package/types/excalidraw/actions/actionGroup.d.ts +454 -454
  22. package/types/excalidraw/actions/actionHistory.d.ts +7 -7
  23. package/types/excalidraw/actions/actionLinearEditor.d.ts +223 -223
  24. package/types/excalidraw/actions/actionLink.d.ts +223 -223
  25. package/types/excalidraw/actions/actionMenu.d.ts +649 -649
  26. package/types/excalidraw/actions/actionNavigate.d.ts +430 -430
  27. package/types/excalidraw/actions/actionProperties.d.ts +3276 -3276
  28. package/types/excalidraw/actions/actionSelectAll.d.ts +222 -222
  29. package/types/excalidraw/actions/actionStyles.d.ts +236 -236
  30. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
  31. package/types/excalidraw/actions/actionToggleGridMode.d.ts +225 -225
  32. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +223 -223
  33. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +420 -420
  34. package/types/excalidraw/actions/actionToggleStats.d.ts +223 -223
  35. package/types/excalidraw/actions/actionToggleViewMode.d.ts +224 -224
  36. package/types/excalidraw/actions/actionToggleZenMode.d.ts +224 -224
  37. package/types/excalidraw/actions/actionZindex.d.ts +74 -74
  38. package/types/excalidraw/actions/index.d.ts +27 -27
  39. package/types/excalidraw/actions/manager.d.ts +21 -21
  40. package/types/excalidraw/actions/register.d.ts +5 -5
  41. package/types/excalidraw/actions/shortcuts.d.ts +4 -4
  42. package/types/excalidraw/actions/types.d.ts +46 -46
  43. package/types/excalidraw/align.d.ts +6 -6
  44. package/types/excalidraw/analytics.d.ts +1 -1
  45. package/types/excalidraw/animated-trail.d.ts +33 -33
  46. package/types/excalidraw/animation-frame-handler.d.ts +16 -16
  47. package/types/excalidraw/appState.d.ts +89 -89
  48. package/types/excalidraw/binaryheap.d.ts +12 -12
  49. package/types/excalidraw/change.d.ts +191 -191
  50. package/types/excalidraw/charts.d.ts +27 -27
  51. package/types/excalidraw/clients.d.ts +14 -14
  52. package/types/excalidraw/clipboard.d.ts +66 -66
  53. package/types/excalidraw/colors.d.ts +61 -61
  54. package/types/excalidraw/components/Actions.d.ts +34 -34
  55. package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
  56. package/types/excalidraw/components/App.d.ts +551 -551
  57. package/types/excalidraw/components/Avatar.d.ts +11 -11
  58. package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
  59. package/types/excalidraw/components/Button.d.ts +17 -17
  60. package/types/excalidraw/components/ButtonIcon.d.ts +14 -14
  61. package/types/excalidraw/components/ButtonIconCycle.d.ts +10 -10
  62. package/types/excalidraw/components/ButtonIconSelect.d.ts +19 -19
  63. package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
  64. package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
  65. package/types/excalidraw/components/Card.d.ts +6 -6
  66. package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
  67. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
  68. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
  69. package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
  70. package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +8 -8
  71. package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
  72. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
  73. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
  74. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
  75. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
  76. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  77. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
  78. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
  79. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
  80. package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
  81. package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
  82. package/types/excalidraw/components/ContextMenu.d.ts +16 -16
  83. package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
  84. package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
  85. package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
  86. package/types/excalidraw/components/Dialog.d.ts +13 -13
  87. package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
  88. package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -11
  89. package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
  90. package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
  91. package/types/excalidraw/components/EyeDropper.d.ts +27 -27
  92. package/types/excalidraw/components/FilledButton.d.ts +18 -18
  93. package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
  94. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
  95. package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
  96. package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -25
  97. package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
  98. package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
  99. package/types/excalidraw/components/HandButton.d.ts +10 -10
  100. package/types/excalidraw/components/HelpButton.d.ts +7 -7
  101. package/types/excalidraw/components/HelpDialog.d.ts +4 -4
  102. package/types/excalidraw/components/HintViewer.d.ts +10 -10
  103. package/types/excalidraw/components/IconPicker.d.ts +14 -14
  104. package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
  105. package/types/excalidraw/components/InitializeApp.d.ts +10 -10
  106. package/types/excalidraw/components/InlineIcon.d.ts +3 -3
  107. package/types/excalidraw/components/Island.d.ts +10 -10
  108. package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
  109. package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
  110. package/types/excalidraw/components/LayerUI.d.ts +31 -31
  111. package/types/excalidraw/components/LibraryMenu.d.ts +24 -24
  112. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
  113. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
  114. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
  115. package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
  116. package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
  117. package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
  118. package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
  119. package/types/excalidraw/components/LockButton.d.ts +10 -10
  120. package/types/excalidraw/components/MagicButton.d.ts +9 -9
  121. package/types/excalidraw/components/MobileMenu.d.ts +24 -24
  122. package/types/excalidraw/components/Modal.d.ts +14 -14
  123. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  124. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  125. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  126. package/types/excalidraw/components/Paragraph.d.ts +4 -4
  127. package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
  128. package/types/excalidraw/components/PenModeButton.d.ts +12 -12
  129. package/types/excalidraw/components/Popover.d.ts +15 -15
  130. package/types/excalidraw/components/ProjectName.d.ts +10 -10
  131. package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
  132. package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
  133. package/types/excalidraw/components/QuickSearch.d.ts +9 -9
  134. package/types/excalidraw/components/RadioGroup.d.ts +13 -13
  135. package/types/excalidraw/components/SVGLayer.d.ts +7 -7
  136. package/types/excalidraw/components/ScrollableList.d.ts +8 -8
  137. package/types/excalidraw/components/SearchMenu.d.ts +5 -5
  138. package/types/excalidraw/components/SearchSidebar.d.ts +1 -0
  139. package/types/excalidraw/components/Section.d.ts +6 -6
  140. package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
  141. package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
  142. package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
  143. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
  144. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
  145. package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
  146. package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
  147. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
  148. package/types/excalidraw/components/Sidebar/common.d.ts +33 -33
  149. package/types/excalidraw/components/Spinner.d.ts +8 -8
  150. package/types/excalidraw/components/Stack.d.ts +16 -16
  151. package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
  152. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
  153. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
  154. package/types/excalidraw/components/Stats/Collapsible.d.ts +9 -8
  155. package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
  156. package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
  157. package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
  158. package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
  159. package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
  160. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
  161. package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
  162. package/types/excalidraw/components/Stats/Position.d.ts +12 -12
  163. package/types/excalidraw/components/Stats/index.d.ts +35 -35
  164. package/types/excalidraw/components/Stats/utils.d.ts +26 -26
  165. package/types/excalidraw/components/Switch.d.ts +9 -9
  166. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
  167. package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
  168. package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
  169. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
  170. package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
  171. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
  172. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
  173. package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
  174. package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
  175. package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
  176. package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
  177. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
  178. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -8
  179. package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
  180. package/types/excalidraw/components/TextField.d.ts +21 -21
  181. package/types/excalidraw/components/Toast.d.ts +9 -9
  182. package/types/excalidraw/components/ToolButton.d.ts +49 -49
  183. package/types/excalidraw/components/Tooltip.d.ts +18 -18
  184. package/types/excalidraw/components/Trans.d.ts +9 -9
  185. package/types/excalidraw/components/UserList.d.ts +18 -18
  186. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
  187. package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
  188. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
  189. package/types/excalidraw/components/canvases/index.d.ts +3 -3
  190. package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
  191. package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  192. package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  193. package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -45
  194. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -7
  195. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
  196. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
  197. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +15 -15
  198. package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  199. package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
  200. package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
  201. package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  202. package/types/excalidraw/components/footer/Footer.d.ts +12 -12
  203. package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
  204. package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
  205. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
  206. package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -9
  207. package/types/excalidraw/components/icons.d.ts +223 -214
  208. package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
  209. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
  210. package/types/excalidraw/components/main-menu/MainMenu.d.ts +80 -80
  211. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -59
  212. package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  213. package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
  214. package/types/excalidraw/constants.d.ts +326 -326
  215. package/types/excalidraw/context/tunnels.d.ts +20 -20
  216. package/types/excalidraw/context/ui-appState.d.ts +4 -4
  217. package/types/excalidraw/cursor.d.ts +6 -6
  218. package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
  219. package/types/excalidraw/data/ai/types.d.ts +242 -242
  220. package/types/excalidraw/data/blob.d.ts +53 -53
  221. package/types/excalidraw/data/encode.d.ts +55 -55
  222. package/types/excalidraw/data/encryption.d.ts +9 -9
  223. package/types/excalidraw/data/filesystem.d.ts +21 -20
  224. package/types/excalidraw/data/image.d.ts +9 -15
  225. package/types/excalidraw/data/index.d.ts +22 -22
  226. package/types/excalidraw/data/json.d.ts +16 -16
  227. package/types/excalidraw/data/library.d.ts +112 -106
  228. package/types/excalidraw/data/reconcile.d.ts +6 -6
  229. package/types/excalidraw/data/resave.d.ts +5 -5
  230. package/types/excalidraw/data/restore.d.ts +21 -21
  231. package/types/excalidraw/data/transform.d.ts +81 -81
  232. package/types/excalidraw/data/types.d.ts +45 -45
  233. package/types/excalidraw/data/url.d.ts +7 -8
  234. package/types/excalidraw/deburr.d.ts +1 -1
  235. package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
  236. package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
  237. package/types/excalidraw/distribute.d.ts +6 -6
  238. package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -7
  239. package/types/excalidraw/element/binding.d.ts +102 -102
  240. package/types/excalidraw/element/bounds.d.ts +76 -76
  241. package/types/excalidraw/element/collision.d.ts +17 -17
  242. package/types/excalidraw/element/containerCache.d.ts +11 -11
  243. package/types/excalidraw/element/cropElement.d.ts +19 -19
  244. package/types/excalidraw/element/dragElements.d.ts +32 -32
  245. package/types/excalidraw/element/elementLink.d.ts +13 -13
  246. package/types/excalidraw/element/embeddable.d.ts +229 -229
  247. package/types/excalidraw/element/flowchart.d.ts +25 -25
  248. package/types/excalidraw/element/heading.d.ts +12 -12
  249. package/types/excalidraw/element/image.d.ts +32 -32
  250. package/types/excalidraw/element/index.d.ts +26 -26
  251. package/types/excalidraw/element/linearElementEditor.d.ts +129 -129
  252. package/types/excalidraw/element/mutateElement.d.ts +11 -11
  253. package/types/excalidraw/element/newElement.d.ts +106 -106
  254. package/types/excalidraw/element/resizeElements.d.ts +39 -39
  255. package/types/excalidraw/element/resizeTest.d.ts +15 -15
  256. package/types/excalidraw/element/routing.d.ts +15 -15
  257. package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -3
  258. package/types/excalidraw/element/sizeHelpers.d.ts +35 -35
  259. package/types/excalidraw/element/sortElements.d.ts +2 -2
  260. package/types/excalidraw/element/textElement.d.ts +83 -83
  261. package/types/excalidraw/element/textWrapping.d.ts +13 -13
  262. package/types/excalidraw/element/textWysiwyg.d.ts +22 -22
  263. package/types/excalidraw/element/transformHandles.d.ts +55 -55
  264. package/types/excalidraw/element/typeChecks.d.ts +39 -39
  265. package/types/excalidraw/element/types.d.ts +263 -263
  266. package/types/excalidraw/emitter.d.ts +16 -16
  267. package/types/excalidraw/entry.d.ts +1 -1
  268. package/types/excalidraw/env.d.cts +1 -1
  269. package/types/excalidraw/env.d.ts +1 -1
  270. package/types/excalidraw/errors.d.ts +32 -32
  271. package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
  272. package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
  273. package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
  274. package/types/excalidraw/fonts/ExcalidrawFont.d.ts +37 -0
  275. package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
  276. package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
  277. package/types/excalidraw/fonts/FontMetadata.d.ts +37 -37
  278. package/types/excalidraw/fonts/Fonts.d.ts +116 -116
  279. package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
  280. package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
  281. package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
  282. package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
  283. package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
  284. package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
  285. package/types/excalidraw/fonts/index.d.ts +1 -1
  286. package/types/excalidraw/fonts/metadata.d.ts +35 -0
  287. package/types/excalidraw/fonts/wasm/hb-subset.bindings.d.ts +45 -0
  288. package/types/excalidraw/fonts/wasm/hb-subset.loader.d.ts +5 -0
  289. package/types/excalidraw/fonts/wasm/hb-subset.wasm.d.ts +2 -0
  290. package/types/excalidraw/fonts/wasm/woff2.bindings.d.ts +31 -0
  291. package/types/excalidraw/fonts/wasm/woff2.loader.d.ts +6 -0
  292. package/types/excalidraw/fonts/wasm/woff2.wasm.d.ts +2 -0
  293. package/types/excalidraw/fractionalIndex.d.ts +48 -48
  294. package/types/excalidraw/frame.d.ts +63 -63
  295. package/types/excalidraw/ga.d.ts +63 -0
  296. package/types/excalidraw/gadirections.d.ts +8 -0
  297. package/types/excalidraw/galines.d.ts +22 -0
  298. package/types/excalidraw/gapoints.d.ts +7 -0
  299. package/types/excalidraw/gatransforms.d.ts +10 -0
  300. package/types/excalidraw/gesture.d.ts +6 -6
  301. package/types/excalidraw/groups.d.ts +33 -33
  302. package/types/excalidraw/history.d.ts +40 -40
  303. package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
  304. package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
  305. package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
  306. package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
  307. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
  308. package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
  309. package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
  310. package/types/excalidraw/hooks/useStable.d.ts +1 -1
  311. package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
  312. package/types/excalidraw/hooks/useTransition.d.ts +2 -2
  313. package/types/excalidraw/i18n.d.ts +24 -24
  314. package/types/excalidraw/index-node.d.ts +1 -1
  315. package/types/excalidraw/index.d.ts +64 -64
  316. package/types/excalidraw/jotai.d.ts +34 -34
  317. package/types/excalidraw/keys.d.ts +189 -189
  318. package/types/excalidraw/laser-trails.d.ts +20 -20
  319. package/types/excalidraw/main.d.ts +2 -2
  320. package/types/excalidraw/math.d.ts +79 -0
  321. package/types/excalidraw/mermaid.d.ts +2 -2
  322. package/types/excalidraw/obsidianUtils.d.ts +26 -26
  323. package/types/excalidraw/points.d.ts +7 -7
  324. package/types/excalidraw/polyfill.d.ts +2 -2
  325. package/types/excalidraw/publicPath.d.ts +1 -1
  326. package/types/excalidraw/queue.d.ts +9 -9
  327. package/types/excalidraw/random.d.ts +4 -4
  328. package/types/excalidraw/reactUtils.d.ts +14 -14
  329. package/types/excalidraw/renderer/easingFunctions.d.ts +6 -6
  330. package/types/excalidraw/renderer/helpers.d.ts +13 -13
  331. package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
  332. package/types/excalidraw/renderer/renderElement.d.ts +28 -28
  333. package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
  334. package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
  335. package/types/excalidraw/renderer/roundRect.d.ts +11 -11
  336. package/types/excalidraw/renderer/staticScene.d.ts +11 -11
  337. package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
  338. package/types/excalidraw/scene/Renderer.d.ts +28 -28
  339. package/types/excalidraw/scene/Scene.d.ts +79 -79
  340. package/types/excalidraw/scene/Shape.d.ts +17 -17
  341. package/types/excalidraw/scene/ShapeCache.d.ts +25 -25
  342. package/types/excalidraw/scene/comparisons.d.ts +488 -488
  343. package/types/excalidraw/scene/export.d.ts +37 -30
  344. package/types/excalidraw/scene/index.d.ts +4 -4
  345. package/types/excalidraw/scene/normalize.d.ts +4 -4
  346. package/types/excalidraw/scene/scroll.d.ts +23 -23
  347. package/types/excalidraw/scene/scrollbars.d.ts +12 -12
  348. package/types/excalidraw/scene/selection.d.ts +32 -32
  349. package/types/excalidraw/scene/types.d.ts +119 -119
  350. package/types/excalidraw/scene/zoom.d.ts +12 -12
  351. package/types/excalidraw/shapes.d.ts +85 -85
  352. package/types/excalidraw/snapping.d.ts +112 -112
  353. package/types/excalidraw/store.d.ts +129 -129
  354. package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
  355. package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
  356. package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
  357. package/types/excalidraw/subset/subset-main.d.ts +12 -12
  358. package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
  359. package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
  360. package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
  361. package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
  362. package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
  363. package/types/excalidraw/types.d.ts +741 -741
  364. package/types/excalidraw/utility-types.d.ts +31 -31
  365. package/types/excalidraw/utils.d.ts +250 -249
  366. package/types/excalidraw/visualdebug.d.ts +35 -35
  367. package/types/excalidraw/webpack.dev.config.d.ts +81 -81
  368. package/types/excalidraw/webpack.prod.config.d.ts +97 -97
  369. package/types/excalidraw/workers.d.ts +36 -36
  370. package/types/excalidraw/zindex.d.ts +6 -6
  371. package/types/math/angle.d.ts +17 -17
  372. package/types/math/arc.d.ts +6 -6
  373. package/types/math/curve.d.ts +32 -32
  374. package/types/math/ga/ga.d.ts +63 -63
  375. package/types/math/ga/gadirections.d.ts +8 -8
  376. package/types/math/ga/galines.d.ts +22 -22
  377. package/types/math/ga/gapoints.d.ts +7 -7
  378. package/types/math/ga/gatransforms.d.ts +10 -10
  379. package/types/math/index.d.ts +12 -12
  380. package/types/math/line.d.ts +26 -26
  381. package/types/math/point.d.ts +140 -140
  382. package/types/math/polygon.d.ts +5 -5
  383. package/types/math/range.d.ts +44 -44
  384. package/types/math/segment.d.ts +32 -32
  385. package/types/math/triangle.d.ts +11 -11
  386. package/types/math/types.d.ts +96 -96
  387. package/types/math/utils.d.ts +7 -7
  388. package/types/math/vector.d.ts +92 -92
  389. package/types/utils/bbox.d.ts +9 -9
  390. package/types/utils/collision.d.ts +9 -9
  391. package/types/utils/export.d.ts +46 -46
  392. package/types/utils/geometry/geometry.d.ts +89 -0
  393. package/types/utils/geometry/shape.d.ts +71 -71
  394. package/types/utils/index.d.ts +4 -4
  395. package/types/utils/withinBounds.d.ts +19 -19
@@ -1 +1 @@
1
- export function parseEnvVariables(filepath: any): {};
1
+ export function parseEnvVariables(filepath: any): {};
@@ -1 +1 @@
1
- export function parseEnvVariables(filepath: any): {};
1
+ export function parseEnvVariables(filepath: any): {};
@@ -1,32 +1,32 @@
1
- type CANVAS_ERROR_NAMES = "CANVAS_ERROR" | "CANVAS_POSSIBLY_TOO_BIG";
2
- export declare class CanvasError extends Error {
3
- constructor(message?: string, name?: CANVAS_ERROR_NAMES);
4
- }
5
- export declare class AbortError extends DOMException {
6
- constructor(message?: string);
7
- }
8
- type ImageSceneDataErrorCode = "IMAGE_NOT_CONTAINS_SCENE_DATA" | "IMAGE_SCENE_DATA_ERROR";
9
- export declare class ImageSceneDataError extends Error {
10
- code: ImageSceneDataErrorCode;
11
- constructor(message?: string, code?: ImageSceneDataErrorCode);
12
- }
13
- export declare class InvalidFractionalIndexError extends Error {
14
- code: "ELEMENT_HAS_INVALID_INDEX";
15
- }
16
- type WorkerErrorCodes = "WORKER_URL_NOT_DEFINED" | "WORKER_IN_THE_MAIN_CHUNK";
17
- export declare class WorkerUrlNotDefinedError extends Error {
18
- code: WorkerErrorCodes;
19
- constructor(message?: string, code?: WorkerErrorCodes);
20
- }
21
- export declare class WorkerInTheMainChunkError extends Error {
22
- code: WorkerErrorCodes;
23
- constructor(message?: string, code?: WorkerErrorCodes);
24
- }
25
- /**
26
- * Use this for generic, handled errors, so you can check against them
27
- * and rethrow if needed
28
- */
29
- export declare class ExcalidrawError extends Error {
30
- constructor(message: string);
31
- }
32
- export {};
1
+ type CANVAS_ERROR_NAMES = "CANVAS_ERROR" | "CANVAS_POSSIBLY_TOO_BIG";
2
+ export declare class CanvasError extends Error {
3
+ constructor(message?: string, name?: CANVAS_ERROR_NAMES);
4
+ }
5
+ export declare class AbortError extends DOMException {
6
+ constructor(message?: string);
7
+ }
8
+ type ImageSceneDataErrorCode = "IMAGE_NOT_CONTAINS_SCENE_DATA" | "IMAGE_SCENE_DATA_ERROR";
9
+ export declare class ImageSceneDataError extends Error {
10
+ code: ImageSceneDataErrorCode;
11
+ constructor(message?: string, code?: ImageSceneDataErrorCode);
12
+ }
13
+ export declare class InvalidFractionalIndexError extends Error {
14
+ code: "ELEMENT_HAS_INVALID_INDEX";
15
+ }
16
+ type WorkerErrorCodes = "WORKER_URL_NOT_DEFINED" | "WORKER_IN_THE_MAIN_CHUNK";
17
+ export declare class WorkerUrlNotDefinedError extends Error {
18
+ code: WorkerErrorCodes;
19
+ constructor(message?: string, code?: WorkerErrorCodes);
20
+ }
21
+ export declare class WorkerInTheMainChunkError extends Error {
22
+ code: WorkerErrorCodes;
23
+ constructor(message?: string, code?: WorkerErrorCodes);
24
+ }
25
+ /**
26
+ * Use this for generic, handled errors, so you can check against them
27
+ * and rethrow if needed
28
+ */
29
+ export declare class ExcalidrawError extends Error {
30
+ constructor(message: string);
31
+ }
32
+ export {};
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const CascadiaFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const CascadiaFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const ComicShannsFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const ComicShannsFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const EmojiFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const EmojiFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -0,0 +1,37 @@
1
+ export interface Font {
2
+ urls: URL[];
3
+ fontFace: FontFace;
4
+ getContent(codePoints: ReadonlySet<number>): Promise<string>;
5
+ getContentLegacy(): Promise<string>;
6
+ }
7
+ export declare const UNPKG_FALLBACK_URL: string;
8
+ export declare class ExcalidrawFont implements Font {
9
+ readonly urls: URL[];
10
+ readonly fontFace: FontFace;
11
+ constructor(family: string, uri: string, descriptors?: FontFaceDescriptors);
12
+ /**
13
+ * Tries to fetch woff2 content, based on the registered urls (from first to last, treated as fallbacks).
14
+ *
15
+ * NOTE: assumes usage of `dataurl` outside the browser environment
16
+ *
17
+ * @returns base64 with subsetted glyphs based on the passed codepoint, last defined url otherwise
18
+ */
19
+ getContent(codePoints: ReadonlySet<number>): Promise<string>;
20
+ /**
21
+ * Tries to subset glyphs in a font based on the used codepoints, returning the font as daturl.
22
+ *
23
+ * @param arrayBuffer font data buffer, preferrably in the woff2 format, though others should work as well
24
+ * @param codePoints codepoints used to subset the glyphs
25
+ *
26
+ * @returns font with subsetted glyphs (all glyphs in case of errors) converted into a dataurl
27
+ */
28
+ private static subsetGlyphsByCodePoints;
29
+ private static toBase64;
30
+ private static createUrls;
31
+ private static getFormat;
32
+ private static normalizeBaseUrl;
33
+ /**
34
+ * zsviczian https://github.com/zsviczian/excalidraw/commit/b4cfaaa4b4f46ca01f94e27fb7bf651a9da99daa
35
+ */
36
+ getContentLegacy(): Promise<string>;
37
+ }
@@ -1,29 +1,29 @@
1
- type DataURL = string;
2
- export declare class ExcalidrawFontFace {
3
- readonly urls: URL[] | DataURL[];
4
- readonly fontFace: FontFace;
5
- private static readonly UNPKG_FALLBACK_URL;
6
- constructor(family: string, uri: string, descriptors?: FontFaceDescriptors);
7
- /**
8
- * Generates CSS `@font-face` definition with the (subsetted) font source as a data url for the characters within the unicode range.
9
- *
10
- * Retrieves `undefined` otherwise.
11
- */
12
- toCSS(characters: string): Promise<string> | undefined;
13
- /**
14
- * Tries to fetch woff2 content, based on the registered urls (from first to last, treated as fallbacks).
15
- *
16
- * @returns base64 with subsetted glyphs based on the passed codepoint, last defined url otherwise
17
- */
18
- getContent(codePoints: Array<number>): Promise<string>;
19
- fetchFont(url: URL | DataURL): Promise<ArrayBuffer>;
20
- private getUnicodeRangeRegex;
21
- private static createUrls;
22
- private static getFormat;
23
- private static normalizeBaseUrl;
24
- /**
25
- * zsviczian https://github.com/zsviczian/excalidraw/commit/b4cfaaa4b4f46ca01f94e27fb7bf651a9da99daa
26
- */
27
- getContentLegacy(): Promise<string>;
28
- }
29
- export {};
1
+ type DataURL = string;
2
+ export declare class ExcalidrawFontFace {
3
+ readonly urls: URL[] | DataURL[];
4
+ readonly fontFace: FontFace;
5
+ private static readonly UNPKG_FALLBACK_URL;
6
+ constructor(family: string, uri: string, descriptors?: FontFaceDescriptors);
7
+ /**
8
+ * Generates CSS `@font-face` definition with the (subsetted) font source as a data url for the characters within the unicode range.
9
+ *
10
+ * Retrieves `undefined` otherwise.
11
+ */
12
+ toCSS(characters: string): Promise<string> | undefined;
13
+ /**
14
+ * Tries to fetch woff2 content, based on the registered urls (from first to last, treated as fallbacks).
15
+ *
16
+ * @returns base64 with subsetted glyphs based on the passed codepoint, last defined url otherwise
17
+ */
18
+ getContent(codePoints: Array<number>): Promise<string>;
19
+ fetchFont(url: URL | DataURL): Promise<ArrayBuffer>;
20
+ private getUnicodeRangeRegex;
21
+ private static createUrls;
22
+ private static getFormat;
23
+ private static normalizeBaseUrl;
24
+ /**
25
+ * zsviczian https://github.com/zsviczian/excalidraw/commit/b4cfaaa4b4f46ca01f94e27fb7bf651a9da99daa
26
+ */
27
+ getContentLegacy(): Promise<string>;
28
+ }
29
+ export {};
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const ExcalifontFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const ExcalifontFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1,37 +1,37 @@
1
- /**
2
- * Encapsulates font metrics with additional font metadata.
3
- * */
4
- export interface FontMetadata {
5
- /** for head & hhea metrics read the woff2 with https://fontdrop.info/ */
6
- metrics: {
7
- /** head.unitsPerEm metric */
8
- unitsPerEm: 1000 | 1024 | 2048;
9
- /** hhea.ascender metric */
10
- ascender: number;
11
- /** hhea.descender metric */
12
- descender: number;
13
- /** harcoded unitless line-height, https://github.com/excalidraw/excalidraw/pull/6360#issuecomment-1477635971 */
14
- lineHeight: number;
15
- };
16
- /** element to be displayed as an icon */
17
- icon?: JSX.Element;
18
- /** flag to indicate a deprecated font */
19
- deprecated?: true;
20
- /** flag to indicate a server-side only font */
21
- serverSide?: true;
22
- /** flag to indiccate a local-only font */
23
- local?: true;
24
- /** flag to indicate a fallback font */
25
- fallback?: true;
26
- }
27
- export declare const FONT_METADATA: Record<number, FontMetadata>;
28
- /** Unicode ranges defined by google fonts */
29
- export declare const GOOGLE_FONTS_RANGES: {
30
- LATIN: string;
31
- LATIN_EXT: string;
32
- CYRILIC_EXT: string;
33
- CYRILIC: string;
34
- VIETNAMESE: string;
35
- };
36
- /** local protocol to skip the local font from registering or inlining */
37
- export declare const LOCAL_FONT_PROTOCOL = "local:";
1
+ /**
2
+ * Encapsulates font metrics with additional font metadata.
3
+ * */
4
+ export interface FontMetadata {
5
+ /** for head & hhea metrics read the woff2 with https://fontdrop.info/ */
6
+ metrics: {
7
+ /** head.unitsPerEm metric */
8
+ unitsPerEm: 1000 | 1024 | 2048;
9
+ /** hhea.ascender metric */
10
+ ascender: number;
11
+ /** hhea.descender metric */
12
+ descender: number;
13
+ /** harcoded unitless line-height, https://github.com/excalidraw/excalidraw/pull/6360#issuecomment-1477635971 */
14
+ lineHeight: number;
15
+ };
16
+ /** element to be displayed as an icon */
17
+ icon?: JSX.Element;
18
+ /** flag to indicate a deprecated font */
19
+ deprecated?: true;
20
+ /** flag to indicate a server-side only font */
21
+ serverSide?: true;
22
+ /** flag to indiccate a local-only font */
23
+ local?: true;
24
+ /** flag to indicate a fallback font */
25
+ fallback?: true;
26
+ }
27
+ export declare const FONT_METADATA: Record<number, FontMetadata>;
28
+ /** Unicode ranges defined by google fonts */
29
+ export declare const GOOGLE_FONTS_RANGES: {
30
+ LATIN: string;
31
+ LATIN_EXT: string;
32
+ CYRILIC_EXT: string;
33
+ CYRILIC: string;
34
+ VIETNAMESE: string;
35
+ };
36
+ /** local protocol to skip the local font from registering or inlining */
37
+ export declare const LOCAL_FONT_PROTOCOL = "local:";
@@ -1,116 +1,116 @@
1
- import { ExcalidrawFontFace } from "./ExcalidrawFontFace";
2
- import { type FontMetadata } from "./FontMetadata";
3
- import type { ExcalidrawElement, ExcalidrawTextElement, FontFamilyValues } from "../element/types";
4
- import type Scene from "../scene/Scene";
5
- export declare class Fonts {
6
- static readonly loadedFontsCache: Set<string>;
7
- private static _registered;
8
- private static _initialized;
9
- static get registered(): Map<number, {
10
- metadata: FontMetadata;
11
- fontFaces: ExcalidrawFontFace[];
12
- }>;
13
- get registered(): Map<number, {
14
- metadata: FontMetadata;
15
- fontFaces: ExcalidrawFontFace[];
16
- }>;
17
- private readonly scene;
18
- constructor(scene: Scene);
19
- /**
20
- * Get all the font families for the given scene.
21
- */
22
- getSceneFamilies: () => number[];
23
- /**
24
- * if we load a (new) font, it's likely that text elements using it have
25
- * already been rendered using a fallback font. Thus, we want invalidate
26
- * their shapes and rerender. See #637.
27
- *
28
- * Invalidates text elements and rerenders scene, provided that at least one
29
- * of the supplied fontFaces has not already been processed.
30
- */
31
- onLoaded: (fontFaces: readonly FontFace[]) => void;
32
- /**
33
- * Load font faces for a given scene and trigger scene update.
34
- *
35
- * FontFaceSet loadingdone event we listen on may not always
36
- * fire (looking at you Safari), so on init we manually load all
37
- * fonts and rerender scene text elements once done.
38
- *
39
- * For Safari we make sure to check against each loaded font face
40
- * with the unique characters per family in the scene,
41
- * otherwise fonts might remain unloaded.
42
- */
43
- loadSceneFonts: () => Promise<FontFace[]>;
44
- /**
45
- * Load font faces for passed elements - use when the scene is unavailable (i.e. export).
46
- *
47
- * For Safari we make sure to check against each loaded font face,
48
- * with the unique characters per family in the elements
49
- * otherwise fonts might remain unloaded.
50
- */
51
- static loadElementsFonts: (elements: readonly ExcalidrawElement[]) => Promise<FontFace[]>;
52
- /**
53
- * Load all registered font faces.
54
- */
55
- static loadAllFonts: () => Promise<FontFace[]>;
56
- /**
57
- * Generate CSS @font-face declarations for the given elements.
58
- */
59
- static generateFontFaceDeclarations(elements: readonly ExcalidrawElement[]): Promise<string[]>;
60
- static loadFontFaces(fontFamilies: Array<ExcalidrawTextElement["fontFamily"]>, charsPerFamily?: Record<number, Set<string>>): Promise<FontFace[]>;
61
- private static fontFacesLoader;
62
- private static fontFacesStylesGenerator;
63
- /**
64
- * Register a new font.
65
- *
66
- * @param family font family
67
- * @param metadata font metadata
68
- * @param fontFacesDecriptors font faces descriptors
69
- */
70
- static register(this: Fonts | {
71
- registered: Map<number, {
72
- metadata: FontMetadata;
73
- fontFaces: ExcalidrawFontFace[];
74
- }>;
75
- }, family: string, metadata: FontMetadata, ...fontFacesDecriptors: ExcalidrawFontFaceDescriptor[]): Map<number, {
76
- metadata: FontMetadata;
77
- fontFaces: ExcalidrawFontFace[];
78
- }> | Map<number, {
79
- metadata: FontMetadata;
80
- fontFaces: ExcalidrawFontFace[];
81
- }>;
82
- /**
83
- * WARN: should be called just once on init, even across multiple instances.
84
- */
85
- private static init;
86
- /**
87
- * Get all the unique font families for the given elements.
88
- */
89
- static getUniqueFamilies(elements: ReadonlyArray<ExcalidrawElement>): Array<ExcalidrawTextElement["fontFamily"]>;
90
- /**
91
- * Get all the unique characters per font family for the given scene.
92
- */
93
- private static getCharsPerFamily;
94
- /**
95
- * Get characters for a given family.
96
- */
97
- private static getCharacters;
98
- /**
99
- * Get all registered font families.
100
- */
101
- private static getAllFamilies;
102
- }
103
- /**
104
- * Calculates vertical offset for a text with alphabetic baseline.
105
- */
106
- export declare const getVerticalOffset: (fontFamily: ExcalidrawTextElement["fontFamily"], fontSize: ExcalidrawTextElement["fontSize"], lineHeightPx: number) => number;
107
- /**
108
- * Gets line height forr a selected family.
109
- */
110
- export declare const getLineHeight: (fontFamily: FontFamilyValues) => number & {
111
- _brand: "unitlessLineHeight";
112
- };
113
- export interface ExcalidrawFontFaceDescriptor {
114
- uri: string;
115
- descriptors?: FontFaceDescriptors;
116
- }
1
+ import { ExcalidrawFontFace } from "./ExcalidrawFontFace";
2
+ import { type FontMetadata } from "./FontMetadata";
3
+ import type { ExcalidrawElement, ExcalidrawTextElement, FontFamilyValues } from "../element/types";
4
+ import type Scene from "../scene/Scene";
5
+ export declare class Fonts {
6
+ static readonly loadedFontsCache: Set<string>;
7
+ private static _registered;
8
+ private static _initialized;
9
+ static get registered(): Map<number, {
10
+ metadata: FontMetadata;
11
+ fontFaces: ExcalidrawFontFace[];
12
+ }>;
13
+ get registered(): Map<number, {
14
+ metadata: FontMetadata;
15
+ fontFaces: ExcalidrawFontFace[];
16
+ }>;
17
+ private readonly scene;
18
+ constructor(scene: Scene);
19
+ /**
20
+ * Get all the font families for the given scene.
21
+ */
22
+ getSceneFamilies: () => number[];
23
+ /**
24
+ * if we load a (new) font, it's likely that text elements using it have
25
+ * already been rendered using a fallback font. Thus, we want invalidate
26
+ * their shapes and rerender. See #637.
27
+ *
28
+ * Invalidates text elements and rerenders scene, provided that at least one
29
+ * of the supplied fontFaces has not already been processed.
30
+ */
31
+ onLoaded: (fontFaces: readonly FontFace[]) => void;
32
+ /**
33
+ * Load font faces for a given scene and trigger scene update.
34
+ *
35
+ * FontFaceSet loadingdone event we listen on may not always
36
+ * fire (looking at you Safari), so on init we manually load all
37
+ * fonts and rerender scene text elements once done.
38
+ *
39
+ * For Safari we make sure to check against each loaded font face
40
+ * with the unique characters per family in the scene,
41
+ * otherwise fonts might remain unloaded.
42
+ */
43
+ loadSceneFonts: () => Promise<FontFace[]>;
44
+ /**
45
+ * Load font faces for passed elements - use when the scene is unavailable (i.e. export).
46
+ *
47
+ * For Safari we make sure to check against each loaded font face,
48
+ * with the unique characters per family in the elements
49
+ * otherwise fonts might remain unloaded.
50
+ */
51
+ static loadElementsFonts: (elements: readonly ExcalidrawElement[]) => Promise<FontFace[]>;
52
+ /**
53
+ * Load all registered font faces.
54
+ */
55
+ static loadAllFonts: () => Promise<FontFace[]>;
56
+ /**
57
+ * Generate CSS @font-face declarations for the given elements.
58
+ */
59
+ static generateFontFaceDeclarations(elements: readonly ExcalidrawElement[]): Promise<string[]>;
60
+ static loadFontFaces(fontFamilies: Array<ExcalidrawTextElement["fontFamily"]>, charsPerFamily?: Record<number, Set<string>>): Promise<FontFace[]>;
61
+ private static fontFacesLoader;
62
+ private static fontFacesStylesGenerator;
63
+ /**
64
+ * Register a new font.
65
+ *
66
+ * @param family font family
67
+ * @param metadata font metadata
68
+ * @param fontFacesDecriptors font faces descriptors
69
+ */
70
+ static register(this: Fonts | {
71
+ registered: Map<number, {
72
+ metadata: FontMetadata;
73
+ fontFaces: ExcalidrawFontFace[];
74
+ }>;
75
+ }, family: string, metadata: FontMetadata, ...fontFacesDecriptors: ExcalidrawFontFaceDescriptor[]): Map<number, {
76
+ metadata: FontMetadata;
77
+ fontFaces: ExcalidrawFontFace[];
78
+ }> | Map<number, {
79
+ metadata: FontMetadata;
80
+ fontFaces: ExcalidrawFontFace[];
81
+ }>;
82
+ /**
83
+ * WARN: should be called just once on init, even across multiple instances.
84
+ */
85
+ private static init;
86
+ /**
87
+ * Get all the unique font families for the given elements.
88
+ */
89
+ static getUniqueFamilies(elements: ReadonlyArray<ExcalidrawElement>): Array<ExcalidrawTextElement["fontFamily"]>;
90
+ /**
91
+ * Get all the unique characters per font family for the given scene.
92
+ */
93
+ private static getCharsPerFamily;
94
+ /**
95
+ * Get characters for a given family.
96
+ */
97
+ private static getCharacters;
98
+ /**
99
+ * Get all registered font families.
100
+ */
101
+ private static getAllFamilies;
102
+ }
103
+ /**
104
+ * Calculates vertical offset for a text with alphabetic baseline.
105
+ */
106
+ export declare const getVerticalOffset: (fontFamily: ExcalidrawTextElement["fontFamily"], fontSize: ExcalidrawTextElement["fontSize"], lineHeightPx: number) => number;
107
+ /**
108
+ * Gets line height forr a selected family.
109
+ */
110
+ export declare const getLineHeight: (fontFamily: FontFamilyValues) => number & {
111
+ _brand: "unitlessLineHeight";
112
+ };
113
+ export interface ExcalidrawFontFaceDescriptor {
114
+ uri: string;
115
+ descriptors?: FontFaceDescriptors;
116
+ }
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const HelveticaFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const HelveticaFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const LiberationFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const LiberationFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const LilitaFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const LilitaFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const NunitoFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const NunitoFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1,2 +1,2 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- export declare const VirgilFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ export declare const VirgilFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1,8 +1,8 @@
1
- import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
- /**
3
- * The original font was modified with the following changes:
4
- * - removed non-CJK codepoints
5
- * - reduced any Hangul side-bearings to 40%
6
- * - centered in width of inproperly centered CJK codepoints
7
- */
8
- export declare const XiaolaiFontFaces: ExcalidrawFontFaceDescriptor[];
1
+ import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
2
+ /**
3
+ * The original font was modified with the following changes:
4
+ * - removed non-CJK codepoints
5
+ * - reduced any Hangul side-bearings to 40%
6
+ * - centered in width of inproperly centered CJK codepoints
7
+ */
8
+ export declare const XiaolaiFontFaces: ExcalidrawFontFaceDescriptor[];
@@ -1 +1 @@
1
- export * from "./Fonts";
1
+ export * from "./Fonts";
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Encapsulates font metrics with additional font metadata.
3
+ * */
4
+ export interface FontMetadata {
5
+ /** for head & hhea metrics read the woff2 with https://fontdrop.info/ */
6
+ metrics: {
7
+ /** head.unitsPerEm metric */
8
+ unitsPerEm: 1000 | 1024 | 2048;
9
+ /** hhea.ascender metric */
10
+ ascender: number;
11
+ /** hhea.descender metric */
12
+ descender: number;
13
+ /** harcoded unitless line-height, https://github.com/excalidraw/excalidraw/pull/6360#issuecomment-1477635971 */
14
+ lineHeight: number;
15
+ };
16
+ /** element to be displayed as an icon */
17
+ icon: JSX.Element;
18
+ /** flag to indicate a deprecated font */
19
+ deprecated?: true;
20
+ /** flag to indicate a server-side only font */
21
+ serverSide?: true;
22
+ /** flag to indiccate a local-only font */
23
+ local?: true;
24
+ }
25
+ export declare const FONT_METADATA: Record<number, FontMetadata>;
26
+ /** Unicode ranges */
27
+ export declare const RANGES: {
28
+ LATIN: string;
29
+ LATIN_EXT: string;
30
+ CYRILIC_EXT: string;
31
+ CYRILIC: string;
32
+ VIETNAMESE: string;
33
+ };
34
+ /** local protocol to skip the local font from registering or inlining */
35
+ export declare const LOCAL_FONT_PROTOCOL = "local:";
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Modified version of hb-subset bindings from "subset-font" package https://github.com/papandreou/subset-font/blob/3f711c8aa29a426c7f22655861abfb976950f527/index.js
3
+ *
4
+ * CHANGELOG:
5
+ * - removed dependency on node APIs to work inside the browser
6
+ * - removed dependency on font fontverter for brotli compression
7
+ * - removed dependencies on lodash and p-limit
8
+ * - removed options for preserveNameIds, variationAxes, noLayoutClosure (not needed for now)
9
+ * - replaced text input with codepoints
10
+ * - rewritten in typescript and with esm modules
11
+
12
+ Copyright (c) 2012, Andreas Lind Petersen
13
+ All rights reserved.
14
+
15
+ Redistribution and use in source and binary forms, with or without
16
+ modification, are permitted provided that the following conditions are
17
+ met:
18
+
19
+ * Redistributions of source code must retain the above copyright
20
+ notice, this list of conditions and the following disclaimer.
21
+ * Redistributions in binary form must reproduce the above copyright
22
+ notice, this list of conditions and the following disclaimer in
23
+ the documentation and/or other materials provided with the
24
+ distribution.
25
+ * Neither the name of the author nor the names of contributors may
26
+ be used to endorse or promote products derived from this
27
+ software without specific prior written permission.
28
+
29
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
30
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
31
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
32
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
33
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
34
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
35
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
36
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
37
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
39
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40
+ */
41
+ declare function subset(hbSubsetWasm: any, heapu8: Uint8Array, font: ArrayBuffer, codePoints: ReadonlySet<number>): Uint8Array;
42
+ declare const _default: {
43
+ subset: typeof subset;
44
+ };
45
+ export default _default;
@@ -0,0 +1,5 @@
1
+ declare const load: () => Promise<{
2
+ subset: (fontBuffer: ArrayBuffer, codePoints: ReadonlySet<number>) => Uint8Array;
3
+ }>;
4
+ declare const _default: () => ReturnType<typeof load>;
5
+ export default _default;