@excalidraw/element 0.18.0-3bdaafe → 0.18.0-4a5c9e9
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 +5215 -2619
- package/dist/dev/index.js.map +4 -4
- package/dist/prod/index.js +19 -18
- 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 +36 -27
- 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 +53 -41
- package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
- package/dist/types/element/src/Scene.d.ts +5 -3
- 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 +3 -11
- package/dist/types/element/src/collision.d.ts +7 -2
- package/dist/types/element/src/comparisons.d.ts +7 -7
- 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 +3 -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 +5 -1
- 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 +4 -3
- package/dist/types/element/src/linearElementEditor.d.ts +23 -22
- package/dist/types/element/src/mutateElement.d.ts +5 -1
- package/dist/types/element/src/newElement.d.ts +6 -6
- 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 +8 -8
- package/dist/types/element/src/shape.d.ts +9 -8
- package/dist/types/element/src/textElement.d.ts +1 -1
- 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 +4 -7
- package/dist/types/element/src/types.d.ts +12 -13
- package/dist/types/element/src/utils.d.ts +9 -4
- package/dist/types/element/src/visualdebug.d.ts +59 -0
- package/dist/types/element/src/zindex.d.ts +7 -1
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +128 -168
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -7
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +92 -119
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +544 -902
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +110 -878
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +44 -58
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +148 -192
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +159 -0
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +36 -56
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +90 -117
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +45 -59
- package/dist/types/excalidraw/actions/actionExport.d.ts +171 -1403
- 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 +275 -366
- package/dist/types/excalidraw/actions/actionGroup.d.ts +95 -130
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +154 -206
- package/dist/types/excalidraw/actions/actionLink.d.ts +42 -56
- package/dist/types/excalidraw/actions/actionMenu.d.ts +35 -421
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
- package/dist/types/excalidraw/actions/actionProperties.d.ts +150 -2507
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +47 -65
- package/dist/types/excalidraw/actions/actionStyles.d.ts +44 -57
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +172 -0
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +44 -58
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +172 -0
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +44 -58
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +33 -53
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +44 -58
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +44 -58
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +45 -59
- package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -3
- 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/appState.d.ts +21 -14
- 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 +56 -19
- package/dist/types/excalidraw/components/Actions.d.ts +22 -5
- package/dist/types/excalidraw/components/App.d.ts +109 -70
- 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 +0 -1
- 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/types.d.ts +2 -4
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
- 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 +0 -1
- 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/LayerUI.d.ts +2 -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/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/ScrollableList.d.ts +0 -1
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
- 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 +7 -3
- 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 +0 -1
- 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 +49 -21
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +19 -2
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
- package/dist/types/excalidraw/components/shapes.d.ts +74 -1
- package/dist/types/excalidraw/data/blob.d.ts +327 -15
- 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 +170 -4
- package/dist/types/excalidraw/data/library.d.ts +24 -9
- 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/errors.d.ts +14 -0
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
- 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/renderer/animation.d.ts +12 -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 +5 -2
- package/dist/types/excalidraw/scene/export.d.ts +2 -2
- package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
- 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 +121 -35
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +7 -3
- package/dist/types/math/src/point.d.ts +7 -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/bbox.d.ts +1 -1
- package/dist/types/utils/src/export.d.ts +5 -5
- package/dist/types/utils/src/shape.d.ts +6 -6
- package/dist/types/utils/src/withinBounds.d.ts +2 -2
- package/package.json +9 -3
- 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
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ALLOWED_PASTE_MIME_TYPES } from "@excalidraw/common";
|
|
2
|
+
import type { ValueOf } from "@excalidraw/common/utility-types";
|
|
3
|
+
import type { IMAGE_MIME_TYPES, STRING_MIME_TYPES } from "@excalidraw/common";
|
|
2
4
|
import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
-
import type { Spreadsheet } from "./charts";
|
|
4
5
|
import type { BinaryFiles } from "./types";
|
|
5
6
|
export type PastedMixedContent = {
|
|
6
7
|
type: "text" | "imageUrl";
|
|
7
8
|
value: string;
|
|
8
9
|
}[];
|
|
9
10
|
export interface ClipboardData {
|
|
10
|
-
spreadsheet?: Spreadsheet;
|
|
11
11
|
elements?: readonly ExcalidrawElement[];
|
|
12
12
|
files?: BinaryFiles;
|
|
13
13
|
text?: string;
|
|
@@ -20,26 +20,16 @@ export declare const probablySupportsClipboardReadText: boolean;
|
|
|
20
20
|
export declare const probablySupportsClipboardWriteText: boolean;
|
|
21
21
|
export declare const probablySupportsClipboardBlob: boolean;
|
|
22
22
|
export declare const createPasteEvent: ({ types, files, }: {
|
|
23
|
-
types?: {
|
|
24
|
-
|
|
25
|
-
"text/html"?: string | File | undefined;
|
|
26
|
-
"image/svg+xml"?: string | File | undefined;
|
|
27
|
-
"image/png"?: string | File | undefined;
|
|
28
|
-
"image/jpeg"?: string | File | undefined;
|
|
29
|
-
"image/gif"?: string | File | undefined;
|
|
30
|
-
"image/webp"?: string | File | undefined;
|
|
31
|
-
"image/bmp"?: string | File | undefined;
|
|
32
|
-
"image/x-icon"?: string | File | undefined;
|
|
33
|
-
"image/avif"?: string | File | undefined;
|
|
34
|
-
"image/jfif"?: string | File | undefined;
|
|
35
|
-
} | undefined;
|
|
36
|
-
files?: File[] | undefined;
|
|
23
|
+
types?: { [key in AllowedPasteMimeTypes]?: string | File; };
|
|
24
|
+
files?: File[];
|
|
37
25
|
}) => ClipboardEvent;
|
|
38
26
|
export declare const serializeAsClipboardJSON: ({ elements, files, }: {
|
|
39
27
|
elements: readonly NonDeletedExcalidrawElement[];
|
|
40
28
|
files: BinaryFiles | null;
|
|
41
29
|
}) => string;
|
|
42
|
-
export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawElement[], files: BinaryFiles | null,
|
|
30
|
+
export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawElement[], files: BinaryFiles | null,
|
|
31
|
+
/** supply if available to make the operation more certain to succeed */
|
|
32
|
+
clipboardEvent?: ClipboardEvent | null) => Promise<void>;
|
|
43
33
|
/**
|
|
44
34
|
* Reads OS clipboard programmatically. May not work on all browsers.
|
|
45
35
|
* Will prompt user for permission if not granted.
|
|
@@ -57,11 +47,58 @@ export declare const readSystemClipboard: () => Promise<{
|
|
|
57
47
|
"image/avif"?: string | File | undefined;
|
|
58
48
|
"image/jfif"?: string | File | undefined;
|
|
59
49
|
}>;
|
|
50
|
+
type AllowedParsedDataTransferItem = {
|
|
51
|
+
type: ValueOf<typeof IMAGE_MIME_TYPES>;
|
|
52
|
+
kind: "file";
|
|
53
|
+
file: File;
|
|
54
|
+
fileHandle: FileSystemFileHandle | null;
|
|
55
|
+
} | {
|
|
56
|
+
type: ValueOf<typeof STRING_MIME_TYPES>;
|
|
57
|
+
kind: "string";
|
|
58
|
+
value: string;
|
|
59
|
+
};
|
|
60
|
+
type ParsedDataTransferItem = {
|
|
61
|
+
type: string;
|
|
62
|
+
kind: "file";
|
|
63
|
+
file: File;
|
|
64
|
+
fileHandle: FileSystemFileHandle | null;
|
|
65
|
+
} | {
|
|
66
|
+
type: string;
|
|
67
|
+
kind: "string";
|
|
68
|
+
value: string;
|
|
69
|
+
};
|
|
70
|
+
type ParsedDataTransferItemType<T extends AllowedParsedDataTransferItem["type"]> = AllowedParsedDataTransferItem & {
|
|
71
|
+
type: T;
|
|
72
|
+
};
|
|
73
|
+
export type ParsedDataTransferFile = Extract<AllowedParsedDataTransferItem, {
|
|
74
|
+
kind: "file";
|
|
75
|
+
}>;
|
|
76
|
+
export type ParsedDataTranferList = ParsedDataTransferItem[] & {
|
|
77
|
+
/**
|
|
78
|
+
* Only allows filtering by known `string` data types, since `file`
|
|
79
|
+
* types can have multiple items of the same type (e.g. multiple image files)
|
|
80
|
+
* unlike `string` data transfer items.
|
|
81
|
+
*/
|
|
82
|
+
findByType: typeof findDataTransferItemType;
|
|
83
|
+
/**
|
|
84
|
+
* Only allows filtering by known `string` data types, since `file`
|
|
85
|
+
* types can have multiple items of the same type (e.g. multiple image files)
|
|
86
|
+
* unlike `string` data transfer items.
|
|
87
|
+
*/
|
|
88
|
+
getData: typeof getDataTransferItemData;
|
|
89
|
+
getFiles: typeof getDataTransferFiles;
|
|
90
|
+
};
|
|
91
|
+
declare const findDataTransferItemType: <T extends ValueOf<typeof STRING_MIME_TYPES>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<T> | null;
|
|
92
|
+
declare const getDataTransferItemData: <T extends ValueOf<typeof STRING_MIME_TYPES>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<ValueOf<typeof STRING_MIME_TYPES>>["value"] | null;
|
|
93
|
+
declare const getDataTransferFiles: (this: ParsedDataTranferList) => ParsedDataTransferFile[];
|
|
94
|
+
/** @returns list of MIME types, synchronously */
|
|
95
|
+
export declare const parseDataTransferEventMimeTypes: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Set<string>;
|
|
96
|
+
export declare const parseDataTransferEvent: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Promise<ParsedDataTranferList>;
|
|
60
97
|
/**
|
|
61
98
|
* Attempts to parse clipboard event.
|
|
62
99
|
*/
|
|
63
|
-
export declare const parseClipboard: (
|
|
100
|
+
export declare const parseClipboard: (dataList: ParsedDataTranferList, isPlainPaste?: boolean) => Promise<ClipboardData>;
|
|
64
101
|
export declare const copyBlobToClipboardAsPng: (blob: Blob | Promise<Blob>) => Promise<void>;
|
|
65
|
-
export declare const copyTextToSystemClipboard: (text: string | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
|
|
102
|
+
export declare const copyTextToSystemClipboard: <MimeType extends ValueOf<typeof STRING_MIME_TYPES>>(text: string | { [K in MimeType]: string; } | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
|
|
66
103
|
export declare const isClipboardEvent: (event: React.SyntheticEvent | Event) => event is ClipboardEvent;
|
|
67
104
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
|
|
2
2
|
import "./Actions.scss";
|
|
3
|
-
import type { AppClassProperties, AppProps, UIAppState, Zoom } from "../types";
|
|
3
|
+
import type { AppClassProperties, AppProps, UIAppState, Zoom, AppState } from "../types";
|
|
4
4
|
import type { ActionManager } from "../actions/manager";
|
|
5
5
|
export declare const canChangeStrokeColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
|
|
6
6
|
export declare const canChangeBackgroundColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
|
|
@@ -10,9 +10,23 @@ export declare const SelectedShapeActions: ({ appState, elementsMap, renderActio
|
|
|
10
10
|
renderAction: ActionManager["renderAction"];
|
|
11
11
|
app: AppClassProperties;
|
|
12
12
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export declare const
|
|
14
|
-
activeTool: UIAppState["activeTool"];
|
|
13
|
+
export declare const CompactShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
|
|
15
14
|
appState: UIAppState;
|
|
15
|
+
elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
|
|
16
|
+
renderAction: ActionManager["renderAction"];
|
|
17
|
+
app: AppClassProperties;
|
|
18
|
+
setAppState: React.Component<any, AppState>["setState"];
|
|
19
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare const MobileShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
|
|
21
|
+
appState: UIAppState;
|
|
22
|
+
elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
|
|
23
|
+
renderAction: ActionManager["renderAction"];
|
|
24
|
+
app: AppClassProperties;
|
|
25
|
+
setAppState: React.Component<any, AppState>["setState"];
|
|
26
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare const ShapesSwitcher: ({ activeTool, setAppState, app, UIOptions, }: {
|
|
28
|
+
activeTool: UIAppState["activeTool"];
|
|
29
|
+
setAppState: React.Component<any, AppState>["setState"];
|
|
16
30
|
app: AppClassProperties;
|
|
17
31
|
UIOptions: AppProps["UIOptions"];
|
|
18
32
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -22,9 +36,12 @@ export declare const ZoomActions: ({ renderAction, zoom, }: {
|
|
|
22
36
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
23
37
|
export declare const UndoRedoActions: ({ renderAction, className, }: {
|
|
24
38
|
renderAction: ActionManager["renderAction"];
|
|
25
|
-
className?: string
|
|
39
|
+
className?: string;
|
|
26
40
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
-
export declare const
|
|
41
|
+
export declare const ExitZenModeButton: ({ actionManager, showExitZenModeBtn, }: {
|
|
28
42
|
actionManager: ActionManager;
|
|
29
43
|
showExitZenModeBtn: boolean;
|
|
30
44
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export declare const ExitViewModeButton: ({ actionManager, }: {
|
|
46
|
+
actionManager: ActionManager;
|
|
47
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
|
|
2
|
+
import { AppEventBus, type EXPORT_IMAGE_TYPES, Emitter, type EditorInterface, type StylesPanelMode } from "@excalidraw/common";
|
|
3
3
|
import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
|
|
4
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";
|
|
@@ -10,30 +10,48 @@ import { Fonts } from "../fonts";
|
|
|
10
10
|
import { type WritableAtom } from "../editor-jotai";
|
|
11
11
|
import { Renderer } from "../scene/Renderer";
|
|
12
12
|
import { LaserTrails } from "../laser-trails";
|
|
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 } from "../types";
|
|
18
|
+
import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, ExcalidrawImperativeAPIEventMap, GenerateDiagramToCode, NullableGridSize, Offsets } 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,25 @@ 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;
|
|
52
76
|
private excalidrawContainerRef;
|
|
53
77
|
scene: Scene;
|
|
54
78
|
fonts: Fonts;
|
|
55
79
|
renderer: Renderer;
|
|
56
80
|
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
57
81
|
private resizeObserver;
|
|
58
|
-
private nearestScrollableContainer;
|
|
59
82
|
library: AppClassProperties["library"];
|
|
60
83
|
libraryItemsFromStorage: LibraryItems | undefined;
|
|
61
84
|
id: string;
|
|
@@ -78,18 +101,31 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
78
101
|
/** embeds that have been inserted to DOM (as a perf optim, we don't want to
|
|
79
102
|
* insert to DOM before user initially scrolls to them) */
|
|
80
103
|
private initializedEmbeds;
|
|
81
|
-
private handleToastClose;
|
|
82
104
|
private elementsPendingErasure;
|
|
105
|
+
private _initialized;
|
|
106
|
+
private readonly editorLifecycleEvents;
|
|
107
|
+
onEvent: AppEventBus<ExcalidrawImperativeAPIEventMap, typeof editorLifecycleEventBehavior>["on"];
|
|
108
|
+
private appStateObserver;
|
|
109
|
+
onStateChange: OnStateChange;
|
|
83
110
|
flowChartCreator: FlowChartCreator;
|
|
84
111
|
private flowChartNavigator;
|
|
112
|
+
bindModeHandler: ReturnType<typeof setTimeout> | null;
|
|
85
113
|
hitLinkElement?: NonDeletedExcalidrawElement;
|
|
86
114
|
lastPointerDownEvent: React.PointerEvent<HTMLElement> | null;
|
|
87
115
|
lastPointerUpEvent: React.PointerEvent<HTMLElement> | PointerEvent | null;
|
|
116
|
+
lastPointerUpIsDoubleClick: boolean;
|
|
88
117
|
lastPointerMoveEvent: PointerEvent | null;
|
|
118
|
+
/** current frame pointer cords */
|
|
89
119
|
lastPointerMoveCoords: {
|
|
90
120
|
x: number;
|
|
91
121
|
y: number;
|
|
92
122
|
} | null;
|
|
123
|
+
private lastCompletedCanvasClicks;
|
|
124
|
+
/** previous frame pointer coords */
|
|
125
|
+
previousPointerMoveCoords: {
|
|
126
|
+
x: number;
|
|
127
|
+
y: number;
|
|
128
|
+
} | null;
|
|
93
129
|
lastViewportPosition: {
|
|
94
130
|
x: number;
|
|
95
131
|
y: number;
|
|
@@ -112,11 +148,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
112
148
|
x: number;
|
|
113
149
|
y: number;
|
|
114
150
|
}>;
|
|
115
|
-
scrollbars:
|
|
116
|
-
isOverEither: boolean;
|
|
117
|
-
isOverHorizontal: boolean;
|
|
118
|
-
isOverVertical: boolean;
|
|
119
|
-
};
|
|
151
|
+
scrollbars: ReturnType<typeof isOverScrollBars>;
|
|
120
152
|
lastCoords: {
|
|
121
153
|
x: number;
|
|
122
154
|
y: number;
|
|
@@ -129,7 +161,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
129
161
|
x: number;
|
|
130
162
|
y: number;
|
|
131
163
|
};
|
|
132
|
-
arrowDirection: "
|
|
164
|
+
arrowDirection: "origin" | "end";
|
|
133
165
|
center: {
|
|
134
166
|
x: number;
|
|
135
167
|
y: number;
|
|
@@ -156,14 +188,10 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
156
188
|
blockDragging: boolean;
|
|
157
189
|
};
|
|
158
190
|
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;
|
|
191
|
+
onMove: null | ReturnType<typeof import("@excalidraw/common").throttleRAF>;
|
|
192
|
+
onUp: null | ((event: PointerEvent) => void);
|
|
193
|
+
onKeyDown: null | ((event: KeyboardEvent) => void);
|
|
194
|
+
onKeyUp: null | ((event: KeyboardEvent) => void);
|
|
167
195
|
};
|
|
168
196
|
boxSelection: {
|
|
169
197
|
hasOccurred: boolean;
|
|
@@ -182,11 +210,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
182
210
|
x: number;
|
|
183
211
|
y: number;
|
|
184
212
|
}>;
|
|
185
|
-
scrollbars:
|
|
186
|
-
isOverEither: boolean;
|
|
187
|
-
isOverHorizontal: boolean;
|
|
188
|
-
isOverVertical: boolean;
|
|
189
|
-
};
|
|
213
|
+
scrollbars: ReturnType<typeof isOverScrollBars>;
|
|
190
214
|
lastCoords: {
|
|
191
215
|
x: number;
|
|
192
216
|
y: number;
|
|
@@ -199,7 +223,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
199
223
|
x: number;
|
|
200
224
|
y: number;
|
|
201
225
|
};
|
|
202
|
-
arrowDirection: "
|
|
226
|
+
arrowDirection: "origin" | "end";
|
|
203
227
|
center: {
|
|
204
228
|
x: number;
|
|
205
229
|
y: number;
|
|
@@ -226,14 +250,10 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
226
250
|
blockDragging: boolean;
|
|
227
251
|
};
|
|
228
252
|
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;
|
|
253
|
+
onMove: null | ReturnType<typeof import("@excalidraw/common").throttleRAF>;
|
|
254
|
+
onUp: null | ((event: PointerEvent) => void);
|
|
255
|
+
onKeyDown: null | ((event: KeyboardEvent) => void);
|
|
256
|
+
onKeyUp: null | ((event: KeyboardEvent) => void);
|
|
237
257
|
};
|
|
238
258
|
boxSelection: {
|
|
239
259
|
hasOccurred: boolean;
|
|
@@ -245,18 +265,27 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
245
265
|
}>]>;
|
|
246
266
|
missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
|
|
247
267
|
onRemoveEventListenersEmitter: Emitter<[]>;
|
|
248
|
-
|
|
268
|
+
api: ExcalidrawImperativeAPI;
|
|
269
|
+
private createExcalidrawAPI;
|
|
249
270
|
constructor(props: AppProps);
|
|
250
271
|
updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
|
|
251
272
|
private onWindowMessage;
|
|
273
|
+
private handleSkipBindMode;
|
|
274
|
+
private resetDelayedBindMode;
|
|
275
|
+
private previousHoveredBindableElement;
|
|
276
|
+
private handleDelayedBindModeChange;
|
|
252
277
|
private cacheEmbeddableRef;
|
|
253
278
|
/**
|
|
254
279
|
* Returns gridSize taking into account `gridModeEnabled`.
|
|
255
280
|
* If disabled, returns null.
|
|
256
281
|
*/
|
|
257
282
|
getEffectiveGridSize: () => NullableGridSize;
|
|
283
|
+
private getTextCreationGridPoint;
|
|
258
284
|
private getHTMLIFrameElement;
|
|
259
|
-
private
|
|
285
|
+
private handleIframeLikeElementHover;
|
|
286
|
+
/** @returns true if iframe-like element click handled */
|
|
287
|
+
private handleIframeLikeCenterClick;
|
|
288
|
+
private isDoubleClick;
|
|
260
289
|
private isIframeLikeElementCenter;
|
|
261
290
|
private updateEmbedValidationStatus;
|
|
262
291
|
private updateEmbeddables;
|
|
@@ -269,7 +298,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
269
298
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
270
299
|
focusContainer: AppClassProperties["focusContainer"];
|
|
271
300
|
getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
|
|
272
|
-
getSceneElementsMapIncludingDeleted: () =>
|
|
301
|
+
getSceneElementsMapIncludingDeleted: () => SceneElementsMap;
|
|
273
302
|
getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
|
|
274
303
|
onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
|
|
275
304
|
onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
|
|
@@ -300,10 +329,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
300
329
|
*/
|
|
301
330
|
private resetScene;
|
|
302
331
|
private initializeScene;
|
|
303
|
-
private
|
|
304
|
-
|
|
305
|
-
private
|
|
306
|
-
|
|
332
|
+
private getFormFactor;
|
|
333
|
+
refreshEditorInterface: () => void;
|
|
334
|
+
private reconcileStylesPanelMode;
|
|
335
|
+
/** TO BE USED LATER */
|
|
336
|
+
private setDesktopUIMode;
|
|
307
337
|
private clearImageShapeCache;
|
|
308
338
|
componentDidMount(): Promise<void>;
|
|
309
339
|
componentWillUnmount(): void;
|
|
@@ -337,20 +367,27 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
337
367
|
setAppState: React.Component<any, AppState>["setState"];
|
|
338
368
|
removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
|
|
339
369
|
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;
|
|
370
|
+
updateFrameRendering: (opts: Partial<AppState["frameRendering"]> | ((prevState: AppState["frameRendering"]) => Partial<AppState["frameRendering"]>)) => void;
|
|
346
371
|
togglePenMode: (force: boolean | null) => void;
|
|
347
372
|
onHandToolToggle: () => void;
|
|
348
373
|
/**
|
|
349
374
|
* Zooms on canvas viewport center
|
|
350
375
|
*/
|
|
351
|
-
zoomCanvas: (
|
|
376
|
+
zoomCanvas: (
|
|
377
|
+
/**
|
|
378
|
+
* Decimal fraction, auto-clamped between MIN_ZOOM and MAX_ZOOM.
|
|
379
|
+
* 1 = 100% zoom, 2 = 200% zoom, 0.5 = 50% zoom
|
|
380
|
+
*/
|
|
381
|
+
value: number) => void;
|
|
352
382
|
private cancelInProgressAnimation;
|
|
353
|
-
scrollToContent: (
|
|
383
|
+
scrollToContent: (
|
|
384
|
+
/**
|
|
385
|
+
* target to scroll to
|
|
386
|
+
*
|
|
387
|
+
* - string - id of element or group, or url containing elementLink
|
|
388
|
+
* - ExcalidrawElement | ExcalidrawElement[] - element(s) objects
|
|
389
|
+
*/
|
|
390
|
+
target?: string | ExcalidrawElement | readonly ExcalidrawElement[], opts?: ({
|
|
354
391
|
fitToContent?: boolean;
|
|
355
392
|
fitToViewport?: never;
|
|
356
393
|
viewportZoomFactor?: number;
|
|
@@ -373,11 +410,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
373
410
|
private maybeUnfollowRemoteUser;
|
|
374
411
|
/** use when changing scrollX/scrollY/zoom based on user interaction */
|
|
375
412
|
private translateCanvas;
|
|
376
|
-
setToast: (toast:
|
|
377
|
-
message: string;
|
|
378
|
-
closable?: boolean;
|
|
379
|
-
duration?: number;
|
|
380
|
-
} | null) => void;
|
|
413
|
+
setToast: (toast: AppState["toast"]) => void;
|
|
381
414
|
restoreFileFromShare: () => Promise<void>;
|
|
382
415
|
/**
|
|
383
416
|
* adds supplied files to existing files in the appState.
|
|
@@ -387,7 +420,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
387
420
|
private addMissingFiles;
|
|
388
421
|
updateScene: <K extends keyof AppState>(sceneData: {
|
|
389
422
|
elements?: SceneData["elements"];
|
|
390
|
-
appState?: Pick<AppState, K> | null
|
|
423
|
+
appState?: Pick<AppState, K> | null;
|
|
391
424
|
collaborators?: SceneData["collaborators"];
|
|
392
425
|
/**
|
|
393
426
|
* 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.
|
|
@@ -410,8 +443,8 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
410
443
|
*/
|
|
411
444
|
toggleSidebar: ({ name, tab, force, }: {
|
|
412
445
|
name: SidebarName | null;
|
|
413
|
-
tab?:
|
|
414
|
-
force?: boolean
|
|
446
|
+
tab?: SidebarTabName;
|
|
447
|
+
force?: boolean;
|
|
415
448
|
}) => boolean;
|
|
416
449
|
private updateCurrentCursorPosition;
|
|
417
450
|
getEditorUIOffsets: () => Offsets;
|
|
@@ -443,7 +476,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
443
476
|
private onGestureEnd;
|
|
444
477
|
private handleTextWysiwyg;
|
|
445
478
|
private deselectElements;
|
|
479
|
+
private getSelectedTextElement;
|
|
480
|
+
private getSelectedTextEditingContainerAtPosition;
|
|
446
481
|
private getTextElementAtPosition;
|
|
482
|
+
private isHittingTextAutoResizeHandle;
|
|
483
|
+
private handleTextAutoResizeHandlePointerDown;
|
|
447
484
|
private getElementAtPosition;
|
|
448
485
|
private getElementsAtPosition;
|
|
449
486
|
getElementHitThreshold(element: ExcalidrawElement): number;
|
|
@@ -452,9 +489,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
452
489
|
private startTextEditing;
|
|
453
490
|
private startImageCropping;
|
|
454
491
|
private finishImageCropping;
|
|
492
|
+
private shouldHandleBrowserCanvasDoubleClick;
|
|
455
493
|
private handleCanvasDoubleClick;
|
|
494
|
+
private handleCanvasClick;
|
|
456
495
|
private getElementLinkAtPosition;
|
|
457
|
-
private
|
|
496
|
+
private handleElementLinkClick;
|
|
458
497
|
private getTopLayerFrameAtSceneCoords;
|
|
459
498
|
private handleCanvasPointerMove;
|
|
460
499
|
private handleEraser;
|
|
@@ -525,13 +564,11 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
525
564
|
/** generally you should use `addNewImagesToImageCache()` directly if you need
|
|
526
565
|
* to render new images. This is just a failsafe */
|
|
527
566
|
private scheduleImageRefresh;
|
|
528
|
-
private updateBindingEnabledOnPointerMove;
|
|
529
|
-
private maybeSuggestBindingAtCursor;
|
|
530
567
|
private clearSelection;
|
|
531
568
|
private handleInteractiveCanvasRef;
|
|
532
569
|
private insertImages;
|
|
533
570
|
private handleAppOnDrop;
|
|
534
|
-
loadFileToCanvas: (file: File, fileHandle:
|
|
571
|
+
loadFileToCanvas: (file: File, fileHandle: FileSystemFileHandle | null) => Promise<void>;
|
|
535
572
|
private handleCanvasContextMenu;
|
|
536
573
|
private maybeDragNewGenericElement;
|
|
537
574
|
private maybeHandleCrop;
|
|
@@ -544,6 +581,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
544
581
|
private updateDOMRect;
|
|
545
582
|
refresh: () => void;
|
|
546
583
|
private getCanvasOffsets;
|
|
584
|
+
watchState: () => void;
|
|
547
585
|
private updateLanguage;
|
|
548
586
|
}
|
|
549
587
|
declare global {
|
|
@@ -553,6 +591,7 @@ declare global {
|
|
|
553
591
|
elements: readonly ExcalidrawElement[];
|
|
554
592
|
state: AppState;
|
|
555
593
|
setState: React.Component<any, AppState>["setState"];
|
|
594
|
+
watchState: (prev: any, next: any) => void | undefined;
|
|
556
595
|
app: InstanceType<typeof App>;
|
|
557
596
|
history: History;
|
|
558
597
|
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 {};
|
|
@@ -17,5 +17,4 @@ export type ActiveColorPickerSectionAtomType = "custom" | "baseColors" | "shades
|
|
|
17
17
|
export declare const activeColorPickerSectionAtom: import("jotai/vanilla/atom").PrimitiveAtom<ActiveColorPickerSectionAtomType> & {
|
|
18
18
|
init: ActiveColorPickerSectionAtomType;
|
|
19
19
|
};
|
|
20
|
-
export declare const isColorDark: (color: string, threshold?: number) => boolean;
|
|
21
20
|
export type ColorPickerType = "canvasBackground" | "elementBackground" | "elementStroke";
|