@excalidraw/math 0.18.0-508de2f3a → 0.18.0-51ca8ab
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 +96 -65
- package/dist/dev/index.js.map +3 -3
- 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 +59 -39
- package/dist/types/common/src/constants.d.ts +46 -33
- 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 +1 -1
- package/dist/types/common/src/utility-types.d.ts +0 -1
- package/dist/types/common/src/utils.d.ts +46 -76
- package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
- package/dist/types/element/src/Scene.d.ts +10 -6
- package/dist/types/element/src/arrowheads.d.ts +3 -0
- package/dist/types/element/src/arrows/focus.d.ts +27 -0
- package/dist/types/element/src/arrows/helpers.d.ts +5 -0
- package/dist/types/element/src/binding.d.ts +67 -48
- package/dist/types/element/src/bounds.d.ts +25 -18
- 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/delta.d.ts +4 -5
- package/dist/types/element/src/distribute.d.ts +2 -1
- package/dist/types/element/src/dragElements.d.ts +3 -3
- package/dist/types/element/src/duplicate.d.ts +4 -3
- package/dist/types/element/src/elbowArrow.d.ts +2 -0
- package/dist/types/element/src/fractionalIndex.d.ts +2 -2
- package/dist/types/element/src/frame.d.ts +12 -7
- 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 +5 -3
- package/dist/types/element/src/linearElementEditor.d.ts +23 -22
- package/dist/types/element/src/mutateElement.d.ts +5 -2
- package/dist/types/element/src/newElement.d.ts +7 -6
- package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
- package/dist/types/element/src/renderElement.d.ts +4 -7
- package/dist/types/element/src/resizeElements.d.ts +10 -10
- package/dist/types/element/src/resizeTest.d.ts +6 -5
- package/dist/types/element/src/selection.d.ts +10 -10
- package/dist/types/element/src/shape.d.ts +9 -8
- package/dist/types/element/src/store.d.ts +5 -0
- package/dist/types/element/src/textElement.d.ts +2 -2
- 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 +5 -7
- package/dist/types/element/src/types.d.ts +18 -13
- 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 +176 -210
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -7
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +100 -123
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +520 -1193
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +129 -893
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +48 -60
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +157 -195
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +161 -0
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +56 -74
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +98 -121
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +62 -74
- package/dist/types/excalidraw/actions/actionExport.d.ts +179 -1407
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -394
- package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionFrame.d.ts +278 -360
- package/dist/types/excalidraw/actions/actionGroup.d.ts +103 -134
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +142 -191
- package/dist/types/excalidraw/actions/actionLink.d.ts +62 -74
- package/dist/types/excalidraw/actions/actionMenu.d.ts +51 -435
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
- package/dist/types/excalidraw/actions/actionProperties.d.ts +166 -2510
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +51 -67
- package/dist/types/excalidraw/actions/actionStyles.d.ts +48 -59
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +174 -0
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +62 -74
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +174 -0
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +62 -74
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +50 -68
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +61 -73
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +62 -74
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +62 -74
- package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
- package/dist/types/excalidraw/actions/index.d.ts +5 -2
- 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 +4 -4
- package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
- package/dist/types/excalidraw/appState.d.ts +31 -22
- 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 +57 -19
- package/dist/types/excalidraw/components/Actions.d.ts +22 -5
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/App.d.ts +168 -103
- 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 +0 -1
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -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 +0 -1
- 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 +3 -3
- 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/FontPicker.d.ts +2 -1
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -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/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/LayerUI.d.ts +2 -1
- 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/MobileMenu.d.ts +3 -5
- package/dist/types/excalidraw/components/MobileToolBar.d.ts +10 -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/Popover.d.ts +2 -1
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
- 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/CanvasGrid.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
- 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 +25 -0
- package/dist/types/excalidraw/components/Trans.d.ts +2 -2
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +8 -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/hoc/withInternalFallback.d.ts +1 -1
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
- package/dist/types/excalidraw/components/icons.d.ts +51 -21
- 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/shapes.d.ts +209 -1
- package/dist/types/excalidraw/data/blob.d.ts +331 -12
- 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 +4 -5
- package/dist/types/excalidraw/data/json.d.ts +172 -4
- 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/data/types.d.ts +4 -1
- 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/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/hooks/useTextEditorFocus.d.ts +14 -0
- 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 +8 -14
- package/dist/types/excalidraw/scene/Renderer.d.ts +428 -18
- package/dist/types/excalidraw/scene/export.d.ts +2 -2
- package/dist/types/excalidraw/scene/index.d.ts +2 -2
- package/dist/types/excalidraw/scene/types.d.ts +22 -5
- package/dist/types/excalidraw/shortcut.d.ts +1 -0
- package/dist/types/excalidraw/snapping.d.ts +5 -5
- 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 +290 -40
- package/dist/types/excalidraw/viewport.d.ts +316 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +7 -3
- 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 +35 -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/point.d.ts +8 -2
- package/dist/types/math/src/polygon.d.ts +2 -2
- package/dist/types/math/src/range.d.ts +1 -3
- package/dist/types/math/src/segment.d.ts +4 -3
- package/dist/types/math/src/types.d.ts +25 -1
- package/dist/types/utils/src/export.d.ts +5 -5
- 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/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/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/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/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/utils/src/bbox.d.ts +0 -9
- package/dist/types/utils/src/withinBounds.d.ts +0 -19
|
@@ -1,39 +1,57 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
|
|
3
|
-
import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta } from "@excalidraw/element";
|
|
4
|
-
import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered,
|
|
2
|
+
import { AppEventBus, type EXPORT_IMAGE_TYPES, Emitter, type EditorInterface, type StylesPanelMode } from "@excalidraw/common";
|
|
3
|
+
import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
|
|
4
|
+
import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, SceneElementsMap } from "@excalidraw/element/types";
|
|
5
5
|
import type { Mutable } from "@excalidraw/common/utility-types";
|
|
6
6
|
import { ActionManager } from "../actions/manager";
|
|
7
|
-
import { AnimationFrameHandler } from "../animation-frame-handler";
|
|
8
7
|
import { History } from "../history";
|
|
9
8
|
import { Fonts } from "../fonts";
|
|
10
9
|
import { type WritableAtom } from "../editor-jotai";
|
|
11
10
|
import { Renderer } from "../scene/Renderer";
|
|
12
|
-
import {
|
|
11
|
+
import { type SetViewportOptions } from "../viewport";
|
|
12
|
+
import { LaserTrails } from "../laserTrails";
|
|
13
|
+
import { isOverScrollBars } from "../scene/scrollbars";
|
|
13
14
|
import { LassoTrail } from "../lasso";
|
|
14
15
|
import { EraserTrail } from "../eraser";
|
|
16
|
+
import { type OnStateChange } from "./AppStateObserver";
|
|
15
17
|
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, ApplyDeltasOptions } from "../types";
|
|
18
|
+
import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, ExcalidrawImperativeAPIEventMap, GenerateDiagramToCode, NullableGridSize, Offsets, ViewportOffsetsOptions } from "../types";
|
|
18
19
|
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
19
20
|
import type { ActionResult } from "../actions/types";
|
|
21
|
+
declare const editorLifecycleEventBehavior: {
|
|
22
|
+
readonly "editor:mount": {
|
|
23
|
+
readonly cardinality: "once";
|
|
24
|
+
readonly replay: "last";
|
|
25
|
+
};
|
|
26
|
+
readonly "editor:initialize": {
|
|
27
|
+
readonly cardinality: "once";
|
|
28
|
+
readonly replay: "last";
|
|
29
|
+
};
|
|
30
|
+
readonly "editor:unmount": {
|
|
31
|
+
readonly cardinality: "once";
|
|
32
|
+
readonly replay: "last";
|
|
33
|
+
};
|
|
34
|
+
};
|
|
20
35
|
export declare const ExcalidrawContainerContext: React.Context<{
|
|
21
36
|
container: HTMLDivElement | null;
|
|
22
37
|
id: string | null;
|
|
23
38
|
}>;
|
|
39
|
+
export declare const ExcalidrawAPIContext: React.Context<ExcalidrawImperativeAPI | null>;
|
|
40
|
+
export declare const ExcalidrawAPISetContext: React.Context<((api: ExcalidrawImperativeAPI | null) => void) | null>;
|
|
24
41
|
export declare const useApp: () => AppClassProperties;
|
|
25
42
|
export declare const useAppProps: () => AppProps;
|
|
26
|
-
export declare const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
canFitSidebar: boolean;
|
|
34
|
-
};
|
|
43
|
+
export declare const useEditorInterface: () => Readonly<{
|
|
44
|
+
formFactor: "phone" | "tablet" | "desktop";
|
|
45
|
+
desktopUIMode: "compact" | "full";
|
|
46
|
+
userAgent: Readonly<{
|
|
47
|
+
isMobileDevice: boolean;
|
|
48
|
+
platform: "ios" | "android" | "other" | "unknown";
|
|
49
|
+
}>;
|
|
35
50
|
isTouchScreen: boolean;
|
|
51
|
+
canFitSidebar: boolean;
|
|
52
|
+
isLandscape: boolean;
|
|
36
53
|
}>;
|
|
54
|
+
export declare const useStylesPanelMode: () => StylesPanelMode;
|
|
37
55
|
export declare const useExcalidrawContainer: () => {
|
|
38
56
|
container: HTMLDivElement | null;
|
|
39
57
|
id: string | null;
|
|
@@ -42,20 +60,31 @@ export declare const useExcalidrawElements: () => readonly NonDeletedExcalidrawE
|
|
|
42
60
|
export declare const useExcalidrawAppState: () => AppState;
|
|
43
61
|
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
62
|
export declare const useExcalidrawActionManager: () => ActionManager;
|
|
63
|
+
/**
|
|
64
|
+
* Requires wrapping your component in <ExcalidrawAPIContext.Provider>
|
|
65
|
+
*/
|
|
66
|
+
export declare const useExcalidrawAPI: () => ExcalidrawImperativeAPI | null;
|
|
45
67
|
declare class App extends React.Component<AppProps, AppState> {
|
|
46
68
|
canvas: AppClassProperties["canvas"];
|
|
47
69
|
interactiveCanvas: AppClassProperties["interactiveCanvas"];
|
|
70
|
+
sessionExportThemeOverride: AppState["theme"] | undefined;
|
|
48
71
|
rc: RoughCanvas;
|
|
49
72
|
unmounted: boolean;
|
|
50
73
|
actionManager: ActionManager;
|
|
51
|
-
|
|
74
|
+
editorInterface: EditorInterface;
|
|
75
|
+
private stylesPanelMode;
|
|
76
|
+
/**
|
|
77
|
+
* Last-measured footprints of named viewport UI surfaces
|
|
78
|
+
* (`data-viewport-ui-name`), so `getViewportOffsets` can reserve space
|
|
79
|
+
* for them while they're hidden.
|
|
80
|
+
*/
|
|
81
|
+
private viewportUILastMeasured;
|
|
52
82
|
private excalidrawContainerRef;
|
|
53
83
|
scene: Scene;
|
|
54
84
|
fonts: Fonts;
|
|
55
85
|
renderer: Renderer;
|
|
56
86
|
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
57
87
|
private resizeObserver;
|
|
58
|
-
private nearestScrollableContainer;
|
|
59
88
|
library: AppClassProperties["library"];
|
|
60
89
|
libraryItemsFromStorage: LibraryItems | undefined;
|
|
61
90
|
id: string;
|
|
@@ -78,23 +107,35 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
78
107
|
/** embeds that have been inserted to DOM (as a perf optim, we don't want to
|
|
79
108
|
* insert to DOM before user initially scrolls to them) */
|
|
80
109
|
private initializedEmbeds;
|
|
81
|
-
private handleToastClose;
|
|
82
110
|
private elementsPendingErasure;
|
|
111
|
+
private _initialized;
|
|
112
|
+
private readonly editorLifecycleEvents;
|
|
113
|
+
onEvent: AppEventBus<ExcalidrawImperativeAPIEventMap, typeof editorLifecycleEventBehavior>["on"];
|
|
114
|
+
private appStateObserver;
|
|
115
|
+
onStateChange: OnStateChange;
|
|
83
116
|
flowChartCreator: FlowChartCreator;
|
|
84
117
|
private flowChartNavigator;
|
|
118
|
+
bindModeHandler: ReturnType<typeof setTimeout> | null;
|
|
85
119
|
hitLinkElement?: NonDeletedExcalidrawElement;
|
|
86
120
|
lastPointerDownEvent: React.PointerEvent<HTMLElement> | null;
|
|
87
121
|
lastPointerUpEvent: React.PointerEvent<HTMLElement> | PointerEvent | null;
|
|
122
|
+
lastPointerUpIsDoubleClick: boolean;
|
|
88
123
|
lastPointerMoveEvent: PointerEvent | null;
|
|
124
|
+
/** current frame pointer cords */
|
|
89
125
|
lastPointerMoveCoords: {
|
|
90
126
|
x: number;
|
|
91
127
|
y: number;
|
|
92
128
|
} | null;
|
|
129
|
+
private lastCompletedCanvasClicks;
|
|
130
|
+
/** previous frame pointer coords */
|
|
131
|
+
previousPointerMoveCoords: {
|
|
132
|
+
x: number;
|
|
133
|
+
y: number;
|
|
134
|
+
} | null;
|
|
93
135
|
lastViewportPosition: {
|
|
94
136
|
x: number;
|
|
95
137
|
y: number;
|
|
96
138
|
};
|
|
97
|
-
animationFrameHandler: AnimationFrameHandler;
|
|
98
139
|
laserTrails: LaserTrails;
|
|
99
140
|
eraserTrail: EraserTrail;
|
|
100
141
|
lassoTrail: LassoTrail;
|
|
@@ -112,11 +153,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
112
153
|
x: number;
|
|
113
154
|
y: number;
|
|
114
155
|
}>;
|
|
115
|
-
scrollbars:
|
|
116
|
-
isOverEither: boolean;
|
|
117
|
-
isOverHorizontal: boolean;
|
|
118
|
-
isOverVertical: boolean;
|
|
119
|
-
};
|
|
156
|
+
scrollbars: ReturnType<typeof isOverScrollBars>;
|
|
120
157
|
lastCoords: {
|
|
121
158
|
x: number;
|
|
122
159
|
y: number;
|
|
@@ -129,7 +166,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
129
166
|
x: number;
|
|
130
167
|
y: number;
|
|
131
168
|
};
|
|
132
|
-
arrowDirection: "
|
|
169
|
+
arrowDirection: "origin" | "end";
|
|
133
170
|
center: {
|
|
134
171
|
x: number;
|
|
135
172
|
y: number;
|
|
@@ -153,16 +190,13 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
153
190
|
x: number;
|
|
154
191
|
y: number;
|
|
155
192
|
};
|
|
193
|
+
blockDragging: boolean;
|
|
156
194
|
};
|
|
157
195
|
eventListeners: {
|
|
158
|
-
onMove:
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
} | null;
|
|
163
|
-
onUp: ((event: PointerEvent) => void) | null;
|
|
164
|
-
onKeyDown: ((event: KeyboardEvent) => void) | null;
|
|
165
|
-
onKeyUp: ((event: KeyboardEvent) => void) | null;
|
|
196
|
+
onMove: null | ReturnType<typeof import("@excalidraw/common").throttleRAF>;
|
|
197
|
+
onUp: null | ((event: PointerEvent) => void);
|
|
198
|
+
onKeyDown: null | ((event: KeyboardEvent) => void);
|
|
199
|
+
onKeyUp: null | ((event: KeyboardEvent) => void);
|
|
166
200
|
};
|
|
167
201
|
boxSelection: {
|
|
168
202
|
hasOccurred: boolean;
|
|
@@ -181,11 +215,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
181
215
|
x: number;
|
|
182
216
|
y: number;
|
|
183
217
|
}>;
|
|
184
|
-
scrollbars:
|
|
185
|
-
isOverEither: boolean;
|
|
186
|
-
isOverHorizontal: boolean;
|
|
187
|
-
isOverVertical: boolean;
|
|
188
|
-
};
|
|
218
|
+
scrollbars: ReturnType<typeof isOverScrollBars>;
|
|
189
219
|
lastCoords: {
|
|
190
220
|
x: number;
|
|
191
221
|
y: number;
|
|
@@ -198,7 +228,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
198
228
|
x: number;
|
|
199
229
|
y: number;
|
|
200
230
|
};
|
|
201
|
-
arrowDirection: "
|
|
231
|
+
arrowDirection: "origin" | "end";
|
|
202
232
|
center: {
|
|
203
233
|
x: number;
|
|
204
234
|
y: number;
|
|
@@ -222,16 +252,13 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
222
252
|
x: number;
|
|
223
253
|
y: number;
|
|
224
254
|
};
|
|
255
|
+
blockDragging: boolean;
|
|
225
256
|
};
|
|
226
257
|
eventListeners: {
|
|
227
|
-
onMove:
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
} | null;
|
|
232
|
-
onUp: ((event: PointerEvent) => void) | null;
|
|
233
|
-
onKeyDown: ((event: KeyboardEvent) => void) | null;
|
|
234
|
-
onKeyUp: ((event: KeyboardEvent) => void) | null;
|
|
258
|
+
onMove: null | ReturnType<typeof import("@excalidraw/common").throttleRAF>;
|
|
259
|
+
onUp: null | ((event: PointerEvent) => void);
|
|
260
|
+
onKeyDown: null | ((event: KeyboardEvent) => void);
|
|
261
|
+
onKeyUp: null | ((event: KeyboardEvent) => void);
|
|
235
262
|
};
|
|
236
263
|
boxSelection: {
|
|
237
264
|
hasOccurred: boolean;
|
|
@@ -243,17 +270,27 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
243
270
|
}>]>;
|
|
244
271
|
missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
|
|
245
272
|
onRemoveEventListenersEmitter: Emitter<[]>;
|
|
273
|
+
api: ExcalidrawImperativeAPI;
|
|
274
|
+
private createExcalidrawAPI;
|
|
246
275
|
constructor(props: AppProps);
|
|
247
276
|
updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
|
|
248
277
|
private onWindowMessage;
|
|
278
|
+
private handleSkipBindMode;
|
|
279
|
+
private resetDelayedBindMode;
|
|
280
|
+
private previousHoveredBindableElement;
|
|
281
|
+
private handleDelayedBindModeChange;
|
|
249
282
|
private cacheEmbeddableRef;
|
|
250
283
|
/**
|
|
251
284
|
* Returns gridSize taking into account `gridModeEnabled`.
|
|
252
285
|
* If disabled, returns null.
|
|
253
286
|
*/
|
|
254
287
|
getEffectiveGridSize: () => NullableGridSize;
|
|
288
|
+
private getTextCreationGridPoint;
|
|
255
289
|
private getHTMLIFrameElement;
|
|
256
|
-
private
|
|
290
|
+
private handleIframeLikeElementHover;
|
|
291
|
+
/** @returns true if iframe-like element click handled */
|
|
292
|
+
private handleIframeLikeCenterClick;
|
|
293
|
+
private isDoubleClick;
|
|
257
294
|
private isIframeLikeElementCenter;
|
|
258
295
|
private updateEmbedValidationStatus;
|
|
259
296
|
private updateEmbeddables;
|
|
@@ -265,8 +302,8 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
265
302
|
private toggleOverscrollBehavior;
|
|
266
303
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
267
304
|
focusContainer: AppClassProperties["focusContainer"];
|
|
268
|
-
getSceneElementsIncludingDeleted: () => readonly OrderedExcalidrawElement[];
|
|
269
|
-
getSceneElementsMapIncludingDeleted: () =>
|
|
305
|
+
getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
|
|
306
|
+
getSceneElementsMapIncludingDeleted: () => SceneElementsMap;
|
|
270
307
|
getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
|
|
271
308
|
onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
|
|
272
309
|
onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
|
|
@@ -297,9 +334,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
297
334
|
*/
|
|
298
335
|
private resetScene;
|
|
299
336
|
private initializeScene;
|
|
300
|
-
private
|
|
301
|
-
|
|
302
|
-
private
|
|
337
|
+
private getFormFactor;
|
|
338
|
+
refreshEditorInterface: () => void;
|
|
339
|
+
private reconcileStylesPanelMode;
|
|
340
|
+
/** TO BE USED LATER */
|
|
341
|
+
private setDesktopUIMode;
|
|
303
342
|
private clearImageShapeCache;
|
|
304
343
|
componentDidMount(): Promise<void>;
|
|
305
344
|
componentWillUnmount(): void;
|
|
@@ -316,6 +355,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
316
355
|
private static resetTapTwice;
|
|
317
356
|
private onTouchStart;
|
|
318
357
|
private onTouchEnd;
|
|
358
|
+
private insertClipboardContent;
|
|
319
359
|
pasteFromClipboard: (event: ClipboardEvent) => Promise<void>;
|
|
320
360
|
addElementsFromPasteOrLibrary: (opts: {
|
|
321
361
|
elements: readonly ExcalidrawElement[];
|
|
@@ -325,54 +365,57 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
325
365
|
clientY: number;
|
|
326
366
|
} | "cursor" | "center";
|
|
327
367
|
retainSeed?: boolean;
|
|
328
|
-
|
|
368
|
+
fit?: SetViewportOptions["fit"];
|
|
369
|
+
preserveFrameChildrenOrder?: boolean;
|
|
329
370
|
}) => void;
|
|
330
371
|
private addElementsFromMixedContentPaste;
|
|
331
372
|
private addTextFromPaste;
|
|
332
373
|
setAppState: React.Component<any, AppState>["setState"];
|
|
333
374
|
removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
|
|
334
375
|
toggleLock: (source?: "keyboard" | "ui") => void;
|
|
335
|
-
updateFrameRendering: (opts: Partial<
|
|
336
|
-
enabled: boolean;
|
|
337
|
-
name: boolean;
|
|
338
|
-
outline: boolean;
|
|
339
|
-
clip: boolean;
|
|
340
|
-
}> | ((prevState: AppState["frameRendering"]) => Partial<AppState["frameRendering"]>)) => void;
|
|
376
|
+
updateFrameRendering: (opts: Partial<AppState["frameRendering"]> | ((prevState: AppState["frameRendering"]) => Partial<AppState["frameRendering"]>)) => void;
|
|
341
377
|
togglePenMode: (force: boolean | null) => void;
|
|
342
378
|
onHandToolToggle: () => void;
|
|
343
379
|
/**
|
|
344
380
|
* Zooms on canvas viewport center
|
|
345
381
|
*/
|
|
346
|
-
zoomCanvas: (
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
382
|
+
zoomCanvas: (
|
|
383
|
+
/**
|
|
384
|
+
* Decimal fraction, auto-clamped between MIN_ZOOM and MAX_ZOOM.
|
|
385
|
+
* 1 = 100% zoom, 2 = 200% zoom, 0.5 = 50% zoom
|
|
386
|
+
*/
|
|
387
|
+
value: number) => void;
|
|
388
|
+
/**
|
|
389
|
+
* Navigates the viewport to a target and, optionally, locks pan/zoom to it.
|
|
390
|
+
* The resolved target box drives both the navigation (pan + zoom per
|
|
391
|
+
* `fit`) and the lock: the operations chain — the viewport animates onto
|
|
392
|
+
* the target, then the lock is installed against the settled viewport.
|
|
393
|
+
*
|
|
394
|
+
* Passing `null` clears any active lock without navigating.
|
|
395
|
+
*/
|
|
396
|
+
/**
|
|
397
|
+
* Resolves user-supplied viewport offsets ({@link ViewportOffsets}) into
|
|
398
|
+
* concrete per-side pixel values: static sides are used as-is, and when
|
|
399
|
+
* `ui` is set, the remaining sides are derived from the currently
|
|
400
|
+
* rendered editor UI (via `getViewportOffsets`).
|
|
401
|
+
*
|
|
402
|
+
* Must be called at the time the offsets are applied (not e.g. cached at
|
|
403
|
+
* props-definition time), so the UI-derived values reflect the actual
|
|
404
|
+
* rendered UI.
|
|
405
|
+
*/
|
|
406
|
+
private resolveViewportOffsets;
|
|
407
|
+
setViewport: (opts: SetViewportOptions | null) => void;
|
|
368
408
|
private maybeUnfollowRemoteUser;
|
|
369
409
|
/** use when changing scrollX/scrollY/zoom based on user interaction */
|
|
370
410
|
private translateCanvas;
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
411
|
+
/** clamps scroll/zoom back into `appState.scrollConstraints` (no-op when
|
|
412
|
+
* unconstrained). Runs as a queued update, so it sees the preceding change.
|
|
413
|
+
* `overscroll` (screen px) relaxes the bounds for rubberbanding. */
|
|
414
|
+
private constrainViewportToScrollConstraints;
|
|
415
|
+
/** animates an overscrolled viewport back inside the constraint box */
|
|
416
|
+
private snapBackToScrollConstraints;
|
|
417
|
+
private snapBackToScrollConstraintsDebounced;
|
|
418
|
+
setToast: (toast: AppState["toast"]) => void;
|
|
376
419
|
restoreFileFromShare: () => Promise<void>;
|
|
377
420
|
/**
|
|
378
421
|
* adds supplied files to existing files in the appState.
|
|
@@ -382,7 +425,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
382
425
|
private addMissingFiles;
|
|
383
426
|
updateScene: <K extends keyof AppState>(sceneData: {
|
|
384
427
|
elements?: SceneData["elements"];
|
|
385
|
-
appState?: Pick<AppState, K> | null
|
|
428
|
+
appState?: Pick<AppState, K> | null;
|
|
386
429
|
collaborators?: SceneData["collaborators"];
|
|
387
430
|
/**
|
|
388
431
|
* 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.
|
|
@@ -397,7 +440,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
397
440
|
*/
|
|
398
441
|
captureUpdate?: SceneData["captureUpdate"];
|
|
399
442
|
}) => void;
|
|
400
|
-
applyDeltas: (deltas: StoreDelta[], options?:
|
|
443
|
+
applyDeltas: (deltas: StoreDelta[], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
|
|
401
444
|
mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
|
|
402
445
|
private triggerRender;
|
|
403
446
|
/**
|
|
@@ -405,11 +448,21 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
405
448
|
*/
|
|
406
449
|
toggleSidebar: ({ name, tab, force, }: {
|
|
407
450
|
name: SidebarName | null;
|
|
408
|
-
tab?:
|
|
409
|
-
force?: boolean
|
|
451
|
+
tab?: SidebarTabName;
|
|
452
|
+
force?: boolean;
|
|
410
453
|
}) => boolean;
|
|
411
454
|
private updateCurrentCursorPosition;
|
|
412
|
-
|
|
455
|
+
/**
|
|
456
|
+
* top/right/bottom/left override the final offsets for those sides.
|
|
457
|
+
*
|
|
458
|
+
* Default side offsets are measured from the currently rendered UI
|
|
459
|
+
* surfaces marked with the `data-viewport-ui` attribute (see
|
|
460
|
+
* {@link ViewportUIDock}), plus padding.
|
|
461
|
+
*
|
|
462
|
+
* See {@link ViewportOffsetsOptions} for the individual options
|
|
463
|
+
* (padding, per-side overrides, reserving space for hidden surfaces).
|
|
464
|
+
*/
|
|
465
|
+
getViewportOffsets: (opts?: ViewportOffsetsOptions) => Offsets;
|
|
413
466
|
private onKeyDown;
|
|
414
467
|
private onKeyUp;
|
|
415
468
|
private isToolSupported;
|
|
@@ -438,7 +491,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
438
491
|
private onGestureEnd;
|
|
439
492
|
private handleTextWysiwyg;
|
|
440
493
|
private deselectElements;
|
|
494
|
+
private getSelectedTextElement;
|
|
495
|
+
private getSelectedTextEditingContainerAtPosition;
|
|
441
496
|
private getTextElementAtPosition;
|
|
497
|
+
private isHittingTextAutoResizeHandle;
|
|
498
|
+
private handleTextAutoResizeHandlePointerDown;
|
|
442
499
|
private getElementAtPosition;
|
|
443
500
|
private getElementsAtPosition;
|
|
444
501
|
getElementHitThreshold(element: ExcalidrawElement): number;
|
|
@@ -447,10 +504,20 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
447
504
|
private startTextEditing;
|
|
448
505
|
private startImageCropping;
|
|
449
506
|
private finishImageCropping;
|
|
507
|
+
private shouldHandleBrowserCanvasDoubleClick;
|
|
450
508
|
private handleCanvasDoubleClick;
|
|
509
|
+
private handleCanvasClick;
|
|
451
510
|
private getElementLinkAtPosition;
|
|
452
|
-
private
|
|
511
|
+
private handleElementLinkClick;
|
|
512
|
+
/**
|
|
513
|
+
* finds candidate frame under cursor (when dragging frame children/elements
|
|
514
|
+
* inside frames)
|
|
515
|
+
*/
|
|
453
516
|
private getTopLayerFrameAtSceneCoords;
|
|
517
|
+
private updateFrameToHighlight;
|
|
518
|
+
private maybeUpdateFrameToHighlightOnPointerMove;
|
|
519
|
+
private insertNewElements;
|
|
520
|
+
private insertNewElement;
|
|
454
521
|
private handleCanvasPointerMove;
|
|
455
522
|
private handleEraser;
|
|
456
523
|
private handleTouchMove;
|
|
@@ -489,9 +556,10 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
489
556
|
sceneY: number;
|
|
490
557
|
link: string;
|
|
491
558
|
}) => NonDeleted<ExcalidrawEmbeddableElement> | undefined;
|
|
492
|
-
private
|
|
559
|
+
private newImagePlaceholder;
|
|
493
560
|
private handleLinearElementOnPointerDown;
|
|
494
561
|
private getCurrentItemRoundness;
|
|
562
|
+
private getCurrentItemStrokeWidth;
|
|
495
563
|
private createGenericElementOnPointerDown;
|
|
496
564
|
private createFrameElementOnPointerDown;
|
|
497
565
|
private maybeCacheReferenceSnapPoints;
|
|
@@ -510,11 +578,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
510
578
|
* and when you don't want to loose those modifications
|
|
511
579
|
*/
|
|
512
580
|
private getLatestInitializedImageElement;
|
|
513
|
-
|
|
514
|
-
* inserts image into elements array and rerenders
|
|
515
|
-
*/
|
|
516
|
-
private insertImageElement;
|
|
517
|
-
private onImageAction;
|
|
581
|
+
private onImageToolbarButtonClick;
|
|
518
582
|
private getImageNaturalDimensions;
|
|
519
583
|
/** updates image cache, refreshing updated elements and/or setting status
|
|
520
584
|
to error for images that fail during <img> element creation */
|
|
@@ -524,12 +588,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
524
588
|
/** generally you should use `addNewImagesToImageCache()` directly if you need
|
|
525
589
|
* to render new images. This is just a failsafe */
|
|
526
590
|
private scheduleImageRefresh;
|
|
527
|
-
private updateBindingEnabledOnPointerMove;
|
|
528
|
-
private maybeSuggestBindingAtCursor;
|
|
529
591
|
private clearSelection;
|
|
530
592
|
private handleInteractiveCanvasRef;
|
|
593
|
+
private insertImages;
|
|
531
594
|
private handleAppOnDrop;
|
|
532
|
-
loadFileToCanvas: (file: File, fileHandle:
|
|
595
|
+
loadFileToCanvas: (file: File, fileHandle: FileSystemFileHandle | null) => Promise<void>;
|
|
533
596
|
private handleCanvasContextMenu;
|
|
534
597
|
private maybeDragNewGenericElement;
|
|
535
598
|
private maybeHandleCrop;
|
|
@@ -542,6 +605,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
542
605
|
private updateDOMRect;
|
|
543
606
|
refresh: () => void;
|
|
544
607
|
private getCanvasOffsets;
|
|
608
|
+
watchState: () => void;
|
|
545
609
|
private updateLanguage;
|
|
546
610
|
}
|
|
547
611
|
declare global {
|
|
@@ -551,6 +615,7 @@ declare global {
|
|
|
551
615
|
elements: readonly ExcalidrawElement[];
|
|
552
616
|
state: AppState;
|
|
553
617
|
setState: React.Component<any, AppState>["setState"];
|
|
618
|
+
watchState: (prev: any, next: any) => void | undefined;
|
|
554
619
|
app: InstanceType<typeof App>;
|
|
555
620
|
history: History;
|
|
556
621
|
store: Store;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { AppState, UnsubscribeCallback } from "../types";
|
|
2
|
+
type StateChangeSelector = keyof AppState | (keyof AppState)[] | ((appState: AppState) => unknown);
|
|
3
|
+
export type OnStateChange = {
|
|
4
|
+
<K extends keyof AppState>(prop: K, callback: (value: AppState[K], appState: AppState) => void, opts?: {
|
|
5
|
+
once: boolean;
|
|
6
|
+
}): UnsubscribeCallback;
|
|
7
|
+
<K extends keyof AppState>(prop: K): Promise<AppState[K]>;
|
|
8
|
+
(prop: (keyof AppState)[], callback: (appState: AppState, appState2: AppState) => void, opts?: {
|
|
9
|
+
once: boolean;
|
|
10
|
+
}): UnsubscribeCallback;
|
|
11
|
+
(prop: (keyof AppState)[]): Promise<AppState>;
|
|
12
|
+
<T>(prop: (appState: AppState) => T, callback: (value: T, appState: AppState) => void, opts?: {
|
|
13
|
+
once: boolean;
|
|
14
|
+
}): UnsubscribeCallback;
|
|
15
|
+
<T>(prop: (appState: AppState) => T): Promise<T>;
|
|
16
|
+
(opts: {
|
|
17
|
+
predicate: (appState: AppState) => boolean;
|
|
18
|
+
callback: (appState: AppState) => void;
|
|
19
|
+
once?: boolean;
|
|
20
|
+
}): UnsubscribeCallback;
|
|
21
|
+
(opts: {
|
|
22
|
+
predicate: (appState: AppState) => boolean;
|
|
23
|
+
}): Promise<AppState>;
|
|
24
|
+
(selector: StateChangeSelector, callback: (value: any, appState: AppState) => void): any;
|
|
25
|
+
};
|
|
26
|
+
export declare class AppStateObserver {
|
|
27
|
+
private readonly getState;
|
|
28
|
+
private listeners;
|
|
29
|
+
constructor(getState: () => AppState);
|
|
30
|
+
private isStateChangePredicateOptions;
|
|
31
|
+
private subscribe;
|
|
32
|
+
private normalize;
|
|
33
|
+
onStateChange: OnStateChange;
|
|
34
|
+
flush(prevState: AppState): void;
|
|
35
|
+
clear(): void;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { ColorPickerType } from "./colorPickerUtils";
|
|
2
|
-
|
|
2
|
+
export declare const ColorInput: ({ color, onChange, label, colorPickerType, placeholder, }: {
|
|
3
3
|
color: string;
|
|
4
4
|
onChange: (color: string) => void;
|
|
5
5
|
label: string;
|
|
6
6
|
colorPickerType: ColorPickerType;
|
|
7
7
|
placeholder?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare const ColorInput: ({ color, onChange, label, colorPickerType, placeholder, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export {};
|
|
8
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,7 +3,6 @@ import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
|
3
3
|
import "./ColorPicker.scss";
|
|
4
4
|
import type { ColorPickerType } from "./colorPickerUtils";
|
|
5
5
|
import type { AppState } from "../../types";
|
|
6
|
-
export declare const getColor: (color: string) => string | null;
|
|
7
6
|
interface ColorPickerProps {
|
|
8
7
|
type: ColorPickerType;
|
|
9
8
|
/**
|
|
@@ -10,8 +10,10 @@ interface PickerProps {
|
|
|
10
10
|
palette: ColorPaletteCustom;
|
|
11
11
|
updateData: (formData?: any) => void;
|
|
12
12
|
children?: React.ReactNode;
|
|
13
|
+
showTitle?: boolean;
|
|
13
14
|
onEyeDropperToggle: (force?: boolean) => void;
|
|
14
15
|
onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
|
|
16
|
+
showHotKey?: boolean;
|
|
15
17
|
}
|
|
16
18
|
export declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
|
|
17
19
|
export {};
|
|
@@ -4,6 +4,7 @@ interface PickerColorListProps {
|
|
|
4
4
|
color: string | null;
|
|
5
5
|
onChange: (color: string) => void;
|
|
6
6
|
activeShade: number;
|
|
7
|
+
showHotKey?: boolean;
|
|
7
8
|
}
|
|
8
|
-
declare const PickerColorList: ({ palette, color, onChange, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare const PickerColorList: ({ palette, color, onChange, activeShade, showHotKey, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
export default PickerColorList;
|
|
@@ -3,6 +3,7 @@ interface ShadeListProps {
|
|
|
3
3
|
color: string | null;
|
|
4
4
|
onChange: (color: string) => void;
|
|
5
5
|
palette: ColorPaletteCustom;
|
|
6
|
+
showHotKey?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare const ShadeList: ({ color, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const ShadeList: ({ color, onChange, palette, showHotKey, }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -14,8 +14,7 @@ export declare const isCustomColor: ({ color, palette, }: {
|
|
|
14
14
|
}) => boolean;
|
|
15
15
|
export declare const getMostUsedCustomColors: (elements: readonly ExcalidrawElement[], type: "elementBackground" | "elementStroke", palette: ColorPaletteCustom) => string[];
|
|
16
16
|
export type ActiveColorPickerSectionAtomType = "custom" | "baseColors" | "shades" | "hex" | null;
|
|
17
|
-
export declare const activeColorPickerSectionAtom: import("jotai
|
|
17
|
+
export declare const activeColorPickerSectionAtom: import("jotai").PrimitiveAtom<ActiveColorPickerSectionAtomType> & {
|
|
18
18
|
init: ActiveColorPickerSectionAtomType;
|
|
19
19
|
};
|
|
20
|
-
export declare const isColorDark: (color: string, threshold?: number) => boolean;
|
|
21
20
|
export type ColorPickerType = "canvasBackground" | "elementBackground" | "elementStroke";
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const toggleTheme: CommandPaletteItem;
|
|
1
|
+
export {};
|