@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-835eb8d
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-N4PQJPAH.js +5666 -0
- package/dist/dev/chunk-N4PQJPAH.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/data/{image-V26YBSDB.js → image-RT6RLBUE.js} +3 -3
- package/dist/dev/index.css +3573 -3309
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +31657 -23863
- 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-LS7FJGPW.js +86 -0
- package/dist/prod/chunk-SVEJI6WL.js +4 -0
- package/dist/prod/data/image-HPGPBQV2.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 +49 -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 +103 -109
- package/dist/types/excalidraw/actions/actionAlign.d.ts +7 -7
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +74 -78
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +653 -502
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +218 -228
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +36 -38
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +108 -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 +39 -41
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +86 -92
- package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +36 -48
- package/dist/types/excalidraw/actions/actionExport.d.ts +369 -387
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +104 -67
- package/dist/types/excalidraw/actions/actionFlip.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionFrame.d.ts +260 -268
- package/dist/types/excalidraw/actions/actionGroup.d.ts +71 -75
- package/dist/types/excalidraw/actions/actionHistory.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +564 -42
- package/dist/types/excalidraw/actions/actionLink.d.ts +37 -39
- package/dist/types/excalidraw/actions/actionMenu.d.ts +104 -110
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +69 -73
- package/dist/types/excalidraw/actions/actionProperties.d.ts +512 -525
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +37 -39
- package/dist/types/excalidraw/actions/actionStyles.d.ts +38 -40
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +36 -38
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +36 -38
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +35 -209
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +35 -38
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +36 -39
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +36 -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 +39 -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 +10 -7
- package/dist/types/excalidraw/components/App.d.ts +51 -32
- 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 +11 -6
- 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 +4 -5
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +3 -4
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +3 -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/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 +3 -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 +3 -3
- 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 +3 -3
- 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 -1
- 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/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 +1 -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 +11 -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 +50 -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-RT6RLBUE.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
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
1
|
+
import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { CaptureUpdateActionType } from "@excalidraw/element";
|
|
3
3
|
import type { AppClassProperties, AppState, ExcalidrawProps, BinaryFiles, UIAppState } from "../types";
|
|
4
|
-
import type
|
|
4
|
+
import type React from "react";
|
|
5
5
|
export type ActionSource = "ui" | "keyboard" | "contextMenu" | "api" | "commandPalette";
|
|
6
6
|
/** if false, the action should be prevented */
|
|
7
7
|
export type ActionResult = {
|
|
@@ -14,7 +14,7 @@ export type ActionResult = {
|
|
|
14
14
|
type ActionFn = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: any, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
|
|
15
15
|
export type UpdaterFn = (res: ActionResult) => void;
|
|
16
16
|
export type ActionFilterFn = (action: Action) => void;
|
|
17
|
-
export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeOpacity" | "changeFontSize" | "toggleCanvasMenu" | "toggleEditMenu" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame";
|
|
17
|
+
export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "toggleCanvasMenu" | "toggleEditMenu" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
|
|
18
18
|
export type PanelComponentProps = {
|
|
19
19
|
elements: readonly ExcalidrawElement[];
|
|
20
20
|
appState: AppState;
|
|
@@ -22,6 +22,7 @@ export type PanelComponentProps = {
|
|
|
22
22
|
appProps: ExcalidrawProps;
|
|
23
23
|
data?: Record<string, any>;
|
|
24
24
|
app: AppClassProperties;
|
|
25
|
+
renderAction: (name: ActionName, data?: PanelComponentProps["data"]) => React.JSX.Element | null;
|
|
25
26
|
};
|
|
26
27
|
export interface Action {
|
|
27
28
|
name: ActionName;
|
|
@@ -35,7 +36,7 @@ export interface Action {
|
|
|
35
36
|
predicate?: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: ExcalidrawProps, app: AppClassProperties) => boolean;
|
|
36
37
|
checked?: (appState: Readonly<AppState>) => boolean;
|
|
37
38
|
trackEvent: false | {
|
|
38
|
-
category: "toolbar" | "element" | "canvas" | "export" | "history" | "menu" | "collab" | "hyperlink" | "search_menu";
|
|
39
|
+
category: "toolbar" | "element" | "canvas" | "export" | "history" | "menu" | "collab" | "hyperlink" | "search_menu" | "shape_switch";
|
|
39
40
|
action?: string;
|
|
40
41
|
predicate?: (appState: Readonly<AppState>, elements: readonly ExcalidrawElement[], value: any) => boolean;
|
|
41
42
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LaserPointer } from "@excalidraw/laser-pointer";
|
|
1
2
|
import type { LaserPointerOptions } from "@excalidraw/laser-pointer";
|
|
2
3
|
import type { AnimationFrameHandler } from "./animation-frame-handler";
|
|
3
4
|
import type App from "./components/App";
|
|
@@ -10,15 +11,18 @@ export interface Trail {
|
|
|
10
11
|
}
|
|
11
12
|
export interface AnimatedTrailOptions {
|
|
12
13
|
fill: (trail: AnimatedTrail) => string;
|
|
14
|
+
stroke?: (trail: AnimatedTrail) => string;
|
|
15
|
+
animateTrail?: boolean;
|
|
13
16
|
}
|
|
14
17
|
export declare class AnimatedTrail implements Trail {
|
|
15
18
|
private animationFrameHandler;
|
|
16
|
-
|
|
19
|
+
protected app: App;
|
|
17
20
|
private options;
|
|
18
21
|
private currentTrail?;
|
|
19
22
|
private pastTrails;
|
|
20
23
|
private container?;
|
|
21
24
|
private trailElement;
|
|
25
|
+
private trailAnimation?;
|
|
22
26
|
constructor(animationFrameHandler: AnimationFrameHandler, app: App, options: Partial<LaserPointerOptions> & Partial<AnimatedTrailOptions>);
|
|
23
27
|
get hasCurrentTrail(): boolean;
|
|
24
28
|
hasLastPoint(x: number, y: number): boolean;
|
|
@@ -27,6 +31,8 @@ export declare class AnimatedTrail implements Trail {
|
|
|
27
31
|
startPath(x: number, y: number): void;
|
|
28
32
|
addPointToPath(x: number, y: number): void;
|
|
29
33
|
endPath(): void;
|
|
34
|
+
getCurrentTrail(): LaserPointer | undefined;
|
|
35
|
+
clearTrails(): void;
|
|
30
36
|
private update;
|
|
31
37
|
private onFrame;
|
|
32
38
|
private drawTrail;
|
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
import type { AppState, NormalizedZoomValue } from "./types";
|
|
2
2
|
export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
|
|
3
3
|
export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
|
|
4
|
-
|
|
5
|
-
gridModeEnabled?: boolean | undefined;
|
|
6
|
-
objectsSnapModeEnabled?: boolean | undefined;
|
|
7
|
-
theme?: import("./element/types").Theme | undefined;
|
|
4
|
+
viewBackgroundColor?: string | undefined;
|
|
8
5
|
name?: string | null | undefined;
|
|
9
|
-
|
|
6
|
+
zoom?: Readonly<{
|
|
7
|
+
value: NormalizedZoomValue;
|
|
8
|
+
}> | undefined;
|
|
9
|
+
scrollX?: number | undefined;
|
|
10
|
+
scrollY?: number | undefined;
|
|
11
|
+
editingGroupId?: string | null | undefined;
|
|
12
|
+
selectedElementIds?: Readonly<{
|
|
13
|
+
[id: string]: true;
|
|
14
|
+
}> | undefined;
|
|
15
|
+
theme?: import("@excalidraw/element/types").Theme | undefined;
|
|
16
|
+
selectedGroupIds?: {
|
|
17
|
+
[groupId: string]: boolean;
|
|
18
|
+
} | undefined;
|
|
19
|
+
selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
|
|
20
|
+
zenModeEnabled?: boolean | undefined;
|
|
10
21
|
showWelcomeScreen?: boolean | undefined;
|
|
11
22
|
activeTool?: ({
|
|
12
23
|
lastActiveTool: import("./types").ActiveTool | null;
|
|
13
24
|
locked: boolean;
|
|
25
|
+
fromSelection: boolean;
|
|
14
26
|
} & import("./types").ActiveTool) | undefined;
|
|
15
27
|
penMode?: boolean | undefined;
|
|
16
28
|
penDetected?: boolean | undefined;
|
|
@@ -20,63 +32,62 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
|
|
|
20
32
|
exportScale?: number | undefined;
|
|
21
33
|
currentItemStrokeColor?: string | undefined;
|
|
22
34
|
currentItemBackgroundColor?: string | undefined;
|
|
23
|
-
currentItemFillStyle?: import("
|
|
35
|
+
currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
|
|
24
36
|
currentItemStrokeWidth?: number | undefined;
|
|
25
|
-
currentItemStrokeStyle?: import("
|
|
37
|
+
currentItemStrokeStyle?: import("@excalidraw/element/types").StrokeStyle | undefined;
|
|
26
38
|
currentItemRoughness?: number | undefined;
|
|
27
39
|
currentItemOpacity?: number | undefined;
|
|
28
40
|
currentItemFontFamily?: number | undefined;
|
|
29
41
|
currentItemFontSize?: number | undefined;
|
|
30
42
|
currentItemTextAlign?: string | undefined;
|
|
31
|
-
currentItemStartArrowhead?: import("
|
|
32
|
-
currentItemEndArrowhead?: import("
|
|
33
|
-
currentItemRoundness?: import("
|
|
34
|
-
|
|
35
|
-
scrollX?: number | undefined;
|
|
36
|
-
scrollY?: number | undefined;
|
|
43
|
+
currentItemStartArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
|
|
44
|
+
currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
|
|
45
|
+
currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
|
|
46
|
+
currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
|
|
37
47
|
cursorButton?: "up" | "down" | undefined;
|
|
38
48
|
scrolledOutside?: boolean | undefined;
|
|
39
|
-
zoom?: Readonly<{
|
|
40
|
-
value: NormalizedZoomValue;
|
|
41
|
-
}> | undefined;
|
|
42
49
|
openMenu?: "canvas" | "shape" | null | undefined;
|
|
43
50
|
openSidebar?: {
|
|
44
51
|
name: string;
|
|
45
52
|
tab?: string | undefined;
|
|
46
53
|
} | null | undefined;
|
|
47
54
|
defaultSidebarDockedPreference?: boolean | undefined;
|
|
48
|
-
lastPointerDownWith?: import("
|
|
49
|
-
selectedElementIds?: Readonly<{
|
|
50
|
-
[id: string]: true;
|
|
51
|
-
}> | undefined;
|
|
55
|
+
lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
|
|
52
56
|
previousSelectedElementIds?: {
|
|
53
57
|
[id: string]: true;
|
|
54
58
|
} | undefined;
|
|
55
59
|
shouldCacheIgnoreZoom?: boolean | undefined;
|
|
56
60
|
gridSize?: number | undefined;
|
|
57
61
|
gridStep?: number | undefined;
|
|
58
|
-
|
|
59
|
-
[groupId: string]: boolean;
|
|
60
|
-
} | undefined;
|
|
61
|
-
editingGroupId?: string | null | undefined;
|
|
62
|
+
gridModeEnabled?: boolean | undefined;
|
|
62
63
|
stats?: {
|
|
63
64
|
open: boolean;
|
|
64
65
|
panels: number;
|
|
65
66
|
} | undefined;
|
|
66
|
-
currentChartType?: import("
|
|
67
|
-
|
|
67
|
+
currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
|
|
68
|
+
objectsSnapModeEnabled?: boolean | undefined;
|
|
69
|
+
lockedMultiSelections?: {
|
|
70
|
+
[groupId: string]: true;
|
|
71
|
+
} | undefined;
|
|
72
|
+
stylesPanelMode?: "compact" | "full" | undefined;
|
|
68
73
|
};
|
|
69
74
|
export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
|
|
70
|
-
gridModeEnabled?: boolean | undefined;
|
|
71
75
|
viewBackgroundColor?: string | undefined;
|
|
72
76
|
gridSize?: number | undefined;
|
|
73
77
|
gridStep?: number | undefined;
|
|
78
|
+
gridModeEnabled?: boolean | undefined;
|
|
79
|
+
lockedMultiSelections?: {
|
|
80
|
+
[groupId: string]: true;
|
|
81
|
+
} | undefined;
|
|
74
82
|
};
|
|
75
83
|
export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
|
|
76
|
-
gridModeEnabled?: boolean | undefined;
|
|
77
84
|
viewBackgroundColor?: string | undefined;
|
|
78
85
|
gridSize?: number | undefined;
|
|
79
86
|
gridStep?: number | undefined;
|
|
87
|
+
gridModeEnabled?: boolean | undefined;
|
|
88
|
+
lockedMultiSelections?: {
|
|
89
|
+
[groupId: string]: true;
|
|
90
|
+
} | undefined;
|
|
80
91
|
};
|
|
81
92
|
export declare const isEraserActive: ({ activeTool, }: {
|
|
82
93
|
activeTool: AppState["activeTool"];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NonDeletedExcalidrawElement } from "
|
|
1
|
+
import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
2
|
export type ChartElements = readonly NonDeletedExcalidrawElement[];
|
|
3
3
|
export interface Spreadsheet {
|
|
4
4
|
title: string | null;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { ALLOWED_PASTE_MIME_TYPES } from "@excalidraw/common";
|
|
2
|
+
import type { ValueOf } from "@excalidraw/common/utility-types";
|
|
3
|
+
import type { IMAGE_MIME_TYPES, STRING_MIME_TYPES } from "@excalidraw/common";
|
|
4
|
+
import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
5
|
+
import type { FileSystemHandle } from "./data/filesystem";
|
|
3
6
|
import type { Spreadsheet } from "./charts";
|
|
4
|
-
import {
|
|
7
|
+
import type { BinaryFiles } from "./types";
|
|
5
8
|
export type PastedMixedContent = {
|
|
6
9
|
type: "text" | "imageUrl";
|
|
7
10
|
value: string;
|
|
@@ -21,6 +24,8 @@ export declare const probablySupportsClipboardWriteText: boolean;
|
|
|
21
24
|
export declare const probablySupportsClipboardBlob: boolean;
|
|
22
25
|
export declare const createPasteEvent: ({ types, files, }: {
|
|
23
26
|
types?: {
|
|
27
|
+
"text/plain"?: string | File | undefined;
|
|
28
|
+
"text/html"?: string | File | undefined;
|
|
24
29
|
"image/svg+xml"?: string | File | undefined;
|
|
25
30
|
"image/png"?: string | File | undefined;
|
|
26
31
|
"image/jpeg"?: string | File | undefined;
|
|
@@ -30,8 +35,6 @@ export declare const createPasteEvent: ({ types, files, }: {
|
|
|
30
35
|
"image/x-icon"?: string | File | undefined;
|
|
31
36
|
"image/avif"?: string | File | undefined;
|
|
32
37
|
"image/jfif"?: string | File | undefined;
|
|
33
|
-
"text/plain"?: string | File | undefined;
|
|
34
|
-
"text/html"?: string | File | undefined;
|
|
35
38
|
} | undefined;
|
|
36
39
|
files?: File[] | undefined;
|
|
37
40
|
}) => ClipboardEvent;
|
|
@@ -45,6 +48,8 @@ export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawEl
|
|
|
45
48
|
* Will prompt user for permission if not granted.
|
|
46
49
|
*/
|
|
47
50
|
export declare const readSystemClipboard: () => Promise<{
|
|
51
|
+
"text/plain"?: string | File | undefined;
|
|
52
|
+
"text/html"?: string | File | undefined;
|
|
48
53
|
"image/svg+xml"?: string | File | undefined;
|
|
49
54
|
"image/png"?: string | File | undefined;
|
|
50
55
|
"image/jpeg"?: string | File | undefined;
|
|
@@ -54,13 +59,71 @@ export declare const readSystemClipboard: () => Promise<{
|
|
|
54
59
|
"image/x-icon"?: string | File | undefined;
|
|
55
60
|
"image/avif"?: string | File | undefined;
|
|
56
61
|
"image/jfif"?: string | File | undefined;
|
|
57
|
-
"text/plain"?: string | File | undefined;
|
|
58
|
-
"text/html"?: string | File | undefined;
|
|
59
62
|
}>;
|
|
63
|
+
type AllowedParsedDataTransferItem = {
|
|
64
|
+
type: ValueOf<typeof IMAGE_MIME_TYPES>;
|
|
65
|
+
kind: "file";
|
|
66
|
+
file: File;
|
|
67
|
+
fileHandle: FileSystemHandle | null;
|
|
68
|
+
} | {
|
|
69
|
+
type: ValueOf<typeof STRING_MIME_TYPES>;
|
|
70
|
+
kind: "string";
|
|
71
|
+
value: string;
|
|
72
|
+
};
|
|
73
|
+
type ParsedDataTransferItem = {
|
|
74
|
+
type: string;
|
|
75
|
+
kind: "file";
|
|
76
|
+
file: File;
|
|
77
|
+
fileHandle: FileSystemHandle | null;
|
|
78
|
+
} | {
|
|
79
|
+
type: string;
|
|
80
|
+
kind: "string";
|
|
81
|
+
value: string;
|
|
82
|
+
};
|
|
83
|
+
type ParsedDataTransferItemType<T extends AllowedParsedDataTransferItem["type"]> = AllowedParsedDataTransferItem & {
|
|
84
|
+
type: T;
|
|
85
|
+
};
|
|
86
|
+
export type ParsedDataTransferFile = Extract<AllowedParsedDataTransferItem, {
|
|
87
|
+
kind: "file";
|
|
88
|
+
}>;
|
|
89
|
+
type ParsedDataTranferList = ParsedDataTransferItem[] & {
|
|
90
|
+
/**
|
|
91
|
+
* Only allows filtering by known `string` data types, since `file`
|
|
92
|
+
* types can have multiple items of the same type (e.g. multiple image files)
|
|
93
|
+
* unlike `string` data transfer items.
|
|
94
|
+
*/
|
|
95
|
+
findByType: typeof findDataTransferItemType;
|
|
96
|
+
/**
|
|
97
|
+
* Only allows filtering by known `string` data types, since `file`
|
|
98
|
+
* types can have multiple items of the same type (e.g. multiple image files)
|
|
99
|
+
* unlike `string` data transfer items.
|
|
100
|
+
*/
|
|
101
|
+
getData: typeof getDataTransferItemData;
|
|
102
|
+
getFiles: typeof getDataTransferFiles;
|
|
103
|
+
};
|
|
104
|
+
declare const findDataTransferItemType: <T extends ValueOf<{
|
|
105
|
+
readonly text: "text/plain";
|
|
106
|
+
readonly html: "text/html";
|
|
107
|
+
readonly json: "application/json";
|
|
108
|
+
readonly excalidraw: "application/vnd.excalidraw+json";
|
|
109
|
+
readonly excalidrawlib: "application/vnd.excalidrawlib+json";
|
|
110
|
+
readonly excalidrawlibIds: "application/vnd.excalidrawlib.ids+json";
|
|
111
|
+
}>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<T> | null;
|
|
112
|
+
declare const getDataTransferItemData: <T extends ValueOf<{
|
|
113
|
+
readonly text: "text/plain";
|
|
114
|
+
readonly html: "text/html";
|
|
115
|
+
readonly json: "application/json";
|
|
116
|
+
readonly excalidraw: "application/vnd.excalidraw+json";
|
|
117
|
+
readonly excalidrawlib: "application/vnd.excalidrawlib+json";
|
|
118
|
+
readonly excalidrawlibIds: "application/vnd.excalidrawlib.ids+json";
|
|
119
|
+
}>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<ValueOf<typeof STRING_MIME_TYPES>>["value"] | null;
|
|
120
|
+
declare const getDataTransferFiles: (this: ParsedDataTranferList) => ParsedDataTransferFile[];
|
|
121
|
+
export declare const parseDataTransferEvent: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Promise<ParsedDataTranferList>;
|
|
60
122
|
/**
|
|
61
123
|
* Attempts to parse clipboard event.
|
|
62
124
|
*/
|
|
63
|
-
export declare const parseClipboard: (
|
|
125
|
+
export declare const parseClipboard: (dataList: ParsedDataTranferList, isPlainPaste?: boolean) => Promise<ClipboardData>;
|
|
64
126
|
export declare const copyBlobToClipboardAsPng: (blob: Blob | Promise<Blob>) => Promise<void>;
|
|
65
127
|
export declare const copyTextToSystemClipboard: (text: string | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
|
|
128
|
+
export declare const isClipboardEvent: (event: React.SyntheticEvent | Event) => event is ClipboardEvent;
|
|
66
129
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "../element/types";
|
|
3
|
-
import type { AppClassProperties, AppProps, UIAppState, Zoom } from "../types";
|
|
1
|
+
import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
|
|
4
2
|
import "./Actions.scss";
|
|
3
|
+
import type { AppClassProperties, AppProps, UIAppState, Zoom, AppState } from "../types";
|
|
4
|
+
import type { ActionManager } from "../actions/manager";
|
|
5
5
|
export declare const canChangeStrokeColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
|
|
6
6
|
export declare const canChangeBackgroundColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
|
|
7
7
|
export declare const SelectedShapeActions: ({ appState, elementsMap, renderAction, app, }: {
|
|
@@ -10,6 +10,13 @@ export declare const SelectedShapeActions: ({ appState, elementsMap, renderActio
|
|
|
10
10
|
renderAction: ActionManager["renderAction"];
|
|
11
11
|
app: AppClassProperties;
|
|
12
12
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const CompactShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
|
|
14
|
+
appState: UIAppState;
|
|
15
|
+
elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
|
|
16
|
+
renderAction: ActionManager["renderAction"];
|
|
17
|
+
app: AppClassProperties;
|
|
18
|
+
setAppState: React.Component<any, AppState>["setState"];
|
|
19
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
20
|
export declare const ShapesSwitcher: ({ activeTool, appState, app, UIOptions, }: {
|
|
14
21
|
activeTool: UIAppState["activeTool"];
|
|
15
22
|
appState: UIAppState;
|
|
@@ -28,7 +35,3 @@ export declare const ExitZenModeAction: ({ actionManager, showExitZenModeBtn, }:
|
|
|
28
35
|
actionManager: ActionManager;
|
|
29
36
|
showExitZenModeBtn: boolean;
|
|
30
37
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
-
export declare const FinalizeAction: ({ renderAction, className, }: {
|
|
32
|
-
renderAction: ActionManager["renderAction"];
|
|
33
|
-
className?: string | undefined;
|
|
34
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type
|
|
2
|
+
import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
|
|
3
|
+
import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
|
|
4
|
+
import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, SceneElementsMap } from "@excalidraw/element/types";
|
|
5
|
+
import type { Mutable } from "@excalidraw/common/utility-types";
|
|
3
6
|
import { ActionManager } from "../actions/manager";
|
|
4
|
-
import
|
|
5
|
-
import { type EXPORT_IMAGE_TYPES } from "../constants";
|
|
6
|
-
import type { ExportedElements } from "../data";
|
|
7
|
-
import { LinearElementEditor } from "../element/linearElementEditor";
|
|
8
|
-
import type { ExcalidrawElement, NonDeleted, InitializedExcalidrawImageElement, ExcalidrawImageElement, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "../element/types";
|
|
7
|
+
import { AnimationFrameHandler } from "../animation-frame-handler";
|
|
9
8
|
import { History } from "../history";
|
|
10
|
-
import Scene from "../scene/Scene";
|
|
11
|
-
import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
|
|
12
|
-
import type { FileSystemHandle } from "../data/filesystem";
|
|
13
9
|
import { Fonts } from "../fonts";
|
|
10
|
+
import { type WritableAtom } from "../editor-jotai";
|
|
14
11
|
import { Renderer } from "../scene/Renderer";
|
|
15
|
-
import { Emitter } from "../emitter";
|
|
16
|
-
import { Store } from "../store";
|
|
17
|
-
import { AnimationFrameHandler } from "../animation-frame-handler";
|
|
18
|
-
import { AnimatedTrail } from "../animated-trail";
|
|
19
12
|
import { LaserTrails } from "../laser-trails";
|
|
20
|
-
import {
|
|
13
|
+
import { LassoTrail } from "../lasso";
|
|
14
|
+
import { EraserTrail } from "../eraser";
|
|
15
|
+
import type { ExportedElements } from "../data";
|
|
16
|
+
import type { FileSystemHandle } from "../data/filesystem";
|
|
17
|
+
import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
|
|
18
|
+
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
19
|
+
import type { ActionResult } from "../actions/types";
|
|
21
20
|
export declare const ExcalidrawContainerContext: React.Context<{
|
|
22
21
|
container: HTMLDivElement | null;
|
|
23
22
|
id: string | null;
|
|
@@ -79,6 +78,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
79
78
|
/** embeds that have been inserted to DOM (as a perf optim, we don't want to
|
|
80
79
|
* insert to DOM before user initially scrolls to them) */
|
|
81
80
|
private initializedEmbeds;
|
|
81
|
+
private handleToastClose;
|
|
82
82
|
private elementsPendingErasure;
|
|
83
83
|
flowChartCreator: FlowChartCreator;
|
|
84
84
|
private flowChartNavigator;
|
|
@@ -96,11 +96,13 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
96
96
|
};
|
|
97
97
|
animationFrameHandler: AnimationFrameHandler;
|
|
98
98
|
laserTrails: LaserTrails;
|
|
99
|
-
eraserTrail:
|
|
99
|
+
eraserTrail: EraserTrail;
|
|
100
|
+
lassoTrail: LassoTrail;
|
|
100
101
|
onChangeEmitter: Emitter<[elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles]>;
|
|
101
102
|
onPointerDownEmitter: Emitter<[activeTool: {
|
|
102
103
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
103
104
|
locked: boolean;
|
|
105
|
+
fromSelection: boolean;
|
|
104
106
|
} & import("../types").ActiveTool, pointerDownState: Readonly<{
|
|
105
107
|
origin: Readonly<{
|
|
106
108
|
x: number;
|
|
@@ -121,7 +123,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
121
123
|
};
|
|
122
124
|
originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
|
|
123
125
|
resize: {
|
|
124
|
-
handleType: import("
|
|
126
|
+
handleType: import("@excalidraw/element").MaybeTransformHandleType;
|
|
125
127
|
isResizing: boolean;
|
|
126
128
|
offset: {
|
|
127
129
|
x: number;
|
|
@@ -147,6 +149,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
147
149
|
x: number;
|
|
148
150
|
y: number;
|
|
149
151
|
} | null;
|
|
152
|
+
origin: {
|
|
153
|
+
x: number;
|
|
154
|
+
y: number;
|
|
155
|
+
};
|
|
156
|
+
blockDragging: boolean;
|
|
150
157
|
};
|
|
151
158
|
eventListeners: {
|
|
152
159
|
onMove: {
|
|
@@ -165,6 +172,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
165
172
|
onPointerUpEmitter: Emitter<[activeTool: {
|
|
166
173
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
167
174
|
locked: boolean;
|
|
175
|
+
fromSelection: boolean;
|
|
168
176
|
} & import("../types").ActiveTool, pointerDownState: Readonly<{
|
|
169
177
|
origin: Readonly<{
|
|
170
178
|
x: number;
|
|
@@ -185,7 +193,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
185
193
|
};
|
|
186
194
|
originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
|
|
187
195
|
resize: {
|
|
188
|
-
handleType: import("
|
|
196
|
+
handleType: import("@excalidraw/element").MaybeTransformHandleType;
|
|
189
197
|
isResizing: boolean;
|
|
190
198
|
offset: {
|
|
191
199
|
x: number;
|
|
@@ -211,6 +219,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
211
219
|
x: number;
|
|
212
220
|
y: number;
|
|
213
221
|
} | null;
|
|
222
|
+
origin: {
|
|
223
|
+
x: number;
|
|
224
|
+
y: number;
|
|
225
|
+
};
|
|
226
|
+
blockDragging: boolean;
|
|
214
227
|
};
|
|
215
228
|
eventListeners: {
|
|
216
229
|
onMove: {
|
|
@@ -232,7 +245,9 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
232
245
|
}>]>;
|
|
233
246
|
missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
|
|
234
247
|
onRemoveEventListenersEmitter: Emitter<[]>;
|
|
248
|
+
defaultSelectionTool: "selection" | "lasso";
|
|
235
249
|
constructor(props: AppProps);
|
|
250
|
+
updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
|
|
236
251
|
private onWindowMessage;
|
|
237
252
|
private cacheEmbeddableRef;
|
|
238
253
|
/**
|
|
@@ -253,7 +268,8 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
253
268
|
private toggleOverscrollBehavior;
|
|
254
269
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
255
270
|
focusContainer: AppClassProperties["focusContainer"];
|
|
256
|
-
getSceneElementsIncludingDeleted: () => readonly import("
|
|
271
|
+
getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
|
|
272
|
+
getSceneElementsMapIncludingDeleted: () => Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
|
|
257
273
|
getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
|
|
258
274
|
onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
|
|
259
275
|
onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
|
|
@@ -285,6 +301,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
285
301
|
private resetScene;
|
|
286
302
|
private initializeScene;
|
|
287
303
|
private isMobileBreakpoint;
|
|
304
|
+
private isTabletBreakpoint;
|
|
288
305
|
private refreshViewportBreakpoints;
|
|
289
306
|
private refreshEditorBreakpoints;
|
|
290
307
|
private clearImageShapeCache;
|
|
@@ -303,6 +320,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
303
320
|
private static resetTapTwice;
|
|
304
321
|
private onTouchStart;
|
|
305
322
|
private onTouchEnd;
|
|
323
|
+
private insertClipboardContent;
|
|
306
324
|
pasteFromClipboard: (event: ClipboardEvent) => Promise<void>;
|
|
307
325
|
addElementsFromPasteOrLibrary: (opts: {
|
|
308
326
|
elements: readonly ExcalidrawElement[];
|
|
@@ -384,6 +402,8 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
384
402
|
*/
|
|
385
403
|
captureUpdate?: SceneData["captureUpdate"];
|
|
386
404
|
}) => void;
|
|
405
|
+
applyDeltas: (deltas: StoreDelta[], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
|
|
406
|
+
mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
|
|
387
407
|
private triggerRender;
|
|
388
408
|
/**
|
|
389
409
|
* @returns whether the menu was toggled on or off
|
|
@@ -398,17 +418,15 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
398
418
|
private onKeyDown;
|
|
399
419
|
private onKeyUp;
|
|
400
420
|
private isToolSupported;
|
|
401
|
-
setActiveTool: (tool: (
|
|
402
|
-
type:
|
|
421
|
+
setActiveTool: (tool: ({
|
|
422
|
+
type: ToolType;
|
|
403
423
|
} | {
|
|
404
|
-
type: Extract<ToolType, "image">;
|
|
405
|
-
insertOnCanvasDirectly?: boolean;
|
|
406
|
-
}) | {
|
|
407
424
|
type: "custom";
|
|
408
425
|
customType: string;
|
|
409
426
|
}) & {
|
|
410
427
|
locked?: boolean;
|
|
411
|
-
|
|
428
|
+
fromSelection?: boolean;
|
|
429
|
+
}, keepSelection?: boolean) => void;
|
|
412
430
|
setOpenDialog: (dialogType: AppState["openDialog"]) => void;
|
|
413
431
|
private setCursor;
|
|
414
432
|
private resetCursor;
|
|
@@ -428,7 +446,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
428
446
|
private getTextElementAtPosition;
|
|
429
447
|
private getElementAtPosition;
|
|
430
448
|
private getElementsAtPosition;
|
|
431
|
-
|
|
449
|
+
getElementHitThreshold(element: ExcalidrawElement): number;
|
|
432
450
|
private hitElement;
|
|
433
451
|
private getTextBindableContainerAtPosition;
|
|
434
452
|
private startTextEditing;
|
|
@@ -476,7 +494,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
476
494
|
sceneY: number;
|
|
477
495
|
link: string;
|
|
478
496
|
}) => NonDeleted<ExcalidrawEmbeddableElement> | undefined;
|
|
479
|
-
private
|
|
497
|
+
private newImagePlaceholder;
|
|
480
498
|
private handleLinearElementOnPointerDown;
|
|
481
499
|
private getCurrentItemRoundness;
|
|
482
500
|
private createGenericElementOnPointerDown;
|
|
@@ -492,12 +510,13 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
492
510
|
private eraseElements;
|
|
493
511
|
private initializeImage;
|
|
494
512
|
/**
|
|
495
|
-
*
|
|
513
|
+
* use during async image initialization,
|
|
514
|
+
* when the placeholder image could have been modified in the meantime,
|
|
515
|
+
* and when you don't want to loose those modifications
|
|
496
516
|
*/
|
|
497
|
-
|
|
498
|
-
private
|
|
499
|
-
private
|
|
500
|
-
initializeImageDimensions: (imageElement: ExcalidrawImageElement, forceNaturalSize?: boolean) => void;
|
|
517
|
+
private getLatestInitializedImageElement;
|
|
518
|
+
private onImageToolbarButtonClick;
|
|
519
|
+
private getImageNaturalDimensions;
|
|
501
520
|
/** updates image cache, refreshing updated elements and/or setting status
|
|
502
521
|
to error for images that fail during <img> element creation */
|
|
503
522
|
private updateImageCache;
|
|
@@ -508,9 +527,9 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
508
527
|
private scheduleImageRefresh;
|
|
509
528
|
private updateBindingEnabledOnPointerMove;
|
|
510
529
|
private maybeSuggestBindingAtCursor;
|
|
511
|
-
private maybeSuggestBindingsForLinearElementAtCoords;
|
|
512
530
|
private clearSelection;
|
|
513
531
|
private handleInteractiveCanvasRef;
|
|
532
|
+
private insertImages;
|
|
514
533
|
private handleAppOnDrop;
|
|
515
534
|
loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
|
|
516
535
|
private handleCanvasContextMenu;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { JSX } from "react";
|
|
2
1
|
import "./ButtonIcon.scss";
|
|
2
|
+
import type { JSX } from "react";
|
|
3
3
|
interface ButtonIconProps {
|
|
4
4
|
icon: JSX.Element;
|
|
5
5
|
title: string;
|
|
@@ -10,6 +10,7 @@ interface ButtonIconProps {
|
|
|
10
10
|
/** include standalone style (could interfere with parent styles) */
|
|
11
11
|
standalone?: boolean;
|
|
12
12
|
onClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
13
|
+
style?: React.CSSProperties;
|
|
13
14
|
}
|
|
14
15
|
export declare const ButtonIcon: import("react").ForwardRefExoticComponent<ButtonIconProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
15
16
|
export {};
|
|
@@ -4,6 +4,7 @@ interface ColorInputProps {
|
|
|
4
4
|
onChange: (color: string) => void;
|
|
5
5
|
label: string;
|
|
6
6
|
colorPickerType: ColorPickerType;
|
|
7
|
+
placeholder?: string;
|
|
7
8
|
}
|
|
8
|
-
export declare const ColorInput: ({ color, onChange, label, colorPickerType, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const ColorInput: ({ color, onChange, label, colorPickerType, placeholder, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
export {};
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type { ColorPickerType } from "./colorPickerUtils";
|
|
4
|
-
import type { ColorTuple, ColorPaletteCustom } from "../../colors";
|
|
1
|
+
import type { ColorTuple, ColorPaletteCustom } from "@excalidraw/common";
|
|
2
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
5
3
|
import "./ColorPicker.scss";
|
|
4
|
+
import type { ColorPickerType } from "./colorPickerUtils";
|
|
5
|
+
import type { AppState } from "../../types";
|
|
6
6
|
export declare const getColor: (color: string) => string | null;
|
|
7
7
|
interface ColorPickerProps {
|
|
8
8
|
type: ColorPickerType;
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* null indicates no color should be displayed as active
|
|
11
|
+
* (e.g. when multiple shapes selected with different colors)
|
|
12
|
+
*/
|
|
13
|
+
color: string | null;
|
|
10
14
|
onChange: (color: string) => void;
|
|
11
15
|
label: string;
|
|
12
16
|
elements: readonly ExcalidrawElement[];
|
|
@@ -14,6 +18,7 @@ interface ColorPickerProps {
|
|
|
14
18
|
palette?: ColorPaletteCustom | null;
|
|
15
19
|
topPicks?: ColorTuple;
|
|
16
20
|
updateData: (formData?: any) => void;
|
|
21
|
+
compactMode?: boolean;
|
|
17
22
|
}
|
|
18
|
-
export declare const ColorPicker: ({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare const ColorPicker: ({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, compactMode, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
24
|
export {};
|