@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-a30e1b2
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-LMHBUWQS.js → chunk-CARD3WJZ.js} +10 -4
- package/dist/dev/chunk-CARD3WJZ.js.map +7 -0
- package/dist/dev/{chunk-3SN6HYVK.js → chunk-ETWEPOFC.js} +15663 -22657
- package/dist/dev/chunk-ETWEPOFC.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-53KHN5WM.js → chunk-RS23HYC4.js} +2 -2
- package/dist/dev/{chunk-53KHN5WM.js.map → chunk-RS23HYC4.js.map} +1 -1
- package/dist/dev/data/{image-V26YBSDB.js → image-AYLHSOBV.js} +3 -3
- package/dist/dev/index.css +3093 -3055
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +32056 -23232
- package/dist/dev/index.js.map +4 -4
- package/dist/dev/locales/{en-OZCJJ2HN.js → en-E3O5XSXJ.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-6BSJPDKJ.js +33 -0
- package/dist/prod/{chunk-6U3AYISY.js → chunk-FGHASORR.js} +4 -4
- package/dist/prod/chunk-LS7FJGPW.js +86 -0
- package/dist/prod/{chunk-G5N3DNGT.js → chunk-SBKTMZM7.js} +1 -1
- package/dist/prod/data/image-VAYKYPXV.js +1 -0
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +19 -15
- package/dist/prod/locales/{en-B4ZKOASM.js → en-44IKVKYT.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 +11 -6
- 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 +22 -12
- package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +12 -15
- package/dist/types/{excalidraw/scene → element/src}/Shape.d.ts +2 -2
- package/dist/types/{excalidraw/scene → element/src}/ShapeCache.d.ts +4 -4
- package/dist/types/element/src/align.d.ts +7 -0
- package/dist/types/{excalidraw/element → element/src}/binding.d.ts +24 -16
- package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +9 -4
- package/dist/types/{excalidraw/element → element/src}/collision.d.ts +3 -3
- package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
- package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +41 -36
- package/dist/types/{excalidraw → element/src}/distribute.d.ts +1 -1
- 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 +5 -2
- package/dist/types/{excalidraw → element/src}/frame.d.ts +8 -7
- package/dist/types/{excalidraw → element/src}/groups.d.ts +5 -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 +16 -0
- package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +16 -20
- package/dist/types/{excalidraw/element → element/src}/mutateElement.d.ts +11 -3
- package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +4 -44
- package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +3 -3
- package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +6 -6
- package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +4 -4
- package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +13 -2
- package/dist/types/element/src/shapes.d.ts +23 -0
- package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +1 -1
- package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +1 -2
- package/dist/types/element/src/store.d.ts +227 -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 +5 -2
- package/dist/types/{excalidraw/element → element/src}/types.d.ts +9 -2
- package/dist/types/element/src/zindex.d.ts +7 -0
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +88 -103
- package/dist/types/excalidraw/actions/actionAlign.d.ts +15 -15
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +64 -74
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +608 -497
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +188 -218
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +31 -36
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +89 -104
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +7 -7
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +5 -9
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +34 -39
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +65 -76
- package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +31 -46
- package/dist/types/excalidraw/actions/actionExport.d.ts +342 -387
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +52 -62
- package/dist/types/excalidraw/actions/actionFlip.d.ts +7 -7
- package/dist/types/excalidraw/actions/actionFrame.d.ts +234 -254
- package/dist/types/excalidraw/actions/actionGroup.d.ts +65 -75
- package/dist/types/excalidraw/actions/actionHistory.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +32 -37
- package/dist/types/excalidraw/actions/actionLink.d.ts +34 -39
- package/dist/types/excalidraw/actions/actionMenu.d.ts +91 -106
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +59 -69
- package/dist/types/excalidraw/actions/actionProperties.d.ts +396 -471
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +33 -38
- package/dist/types/excalidraw/actions/actionStyles.d.ts +37 -42
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +33 -38
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +33 -38
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +32 -209
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +32 -38
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +33 -39
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +33 -39
- package/dist/types/excalidraw/actions/actionZindex.d.ts +16 -16
- package/dist/types/excalidraw/actions/index.d.ts +1 -0
- 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 +5 -5
- package/dist/types/excalidraw/animated-trail.d.ts +7 -1
- package/dist/types/excalidraw/appState.d.ts +34 -33
- package/dist/types/excalidraw/charts.d.ts +1 -1
- package/dist/types/excalidraw/clipboard.d.ts +7 -7
- package/dist/types/excalidraw/components/Actions.d.ts +3 -3
- package/dist/types/excalidraw/components/App.d.ts +38 -20
- package/dist/types/excalidraw/components/Avatar.d.ts +1 -1
- package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
- package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -2
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +3 -3
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
- package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -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 +49 -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/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 +1 -1
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +1 -1
- 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/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 +3 -3
- 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 +1 -1
- package/dist/types/excalidraw/components/PublishLibrary.d.ts +1 -1
- 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 +3 -3
- 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 +1 -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/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 +2 -2
- package/dist/types/excalidraw/components/icons.d.ts +2 -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 +62 -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 +4 -4
- 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 +2 -2
- package/dist/types/excalidraw/data/resave.d.ts +1 -1
- package/dist/types/excalidraw/data/restore.d.ts +1 -1
- package/dist/types/excalidraw/data/transform.d.ts +4 -4
- package/dist/types/excalidraw/data/types.d.ts +3 -3
- package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
- package/dist/types/excalidraw/eraser/index.d.ts +14 -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 +15 -23
- package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
- package/dist/types/excalidraw/i18n.d.ts +1 -1
- package/dist/types/excalidraw/index.d.ts +16 -15
- package/dist/types/excalidraw/laser-trails.d.ts +1 -1
- package/dist/types/excalidraw/lasso/index.d.ts +15 -0
- package/dist/types/excalidraw/lasso/utils.d.ts +12 -0
- package/dist/types/excalidraw/renderer/helpers.d.ts +7 -2
- package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
- package/dist/types/excalidraw/scene/Renderer.d.ts +3 -3
- 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 +31 -18
- package/dist/types/excalidraw/visualdebug.d.ts +2 -2
- package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +4 -2
- package/dist/types/math/{curve.d.ts → src/curve.d.ts} +2 -0
- package/dist/types/math/{point.d.ts → src/point.d.ts} +2 -2
- package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
- package/dist/types/math/{segment.d.ts → src/segment.d.ts} +1 -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} +4 -0
- package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
- package/dist/types/utils/{collision.d.ts → src/collision.d.ts} +2 -3
- 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 +70 -94
- package/package.json +16 -4
- package/dist/dev/chunk-3SN6HYVK.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-EIO257PC.js +0 -86
- package/dist/prod/data/image-N4WCURRR.js +0 -1
- package/dist/types/excalidraw/align.d.ts +0 -7
- package/dist/types/excalidraw/element/index.d.ts +0 -26
- package/dist/types/excalidraw/shapes.d.ts +0 -85
- package/dist/types/excalidraw/store.d.ts +0 -129
- package/dist/types/excalidraw/zindex.d.ts +0 -6
- package/dist/dev/data/{image-V26YBSDB.js.map → image-AYLHSOBV.js.map} +0 -0
- package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-E3O5XSXJ.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}/cropElement.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/distance.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/{excalidraw/element → element/src}/utils.d.ts +1 -1
- /package/dist/types/math/{angle.d.ts → src/angle.d.ts} +0 -0
- /package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
- /package/dist/types/math/{index.d.ts → src/index.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/{rectangle.d.ts → src/rectangle.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/store";
|
|
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" | "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";
|
|
18
18
|
export type PanelComponentProps = {
|
|
19
19
|
elements: readonly ExcalidrawElement[];
|
|
20
20
|
appState: AppState;
|
|
@@ -35,7 +35,7 @@ export interface Action {
|
|
|
35
35
|
predicate?: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: ExcalidrawProps, app: AppClassProperties) => boolean;
|
|
36
36
|
checked?: (appState: Readonly<AppState>) => boolean;
|
|
37
37
|
trackEvent: false | {
|
|
38
|
-
category: "toolbar" | "element" | "canvas" | "export" | "history" | "menu" | "collab" | "hyperlink" | "search_menu";
|
|
38
|
+
category: "toolbar" | "element" | "canvas" | "export" | "history" | "menu" | "collab" | "hyperlink" | "search_menu" | "shape_switch";
|
|
39
39
|
action?: string;
|
|
40
40
|
predicate?: (appState: Readonly<AppState>, elements: readonly ExcalidrawElement[], value: any) => boolean;
|
|
41
41
|
};
|
|
@@ -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,80 +1,81 @@
|
|
|
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
|
-
|
|
10
|
-
|
|
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").LinearElementEditor | null | undefined;
|
|
20
|
+
zenModeEnabled?: boolean | undefined;
|
|
11
21
|
activeTool?: ({
|
|
12
22
|
lastActiveTool: import("./types").ActiveTool | null;
|
|
13
23
|
locked: boolean;
|
|
24
|
+
fromSelection: boolean;
|
|
14
25
|
} & import("./types").ActiveTool) | undefined;
|
|
26
|
+
gridModeEnabled?: boolean | undefined;
|
|
27
|
+
objectsSnapModeEnabled?: boolean | undefined;
|
|
28
|
+
shouldCacheIgnoreZoom?: boolean | undefined;
|
|
29
|
+
exportScale?: number | undefined;
|
|
30
|
+
gridSize?: number | undefined;
|
|
31
|
+
gridStep?: number | undefined;
|
|
32
|
+
showWelcomeScreen?: boolean | undefined;
|
|
15
33
|
penMode?: boolean | undefined;
|
|
16
34
|
penDetected?: boolean | undefined;
|
|
17
35
|
exportBackground?: boolean | undefined;
|
|
18
36
|
exportEmbedScene?: boolean | undefined;
|
|
19
37
|
exportWithDarkMode?: boolean | undefined;
|
|
20
|
-
exportScale?: number | undefined;
|
|
21
38
|
currentItemStrokeColor?: string | undefined;
|
|
22
39
|
currentItemBackgroundColor?: string | undefined;
|
|
23
|
-
currentItemFillStyle?: import("
|
|
40
|
+
currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
|
|
24
41
|
currentItemStrokeWidth?: number | undefined;
|
|
25
|
-
currentItemStrokeStyle?: import("
|
|
42
|
+
currentItemStrokeStyle?: import("@excalidraw/element/types").StrokeStyle | undefined;
|
|
26
43
|
currentItemRoughness?: number | undefined;
|
|
27
44
|
currentItemOpacity?: number | undefined;
|
|
28
45
|
currentItemFontFamily?: number | undefined;
|
|
29
46
|
currentItemFontSize?: number | undefined;
|
|
30
47
|
currentItemTextAlign?: string | undefined;
|
|
31
|
-
currentItemStartArrowhead?: import("
|
|
32
|
-
currentItemEndArrowhead?: import("
|
|
33
|
-
currentItemRoundness?: import("
|
|
34
|
-
|
|
35
|
-
scrollX?: number | undefined;
|
|
36
|
-
scrollY?: number | undefined;
|
|
48
|
+
currentItemStartArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
|
|
49
|
+
currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
|
|
50
|
+
currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
|
|
51
|
+
currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
|
|
37
52
|
cursorButton?: "up" | "down" | undefined;
|
|
38
53
|
scrolledOutside?: boolean | undefined;
|
|
39
|
-
zoom?: Readonly<{
|
|
40
|
-
value: NormalizedZoomValue;
|
|
41
|
-
}> | undefined;
|
|
42
54
|
openMenu?: "canvas" | "shape" | null | undefined;
|
|
43
55
|
openSidebar?: {
|
|
44
56
|
name: string;
|
|
45
57
|
tab?: string | undefined;
|
|
46
58
|
} | null | undefined;
|
|
47
59
|
defaultSidebarDockedPreference?: boolean | undefined;
|
|
48
|
-
lastPointerDownWith?: import("
|
|
49
|
-
selectedElementIds?: Readonly<{
|
|
50
|
-
[id: string]: true;
|
|
51
|
-
}> | undefined;
|
|
60
|
+
lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
|
|
52
61
|
previousSelectedElementIds?: {
|
|
53
62
|
[id: string]: true;
|
|
54
63
|
} | undefined;
|
|
55
|
-
shouldCacheIgnoreZoom?: boolean | undefined;
|
|
56
|
-
gridSize?: number | undefined;
|
|
57
|
-
gridStep?: number | undefined;
|
|
58
|
-
selectedGroupIds?: {
|
|
59
|
-
[groupId: string]: boolean;
|
|
60
|
-
} | undefined;
|
|
61
|
-
editingGroupId?: string | null | undefined;
|
|
62
64
|
stats?: {
|
|
63
65
|
open: boolean;
|
|
64
66
|
panels: number;
|
|
65
67
|
} | undefined;
|
|
66
|
-
currentChartType?: import("
|
|
67
|
-
selectedLinearElement?: import("./element/linearElementEditor").LinearElementEditor | null | undefined;
|
|
68
|
+
currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
|
|
68
69
|
};
|
|
69
70
|
export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
|
|
70
|
-
gridModeEnabled?: boolean | undefined;
|
|
71
71
|
viewBackgroundColor?: string | undefined;
|
|
72
|
+
gridModeEnabled?: boolean | undefined;
|
|
72
73
|
gridSize?: number | undefined;
|
|
73
74
|
gridStep?: number | undefined;
|
|
74
75
|
};
|
|
75
76
|
export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
|
|
76
|
-
gridModeEnabled?: boolean | undefined;
|
|
77
77
|
viewBackgroundColor?: string | undefined;
|
|
78
|
+
gridModeEnabled?: boolean | undefined;
|
|
78
79
|
gridSize?: number | undefined;
|
|
79
80
|
gridStep?: number | undefined;
|
|
80
81
|
};
|
|
@@ -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,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { ALLOWED_PASTE_MIME_TYPES } from "@excalidraw/common";
|
|
2
|
+
import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
3
3
|
import type { Spreadsheet } from "./charts";
|
|
4
|
-
import {
|
|
4
|
+
import type { BinaryFiles } from "./types";
|
|
5
5
|
export type PastedMixedContent = {
|
|
6
6
|
type: "text" | "imageUrl";
|
|
7
7
|
value: string;
|
|
@@ -21,6 +21,8 @@ export declare const probablySupportsClipboardWriteText: boolean;
|
|
|
21
21
|
export declare const probablySupportsClipboardBlob: boolean;
|
|
22
22
|
export declare const createPasteEvent: ({ types, files, }: {
|
|
23
23
|
types?: {
|
|
24
|
+
"text/plain"?: string | File | undefined;
|
|
25
|
+
"text/html"?: string | File | undefined;
|
|
24
26
|
"image/svg+xml"?: string | File | undefined;
|
|
25
27
|
"image/png"?: string | File | undefined;
|
|
26
28
|
"image/jpeg"?: string | File | undefined;
|
|
@@ -30,8 +32,6 @@ export declare const createPasteEvent: ({ types, files, }: {
|
|
|
30
32
|
"image/x-icon"?: string | File | undefined;
|
|
31
33
|
"image/avif"?: string | File | undefined;
|
|
32
34
|
"image/jfif"?: string | File | undefined;
|
|
33
|
-
"text/plain"?: string | File | undefined;
|
|
34
|
-
"text/html"?: string | File | undefined;
|
|
35
35
|
} | undefined;
|
|
36
36
|
files?: File[] | undefined;
|
|
37
37
|
}) => ClipboardEvent;
|
|
@@ -45,6 +45,8 @@ export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawEl
|
|
|
45
45
|
* Will prompt user for permission if not granted.
|
|
46
46
|
*/
|
|
47
47
|
export declare const readSystemClipboard: () => Promise<{
|
|
48
|
+
"text/plain"?: string | File | undefined;
|
|
49
|
+
"text/html"?: string | File | undefined;
|
|
48
50
|
"image/svg+xml"?: string | File | undefined;
|
|
49
51
|
"image/png"?: string | File | undefined;
|
|
50
52
|
"image/jpeg"?: string | File | undefined;
|
|
@@ -54,8 +56,6 @@ export declare const readSystemClipboard: () => Promise<{
|
|
|
54
56
|
"image/x-icon"?: string | File | undefined;
|
|
55
57
|
"image/avif"?: string | File | undefined;
|
|
56
58
|
"image/jfif"?: string | File | undefined;
|
|
57
|
-
"text/plain"?: string | File | undefined;
|
|
58
|
-
"text/html"?: string | File | undefined;
|
|
59
59
|
}>;
|
|
60
60
|
/**
|
|
61
61
|
* Attempts to parse clipboard event.
|
|
@@ -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 } 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, }: {
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type
|
|
2
|
+
import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
|
|
3
|
+
import { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
|
|
4
|
+
import { FlowChartCreator } from "@excalidraw/element/flowchart";
|
|
5
|
+
import Scene from "@excalidraw/element/Scene";
|
|
6
|
+
import { Store } from "@excalidraw/element/store";
|
|
7
|
+
import type { ElementUpdate } from "@excalidraw/element/mutateElement";
|
|
8
|
+
import type { ExcalidrawElement, NonDeleted, InitializedExcalidrawImageElement, ExcalidrawImageElement, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "@excalidraw/element/types";
|
|
9
|
+
import type { Mutable } from "@excalidraw/common/utility-types";
|
|
3
10
|
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";
|
|
11
|
+
import { AnimationFrameHandler } from "../animation-frame-handler";
|
|
9
12
|
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
13
|
import { Fonts } from "../fonts";
|
|
14
|
+
import { type WritableAtom } from "../editor-jotai";
|
|
14
15
|
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
16
|
import { LaserTrails } from "../laser-trails";
|
|
20
|
-
import {
|
|
17
|
+
import { LassoTrail } from "../lasso";
|
|
18
|
+
import { EraserTrail } from "../eraser";
|
|
19
|
+
import type { ExportedElements } from "../data";
|
|
20
|
+
import type { FileSystemHandle } from "../data/filesystem";
|
|
21
|
+
import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
|
|
22
|
+
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
23
|
+
import type { ActionResult } from "../actions/types";
|
|
21
24
|
export declare const ExcalidrawContainerContext: React.Context<{
|
|
22
25
|
container: HTMLDivElement | null;
|
|
23
26
|
id: string | null;
|
|
@@ -96,11 +99,13 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
96
99
|
};
|
|
97
100
|
animationFrameHandler: AnimationFrameHandler;
|
|
98
101
|
laserTrails: LaserTrails;
|
|
99
|
-
eraserTrail:
|
|
102
|
+
eraserTrail: EraserTrail;
|
|
103
|
+
lassoTrail: LassoTrail;
|
|
100
104
|
onChangeEmitter: Emitter<[elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles]>;
|
|
101
105
|
onPointerDownEmitter: Emitter<[activeTool: {
|
|
102
106
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
103
107
|
locked: boolean;
|
|
108
|
+
fromSelection: boolean;
|
|
104
109
|
} & import("../types").ActiveTool, pointerDownState: Readonly<{
|
|
105
110
|
origin: Readonly<{
|
|
106
111
|
x: number;
|
|
@@ -121,7 +126,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
121
126
|
};
|
|
122
127
|
originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
|
|
123
128
|
resize: {
|
|
124
|
-
handleType: import("
|
|
129
|
+
handleType: import("@excalidraw/element/transformHandles").MaybeTransformHandleType;
|
|
125
130
|
isResizing: boolean;
|
|
126
131
|
offset: {
|
|
127
132
|
x: number;
|
|
@@ -147,6 +152,10 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
147
152
|
x: number;
|
|
148
153
|
y: number;
|
|
149
154
|
} | null;
|
|
155
|
+
origin: {
|
|
156
|
+
x: number;
|
|
157
|
+
y: number;
|
|
158
|
+
};
|
|
150
159
|
};
|
|
151
160
|
eventListeners: {
|
|
152
161
|
onMove: {
|
|
@@ -165,6 +174,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
165
174
|
onPointerUpEmitter: Emitter<[activeTool: {
|
|
166
175
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
167
176
|
locked: boolean;
|
|
177
|
+
fromSelection: boolean;
|
|
168
178
|
} & import("../types").ActiveTool, pointerDownState: Readonly<{
|
|
169
179
|
origin: Readonly<{
|
|
170
180
|
x: number;
|
|
@@ -185,7 +195,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
185
195
|
};
|
|
186
196
|
originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
|
|
187
197
|
resize: {
|
|
188
|
-
handleType: import("
|
|
198
|
+
handleType: import("@excalidraw/element/transformHandles").MaybeTransformHandleType;
|
|
189
199
|
isResizing: boolean;
|
|
190
200
|
offset: {
|
|
191
201
|
x: number;
|
|
@@ -211,6 +221,10 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
211
221
|
x: number;
|
|
212
222
|
y: number;
|
|
213
223
|
} | null;
|
|
224
|
+
origin: {
|
|
225
|
+
x: number;
|
|
226
|
+
y: number;
|
|
227
|
+
};
|
|
214
228
|
};
|
|
215
229
|
eventListeners: {
|
|
216
230
|
onMove: {
|
|
@@ -233,6 +247,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
233
247
|
missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
|
|
234
248
|
onRemoveEventListenersEmitter: Emitter<[]>;
|
|
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: {
|
|
@@ -384,6 +400,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
384
400
|
*/
|
|
385
401
|
captureUpdate?: SceneData["captureUpdate"];
|
|
386
402
|
}) => void;
|
|
403
|
+
mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
|
|
387
404
|
private triggerRender;
|
|
388
405
|
/**
|
|
389
406
|
* @returns whether the menu was toggled on or off
|
|
@@ -408,7 +425,8 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
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(): number;
|
|
432
450
|
private hitElement;
|
|
433
451
|
private getTextBindableContainerAtPosition;
|
|
434
452
|
private startTextEditing;
|
|
@@ -1,8 +1,8 @@
|
|
|
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;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
interface HotkeyLabelProps {
|
|
2
2
|
color: string;
|
|
3
3
|
keyLabel: string | number;
|
|
4
|
-
isCustomColor?: boolean;
|
|
5
4
|
isShade?: boolean;
|
|
6
5
|
}
|
|
7
|
-
declare const HotkeyLabel: ({ color, keyLabel,
|
|
6
|
+
declare const HotkeyLabel: ({ color, keyLabel, isShade, }: HotkeyLabelProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
7
|
export default HotkeyLabel;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { ExcalidrawElement } from "
|
|
2
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
+
import type { ColorPaletteCustom } from "@excalidraw/common";
|
|
3
4
|
import type { ColorPickerType } from "./colorPickerUtils";
|
|
4
|
-
import type { ColorPaletteCustom } from "../../colors";
|
|
5
5
|
interface PickerProps {
|
|
6
6
|
color: string;
|
|
7
7
|
onChange: (color: string) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ExcalidrawElement } from "
|
|
2
|
-
import type { ColorPickerColor, ColorPaletteCustom } from "
|
|
1
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { ColorPickerColor, ColorPaletteCustom } from "@excalidraw/common";
|
|
3
3
|
export declare const getColorNameAndShadeFromColor: ({ palette, color, }: {
|
|
4
4
|
palette: ColorPaletteCustom;
|
|
5
5
|
color: string;
|
|
@@ -17,5 +17,5 @@ export type ActiveColorPickerSectionAtomType = "custom" | "baseColors" | "shades
|
|
|
17
17
|
export declare const activeColorPickerSectionAtom: import("jotai/vanilla/atom").PrimitiveAtom<ActiveColorPickerSectionAtomType> & {
|
|
18
18
|
init: ActiveColorPickerSectionAtomType;
|
|
19
19
|
};
|
|
20
|
-
export declare const
|
|
20
|
+
export declare const isColorDark: (color: string, threshold?: number) => boolean;
|
|
21
21
|
export type ColorPickerType = "canvasBackground" | "elementBackground" | "elementStroke";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { ColorPaletteCustom } from "
|
|
2
|
+
import type { ColorPaletteCustom } from "@excalidraw/common";
|
|
3
3
|
import type { ActiveColorPickerSectionAtomType } from "./colorPickerUtils";
|
|
4
4
|
interface ColorPickerKeyNavHandlerProps {
|
|
5
5
|
event: React.KeyboardEvent;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CommandPaletteItem } from "./types";
|
|
2
1
|
import * as defaultItems from "./defaultCommandPaletteItems";
|
|
3
2
|
import "./CommandPalette.scss";
|
|
3
|
+
import type { CommandPaletteItem } from "./types";
|
|
4
4
|
export declare const DEFAULT_CATEGORIES: {
|
|
5
5
|
app: string;
|
|
6
6
|
export: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import "./ContextMenu.scss";
|
|
2
|
-
import type { Action } from "../actions/types";
|
|
3
3
|
import type { ActionManager } from "../actions/manager";
|
|
4
|
-
import
|
|
4
|
+
import type { Action } from "../actions/types";
|
|
5
5
|
export type ContextMenuItem = typeof CONTEXT_MENU_SEPARATOR | Action;
|
|
6
6
|
export type ContextMenuItems = (ContextMenuItem | false | null | undefined)[];
|
|
7
7
|
type ContextMenuProps = {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ConvertibleGenericTypes, ConvertibleLinearTypes, ConvertibleTypes, ExcalidrawElbowArrowElement, ExcalidrawElement, ExcalidrawLinearElement, ExcalidrawTextContainer, ExcalidrawTextElementWithContainer } from "@excalidraw/element/types";
|
|
2
|
+
import type Scene from "@excalidraw/element/Scene";
|
|
3
|
+
import "./ConvertElementTypePopup.scss";
|
|
4
|
+
import type App from "./App";
|
|
5
|
+
export declare const convertElementTypePopupAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
|
|
6
|
+
type: "panel";
|
|
7
|
+
} | null> & {
|
|
8
|
+
init: {
|
|
9
|
+
type: "panel";
|
|
10
|
+
} | null;
|
|
11
|
+
};
|
|
12
|
+
export declare const fontSize_conversionCacheAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
|
|
13
|
+
[id: string]: {
|
|
14
|
+
fontSize: number;
|
|
15
|
+
elementType: ConvertibleGenericTypes;
|
|
16
|
+
};
|
|
17
|
+
} | null> & {
|
|
18
|
+
init: {
|
|
19
|
+
[id: string]: {
|
|
20
|
+
fontSize: number;
|
|
21
|
+
elementType: ConvertibleGenericTypes;
|
|
22
|
+
};
|
|
23
|
+
} | null;
|
|
24
|
+
};
|
|
25
|
+
export declare const linearElement_conversionCacheAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
|
|
26
|
+
[id: string]: {
|
|
27
|
+
properties: Partial<ExcalidrawLinearElement> | Partial<ExcalidrawElbowArrowElement>;
|
|
28
|
+
initialType: ConvertibleLinearTypes;
|
|
29
|
+
};
|
|
30
|
+
} | null> & {
|
|
31
|
+
init: {
|
|
32
|
+
[id: string]: {
|
|
33
|
+
properties: Partial<ExcalidrawLinearElement> | Partial<ExcalidrawElbowArrowElement>;
|
|
34
|
+
initialType: ConvertibleLinearTypes;
|
|
35
|
+
};
|
|
36
|
+
} | null;
|
|
37
|
+
};
|
|
38
|
+
declare const ConvertElementTypePopup: ({ app }: {
|
|
39
|
+
app: App;
|
|
40
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare const adjustBoundTextSize: (container: ExcalidrawTextContainer, boundText: ExcalidrawTextElementWithContainer, scene: Scene) => void;
|
|
42
|
+
type ConversionType = "generic" | "linear" | null;
|
|
43
|
+
export declare const convertElementTypes: (app: App, { conversionType, nextType, direction, }: {
|
|
44
|
+
conversionType: ConversionType;
|
|
45
|
+
nextType?: ConvertibleTypes | undefined;
|
|
46
|
+
direction?: "left" | "right" | undefined;
|
|
47
|
+
}) => boolean;
|
|
48
|
+
export declare const getConversionTypeFromElements: (elements: ExcalidrawElement[]) => ConversionType;
|
|
49
|
+
export default ConvertElementTypePopup;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { MarkOptional } from "
|
|
3
|
-
import type { SidebarProps, SidebarTriggerProps } from "./Sidebar/common";
|
|
2
|
+
import type { MarkOptional } from "@excalidraw/common/utility-types";
|
|
4
3
|
import "../components/dropdownMenu/DropdownMenu.scss";
|
|
4
|
+
import type { SidebarProps, SidebarTriggerProps } from "./Sidebar/common";
|
|
5
5
|
export declare const DefaultSidebar: import("react").FC<Omit<MarkOptional<Omit<{
|
|
6
6
|
name: string;
|
|
7
7
|
children: import("react").ReactNode;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ElementsMap, NonDeletedExcalidrawElement } from "
|
|
1
|
+
import type { ElementsMap, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
2
|
import "./ElementCanvasButtons.scss";
|
|
3
3
|
export declare const ElementCanvasButtons: ({ children, element, elementsMap, }: {
|
|
4
4
|
children: React.ReactNode;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
1
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type Scene from "@excalidraw/element/Scene";
|
|
3
3
|
import "./ElementLinkDialog.scss";
|
|
4
|
-
|
|
4
|
+
import type { AppProps, UIAppState } from "../types";
|
|
5
|
+
declare const ElementLinkDialog: ({ sourceElementId, onClose, appState, scene, generateLinkForSelection, }: {
|
|
5
6
|
sourceElementId: ExcalidrawElement["id"];
|
|
6
|
-
elementsMap: ElementsMap;
|
|
7
7
|
appState: UIAppState;
|
|
8
|
+
scene: Scene;
|
|
8
9
|
onClose?: (() => void) | undefined;
|
|
9
10
|
generateLinkForSelection: AppProps["generateLinkForSelection"];
|
|
10
11
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
2
3
|
import "./EyeDropper.scss";
|
|
3
4
|
import type { ColorPickerType } from "./ColorPicker/colorPickerUtils";
|
|
4
|
-
import type { ExcalidrawElement } from "../element/types";
|
|
5
5
|
export type EyeDropperProperties = {
|
|
6
6
|
keepOpenOnAlt: boolean;
|
|
7
7
|
swapPreviewOnAlt?: boolean;
|