@excalidraw/math 0.18.0-a8acc82 → 0.18.0-ab0255f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dev/index.js +305 -102
- package/dist/dev/index.js.map +4 -4
- package/dist/prod/index.js +1 -1
- package/dist/types/common/debug.d.ts +21 -0
- package/dist/types/common/src/appEventBus.d.ts +27 -0
- package/dist/types/common/src/bounds.d.ts +10 -0
- package/dist/types/common/src/colors.d.ts +75 -39
- package/dist/types/common/src/constants.d.ts +35 -34
- package/dist/types/common/src/editorInterface.d.ts +34 -0
- package/dist/types/common/src/font-metadata.d.ts +1 -3
- package/dist/types/common/src/index.d.ts +5 -0
- package/dist/types/common/src/keys.d.ts +3 -1
- package/dist/types/common/src/points.d.ts +1 -1
- package/dist/types/common/src/utility-types.d.ts +0 -1
- package/dist/types/common/src/utils.d.ts +47 -78
- package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
- package/dist/types/element/src/Scene.d.ts +11 -7
- package/dist/types/element/src/align.d.ts +2 -2
- package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
- package/dist/types/element/src/arrowheads.d.ts +3 -0
- package/dist/types/element/src/arrows/focus.d.ts +30 -0
- package/dist/types/element/src/arrows/helpers.d.ts +5 -0
- package/dist/types/element/src/binding.d.ts +79 -51
- package/dist/types/element/src/bounds.d.ts +25 -18
- package/dist/types/element/src/bucketFill.d.ts +110 -0
- package/dist/types/element/src/collision.d.ts +7 -2
- package/dist/types/element/src/comparisons.d.ts +8 -7
- package/dist/types/element/src/convertToShape.d.ts +23 -0
- package/dist/types/element/src/distribute.d.ts +3 -2
- package/dist/types/element/src/dragElements.d.ts +30 -3
- package/dist/types/element/src/duplicate.d.ts +7 -6
- package/dist/types/element/src/elbowArrow.d.ts +2 -0
- package/dist/types/element/src/embeddable.d.ts +2 -2
- package/dist/types/element/src/flowchart.d.ts +7 -7
- package/dist/types/element/src/fractionalIndex.d.ts +4 -4
- package/dist/types/element/src/frame.d.ts +14 -9
- package/dist/types/element/src/groups.d.ts +9 -9
- package/dist/types/element/src/heading.d.ts +2 -1
- package/dist/types/element/src/image.d.ts +1 -11
- package/dist/types/element/src/index.d.ts +8 -4
- package/dist/types/element/src/linearElementEditor.d.ts +38 -30
- package/dist/types/element/src/mutateElement.d.ts +5 -1
- package/dist/types/element/src/newElement.d.ts +20 -6
- package/dist/types/element/src/renderElement.d.ts +1 -10
- package/dist/types/element/src/resizeElements.d.ts +12 -12
- package/dist/types/element/src/resizeTest.d.ts +6 -5
- package/dist/types/element/src/selection.d.ts +14 -14
- package/dist/types/element/src/shape.d.ts +21 -8
- package/dist/types/element/src/textElement.d.ts +13 -10
- package/dist/types/element/src/textMeasurements.d.ts +1 -3
- package/dist/types/element/src/textWrapping.d.ts +26 -0
- package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
- package/dist/types/element/src/transformHandles.d.ts +8 -27
- package/dist/types/element/src/typeChecks.d.ts +29 -31
- package/dist/types/element/src/types.d.ts +20 -14
- package/dist/types/element/src/utils.d.ts +9 -4
- package/dist/types/element/src/zindex.d.ts +7 -1
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +191 -216
- package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +112 -129
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +412 -1564
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +139 -901
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +54 -63
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +177 -205
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +162 -0
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +61 -76
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +111 -128
- package/dist/types/excalidraw/actions/actionExport.d.ts +190 -1419
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -396
- package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionFrame.d.ts +253 -502
- package/dist/types/excalidraw/actions/actionGroup.d.ts +122 -147
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +150 -195
- package/dist/types/excalidraw/actions/actionLink.d.ts +67 -76
- package/dist/types/excalidraw/actions/actionMenu.d.ts +56 -439
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -361
- package/dist/types/excalidraw/actions/actionProperties.d.ts +197 -2554
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +61 -74
- package/dist/types/excalidraw/actions/actionStyles.d.ts +54 -62
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +178 -0
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +69 -79
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +178 -0
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +68 -77
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +57 -73
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +67 -76
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +68 -77
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +68 -77
- package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
- package/dist/types/excalidraw/actions/index.d.ts +5 -3
- package/dist/types/excalidraw/actions/manager.d.ts +1 -0
- package/dist/types/excalidraw/actions/register.d.ts +2 -2
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +11 -7
- package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
- package/dist/types/excalidraw/appState.d.ts +34 -26
- package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
- package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
- package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
- package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
- package/dist/types/excalidraw/charts/index.d.ts +7 -0
- package/dist/types/excalidraw/clipboard.d.ts +13 -38
- package/dist/types/excalidraw/components/Actions.d.ts +26 -11
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/App.arrowText.d.ts +72 -0
- package/dist/types/excalidraw/components/App.bucketFill.d.ts +34 -0
- package/dist/types/excalidraw/components/App.cursor.d.ts +31 -0
- package/dist/types/excalidraw/components/App.d.ts +447 -118
- package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
- package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
- package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
- package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
- package/dist/types/excalidraw/components/Card.d.ts +1 -3
- package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +5 -5
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +3 -0
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +7 -1
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
- package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
- package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
- package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
- package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
- package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
- package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +2 -1
- package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
- package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
- package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
- package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
- package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
- package/dist/types/excalidraw/components/Island.d.ts +7 -0
- package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
- package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
- package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
- package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
- package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
- package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
- package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
- package/dist/types/excalidraw/components/Modal.d.ts +0 -1
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
- package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
- package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
- package/dist/types/excalidraw/components/Popover.d.ts +2 -3
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
- package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
- package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
- package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
- package/dist/types/excalidraw/components/Range.d.ts +10 -4
- package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
- package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
- package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
- package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
- package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
- package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
- package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
- package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
- package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
- package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
- package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
- package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
- package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
- package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
- package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
- package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
- package/dist/types/excalidraw/components/TextField.d.ts +1 -0
- package/dist/types/excalidraw/components/Toast.d.ts +11 -7
- package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
- package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
- package/dist/types/excalidraw/components/Tools.d.ts +146 -0
- package/dist/types/excalidraw/components/Trans.d.ts +2 -2
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +10 -4
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
- package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
- package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
- package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
- package/dist/types/excalidraw/components/icons.d.ts +47 -23
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
- package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
- package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
- package/dist/types/excalidraw/data/blob.d.ts +338 -7
- package/dist/types/excalidraw/data/encode.d.ts +4 -4
- package/dist/types/excalidraw/data/encryption.d.ts +5 -5
- package/dist/types/excalidraw/data/filesystem.d.ts +5 -7
- package/dist/types/excalidraw/data/index.d.ts +8 -9
- package/dist/types/excalidraw/data/json.d.ts +175 -3
- package/dist/types/excalidraw/data/library.d.ts +25 -10
- package/dist/types/excalidraw/data/resave.d.ts +7 -2
- package/dist/types/excalidraw/data/restore.d.ts +25 -10
- package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
- package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
- package/dist/types/excalidraw/eraser/index.d.ts +2 -3
- package/dist/types/excalidraw/errors.d.ts +14 -0
- package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
- package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
- package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
- package/dist/types/excalidraw/i18n.d.ts +2 -2
- package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
- package/dist/types/excalidraw/lasso/index.d.ts +2 -3
- package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
- package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
- package/dist/types/excalidraw/scene/Renderer.d.ts +428 -18
- package/dist/types/excalidraw/scene/export.d.ts +4 -4
- package/dist/types/excalidraw/scene/index.d.ts +2 -2
- package/dist/types/excalidraw/scene/types.d.ts +26 -8
- package/dist/types/excalidraw/shortcut.d.ts +1 -0
- package/dist/types/excalidraw/snapping.d.ts +12 -12
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
- package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
- package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
- package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
- package/dist/types/excalidraw/types.d.ts +485 -52
- package/dist/types/excalidraw/viewport.d.ts +272 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
- package/dist/types/fractional-indexing/src/index.d.ts +29 -0
- package/dist/types/laser-pointer/src/index.d.ts +2 -0
- package/dist/types/laser-pointer/src/math.d.ts +16 -0
- package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
- package/dist/types/laser-pointer/src/state.d.ts +36 -0
- package/dist/types/math/src/constants.d.ts +0 -1
- package/dist/types/math/src/curve.d.ts +4 -1
- package/dist/types/math/src/index.d.ts +1 -0
- package/dist/types/math/src/pca.d.ts +79 -0
- package/dist/types/math/src/point.d.ts +8 -2
- package/dist/types/math/src/polygon.d.ts +26 -2
- package/dist/types/math/src/range.d.ts +1 -3
- package/dist/types/math/src/segment.d.ts +3 -3
- package/dist/types/math/src/types.d.ts +25 -1
- package/dist/types/utils/src/export.d.ts +8 -8
- package/dist/types/utils/src/index.d.ts +1 -2
- package/dist/types/utils/src/shape.d.ts +6 -6
- package/package.json +2 -2
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -186
- package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
- package/dist/types/excalidraw/charts.d.ts +0 -27
- package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
- package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
- package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
- package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
- package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
- package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
- package/dist/types/excalidraw/components/shapes.d.ts +0 -190
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -85
- package/dist/types/excalidraw/cursor.d.ts +0 -5
- package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
- package/dist/types/excalidraw/index.d.ts +0 -47
- package/dist/types/excalidraw/polyfill.d.ts +0 -2
- package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
- package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
- package/dist/types/utils/src/bbox.d.ts +0 -9
- package/dist/types/utils/src/withinBounds.d.ts +0 -19
|
@@ -1,39 +1,65 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
|
|
3
|
-
import { LinearElementEditor,
|
|
4
|
-
import type {
|
|
2
|
+
import { AppEventBus, type EXPORT_IMAGE_TYPES, Emitter, type EditorInterface, type StylesPanelMode } from "@excalidraw/common";
|
|
3
|
+
import { LinearElementEditor, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
|
|
4
|
+
import type { LocalPoint, Radians } from "@excalidraw/math";
|
|
5
|
+
import type { ExcalidrawElement, ExcalidrawTextElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawTextContainer, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, SceneElementsMap } from "@excalidraw/element/types";
|
|
5
6
|
import type { Mutable } from "@excalidraw/common/utility-types";
|
|
6
7
|
import { ActionManager } from "../actions/manager";
|
|
7
|
-
import { AnimationFrameHandler } from "../animation-frame-handler";
|
|
8
8
|
import { History } from "../history";
|
|
9
9
|
import { Fonts } from "../fonts";
|
|
10
10
|
import { type WritableAtom } from "../editor-jotai";
|
|
11
11
|
import { Renderer } from "../scene/Renderer";
|
|
12
|
-
import {
|
|
12
|
+
import { type SetViewportOptions } from "../viewport";
|
|
13
|
+
import { LaserTrails } from "../laserTrails";
|
|
14
|
+
import { isOverScrollBars } from "../scene/scrollbars";
|
|
13
15
|
import { LassoTrail } from "../lasso";
|
|
14
16
|
import { EraserTrail } from "../eraser";
|
|
17
|
+
import { AppArrowText } from "./App.arrowText";
|
|
18
|
+
import { AppBucketFill } from "./App.bucketFill";
|
|
19
|
+
import { AppCursor } from "./App.cursor";
|
|
20
|
+
import { AppDrawShape } from "./App.drawshape";
|
|
21
|
+
import { AppFlowchart } from "./App.flowchart";
|
|
22
|
+
import { AppViewport } from "./App.viewport";
|
|
23
|
+
import { CursorHints } from "./CursorHint";
|
|
24
|
+
import { type OnStateChange } from "./AppStateObserver";
|
|
15
25
|
import type { ExportedElements } from "../data";
|
|
16
|
-
import type {
|
|
17
|
-
import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
|
|
26
|
+
import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, ExcalidrawImperativeAPIEventMap, GenerateDiagramToCode, NullableGridSize, UIConfig } from "../types";
|
|
18
27
|
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
19
28
|
import type { ActionResult } from "../actions/types";
|
|
29
|
+
declare const editorLifecycleEventBehavior: {
|
|
30
|
+
readonly "editor:mount": {
|
|
31
|
+
readonly cardinality: "once";
|
|
32
|
+
readonly replay: "last";
|
|
33
|
+
};
|
|
34
|
+
readonly "editor:initialize": {
|
|
35
|
+
readonly cardinality: "once";
|
|
36
|
+
readonly replay: "last";
|
|
37
|
+
};
|
|
38
|
+
readonly "editor:unmount": {
|
|
39
|
+
readonly cardinality: "once";
|
|
40
|
+
readonly replay: "last";
|
|
41
|
+
};
|
|
42
|
+
};
|
|
20
43
|
export declare const ExcalidrawContainerContext: React.Context<{
|
|
21
44
|
container: HTMLDivElement | null;
|
|
22
45
|
id: string | null;
|
|
23
46
|
}>;
|
|
47
|
+
export declare const ExcalidrawAPIContext: React.Context<ExcalidrawImperativeAPI | null>;
|
|
48
|
+
export declare const ExcalidrawAPISetContext: React.Context<((api: ExcalidrawImperativeAPI | null) => void) | null>;
|
|
24
49
|
export declare const useApp: () => AppClassProperties;
|
|
25
50
|
export declare const useAppProps: () => AppProps;
|
|
26
|
-
export declare const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
canFitSidebar: boolean;
|
|
34
|
-
};
|
|
51
|
+
export declare const useEditorInterface: () => Readonly<{
|
|
52
|
+
formFactor: "phone" | "tablet" | "desktop";
|
|
53
|
+
desktopUIMode: "compact" | "full";
|
|
54
|
+
userAgent: Readonly<{
|
|
55
|
+
isMobileDevice: boolean;
|
|
56
|
+
platform: "ios" | "android" | "other" | "unknown";
|
|
57
|
+
}>;
|
|
35
58
|
isTouchScreen: boolean;
|
|
59
|
+
canFitSidebar: boolean;
|
|
60
|
+
isLandscape: boolean;
|
|
36
61
|
}>;
|
|
62
|
+
export declare const useStylesPanelMode: () => StylesPanelMode;
|
|
37
63
|
export declare const useExcalidrawContainer: () => {
|
|
38
64
|
container: HTMLDivElement | null;
|
|
39
65
|
id: string | null;
|
|
@@ -42,20 +68,28 @@ export declare const useExcalidrawElements: () => readonly NonDeletedExcalidrawE
|
|
|
42
68
|
export declare const useExcalidrawAppState: () => AppState;
|
|
43
69
|
export declare const useExcalidrawSetAppState: () => <K extends keyof AppState>(state: AppState | ((prevState: Readonly<AppState>, props: Readonly<any>) => AppState | Pick<AppState, K> | null) | Pick<AppState, K> | null, callback?: (() => void) | undefined) => void;
|
|
44
70
|
export declare const useExcalidrawActionManager: () => ActionManager;
|
|
71
|
+
/**
|
|
72
|
+
* Requires wrapping your component in <ExcalidrawAPIContext.Provider>
|
|
73
|
+
*/
|
|
74
|
+
export declare const useExcalidrawAPI: () => ExcalidrawImperativeAPI | null;
|
|
45
75
|
declare class App extends React.Component<AppProps, AppState> {
|
|
46
76
|
canvas: AppClassProperties["canvas"];
|
|
47
77
|
interactiveCanvas: AppClassProperties["interactiveCanvas"];
|
|
78
|
+
sessionExportThemeOverride: AppState["theme"] | undefined;
|
|
48
79
|
rc: RoughCanvas;
|
|
49
80
|
unmounted: boolean;
|
|
50
81
|
actionManager: ActionManager;
|
|
51
|
-
|
|
82
|
+
editorInterface: EditorInterface;
|
|
83
|
+
private stylesPanelMode;
|
|
52
84
|
private excalidrawContainerRef;
|
|
53
85
|
scene: Scene;
|
|
54
86
|
fonts: Fonts;
|
|
55
87
|
renderer: Renderer;
|
|
56
88
|
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
89
|
+
/** whether the last render had any renderable elements (excludes e.g. the
|
|
90
|
+
* in-progress `newElement` and the edited text element) */
|
|
91
|
+
private hasRenderableElements;
|
|
57
92
|
private resizeObserver;
|
|
58
|
-
private nearestScrollableContainer;
|
|
59
93
|
library: AppClassProperties["library"];
|
|
60
94
|
libraryItemsFromStorage: LibraryItems | undefined;
|
|
61
95
|
id: string;
|
|
@@ -78,26 +112,40 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
78
112
|
/** embeds that have been inserted to DOM (as a perf optim, we don't want to
|
|
79
113
|
* insert to DOM before user initially scrolls to them) */
|
|
80
114
|
private initializedEmbeds;
|
|
81
|
-
private handleToastClose;
|
|
82
115
|
private elementsPendingErasure;
|
|
83
|
-
|
|
84
|
-
private
|
|
116
|
+
private _initialized;
|
|
117
|
+
private readonly editorLifecycleEvents;
|
|
118
|
+
onEvent: AppEventBus<ExcalidrawImperativeAPIEventMap, typeof editorLifecycleEventBehavior>["on"];
|
|
119
|
+
private appStateObserver;
|
|
120
|
+
onStateChange: OnStateChange;
|
|
121
|
+
bucketFill: AppBucketFill;
|
|
122
|
+
flowchart: AppFlowchart;
|
|
123
|
+
cursor: AppCursor;
|
|
124
|
+
arrowText: AppArrowText;
|
|
125
|
+
viewport: AppViewport;
|
|
126
|
+
bindModeHandler: ReturnType<typeof setTimeout> | null;
|
|
127
|
+
private textWysiwygSubmitHandler;
|
|
85
128
|
hitLinkElement?: NonDeletedExcalidrawElement;
|
|
86
129
|
lastPointerDownEvent: React.PointerEvent<HTMLElement> | null;
|
|
87
130
|
lastPointerUpEvent: React.PointerEvent<HTMLElement> | PointerEvent | null;
|
|
131
|
+
lastPointerUpIsDoubleClick: boolean;
|
|
88
132
|
lastPointerMoveEvent: PointerEvent | null;
|
|
133
|
+
/** current frame pointer cords */
|
|
89
134
|
lastPointerMoveCoords: {
|
|
90
135
|
x: number;
|
|
91
136
|
y: number;
|
|
92
137
|
} | null;
|
|
93
|
-
|
|
138
|
+
private lastCompletedCanvasClicks;
|
|
139
|
+
/** previous frame pointer coords */
|
|
140
|
+
previousPointerMoveCoords: {
|
|
94
141
|
x: number;
|
|
95
142
|
y: number;
|
|
96
|
-
};
|
|
97
|
-
|
|
143
|
+
} | null;
|
|
144
|
+
drawShape: AppDrawShape;
|
|
98
145
|
laserTrails: LaserTrails;
|
|
99
146
|
eraserTrail: EraserTrail;
|
|
100
147
|
lassoTrail: LassoTrail;
|
|
148
|
+
cursorHints: CursorHints;
|
|
101
149
|
onChangeEmitter: Emitter<[elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles]>;
|
|
102
150
|
onPointerDownEmitter: Emitter<[activeTool: {
|
|
103
151
|
lastActiveTool: import("../types").ActiveTool | null;
|
|
@@ -112,11 +160,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
112
160
|
x: number;
|
|
113
161
|
y: number;
|
|
114
162
|
}>;
|
|
115
|
-
scrollbars:
|
|
116
|
-
isOverEither: boolean;
|
|
117
|
-
isOverHorizontal: boolean;
|
|
118
|
-
isOverVertical: boolean;
|
|
119
|
-
};
|
|
163
|
+
scrollbars: ReturnType<typeof isOverScrollBars>;
|
|
120
164
|
lastCoords: {
|
|
121
165
|
x: number;
|
|
122
166
|
y: number;
|
|
@@ -129,7 +173,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
129
173
|
x: number;
|
|
130
174
|
y: number;
|
|
131
175
|
};
|
|
132
|
-
arrowDirection: "
|
|
176
|
+
arrowDirection: "origin" | "end";
|
|
133
177
|
center: {
|
|
134
178
|
x: number;
|
|
135
179
|
y: number;
|
|
@@ -156,14 +200,10 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
156
200
|
blockDragging: boolean;
|
|
157
201
|
};
|
|
158
202
|
eventListeners: {
|
|
159
|
-
onMove:
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
} | null;
|
|
164
|
-
onUp: ((event: PointerEvent) => void) | null;
|
|
165
|
-
onKeyDown: ((event: KeyboardEvent) => void) | null;
|
|
166
|
-
onKeyUp: ((event: KeyboardEvent) => void) | null;
|
|
203
|
+
onMove: null | ReturnType<typeof import("@excalidraw/common").throttleRAF>;
|
|
204
|
+
onUp: null | ((event: PointerEvent) => void);
|
|
205
|
+
onKeyDown: null | ((event: KeyboardEvent) => void);
|
|
206
|
+
onKeyUp: null | ((event: KeyboardEvent) => void);
|
|
167
207
|
};
|
|
168
208
|
boxSelection: {
|
|
169
209
|
hasOccurred: boolean;
|
|
@@ -182,11 +222,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
182
222
|
x: number;
|
|
183
223
|
y: number;
|
|
184
224
|
}>;
|
|
185
|
-
scrollbars:
|
|
186
|
-
isOverEither: boolean;
|
|
187
|
-
isOverHorizontal: boolean;
|
|
188
|
-
isOverVertical: boolean;
|
|
189
|
-
};
|
|
225
|
+
scrollbars: ReturnType<typeof isOverScrollBars>;
|
|
190
226
|
lastCoords: {
|
|
191
227
|
x: number;
|
|
192
228
|
y: number;
|
|
@@ -199,7 +235,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
199
235
|
x: number;
|
|
200
236
|
y: number;
|
|
201
237
|
};
|
|
202
|
-
arrowDirection: "
|
|
238
|
+
arrowDirection: "origin" | "end";
|
|
203
239
|
center: {
|
|
204
240
|
x: number;
|
|
205
241
|
y: number;
|
|
@@ -226,14 +262,10 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
226
262
|
blockDragging: boolean;
|
|
227
263
|
};
|
|
228
264
|
eventListeners: {
|
|
229
|
-
onMove:
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
} | null;
|
|
234
|
-
onUp: ((event: PointerEvent) => void) | null;
|
|
235
|
-
onKeyDown: ((event: KeyboardEvent) => void) | null;
|
|
236
|
-
onKeyUp: ((event: KeyboardEvent) => void) | null;
|
|
265
|
+
onMove: null | ReturnType<typeof import("@excalidraw/common").throttleRAF>;
|
|
266
|
+
onUp: null | ((event: PointerEvent) => void);
|
|
267
|
+
onKeyDown: null | ((event: KeyboardEvent) => void);
|
|
268
|
+
onKeyUp: null | ((event: KeyboardEvent) => void);
|
|
237
269
|
};
|
|
238
270
|
boxSelection: {
|
|
239
271
|
hasOccurred: boolean;
|
|
@@ -245,18 +277,95 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
245
277
|
}>]>;
|
|
246
278
|
missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
|
|
247
279
|
onRemoveEventListenersEmitter: Emitter<[]>;
|
|
248
|
-
|
|
280
|
+
api: ExcalidrawImperativeAPI;
|
|
281
|
+
private createExcalidrawAPI;
|
|
249
282
|
constructor(props: AppProps);
|
|
283
|
+
/**
|
|
284
|
+
* Whether the editor accepts user input (pointer, keyboard, wheel, touch,
|
|
285
|
+
* clipboard, drag&drop). When `false`, the editor is fully inert for the
|
|
286
|
+
* user, but remains controllable through the imperative API.
|
|
287
|
+
*
|
|
288
|
+
* All user-input entry points must consult this getter (directly or by
|
|
289
|
+
* not being attached/rendered at all).
|
|
290
|
+
*/
|
|
291
|
+
isInteractionEnabled(props?: Pick<AppProps, "interaction">): boolean;
|
|
292
|
+
/**
|
|
293
|
+
* Whether element links render their link icon and are clickable.
|
|
294
|
+
* True when fully interactive, or when `interaction: { enabled: { links:
|
|
295
|
+
* true } }`
|
|
296
|
+
* (in which case clicking anywhere on a linked element opens the link,
|
|
297
|
+
* same as in view mode).
|
|
298
|
+
*/
|
|
299
|
+
isLinksEnabled(props?: Pick<AppProps, "interaction">): boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Whether canvas navigation — panning & zooming, view-mode style — is
|
|
302
|
+
* enabled. True when fully interactive, or when `interaction: { enabled:
|
|
303
|
+
* { navigation: true } }`. Respects `appState.scrollConstraints`.
|
|
304
|
+
*/
|
|
305
|
+
isNavigationEnabled(props?: Pick<AppProps, "interaction">): boolean;
|
|
306
|
+
/**
|
|
307
|
+
* Whether embeddable & iframe elements are interactive (hover & click to
|
|
308
|
+
* activate, view-mode style). True when fully interactive, or when
|
|
309
|
+
* allowed via `interaction.enabled.embeds` / `.interactiveContent`.
|
|
310
|
+
*/
|
|
311
|
+
isEmbedsEnabled(props?: Pick<AppProps, "interaction">): boolean;
|
|
312
|
+
/**
|
|
313
|
+
* Whether the browser's own zoom (ctrl/cmd + wheel, pinch, keyboard
|
|
314
|
+
* shortcuts) stays available over the non-interactive editor.
|
|
315
|
+
* Prevented by default.
|
|
316
|
+
*/
|
|
317
|
+
isBrowserZoomEnabled(props?: Pick<AppProps, "interaction">): boolean;
|
|
318
|
+
/**
|
|
319
|
+
* Whether the tool can be activated & driven by user input. False when
|
|
320
|
+
* disabled via `UIOptions.tools`, or when the editor is non-interactive
|
|
321
|
+
* and the tool isn't kept user-driven via `interaction.enabled.tools`.
|
|
322
|
+
*
|
|
323
|
+
* (Once UI tool availability is split from input availability — e.g.
|
|
324
|
+
* `props.ui.tools` vs `interaction.disabled.tools` — the UI axis moves
|
|
325
|
+
* out into its own predicate.)
|
|
326
|
+
*
|
|
327
|
+
* We purposely widen the `tool` type so this helper can be called with
|
|
328
|
+
* any tool without having to type check it.
|
|
329
|
+
*/
|
|
330
|
+
isToolSupported: <T extends ToolType | "custom">(tool: T, props?: Pick<AppProps, "interaction" | "UIOptions">) => boolean;
|
|
331
|
+
/**
|
|
332
|
+
* Whether the active tool is locked in place — via the tool lock
|
|
333
|
+
* (padlock / Q) or by being host-forced (`props.activeTool`). A locked
|
|
334
|
+
* tool doesn't revert to the selection tool after use, and elements drawn
|
|
335
|
+
* with it aren't selected. Forcing deliberately does not mutate
|
|
336
|
+
* `activeTool.locked`, which is the user's persisted padlock preference.
|
|
337
|
+
*/
|
|
338
|
+
isToolLocked(): boolean;
|
|
339
|
+
/**
|
|
340
|
+
* Whether the active tool captures the primary pointer instead of the
|
|
341
|
+
* view-mode drag-to-pan — the laser always does; while non-interactive,
|
|
342
|
+
* any tool allowed via `interaction.enabled.tools` does. (Editing tools
|
|
343
|
+
* capture the pointer trivially since view mode implies they're not
|
|
344
|
+
* active; this predicate only matters where view-mode gates apply.)
|
|
345
|
+
*/
|
|
346
|
+
isActiveToolPointerCapturing(): boolean;
|
|
347
|
+
/** Whether Excalidraw's full default UI is rendered. */
|
|
348
|
+
isDefaultUIEnabled(props?: Pick<AppProps, "ui">): boolean;
|
|
349
|
+
/** Whether an individual default UI control is rendered. */
|
|
350
|
+
isUIControlEnabled(control: keyof UIConfig["enabled"], props?: Pick<AppProps, "ui">): boolean;
|
|
250
351
|
updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
|
|
251
352
|
private onWindowMessage;
|
|
353
|
+
private handleSkipBindMode;
|
|
354
|
+
private resetDelayedBindMode;
|
|
355
|
+
private previousHoveredBindableElement;
|
|
356
|
+
private handleDelayedBindModeChange;
|
|
252
357
|
private cacheEmbeddableRef;
|
|
253
358
|
/**
|
|
254
359
|
* Returns gridSize taking into account `gridModeEnabled`.
|
|
255
360
|
* If disabled, returns null.
|
|
256
361
|
*/
|
|
257
362
|
getEffectiveGridSize: () => NullableGridSize;
|
|
363
|
+
private getTextCreationGridPoint;
|
|
258
364
|
private getHTMLIFrameElement;
|
|
259
|
-
private
|
|
365
|
+
private handleIframeLikeElementHover;
|
|
366
|
+
/** @returns true if iframe-like element click handled */
|
|
367
|
+
private handleIframeLikeCenterClick;
|
|
368
|
+
private isDoubleClick;
|
|
260
369
|
private isIframeLikeElementCenter;
|
|
261
370
|
private updateEmbedValidationStatus;
|
|
262
371
|
private updateEmbeddables;
|
|
@@ -269,11 +378,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
269
378
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
270
379
|
focusContainer: AppClassProperties["focusContainer"];
|
|
271
380
|
getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
|
|
272
|
-
getSceneElementsMapIncludingDeleted: () =>
|
|
381
|
+
getSceneElementsMapIncludingDeleted: () => SceneElementsMap;
|
|
273
382
|
getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
|
|
274
383
|
onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
|
|
275
384
|
onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
|
|
276
|
-
exportingFrame: ExcalidrawFrameLikeElement | null;
|
|
385
|
+
exportingFrame: NonDeleted<ExcalidrawFrameLikeElement> | null;
|
|
277
386
|
}) => Promise<void>;
|
|
278
387
|
private magicGenerations;
|
|
279
388
|
private updateMagicGeneration;
|
|
@@ -289,9 +398,34 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
289
398
|
private openEyeDropper;
|
|
290
399
|
dismissLinearEditor: () => void;
|
|
291
400
|
syncActionResult: (actionResult: ActionResult) => void;
|
|
401
|
+
scheduleCapture: () => void;
|
|
292
402
|
private onBlur;
|
|
293
403
|
private onUnload;
|
|
294
404
|
private disableEvent;
|
|
405
|
+
private preventBrowserZoomWheel;
|
|
406
|
+
private handleNavigationModeKeyDown;
|
|
407
|
+
/**
|
|
408
|
+
* PageUp/PageDown scroll the canvas by a page — vertically, or
|
|
409
|
+
* horizontally with shift. Respects `appState.scrollConstraints`
|
|
410
|
+
* (via `viewport.translate`).
|
|
411
|
+
*/
|
|
412
|
+
private maybeHandlePageScrollKeyDown;
|
|
413
|
+
private preventBrowserZoomKeyDown;
|
|
414
|
+
/** Ends active input sessions before switching to a view-mode/non-interactive
|
|
415
|
+
* mode. */
|
|
416
|
+
private terminateActiveInteraction;
|
|
417
|
+
private handleInteractionStateChange;
|
|
418
|
+
/** whether the two values reference the same tool (incl. custom subtype) */
|
|
419
|
+
private isSameForcedTool;
|
|
420
|
+
/**
|
|
421
|
+
* Keeps `state.activeTool` synced to the host-controlled
|
|
422
|
+
* `props.activeTool`. `setActiveTool` refuses non-matching activations
|
|
423
|
+
* while forced (user input, API); this backstop covers the writers that
|
|
424
|
+
* bypass the funnel (`actionFinalize`/`actionDeselect`, `restore()` on
|
|
425
|
+
* scene load, ...) and re-applies the tool once it becomes activatable
|
|
426
|
+
* (e.g. `interaction` config changes).
|
|
427
|
+
*/
|
|
428
|
+
private handleForcedToolChange;
|
|
295
429
|
private resetHistory;
|
|
296
430
|
private resetStore;
|
|
297
431
|
/**
|
|
@@ -300,10 +434,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
300
434
|
*/
|
|
301
435
|
private resetScene;
|
|
302
436
|
private initializeScene;
|
|
303
|
-
private
|
|
304
|
-
|
|
305
|
-
private
|
|
306
|
-
|
|
437
|
+
private getFormFactor;
|
|
438
|
+
refreshEditorInterface: () => void;
|
|
439
|
+
private reconcileStylesPanelMode;
|
|
440
|
+
/** TO BE USED LATER */
|
|
441
|
+
private setDesktopUIMode;
|
|
307
442
|
private clearImageShapeCache;
|
|
308
443
|
componentDidMount(): Promise<void>;
|
|
309
444
|
componentWillUnmount(): void;
|
|
@@ -330,54 +465,19 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
330
465
|
clientY: number;
|
|
331
466
|
} | "cursor" | "center";
|
|
332
467
|
retainSeed?: boolean;
|
|
333
|
-
|
|
468
|
+
fit?: SetViewportOptions["fit"];
|
|
469
|
+
preserveFrameChildrenOrder?: boolean;
|
|
334
470
|
}) => void;
|
|
335
471
|
private addElementsFromMixedContentPaste;
|
|
336
472
|
private addTextFromPaste;
|
|
337
473
|
setAppState: React.Component<any, AppState>["setState"];
|
|
338
474
|
removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
|
|
339
475
|
toggleLock: (source?: "keyboard" | "ui") => void;
|
|
340
|
-
updateFrameRendering: (opts: Partial<
|
|
341
|
-
enabled: boolean;
|
|
342
|
-
name: boolean;
|
|
343
|
-
outline: boolean;
|
|
344
|
-
clip: boolean;
|
|
345
|
-
}> | ((prevState: AppState["frameRendering"]) => Partial<AppState["frameRendering"]>)) => void;
|
|
476
|
+
updateFrameRendering: (opts: Partial<AppState["frameRendering"]> | ((prevState: AppState["frameRendering"]) => Partial<AppState["frameRendering"]>)) => void;
|
|
346
477
|
togglePenMode: (force: boolean | null) => void;
|
|
347
|
-
|
|
348
|
-
/**
|
|
349
|
-
* Zooms on canvas viewport center
|
|
350
|
-
*/
|
|
351
|
-
zoomCanvas: (value: number) => void;
|
|
352
|
-
private cancelInProgressAnimation;
|
|
353
|
-
scrollToContent: (target?: string | ExcalidrawElement | readonly ExcalidrawElement[], opts?: ({
|
|
354
|
-
fitToContent?: boolean;
|
|
355
|
-
fitToViewport?: never;
|
|
356
|
-
viewportZoomFactor?: number;
|
|
357
|
-
animate?: boolean;
|
|
358
|
-
duration?: number;
|
|
359
|
-
} | {
|
|
360
|
-
fitToContent?: never;
|
|
361
|
-
fitToViewport?: boolean;
|
|
362
|
-
/** when fitToViewport=true, how much screen should the content cover,
|
|
363
|
-
* between 0.1 (10%) and 1 (100%)
|
|
364
|
-
*/
|
|
365
|
-
viewportZoomFactor?: number;
|
|
366
|
-
animate?: boolean;
|
|
367
|
-
duration?: number;
|
|
368
|
-
}) & {
|
|
369
|
-
minZoom?: number;
|
|
370
|
-
maxZoom?: number;
|
|
371
|
-
canvasOffsets?: Offsets;
|
|
372
|
-
}) => void;
|
|
478
|
+
revealIfHidden: (elements: NonDeletedExcalidrawElement[]) => void;
|
|
373
479
|
private maybeUnfollowRemoteUser;
|
|
374
|
-
|
|
375
|
-
private translateCanvas;
|
|
376
|
-
setToast: (toast: {
|
|
377
|
-
message: string;
|
|
378
|
-
closable?: boolean;
|
|
379
|
-
duration?: number;
|
|
380
|
-
} | null) => void;
|
|
480
|
+
setToast: (toast: AppState["toast"]) => void;
|
|
381
481
|
restoreFileFromShare: () => Promise<void>;
|
|
382
482
|
/**
|
|
383
483
|
* adds supplied files to existing files in the appState.
|
|
@@ -387,7 +487,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
387
487
|
private addMissingFiles;
|
|
388
488
|
updateScene: <K extends keyof AppState>(sceneData: {
|
|
389
489
|
elements?: SceneData["elements"];
|
|
390
|
-
appState?: Pick<AppState, K> | null
|
|
490
|
+
appState?: Pick<AppState, K> | null;
|
|
391
491
|
collaborators?: SceneData["collaborators"];
|
|
392
492
|
/**
|
|
393
493
|
* Controls which updates should be captured by the `Store`. Captured updates are emmitted and listened to by other components, such as `History` for undo / redo purposes.
|
|
@@ -404,20 +504,20 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
404
504
|
}) => void;
|
|
405
505
|
applyDeltas: (deltas: StoreDelta[], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
|
|
406
506
|
mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
|
|
407
|
-
|
|
507
|
+
triggerRender: (
|
|
508
|
+
/** force always re-renders canvas even if no change */
|
|
509
|
+
force?: boolean) => void;
|
|
408
510
|
/**
|
|
409
511
|
* @returns whether the menu was toggled on or off
|
|
410
512
|
*/
|
|
411
513
|
toggleSidebar: ({ name, tab, force, }: {
|
|
412
514
|
name: SidebarName | null;
|
|
413
|
-
tab?:
|
|
414
|
-
force?: boolean
|
|
515
|
+
tab?: SidebarTabName;
|
|
516
|
+
force?: boolean;
|
|
415
517
|
}) => boolean;
|
|
416
518
|
private updateCurrentCursorPosition;
|
|
417
|
-
getEditorUIOffsets: () => Offsets;
|
|
418
519
|
private onKeyDown;
|
|
419
520
|
private onKeyUp;
|
|
420
|
-
private isToolSupported;
|
|
421
521
|
setActiveTool: (tool: ({
|
|
422
522
|
type: ToolType;
|
|
423
523
|
} | {
|
|
@@ -426,10 +526,18 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
426
526
|
}) & {
|
|
427
527
|
locked?: boolean;
|
|
428
528
|
fromSelection?: boolean;
|
|
429
|
-
},
|
|
529
|
+
}, opts?: {
|
|
530
|
+
keepSelection?: boolean;
|
|
531
|
+
/**
|
|
532
|
+
* When `true`, re-activating an already-active toggle tool (see
|
|
533
|
+
* `TOGGLE_TOOLS`) switches back to the previously active tool.
|
|
534
|
+
* Activation is idempotent by default; toggle tools always record the
|
|
535
|
+
* previously active tool regardless (so ESC and the next `toggle`
|
|
536
|
+
* activation can switch back to it).
|
|
537
|
+
*/
|
|
538
|
+
toggle?: boolean;
|
|
539
|
+
}) => void;
|
|
430
540
|
setOpenDialog: (dialogType: AppState["openDialog"]) => void;
|
|
431
|
-
private setCursor;
|
|
432
|
-
private resetCursor;
|
|
433
541
|
/**
|
|
434
542
|
* returns whether user is making a gesture with >= 2 fingers (points)
|
|
435
543
|
* on o touch screen (not on a trackpad). Currently only relates to Darwin
|
|
@@ -443,19 +551,229 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
443
551
|
private onGestureEnd;
|
|
444
552
|
private handleTextWysiwyg;
|
|
445
553
|
private deselectElements;
|
|
446
|
-
private
|
|
447
|
-
private
|
|
554
|
+
private getSelectedTextElement;
|
|
555
|
+
private getSelectedTextEditingContainerAtPosition;
|
|
556
|
+
getTextElementAtPosition(x: number, y: number): NonDeleted<ExcalidrawTextElement> | null;
|
|
557
|
+
private isHittingTextAutoResizeHandle;
|
|
558
|
+
private handleTextAutoResizeHandlePointerDown;
|
|
559
|
+
getElementAtPosition(x: number, y: number, opts?: ({
|
|
560
|
+
includeBoundTextElement?: boolean;
|
|
561
|
+
includeLockedElements?: boolean;
|
|
562
|
+
} | {
|
|
563
|
+
allHitElements: NonDeleted<ExcalidrawElement>[];
|
|
564
|
+
}) & {
|
|
565
|
+
preferSelected?: boolean;
|
|
566
|
+
}): NonDeleted<ExcalidrawElement> | null;
|
|
448
567
|
private getElementsAtPosition;
|
|
449
568
|
getElementHitThreshold(element: ExcalidrawElement): number;
|
|
450
569
|
private hitElement;
|
|
451
|
-
|
|
570
|
+
getTextBindableContainerAtPosition(x: number, y: number): (Readonly<{
|
|
571
|
+
id: string;
|
|
572
|
+
x: number;
|
|
573
|
+
y: number;
|
|
574
|
+
strokeColor: string;
|
|
575
|
+
backgroundColor: string;
|
|
576
|
+
fillStyle: import("@excalidraw/element/types").FillStyle;
|
|
577
|
+
strokeWidth: number;
|
|
578
|
+
strokeStyle: import("@excalidraw/element/types").StrokeStyle;
|
|
579
|
+
roundness: null | {
|
|
580
|
+
type: import("@excalidraw/element/types").RoundnessType;
|
|
581
|
+
value?: number;
|
|
582
|
+
};
|
|
583
|
+
roughness: number;
|
|
584
|
+
opacity: number;
|
|
585
|
+
width: number;
|
|
586
|
+
height: number;
|
|
587
|
+
angle: Radians;
|
|
588
|
+
seed: number;
|
|
589
|
+
version: number;
|
|
590
|
+
versionNonce: number;
|
|
591
|
+
index: import("@excalidraw/element/types").FractionalIndex | null;
|
|
592
|
+
isDeleted: boolean;
|
|
593
|
+
groupIds: readonly import("@excalidraw/element/types").GroupId[];
|
|
594
|
+
frameId: string | null;
|
|
595
|
+
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
596
|
+
updated: number;
|
|
597
|
+
link: string | null;
|
|
598
|
+
locked: boolean;
|
|
599
|
+
customData?: Record<string, any>;
|
|
600
|
+
}> & {
|
|
601
|
+
type: "rectangle";
|
|
602
|
+
} & {
|
|
603
|
+
isDeleted: false;
|
|
604
|
+
}) | (Readonly<{
|
|
605
|
+
id: string;
|
|
606
|
+
x: number;
|
|
607
|
+
y: number;
|
|
608
|
+
strokeColor: string;
|
|
609
|
+
backgroundColor: string;
|
|
610
|
+
fillStyle: import("@excalidraw/element/types").FillStyle;
|
|
611
|
+
strokeWidth: number;
|
|
612
|
+
strokeStyle: import("@excalidraw/element/types").StrokeStyle;
|
|
613
|
+
roundness: null | {
|
|
614
|
+
type: import("@excalidraw/element/types").RoundnessType;
|
|
615
|
+
value?: number;
|
|
616
|
+
};
|
|
617
|
+
roughness: number;
|
|
618
|
+
opacity: number;
|
|
619
|
+
width: number;
|
|
620
|
+
height: number;
|
|
621
|
+
angle: Radians;
|
|
622
|
+
seed: number;
|
|
623
|
+
version: number;
|
|
624
|
+
versionNonce: number;
|
|
625
|
+
index: import("@excalidraw/element/types").FractionalIndex | null;
|
|
626
|
+
isDeleted: boolean;
|
|
627
|
+
groupIds: readonly import("@excalidraw/element/types").GroupId[];
|
|
628
|
+
frameId: string | null;
|
|
629
|
+
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
630
|
+
updated: number;
|
|
631
|
+
link: string | null;
|
|
632
|
+
locked: boolean;
|
|
633
|
+
customData?: Record<string, any>;
|
|
634
|
+
}> & {
|
|
635
|
+
type: "diamond";
|
|
636
|
+
} & {
|
|
637
|
+
isDeleted: false;
|
|
638
|
+
}) | (Readonly<{
|
|
639
|
+
id: string;
|
|
640
|
+
x: number;
|
|
641
|
+
y: number;
|
|
642
|
+
strokeColor: string;
|
|
643
|
+
backgroundColor: string;
|
|
644
|
+
fillStyle: import("@excalidraw/element/types").FillStyle;
|
|
645
|
+
strokeWidth: number;
|
|
646
|
+
strokeStyle: import("@excalidraw/element/types").StrokeStyle;
|
|
647
|
+
roundness: null | {
|
|
648
|
+
type: import("@excalidraw/element/types").RoundnessType;
|
|
649
|
+
value?: number;
|
|
650
|
+
};
|
|
651
|
+
roughness: number;
|
|
652
|
+
opacity: number;
|
|
653
|
+
width: number;
|
|
654
|
+
height: number;
|
|
655
|
+
angle: Radians;
|
|
656
|
+
seed: number;
|
|
657
|
+
version: number;
|
|
658
|
+
versionNonce: number;
|
|
659
|
+
index: import("@excalidraw/element/types").FractionalIndex | null;
|
|
660
|
+
isDeleted: boolean;
|
|
661
|
+
groupIds: readonly import("@excalidraw/element/types").GroupId[];
|
|
662
|
+
frameId: string | null;
|
|
663
|
+
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
664
|
+
updated: number;
|
|
665
|
+
link: string | null;
|
|
666
|
+
locked: boolean;
|
|
667
|
+
customData?: Record<string, any>;
|
|
668
|
+
}> & {
|
|
669
|
+
type: "ellipse";
|
|
670
|
+
} & {
|
|
671
|
+
isDeleted: false;
|
|
672
|
+
}) | (Readonly<{
|
|
673
|
+
id: string;
|
|
674
|
+
x: number;
|
|
675
|
+
y: number;
|
|
676
|
+
strokeColor: string;
|
|
677
|
+
backgroundColor: string;
|
|
678
|
+
fillStyle: import("@excalidraw/element/types").FillStyle;
|
|
679
|
+
strokeWidth: number;
|
|
680
|
+
strokeStyle: import("@excalidraw/element/types").StrokeStyle;
|
|
681
|
+
roundness: null | {
|
|
682
|
+
type: import("@excalidraw/element/types").RoundnessType;
|
|
683
|
+
value?: number;
|
|
684
|
+
};
|
|
685
|
+
roughness: number;
|
|
686
|
+
opacity: number;
|
|
687
|
+
width: number;
|
|
688
|
+
height: number;
|
|
689
|
+
angle: Radians;
|
|
690
|
+
seed: number;
|
|
691
|
+
version: number;
|
|
692
|
+
versionNonce: number;
|
|
693
|
+
index: import("@excalidraw/element/types").FractionalIndex | null;
|
|
694
|
+
isDeleted: boolean;
|
|
695
|
+
groupIds: readonly import("@excalidraw/element/types").GroupId[];
|
|
696
|
+
frameId: string | null;
|
|
697
|
+
boundElements: readonly import("@excalidraw/element/types").BoundElement[] | null;
|
|
698
|
+
updated: number;
|
|
699
|
+
link: string | null;
|
|
700
|
+
locked: boolean;
|
|
701
|
+
customData?: Record<string, any>;
|
|
702
|
+
}> & Readonly<{
|
|
703
|
+
type: "line" | "arrow";
|
|
704
|
+
points: readonly LocalPoint[];
|
|
705
|
+
startBinding: import("@excalidraw/element/types").FixedPointBinding | null;
|
|
706
|
+
endBinding: import("@excalidraw/element/types").FixedPointBinding | null;
|
|
707
|
+
startArrowhead: import("@excalidraw/element/types").Arrowhead | null;
|
|
708
|
+
endArrowhead: import("@excalidraw/element/types").Arrowhead | null;
|
|
709
|
+
}> & Readonly<{
|
|
710
|
+
type: "arrow";
|
|
711
|
+
elbowed: boolean;
|
|
712
|
+
}> & {
|
|
713
|
+
isDeleted: false;
|
|
714
|
+
}) | null;
|
|
715
|
+
/**
|
|
716
|
+
* Whether a text element's content is still being authored.
|
|
717
|
+
*
|
|
718
|
+
* Creating a text reverts the tool to selection during pointerdown, so the
|
|
719
|
+
* pointerup that follows looks like an ordinary canvas click and would
|
|
720
|
+
* capture the still-empty element as a history entry of its own. Undo would
|
|
721
|
+
* then rewind only the typing, restoring an invisible, zero-content element
|
|
722
|
+
* (and, for an endpoint label, leaving the arrow bound to it) rather than
|
|
723
|
+
* removing it. The editor's own submit captures the finished text instead,
|
|
724
|
+
* so the whole create-and-type lands in a single entry.
|
|
725
|
+
*/
|
|
726
|
+
private isEditingTextContent;
|
|
452
727
|
private startTextEditing;
|
|
453
728
|
private startImageCropping;
|
|
454
729
|
private finishImageCropping;
|
|
730
|
+
private shouldHandleBrowserCanvasDoubleClick;
|
|
455
731
|
private handleCanvasDoubleClick;
|
|
732
|
+
private handleCanvasClick;
|
|
456
733
|
private getElementLinkAtPosition;
|
|
457
|
-
private
|
|
458
|
-
|
|
734
|
+
private handleElementLinkClick;
|
|
735
|
+
/**
|
|
736
|
+
* Applies (or clears) the element-link hover affordances — pointer cursor
|
|
737
|
+
* and tooltip — based on the current `hitLinkElement`. Returns whether a
|
|
738
|
+
* link is being hovered.
|
|
739
|
+
*/
|
|
740
|
+
private applyElementLinkHoverAffordance;
|
|
741
|
+
/**
|
|
742
|
+
* On touchscreens (where no hover precedes the tap) re-derives
|
|
743
|
+
* `hitLinkElement`, then opens the hit element link, if any.
|
|
744
|
+
* Returns whether a link click was handled.
|
|
745
|
+
*/
|
|
746
|
+
private maybeHandleElementLinkClick;
|
|
747
|
+
/**
|
|
748
|
+
* Restricted pointer handling for the non-interactive editor with links
|
|
749
|
+
* and/or embeds allowed (`interaction.enabled.links` / `.embeds` /
|
|
750
|
+
* `.interactiveContent`) — runs only the element-link & embed concerns
|
|
751
|
+
* (shared with the full pointer handlers above) so they behave like in
|
|
752
|
+
* view mode without the rest of the canvas pointer machinery.
|
|
753
|
+
*/
|
|
754
|
+
private handleInteractiveContentPointerMove;
|
|
755
|
+
private handleInteractiveContentPointerUp;
|
|
756
|
+
/**
|
|
757
|
+
* finds candidate frame under cursor (when dragging frame children/elements
|
|
758
|
+
* inside frames)
|
|
759
|
+
*/
|
|
760
|
+
getTopLayerFrameAtSceneCoords: (
|
|
761
|
+
/**
|
|
762
|
+
* should be already grid aligned (basically should be what the call site
|
|
763
|
+
* sets the element's coords to, if applicable)
|
|
764
|
+
*/
|
|
765
|
+
sceneCoords: {
|
|
766
|
+
x: number;
|
|
767
|
+
y: number;
|
|
768
|
+
}, opts?: {
|
|
769
|
+
/** to exclude selected elements when dragging, etc. */
|
|
770
|
+
excludeElementIds?: AppState["selectedElementIds"];
|
|
771
|
+
currentFrameId?: ExcalidrawElement["frameId"];
|
|
772
|
+
}) => NonDeleted<ExcalidrawFrameLikeElement> | null;
|
|
773
|
+
private updateFrameToHighlight;
|
|
774
|
+
private maybeUpdateFrameToHighlightOnPointerMove;
|
|
775
|
+
insertNewElements: (elements: readonly ExcalidrawElement[]) => void;
|
|
776
|
+
insertNewElement: (element: ExcalidrawElement) => void;
|
|
459
777
|
private handleCanvasPointerMove;
|
|
460
778
|
private handleEraser;
|
|
461
779
|
private handleTouchMove;
|
|
@@ -472,6 +790,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
472
790
|
private maybeCleanupAfterMissingPointerUp;
|
|
473
791
|
handleCanvasPanUsingWheelOrSpaceDrag: (event: React.PointerEvent<HTMLElement> | MouseEvent) => boolean;
|
|
474
792
|
private updateGestureOnPointerDown;
|
|
793
|
+
/**
|
|
794
|
+
* Tracks the pointer within the ongoing multi-touch gesture and applies
|
|
795
|
+
* the two-finger pinch zoom/pan, if any.
|
|
796
|
+
*/
|
|
797
|
+
private updateMultiTouchGesture;
|
|
475
798
|
private initialPointerDownState;
|
|
476
799
|
private handleDraggingScrollBar;
|
|
477
800
|
private clearSelectionIfNotUsingSelection;
|
|
@@ -497,6 +820,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
497
820
|
private newImagePlaceholder;
|
|
498
821
|
private handleLinearElementOnPointerDown;
|
|
499
822
|
private getCurrentItemRoundness;
|
|
823
|
+
private getCurrentItemStrokeWidth;
|
|
500
824
|
private createGenericElementOnPointerDown;
|
|
501
825
|
private createFrameElementOnPointerDown;
|
|
502
826
|
private maybeCacheReferenceSnapPoints;
|
|
@@ -525,25 +849,29 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
525
849
|
/** generally you should use `addNewImagesToImageCache()` directly if you need
|
|
526
850
|
* to render new images. This is just a failsafe */
|
|
527
851
|
private scheduleImageRefresh;
|
|
528
|
-
private updateBindingEnabledOnPointerMove;
|
|
529
|
-
private maybeSuggestBindingAtCursor;
|
|
530
852
|
private clearSelection;
|
|
531
853
|
private handleInteractiveCanvasRef;
|
|
532
854
|
private insertImages;
|
|
533
855
|
private handleAppOnDrop;
|
|
534
|
-
loadFileToCanvas: (file: File, fileHandle:
|
|
856
|
+
loadFileToCanvas: (file: File, fileHandle: FileSystemFileHandle | null) => Promise<void>;
|
|
535
857
|
private handleCanvasContextMenu;
|
|
536
858
|
private maybeDragNewGenericElement;
|
|
537
859
|
private maybeHandleCrop;
|
|
538
860
|
private maybeHandleResize;
|
|
539
861
|
private getContextMenuItems;
|
|
540
862
|
private handleWheel;
|
|
541
|
-
|
|
863
|
+
getTextWysiwygSnappedToCenterPosition(x: number, y: number, appState: AppState, container?: ExcalidrawTextContainer | null): {
|
|
864
|
+
viewportX: number;
|
|
865
|
+
viewportY: number;
|
|
866
|
+
elementCenterX: number;
|
|
867
|
+
elementCenterY: number;
|
|
868
|
+
} | undefined;
|
|
542
869
|
private savePointer;
|
|
543
870
|
private resetShouldCacheIgnoreZoomDebounced;
|
|
544
871
|
private updateDOMRect;
|
|
545
872
|
refresh: () => void;
|
|
546
873
|
private getCanvasOffsets;
|
|
874
|
+
watchState: () => void;
|
|
547
875
|
private updateLanguage;
|
|
548
876
|
}
|
|
549
877
|
declare global {
|
|
@@ -553,6 +881,7 @@ declare global {
|
|
|
553
881
|
elements: readonly ExcalidrawElement[];
|
|
554
882
|
state: AppState;
|
|
555
883
|
setState: React.Component<any, AppState>["setState"];
|
|
884
|
+
watchState: (prev: any, next: any) => void | undefined;
|
|
556
885
|
app: InstanceType<typeof App>;
|
|
557
886
|
history: History;
|
|
558
887
|
store: Store;
|