@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-8608d7b
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 +11 -11
- package/dist/dev/chunk-CP5DND7P.js +7 -0
- package/dist/dev/chunk-CP5DND7P.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-PWQMCSHA.js} +27 -8
- package/dist/dev/chunk-PWQMCSHA.js.map +7 -0
- package/dist/dev/chunk-YMRX7R7U.js +5671 -0
- package/dist/dev/chunk-YMRX7R7U.js.map +7 -0
- package/dist/dev/data/{image-V26YBSDB.js → image-L23D26XS.js} +3 -3
- package/dist/dev/index.css +3945 -3493
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +33090 -24527
- package/dist/dev/index.js.map +4 -4
- package/dist/dev/locales/{en-OZCJJ2HN.js → en-V3NQTBPG.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-GF46JCB3.js +12 -0
- package/dist/prod/chunk-HT4FKTIQ.js +4 -0
- package/dist/prod/chunk-LS7FJGPW.js +86 -0
- package/dist/prod/data/image-NWF7UX55.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-LQE6K457.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} +1 -1
- package/dist/types/{excalidraw → common/src}/colors.d.ts +1 -0
- package/dist/types/{excalidraw → common/src}/constants.d.ts +52 -12
- package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
- package/dist/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +15 -5
- package/dist/types/common/src/index.d.ts +12 -0
- package/dist/types/{excalidraw → common/src}/points.d.ts +2 -0
- package/dist/types/common/src/promise-pool.d.ts +6 -0
- package/dist/types/{excalidraw → common/src}/utility-types.d.ts +5 -0
- package/dist/types/{excalidraw → common/src}/utils.d.ts +25 -11
- package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +19 -18
- package/dist/types/element/src/align.d.ts +8 -0
- package/dist/types/{excalidraw/element → element/src}/binding.d.ts +30 -19
- package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +20 -7
- package/dist/types/element/src/collision.d.ts +32 -0
- package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
- package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +1 -1
- package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +78 -41
- package/dist/types/element/src/distance.d.ts +3 -0
- package/dist/types/{excalidraw → element/src}/distribute.d.ts +3 -2
- package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +5 -4
- package/dist/types/element/src/duplicate.d.ts +63 -0
- package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +1 -1
- package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +1 -1
- package/dist/types/element/src/embeddable.d.ts +10 -0
- package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +4 -3
- package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +12 -3
- package/dist/types/{excalidraw → element/src}/frame.d.ts +8 -7
- package/dist/types/{excalidraw → element/src}/groups.d.ts +6 -5
- package/dist/types/{excalidraw/element → element/src}/heading.d.ts +1 -2
- package/dist/types/{excalidraw/element → element/src}/image.d.ts +2 -2
- package/dist/types/element/src/index.d.ts +58 -0
- package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +24 -37
- package/dist/types/element/src/mutateElement.d.ts +21 -0
- package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +4 -43
- package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
- package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +6 -3
- package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +7 -6
- package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +4 -4
- package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +13 -7
- package/dist/types/element/src/shape.d.ts +42 -0
- package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +1 -1
- package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +3 -3
- package/dist/types/element/src/store.d.ts +237 -0
- package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +8 -7
- package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +7 -7
- package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +21 -3
- package/dist/types/{excalidraw/element → element/src}/types.d.ts +17 -4
- package/dist/types/element/src/utils.d.ts +31 -0
- package/dist/types/{excalidraw → element/src}/zindex.d.ts +5 -4
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +115 -109
- package/dist/types/excalidraw/actions/actionAlign.d.ts +7 -7
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +82 -78
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +705 -502
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +242 -228
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +40 -38
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +120 -113
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -7
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +43 -41
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +94 -92
- package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +40 -48
- package/dist/types/excalidraw/actions/actionExport.d.ts +405 -387
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +112 -67
- package/dist/types/excalidraw/actions/actionFlip.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionFrame.d.ts +276 -268
- package/dist/types/excalidraw/actions/actionGroup.d.ts +79 -75
- package/dist/types/excalidraw/actions/actionHistory.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +568 -42
- package/dist/types/excalidraw/actions/actionLink.d.ts +41 -39
- package/dist/types/excalidraw/actions/actionMenu.d.ts +116 -110
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +77 -73
- package/dist/types/excalidraw/actions/actionProperties.d.ts +571 -524
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +41 -39
- package/dist/types/excalidraw/actions/actionStyles.d.ts +42 -40
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +40 -38
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +40 -38
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +39 -209
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +39 -38
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +40 -39
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +40 -39
- package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
- package/dist/types/excalidraw/actions/index.d.ts +2 -1
- package/dist/types/excalidraw/actions/manager.d.ts +2 -2
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +6 -5
- package/dist/types/excalidraw/animated-trail.d.ts +7 -1
- package/dist/types/excalidraw/appState.d.ts +42 -28
- package/dist/types/excalidraw/charts.d.ts +1 -1
- package/dist/types/excalidraw/clipboard.d.ts +71 -8
- package/dist/types/excalidraw/components/Actions.d.ts +19 -9
- package/dist/types/excalidraw/components/App.d.ts +58 -34
- package/dist/types/excalidraw/components/Avatar.d.ts +1 -1
- package/dist/types/excalidraw/components/ButtonIcon.d.ts +2 -1
- package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +10 -5
- package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +6 -5
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +4 -4
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -3
- package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +4 -4
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
- package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +2 -1
- package/dist/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/ContextMenu.d.ts +2 -2
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
- package/dist/types/excalidraw/components/DialogActionButton.d.ts +1 -1
- package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +1 -1
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +5 -4
- package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
- package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +1 -1
- package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
- package/dist/types/excalidraw/components/FixedSideContainer.d.ts +1 -1
- package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
- package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +3 -2
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +4 -2
- package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
- package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
- package/dist/types/excalidraw/components/IconPicker.d.ts +1 -1
- package/dist/types/excalidraw/components/ImageExportDialog.d.ts +2 -2
- package/dist/types/excalidraw/components/InitializeApp.d.ts +1 -1
- package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
- package/dist/types/excalidraw/components/Island.d.ts +1 -1
- package/dist/types/excalidraw/components/JSONExportDialog.d.ts +2 -2
- package/dist/types/excalidraw/components/LayerUI.d.ts +5 -4
- package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +4 -4
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -2
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +1 -1
- package/dist/types/excalidraw/components/MagicButton.d.ts +1 -1
- package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
- package/dist/types/excalidraw/components/MobileToolBar.d.ts +11 -0
- package/dist/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
- package/dist/types/excalidraw/components/PublishLibrary.d.ts +1 -1
- package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
- package/dist/types/excalidraw/components/Range.d.ts +3 -3
- package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/common.d.ts +1 -1
- package/dist/types/excalidraw/components/Stack.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +14 -4
- package/dist/types/excalidraw/components/Stats/FontSize.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +3 -3
- package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Position.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/index.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -11
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/common.d.ts +1 -1
- package/dist/types/excalidraw/components/TextField.d.ts +2 -1
- package/dist/types/excalidraw/components/Toast.d.ts +1 -1
- package/dist/types/excalidraw/components/ToolButton.d.ts +2 -2
- package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
- package/dist/types/excalidraw/components/Tooltip.d.ts +1 -1
- package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
- package/dist/types/excalidraw/components/UserList.d.ts +1 -1
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +4 -3
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -2
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +3 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +5 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +2 -1
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +1 -1
- package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +5 -4
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -2
- package/dist/types/excalidraw/components/icons.d.ts +10 -1
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +4 -1
- package/dist/types/excalidraw/components/shapes.d.ts +190 -0
- package/dist/types/excalidraw/context/tunnels.d.ts +1 -1
- package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +1 -1
- package/dist/types/excalidraw/data/blob.d.ts +7 -11
- package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
- package/dist/types/excalidraw/data/index.d.ts +2 -2
- package/dist/types/excalidraw/data/json.d.ts +1 -1
- package/dist/types/excalidraw/data/library.d.ts +3 -3
- package/dist/types/excalidraw/data/reconcile.d.ts +3 -2
- package/dist/types/excalidraw/data/resave.d.ts +1 -1
- package/dist/types/excalidraw/data/restore.d.ts +6 -1
- package/dist/types/excalidraw/data/transform.d.ts +4 -4
- package/dist/types/excalidraw/data/types.d.ts +6 -3
- package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
- package/dist/types/excalidraw/eraser/index.d.ts +12 -0
- package/dist/types/excalidraw/errors.d.ts +0 -3
- package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -13
- package/dist/types/excalidraw/history.d.ts +31 -23
- package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
- package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
- package/dist/types/excalidraw/i18n.d.ts +1 -1
- package/dist/types/excalidraw/index.d.ts +18 -16
- package/dist/types/excalidraw/laser-trails.d.ts +1 -1
- package/dist/types/excalidraw/lasso/index.d.ts +16 -0
- package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
- package/dist/types/excalidraw/renderer/helpers.d.ts +8 -3
- package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
- package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
- package/dist/types/excalidraw/scene/Renderer.d.ts +3 -4
- package/dist/types/excalidraw/scene/export.d.ts +1 -1
- package/dist/types/excalidraw/scene/index.d.ts +2 -2
- package/dist/types/excalidraw/scene/scroll.d.ts +1 -1
- package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
- package/dist/types/excalidraw/scene/types.d.ts +6 -4
- package/dist/types/excalidraw/snapping.d.ts +5 -6
- package/dist/types/excalidraw/types.d.ts +55 -26
- package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +4 -2
- package/dist/types/math/{angle.d.ts → src/angle.d.ts} +2 -0
- package/dist/types/math/src/constants.d.ts +3 -0
- package/dist/types/math/src/curve.d.ts +74 -0
- package/dist/types/math/{index.d.ts → src/index.d.ts} +1 -0
- package/dist/types/math/{point.d.ts → src/point.d.ts} +3 -3
- package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
- package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +2 -0
- package/dist/types/math/{segment.d.ts → src/segment.d.ts} +2 -1
- package/dist/types/math/{types.d.ts → src/types.d.ts} +1 -0
- package/dist/types/math/{vector.d.ts → src/vector.d.ts} +8 -2
- package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
- package/dist/types/utils/{export.d.ts → src/export.d.ts} +2 -2
- package/dist/types/utils/{index.d.ts → src/index.d.ts} +1 -1
- package/dist/types/utils/{geometry → src}/shape.d.ts +2 -15
- package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +2 -2
- package/history.ts +148 -109
- package/package.json +26 -11
- package/dist/dev/chunk-3SN6HYVK.js +0 -25695
- package/dist/dev/chunk-3SN6HYVK.js.map +0 -7
- package/dist/dev/chunk-53KHN5WM.js +0 -7
- package/dist/dev/chunk-53KHN5WM.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/prod/chunk-36CXSE6H.js +0 -34
- package/dist/prod/chunk-6U3AYISY.js +0 -12
- package/dist/prod/chunk-EIO257PC.js +0 -86
- package/dist/prod/chunk-G5N3DNGT.js +0 -7
- package/dist/prod/data/image-N4WCURRR.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-V26YBSDB.js.map → image-L23D26XS.js.map} +0 -0
- /package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-V3NQTBPG.js.map} +0 -0
- /package/dist/types/{excalidraw → common/src}/keys.d.ts +0 -0
- /package/dist/types/{excalidraw → common/src}/queue.d.ts +0 -0
- /package/dist/types/{excalidraw → common/src}/random.d.ts +0 -0
- /package/dist/types/{excalidraw/data → common/src}/url.d.ts +0 -0
- /package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +0 -0
- /package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +0 -0
- /package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +0 -0
- /package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +0 -0
- /package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
- /package/dist/types/math/{line.d.ts → src/line.d.ts} +0 -0
- /package/dist/types/math/{range.d.ts → src/range.d.ts} +0 -0
- /package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +0 -0
- /package/dist/types/math/{utils.d.ts → src/utils.d.ts} +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type AnimationFrameHandler } from "../animation-frame-handler";
|
|
2
|
+
import { AnimatedTrail } from "../animated-trail";
|
|
3
|
+
import type App from "../components/App";
|
|
4
|
+
export declare class LassoTrail extends AnimatedTrail {
|
|
5
|
+
private intersectedElements;
|
|
6
|
+
private enclosedElements;
|
|
7
|
+
private elementsSegments;
|
|
8
|
+
private canvasTranslate;
|
|
9
|
+
private keepPreviousSelection;
|
|
10
|
+
constructor(animationFrameHandler: AnimationFrameHandler, app: App);
|
|
11
|
+
startPath(x: number, y: number, keepPreviousSelection?: boolean): void;
|
|
12
|
+
selectElementsFromIds: (ids: string[]) => void;
|
|
13
|
+
addPointToPath: (x: number, y: number, keepPreviousSelection?: boolean) => void;
|
|
14
|
+
private updateSelection;
|
|
15
|
+
endPath(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ElementsSegmentsMap, GlobalPoint } from "@excalidraw/math/types";
|
|
2
|
+
import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
+
export declare const getLassoSelectedElementIds: (input: {
|
|
4
|
+
lassoPath: GlobalPoint[];
|
|
5
|
+
elements: readonly ExcalidrawElement[];
|
|
6
|
+
elementsMap: ElementsMap;
|
|
7
|
+
elementsSegments: ElementsSegmentsMap;
|
|
8
|
+
intersectedElements: Set<ExcalidrawElement["id"]>;
|
|
9
|
+
enclosedElements: Set<ExcalidrawElement["id"]>;
|
|
10
|
+
simplifyDistance?: number;
|
|
11
|
+
}) => {
|
|
12
|
+
selectedElementIds: string[];
|
|
13
|
+
};
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ElementsMap, ExcalidrawDiamondElement, ExcalidrawRectanguloidElement } from "@excalidraw/element/types";
|
|
2
2
|
import type { StaticCanvasRenderConfig } from "../scene/types";
|
|
3
|
-
|
|
3
|
+
import type { AppState, StaticCanvasAppState } from "../types";
|
|
4
|
+
export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke: boolean, fill?: boolean) => void;
|
|
4
5
|
export declare const getNormalizedCanvasDimensions: (canvas: HTMLCanvasElement, scale: number) => [number, number];
|
|
5
6
|
export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normalizedHeight, theme, isExporting, viewBackgroundColor, }: {
|
|
6
7
|
canvas: HTMLCanvasElement;
|
|
7
8
|
scale: number;
|
|
8
9
|
normalizedWidth: number;
|
|
9
10
|
normalizedHeight: number;
|
|
10
|
-
theme?: import("
|
|
11
|
+
theme?: import("@excalidraw/element/types").Theme | undefined;
|
|
11
12
|
isExporting?: boolean | undefined;
|
|
12
13
|
viewBackgroundColor?: string | null | undefined;
|
|
13
14
|
}) => CanvasRenderingContext2D;
|
|
15
|
+
export declare const drawHighlightForRectWithRotation: (context: CanvasRenderingContext2D, element: ExcalidrawRectanguloidElement, elementsMap: ElementsMap, padding: number) => void;
|
|
16
|
+
export declare const strokeEllipseWithRotation: (context: CanvasRenderingContext2D, width: number, height: number, cx: number, cy: number, angle: number) => void;
|
|
17
|
+
export declare const strokeRectWithRotation: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean, radius?: number) => void;
|
|
18
|
+
export declare const drawHighlightForDiamondWithRotation: (context: CanvasRenderingContext2D, padding: number, element: ExcalidrawDiamondElement, elementsMap: ElementsMap) => void;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExcalidrawFrameLikeElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { StaticCanvasRenderConfig, StaticSceneRenderConfig } from "../scene/types";
|
|
3
|
+
import type { StaticCanvasAppState } from "../types";
|
|
4
|
+
export declare const frameClip: (frame: ExcalidrawFrameLikeElement, context: CanvasRenderingContext2D, renderConfig: StaticCanvasRenderConfig, appState: StaticCanvasAppState) => void;
|
|
2
5
|
/** throttled to animation framerate */
|
|
3
6
|
export declare const renderStaticSceneThrottled: {
|
|
4
7
|
(config: StaticSceneRenderConfig): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { NonDeletedExcalidrawElement } from "../element/types";
|
|
1
|
+
import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
3
2
|
import type { RenderableElementsMap, SVGRenderConfig } from "../scene/types";
|
|
4
3
|
import type { BinaryFiles } from "../types";
|
|
4
|
+
import type { RoughSVG } from "roughjs/bin/svg";
|
|
5
5
|
export declare const renderSceneToSvg: (elements: readonly NonDeletedExcalidrawElement[], elementsMap: RenderableElementsMap, rsvg: RoughSVG, svgRoot: SVGElement, files: BinaryFiles, renderConfig: SVGRenderConfig) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "
|
|
1
|
+
import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { Scene } from "@excalidraw/element";
|
|
2
3
|
import type { AppState } from "../types";
|
|
3
|
-
import type Scene from "./Scene";
|
|
4
4
|
export declare class Renderer {
|
|
5
5
|
private scene;
|
|
6
6
|
constructor(scene: Scene);
|
|
@@ -16,10 +16,9 @@ export declare class Renderer {
|
|
|
16
16
|
/** note: first render of newElement will always bust the cache
|
|
17
17
|
* (we'd have to prefilter elements outside of this function) */
|
|
18
18
|
newElementId: ExcalidrawElement["id"] | undefined;
|
|
19
|
-
pendingImageElementId: AppState["pendingImageElementId"];
|
|
20
19
|
sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
|
|
21
20
|
}) => {
|
|
22
|
-
elementsMap: Map<string, NonDeletedExcalidrawElement> & import("
|
|
21
|
+
elementsMap: Map<string, NonDeletedExcalidrawElement> & import("@excalidraw/common/utility-types").MakeBrand<"NonDeletedElementsMap"> & import("@excalidraw/common/utility-types").MakeBrand<"RenderableElementsMap">;
|
|
23
22
|
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
24
23
|
}) & {
|
|
25
24
|
clear: () => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "
|
|
1
|
+
import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
2
|
import type { AppState, BinaryFiles } from "../types";
|
|
3
3
|
export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, exportingFrame, }: {
|
|
4
4
|
exportBackground: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { isSomeElementSelected, getElementsWithinSelection,
|
|
1
|
+
export { isSomeElementSelected, getElementsWithinSelection, getSelectedElements, getTargetElements, } from "@excalidraw/element";
|
|
2
2
|
export { calculateScrollCenter } from "./scroll";
|
|
3
|
-
export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, } from "
|
|
3
|
+
export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, } from "@excalidraw/element";
|
|
4
4
|
export { getNormalizedZoom, getNormalizedGridSize, getNormalizedGridStep, } from "./normalize";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
1
2
|
import type { AppState, Offsets, PointerCoords, Zoom } from "../types";
|
|
2
|
-
import type { ExcalidrawElement } from "../element/types";
|
|
3
3
|
export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, offsets, }: {
|
|
4
4
|
scenePoint: PointerCoords;
|
|
5
5
|
viewportDimensions: {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { InteractiveCanvasAppState } from "../types";
|
|
2
|
-
import type { ScrollBars } from "./types";
|
|
3
|
-
import type { ExcalidrawElement } from "../element/types";
|
|
2
|
+
import type { RenderableElementsMap, ScrollBars } from "./types";
|
|
4
3
|
export declare const SCROLLBAR_MARGIN = 4;
|
|
5
4
|
export declare const SCROLLBAR_WIDTH = 6;
|
|
6
5
|
export declare const SCROLLBAR_COLOR = "rgba(0,0,0,0.3)";
|
|
7
|
-
export declare const getScrollBars: (elements:
|
|
6
|
+
export declare const getScrollBars: (elements: RenderableElementsMap, viewportWidth: number, viewportHeight: number, appState: InteractiveCanvasAppState) => ScrollBars;
|
|
8
7
|
export declare const isOverScrollBars: (scrollBars: ScrollBars, x: number, y: number) => {
|
|
9
8
|
isOverEither: boolean;
|
|
10
9
|
isOverHorizontal: boolean;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import type { UserIdleState } from "@excalidraw/common";
|
|
2
|
+
import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
|
|
3
|
+
import type { MakeBrand } from "@excalidraw/common/utility-types";
|
|
4
|
+
import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, Device, PendingExcalidrawElements } from "../types";
|
|
1
5
|
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
2
6
|
import type { Drawable } from "roughjs/bin/core";
|
|
3
|
-
import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "../element/types";
|
|
4
|
-
import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, Device, PendingExcalidrawElements } from "../types";
|
|
5
|
-
import type { MakeBrand } from "../utility-types";
|
|
6
|
-
import type { UserIdleState } from "../constants";
|
|
7
7
|
export type RenderableElementsMap = NonDeletedElementsMap & MakeBrand<"RenderableElementsMap">;
|
|
8
8
|
export type StaticCanvasRenderConfig = {
|
|
9
9
|
canvasBackgroundColor: AppState["viewBackgroundColor"];
|
|
@@ -93,12 +93,14 @@ export type ScrollBars = {
|
|
|
93
93
|
y: number;
|
|
94
94
|
width: number;
|
|
95
95
|
height: number;
|
|
96
|
+
deltaMultiplier: number;
|
|
96
97
|
} | null;
|
|
97
98
|
vertical: {
|
|
98
99
|
x: number;
|
|
99
100
|
y: number;
|
|
100
101
|
width: number;
|
|
101
102
|
height: number;
|
|
103
|
+
deltaMultiplier: number;
|
|
102
104
|
} | null;
|
|
103
105
|
};
|
|
104
106
|
export type ElementShape = Drawable | Drawable[] | null;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { InclusiveRange } from "@excalidraw/math";
|
|
2
1
|
import { type GlobalPoint } from "@excalidraw/math";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
2
|
+
import type { InclusiveRange } from "@excalidraw/math";
|
|
3
|
+
import type { Bounds } from "@excalidraw/element";
|
|
4
|
+
import type { MaybeTransformHandleType } from "@excalidraw/element";
|
|
5
|
+
import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
6
|
+
import type { AppClassProperties, AppState, KeyboardModifiersObject } from "./types";
|
|
7
7
|
export declare const getSnapDistance: (zoomValue: number) => number;
|
|
8
8
|
type Vector2D = {
|
|
9
9
|
x: number;
|
|
@@ -108,5 +108,4 @@ export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElemen
|
|
|
108
108
|
snapLines: PointerSnapLine[];
|
|
109
109
|
};
|
|
110
110
|
export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => boolean;
|
|
111
|
-
export declare const getGridPoint: (x: number, y: number, gridSize: NullableGridSize) => [number, number];
|
|
112
111
|
export {};
|
|
@@ -1,25 +1,23 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
1
|
+
import type { IMAGE_MIME_TYPES, UserIdleState, throttleRAF, MIME_TYPES } from "@excalidraw/common";
|
|
2
|
+
import type { SuggestedBinding } from "@excalidraw/element";
|
|
3
|
+
import type { LinearElementEditor } from "@excalidraw/element";
|
|
4
|
+
import type { MaybeTransformHandleType } from "@excalidraw/element";
|
|
5
|
+
import type { PointerType, ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, TextAlign, ExcalidrawElement, GroupId, ExcalidrawBindableElement, Arrowhead, ChartType, FontFamilyValues, FileId, Theme, StrokeRoundness, ExcalidrawEmbeddableElement, ExcalidrawMagicFrameElement, ExcalidrawFrameLikeElement, ExcalidrawElementType, ExcalidrawIframeLikeElement, OrderedExcalidrawElement, ExcalidrawNonSelectionElement } from "@excalidraw/element/types";
|
|
6
|
+
import type { Merge, MaybePromise, ValueOf, MakeBrand } from "@excalidraw/common/utility-types";
|
|
7
|
+
import type { CaptureUpdateActionType, DurableIncrement, EphemeralIncrement } from "@excalidraw/element";
|
|
4
8
|
import type { Action } from "./actions/types";
|
|
5
|
-
import type { LinearElementEditor } from "./element/linearElementEditor";
|
|
6
|
-
import type { SuggestedBinding } from "./element/binding";
|
|
7
|
-
import type { ImportedDataState } from "./data/types";
|
|
8
|
-
import type App from "./components/App";
|
|
9
|
-
import type { throttleRAF } from "./utils";
|
|
10
9
|
import type { Spreadsheet } from "./charts";
|
|
11
|
-
import type { Language } from "./i18n";
|
|
12
10
|
import type { ClipboardData } from "./clipboard";
|
|
13
|
-
import type
|
|
14
|
-
import type { MaybeTransformHandleType } from "./element/transformHandles";
|
|
11
|
+
import type App from "./components/App";
|
|
15
12
|
import type Library from "./data/library";
|
|
16
13
|
import type { FileSystemHandle } from "./data/filesystem";
|
|
17
|
-
import type { IMAGE_MIME_TYPES, MIME_TYPES } from "./constants";
|
|
18
14
|
import type { ContextMenuItems } from "./components/ContextMenu";
|
|
19
15
|
import type { SnapLine } from "./snapping";
|
|
20
|
-
import type {
|
|
21
|
-
import type {
|
|
22
|
-
import type {
|
|
16
|
+
import type { ImportedDataState } from "./data/types";
|
|
17
|
+
import type { Language } from "./i18n";
|
|
18
|
+
import type { isOverScrollBars } from "./scene/scrollbars";
|
|
19
|
+
import type React from "react";
|
|
20
|
+
import type { JSX } from "react";
|
|
23
21
|
export type SocketId = string & {
|
|
24
22
|
_brand: "SocketId";
|
|
25
23
|
};
|
|
@@ -86,7 +84,7 @@ export type BinaryFileData = {
|
|
|
86
84
|
};
|
|
87
85
|
export type BinaryFileMetadata = Omit<BinaryFileData, "dataURL">;
|
|
88
86
|
export type BinaryFiles = Record<ExcalidrawElement["id"], BinaryFileData>;
|
|
89
|
-
export type ToolType = "selection" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "text" | "image" | "eraser" | "hand" | "frame" | "magicframe" | "embeddable" | "laser";
|
|
87
|
+
export type ToolType = "selection" | "lasso" | "rectangle" | "diamond" | "ellipse" | "arrow" | "line" | "freedraw" | "text" | "image" | "eraser" | "hand" | "frame" | "magicframe" | "embeddable" | "laser";
|
|
90
88
|
export type ElementOrToolType = ExcalidrawElementType | ToolType | "custom";
|
|
91
89
|
export type ActiveTool = {
|
|
92
90
|
type: ToolType;
|
|
@@ -115,7 +113,6 @@ type _CommonCanvasAppState = {
|
|
|
115
113
|
offsetLeft: AppState["offsetLeft"];
|
|
116
114
|
offsetTop: AppState["offsetTop"];
|
|
117
115
|
theme: AppState["theme"];
|
|
118
|
-
pendingImageElementId: AppState["pendingImageElementId"];
|
|
119
116
|
};
|
|
120
117
|
export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
|
|
121
118
|
shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
|
|
@@ -132,7 +129,6 @@ export type StaticCanvasAppState = Readonly<_CommonCanvasAppState & {
|
|
|
132
129
|
}>;
|
|
133
130
|
export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
|
|
134
131
|
activeEmbeddable: AppState["activeEmbeddable"];
|
|
135
|
-
editingLinearElement: AppState["editingLinearElement"];
|
|
136
132
|
selectionElement: AppState["selectionElement"];
|
|
137
133
|
selectedGroupIds: AppState["selectedGroupIds"];
|
|
138
134
|
selectedLinearElement: AppState["selectedLinearElement"];
|
|
@@ -148,6 +144,7 @@ export type InteractiveCanvasAppState = Readonly<_CommonCanvasAppState & {
|
|
|
148
144
|
isCropping: AppState["isCropping"];
|
|
149
145
|
croppingElementId: AppState["croppingElementId"];
|
|
150
146
|
searchMatches: AppState["searchMatches"];
|
|
147
|
+
activeLockedId: AppState["activeLockedId"];
|
|
151
148
|
}>;
|
|
152
149
|
export type ObservedAppState = ObservedStandaloneAppState & ObservedElementsAppState;
|
|
153
150
|
export type ObservedStandaloneAppState = {
|
|
@@ -158,9 +155,13 @@ export type ObservedElementsAppState = {
|
|
|
158
155
|
editingGroupId: AppState["editingGroupId"];
|
|
159
156
|
selectedElementIds: AppState["selectedElementIds"];
|
|
160
157
|
selectedGroupIds: AppState["selectedGroupIds"];
|
|
161
|
-
|
|
162
|
-
|
|
158
|
+
selectedLinearElement: {
|
|
159
|
+
elementId: LinearElementEditor["elementId"];
|
|
160
|
+
isEditing: boolean;
|
|
161
|
+
} | null;
|
|
163
162
|
croppingElementId: AppState["croppingElementId"];
|
|
163
|
+
lockedMultiSelections: AppState["lockedMultiSelections"];
|
|
164
|
+
activeLockedId: AppState["activeLockedId"];
|
|
164
165
|
};
|
|
165
166
|
export interface AppState {
|
|
166
167
|
contextMenu: {
|
|
@@ -211,7 +212,6 @@ export interface AppState {
|
|
|
211
212
|
* set when a new text is created or when an existing text is being edited
|
|
212
213
|
*/
|
|
213
214
|
editingTextElement: NonDeletedExcalidrawElement | null;
|
|
214
|
-
editingLinearElement: LinearElementEditor | null;
|
|
215
215
|
activeTool: {
|
|
216
216
|
/**
|
|
217
217
|
* indicates a previous tool we should revert back to if we deselect the
|
|
@@ -219,7 +219,12 @@ export interface AppState {
|
|
|
219
219
|
*/
|
|
220
220
|
lastActiveTool: ActiveTool | null;
|
|
221
221
|
locked: boolean;
|
|
222
|
+
fromSelection: boolean;
|
|
222
223
|
} & ActiveTool;
|
|
224
|
+
preferredSelectionTool: {
|
|
225
|
+
type: "selection" | "lasso";
|
|
226
|
+
initialized: boolean;
|
|
227
|
+
};
|
|
223
228
|
penMode: boolean;
|
|
224
229
|
penDetected: boolean;
|
|
225
230
|
exportBackground: boolean;
|
|
@@ -251,7 +256,7 @@ export interface AppState {
|
|
|
251
256
|
isRotating: boolean;
|
|
252
257
|
zoom: Zoom;
|
|
253
258
|
openMenu: "canvas" | "shape" | null;
|
|
254
|
-
openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | null;
|
|
259
|
+
openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
|
|
255
260
|
openSidebar: {
|
|
256
261
|
name: SidebarName;
|
|
257
262
|
tab?: SidebarTabName;
|
|
@@ -325,8 +330,6 @@ export interface AppState {
|
|
|
325
330
|
shown: true;
|
|
326
331
|
data: Spreadsheet;
|
|
327
332
|
};
|
|
328
|
-
/** imageElement waiting to be placed on canvas */
|
|
329
|
-
pendingImageElementId: ExcalidrawImageElement["id"] | null;
|
|
330
333
|
showHyperlinkPopup: false | "info" | "editor";
|
|
331
334
|
selectedLinearElement: LinearElementEditor | null;
|
|
332
335
|
snapLines: readonly SnapLine[];
|
|
@@ -342,9 +345,20 @@ export interface AppState {
|
|
|
342
345
|
/** image cropping */
|
|
343
346
|
isCropping: boolean;
|
|
344
347
|
croppingElementId: ExcalidrawElement["id"] | null;
|
|
345
|
-
|
|
348
|
+
/** null if no search matches found / search closed */
|
|
349
|
+
searchMatches: Readonly<{
|
|
350
|
+
focusedId: ExcalidrawElement["id"] | null;
|
|
351
|
+
matches: readonly SearchMatch[];
|
|
352
|
+
}> | null;
|
|
353
|
+
/** the locked element/group that's active and shows unlock popup */
|
|
354
|
+
activeLockedId: string | null;
|
|
355
|
+
lockedMultiSelections: {
|
|
356
|
+
[groupId: string]: true;
|
|
357
|
+
};
|
|
358
|
+
/** properties sidebar mode - determines whether to show compact or complete sidebar */
|
|
359
|
+
stylesPanelMode: "compact" | "full" | "mobile";
|
|
346
360
|
}
|
|
347
|
-
type SearchMatch = {
|
|
361
|
+
export type SearchMatch = {
|
|
348
362
|
id: string;
|
|
349
363
|
focus: boolean;
|
|
350
364
|
matchedLines: {
|
|
@@ -352,6 +366,7 @@ type SearchMatch = {
|
|
|
352
366
|
offsetY: number;
|
|
353
367
|
width: number;
|
|
354
368
|
height: number;
|
|
369
|
+
showOnCanvas: boolean;
|
|
355
370
|
}[];
|
|
356
371
|
};
|
|
357
372
|
export type UIAppState = Omit<AppState, "suggestedBindings" | "startBoundElement" | "cursorButton" | "scrollX" | "scrollY">;
|
|
@@ -404,6 +419,7 @@ export type OnUserFollowedPayload = {
|
|
|
404
419
|
};
|
|
405
420
|
export interface ExcalidrawProps {
|
|
406
421
|
onChange?: (elements: readonly OrderedExcalidrawElement[], appState: AppState, files: BinaryFiles) => void;
|
|
422
|
+
onIncrement?: (event: DurableIncrement | EphemeralIncrement) => void;
|
|
407
423
|
initialData?: (() => MaybePromise<ExcalidrawInitialDataState | null>) | MaybePromise<ExcalidrawInitialDataState | null>;
|
|
408
424
|
excalidrawAPI?: (api: ExcalidrawImperativeAPI) => void;
|
|
409
425
|
isCollaborating?: boolean;
|
|
@@ -431,6 +447,7 @@ export interface ExcalidrawProps {
|
|
|
431
447
|
onDuplicate?: (nextElements: readonly ExcalidrawElement[],
|
|
432
448
|
/** excludes the duplicated elements */
|
|
433
449
|
prevElements: readonly ExcalidrawElement[]) => ExcalidrawElement[] | void;
|
|
450
|
+
renderTopLeftUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
|
|
434
451
|
renderTopRightUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
|
|
435
452
|
langCode?: Language["code"];
|
|
436
453
|
viewModeEnabled?: boolean;
|
|
@@ -460,6 +477,7 @@ export interface ExcalidrawProps {
|
|
|
460
477
|
renderEmbeddable?: (element: NonDeleted<ExcalidrawEmbeddableElement>, appState: AppState) => JSX.Element | null;
|
|
461
478
|
aiEnabled?: boolean;
|
|
462
479
|
showDeprecatedFonts?: boolean;
|
|
480
|
+
renderScrollbars?: boolean;
|
|
463
481
|
}
|
|
464
482
|
export type SceneData = {
|
|
465
483
|
elements?: ImportedDataState["elements"];
|
|
@@ -545,6 +563,8 @@ export type AppClassProperties = {
|
|
|
545
563
|
visibleElements: App["visibleElements"];
|
|
546
564
|
excalidrawContainerValue: App["excalidrawContainerValue"];
|
|
547
565
|
onPointerUpEmitter: App["onPointerUpEmitter"];
|
|
566
|
+
updateEditorAtom: App["updateEditorAtom"];
|
|
567
|
+
onPointerDownEmitter: App["onPointerDownEmitter"];
|
|
548
568
|
};
|
|
549
569
|
export type PointerDownState = Readonly<{
|
|
550
570
|
origin: Readonly<{
|
|
@@ -588,6 +608,11 @@ export type PointerDownState = Readonly<{
|
|
|
588
608
|
x: number;
|
|
589
609
|
y: number;
|
|
590
610
|
} | null;
|
|
611
|
+
origin: {
|
|
612
|
+
x: number;
|
|
613
|
+
y: number;
|
|
614
|
+
};
|
|
615
|
+
blockDragging: boolean;
|
|
591
616
|
};
|
|
592
617
|
eventListeners: {
|
|
593
618
|
onMove: null | ReturnType<typeof throttleRAF>;
|
|
@@ -602,9 +627,12 @@ export type PointerDownState = Readonly<{
|
|
|
602
627
|
export type UnsubscribeCallback = () => void;
|
|
603
628
|
export interface ExcalidrawImperativeAPI {
|
|
604
629
|
updateScene: InstanceType<typeof App>["updateScene"];
|
|
630
|
+
applyDeltas: InstanceType<typeof App>["applyDeltas"];
|
|
631
|
+
mutateElement: InstanceType<typeof App>["mutateElement"];
|
|
605
632
|
updateLibrary: InstanceType<typeof Library>["updateLibrary"];
|
|
606
633
|
resetScene: InstanceType<typeof App>["resetScene"];
|
|
607
634
|
getSceneElementsIncludingDeleted: InstanceType<typeof App>["getSceneElementsIncludingDeleted"];
|
|
635
|
+
getSceneElementsMapIncludingDeleted: InstanceType<typeof App>["getSceneElementsMapIncludingDeleted"];
|
|
608
636
|
history: {
|
|
609
637
|
clear: InstanceType<typeof App>["resetHistory"];
|
|
610
638
|
};
|
|
@@ -629,6 +657,7 @@ export interface ExcalidrawImperativeAPI {
|
|
|
629
657
|
*/
|
|
630
658
|
updateFrameRendering: InstanceType<typeof App>["updateFrameRendering"];
|
|
631
659
|
onChange: (callback: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles) => void) => UnsubscribeCallback;
|
|
660
|
+
onIncrement: (callback: (event: DurableIncrement | EphemeralIncrement) => void) => UnsubscribeCallback;
|
|
632
661
|
onPointerDown: (callback: (activeTool: AppState["activeTool"], pointerDownState: PointerDownState, event: React.PointerEvent<HTMLElement>) => void) => UnsubscribeCallback;
|
|
633
662
|
onPointerUp: (callback: (activeTool: AppState["activeTool"], pointerDownState: PointerDownState, event: PointerEvent) => void) => UnsubscribeCallback;
|
|
634
663
|
onScrollChange: (callback: (scrollX: number, scrollY: number, zoom: Zoom) => void) => UnsubscribeCallback;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { ExcalidrawElement, ExcalidrawTextElement } from "
|
|
1
|
+
import type { ExcalidrawElement, ExcalidrawTextElement } from "@excalidraw/element/types";
|
|
2
2
|
import type App from "../components/App";
|
|
3
|
+
type SubmitHandler = () => void;
|
|
3
4
|
export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords, element, canvas, excalidrawContainer, app, autoSelect, }: {
|
|
4
5
|
id: ExcalidrawElement["id"];
|
|
5
6
|
/**
|
|
@@ -19,4 +20,5 @@ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords,
|
|
|
19
20
|
excalidrawContainer: HTMLDivElement | null;
|
|
20
21
|
app: App;
|
|
21
22
|
autoSelect?: boolean | undefined;
|
|
22
|
-
}) =>
|
|
23
|
+
}) => SubmitHandler;
|
|
24
|
+
export {};
|
|
@@ -15,3 +15,5 @@ export declare function radiansToDegrees(degrees: Radians): Degrees;
|
|
|
15
15
|
* @returns TRUE if the provided angle is a right angle
|
|
16
16
|
*/
|
|
17
17
|
export declare function isRightAngleRads(rads: Radians): boolean;
|
|
18
|
+
export declare function radiansBetweenAngles(a: Radians, min: Radians, max: Radians): boolean;
|
|
19
|
+
export declare function radiansDifference(a: Radians, b: Radians): Radians;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Curve, GlobalPoint, LineSegment, LocalPoint } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param a
|
|
5
|
+
* @param b
|
|
6
|
+
* @param c
|
|
7
|
+
* @param d
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function curve<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, c: Point, d: Point): Curve<Point>;
|
|
11
|
+
export declare const bezierEquation: <Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, t: number) => Point;
|
|
12
|
+
/**
|
|
13
|
+
* Computes the intersection between a cubic spline and a line segment.
|
|
14
|
+
*/
|
|
15
|
+
export declare function curveIntersectLineSegment<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, l: LineSegment<Point>): Point[];
|
|
16
|
+
/**
|
|
17
|
+
* Finds the closest point on the Bezier curve from another point
|
|
18
|
+
*
|
|
19
|
+
* @param x
|
|
20
|
+
* @param y
|
|
21
|
+
* @param P0
|
|
22
|
+
* @param P1
|
|
23
|
+
* @param P2
|
|
24
|
+
* @param P3
|
|
25
|
+
* @param tolerance
|
|
26
|
+
* @param maxLevel
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
export declare function curveClosestPoint<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point, tolerance?: number): Point | null;
|
|
30
|
+
/**
|
|
31
|
+
* Determines the distance between a point and the closest point on the
|
|
32
|
+
* Bezier curve.
|
|
33
|
+
*
|
|
34
|
+
* @param c The curve to test
|
|
35
|
+
* @param p The point to measure from
|
|
36
|
+
*/
|
|
37
|
+
export declare function curvePointDistance<Point extends GlobalPoint | LocalPoint>(c: Curve<Point>, p: Point): number;
|
|
38
|
+
/**
|
|
39
|
+
* Determines if the parameter is a Curve
|
|
40
|
+
*/
|
|
41
|
+
export declare function isCurve<P extends GlobalPoint | LocalPoint>(v: unknown): v is Curve<P>;
|
|
42
|
+
export declare function curveTangent<Point extends GlobalPoint | LocalPoint>([p0, p1, p2, p3]: Curve<Point>, t: number): import("./types").Vector;
|
|
43
|
+
export declare function curveCatmullRomQuadraticApproxPoints(points: GlobalPoint[], tension?: number): [GlobalPoint, GlobalPoint][] | undefined;
|
|
44
|
+
export declare function curveCatmullRomCubicApproxPoints<Point extends GlobalPoint | LocalPoint>(points: Point[], tension?: number): Curve<Point>[] | undefined;
|
|
45
|
+
export declare function curveOffsetPoints([p0, p1, p2, p3]: Curve<GlobalPoint>, offset: number, steps?: number): GlobalPoint[];
|
|
46
|
+
export declare function offsetPointsForQuadraticBezier(p0: GlobalPoint, p1: GlobalPoint, p2: GlobalPoint, offsetDist: number, steps?: number): GlobalPoint[];
|
|
47
|
+
/**
|
|
48
|
+
* Implementation based on Legendre-Gauss quadrature for more accurate arc
|
|
49
|
+
* length calculation.
|
|
50
|
+
*
|
|
51
|
+
* Reference: https://pomax.github.io/bezierinfo/#arclength
|
|
52
|
+
*
|
|
53
|
+
* @param c The curve to calculate the length of
|
|
54
|
+
* @returns The approximated length of the curve
|
|
55
|
+
*/
|
|
56
|
+
export declare function curveLength<P extends GlobalPoint | LocalPoint>(c: Curve<P>): number;
|
|
57
|
+
/**
|
|
58
|
+
* Calculates the curve length from t=0 to t=parameter using the same
|
|
59
|
+
* Legendre-Gauss quadrature method used in curveLength
|
|
60
|
+
*
|
|
61
|
+
* @param c The curve to calculate the partial length for
|
|
62
|
+
* @param t The parameter value (0 to 1) to calculate length up to
|
|
63
|
+
* @returns The length of the curve from beginning to parameter t
|
|
64
|
+
*/
|
|
65
|
+
export declare function curveLengthAtParameter<P extends GlobalPoint | LocalPoint>(c: Curve<P>, t: number): number;
|
|
66
|
+
/**
|
|
67
|
+
* Calculates the point at a specific percentage of a curve's total length
|
|
68
|
+
* using binary search for improved efficiency and accuracy.
|
|
69
|
+
*
|
|
70
|
+
* @param c The curve to calculate point on
|
|
71
|
+
* @param percent A value between 0 and 1 representing the percentage of the curve's length
|
|
72
|
+
* @returns The point at the specified percentage of curve length
|
|
73
|
+
*/
|
|
74
|
+
export declare function curvePointAtLength<P extends GlobalPoint | LocalPoint>(c: Curve<P>, percent: number): P;
|
|
@@ -43,9 +43,9 @@ export declare function isPoint(p: unknown): p is LocalPoint | GlobalPoint;
|
|
|
43
43
|
* @param b Point The second point to compare
|
|
44
44
|
* @returns TRUE if the points are sufficiently close to each other
|
|
45
45
|
*/
|
|
46
|
-
export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point): boolean;
|
|
46
|
+
export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: Point, b: Point, tolerance?: number): boolean;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* Rotate a point by [angle] radians.
|
|
49
49
|
*
|
|
50
50
|
* @param point The point to rotate
|
|
51
51
|
* @param center The point to rotate around, the center point
|
|
@@ -54,7 +54,7 @@ export declare function pointsEqual<Point extends GlobalPoint | LocalPoint>(a: P
|
|
|
54
54
|
*/
|
|
55
55
|
export declare function pointRotateRads<Point extends GlobalPoint | LocalPoint>([x, y]: Point, [cx, cy]: Point, angle: Radians): Point;
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Rotate a point by [angle] degree.
|
|
58
58
|
*
|
|
59
59
|
* @param point The point to rotate
|
|
60
60
|
* @param center The point to rotate around, the center point
|
|
@@ -2,4 +2,5 @@ import type { GlobalPoint, LocalPoint, Polygon } from "./types";
|
|
|
2
2
|
export declare function polygon<Point extends GlobalPoint | LocalPoint>(...points: Point[]): Polygon<Point>;
|
|
3
3
|
export declare function polygonFromPoints<Point extends GlobalPoint | LocalPoint>(points: Point[]): Polygon<Point>;
|
|
4
4
|
export declare const polygonIncludesPoint: <Point extends GlobalPoint | LocalPoint>(point: Point, polygon: Polygon<Point>) => boolean;
|
|
5
|
+
export declare const polygonIncludesPointNonZero: <Point extends [number, number]>(point: Point, polygon: Point[]) => boolean;
|
|
5
6
|
export declare const pointOnPolygon: <Point extends GlobalPoint | LocalPoint>(p: Point, poly: Polygon<Point>, threshold?: number) => boolean;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { GlobalPoint, LineSegment, LocalPoint, Rectangle } from "./types";
|
|
2
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>;
|
|
3
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;
|
|
@@ -36,4 +36,5 @@ export declare const distanceToLineSegment: <Point extends GlobalPoint | LocalPo
|
|
|
36
36
|
* @param s
|
|
37
37
|
* @returns
|
|
38
38
|
*/
|
|
39
|
-
export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point
|
|
39
|
+
export declare function lineSegmentIntersectionPoints<Point extends GlobalPoint | LocalPoint>(l: LineSegment<Point>, s: LineSegment<Point>, threshold?: number): Point | null;
|
|
40
|
+
export declare function lineSegmentsDistance<Point extends GlobalPoint | LocalPoint>(s1: LineSegment<Point>, s2: LineSegment<Point>): number;
|
|
@@ -12,9 +12,11 @@ export declare function vector(x: number, y: number, originX?: number, originY?:
|
|
|
12
12
|
*
|
|
13
13
|
* @param p The point to turn into a vector
|
|
14
14
|
* @param origin The origin point in a given coordiante system
|
|
15
|
-
* @
|
|
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
|
|
16
18
|
*/
|
|
17
|
-
export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point): Vector;
|
|
19
|
+
export declare function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(p: Point, origin?: Point, threshold?: number, defaultValue?: Vector): Vector;
|
|
18
20
|
/**
|
|
19
21
|
* Cross product is a binary operation on two vectors in 2D space.
|
|
20
22
|
* It results in a vector that is perpendicular to both vectors.
|
|
@@ -86,3 +88,7 @@ export declare function vectorMagnitude(v: Vector): number;
|
|
|
86
88
|
* @returns The new normalized vector
|
|
87
89
|
*/
|
|
88
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,5 +1,5 @@
|
|
|
1
1
|
import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
|
|
2
|
-
import type { Bounds } from "@excalidraw/
|
|
2
|
+
import type { Bounds } from "@excalidraw/element";
|
|
3
3
|
export type LineSegment<P extends LocalPoint | GlobalPoint> = [P, P];
|
|
4
4
|
export declare function getBBox<P extends LocalPoint | GlobalPoint>(line: LineSegment<P>): Bounds;
|
|
5
5
|
export declare function doBBoxesIntersect(a: Bounds, b: Bounds): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { MIME_TYPES } from "@excalidraw/common";
|
|
2
|
+
import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/element/types";
|
|
1
3
|
import type { AppState, BinaryFiles } from "@excalidraw/excalidraw/types";
|
|
2
|
-
import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/excalidraw/element/types";
|
|
3
|
-
import { MIME_TYPES } from "@excalidraw/excalidraw/constants";
|
|
4
4
|
export { MIME_TYPES };
|
|
5
5
|
type ExportOpts = {
|
|
6
6
|
elements: readonly NonDeleted<ExcalidrawElement>[];
|