@excalidraw/common 0.18.0-de715913e → 0.18.0-e9c856d
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 +1698 -328
- package/dist/dev/index.js.map +4 -4
- package/dist/prod/index.js +3 -3
- 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 +47 -34
- package/dist/types/common/src/editorInterface.d.ts +34 -0
- package/dist/types/common/src/font-metadata.d.ts +1 -3
- package/dist/types/common/src/index.d.ts +5 -0
- package/dist/types/common/src/keys.d.ts +1 -1
- package/dist/types/common/src/points.d.ts +1 -1
- package/dist/types/common/src/utility-types.d.ts +0 -1
- package/dist/types/common/src/utils.d.ts +48 -78
- package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
- package/dist/types/element/src/Scene.d.ts +12 -8
- package/dist/types/element/src/align.d.ts +2 -2
- 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 +72 -51
- package/dist/types/element/src/bounds.d.ts +26 -19
- 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 +2 -2
- package/dist/types/element/src/distribute.d.ts +3 -2
- package/dist/types/element/src/dragElements.d.ts +3 -3
- package/dist/types/element/src/duplicate.d.ts +7 -6
- package/dist/types/element/src/elbowArrow.d.ts +2 -0
- package/dist/types/element/src/embeddable.d.ts +2 -2
- package/dist/types/element/src/flowchart.d.ts +7 -7
- package/dist/types/element/src/fractionalIndex.d.ts +4 -4
- package/dist/types/element/src/frame.d.ts +16 -11
- package/dist/types/element/src/groups.d.ts +9 -9
- package/dist/types/element/src/heading.d.ts +2 -1
- package/dist/types/element/src/image.d.ts +1 -11
- package/dist/types/element/src/index.d.ts +6 -4
- package/dist/types/element/src/linearElementEditor.d.ts +31 -30
- package/dist/types/element/src/mutateElement.d.ts +5 -1
- 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 -10
- package/dist/types/element/src/resizeElements.d.ts +12 -12
- package/dist/types/element/src/resizeTest.d.ts +6 -5
- package/dist/types/element/src/selection.d.ts +14 -14
- package/dist/types/element/src/shape.d.ts +9 -8
- package/dist/types/element/src/store.d.ts +3 -2
- package/dist/types/element/src/textElement.d.ts +9 -9
- package/dist/types/element/src/textMeasurements.d.ts +1 -3
- package/dist/types/element/src/textWrapping.d.ts +26 -0
- package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
- package/dist/types/element/src/transformHandles.d.ts +8 -27
- package/dist/types/element/src/typeChecks.d.ts +29 -31
- package/dist/types/element/src/types.d.ts +20 -14
- package/dist/types/element/src/utils.d.ts +9 -4
- package/dist/types/element/src/zindex.d.ts +7 -1
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +176 -210
- package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +102 -125
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +406 -1576
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +129 -893
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +49 -61
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +164 -202
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +161 -0
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -6
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +56 -74
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +101 -124
- package/dist/types/excalidraw/actions/actionExport.d.ts +180 -1408
- 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 +277 -534
- package/dist/types/excalidraw/actions/actionGroup.d.ts +112 -143
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +187 -236
- 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 +181 -2525
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +56 -72
- package/dist/types/excalidraw/actions/actionStyles.d.ts +49 -60
- 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 +64 -77
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +174 -0
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +63 -75
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +52 -71
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +62 -74
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +63 -75
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +63 -75
- package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
- package/dist/types/excalidraw/actions/index.d.ts +5 -3
- package/dist/types/excalidraw/actions/register.d.ts +2 -2
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +7 -7
- package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
- package/dist/types/excalidraw/appState.d.ts +45 -36
- 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 +59 -21
- package/dist/types/excalidraw/components/Actions.d.ts +33 -11
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/App.d.ts +199 -108
- package/dist/types/excalidraw/components/App.flowchart.d.ts +19 -0
- package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
- package/dist/types/excalidraw/components/Card.d.ts +1 -3
- package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +2 -3
- 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 +4 -4
- package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
- package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -2
- package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
- package/dist/types/excalidraw/components/FontPicker/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/{ToolButton.d.ts → IconButton.d.ts} +16 -19
- package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
- package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
- package/dist/types/excalidraw/components/Island.d.ts +7 -0
- package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
- package/dist/types/excalidraw/components/LayerUI.d.ts +2 -2
- package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
- package/dist/types/excalidraw/components/LockButton.d.ts +2 -4
- package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
- package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -6
- package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
- package/dist/types/excalidraw/components/Modal.d.ts +0 -1
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
- package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
- package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
- package/dist/types/excalidraw/components/Popover.d.ts +2 -1
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
- package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
- package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
- package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
- package/dist/types/excalidraw/components/Range.d.ts +10 -4
- package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
- package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
- package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +16 -22
- package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
- package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
- package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -3
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
- package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
- package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
- package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
- package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
- package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +5 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
- package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
- package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
- package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
- package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
- package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
- package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
- package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
- package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
- package/dist/types/excalidraw/components/TextField.d.ts +1 -0
- package/dist/types/excalidraw/components/Toast.d.ts +11 -7
- package/dist/types/excalidraw/components/ToolPopover.d.ts +22 -0
- package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
- package/dist/types/excalidraw/components/Tools.d.ts +128 -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 +3 -3
- 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/shapeActionPredicates.d.ts +36 -0
- 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 +8 -9
- package/dist/types/excalidraw/data/json.d.ts +171 -3
- package/dist/types/excalidraw/data/library.d.ts +25 -10
- package/dist/types/excalidraw/data/resave.d.ts +7 -2
- package/dist/types/excalidraw/data/restore.d.ts +25 -10
- package/dist/types/excalidraw/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/useAppStateValue.d.ts +29 -0
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +2 -2
- package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
- package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
- package/dist/types/excalidraw/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 +7 -15
- package/dist/types/excalidraw/scene/Renderer.d.ts +428 -18
- package/dist/types/excalidraw/scene/export.d.ts +4 -4
- package/dist/types/excalidraw/scene/index.d.ts +2 -2
- package/dist/types/excalidraw/scene/types.d.ts +23 -8
- package/dist/types/excalidraw/shortcut.d.ts +1 -0
- package/dist/types/excalidraw/snapping.d.ts +12 -12
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
- package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
- package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
- package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
- package/dist/types/excalidraw/types.d.ts +297 -45
- package/dist/types/excalidraw/viewport.d.ts +316 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +8 -5
- package/dist/types/fractional-indexing/src/index.d.ts +29 -0
- package/dist/types/laser-pointer/src/index.d.ts +2 -0
- package/dist/types/laser-pointer/src/math.d.ts +16 -0
- package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
- package/dist/types/laser-pointer/src/state.d.ts +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 +8 -8
- package/dist/types/utils/src/index.d.ts +1 -2
- package/dist/types/utils/src/shape.d.ts +6 -6
- package/package.json +7 -1
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -185
- package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
- package/dist/types/excalidraw/charts.d.ts +0 -27
- package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
- package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
- package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
- package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -9
- package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
- package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -10
- package/dist/types/excalidraw/components/shapes.d.ts +0 -62
- 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,8 +1,11 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
interface TTDDialogOutputProps {
|
|
3
2
|
error: Error | null;
|
|
4
3
|
canvasRef: React.RefObject<HTMLDivElement | null>;
|
|
5
4
|
loaded: boolean;
|
|
5
|
+
hideErrorDetails?: boolean;
|
|
6
|
+
sourceText?: string;
|
|
7
|
+
autoFixAvailable?: boolean;
|
|
8
|
+
onApplyAutoFix?: () => void;
|
|
6
9
|
}
|
|
7
|
-
export declare const TTDDialogOutput: ({ error, canvasRef, loaded, }: TTDDialogOutputProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const TTDDialogOutput: ({ error, canvasRef, loaded, hideErrorDetails, sourceText, autoFixAvailable, onApplyAutoFix, }: TTDDialogOutputProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
11
|
export {};
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
|
|
2
|
+
export type TTDPanelAction = {
|
|
3
3
|
label: string;
|
|
4
|
+
action?: () => void;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
variant: "button" | "link" | "rateLimit";
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
};
|
|
10
|
+
interface TTDDialogPanelProps {
|
|
11
|
+
label?: string | ReactNode;
|
|
4
12
|
children: ReactNode;
|
|
5
|
-
|
|
6
|
-
label: string;
|
|
7
|
-
action: () => void;
|
|
8
|
-
icon?: ReactNode;
|
|
9
|
-
};
|
|
10
|
-
panelActionDisabled?: boolean;
|
|
13
|
+
panelActions?: TTDPanelAction[];
|
|
11
14
|
onTextSubmitInProgess?: boolean;
|
|
12
15
|
renderTopRight?: () => ReactNode;
|
|
13
16
|
renderSubmitShortcut?: () => ReactNode;
|
|
14
|
-
|
|
17
|
+
className?: string;
|
|
18
|
+
panelActionJustifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
|
|
15
19
|
}
|
|
16
|
-
export declare const TTDDialogPanel: ({ label, children,
|
|
20
|
+
export declare const TTDDialogPanel: ({ label, children, panelActions, onTextSubmitInProgess, renderTopRight, renderSubmitShortcut, className, panelActionJustifyContent, }: TTDDialogPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
21
|
export {};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
export declare const TTDDialogTab: {
|
|
3
2
|
({ tab, children, ...rest }: {
|
|
4
3
|
tab: string;
|
|
5
4
|
children: React.ReactNode;
|
|
6
|
-
} &
|
|
5
|
+
} & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
7
6
|
displayName: string;
|
|
8
7
|
};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
export declare const TTDDialogTabTrigger: {
|
|
3
2
|
({ children, tab, onSelect, ...rest }: {
|
|
4
3
|
children: React.ReactNode;
|
|
5
4
|
tab: string;
|
|
6
5
|
onSelect?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
7
|
-
} & Omit<
|
|
6
|
+
} & Omit<React.HTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
|
|
8
7
|
displayName: string;
|
|
9
8
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
export declare const TTDDialogTabTriggers: {
|
|
3
2
|
({ children, ...rest }: {
|
|
4
3
|
children: React.ReactNode;
|
|
5
|
-
} &
|
|
4
|
+
} & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
6
5
|
displayName: string;
|
|
7
6
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface TTDPreviewPanelProps {
|
|
2
|
+
canvasRef: React.RefObject<HTMLDivElement | null>;
|
|
3
|
+
error: Error | null;
|
|
4
|
+
loaded: boolean;
|
|
5
|
+
onInsert: () => void;
|
|
6
|
+
hideErrorDetails?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const TTDPreviewPanel: ({ canvasRef, error, loaded, onInsert, hideErrorDetails, }: TTDPreviewPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TTDWelcomeMessage: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MermaidToExcalidrawLibProps, TTDPersistenceAdapter, TTTDDialog } from "./types";
|
|
2
|
+
export declare const TextToDiagram: ({ mermaidToExcalidrawLib, onTextSubmit, renderWelcomeScreen, renderWarning, persistenceAdapter, }: {
|
|
3
|
+
mermaidToExcalidrawLib: MermaidToExcalidrawLibProps;
|
|
4
|
+
onTextSubmit(props: TTTDDialog.OnTextSubmitProps): Promise<TTTDDialog.OnTextSubmitRetValue>;
|
|
5
|
+
renderWelcomeScreen?: TTTDDialog.renderWelcomeScreen;
|
|
6
|
+
renderWarning?: TTTDDialog.renderWarning;
|
|
7
|
+
persistenceAdapter: TTDPersistenceAdapter;
|
|
8
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default TextToDiagram;
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
3
|
-
import type { MermaidToExcalidrawResult } from "@excalidraw/mermaid-to-excalidraw/dist/interfaces";
|
|
4
|
-
import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
1
|
+
import type { NonDeletedExcalidrawElement, Theme } from "@excalidraw/element/types";
|
|
2
|
+
import type { MermaidToExcalidrawLibProps } from "./types";
|
|
5
3
|
import type { AppClassProperties, BinaryFiles } from "../../types";
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
interface ConvertMermaidToExcalidrawFormatProps {
|
|
4
|
+
export declare const resetPreview: ({ canvasRef, setError, }: {
|
|
5
|
+
canvasRef: React.RefObject<HTMLDivElement | null>;
|
|
6
|
+
setError: (error: Error | null) => void;
|
|
7
|
+
}) => void;
|
|
8
|
+
export declare const convertMermaidToExcalidraw: ({ canvasRef, mermaidToExcalidrawLib, mermaidDefinition, setError, data, theme, }: {
|
|
13
9
|
canvasRef: React.RefObject<HTMLDivElement | null>;
|
|
14
10
|
mermaidToExcalidrawLib: MermaidToExcalidrawLibProps;
|
|
15
11
|
mermaidDefinition: string;
|
|
@@ -18,8 +14,13 @@ interface ConvertMermaidToExcalidrawFormatProps {
|
|
|
18
14
|
elements: readonly NonDeletedExcalidrawElement[];
|
|
19
15
|
files: BinaryFiles | null;
|
|
20
16
|
}>;
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
theme: Theme;
|
|
18
|
+
}) => Promise<{
|
|
19
|
+
success: true;
|
|
20
|
+
} | {
|
|
21
|
+
success: false;
|
|
22
|
+
error?: Error;
|
|
23
|
+
}>;
|
|
23
24
|
export declare const saveMermaidDataToStorage: (mermaidDefinition: string) => void;
|
|
24
25
|
export declare const insertToEditor: ({ app, data, text, shouldSaveMermaidDataToStorage, }: {
|
|
25
26
|
app: AppClassProperties;
|
|
@@ -27,7 +28,6 @@ export declare const insertToEditor: ({ app, data, text, shouldSaveMermaidDataTo
|
|
|
27
28
|
elements: readonly NonDeletedExcalidrawElement[];
|
|
28
29
|
files: BinaryFiles | null;
|
|
29
30
|
}>;
|
|
30
|
-
text?: string
|
|
31
|
-
shouldSaveMermaidDataToStorage?: boolean
|
|
31
|
+
text?: string;
|
|
32
|
+
shouldSaveMermaidDataToStorage?: boolean;
|
|
32
33
|
}) => void;
|
|
33
|
-
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SavedChat, TTDPersistenceAdapter } from "../types";
|
|
2
|
+
interface UseChatManagementProps {
|
|
3
|
+
persistenceAdapter: TTDPersistenceAdapter;
|
|
4
|
+
}
|
|
5
|
+
export declare const useChatManagement: ({ persistenceAdapter, }: UseChatManagementProps) => {
|
|
6
|
+
isMenuOpen: boolean;
|
|
7
|
+
onRestoreChat: (chat: SavedChat) => void;
|
|
8
|
+
handleDeleteChat: (chatId: string, event: React.MouseEvent) => Promise<void>;
|
|
9
|
+
handleNewChat: () => Promise<void>;
|
|
10
|
+
handleMenuToggle: () => void;
|
|
11
|
+
handleMenuClose: () => void;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { BinaryFiles } from "../../../types";
|
|
3
|
+
import type { MermaidToExcalidrawLibProps } from "../types";
|
|
4
|
+
interface UseMermaidRendererProps {
|
|
5
|
+
mermaidToExcalidrawLib: MermaidToExcalidrawLibProps;
|
|
6
|
+
canvasRef: React.RefObject<HTMLDivElement | null>;
|
|
7
|
+
}
|
|
8
|
+
export declare const useMermaidRenderer: ({ mermaidToExcalidrawLib, canvasRef, }: UseMermaidRendererProps) => {
|
|
9
|
+
data: import("react").RefObject<{
|
|
10
|
+
elements: readonly NonDeletedExcalidrawElement[];
|
|
11
|
+
files: BinaryFiles | null;
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TTTDDialog } from "../types";
|
|
2
|
+
export declare const useTextGeneration: ({ onTextSubmit, }: {
|
|
3
|
+
onTextSubmit: (props: TTTDDialog.OnTextSubmitProps) => Promise<TTTDDialog.OnTextSubmitRetValue>;
|
|
4
|
+
}) => {
|
|
5
|
+
onGenerate: TTTDDialog.OnGenerate;
|
|
6
|
+
handleAbort: () => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { RequestError } from "@excalidraw/excalidraw/errors";
|
|
2
|
+
import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
+
import type { MermaidConfig } from "@excalidraw/mermaid-to-excalidraw";
|
|
4
|
+
import type { MermaidToExcalidrawResult } from "@excalidraw/mermaid-to-excalidraw/dist/interfaces";
|
|
5
|
+
import type { BinaryFiles } from "../../types";
|
|
6
|
+
export type LLMMessage = {
|
|
7
|
+
role: "user" | "assistant";
|
|
8
|
+
content: string;
|
|
9
|
+
};
|
|
10
|
+
export type MermaidData = {
|
|
11
|
+
elements: readonly NonDeletedExcalidrawElement[];
|
|
12
|
+
files: BinaryFiles | null;
|
|
13
|
+
};
|
|
14
|
+
export interface RateLimits {
|
|
15
|
+
rateLimit: number;
|
|
16
|
+
rateLimitRemaining: number;
|
|
17
|
+
}
|
|
18
|
+
export declare namespace TChat {
|
|
19
|
+
type ChatMessage = {
|
|
20
|
+
id: string;
|
|
21
|
+
timestamp: Date;
|
|
22
|
+
isGenerating?: boolean;
|
|
23
|
+
error?: string;
|
|
24
|
+
errorDetails?: string;
|
|
25
|
+
errorType?: "parse" | "network" | "other";
|
|
26
|
+
lastAttemptAt?: number;
|
|
27
|
+
type: "user" | "assistant" | "warning";
|
|
28
|
+
warningType?: /* daily rate limit */ "messageLimitExceeded" | /* general 429 */ "rateLimitExceeded";
|
|
29
|
+
content?: string;
|
|
30
|
+
};
|
|
31
|
+
type ChatHistory = {
|
|
32
|
+
id: string;
|
|
33
|
+
messages: ChatMessage[];
|
|
34
|
+
currentPrompt: string;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export interface SavedChat {
|
|
38
|
+
id: string;
|
|
39
|
+
title: string;
|
|
40
|
+
messages: TChat.ChatMessage[];
|
|
41
|
+
currentPrompt: string;
|
|
42
|
+
timestamp: number;
|
|
43
|
+
}
|
|
44
|
+
export type SavedChats = SavedChat[];
|
|
45
|
+
/**
|
|
46
|
+
* Interface for TTD chat persistence. Preferably should be stable
|
|
47
|
+
* (e.g. static class/singleton)
|
|
48
|
+
*/
|
|
49
|
+
export interface TTDPersistenceAdapter {
|
|
50
|
+
/**
|
|
51
|
+
* Load saved chats from storage.
|
|
52
|
+
*/
|
|
53
|
+
loadChats(): Promise<SavedChats>;
|
|
54
|
+
/**
|
|
55
|
+
* Save chats to storage.
|
|
56
|
+
*/
|
|
57
|
+
saveChats(chats: SavedChats): Promise<void>;
|
|
58
|
+
}
|
|
59
|
+
export interface MermaidToExcalidrawLibProps {
|
|
60
|
+
loaded: boolean;
|
|
61
|
+
api: Promise<{
|
|
62
|
+
parseMermaidToExcalidraw: (definition: string, config?: MermaidConfig) => Promise<MermaidToExcalidrawResult>;
|
|
63
|
+
}>;
|
|
64
|
+
}
|
|
65
|
+
export declare namespace TTTDDialog {
|
|
66
|
+
type OnGenerate = (opts: {
|
|
67
|
+
prompt: string;
|
|
68
|
+
isRepairFlow?: boolean;
|
|
69
|
+
}) => Promise<void>;
|
|
70
|
+
type OnTextSubmitProps = {
|
|
71
|
+
messages: LLMMessage[];
|
|
72
|
+
onChunk?: (chunk: string) => void;
|
|
73
|
+
onStreamCreated?: () => void;
|
|
74
|
+
signal?: AbortSignal;
|
|
75
|
+
};
|
|
76
|
+
type OnTextSubmitRetValue = {
|
|
77
|
+
rateLimit?: number | null;
|
|
78
|
+
rateLimitRemaining?: number | null;
|
|
79
|
+
} & ({
|
|
80
|
+
generatedResponse: string;
|
|
81
|
+
error: null;
|
|
82
|
+
} | {
|
|
83
|
+
error: RequestError;
|
|
84
|
+
generatedResponse?: null;
|
|
85
|
+
});
|
|
86
|
+
type onTextSubmit = (props: OnTextSubmitProps) => Promise<OnTextSubmitRetValue>;
|
|
87
|
+
/**
|
|
88
|
+
* return undefined to use default rendering
|
|
89
|
+
*/
|
|
90
|
+
type renderWarning = (chatMessage: TChat.ChatMessage) => React.ReactNode | undefined;
|
|
91
|
+
type renderWelcomeScreen = (props: {
|
|
92
|
+
/** null if not rate limit data currently available */
|
|
93
|
+
rateLimits: RateLimits | null;
|
|
94
|
+
}) => React.ReactNode | undefined;
|
|
95
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SavedChat, SavedChats, TTDPersistenceAdapter } from "./types";
|
|
2
|
+
interface UseTTDChatStorageProps {
|
|
3
|
+
persistenceAdapter: TTDPersistenceAdapter;
|
|
4
|
+
}
|
|
5
|
+
interface UseTTDChatStorageReturn {
|
|
6
|
+
savedChats: SavedChats;
|
|
7
|
+
saveCurrentChat: () => Promise<void>;
|
|
8
|
+
deleteChat: (chatId: string) => Promise<SavedChats>;
|
|
9
|
+
restoreChat: (chat: SavedChat) => SavedChat;
|
|
10
|
+
createNewChatId: () => Promise<string>;
|
|
11
|
+
}
|
|
12
|
+
export declare const savedChatsAtom: import("jotai").PrimitiveAtom<SavedChats> & {
|
|
13
|
+
init: SavedChats;
|
|
14
|
+
};
|
|
15
|
+
export declare const isLoadingChatsAtom: import("jotai").PrimitiveAtom<boolean> & {
|
|
16
|
+
init: boolean;
|
|
17
|
+
};
|
|
18
|
+
export declare const chatsLoadedAtom: import("jotai").PrimitiveAtom<boolean> & {
|
|
19
|
+
init: boolean;
|
|
20
|
+
};
|
|
21
|
+
export declare const useTTDChatStorage: ({ persistenceAdapter, }: UseTTDChatStorageProps) => UseTTDChatStorageReturn;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LLMMessage, TChat } from "../types";
|
|
2
|
+
export declare const updateAssistantContent: (chatHistory: TChat.ChatHistory, payload: Partial<TChat.ChatMessage>) => TChat.ChatHistory;
|
|
3
|
+
export declare const getLastAssistantMessage: (chatHistory: TChat.ChatHistory) => TChat.ChatMessage;
|
|
4
|
+
export declare const addMessages: (chatHistory: TChat.ChatHistory, messages: Array<Omit<TChat.ChatMessage, "id" | "timestamp">>) => {
|
|
5
|
+
messages: TChat.ChatMessage[];
|
|
6
|
+
id: string;
|
|
7
|
+
currentPrompt: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const removeLastAssistantMessage: (chatHistory: TChat.ChatHistory) => TChat.ChatHistory;
|
|
10
|
+
export declare const getMessagesForLLM: (chatHistory: TChat.ChatHistory) => LLMMessage[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getMermaidAutoFixCandidates: (sourceText: string, errorMessage: string) => string[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const isMermaidParseSyntaxError: (message: string) => boolean;
|
|
2
|
+
export declare const isMermaidAutoFixableError: (message: string) => boolean;
|
|
3
|
+
export declare const isMermaidCaretLine: (line: string) => boolean;
|
|
4
|
+
export declare const getMermaidInactiveParticipant: (message: string) => string | null;
|
|
5
|
+
export declare const getMermaidErrorLineNumber: (message: string, sourceText?: string) => number | null;
|
|
6
|
+
export declare const getMermaidSyntaxErrorGuidance: (message: string, sourceText?: string) => {
|
|
7
|
+
summary: string;
|
|
8
|
+
likelyCauses: string[];
|
|
9
|
+
} | null;
|
|
10
|
+
export declare const formatMermaidParseErrorMessage: (message: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isValidMermaidSyntax: (content: string) => boolean;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import "./Toast.scss";
|
|
2
|
-
import type { CSSProperties } from "react";
|
|
3
|
-
export declare const Toast: ({ message, onClose, closable, duration, style, }: {
|
|
4
|
-
message:
|
|
2
|
+
import type { CSSProperties, ReactNode } from "react";
|
|
3
|
+
export declare const Toast: (({ message, onClose, closable, duration, style, }: {
|
|
4
|
+
message: ReactNode;
|
|
5
5
|
onClose: () => void;
|
|
6
|
-
closable?: boolean
|
|
7
|
-
duration?: number
|
|
8
|
-
style?: CSSProperties
|
|
9
|
-
}) => import("react/jsx-runtime").JSX.Element
|
|
6
|
+
closable?: boolean;
|
|
7
|
+
duration?: number;
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
10
|
+
ProgressBar: ({ progress }: {
|
|
11
|
+
progress: number;
|
|
12
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./ToolPopover.scss";
|
|
3
|
+
import type { AppClassProperties } from "../types";
|
|
4
|
+
type ToolOption = {
|
|
5
|
+
type: string;
|
|
6
|
+
icon: React.ReactNode;
|
|
7
|
+
title: string;
|
|
8
|
+
fillable?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type ToolPopoverProps = {
|
|
11
|
+
app: AppClassProperties;
|
|
12
|
+
options: readonly ToolOption[];
|
|
13
|
+
activeTool: {
|
|
14
|
+
type: string;
|
|
15
|
+
};
|
|
16
|
+
defaultOption: string;
|
|
17
|
+
"data-testid": string;
|
|
18
|
+
onToolChange: (type: string) => void;
|
|
19
|
+
displayedOption: ToolOption;
|
|
20
|
+
};
|
|
21
|
+
export declare const ToolPopover: ({ app, options, activeTool, defaultOption, "data-testid": dataTestId, onToolChange, displayedOption, }: ToolPopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AppClassProperties, AppProps, AppState, UIAppState } from "../types";
|
|
2
|
+
/** the main (desktop/tablet) toolbar island */
|
|
3
|
+
export declare const Toolbar: ({ app, appState, setAppState, UIOptions, onPenModeToggle, onLockToggle, heading, }: {
|
|
4
|
+
app: AppClassProperties;
|
|
5
|
+
appState: UIAppState;
|
|
6
|
+
setAppState: React.Component<any, AppState>["setState"];
|
|
7
|
+
UIOptions: AppProps["UIOptions"];
|
|
8
|
+
onPenModeToggle: AppClassProperties["togglePenMode"];
|
|
9
|
+
onLockToggle: () => void;
|
|
10
|
+
heading: React.ReactNode;
|
|
11
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { AppClassProperties, AppState, ToolType, UIAppState } from "../types";
|
|
2
|
+
export type ToolConfig = {
|
|
3
|
+
icon: React.ReactNode;
|
|
4
|
+
/** letter shortcut(s) — the first one is shown in tooltips */
|
|
5
|
+
letterKey?: string | readonly string[];
|
|
6
|
+
numericKey?: string;
|
|
7
|
+
/** whether the tool's shapes can be filled — fills the icon when active */
|
|
8
|
+
fillable?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* re-activating the tool switches back to the previously active tool
|
|
11
|
+
* (via the keyboard shortcut or ESC — see `setActiveTool`'s `toggle`
|
|
12
|
+
* option)
|
|
13
|
+
*/
|
|
14
|
+
toggle?: boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Tool data — the single source of truth for tool buttons, keyboard
|
|
18
|
+
* shortcuts (`findShapeByKey`), and the command palette. Toolbar placement
|
|
19
|
+
* is not defined here: toolbars compose the `*ToolButton` components below
|
|
20
|
+
* manually, so entries without a toolbar slot (e.g. laser) are data-only.
|
|
21
|
+
*/
|
|
22
|
+
export declare const TOOLS: {
|
|
23
|
+
hand: ToolConfig;
|
|
24
|
+
selection: ToolConfig;
|
|
25
|
+
rectangle: ToolConfig;
|
|
26
|
+
diamond: ToolConfig;
|
|
27
|
+
ellipse: ToolConfig;
|
|
28
|
+
arrow: ToolConfig;
|
|
29
|
+
line: ToolConfig;
|
|
30
|
+
freedraw: ToolConfig;
|
|
31
|
+
text: ToolConfig;
|
|
32
|
+
image: ToolConfig;
|
|
33
|
+
eraser: ToolConfig;
|
|
34
|
+
frame: ToolConfig;
|
|
35
|
+
embeddable: ToolConfig;
|
|
36
|
+
laser: ToolConfig;
|
|
37
|
+
lasso: ToolConfig;
|
|
38
|
+
};
|
|
39
|
+
export type ToolbarToolType = keyof typeof TOOLS;
|
|
40
|
+
/**
|
|
41
|
+
* tools that, when activated while already active, switch back to the
|
|
42
|
+
* previously active tool (see `setActiveTool`'s `toggle` option)
|
|
43
|
+
*/
|
|
44
|
+
export declare const TOGGLE_TOOLS: readonly (ToolType | "custom")[];
|
|
45
|
+
export declare const getToolLetter: (type: ToolbarToolType) => string | undefined;
|
|
46
|
+
/** human-readable shortcut hint, e.g. "R or 2", used in tooltips & aria */
|
|
47
|
+
export declare const getToolShortcut: (type: ToolbarToolType) => string;
|
|
48
|
+
export declare const findShapeByKey: (key: string, app: AppClassProperties) => "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "lasso" | "eraser" | "hand" | "laser" | null;
|
|
49
|
+
export type ToolButtonComponentProps = {
|
|
50
|
+
app: AppClassProperties;
|
|
51
|
+
activeTool: UIAppState["activeTool"];
|
|
52
|
+
/** hide the keybinding badge rendered in the button's corner */
|
|
53
|
+
hideKeyBinding?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* hide all shortcut affordances (tooltip hint, aria-keyshortcuts, and the
|
|
56
|
+
* keybinding badge) — used on mobile where there's no keyboard
|
|
57
|
+
*/
|
|
58
|
+
hideShortcut?: boolean;
|
|
59
|
+
};
|
|
60
|
+
export declare const HandToolButton: {
|
|
61
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
62
|
+
displayName: string;
|
|
63
|
+
};
|
|
64
|
+
export declare const RectangleToolButton: {
|
|
65
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
66
|
+
displayName: string;
|
|
67
|
+
};
|
|
68
|
+
export declare const DiamondToolButton: {
|
|
69
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
displayName: string;
|
|
71
|
+
};
|
|
72
|
+
export declare const EllipseToolButton: {
|
|
73
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
74
|
+
displayName: string;
|
|
75
|
+
};
|
|
76
|
+
export declare const ArrowToolButton: {
|
|
77
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
78
|
+
displayName: string;
|
|
79
|
+
};
|
|
80
|
+
export declare const LineToolButton: {
|
|
81
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
82
|
+
displayName: string;
|
|
83
|
+
};
|
|
84
|
+
export declare const FreedrawToolButton: {
|
|
85
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
86
|
+
displayName: string;
|
|
87
|
+
};
|
|
88
|
+
export declare const TextToolButton: {
|
|
89
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
90
|
+
displayName: string;
|
|
91
|
+
};
|
|
92
|
+
export declare const ImageToolButton: {
|
|
93
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
displayName: string;
|
|
95
|
+
};
|
|
96
|
+
export declare const EraserToolButton: {
|
|
97
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
98
|
+
displayName: string;
|
|
99
|
+
};
|
|
100
|
+
export declare const FrameToolButton: {
|
|
101
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
102
|
+
displayName: string;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* The selection tool button — pointer-clicking it while the selection tool
|
|
106
|
+
* is active switches to lasso.
|
|
107
|
+
*/
|
|
108
|
+
export declare const SelectionToolButton: {
|
|
109
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
110
|
+
displayName: string;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Rendered in place of the selection button when lasso is the preferred
|
|
114
|
+
* selection tool; the selection shortcut activates it then.
|
|
115
|
+
*/
|
|
116
|
+
export declare const LassoToolButton: {
|
|
117
|
+
({ app, activeTool, hideKeyBinding, hideShortcut, }: ToolButtonComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
118
|
+
displayName: string;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* The selection ⇄ lasso popover used in compact (tablet) and mobile
|
|
122
|
+
* toolbars; picking an option also makes it the preferred selection tool.
|
|
123
|
+
*/
|
|
124
|
+
export declare const SelectionToolPopover: ({ app, activeTool, setAppState, }: {
|
|
125
|
+
app: AppClassProperties;
|
|
126
|
+
activeTool: UIAppState["activeTool"];
|
|
127
|
+
setAppState: React.Component<any, AppState>["setState"];
|
|
128
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { TranslationKeys } from "../i18n";
|
|
3
3
|
declare const Trans: ({ i18nKey, children, ...props }: {
|
|
4
|
-
[key: string]: React.ReactNode | ((el: React.ReactNode) => React.ReactNode);
|
|
5
4
|
i18nKey: TranslationKeys;
|
|
5
|
+
[key: string]: React.ReactNode | ((el: React.ReactNode) => React.ReactNode);
|
|
6
6
|
}) => React.FunctionComponentElement<{
|
|
7
|
-
children?: React.ReactNode;
|
|
7
|
+
children?: React.ReactNode | undefined;
|
|
8
8
|
}>;
|
|
9
9
|
export default Trans;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { type EditorInterface } from "@excalidraw/common";
|
|
3
|
+
import type { RenderableElementsMap, RenderInteractiveSceneCallback } from "@excalidraw/excalidraw/scene/types";
|
|
2
4
|
import type { NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
|
|
3
|
-
import type {
|
|
4
|
-
import type { Device, InteractiveCanvasAppState } from "../../types";
|
|
5
|
+
import type { AppClassProperties, InteractiveCanvasAppState } from "../../types";
|
|
5
6
|
import type { DOMAttributes } from "react";
|
|
6
7
|
type InteractiveCanvasProps = {
|
|
7
8
|
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
@@ -10,15 +11,17 @@ type InteractiveCanvasProps = {
|
|
|
10
11
|
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
11
12
|
selectedElements: readonly NonDeletedExcalidrawElement[];
|
|
12
13
|
allElementsMap: NonDeletedSceneElementsMap;
|
|
13
|
-
|
|
14
|
+
canvasNonce: string;
|
|
14
15
|
selectionNonce: number | undefined;
|
|
15
16
|
scale: number;
|
|
16
17
|
appState: InteractiveCanvasAppState;
|
|
17
18
|
renderScrollbars: boolean;
|
|
18
|
-
|
|
19
|
+
editorInterface: EditorInterface;
|
|
20
|
+
app: AppClassProperties;
|
|
19
21
|
renderInteractiveSceneCallback: (data: RenderInteractiveSceneCallback) => void;
|
|
20
22
|
handleCanvasRef: (canvas: HTMLCanvasElement | null) => void;
|
|
21
23
|
onContextMenu: Exclude<DOMAttributes<HTMLCanvasElement | HTMLDivElement>["onContextMenu"], undefined>;
|
|
24
|
+
onClick: Exclude<DOMAttributes<HTMLCanvasElement>["onClick"], undefined>;
|
|
22
25
|
onPointerMove: Exclude<DOMAttributes<HTMLCanvasElement>["onPointerMove"], undefined>;
|
|
23
26
|
onPointerUp: Exclude<DOMAttributes<HTMLCanvasElement>["onPointerUp"], undefined>;
|
|
24
27
|
onPointerCancel: Exclude<DOMAttributes<HTMLCanvasElement>["onPointerCancel"], undefined>;
|
|
@@ -26,5 +29,6 @@ type InteractiveCanvasProps = {
|
|
|
26
29
|
onPointerDown: Exclude<DOMAttributes<HTMLCanvasElement>["onPointerDown"], undefined>;
|
|
27
30
|
onDoubleClick: Exclude<DOMAttributes<HTMLCanvasElement>["onDoubleClick"], undefined>;
|
|
28
31
|
};
|
|
32
|
+
export declare const INTERACTIVE_SCENE_ANIMATION_KEY = "animateInteractiveScene";
|
|
29
33
|
declare const _default: React.MemoExoticComponent<(props: InteractiveCanvasProps) => import("react/jsx-runtime").JSX.Element>;
|
|
30
34
|
export default _default;
|
|
@@ -4,6 +4,7 @@ import type { AppState } from "../../types";
|
|
|
4
4
|
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
5
5
|
interface NewElementCanvasProps {
|
|
6
6
|
appState: AppState;
|
|
7
|
+
newElement: NonNullable<AppState["newElement"]>;
|
|
7
8
|
elementsMap: RenderableElementsMap;
|
|
8
9
|
allElementsMap: NonDeletedSceneElementsMap;
|
|
9
10
|
scale: number;
|
|
@@ -9,7 +9,7 @@ type StaticCanvasProps = {
|
|
|
9
9
|
elementsMap: RenderableElementsMap;
|
|
10
10
|
allElementsMap: NonDeletedSceneElementsMap;
|
|
11
11
|
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
12
|
-
|
|
12
|
+
canvasNonce: string;
|
|
13
13
|
selectionNonce: number | undefined;
|
|
14
14
|
scale: number;
|
|
15
15
|
appState: StaticCanvasAppState;
|