@zsviczian/excalidraw 0.17.6-27 → 0.17.6-29
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.
- package/dist/excalidraw.development.js +102 -102
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/excalidraw/actions/actionAddToLibrary.d.ts +629 -629
- package/types/excalidraw/actions/actionAlign.d.ts +108 -108
- package/types/excalidraw/actions/actionBoundText.d.ts +456 -456
- package/types/excalidraw/actions/actionCanvas.d.ts +3070 -3070
- package/types/excalidraw/actions/actionClipboard.d.ts +1374 -1374
- package/types/excalidraw/actions/actionCropEditor.d.ts +222 -222
- package/types/excalidraw/actions/actionDeleteSelected.d.ts +668 -668
- package/types/excalidraw/actions/actionDistribute.d.ts +34 -34
- package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -21
- package/types/excalidraw/actions/actionElementLink.d.ts +244 -244
- package/types/excalidraw/actions/actionElementLock.d.ts +444 -444
- package/types/excalidraw/actions/actionExport.d.ts +1953 -1953
- package/types/excalidraw/actions/actionFinalize.d.ts +425 -425
- package/types/excalidraw/actions/actionFlip.d.ts +34 -34
- package/types/excalidraw/actions/actionFrame.d.ts +1383 -1383
- package/types/excalidraw/actions/actionGroup.d.ts +454 -454
- package/types/excalidraw/actions/actionHistory.d.ts +7 -7
- package/types/excalidraw/actions/actionLinearEditor.d.ts +223 -223
- package/types/excalidraw/actions/actionLink.d.ts +223 -223
- package/types/excalidraw/actions/actionMenu.d.ts +649 -649
- package/types/excalidraw/actions/actionNavigate.d.ts +430 -430
- package/types/excalidraw/actions/actionProperties.d.ts +3276 -3276
- package/types/excalidraw/actions/actionSelectAll.d.ts +222 -222
- package/types/excalidraw/actions/actionStyles.d.ts +236 -236
- package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
- package/types/excalidraw/actions/actionToggleGridMode.d.ts +225 -225
- package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +223 -223
- package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +420 -420
- package/types/excalidraw/actions/actionToggleStats.d.ts +223 -223
- package/types/excalidraw/actions/actionToggleViewMode.d.ts +224 -224
- package/types/excalidraw/actions/actionToggleZenMode.d.ts +224 -224
- package/types/excalidraw/actions/actionZindex.d.ts +74 -74
- package/types/excalidraw/actions/index.d.ts +27 -27
- package/types/excalidraw/actions/manager.d.ts +21 -21
- package/types/excalidraw/actions/register.d.ts +5 -5
- package/types/excalidraw/actions/shortcuts.d.ts +4 -4
- package/types/excalidraw/actions/types.d.ts +46 -46
- package/types/excalidraw/align.d.ts +6 -6
- package/types/excalidraw/analytics.d.ts +1 -1
- package/types/excalidraw/animated-trail.d.ts +33 -33
- package/types/excalidraw/animation-frame-handler.d.ts +16 -16
- package/types/excalidraw/appState.d.ts +89 -89
- package/types/excalidraw/binaryheap.d.ts +12 -12
- package/types/excalidraw/change.d.ts +191 -191
- package/types/excalidraw/charts.d.ts +27 -27
- package/types/excalidraw/clients.d.ts +14 -14
- package/types/excalidraw/clipboard.d.ts +66 -66
- package/types/excalidraw/colors.d.ts +61 -61
- package/types/excalidraw/components/Actions.d.ts +34 -34
- package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
- package/types/excalidraw/components/App.d.ts +551 -551
- package/types/excalidraw/components/Avatar.d.ts +11 -11
- package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
- package/types/excalidraw/components/Button.d.ts +17 -17
- package/types/excalidraw/components/ButtonIcon.d.ts +14 -14
- package/types/excalidraw/components/ButtonIconCycle.d.ts +10 -10
- package/types/excalidraw/components/ButtonIconSelect.d.ts +19 -19
- package/types/excalidraw/components/ButtonSelect.d.ts +9 -9
- package/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
- package/types/excalidraw/components/Card.d.ts +6 -6
- package/types/excalidraw/components/CheckboxItem.d.ts +8 -8
- package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -9
- package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -19
- package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
- package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +8 -8
- package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -18
- package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -10
- package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
- package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
- package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
- package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
- package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -20
- package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
- package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
- package/types/excalidraw/components/CommandPalette/types.d.ts +25 -25
- package/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
- package/types/excalidraw/components/ContextMenu.d.ts +16 -16
- package/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
- package/types/excalidraw/components/DefaultSidebar.d.ts +30 -30
- package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
- package/types/excalidraw/components/Dialog.d.ts +13 -13
- package/types/excalidraw/components/DialogActionButton.d.ts +10 -10
- package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -11
- package/types/excalidraw/components/ErrorDialog.d.ts +5 -5
- package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -15
- package/types/excalidraw/components/EyeDropper.d.ts +27 -27
- package/types/excalidraw/components/FilledButton.d.ts +18 -18
- package/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
- package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
- package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
- package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -25
- package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
- package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -13
- package/types/excalidraw/components/HandButton.d.ts +10 -10
- package/types/excalidraw/components/HelpButton.d.ts +7 -7
- package/types/excalidraw/components/HelpDialog.d.ts +4 -4
- package/types/excalidraw/components/HintViewer.d.ts +10 -10
- package/types/excalidraw/components/IconPicker.d.ts +14 -14
- package/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
- package/types/excalidraw/components/InitializeApp.d.ts +10 -10
- package/types/excalidraw/components/InlineIcon.d.ts +3 -3
- package/types/excalidraw/components/Island.d.ts +10 -10
- package/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
- package/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
- package/types/excalidraw/components/LayerUI.d.ts +31 -31
- package/types/excalidraw/components/LibraryMenu.d.ts +24 -24
- package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
- package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
- package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -17
- package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
- package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
- package/types/excalidraw/components/LibraryUnit.d.ts +14 -14
- package/types/excalidraw/components/LoadingMessage.d.ts +5 -5
- package/types/excalidraw/components/LockButton.d.ts +10 -10
- package/types/excalidraw/components/MagicButton.d.ts +9 -9
- package/types/excalidraw/components/MobileMenu.d.ts +24 -24
- package/types/excalidraw/components/Modal.d.ts +14 -14
- package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
- package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
- package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
- package/types/excalidraw/components/Paragraph.d.ts +4 -4
- package/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
- package/types/excalidraw/components/PenModeButton.d.ts +12 -12
- package/types/excalidraw/components/Popover.d.ts +15 -15
- package/types/excalidraw/components/ProjectName.d.ts +10 -10
- package/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
- package/types/excalidraw/components/PublishLibrary.d.ts +16 -16
- package/types/excalidraw/components/QuickSearch.d.ts +9 -9
- package/types/excalidraw/components/RadioGroup.d.ts +13 -13
- package/types/excalidraw/components/SVGLayer.d.ts +7 -7
- package/types/excalidraw/components/ScrollableList.d.ts +8 -8
- package/types/excalidraw/components/SearchMenu.d.ts +5 -5
- package/types/excalidraw/components/SearchSidebar.d.ts +1 -0
- package/types/excalidraw/components/Section.d.ts +6 -6
- package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
- package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
- package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
- package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -8
- package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -9
- package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -6
- package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -6
- package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
- package/types/excalidraw/components/Sidebar/common.d.ts +33 -33
- package/types/excalidraw/components/Spinner.d.ts +8 -8
- package/types/excalidraw/components/Stack.d.ts +16 -16
- package/types/excalidraw/components/Stats/Angle.d.ts +11 -11
- package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -10
- package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -10
- package/types/excalidraw/components/Stats/Collapsible.d.ts +9 -9
- package/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
- package/types/excalidraw/components/Stats/DragInput.d.ts +34 -34
- package/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
- package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
- package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
- package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
- package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
- package/types/excalidraw/components/Stats/Position.d.ts +12 -12
- package/types/excalidraw/components/Stats/index.d.ts +35 -35
- package/types/excalidraw/components/Stats/utils.d.ts +26 -26
- package/types/excalidraw/components/Switch.d.ts +9 -9
- package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -8
- package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -10
- package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -29
- package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
- package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -7
- package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
- package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
- package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
- package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -7
- package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -8
- package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -6
- package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
- package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -8
- package/types/excalidraw/components/TTDDialog/common.d.ts +32 -32
- package/types/excalidraw/components/TextField.d.ts +21 -21
- package/types/excalidraw/components/Toast.d.ts +9 -9
- package/types/excalidraw/components/ToolButton.d.ts +49 -49
- package/types/excalidraw/components/Tooltip.d.ts +18 -18
- package/types/excalidraw/components/Trans.d.ts +9 -9
- package/types/excalidraw/components/UserList.d.ts +18 -18
- package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -29
- package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
- package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
- package/types/excalidraw/components/canvases/index.d.ts +3 -3
- package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
- package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
- package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -45
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -7
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -17
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +15 -15
- package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
- package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -10
- package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
- package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
- package/types/excalidraw/components/footer/Footer.d.ts +12 -12
- package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
- package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
- package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -18
- package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -9
- package/types/excalidraw/components/icons.d.ts +223 -223
- package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -9
- package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
- package/types/excalidraw/components/main-menu/MainMenu.d.ts +80 -80
- package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -59
- package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
- package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -86
- package/types/excalidraw/constants.d.ts +326 -326
- package/types/excalidraw/context/tunnels.d.ts +21 -21
- package/types/excalidraw/context/ui-appState.d.ts +4 -4
- package/types/excalidraw/cursor.d.ts +6 -6
- package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
- package/types/excalidraw/data/ai/types.d.ts +242 -242
- package/types/excalidraw/data/blob.d.ts +53 -53
- package/types/excalidraw/data/encode.d.ts +55 -55
- package/types/excalidraw/data/encryption.d.ts +9 -9
- package/types/excalidraw/data/filesystem.d.ts +21 -21
- package/types/excalidraw/data/image.d.ts +9 -9
- package/types/excalidraw/data/index.d.ts +22 -22
- package/types/excalidraw/data/json.d.ts +16 -16
- package/types/excalidraw/data/library.d.ts +112 -112
- package/types/excalidraw/data/reconcile.d.ts +6 -6
- package/types/excalidraw/data/resave.d.ts +5 -5
- package/types/excalidraw/data/restore.d.ts +21 -21
- package/types/excalidraw/data/transform.d.ts +81 -81
- package/types/excalidraw/data/types.d.ts +45 -45
- package/types/excalidraw/data/url.d.ts +7 -7
- package/types/excalidraw/deburr.d.ts +1 -1
- package/types/excalidraw/dist/excalidraw.development.d.ts +2 -2
- package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -3
- package/types/excalidraw/distribute.d.ts +6 -6
- package/types/excalidraw/editor-jotai.d.ts +56 -56
- package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -7
- package/types/excalidraw/element/binding.d.ts +102 -102
- package/types/excalidraw/element/bounds.d.ts +76 -76
- package/types/excalidraw/element/collision.d.ts +17 -17
- package/types/excalidraw/element/containerCache.d.ts +11 -11
- package/types/excalidraw/element/cropElement.d.ts +19 -19
- package/types/excalidraw/element/dragElements.d.ts +32 -32
- package/types/excalidraw/element/elbowArrow.d.ts +14 -14
- package/types/excalidraw/element/elementLink.d.ts +13 -13
- package/types/excalidraw/element/embeddable.d.ts +229 -229
- package/types/excalidraw/element/flowchart.d.ts +25 -25
- package/types/excalidraw/element/heading.d.ts +16 -16
- package/types/excalidraw/element/image.d.ts +32 -32
- package/types/excalidraw/element/index.d.ts +26 -26
- package/types/excalidraw/element/linearElementEditor.d.ts +127 -127
- package/types/excalidraw/element/mutateElement.d.ts +13 -13
- package/types/excalidraw/element/newElement.d.ts +107 -107
- package/types/excalidraw/element/resizeElements.d.ts +38 -38
- package/types/excalidraw/element/resizeTest.d.ts +15 -15
- package/types/excalidraw/element/routing.d.ts +15 -15
- package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -3
- package/types/excalidraw/element/sizeHelpers.d.ts +35 -35
- package/types/excalidraw/element/sortElements.d.ts +2 -2
- package/types/excalidraw/element/textElement.d.ts +83 -83
- package/types/excalidraw/element/textWrapping.d.ts +13 -13
- package/types/excalidraw/element/textWysiwyg.d.ts +22 -22
- package/types/excalidraw/element/transformHandles.d.ts +55 -55
- package/types/excalidraw/element/typeChecks.d.ts +39 -39
- package/types/excalidraw/element/types.d.ts +285 -285
- package/types/excalidraw/emitter.d.ts +16 -16
- package/types/excalidraw/entry.d.ts +1 -1
- package/types/excalidraw/env.d.cts +1 -1
- package/types/excalidraw/env.d.ts +1 -1
- package/types/excalidraw/errors.d.ts +32 -32
- package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
- package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
- package/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
- package/types/excalidraw/fonts/ExcalidrawFont.d.ts +37 -0
- package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -29
- package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
- package/types/excalidraw/fonts/FontMetadata.d.ts +37 -37
- package/types/excalidraw/fonts/Fonts.d.ts +116 -116
- package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
- package/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
- package/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
- package/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
- package/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
- package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
- package/types/excalidraw/fonts/index.d.ts +1 -1
- package/types/excalidraw/fonts/metadata.d.ts +35 -0
- package/types/excalidraw/fonts/wasm/hb-subset.bindings.d.ts +45 -0
- package/types/excalidraw/fonts/wasm/hb-subset.loader.d.ts +5 -0
- package/types/excalidraw/fonts/wasm/hb-subset.wasm.d.ts +2 -0
- package/types/excalidraw/fonts/wasm/woff2.bindings.d.ts +31 -0
- package/types/excalidraw/fonts/wasm/woff2.loader.d.ts +6 -0
- package/types/excalidraw/fonts/wasm/woff2.wasm.d.ts +2 -0
- package/types/excalidraw/fractionalIndex.d.ts +48 -48
- package/types/excalidraw/frame.d.ts +68 -63
- package/types/excalidraw/ga.d.ts +63 -0
- package/types/excalidraw/gadirections.d.ts +8 -0
- package/types/excalidraw/galines.d.ts +22 -0
- package/types/excalidraw/gapoints.d.ts +7 -0
- package/types/excalidraw/gatransforms.d.ts +10 -0
- package/types/excalidraw/gesture.d.ts +6 -6
- package/types/excalidraw/groups.d.ts +33 -33
- package/types/excalidraw/history.d.ts +40 -40
- package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
- package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
- package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -7
- package/types/excalidraw/hooks/useEmitter.d.ts +2 -2
- package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
- package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -19
- package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -1
- package/types/excalidraw/hooks/useStable.d.ts +1 -1
- package/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
- package/types/excalidraw/hooks/useTransition.d.ts +2 -2
- package/types/excalidraw/i18n.d.ts +24 -24
- package/types/excalidraw/index-node.d.ts +1 -1
- package/types/excalidraw/index.d.ts +64 -64
- package/types/excalidraw/jotai.d.ts +34 -34
- package/types/excalidraw/keys.d.ts +189 -189
- package/types/excalidraw/laser-trails.d.ts +20 -20
- package/types/excalidraw/main.d.ts +2 -2
- package/types/excalidraw/math.d.ts +79 -0
- package/types/excalidraw/mermaid.d.ts +2 -2
- package/types/excalidraw/obsidianUtils.d.ts +26 -26
- package/types/excalidraw/points.d.ts +7 -7
- package/types/excalidraw/polyfill.d.ts +2 -2
- package/types/excalidraw/publicPath.d.ts +1 -1
- package/types/excalidraw/queue.d.ts +9 -9
- package/types/excalidraw/random.d.ts +4 -4
- package/types/excalidraw/reactUtils.d.ts +14 -14
- package/types/excalidraw/renderer/easingFunctions.d.ts +6 -6
- package/types/excalidraw/renderer/helpers.d.ts +13 -13
- package/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
- package/types/excalidraw/renderer/renderElement.d.ts +28 -28
- package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
- package/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
- package/types/excalidraw/renderer/roundRect.d.ts +11 -11
- package/types/excalidraw/renderer/staticScene.d.ts +11 -11
- package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
- package/types/excalidraw/scene/Renderer.d.ts +28 -28
- package/types/excalidraw/scene/Scene.d.ts +79 -79
- package/types/excalidraw/scene/Shape.d.ts +17 -17
- package/types/excalidraw/scene/ShapeCache.d.ts +25 -25
- package/types/excalidraw/scene/comparisons.d.ts +488 -488
- package/types/excalidraw/scene/export.d.ts +37 -37
- package/types/excalidraw/scene/index.d.ts +4 -4
- package/types/excalidraw/scene/normalize.d.ts +4 -4
- package/types/excalidraw/scene/scroll.d.ts +23 -23
- package/types/excalidraw/scene/scrollbars.d.ts +12 -12
- package/types/excalidraw/scene/selection.d.ts +32 -32
- package/types/excalidraw/scene/types.d.ts +119 -119
- package/types/excalidraw/scene/zoom.d.ts +12 -12
- package/types/excalidraw/shapes.d.ts +85 -85
- package/types/excalidraw/snapping.d.ts +112 -112
- package/types/excalidraw/store.d.ts +129 -129
- package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
- package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
- package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
- package/types/excalidraw/subset/subset-main.d.ts +12 -12
- package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
- package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
- package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
- package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
- package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
- package/types/excalidraw/types.d.ts +741 -741
- package/types/excalidraw/utility-types.d.ts +31 -31
- package/types/excalidraw/utils.d.ts +250 -250
- package/types/excalidraw/visualdebug.d.ts +42 -42
- package/types/excalidraw/webpack.dev.config.d.ts +81 -81
- package/types/excalidraw/webpack.prod.config.d.ts +97 -97
- package/types/excalidraw/workers.d.ts +36 -36
- package/types/excalidraw/zindex.d.ts +6 -6
- package/types/math/angle.d.ts +17 -17
- package/types/math/arc.d.ts +6 -6
- package/types/math/curve.d.ts +32 -32
- package/types/math/ga/ga.d.ts +63 -63
- package/types/math/ga/gadirections.d.ts +8 -8
- package/types/math/ga/galines.d.ts +22 -22
- package/types/math/ga/gapoints.d.ts +7 -7
- package/types/math/ga/gatransforms.d.ts +10 -10
- package/types/math/index.d.ts +12 -12
- package/types/math/line.d.ts +45 -45
- package/types/math/point.d.ts +150 -150
- package/types/math/polygon.d.ts +5 -5
- package/types/math/range.d.ts +44 -44
- package/types/math/segment.d.ts +32 -32
- package/types/math/triangle.d.ts +11 -11
- package/types/math/types.d.ts +96 -96
- package/types/math/utils.d.ts +7 -7
- package/types/math/vector.d.ts +92 -92
- package/types/utils/bbox.d.ts +9 -9
- package/types/utils/collision.d.ts +9 -9
- package/types/utils/export.d.ts +46 -46
- package/types/utils/geometry/geometry.d.ts +89 -0
- package/types/utils/geometry/shape.d.ts +71 -71
- package/types/utils/index.d.ts +4 -4
- package/types/utils/withinBounds.d.ts +19 -19
package/types/math/types.d.ts
CHANGED
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* By definition one radian is the angle subtended at the centre
|
|
3
|
-
* of a circle by an arc that is equal in length to the radius.
|
|
4
|
-
*/
|
|
5
|
-
export type Radians = number & {
|
|
6
|
-
_brand: "excalimath__radian";
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* An angle measurement of a plane angle in which one full
|
|
10
|
-
* rotation is 360 degrees.
|
|
11
|
-
*/
|
|
12
|
-
export type Degrees = number & {
|
|
13
|
-
_brand: "excalimath_degree";
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* A number range which includes the start and end numbers in the range.
|
|
17
|
-
*/
|
|
18
|
-
export type InclusiveRange = [number, number] & {
|
|
19
|
-
_brand: "excalimath_degree";
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Represents a 2D position in world or canvas space. A
|
|
23
|
-
* global coordinate.
|
|
24
|
-
*/
|
|
25
|
-
export type GlobalPoint = [x: number, y: number] & {
|
|
26
|
-
_brand: "excalimath__globalpoint";
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Represents a 2D position in whatever local space it's
|
|
30
|
-
* needed. A local coordinate.
|
|
31
|
-
*/
|
|
32
|
-
export type LocalPoint = [x: number, y: number] & {
|
|
33
|
-
_brand: "excalimath__localpoint";
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* A line is an infinitely long object with no width, depth, or curvature.
|
|
37
|
-
*/
|
|
38
|
-
export type Line<P extends GlobalPoint | LocalPoint> = [p: P, q: P] & {
|
|
39
|
-
_brand: "excalimath_line";
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* In geometry, a line segment is a part of a straight
|
|
43
|
-
* line that is bounded by two distinct end points, and
|
|
44
|
-
* contains every point on the line that is between its endpoints.
|
|
45
|
-
*/
|
|
46
|
-
export type LineSegment<P extends GlobalPoint | LocalPoint> = [a: P, b: P] & {
|
|
47
|
-
_brand: "excalimath_linesegment";
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Represents a 2D vector
|
|
51
|
-
*/
|
|
52
|
-
export type Vector = [u: number, v: number] & {
|
|
53
|
-
_brand: "excalimath__vector";
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* A triangle represented by 3 points
|
|
57
|
-
*/
|
|
58
|
-
export type Triangle<P extends GlobalPoint | LocalPoint> = [
|
|
59
|
-
a: P,
|
|
60
|
-
b: P,
|
|
61
|
-
c: P
|
|
62
|
-
] & {
|
|
63
|
-
_brand: "excalimath__triangle";
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* A polygon is a closed shape by connecting the given points
|
|
67
|
-
* rectangles and diamonds are modelled by polygons
|
|
68
|
-
*/
|
|
69
|
-
export type Polygon<Point extends GlobalPoint | LocalPoint> = Point[] & {
|
|
70
|
-
_brand: "excalimath_polygon";
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* Cubic bezier curve with four control points
|
|
74
|
-
*/
|
|
75
|
-
export type Curve<Point extends GlobalPoint | LocalPoint> = [
|
|
76
|
-
Point,
|
|
77
|
-
Point,
|
|
78
|
-
Point,
|
|
79
|
-
Point
|
|
80
|
-
] & {
|
|
81
|
-
_brand: "excalimath_curve";
|
|
82
|
-
};
|
|
83
|
-
export type PolarCoords = [
|
|
84
|
-
radius: number,
|
|
85
|
-
/** angle in radians */
|
|
86
|
-
angle: number
|
|
87
|
-
];
|
|
88
|
-
/**
|
|
89
|
-
* Angles are in radians and centered on 0, 0. Zero radians on a 1 radius circle
|
|
90
|
-
* corresponds to (1, 0) cartesian coordinates (point), i.e. to the "right".
|
|
91
|
-
*/
|
|
92
|
-
export type SymmetricArc = {
|
|
93
|
-
radius: number;
|
|
94
|
-
startAngle: number;
|
|
95
|
-
endAngle: number;
|
|
96
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* By definition one radian is the angle subtended at the centre
|
|
3
|
+
* of a circle by an arc that is equal in length to the radius.
|
|
4
|
+
*/
|
|
5
|
+
export type Radians = number & {
|
|
6
|
+
_brand: "excalimath__radian";
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* An angle measurement of a plane angle in which one full
|
|
10
|
+
* rotation is 360 degrees.
|
|
11
|
+
*/
|
|
12
|
+
export type Degrees = number & {
|
|
13
|
+
_brand: "excalimath_degree";
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* A number range which includes the start and end numbers in the range.
|
|
17
|
+
*/
|
|
18
|
+
export type InclusiveRange = [number, number] & {
|
|
19
|
+
_brand: "excalimath_degree";
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Represents a 2D position in world or canvas space. A
|
|
23
|
+
* global coordinate.
|
|
24
|
+
*/
|
|
25
|
+
export type GlobalPoint = [x: number, y: number] & {
|
|
26
|
+
_brand: "excalimath__globalpoint";
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Represents a 2D position in whatever local space it's
|
|
30
|
+
* needed. A local coordinate.
|
|
31
|
+
*/
|
|
32
|
+
export type LocalPoint = [x: number, y: number] & {
|
|
33
|
+
_brand: "excalimath__localpoint";
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* A line is an infinitely long object with no width, depth, or curvature.
|
|
37
|
+
*/
|
|
38
|
+
export type Line<P extends GlobalPoint | LocalPoint> = [p: P, q: P] & {
|
|
39
|
+
_brand: "excalimath_line";
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* In geometry, a line segment is a part of a straight
|
|
43
|
+
* line that is bounded by two distinct end points, and
|
|
44
|
+
* contains every point on the line that is between its endpoints.
|
|
45
|
+
*/
|
|
46
|
+
export type LineSegment<P extends GlobalPoint | LocalPoint> = [a: P, b: P] & {
|
|
47
|
+
_brand: "excalimath_linesegment";
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Represents a 2D vector
|
|
51
|
+
*/
|
|
52
|
+
export type Vector = [u: number, v: number] & {
|
|
53
|
+
_brand: "excalimath__vector";
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* A triangle represented by 3 points
|
|
57
|
+
*/
|
|
58
|
+
export type Triangle<P extends GlobalPoint | LocalPoint> = [
|
|
59
|
+
a: P,
|
|
60
|
+
b: P,
|
|
61
|
+
c: P
|
|
62
|
+
] & {
|
|
63
|
+
_brand: "excalimath__triangle";
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* A polygon is a closed shape by connecting the given points
|
|
67
|
+
* rectangles and diamonds are modelled by polygons
|
|
68
|
+
*/
|
|
69
|
+
export type Polygon<Point extends GlobalPoint | LocalPoint> = Point[] & {
|
|
70
|
+
_brand: "excalimath_polygon";
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Cubic bezier curve with four control points
|
|
74
|
+
*/
|
|
75
|
+
export type Curve<Point extends GlobalPoint | LocalPoint> = [
|
|
76
|
+
Point,
|
|
77
|
+
Point,
|
|
78
|
+
Point,
|
|
79
|
+
Point
|
|
80
|
+
] & {
|
|
81
|
+
_brand: "excalimath_curve";
|
|
82
|
+
};
|
|
83
|
+
export type PolarCoords = [
|
|
84
|
+
radius: number,
|
|
85
|
+
/** angle in radians */
|
|
86
|
+
angle: number
|
|
87
|
+
];
|
|
88
|
+
/**
|
|
89
|
+
* Angles are in radians and centered on 0, 0. Zero radians on a 1 radius circle
|
|
90
|
+
* corresponds to (1, 0) cartesian coordinates (point), i.e. to the "right".
|
|
91
|
+
*/
|
|
92
|
+
export type SymmetricArc = {
|
|
93
|
+
radius: number;
|
|
94
|
+
startAngle: number;
|
|
95
|
+
endAngle: number;
|
|
96
|
+
};
|
package/types/math/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const PRECISION = 0.0001;
|
|
2
|
-
export declare const clamp: (value: number, min: number, max: number) => number;
|
|
3
|
-
export declare const round: (value: number, precision: number, func?: "round" | "floor" | "ceil") => number;
|
|
4
|
-
export declare const roundToStep: (value: number, step: number, func?: "round" | "floor" | "ceil") => number;
|
|
5
|
-
export declare const average: (a: number, b: number) => number;
|
|
6
|
-
export declare const isFiniteNumber: (value: any) => value is number;
|
|
7
|
-
export declare const isCloseTo: (a: number, b: number, precision?: number) => boolean;
|
|
1
|
+
export declare const PRECISION = 0.0001;
|
|
2
|
+
export declare const clamp: (value: number, min: number, max: number) => number;
|
|
3
|
+
export declare const round: (value: number, precision: number, func?: "round" | "floor" | "ceil") => number;
|
|
4
|
+
export declare const roundToStep: (value: number, step: number, func?: "round" | "floor" | "ceil") => number;
|
|
5
|
+
export declare const average: (a: number, b: number) => number;
|
|
6
|
+
export declare const isFiniteNumber: (value: any) => value is number;
|
|
7
|
+
export declare const isCloseTo: (a: number, b: number, precision?: number) => boolean;
|
package/types/math/vector.d.ts
CHANGED
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import type { GlobalPoint, LocalPoint, Vector } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Create a vector from the x and y coordiante elements.
|
|
4
|
-
*
|
|
5
|
-
* @param x The X aspect of the vector
|
|
6
|
-
* @param y T Y aspect of the vector
|
|
7
|
-
* @returns The constructed vector with X and Y as the coordinates
|
|
8
|
-
*/
|
|
9
|
-
export declare function vector(x: number, y: number, originX?: number, originY?: number): Vector;
|
|
10
|
-
/**
|
|
11
|
-
* Turn a point into a vector with the origin point.
|
|
12
|
-
*
|
|
13
|
-
* @param p The point to turn into a vector
|
|
14
|
-
* @param origin The origin point in a given coordiante system
|
|
15
|
-
* @returns The created vector from the point and the origin
|
|
16
|
-
*/
|
|
17
|
-
export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point): Vector;
|
|
18
|
-
/**
|
|
19
|
-
* Cross product is a binary operation on two vectors in 2D space.
|
|
20
|
-
* It results in a vector that is perpendicular to both vectors.
|
|
21
|
-
*
|
|
22
|
-
* @param a One of the vectors to use for the directed area calculation
|
|
23
|
-
* @param b The other vector to use for the directed area calculation
|
|
24
|
-
* @returns The directed area value for the two vectos
|
|
25
|
-
*/
|
|
26
|
-
export declare function vectorCross(a: Vector, b: Vector): number;
|
|
27
|
-
/**
|
|
28
|
-
* Dot product is defined as the sum of the products of the
|
|
29
|
-
* two vectors.
|
|
30
|
-
*
|
|
31
|
-
* @param a One of the vectors for which the sum of products is calculated
|
|
32
|
-
* @param b The other vector for which the sum of products is calculated
|
|
33
|
-
* @returns The sum of products of the two vectors
|
|
34
|
-
*/
|
|
35
|
-
export declare function vectorDot(a: Vector, b: Vector): number;
|
|
36
|
-
/**
|
|
37
|
-
* Determines if the value has the shape of a Vector.
|
|
38
|
-
*
|
|
39
|
-
* @param v The value to test
|
|
40
|
-
* @returns TRUE if the value has the shape and components of a Vectors
|
|
41
|
-
*/
|
|
42
|
-
export declare function isVector(v: unknown): v is Vector;
|
|
43
|
-
/**
|
|
44
|
-
* Add two vectors by adding their coordinates.
|
|
45
|
-
*
|
|
46
|
-
* @param a One of the vectors to add
|
|
47
|
-
* @param b The other vector to add
|
|
48
|
-
* @returns The sum vector of the two provided vectors
|
|
49
|
-
*/
|
|
50
|
-
export declare function vectorAdd(a: Readonly<Vector>, b: Readonly<Vector>): Vector;
|
|
51
|
-
/**
|
|
52
|
-
* Add two vectors by adding their coordinates.
|
|
53
|
-
*
|
|
54
|
-
* @param start One of the vectors to add
|
|
55
|
-
* @param end The other vector to add
|
|
56
|
-
* @returns The sum vector of the two provided vectors
|
|
57
|
-
*/
|
|
58
|
-
export declare function vectorSubtract(start: Readonly<Vector>, end: Readonly<Vector>): Vector;
|
|
59
|
-
/**
|
|
60
|
-
* Scale vector by a scalar.
|
|
61
|
-
*
|
|
62
|
-
* @param v The vector to scale
|
|
63
|
-
* @param scalar The scalar to multiply the vector components with
|
|
64
|
-
* @returns The new scaled vector
|
|
65
|
-
*/
|
|
66
|
-
export declare function vectorScale(v: Vector, scalar: number): Vector;
|
|
67
|
-
/**
|
|
68
|
-
* Calculates the sqare magnitude of a vector. Use this if you compare
|
|
69
|
-
* magnitudes as it saves you an SQRT.
|
|
70
|
-
*
|
|
71
|
-
* @param v The vector to measure
|
|
72
|
-
* @returns The scalar squared magnitude of the vector
|
|
73
|
-
*/
|
|
74
|
-
export declare function vectorMagnitudeSq(v: Vector): number;
|
|
75
|
-
/**
|
|
76
|
-
* Calculates the magnitude of a vector.
|
|
77
|
-
*
|
|
78
|
-
* @param v The vector to measure
|
|
79
|
-
* @returns The scalar magnitude of the vector
|
|
80
|
-
*/
|
|
81
|
-
export declare function vectorMagnitude(v: Vector): number;
|
|
82
|
-
/**
|
|
83
|
-
* Normalize the vector (i.e. make the vector magnitue equal 1).
|
|
84
|
-
*
|
|
85
|
-
* @param v The vector to normalize
|
|
86
|
-
* @returns The new normalized vector
|
|
87
|
-
*/
|
|
88
|
-
export declare const vectorNormalize: (v: Vector) => Vector;
|
|
89
|
-
/**
|
|
90
|
-
* Project the first vector onto the second vector
|
|
91
|
-
*/
|
|
92
|
-
export declare const vectorProjection: (a: Vector, b: Vector) => Vector;
|
|
1
|
+
import type { GlobalPoint, LocalPoint, Vector } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Create a vector from the x and y coordiante elements.
|
|
4
|
+
*
|
|
5
|
+
* @param x The X aspect of the vector
|
|
6
|
+
* @param y T Y aspect of the vector
|
|
7
|
+
* @returns The constructed vector with X and Y as the coordinates
|
|
8
|
+
*/
|
|
9
|
+
export declare function vector(x: number, y: number, originX?: number, originY?: number): Vector;
|
|
10
|
+
/**
|
|
11
|
+
* Turn a point into a vector with the origin point.
|
|
12
|
+
*
|
|
13
|
+
* @param p The point to turn into a vector
|
|
14
|
+
* @param origin The origin point in a given coordiante system
|
|
15
|
+
* @returns The created vector from the point and the origin
|
|
16
|
+
*/
|
|
17
|
+
export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point): Vector;
|
|
18
|
+
/**
|
|
19
|
+
* Cross product is a binary operation on two vectors in 2D space.
|
|
20
|
+
* It results in a vector that is perpendicular to both vectors.
|
|
21
|
+
*
|
|
22
|
+
* @param a One of the vectors to use for the directed area calculation
|
|
23
|
+
* @param b The other vector to use for the directed area calculation
|
|
24
|
+
* @returns The directed area value for the two vectos
|
|
25
|
+
*/
|
|
26
|
+
export declare function vectorCross(a: Vector, b: Vector): number;
|
|
27
|
+
/**
|
|
28
|
+
* Dot product is defined as the sum of the products of the
|
|
29
|
+
* two vectors.
|
|
30
|
+
*
|
|
31
|
+
* @param a One of the vectors for which the sum of products is calculated
|
|
32
|
+
* @param b The other vector for which the sum of products is calculated
|
|
33
|
+
* @returns The sum of products of the two vectors
|
|
34
|
+
*/
|
|
35
|
+
export declare function vectorDot(a: Vector, b: Vector): number;
|
|
36
|
+
/**
|
|
37
|
+
* Determines if the value has the shape of a Vector.
|
|
38
|
+
*
|
|
39
|
+
* @param v The value to test
|
|
40
|
+
* @returns TRUE if the value has the shape and components of a Vectors
|
|
41
|
+
*/
|
|
42
|
+
export declare function isVector(v: unknown): v is Vector;
|
|
43
|
+
/**
|
|
44
|
+
* Add two vectors by adding their coordinates.
|
|
45
|
+
*
|
|
46
|
+
* @param a One of the vectors to add
|
|
47
|
+
* @param b The other vector to add
|
|
48
|
+
* @returns The sum vector of the two provided vectors
|
|
49
|
+
*/
|
|
50
|
+
export declare function vectorAdd(a: Readonly<Vector>, b: Readonly<Vector>): Vector;
|
|
51
|
+
/**
|
|
52
|
+
* Add two vectors by adding their coordinates.
|
|
53
|
+
*
|
|
54
|
+
* @param start One of the vectors to add
|
|
55
|
+
* @param end The other vector to add
|
|
56
|
+
* @returns The sum vector of the two provided vectors
|
|
57
|
+
*/
|
|
58
|
+
export declare function vectorSubtract(start: Readonly<Vector>, end: Readonly<Vector>): Vector;
|
|
59
|
+
/**
|
|
60
|
+
* Scale vector by a scalar.
|
|
61
|
+
*
|
|
62
|
+
* @param v The vector to scale
|
|
63
|
+
* @param scalar The scalar to multiply the vector components with
|
|
64
|
+
* @returns The new scaled vector
|
|
65
|
+
*/
|
|
66
|
+
export declare function vectorScale(v: Vector, scalar: number): Vector;
|
|
67
|
+
/**
|
|
68
|
+
* Calculates the sqare magnitude of a vector. Use this if you compare
|
|
69
|
+
* magnitudes as it saves you an SQRT.
|
|
70
|
+
*
|
|
71
|
+
* @param v The vector to measure
|
|
72
|
+
* @returns The scalar squared magnitude of the vector
|
|
73
|
+
*/
|
|
74
|
+
export declare function vectorMagnitudeSq(v: Vector): number;
|
|
75
|
+
/**
|
|
76
|
+
* Calculates the magnitude of a vector.
|
|
77
|
+
*
|
|
78
|
+
* @param v The vector to measure
|
|
79
|
+
* @returns The scalar magnitude of the vector
|
|
80
|
+
*/
|
|
81
|
+
export declare function vectorMagnitude(v: Vector): number;
|
|
82
|
+
/**
|
|
83
|
+
* Normalize the vector (i.e. make the vector magnitue equal 1).
|
|
84
|
+
*
|
|
85
|
+
* @param v The vector to normalize
|
|
86
|
+
* @returns The new normalized vector
|
|
87
|
+
*/
|
|
88
|
+
export declare const vectorNormalize: (v: Vector) => Vector;
|
|
89
|
+
/**
|
|
90
|
+
* Project the first vector onto the second vector
|
|
91
|
+
*/
|
|
92
|
+
export declare const vectorProjection: (a: Vector, b: Vector) => Vector;
|
package/types/utils/bbox.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type GlobalPoint, type LocalPoint } from "../math";
|
|
2
|
-
import type { Bounds } from "../excalidraw/element/bounds";
|
|
3
|
-
export type LineSegment<P extends LocalPoint | GlobalPoint> = [P, P];
|
|
4
|
-
export declare function getBBox<P extends LocalPoint | GlobalPoint>(line: LineSegment<P>): Bounds;
|
|
5
|
-
export declare function doBBoxesIntersect(a: Bounds, b: Bounds): boolean;
|
|
6
|
-
export declare function isPointOnLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
|
|
7
|
-
export declare function isPointRightOfLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
|
|
8
|
-
export declare function isLineSegmentTouchingOrCrossingLine<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
|
|
9
|
-
export declare function doLineSegmentsIntersect<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
|
|
1
|
+
import { type GlobalPoint, type LocalPoint } from "../math";
|
|
2
|
+
import type { Bounds } from "../excalidraw/element/bounds";
|
|
3
|
+
export type LineSegment<P extends LocalPoint | GlobalPoint> = [P, P];
|
|
4
|
+
export declare function getBBox<P extends LocalPoint | GlobalPoint>(line: LineSegment<P>): Bounds;
|
|
5
|
+
export declare function doBBoxesIntersect(a: Bounds, b: Bounds): boolean;
|
|
6
|
+
export declare function isPointOnLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
|
|
7
|
+
export declare function isPointRightOfLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
|
|
8
|
+
export declare function isLineSegmentTouchingOrCrossingLine<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
|
|
9
|
+
export declare function doLineSegmentsIntersect<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Polyline } from "./geometry/shape";
|
|
2
|
-
import { type GeometricShape } from "./geometry/shape";
|
|
3
|
-
import type { Curve } from "../math";
|
|
4
|
-
import { type GlobalPoint, type LocalPoint, type Polygon } from "../math";
|
|
5
|
-
export declare const isPointOnShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>, tolerance?: number) => boolean;
|
|
6
|
-
export declare const isPointInShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>) => boolean;
|
|
7
|
-
export declare const isPointInBounds: <Point extends GlobalPoint | LocalPoint>(point: Point, bounds: Polygon<Point>) => boolean;
|
|
8
|
-
export declare const pointOnCurve: <Point extends GlobalPoint | LocalPoint>(point: Point, curve: Curve<Point>, threshold: number) => boolean;
|
|
9
|
-
export declare const pointOnPolyline: <Point extends GlobalPoint | LocalPoint>(point: Point, polyline: Polyline<Point>, threshold?: number) => boolean;
|
|
1
|
+
import type { Polyline } from "./geometry/shape";
|
|
2
|
+
import { type GeometricShape } from "./geometry/shape";
|
|
3
|
+
import type { Curve } from "../math";
|
|
4
|
+
import { type GlobalPoint, type LocalPoint, type Polygon } from "../math";
|
|
5
|
+
export declare const isPointOnShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>, tolerance?: number) => boolean;
|
|
6
|
+
export declare const isPointInShape: <Point extends GlobalPoint | LocalPoint>(point: Point, shape: GeometricShape<Point>) => boolean;
|
|
7
|
+
export declare const isPointInBounds: <Point extends GlobalPoint | LocalPoint>(point: Point, bounds: Polygon<Point>) => boolean;
|
|
8
|
+
export declare const pointOnCurve: <Point extends GlobalPoint | LocalPoint>(point: Point, curve: Curve<Point>, threshold: number) => boolean;
|
|
9
|
+
export declare const pointOnPolyline: <Point extends GlobalPoint | LocalPoint>(point: Point, polyline: Polyline<Point>, threshold?: number) => boolean;
|
package/types/utils/export.d.ts
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import type { AppState, BinaryFiles } from "../excalidraw/types";
|
|
2
|
-
import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "../excalidraw/element/types";
|
|
3
|
-
import { MIME_TYPES } from "../excalidraw/constants";
|
|
4
|
-
export { MIME_TYPES };
|
|
5
|
-
type ExportOpts = {
|
|
6
|
-
elements: readonly NonDeleted<ExcalidrawElement>[];
|
|
7
|
-
appState?: Partial<Omit<AppState, "offsetTop" | "offsetLeft">>;
|
|
8
|
-
files: BinaryFiles | null;
|
|
9
|
-
maxWidthOrHeight?: number;
|
|
10
|
-
exportingFrame?: ExcalidrawFrameLikeElement | null;
|
|
11
|
-
getDimensions?: (width: number, height: number) => {
|
|
12
|
-
width: number;
|
|
13
|
-
height: number;
|
|
14
|
-
scale?: number;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, exportingFrame, }: ExportOpts & {
|
|
18
|
-
exportPadding?: number | undefined;
|
|
19
|
-
}) => Promise<HTMLCanvasElement>;
|
|
20
|
-
export declare const exportToBlob: (opts: ExportOpts & {
|
|
21
|
-
mimeType?: string;
|
|
22
|
-
quality?: number;
|
|
23
|
-
exportPadding?: number;
|
|
24
|
-
}) => Promise<Blob>;
|
|
25
|
-
export declare const exportToSvg: ({ elements, appState, files, exportPadding, renderEmbeddables, exportingFrame, skipInliningFonts, reuseImages, }: Omit<ExportOpts, "getDimensions"> & {
|
|
26
|
-
exportPadding?: number | undefined;
|
|
27
|
-
renderEmbeddables?: boolean | undefined;
|
|
28
|
-
skipInliningFonts?: true | undefined;
|
|
29
|
-
reuseImages?: boolean | undefined;
|
|
30
|
-
}) => Promise<SVGSVGElement>;
|
|
31
|
-
export declare const exportToClipboard: (opts: ExportOpts & {
|
|
32
|
-
mimeType?: string;
|
|
33
|
-
quality?: number;
|
|
34
|
-
type: "png" | "svg" | "json";
|
|
35
|
-
}) => Promise<void>;
|
|
36
|
-
export { getCommonBoundingBox } from "../excalidraw/element/bounds";
|
|
37
|
-
export { getMaximumGroups } from "../excalidraw/groups";
|
|
38
|
-
export { intersectElementWithLine } from "../excalidraw/element/binding";
|
|
39
|
-
export { determineFocusDistance } from "../excalidraw/element/binding";
|
|
40
|
-
export { measureText } from "../excalidraw/element/textElement";
|
|
41
|
-
export { wrapText } from "../excalidraw/element/textWrapping";
|
|
42
|
-
export { getLineHeight } from "../excalidraw/fonts/index";
|
|
43
|
-
export { getFontString, getFontFamilyString } from "../excalidraw/utils";
|
|
44
|
-
export { getBoundTextMaxWidth } from "../excalidraw/element/textElement";
|
|
45
|
-
export { mermaidToExcalidraw } from "../excalidraw/components/TTDDialog/MermaidToExcalidrawLib";
|
|
46
|
-
export { destroyObsidianUtils, registerLocalFont, getFontFamilies, registerFontsInCSS, getCSSFontDefinition, loadSceneFonts, getSharedMermaidInstance, loadMermaid, } from "../excalidraw/obsidianUtils";
|
|
1
|
+
import type { AppState, BinaryFiles } from "../excalidraw/types";
|
|
2
|
+
import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "../excalidraw/element/types";
|
|
3
|
+
import { MIME_TYPES } from "../excalidraw/constants";
|
|
4
|
+
export { MIME_TYPES };
|
|
5
|
+
type ExportOpts = {
|
|
6
|
+
elements: readonly NonDeleted<ExcalidrawElement>[];
|
|
7
|
+
appState?: Partial<Omit<AppState, "offsetTop" | "offsetLeft">>;
|
|
8
|
+
files: BinaryFiles | null;
|
|
9
|
+
maxWidthOrHeight?: number;
|
|
10
|
+
exportingFrame?: ExcalidrawFrameLikeElement | null;
|
|
11
|
+
getDimensions?: (width: number, height: number) => {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
scale?: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, exportingFrame, }: ExportOpts & {
|
|
18
|
+
exportPadding?: number | undefined;
|
|
19
|
+
}) => Promise<HTMLCanvasElement>;
|
|
20
|
+
export declare const exportToBlob: (opts: ExportOpts & {
|
|
21
|
+
mimeType?: string;
|
|
22
|
+
quality?: number;
|
|
23
|
+
exportPadding?: number;
|
|
24
|
+
}) => Promise<Blob>;
|
|
25
|
+
export declare const exportToSvg: ({ elements, appState, files, exportPadding, renderEmbeddables, exportingFrame, skipInliningFonts, reuseImages, }: Omit<ExportOpts, "getDimensions"> & {
|
|
26
|
+
exportPadding?: number | undefined;
|
|
27
|
+
renderEmbeddables?: boolean | undefined;
|
|
28
|
+
skipInliningFonts?: true | undefined;
|
|
29
|
+
reuseImages?: boolean | undefined;
|
|
30
|
+
}) => Promise<SVGSVGElement>;
|
|
31
|
+
export declare const exportToClipboard: (opts: ExportOpts & {
|
|
32
|
+
mimeType?: string;
|
|
33
|
+
quality?: number;
|
|
34
|
+
type: "png" | "svg" | "json";
|
|
35
|
+
}) => Promise<void>;
|
|
36
|
+
export { getCommonBoundingBox } from "../excalidraw/element/bounds";
|
|
37
|
+
export { getMaximumGroups } from "../excalidraw/groups";
|
|
38
|
+
export { intersectElementWithLine } from "../excalidraw/element/binding";
|
|
39
|
+
export { determineFocusDistance } from "../excalidraw/element/binding";
|
|
40
|
+
export { measureText } from "../excalidraw/element/textElement";
|
|
41
|
+
export { wrapText } from "../excalidraw/element/textWrapping";
|
|
42
|
+
export { getLineHeight } from "../excalidraw/fonts/index";
|
|
43
|
+
export { getFontString, getFontFamilyString } from "../excalidraw/utils";
|
|
44
|
+
export { getBoundTextMaxWidth } from "../excalidraw/element/textElement";
|
|
45
|
+
export { mermaidToExcalidraw } from "../excalidraw/components/TTDDialog/MermaidToExcalidrawLib";
|
|
46
|
+
export { destroyObsidianUtils, registerLocalFont, getFontFamilies, registerFontsInCSS, getCSSFontDefinition, loadSceneFonts, getSharedMermaidInstance, loadMermaid, } from "../excalidraw/obsidianUtils";
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { ExcalidrawBindableElement } from "../../excalidraw/element/types";
|
|
2
|
+
import type { LineSegment } from "../bbox";
|
|
3
|
+
import type { Point, Line, Polygon, Curve, Ellipse, Polycurve, Polyline } from "./shape";
|
|
4
|
+
/**
|
|
5
|
+
* utils
|
|
6
|
+
*/
|
|
7
|
+
export declare const cross: (a: readonly [number, number], b: readonly [number, number], o: readonly [number, number]) => number;
|
|
8
|
+
export declare const dot: (a: readonly [number, number], b: readonly [number, number], o: readonly [number, number]) => number;
|
|
9
|
+
export declare const isClosed: (polygon: Polygon) => boolean;
|
|
10
|
+
export declare const close: (polygon: Polygon) => Polygon;
|
|
11
|
+
/**
|
|
12
|
+
* angles
|
|
13
|
+
*/
|
|
14
|
+
export declare const angleToDegrees: (angle: number) => number;
|
|
15
|
+
export declare const angleToRadians: (angle: number) => number;
|
|
16
|
+
export declare const angleReflect: (incidenceAngle: number, surfaceAngle: number) => number;
|
|
17
|
+
export declare const pointRotate: (point: Point, angle: number, origin?: Point) => Point;
|
|
18
|
+
export declare const pointTranslate: (point: Point, angle?: number, distance?: number) => Point;
|
|
19
|
+
export declare const pointInverse: (point: Point) => Point;
|
|
20
|
+
export declare const pointAdd: (pointA: Point, pointB: Point) => Point;
|
|
21
|
+
export declare const distanceToPoint: (p1: Point, p2: Point) => number;
|
|
22
|
+
/**
|
|
23
|
+
* lines
|
|
24
|
+
*/
|
|
25
|
+
export declare const lineAngle: (line: Line) => number;
|
|
26
|
+
export declare const lineLength: (line: Line) => number;
|
|
27
|
+
export declare const lineMidpoint: (line: Line) => Point;
|
|
28
|
+
export declare const lineRotate: (line: Line, angle: number, origin?: Point) => Line;
|
|
29
|
+
export declare const lineTranslate: (line: Line, angle: number, distance: number) => Point[];
|
|
30
|
+
export declare const lineInterpolate: (line: Line, clamp?: boolean) => (t: number) => Point;
|
|
31
|
+
export declare const curveToBezier: (pointsIn: readonly Point[], curveTightness?: number) => Point[];
|
|
32
|
+
export declare const curveRotate: (curve: Curve, angle: number, origin: Point) => Point[];
|
|
33
|
+
export declare const cubicBezierPoint: (t: number, controlPoints: Curve) => Point;
|
|
34
|
+
export declare const cubicBezierDistance: (point: Point, controlPoints: Curve) => number;
|
|
35
|
+
/**
|
|
36
|
+
* polygons
|
|
37
|
+
*/
|
|
38
|
+
export declare const polygonRotate: (polygon: Polygon, angle: number, origin: Point) => Point[];
|
|
39
|
+
export declare const polygonBounds: (polygon: Polygon) => [Point, Point];
|
|
40
|
+
export declare const polygonCentroid: (vertices: Point[]) => Point;
|
|
41
|
+
export declare const polygonScale: (polygon: Polygon, scale: number, origin?: Point) => Polygon;
|
|
42
|
+
export declare const polygonScaleX: (polygon: Polygon, scale: number, origin?: Point) => Polygon;
|
|
43
|
+
export declare const polygonScaleY: (polygon: Polygon, scale: number, origin?: Point) => Polygon;
|
|
44
|
+
export declare const polygonReflectX: (polygon: Polygon, reflectFactor?: number) => Point[];
|
|
45
|
+
export declare const polygonReflectY: (polygon: Polygon, reflectFactor?: number) => Point[];
|
|
46
|
+
export declare const polygonTranslate: (polygon: Polygon, angle: number, distance: number) => Point[];
|
|
47
|
+
/**
|
|
48
|
+
* ellipses
|
|
49
|
+
*/
|
|
50
|
+
export declare const ellipseAxes: (ellipse: Ellipse) => {
|
|
51
|
+
majorAxis: number;
|
|
52
|
+
minorAxis: number;
|
|
53
|
+
};
|
|
54
|
+
export declare const ellipseFocusToCenter: (ellipse: Ellipse) => number;
|
|
55
|
+
export declare const ellipseExtremes: (ellipse: Ellipse) => Point[];
|
|
56
|
+
export declare const pointRelativeToCenter: (point: Point, center: Point, angle: number) => Point;
|
|
57
|
+
export declare const pointLeftofLine: (point: Point, line: Line) => boolean;
|
|
58
|
+
export declare const pointRightofLine: (point: Point, line: Line) => boolean;
|
|
59
|
+
export declare const distanceToSegment: (point: Point, line: Line) => number;
|
|
60
|
+
export declare const pointOnLine: (point: Point, line: Line, threshold?: number) => boolean;
|
|
61
|
+
export declare const pointOnPolyline: (point: Point, polyline: Polyline, threshold?: number) => boolean;
|
|
62
|
+
export declare const lineIntersectsLine: (lineA: Line, lineB: Line) => boolean;
|
|
63
|
+
export declare const lineIntersectsPolygon: (line: Line, polygon: Polygon) => boolean;
|
|
64
|
+
export declare const pointInBezierEquation: (p0: Point, p1: Point, p2: Point, p3: Point, [mx, my]: Point, lineThreshold: number) => boolean;
|
|
65
|
+
export declare const cubicBezierEquation: (curve: Curve) => (t: number, idx: number) => number;
|
|
66
|
+
export declare const polyLineFromCurve: (curve: Curve, segments?: number) => Polyline;
|
|
67
|
+
export declare const pointOnCurve: (point: Point, curve: Curve, threshold?: number) => boolean;
|
|
68
|
+
export declare const pointOnPolycurve: (point: Point, polycurve: Polycurve, threshold?: number) => boolean;
|
|
69
|
+
export declare const pointInPolygon: (point: Point, polygon: Polygon) => boolean;
|
|
70
|
+
export declare const pointOnPolygon: (point: Point, polygon: Polygon, threshold?: number) => boolean;
|
|
71
|
+
export declare const polygonInPolygon: (polygonA: Polygon, polygonB: Polygon) => boolean;
|
|
72
|
+
export declare const polygonIntersectPolygon: (polygonA: Polygon, polygonB: Polygon) => boolean;
|
|
73
|
+
export declare const pointOnEllipse: (point: Point, ellipse: Ellipse, threshold?: number) => boolean;
|
|
74
|
+
export declare const pointInEllipse: (point: Point, ellipse: Ellipse) => boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Calculates the point two line segments with a definite start and end point
|
|
77
|
+
* intersect at.
|
|
78
|
+
*/
|
|
79
|
+
export declare const segmentsIntersectAt: (a: readonly [readonly [number, number], readonly [number, number]], b: readonly [readonly [number, number], readonly [number, number]]) => Point | null;
|
|
80
|
+
/**
|
|
81
|
+
* Determine intersection of a rectangular shaped element and a
|
|
82
|
+
* line segment.
|
|
83
|
+
*
|
|
84
|
+
* @param element The rectangular element to test against
|
|
85
|
+
* @param segment The segment intersecting the element
|
|
86
|
+
* @param gap Optional value to inflate the shape before testing
|
|
87
|
+
* @returns An array of intersections
|
|
88
|
+
*/
|
|
89
|
+
export declare const segmentIntersectRectangleElement: (element: ExcalidrawBindableElement, segment: LineSegment, gap?: number) => Point[];
|