@excalidraw/excalidraw 0.18.0-d92384b77-3 → 0.18.0-de715913e
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/CHANGELOG.md +40 -14
- package/README.md +1 -1
- package/dist/dev/chunk-CP5DND7P.js +7 -0
- package/dist/dev/chunk-CP5DND7P.js.map +7 -0
- package/dist/dev/chunk-CRKRRBMD.js +5677 -0
- package/dist/dev/chunk-CRKRRBMD.js.map +7 -0
- package/dist/dev/chunk-FB2NA5UG.js +4132 -0
- package/dist/dev/chunk-FB2NA5UG.js.map +7 -0
- package/dist/dev/{chunk-LMHBUWQS.js → chunk-QF5FRM6O.js} +16 -5
- package/dist/dev/chunk-QF5FRM6O.js.map +7 -0
- package/dist/dev/data/{image-N7WNQEIL.js → image-IWGLHPIX.js} +3 -3
- package/dist/dev/index.css +3020 -2947
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +30775 -24190
- package/dist/dev/index.js.map +4 -4
- package/dist/dev/locales/{en-OZCJJ2HN.js → en-SMAPCEOQ.js} +2 -2
- package/dist/dev/subset-shared.chunk.js +2 -2
- package/dist/dev/subset-worker.chunk.js +2 -2
- package/dist/prod/chunk-A66AFZZU.js +7 -0
- package/dist/prod/chunk-HHV2PJKY.js +4 -0
- package/dist/prod/chunk-I4UNSFV6.js +12 -0
- package/dist/prod/chunk-LS7FJGPW.js +86 -0
- package/dist/prod/data/image-4SM4COIL.js +1 -0
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +27 -16
- package/dist/prod/locales/{en-B4ZKOASM.js → en-TYY6KWIJ.js} +1 -1
- package/dist/prod/subset-shared.chunk.js +1 -1
- package/dist/prod/subset-worker.chunk.js +1 -1
- package/dist/types/{excalidraw/binaryheap.d.ts → common/src/binary-heap.d.ts} +12 -12
- package/dist/types/{excalidraw → common/src}/colors.d.ts +62 -61
- package/dist/types/{excalidraw → common/src}/constants.d.ts +344 -323
- package/dist/types/{excalidraw → common/src}/emitter.d.ts +16 -16
- package/dist/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +48 -38
- package/dist/types/common/src/index.d.ts +12 -0
- package/dist/types/{excalidraw → common/src}/keys.d.ts +189 -189
- package/dist/types/{excalidraw → common/src}/points.d.ts +9 -7
- package/dist/types/common/src/promise-pool.d.ts +6 -0
- package/dist/types/{excalidraw → common/src}/queue.d.ts +9 -9
- package/dist/types/{excalidraw → common/src}/random.d.ts +3 -3
- package/dist/types/{excalidraw/data → common/src}/url.d.ts +7 -7
- package/dist/types/{excalidraw → common/src}/utility-types.d.ts +38 -33
- package/dist/types/{excalidraw → common/src}/utils.d.ts +267 -256
- package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +80 -79
- package/dist/types/element/src/align.d.ts +8 -0
- package/dist/types/{excalidraw/element → element/src}/binding.d.ts +110 -99
- package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +89 -77
- package/dist/types/element/src/collision.d.ts +32 -0
- package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +8 -8
- package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +11 -11
- package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +19 -19
- package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +228 -191
- package/dist/types/element/src/distance.d.ts +3 -0
- package/dist/types/{excalidraw → element/src}/distribute.d.ts +7 -6
- package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +33 -32
- package/dist/types/element/src/duplicate.d.ts +63 -0
- package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +17 -16
- package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +13 -13
- package/dist/types/element/src/embeddable.d.ts +10 -0
- package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +26 -25
- package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +57 -48
- package/dist/types/{excalidraw → element/src}/frame.d.ts +70 -69
- package/dist/types/{excalidraw → element/src}/groups.d.ts +34 -33
- package/dist/types/{excalidraw/element → element/src}/heading.d.ts +15 -16
- package/dist/types/{excalidraw/element → element/src}/image.d.ts +32 -32
- package/dist/types/element/src/index.d.ts +57 -0
- package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +117 -130
- package/dist/types/element/src/mutateElement.d.ts +21 -0
- package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +62 -101
- package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +28 -28
- package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +32 -31
- package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +15 -15
- package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +38 -32
- package/dist/types/element/src/shape.d.ts +42 -0
- package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +3 -3
- package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +35 -35
- package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +2 -2
- package/dist/types/element/src/store.d.ts +236 -0
- package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +40 -39
- package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +41 -41
- package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +13 -13
- package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +55 -55
- package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +57 -39
- package/dist/types/{excalidraw/element → element/src}/types.d.ts +295 -282
- package/dist/types/element/src/utils.d.ts +31 -0
- package/dist/types/{excalidraw → element/src}/zindex.d.ts +7 -6
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +525 -534
- package/dist/types/excalidraw/actions/actionAlign.d.ts +110 -110
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +387 -393
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +2403 -2266
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +1167 -1183
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +188 -191
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +565 -573
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +35 -35
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +18 -22
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +210 -213
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +373 -381
- package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +185 -198
- package/dist/types/excalidraw/actions/actionExport.d.ts +1639 -1666
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +397 -362
- package/dist/types/excalidraw/actions/actionFlip.d.ts +35 -35
- package/dist/types/excalidraw/actions/actionFrame.d.ts +1241 -1253
- package/dist/types/excalidraw/actions/actionGroup.d.ts +385 -391
- package/dist/types/excalidraw/actions/actionHistory.d.ts +6 -7
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +713 -192
- package/dist/types/excalidraw/actions/actionLink.d.ts +189 -192
- package/dist/types/excalidraw/actions/actionMenu.d.ts +545 -554
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +361 -367
- package/dist/types/excalidraw/actions/actionProperties.d.ts +2759 -2796
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +188 -191
- package/dist/types/excalidraw/actions/actionStyles.d.ts +202 -205
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +191 -194
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +189 -192
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +182 -357
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +188 -192
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +189 -193
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +189 -193
- package/dist/types/excalidraw/actions/actionZindex.d.ts +75 -75
- package/dist/types/excalidraw/actions/index.d.ts +28 -27
- package/dist/types/excalidraw/actions/manager.d.ts +21 -21
- package/dist/types/excalidraw/actions/register.d.ts +5 -5
- package/dist/types/excalidraw/actions/shortcuts.d.ts +4 -4
- package/dist/types/excalidraw/actions/types.d.ts +47 -46
- package/dist/types/excalidraw/analytics.d.ts +1 -1
- package/dist/types/excalidraw/animated-trail.d.ts +39 -33
- package/dist/types/excalidraw/animation-frame-handler.d.ts +16 -16
- package/dist/types/excalidraw/appState.d.ts +96 -86
- package/dist/types/excalidraw/charts.d.ts +27 -27
- package/dist/types/excalidraw/clients.d.ts +14 -14
- package/dist/types/excalidraw/clipboard.d.ts +66 -66
- package/dist/types/excalidraw/components/Actions.d.ts +30 -34
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
- package/dist/types/excalidraw/components/App.d.ts +561 -544
- package/dist/types/excalidraw/components/Avatar.d.ts +11 -11
- package/dist/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
- package/dist/types/excalidraw/components/Button.d.ts +17 -17
- package/dist/types/excalidraw/components/ButtonIcon.d.ts +16 -15
- package/dist/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
- package/dist/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
- package/dist/types/excalidraw/components/Card.d.ts +7 -7
- package/dist/types/excalidraw/components/CheckboxItem.d.ts +8 -8
- package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -9
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -19
- package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
- package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -8
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +17 -18
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -10
- package/dist/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
- package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +21 -21
- package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
- package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
- package/dist/types/excalidraw/components/CommandPalette/types.d.ts +26 -26
- package/dist/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
- package/dist/types/excalidraw/components/ContextMenu.d.ts +16 -16
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +31 -31
- package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
- package/dist/types/excalidraw/components/Dialog.d.ts +13 -13
- package/dist/types/excalidraw/components/DialogActionButton.d.ts +10 -10
- package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +7 -7
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +12 -11
- package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
- package/dist/types/excalidraw/components/ErrorDialog.d.ts +5 -5
- package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +16 -16
- package/dist/types/excalidraw/components/EyeDropper.d.ts +28 -28
- package/dist/types/excalidraw/components/FilledButton.d.ts +18 -18
- package/dist/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
- package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
- package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
- package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +14 -14
- package/dist/types/excalidraw/components/HandButton.d.ts +10 -10
- package/dist/types/excalidraw/components/HelpButton.d.ts +7 -7
- package/dist/types/excalidraw/components/HelpDialog.d.ts +4 -4
- package/dist/types/excalidraw/components/HintViewer.d.ts +10 -10
- package/dist/types/excalidraw/components/IconPicker.d.ts +15 -15
- package/dist/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
- package/dist/types/excalidraw/components/InitializeApp.d.ts +10 -10
- package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -3
- package/dist/types/excalidraw/components/Island.d.ts +10 -10
- package/dist/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
- package/dist/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
- package/dist/types/excalidraw/components/LayerUI.d.ts +31 -31
- package/dist/types/excalidraw/components/LibraryMenu.d.ts +10 -10
- package/dist/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
- package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
- package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +18 -18
- package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +15 -15
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +6 -6
- package/dist/types/excalidraw/components/LockButton.d.ts +10 -10
- package/dist/types/excalidraw/components/MagicButton.d.ts +10 -10
- package/dist/types/excalidraw/components/MobileMenu.d.ts +25 -25
- package/dist/types/excalidraw/components/Modal.d.ts +12 -12
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
- package/dist/types/excalidraw/components/Paragraph.d.ts +4 -4
- package/dist/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
- package/dist/types/excalidraw/components/PenModeButton.d.ts +12 -12
- package/dist/types/excalidraw/components/Popover.d.ts +15 -15
- package/dist/types/excalidraw/components/ProjectName.d.ts +10 -10
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
- package/dist/types/excalidraw/components/PublishLibrary.d.ts +16 -16
- package/dist/types/excalidraw/components/QuickSearch.d.ts +9 -9
- package/dist/types/excalidraw/components/RadioGroup.d.ts +14 -14
- package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +20 -20
- package/dist/types/excalidraw/components/Range.d.ts +8 -8
- package/dist/types/excalidraw/components/SVGLayer.d.ts +7 -7
- package/dist/types/excalidraw/components/ScrollableList.d.ts +9 -9
- package/dist/types/excalidraw/components/SearchMenu.d.ts +5 -5
- package/dist/types/excalidraw/components/Section.d.ts +6 -6
- package/dist/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
- package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
- package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +9 -9
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +10 -10
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +7 -7
- package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +7 -7
- package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
- package/dist/types/excalidraw/components/Sidebar/common.d.ts +34 -34
- package/dist/types/excalidraw/components/Spinner.d.ts +8 -8
- package/dist/types/excalidraw/components/Stack.d.ts +15 -15
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +11 -10
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +45 -35
- package/dist/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
- package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
- package/dist/types/excalidraw/components/Stats/Position.d.ts +12 -12
- package/dist/types/excalidraw/components/Stats/index.d.ts +36 -36
- package/dist/types/excalidraw/components/Stats/utils.d.ts +19 -26
- package/dist/types/excalidraw/components/Switch.d.ts +9 -9
- package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +6 -6
- package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +30 -30
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +8 -8
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +8 -8
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +9 -9
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +7 -7
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
- package/dist/types/excalidraw/components/TTDDialog/common.d.ts +33 -33
- package/dist/types/excalidraw/components/TextField.d.ts +21 -21
- package/dist/types/excalidraw/components/Toast.d.ts +9 -9
- package/dist/types/excalidraw/components/ToolButton.d.ts +49 -49
- package/dist/types/excalidraw/components/Tooltip.d.ts +18 -18
- package/dist/types/excalidraw/components/Trans.d.ts +9 -9
- package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
- package/dist/types/excalidraw/components/UserList.d.ts +18 -18
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -29
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
- package/dist/types/excalidraw/components/canvases/index.d.ts +3 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +18 -18
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -11
- package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
- package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
- package/dist/types/excalidraw/components/footer/Footer.d.ts +12 -12
- package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
- package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
- package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -18
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +10 -9
- package/dist/types/excalidraw/components/icons.d.ts +225 -221
- package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -80
- package/dist/types/excalidraw/components/shapes.d.ts +62 -0
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +85 -85
- package/dist/types/excalidraw/context/tunnels.d.ts +21 -21
- package/dist/types/excalidraw/context/ui-appState.d.ts +4 -4
- package/dist/types/excalidraw/cursor.d.ts +5 -5
- package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
- package/dist/types/excalidraw/data/ai/types.d.ts +242 -242
- package/dist/types/excalidraw/data/blob.d.ts +53 -53
- package/dist/types/excalidraw/data/encode.d.ts +55 -55
- package/dist/types/excalidraw/data/encryption.d.ts +9 -9
- package/dist/types/excalidraw/data/filesystem.d.ts +21 -21
- package/dist/types/excalidraw/data/image.d.ts +9 -9
- package/dist/types/excalidraw/data/index.d.ts +22 -22
- package/dist/types/excalidraw/data/json.d.ts +16 -16
- package/dist/types/excalidraw/data/library.d.ts +112 -112
- package/dist/types/excalidraw/data/reconcile.d.ts +7 -6
- package/dist/types/excalidraw/data/resave.d.ts +5 -5
- package/dist/types/excalidraw/data/restore.d.ts +26 -21
- package/dist/types/excalidraw/data/transform.d.ts +81 -81
- package/dist/types/excalidraw/data/types.d.ts +45 -45
- package/dist/types/excalidraw/deburr.d.ts +1 -1
- package/dist/types/excalidraw/editor-jotai.d.ts +56 -56
- package/dist/types/excalidraw/eraser/index.d.ts +12 -0
- package/dist/types/excalidraw/errors.d.ts +29 -32
- package/dist/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +25 -25
- package/dist/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Fonts.d.ts +79 -89
- package/dist/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
- package/dist/types/excalidraw/fonts/index.d.ts +1 -1
- package/dist/types/excalidraw/gesture.d.ts +6 -6
- package/dist/types/excalidraw/history.d.ts +48 -40
- package/dist/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
- package/dist/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
- package/dist/types/excalidraw/hooks/useCreatePortalContainer.d.ts +4 -4
- package/dist/types/excalidraw/hooks/useEmitter.d.ts +2 -2
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
- package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +20 -20
- package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +2 -2
- package/dist/types/excalidraw/hooks/useStable.d.ts +1 -1
- package/dist/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
- package/dist/types/excalidraw/hooks/useTransition.d.ts +2 -2
- package/dist/types/excalidraw/i18n.d.ts +24 -24
- package/dist/types/excalidraw/index-node.d.ts +1 -1
- package/dist/types/excalidraw/index.d.ts +47 -45
- package/dist/types/excalidraw/laser-trails.d.ts +20 -20
- package/dist/types/excalidraw/lasso/index.d.ts +16 -0
- package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
- package/dist/types/excalidraw/mermaid.d.ts +2 -2
- package/dist/types/excalidraw/polyfill.d.ts +2 -2
- package/dist/types/excalidraw/reactUtils.d.ts +14 -14
- package/dist/types/excalidraw/renderer/helpers.d.ts +18 -13
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
- package/dist/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
- package/dist/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
- package/dist/types/excalidraw/renderer/roundRect.d.ts +11 -11
- package/dist/types/excalidraw/renderer/staticScene.d.ts +14 -11
- package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
- package/dist/types/excalidraw/scene/Renderer.d.ts +27 -28
- package/dist/types/excalidraw/scene/export.d.ts +36 -36
- package/dist/types/excalidraw/scene/index.d.ts +4 -4
- package/dist/types/excalidraw/scene/normalize.d.ts +4 -4
- package/dist/types/excalidraw/scene/scroll.d.ts +23 -23
- package/dist/types/excalidraw/scene/scrollbars.d.ts +11 -12
- package/dist/types/excalidraw/scene/types.d.ts +120 -118
- package/dist/types/excalidraw/scene/zoom.d.ts +12 -12
- package/dist/types/excalidraw/snapping.d.ts +111 -112
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
- package/dist/types/excalidraw/subset/subset-main.d.ts +12 -12
- package/dist/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
- package/dist/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
- package/dist/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
- package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
- package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
- package/dist/types/excalidraw/types.d.ts +707 -687
- package/dist/types/excalidraw/workers.d.ts +36 -36
- package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +24 -22
- package/dist/types/math/{angle.d.ts → src/angle.d.ts} +19 -17
- package/dist/types/math/src/constants.d.ts +3 -0
- package/dist/types/math/src/curve.d.ts +74 -0
- package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +44 -44
- package/dist/types/math/{index.d.ts → src/index.d.ts} +13 -12
- package/dist/types/math/{line.d.ts → src/line.d.ts} +17 -17
- package/dist/types/math/{point.d.ts → src/point.d.ts} +122 -122
- package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +6 -5
- package/dist/types/math/{range.d.ts → src/range.d.ts} +44 -44
- package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +5 -3
- package/dist/types/math/{segment.d.ts → src/segment.d.ts} +39 -39
- package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +11 -11
- package/dist/types/math/{types.d.ts → src/types.d.ts} +106 -105
- package/dist/types/math/{utils.d.ts → src/utils.d.ts} +7 -7
- package/dist/types/math/{vector.d.ts → src/vector.d.ts} +94 -88
- package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +9 -9
- package/dist/types/utils/{export.d.ts → src/export.d.ts} +35 -35
- package/dist/types/utils/{index.d.ts → src/index.d.ts} +4 -4
- package/dist/types/utils/{geometry → src}/shape.d.ts +58 -71
- package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +19 -19
- package/history.ts +148 -109
- package/package.json +25 -10
- package/dist/dev/chunk-D5FBOTU3.js +0 -25634
- package/dist/dev/chunk-D5FBOTU3.js.map +0 -7
- package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
- package/dist/dev/chunk-OKSO7T74.js +0 -4132
- package/dist/dev/chunk-OKSO7T74.js.map +0 -7
- package/dist/dev/chunk-VEGCHY7H.js +0 -7
- package/dist/dev/chunk-VEGCHY7H.js.map +0 -7
- package/dist/prod/chunk-3KJONZZM.js +0 -34
- package/dist/prod/chunk-6U3AYISY.js +0 -12
- package/dist/prod/chunk-EGSCQU2B.js +0 -7
- package/dist/prod/chunk-EIO257PC.js +0 -86
- package/dist/prod/data/image-SGA24VQ5.js +0 -1
- package/dist/types/excalidraw/align.d.ts +0 -7
- package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
- package/dist/types/excalidraw/element/collision.d.ts +0 -26
- package/dist/types/excalidraw/element/distance.d.ts +0 -3
- package/dist/types/excalidraw/element/index.d.ts +0 -26
- package/dist/types/excalidraw/element/mutateElement.d.ts +0 -13
- package/dist/types/excalidraw/element/utils.d.ts +0 -21
- package/dist/types/excalidraw/scene/Shape.d.ts +0 -17
- package/dist/types/excalidraw/scene/ShapeCache.d.ts +0 -25
- package/dist/types/excalidraw/shapes.d.ts +0 -85
- package/dist/types/excalidraw/store.d.ts +0 -129
- package/dist/types/excalidraw/visualdebug.d.ts +0 -41
- package/dist/types/math/curve.d.ts +0 -40
- package/dist/types/utils/collision.d.ts +0 -9
- /package/dist/dev/data/{image-N7WNQEIL.js.map → image-IWGLHPIX.js.map} +0 -0
- /package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-SMAPCEOQ.js.map} +0 -0
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import type { InclusiveRange } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Create an inclusive range from the two numbers provided.
|
|
4
|
-
*
|
|
5
|
-
* @param start Start of the range
|
|
6
|
-
* @param end End of the range
|
|
7
|
-
* @returns
|
|
8
|
-
*/
|
|
9
|
-
export declare function rangeInclusive(start: number, end: number): InclusiveRange;
|
|
10
|
-
/**
|
|
11
|
-
* Turn a number pair into an inclusive range.
|
|
12
|
-
*
|
|
13
|
-
* @param pair The number pair to convert to an inclusive range
|
|
14
|
-
* @returns The new inclusive range
|
|
15
|
-
*/
|
|
16
|
-
export declare function rangeInclusiveFromPair(pair: [start: number, end: number]): [number, number] & {
|
|
17
|
-
_brand: "excalimath_degree";
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Given two ranges, return if the two ranges overlap with each other e.g.
|
|
21
|
-
* [1, 3] overlaps with [2, 4] while [1, 3] does not overlap with [4, 5].
|
|
22
|
-
*
|
|
23
|
-
* @param param0 One of the ranges to compare
|
|
24
|
-
* @param param1 The other range to compare against
|
|
25
|
-
* @returns TRUE if the ranges overlap
|
|
26
|
-
*/
|
|
27
|
-
export declare const rangesOverlap: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Given two ranges,return ther intersection of the two ranges if any e.g. the
|
|
30
|
-
* intersection of [1, 3] and [2, 4] is [2, 3].
|
|
31
|
-
*
|
|
32
|
-
* @param param0 The first range to compare
|
|
33
|
-
* @param param1 The second range to compare
|
|
34
|
-
* @returns The inclusive range intersection or NULL if no intersection
|
|
35
|
-
*/
|
|
36
|
-
export declare const rangeIntersection: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => InclusiveRange | null;
|
|
37
|
-
/**
|
|
38
|
-
* Determine if a value is inside a range.
|
|
39
|
-
*
|
|
40
|
-
* @param value The value to check
|
|
41
|
-
* @param range The range
|
|
42
|
-
* @returns
|
|
43
|
-
*/
|
|
44
|
-
export declare const rangeIncludesValue: (value: number, [min, max]: InclusiveRange) => boolean;
|
|
1
|
+
import type { InclusiveRange } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Create an inclusive range from the two numbers provided.
|
|
4
|
+
*
|
|
5
|
+
* @param start Start of the range
|
|
6
|
+
* @param end End of the range
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function rangeInclusive(start: number, end: number): InclusiveRange;
|
|
10
|
+
/**
|
|
11
|
+
* Turn a number pair into an inclusive range.
|
|
12
|
+
*
|
|
13
|
+
* @param pair The number pair to convert to an inclusive range
|
|
14
|
+
* @returns The new inclusive range
|
|
15
|
+
*/
|
|
16
|
+
export declare function rangeInclusiveFromPair(pair: [start: number, end: number]): [number, number] & {
|
|
17
|
+
_brand: "excalimath_degree";
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Given two ranges, return if the two ranges overlap with each other e.g.
|
|
21
|
+
* [1, 3] overlaps with [2, 4] while [1, 3] does not overlap with [4, 5].
|
|
22
|
+
*
|
|
23
|
+
* @param param0 One of the ranges to compare
|
|
24
|
+
* @param param1 The other range to compare against
|
|
25
|
+
* @returns TRUE if the ranges overlap
|
|
26
|
+
*/
|
|
27
|
+
export declare const rangesOverlap: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Given two ranges,return ther intersection of the two ranges if any e.g. the
|
|
30
|
+
* intersection of [1, 3] and [2, 4] is [2, 3].
|
|
31
|
+
*
|
|
32
|
+
* @param param0 The first range to compare
|
|
33
|
+
* @param param1 The second range to compare
|
|
34
|
+
* @returns The inclusive range intersection or NULL if no intersection
|
|
35
|
+
*/
|
|
36
|
+
export declare const rangeIntersection: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => InclusiveRange | null;
|
|
37
|
+
/**
|
|
38
|
+
* Determine if a value is inside a range.
|
|
39
|
+
*
|
|
40
|
+
* @param value The value to check
|
|
41
|
+
* @param range The range
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
export declare const rangeIncludesValue: (value: number, [min, max]: InclusiveRange) => boolean;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
import type { GlobalPoint, LineSegment, LocalPoint, Rectangle } from "./types";
|
|
2
|
-
export declare function rectangle<P extends GlobalPoint | LocalPoint>(topLeft: P, bottomRight: P): Rectangle<P>;
|
|
3
|
-
export declare function
|
|
1
|
+
import type { GlobalPoint, LineSegment, LocalPoint, Rectangle } from "./types";
|
|
2
|
+
export declare function rectangle<P extends GlobalPoint | LocalPoint>(topLeft: P, bottomRight: P): Rectangle<P>;
|
|
3
|
+
export declare function rectangleFromNumberSequence<Point extends LocalPoint | GlobalPoint>(minX: number, minY: number, maxX: number, maxY: number): Rectangle<Point>;
|
|
4
|
+
export declare function rectangleIntersectLineSegment<Point extends LocalPoint | GlobalPoint>(r: Rectangle<Point>, l: LineSegment<Point>): Point[];
|
|
5
|
+
export declare function rectangleIntersectRectangle<Point extends LocalPoint | GlobalPoint>(rectangle1: Rectangle<Point>, rectangle2: Rectangle<Point>): boolean;
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import type { GlobalPoint, LineSegment, LocalPoint, Radians } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Create a line segment from two points.
|
|
4
|
-
*
|
|
5
|
-
* @param points The two points delimiting the line segment on each end
|
|
6
|
-
* @returns The line segment delineated by the points
|
|
7
|
-
*/
|
|
8
|
-
export declare function lineSegment<P extends GlobalPoint | LocalPoint>(a: P, b: P): LineSegment<P>;
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param segment
|
|
12
|
-
* @returns
|
|
13
|
-
*/
|
|
14
|
-
export declare const isLineSegment: <Point extends GlobalPoint | LocalPoint>(segment: unknown) => segment is LineSegment<Point>;
|
|
15
|
-
/**
|
|
16
|
-
* Return the coordinates resulting from rotating the given line about an origin by an angle in radians
|
|
17
|
-
* note that when the origin is not given, the midpoint of the given line is used as the origin.
|
|
18
|
-
*
|
|
19
|
-
* @param l
|
|
20
|
-
* @param angle
|
|
21
|
-
* @param origin
|
|
22
|
-
* @returns
|
|
23
|
-
*/
|
|
24
|
-
export declare const lineSegmentRotate: <Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, angle: Radians, origin?: Point | undefined) => LineSegment<Point>;
|
|
25
|
-
/**
|
|
26
|
-
* Calculates the point two line segments with a definite start and end point
|
|
27
|
-
* intersect at.
|
|
28
|
-
*/
|
|
29
|
-
export declare const segmentsIntersectAt: <Point extends GlobalPoint | LocalPoint>(a: Readonly<LineSegment<Point>>, b: Readonly<LineSegment<Point>>) => Point | null;
|
|
30
|
-
export declare const pointOnLineSegment: <Point extends GlobalPoint | LocalPoint>(point: Point, line: LineSegment<Point>, threshold?: number) => boolean;
|
|
31
|
-
export declare const distanceToLineSegment: <Point extends GlobalPoint | LocalPoint>(point: Point, line: LineSegment<Point>) => number;
|
|
32
|
-
/**
|
|
33
|
-
* Returns the intersection point of a segment and a line
|
|
34
|
-
*
|
|
35
|
-
* @param l
|
|
36
|
-
* @param s
|
|
37
|
-
* @returns
|
|
38
|
-
*/
|
|
39
|
-
export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point
|
|
1
|
+
import type { GlobalPoint, LineSegment, LocalPoint, Radians } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Create a line segment from two points.
|
|
4
|
+
*
|
|
5
|
+
* @param points The two points delimiting the line segment on each end
|
|
6
|
+
* @returns The line segment delineated by the points
|
|
7
|
+
*/
|
|
8
|
+
export declare function lineSegment<P extends GlobalPoint | LocalPoint>(a: P, b: P): LineSegment<P>;
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param segment
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare const isLineSegment: <Point extends GlobalPoint | LocalPoint>(segment: unknown) => segment is LineSegment<Point>;
|
|
15
|
+
/**
|
|
16
|
+
* Return the coordinates resulting from rotating the given line about an origin by an angle in radians
|
|
17
|
+
* note that when the origin is not given, the midpoint of the given line is used as the origin.
|
|
18
|
+
*
|
|
19
|
+
* @param l
|
|
20
|
+
* @param angle
|
|
21
|
+
* @param origin
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare const lineSegmentRotate: <Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, angle: Radians, origin?: Point | undefined) => LineSegment<Point>;
|
|
25
|
+
/**
|
|
26
|
+
* Calculates the point two line segments with a definite start and end point
|
|
27
|
+
* intersect at.
|
|
28
|
+
*/
|
|
29
|
+
export declare const segmentsIntersectAt: <Point extends GlobalPoint | LocalPoint>(a: Readonly<LineSegment<Point>>, b: Readonly<LineSegment<Point>>) => Point | null;
|
|
30
|
+
export declare const pointOnLineSegment: <Point extends GlobalPoint | LocalPoint>(point: Point, line: LineSegment<Point>, threshold?: number) => boolean;
|
|
31
|
+
export declare const distanceToLineSegment: <Point extends GlobalPoint | LocalPoint>(point: Point, line: LineSegment<Point>) => number;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the intersection point of a segment and a line
|
|
34
|
+
*
|
|
35
|
+
* @param l
|
|
36
|
+
* @param s
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point>, threshold?: number): Point | null;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { GlobalPoint, LocalPoint, Triangle } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Tests if a point lies inside a triangle. This function
|
|
4
|
-
* will return FALSE if the point lies exactly on the sides
|
|
5
|
-
* of the triangle.
|
|
6
|
-
*
|
|
7
|
-
* @param triangle The triangle to test the point for
|
|
8
|
-
* @param p The point to test whether is in the triangle
|
|
9
|
-
* @returns TRUE if the point is inside of the triangle
|
|
10
|
-
*/
|
|
11
|
-
export declare function triangleIncludesPoint<P extends GlobalPoint | LocalPoint>([a, b, c]: Triangle<P>, p: P): boolean;
|
|
1
|
+
import type { GlobalPoint, LocalPoint, Triangle } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Tests if a point lies inside a triangle. This function
|
|
4
|
+
* will return FALSE if the point lies exactly on the sides
|
|
5
|
+
* of the triangle.
|
|
6
|
+
*
|
|
7
|
+
* @param triangle The triangle to test the point for
|
|
8
|
+
* @param p The point to test whether is in the triangle
|
|
9
|
+
* @returns TRUE if the point is inside of the triangle
|
|
10
|
+
*/
|
|
11
|
+
export declare function triangleIncludesPoint<P extends GlobalPoint | LocalPoint>([a, b, c]: Triangle<P>, p: P): boolean;
|
|
@@ -1,105 +1,106 @@
|
|
|
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 rectangular shape represented by 4 points at its corners
|
|
67
|
-
*/
|
|
68
|
-
export type Rectangle<P extends GlobalPoint | LocalPoint> = [a: P, b: P] & {
|
|
69
|
-
_brand: "excalimath__rectangle";
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* A polygon is a closed shape by connecting the given points
|
|
73
|
-
* rectangles and diamonds are modelled by polygons
|
|
74
|
-
*/
|
|
75
|
-
export type Polygon<Point extends GlobalPoint | LocalPoint> = Point[] & {
|
|
76
|
-
_brand: "excalimath_polygon";
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* Cubic bezier curve with four control points
|
|
80
|
-
*/
|
|
81
|
-
export type Curve<Point extends GlobalPoint | LocalPoint> = [
|
|
82
|
-
Point,
|
|
83
|
-
Point,
|
|
84
|
-
Point,
|
|
85
|
-
Point
|
|
86
|
-
] & {
|
|
87
|
-
_brand: "excalimath_curve";
|
|
88
|
-
};
|
|
89
|
-
export type PolarCoords = [
|
|
90
|
-
radius: number,
|
|
91
|
-
/** angle in radians */
|
|
92
|
-
angle: number
|
|
93
|
-
];
|
|
94
|
-
/**
|
|
95
|
-
An ellipse is specified by its center, angle, and its major and minor axes
|
|
96
|
-
but for the sake of simplicity, we've used halfWidth and halfHeight instead
|
|
97
|
-
in replace of semi major and semi minor axes
|
|
98
|
-
*/
|
|
99
|
-
export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
|
|
100
|
-
center: Point;
|
|
101
|
-
halfWidth: number;
|
|
102
|
-
halfHeight: number;
|
|
103
|
-
} & {
|
|
104
|
-
_brand: "excalimath_ellipse";
|
|
105
|
-
};
|
|
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 rectangular shape represented by 4 points at its corners
|
|
67
|
+
*/
|
|
68
|
+
export type Rectangle<P extends GlobalPoint | LocalPoint> = [a: P, b: P] & {
|
|
69
|
+
_brand: "excalimath__rectangle";
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* A polygon is a closed shape by connecting the given points
|
|
73
|
+
* rectangles and diamonds are modelled by polygons
|
|
74
|
+
*/
|
|
75
|
+
export type Polygon<Point extends GlobalPoint | LocalPoint> = Point[] & {
|
|
76
|
+
_brand: "excalimath_polygon";
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Cubic bezier curve with four control points
|
|
80
|
+
*/
|
|
81
|
+
export type Curve<Point extends GlobalPoint | LocalPoint> = [
|
|
82
|
+
Point,
|
|
83
|
+
Point,
|
|
84
|
+
Point,
|
|
85
|
+
Point
|
|
86
|
+
] & {
|
|
87
|
+
_brand: "excalimath_curve";
|
|
88
|
+
};
|
|
89
|
+
export type PolarCoords = [
|
|
90
|
+
radius: number,
|
|
91
|
+
/** angle in radians */
|
|
92
|
+
angle: number
|
|
93
|
+
];
|
|
94
|
+
/**
|
|
95
|
+
An ellipse is specified by its center, angle, and its major and minor axes
|
|
96
|
+
but for the sake of simplicity, we've used halfWidth and halfHeight instead
|
|
97
|
+
in replace of semi major and semi minor axes
|
|
98
|
+
*/
|
|
99
|
+
export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
|
|
100
|
+
center: Point;
|
|
101
|
+
halfWidth: number;
|
|
102
|
+
halfHeight: number;
|
|
103
|
+
} & {
|
|
104
|
+
_brand: "excalimath_ellipse";
|
|
105
|
+
};
|
|
106
|
+
export type ElementsSegmentsMap = Map<string, LineSegment<GlobalPoint>[]>;
|
|
@@ -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;
|
|
@@ -1,88 +1,94 @@
|
|
|
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
|
-
* @
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* @
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* @
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* @
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* @
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* @
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
|
|
88
|
-
|
|
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
|
+
* @param threshold The threshold to consider the vector as 'undefined'
|
|
16
|
+
* @param defaultValue The default value to return if the vector is 'undefined'
|
|
17
|
+
* @returns The created vector from the point and the origin or default
|
|
18
|
+
*/
|
|
19
|
+
export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point, threshold?: number, defaultValue?: Vector): Vector;
|
|
20
|
+
/**
|
|
21
|
+
* Cross product is a binary operation on two vectors in 2D space.
|
|
22
|
+
* It results in a vector that is perpendicular to both vectors.
|
|
23
|
+
*
|
|
24
|
+
* @param a One of the vectors to use for the directed area calculation
|
|
25
|
+
* @param b The other vector to use for the directed area calculation
|
|
26
|
+
* @returns The directed area value for the two vectos
|
|
27
|
+
*/
|
|
28
|
+
export declare function vectorCross(a: Vector, b: Vector): number;
|
|
29
|
+
/**
|
|
30
|
+
* Dot product is defined as the sum of the products of the
|
|
31
|
+
* two vectors.
|
|
32
|
+
*
|
|
33
|
+
* @param a One of the vectors for which the sum of products is calculated
|
|
34
|
+
* @param b The other vector for which the sum of products is calculated
|
|
35
|
+
* @returns The sum of products of the two vectors
|
|
36
|
+
*/
|
|
37
|
+
export declare function vectorDot(a: Vector, b: Vector): number;
|
|
38
|
+
/**
|
|
39
|
+
* Determines if the value has the shape of a Vector.
|
|
40
|
+
*
|
|
41
|
+
* @param v The value to test
|
|
42
|
+
* @returns TRUE if the value has the shape and components of a Vectors
|
|
43
|
+
*/
|
|
44
|
+
export declare function isVector(v: unknown): v is Vector;
|
|
45
|
+
/**
|
|
46
|
+
* Add two vectors by adding their coordinates.
|
|
47
|
+
*
|
|
48
|
+
* @param a One of the vectors to add
|
|
49
|
+
* @param b The other vector to add
|
|
50
|
+
* @returns The sum vector of the two provided vectors
|
|
51
|
+
*/
|
|
52
|
+
export declare function vectorAdd(a: Readonly<Vector>, b: Readonly<Vector>): Vector;
|
|
53
|
+
/**
|
|
54
|
+
* Add two vectors by adding their coordinates.
|
|
55
|
+
*
|
|
56
|
+
* @param start One of the vectors to add
|
|
57
|
+
* @param end The other vector to add
|
|
58
|
+
* @returns The sum vector of the two provided vectors
|
|
59
|
+
*/
|
|
60
|
+
export declare function vectorSubtract(start: Readonly<Vector>, end: Readonly<Vector>): Vector;
|
|
61
|
+
/**
|
|
62
|
+
* Scale vector by a scalar.
|
|
63
|
+
*
|
|
64
|
+
* @param v The vector to scale
|
|
65
|
+
* @param scalar The scalar to multiply the vector components with
|
|
66
|
+
* @returns The new scaled vector
|
|
67
|
+
*/
|
|
68
|
+
export declare function vectorScale(v: Vector, scalar: number): Vector;
|
|
69
|
+
/**
|
|
70
|
+
* Calculates the sqare magnitude of a vector. Use this if you compare
|
|
71
|
+
* magnitudes as it saves you an SQRT.
|
|
72
|
+
*
|
|
73
|
+
* @param v The vector to measure
|
|
74
|
+
* @returns The scalar squared magnitude of the vector
|
|
75
|
+
*/
|
|
76
|
+
export declare function vectorMagnitudeSq(v: Vector): number;
|
|
77
|
+
/**
|
|
78
|
+
* Calculates the magnitude of a vector.
|
|
79
|
+
*
|
|
80
|
+
* @param v The vector to measure
|
|
81
|
+
* @returns The scalar magnitude of the vector
|
|
82
|
+
*/
|
|
83
|
+
export declare function vectorMagnitude(v: Vector): number;
|
|
84
|
+
/**
|
|
85
|
+
* Normalize the vector (i.e. make the vector magnitue equal 1).
|
|
86
|
+
*
|
|
87
|
+
* @param v The vector to normalize
|
|
88
|
+
* @returns The new normalized vector
|
|
89
|
+
*/
|
|
90
|
+
export declare const vectorNormalize: (v: Vector) => Vector;
|
|
91
|
+
/**
|
|
92
|
+
* Calculate the right-hand normal of the vector.
|
|
93
|
+
*/
|
|
94
|
+
export declare const vectorNormal: (v: Vector) => Vector;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
|
|
2
|
-
import type { Bounds } from "@excalidraw/
|
|
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 "@excalidraw/math";
|
|
2
|
+
import type { Bounds } from "@excalidraw/element";
|
|
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;
|