@excalidraw/math 0.18.0-4e471c107 → 0.18.0-4f68076
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 +363 -163
- package/dist/dev/index.js.map +4 -4
- package/dist/prod/index.js +1 -1
- package/dist/types/common/debug.d.ts +21 -0
- package/dist/types/common/src/appEventBus.d.ts +27 -0
- package/dist/types/common/src/bounds.d.ts +10 -0
- package/dist/types/common/src/colors.d.ts +81 -39
- package/dist/types/common/src/constants.d.ts +104 -33
- package/dist/types/common/src/editorInterface.d.ts +34 -0
- package/dist/types/common/src/font-metadata.d.ts +1 -3
- package/dist/types/common/src/index.d.ts +5 -0
- package/dist/types/common/src/keys.d.ts +5 -1
- package/dist/types/common/src/points.d.ts +1 -1
- package/dist/types/common/src/random.d.ts +7 -0
- package/dist/types/common/src/utility-types.d.ts +0 -1
- package/dist/types/common/src/utils.d.ts +52 -77
- package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
- package/dist/types/element/src/Scene.d.ts +18 -10
- package/dist/types/element/src/align.d.ts +3 -2
- package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
- package/dist/types/element/src/arrowheads.d.ts +3 -0
- package/dist/types/element/src/arrows/focus.d.ts +30 -0
- package/dist/types/element/src/arrows/helpers.d.ts +5 -0
- package/dist/types/element/src/binding.d.ts +85 -51
- package/dist/types/element/src/bounds.d.ts +26 -19
- package/dist/types/element/src/bucketFill.d.ts +110 -0
- package/dist/types/element/src/collision.d.ts +17 -3
- package/dist/types/element/src/comparisons.d.ts +10 -7
- package/dist/types/element/src/convertToShape.d.ts +23 -0
- package/dist/types/element/src/delta.d.ts +39 -5
- package/dist/types/element/src/distribute.d.ts +4 -2
- package/dist/types/element/src/dragElements.d.ts +30 -3
- package/dist/types/element/src/duplicate.d.ts +67 -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 +11 -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 -8
- 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 +11 -4
- package/dist/types/element/src/linearElementEditor.d.ts +50 -31
- package/dist/types/element/src/listMarker.d.ts +34 -0
- package/dist/types/element/src/mutateElement.d.ts +6 -2
- package/dist/types/element/src/newElement.d.ts +59 -9
- package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
- package/dist/types/element/src/renderElement.d.ts +23 -12
- 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 +36 -9
- package/dist/types/element/src/sizeHelpers.d.ts +6 -0
- package/dist/types/element/src/sortElements.d.ts +10 -0
- package/dist/types/element/src/stickyNote.d.ts +183 -0
- package/dist/types/element/src/store.d.ts +6 -1
- package/dist/types/element/src/textElement.d.ts +22 -11
- 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 +27 -8
- package/dist/types/element/src/transformHandles.d.ts +8 -27
- package/dist/types/element/src/typeChecks.d.ts +30 -31
- package/dist/types/element/src/types.d.ts +55 -20
- package/dist/types/element/src/utils.d.ts +22 -6
- package/dist/types/element/src/zindex.d.ts +7 -1
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +248 -222
- package/dist/types/excalidraw/actions/actionAlign.d.ts +12 -13
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +150 -133
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +543 -1575
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +177 -904
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +73 -65
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +237 -214
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +182 -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 +80 -78
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +149 -132
- package/dist/types/excalidraw/actions/actionExport.d.ts +228 -1423
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +11 -395
- package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionFrame.d.ts +359 -507
- package/dist/types/excalidraw/actions/actionGroup.d.ts +160 -151
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +244 -191
- package/dist/types/excalidraw/actions/actionLink.d.ts +86 -78
- package/dist/types/excalidraw/actions/actionMenu.d.ts +75 -441
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -361
- package/dist/types/excalidraw/actions/actionProperties.d.ts +238 -2548
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +80 -76
- package/dist/types/excalidraw/actions/actionStyles.d.ts +74 -65
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +4 -4
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +195 -0
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +88 -81
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +195 -0
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +87 -79
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +76 -75
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionToggleShowHints.d.ts +197 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +86 -78
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +87 -79
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +87 -79
- package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
- package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
- package/dist/types/excalidraw/actions/index.d.ts +6 -3
- package/dist/types/excalidraw/actions/manager.d.ts +1 -0
- package/dist/types/excalidraw/actions/register.d.ts +2 -2
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +11 -7
- package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
- package/dist/types/excalidraw/appState.d.ts +57 -26
- package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
- package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
- package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
- package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
- package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
- package/dist/types/excalidraw/charts/index.d.ts +7 -0
- package/dist/types/excalidraw/clipboard.d.ts +57 -19
- package/dist/types/excalidraw/components/Actions.d.ts +32 -14
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
- package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
- package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
- package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
- package/dist/types/excalidraw/components/App.d.ts +404 -155
- package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
- package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
- package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
- package/dist/types/excalidraw/components/App.modifiers.d.ts +38 -0
- package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
- package/dist/types/excalidraw/components/App.selectionTool.d.ts +57 -0
- package/dist/types/excalidraw/components/App.text.d.ts +146 -0
- package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
- package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
- package/dist/types/excalidraw/components/App.viewport.d.ts +113 -0
- package/dist/types/excalidraw/components/App.wheel.d.ts +26 -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 +9 -4
- package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +7 -1
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -2
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +5 -2
- package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -2
- package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
- package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
- package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
- package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +4 -4
- package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/Ellipsify.d.ts +3 -0
- 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/FileDropOverlay.d.ts +2 -0
- package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
- package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +5 -1
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
- package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
- 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/IconButton.d.ts +48 -0
- 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 +6 -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 +7 -3
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +9 -5
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
- package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
- package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
- package/dist/types/excalidraw/components/MobileMenu.d.ts +5 -7
- package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
- package/dist/types/excalidraw/components/Modal.d.ts +0 -1
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
- package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
- package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
- package/dist/types/excalidraw/components/Popover.d.ts +2 -3
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +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 +151 -0
- package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
- package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
- package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
- package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
- package/dist/types/excalidraw/components/Trans.d.ts +2 -2
- package/dist/types/excalidraw/components/UserList.d.ts +3 -2
- package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +10 -4
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
- package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
- package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
- package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
- package/dist/types/excalidraw/components/icons.d.ts +56 -22
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +26 -3
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
- package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
- package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
- package/dist/types/excalidraw/data/blob.d.ts +373 -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 +192 -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 +27 -7
- package/dist/types/excalidraw/data/types.d.ts +4 -1
- package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
- package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
- package/dist/types/excalidraw/eraser/index.d.ts +2 -3
- package/dist/types/excalidraw/errors.d.ts +14 -0
- package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
- 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/lasso/utils.d.ts +2 -0
- package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
- package/dist/types/excalidraw/renderer/animation.d.ts +16 -0
- package/dist/types/excalidraw/renderer/helpers.d.ts +31 -8
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +7 -15
- package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
- package/dist/types/excalidraw/scene/Renderer.d.ts +491 -19
- 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 +28 -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 +658 -64
- package/dist/types/excalidraw/viewport.d.ts +302 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +19 -5
- package/dist/types/fractional-indexing/src/index.d.ts +29 -0
- package/dist/types/laser-pointer/src/index.d.ts +2 -0
- package/dist/types/laser-pointer/src/math.d.ts +16 -0
- package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
- package/dist/types/laser-pointer/src/state.d.ts +36 -0
- package/dist/types/math/src/constants.d.ts +0 -1
- package/dist/types/math/src/curve.d.ts +23 -13
- package/dist/types/math/src/index.d.ts +1 -0
- package/dist/types/math/src/pca.d.ts +79 -0
- package/dist/types/math/src/point.d.ts +8 -2
- package/dist/types/math/src/polygon.d.ts +26 -2
- package/dist/types/math/src/range.d.ts +1 -3
- package/dist/types/math/src/segment.d.ts +10 -3
- package/dist/types/math/src/types.d.ts +25 -1
- package/dist/types/utils/src/export.d.ts +9 -8
- package/dist/types/utils/src/index.d.ts +1 -2
- package/dist/types/utils/src/shape.d.ts +8 -8
- package/package.json +2 -2
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -186
- package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
- package/dist/types/excalidraw/charts.d.ts +0 -27
- package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
- package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -16
- package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
- 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/ToolButton.d.ts +0 -49
- 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/cursor.d.ts +0 -5
- package/dist/types/excalidraw/data/reconcile.d.ts +0 -6
- package/dist/types/excalidraw/index.d.ts +0 -46
- package/dist/types/excalidraw/polyfill.d.ts +0 -2
- package/dist/types/excalidraw/scene/scroll.d.ts +0 -23
- package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
- package/dist/types/utils/src/bbox.d.ts +0 -9
- package/dist/types/utils/src/withinBounds.d.ts +0 -19
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ExcalidrawNonSelectionElement, NonDeleted } from "@excalidraw/element/types";
|
|
2
|
+
import type App from "./App";
|
|
3
|
+
import type { ToolType } from "../types";
|
|
4
|
+
type ScenePoint = {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
};
|
|
8
|
+
/** what a drag places: any element the new-element canvas can preview */
|
|
9
|
+
type DraggedElement = NonDeleted<ExcalidrawNonSelectionElement>;
|
|
10
|
+
/**
|
|
11
|
+
* A tool the user can drag out of the toolbar to drop a default-sized element
|
|
12
|
+
* where the pointer is released.
|
|
13
|
+
*/
|
|
14
|
+
type DraggableTool = {
|
|
15
|
+
/** the element the drop creates, centered on the pointer */
|
|
16
|
+
createElement: (app: App, center: ScenePoint) => DraggedElement;
|
|
17
|
+
/** what the tool does once its element is on the canvas (e.g. start editing) */
|
|
18
|
+
onDrop?: (app: App, element: DraggedElement) => void;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The tools that can be dragged out of the toolbar. Add an entry to make a
|
|
22
|
+
* tool's button draggable — the gesture, preview and drop are shared.
|
|
23
|
+
*/
|
|
24
|
+
export declare const DRAGGABLE_TOOLS: Partial<Record<ToolType, DraggableTool>>;
|
|
25
|
+
/** CSS opacity of the preview canvas while dragging */
|
|
26
|
+
export declare const TOOL_DRAG_PREVIEW_OPACITY = 0.5;
|
|
27
|
+
/**
|
|
28
|
+
* Dragging a tool out of the toolbar. The preview element exists only here
|
|
29
|
+
* until the drop — it is not in the scene, the store or the history, so
|
|
30
|
+
* collaborators never see it and an aborted drag leaves nothing behind. It
|
|
31
|
+
* is painted by the `NewElementCanvas`, drawn exactly as it will land, with
|
|
32
|
+
* the canvas itself made translucent.
|
|
33
|
+
*
|
|
34
|
+
* The button arms on pointerdown; the drag starts once the pointer has
|
|
35
|
+
* moved `DRAGGING_THRESHOLD`, so a plain click still selects the tool. The
|
|
36
|
+
* gesture lives on the owner window (the pointer leaves the button at once),
|
|
37
|
+
* like the other pointer gestures in `App`.
|
|
38
|
+
*/
|
|
39
|
+
export declare class AppToolDrag {
|
|
40
|
+
private app;
|
|
41
|
+
constructor(app: App);
|
|
42
|
+
/** the element under the pointer while dragging, `null` otherwise */
|
|
43
|
+
preview: DraggedElement | null;
|
|
44
|
+
private armed;
|
|
45
|
+
private tool;
|
|
46
|
+
private type;
|
|
47
|
+
static isDraggable: (type: ToolType) => boolean;
|
|
48
|
+
isDragging: () => boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Arm a drag from a tool button's pointerdown. Returns whether the tool is
|
|
51
|
+
* draggable (the caller lets a non-draggable press fall through).
|
|
52
|
+
*/
|
|
53
|
+
handleButtonPointerDown: (type: ToolType, event: PointerEvent) => boolean;
|
|
54
|
+
private onPointerMove;
|
|
55
|
+
private onPointerUp;
|
|
56
|
+
private onKeyDown;
|
|
57
|
+
/** drop the gesture without a trace */
|
|
58
|
+
cancel: () => void;
|
|
59
|
+
private isOverCanvas;
|
|
60
|
+
private addListeners;
|
|
61
|
+
private removeListeners;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { type StylesPanelMode } from "@excalidraw/common";
|
|
2
|
+
import type { NonDeletedSceneElementsMap } from "@excalidraw/element/types";
|
|
3
|
+
import { type SetViewportOptions } from "../viewport";
|
|
4
|
+
import type { AppProps, AppState, Offsets, ScrollConstraints, ViewportOffsets, ViewportOffsetsOptions, ViewportUIName } from "../types";
|
|
5
|
+
import type App from "./App";
|
|
6
|
+
export declare const SCROLL_TO_CONTENT_ANIMATION_KEY = "animateScrollToContent";
|
|
7
|
+
export declare const SCROLL_CONSTRAINTS_SNAP_BACK_ANIMATION_KEY = "animateScrollConstraintsSnapBack";
|
|
8
|
+
/** single source of truth for the `--right-sidebar-width` CSS variable */
|
|
9
|
+
export declare const RIGHT_SIDEBAR_WIDTH = 302;
|
|
10
|
+
type Viewport = Pick<AppState, "scrollX" | "scrollY" | "zoom">;
|
|
11
|
+
type AppViewportDependencies = {
|
|
12
|
+
getContainer: () => HTMLDivElement | null;
|
|
13
|
+
getStylesPanelMode: () => StylesPanelMode;
|
|
14
|
+
isGestureActive: () => boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Rubberband snap-back: animates the viewport from its current (possibly
|
|
18
|
+
* overscrolled) position back inside the lock box via the shared
|
|
19
|
+
* AnimationController. No-op when already within the hard bounds (or when
|
|
20
|
+
* there is no lock).
|
|
21
|
+
*/
|
|
22
|
+
export declare const snapBackToConstraints: (state: Pick<AppState, "scrollX" | "scrollY" | "zoom" | "width" | "height" | "scrollConstraints">, onFrame: (updater: (state: Pick<AppState, "scrollX" | "scrollY" | "zoom" | "width" | "height" | "scrollConstraints">) => Viewport | null) => void, duration?: number) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Owns viewport state transitions and App-bound viewport concerns. Pure
|
|
25
|
+
* viewport geometry remains in `viewport.ts` so actions and public helpers can
|
|
26
|
+
* calculate state without an App instance.
|
|
27
|
+
*/
|
|
28
|
+
export declare class AppViewport {
|
|
29
|
+
private app;
|
|
30
|
+
private dependencies;
|
|
31
|
+
lastPosition: {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
};
|
|
35
|
+
private activeTransition;
|
|
36
|
+
private uiLastMeasured;
|
|
37
|
+
constructor(app: App, dependencies: AppViewportDependencies);
|
|
38
|
+
get isAnimating(): boolean;
|
|
39
|
+
/** Whether a programmatic transition into a locked viewport currently owns
|
|
40
|
+
* user pan/zoom input. */
|
|
41
|
+
get isLockedTransitionPending(): boolean;
|
|
42
|
+
invalidateUIOffset: (name: ViewportUIName) => void;
|
|
43
|
+
/**
|
|
44
|
+
* The side a rendered side UI (`data-viewport-ui="side"`) docks to, and
|
|
45
|
+
* how far it reaches into the canvas from it, in screen px.
|
|
46
|
+
*/
|
|
47
|
+
private measureSide;
|
|
48
|
+
/**
|
|
49
|
+
* The side a named surface docks to while it's hidden, and how far it
|
|
50
|
+
* reaches into the canvas from it: as last measured, else approximately.
|
|
51
|
+
*/
|
|
52
|
+
private getReservedSide;
|
|
53
|
+
private querySideUI;
|
|
54
|
+
/**
|
|
55
|
+
* Where a rendered side UI is, relative to the editor's container, in
|
|
56
|
+
* screen px; null when it isn't rendered.
|
|
57
|
+
*/
|
|
58
|
+
getSideUIRect: (name: ViewportUIName) => {
|
|
59
|
+
left: number;
|
|
60
|
+
right: number;
|
|
61
|
+
top: number;
|
|
62
|
+
bottom: number;
|
|
63
|
+
} | null;
|
|
64
|
+
/**
|
|
65
|
+
* How far the named side UIs reach into the canvas, in screen px, from
|
|
66
|
+
* the left and the right: the part of the canvas they cover. Zero at a
|
|
67
|
+
* side none of them is rendered at — e.g. with the sidebar closed, or on
|
|
68
|
+
* phones, where it's an overlay that doesn't count as viewport UI — unless
|
|
69
|
+
* a hidden one is reserved (see `ViewportOffsetsOptions.reserve`).
|
|
70
|
+
*/
|
|
71
|
+
getSideInsets: (names: readonly ViewportUIName[], opts?: Pick<ViewportOffsetsOptions, "reserve">) => {
|
|
72
|
+
left: number;
|
|
73
|
+
right: number;
|
|
74
|
+
};
|
|
75
|
+
/** How far the sidebar reaches into the canvas (see `getSideInsets`). */
|
|
76
|
+
getSidebarInsets: () => {
|
|
77
|
+
left: number;
|
|
78
|
+
right: number;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Resolves user-supplied viewport offsets into concrete per-side pixel
|
|
82
|
+
* values. Static sides take precedence over UI-derived sides.
|
|
83
|
+
*/
|
|
84
|
+
resolveOffsets: (offsets: ViewportOffsets | undefined) => Offsets | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Measures the currently rendered editor UI and returns the usable viewport
|
|
87
|
+
* offsets, including optional padding and reserved hidden surfaces.
|
|
88
|
+
*/
|
|
89
|
+
getOffsets: (opts?: ViewportOffsetsOptions) => Offsets;
|
|
90
|
+
/** Resolves the host-supplied initial viewport against restored scene data. */
|
|
91
|
+
resolveInitialViewport: (opts: Omit<SetViewportOptions, "animation">, elementsMap: NonDeletedSceneElementsMap, appState: AppState) => (Viewport & {
|
|
92
|
+
scrollConstraints: ScrollConstraints | null;
|
|
93
|
+
}) | null;
|
|
94
|
+
/**
|
|
95
|
+
* Navigates to a target and optionally installs scroll/zoom constraints.
|
|
96
|
+
* Navigating stops following a collaborator, as a user's pan does.
|
|
97
|
+
*/
|
|
98
|
+
setViewport: (opts: SetViewportOptions | null) => void;
|
|
99
|
+
/** Use when changing scrollX/scrollY/zoom based on user interaction. */
|
|
100
|
+
translate: <K extends keyof AppState>(state: AppState | Pick<AppState, K> | null | ((prevState: Readonly<AppState>, props: Readonly<AppProps>) => AppState | Pick<AppState, K> | null), opts?: {
|
|
101
|
+
zoomPreConstrained?: boolean;
|
|
102
|
+
preserveScrollConstraintsSnapBack?: boolean;
|
|
103
|
+
}) => boolean;
|
|
104
|
+
/** Clamps the viewport into the active scroll constraints. */
|
|
105
|
+
constrain: (overscroll?: number) => void;
|
|
106
|
+
/** Releases a held rubberband overscroll. */
|
|
107
|
+
releaseOverscroll: () => void;
|
|
108
|
+
private snapBack;
|
|
109
|
+
private snapBackDebounced;
|
|
110
|
+
private cancelTransition;
|
|
111
|
+
destroy: () => void;
|
|
112
|
+
}
|
|
113
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type App from "./App";
|
|
2
|
+
/**
|
|
3
|
+
* Wheel input over the editor: pans the canvas, or zooms it around the
|
|
4
|
+
* pointer (`viewport.lastPosition`) — on ctrl/cmd+wheel (which is also how
|
|
5
|
+
* a trackpad pinch is delivered), while the wheel button itself is held
|
|
6
|
+
* down, or on a plain wheel when the input device is a mouse
|
|
7
|
+
* (`appState.inputDevice`). Shift+wheel pans horizontally;
|
|
8
|
+
* ctrl/cmd+shift+wheel pans vertically.
|
|
9
|
+
*/
|
|
10
|
+
export declare class AppWheel {
|
|
11
|
+
private app;
|
|
12
|
+
constructor(app: App);
|
|
13
|
+
/** the editor surfaces whose wheel input the editor consumes; everywhere
|
|
14
|
+
* else (menus, sidebars, …) the DOM keeps scrolling. The frame-name labels
|
|
15
|
+
* are DOM, but sit inside the container this listener is attached to */
|
|
16
|
+
private isOverEditorSurface;
|
|
17
|
+
handle: (event: WheelEvent) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Prevents the browser's own zoom over the non-interactive editor while
|
|
20
|
+
* letting regular scroll through (trackpad pinch is delivered as
|
|
21
|
+
* ctrl+wheel).
|
|
22
|
+
*/
|
|
23
|
+
preventBrowserZoom: (event: WheelEvent) => void;
|
|
24
|
+
/** zooms around the pointer by a wheel delta (positive = zoom out) */
|
|
25
|
+
private zoomBy;
|
|
26
|
+
}
|
|
@@ -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;
|
|
@@ -2,8 +2,7 @@ import type { ColorTuple, ColorPaletteCustom } from "@excalidraw/common";
|
|
|
2
2
|
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
3
3
|
import "./ColorPicker.scss";
|
|
4
4
|
import type { ColorPickerType } from "./colorPickerUtils";
|
|
5
|
-
import type { AppState } from "../../types";
|
|
6
|
-
export declare const getColor: (color: string) => string | null;
|
|
5
|
+
import type { AppState, UIAppState } from "../../types";
|
|
7
6
|
interface ColorPickerProps {
|
|
8
7
|
type: ColorPickerType;
|
|
9
8
|
/**
|
|
@@ -14,10 +13,16 @@ interface ColorPickerProps {
|
|
|
14
13
|
onChange: (color: string) => void;
|
|
15
14
|
label: string;
|
|
16
15
|
elements: readonly ExcalidrawElement[];
|
|
17
|
-
appState:
|
|
16
|
+
appState: UIAppState;
|
|
18
17
|
palette?: ColorPaletteCustom | null;
|
|
19
18
|
topPicks?: ColorTuple;
|
|
20
19
|
updateData: (formData?: any) => void;
|
|
20
|
+
/** palette colors to hide from the popup, keeping hotkey positions */
|
|
21
|
+
excludedColors?: readonly string[];
|
|
22
|
+
/** allow users to customize the top picks strip by drag & dropping colors
|
|
23
|
+
* from the picker popup onto it. The value names the
|
|
24
|
+
* `appState.colorTopPicks` slot the customization is stored in */
|
|
25
|
+
customizableTopPicks?: keyof AppState["colorTopPicks"];
|
|
21
26
|
}
|
|
22
|
-
export declare const ColorPicker: ({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element
|
|
27
|
+
export declare const ColorPicker: import("react").MemoExoticComponent<({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, excludedColors, customizableTopPicks, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element>;
|
|
23
28
|
export {};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { Theme } from "@excalidraw/element/types";
|
|
1
2
|
interface CustomColorListProps {
|
|
3
|
+
theme: Theme;
|
|
2
4
|
colors: string[];
|
|
3
5
|
color: string | null;
|
|
4
6
|
onChange: (color: string) => void;
|
|
5
7
|
label: string;
|
|
6
8
|
}
|
|
7
|
-
export declare const CustomColorList: ({ colors, color, onChange, label, }: CustomColorListProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const CustomColorList: ({ theme, colors, color, onChange, label, }: CustomColorListProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
10
|
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { ExcalidrawElement, Theme } from "@excalidraw/element/types";
|
|
3
3
|
import type { ColorPaletteCustom } from "@excalidraw/common";
|
|
4
4
|
import type { ColorPickerType } from "./colorPickerUtils";
|
|
5
5
|
interface PickerProps {
|
|
6
|
+
theme: Theme;
|
|
6
7
|
color: string | null;
|
|
7
8
|
onChange: (color: string) => void;
|
|
8
9
|
type: ColorPickerType;
|
|
@@ -10,8 +11,13 @@ interface PickerProps {
|
|
|
10
11
|
palette: ColorPaletteCustom;
|
|
11
12
|
updateData: (formData?: any) => void;
|
|
12
13
|
children?: React.ReactNode;
|
|
14
|
+
showTitle?: boolean;
|
|
13
15
|
onEyeDropperToggle: (force?: boolean) => void;
|
|
14
16
|
onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
|
|
17
|
+
showHotKey?: boolean;
|
|
18
|
+
excludedColors?: readonly string[];
|
|
19
|
+
/** present only while the top picks are customized */
|
|
20
|
+
onResetTopPicks?: () => void;
|
|
15
21
|
}
|
|
16
22
|
export declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
|
|
17
23
|
export {};
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ColorPaletteCustom } from "@excalidraw/common";
|
|
2
|
+
import type { Theme } from "@excalidraw/element/types";
|
|
2
3
|
interface PickerColorListProps {
|
|
4
|
+
theme: Theme;
|
|
3
5
|
palette: ColorPaletteCustom;
|
|
4
6
|
color: string | null;
|
|
5
7
|
onChange: (color: string) => void;
|
|
6
8
|
activeShade: number;
|
|
9
|
+
showHotKey?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* palette colors to hide. Hidden entries keep their position in the hotkey
|
|
12
|
+
* order (their hotkey goes dead instead of remapping the colors after them).
|
|
13
|
+
*/
|
|
14
|
+
excludedColors?: readonly string[];
|
|
7
15
|
}
|
|
8
|
-
declare const PickerColorList: ({ palette, color, onChange, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare const PickerColorList: ({ theme, palette, color, onChange, activeShade, showHotKey, excludedColors, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
17
|
export default PickerColorList;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ColorPaletteCustom } from "@excalidraw/common";
|
|
2
|
+
import type { Theme } from "@excalidraw/element/types";
|
|
2
3
|
interface ShadeListProps {
|
|
4
|
+
theme: Theme;
|
|
3
5
|
color: string | null;
|
|
4
6
|
onChange: (color: string) => void;
|
|
5
7
|
palette: ColorPaletteCustom;
|
|
8
|
+
showHotKey?: boolean;
|
|
6
9
|
}
|
|
7
|
-
export declare const ShadeList: ({ color, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const ShadeList: ({ theme, color, onChange, palette, showHotKey, }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
11
|
export {};
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import type { Theme } from "@excalidraw/element/types";
|
|
1
2
|
import type { ColorPickerType } from "./colorPickerUtils";
|
|
2
3
|
interface TopPicksProps {
|
|
4
|
+
theme: Theme;
|
|
3
5
|
onChange: (color: string) => void;
|
|
4
6
|
type: ColorPickerType;
|
|
5
7
|
activeColor: string | null;
|
|
6
8
|
topPicks?: readonly string[];
|
|
9
|
+
/** present when the strip is user-customizable — enables the right-click
|
|
10
|
+
* context menu resetting the strip to its default picks */
|
|
11
|
+
onReset?: () => void;
|
|
12
|
+
/** whether custom picks are currently applied (enables the reset item) */
|
|
13
|
+
isCustomized?: boolean;
|
|
7
14
|
}
|
|
8
|
-
export declare const TopPicks: ({ onChange, type, activeColor, topPicks, }: TopPicksProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
+
export declare const TopPicks: ({ theme, onChange, type, activeColor, topPicks, onReset, isCustomized, }: TopPicksProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
9
16
|
export {};
|
|
@@ -14,8 +14,7 @@ export declare const isCustomColor: ({ color, palette, }: {
|
|
|
14
14
|
}) => boolean;
|
|
15
15
|
export declare const getMostUsedCustomColors: (elements: readonly ExcalidrawElement[], type: "elementBackground" | "elementStroke", palette: ColorPaletteCustom) => string[];
|
|
16
16
|
export type ActiveColorPickerSectionAtomType = "custom" | "baseColors" | "shades" | "hex" | null;
|
|
17
|
-
export declare const activeColorPickerSectionAtom: import("jotai
|
|
17
|
+
export declare const activeColorPickerSectionAtom: import("jotai").PrimitiveAtom<ActiveColorPickerSectionAtomType> & {
|
|
18
18
|
init: ActiveColorPickerSectionAtomType;
|
|
19
19
|
};
|
|
20
|
-
export declare const isColorDark: (color: string, threshold?: number) => boolean;
|
|
21
20
|
export type ColorPickerType = "canvasBackground" | "elementBackground" | "elementStroke";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TopPicksDnD } from "../TopPicksDnD/topPicksDnD";
|
|
2
|
+
export type ColorPickerDnD = TopPicksDnD<string>;
|
|
3
|
+
export declare const ColorPickerDnDContext: import("react").Context<ColorPickerDnD | null>;
|
|
4
|
+
export declare const useColorPickerDnD: () => ColorPickerDnD | null;
|
|
5
|
+
/** pinning colors from the picker popup (palette/shades/custom) or the
|
|
6
|
+
* active-color trigger to the top-picks strip, and reordering the strip */
|
|
7
|
+
export declare const useColorTopPicksDnD: ({ enabled, picks, onPicksChange, }: {
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
picks: readonly string[];
|
|
10
|
+
onPicksChange: (picks: string[]) => void;
|
|
11
|
+
}) => ColorPickerDnD;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { ColorPaletteCustom } from "@excalidraw/common";
|
|
3
2
|
import type { ActiveColorPickerSectionAtomType } from "./colorPickerUtils";
|
|
4
3
|
interface ColorPickerKeyNavHandlerProps {
|
|
@@ -13,9 +12,10 @@ interface ColorPickerKeyNavHandlerProps {
|
|
|
13
12
|
activeShade: number;
|
|
14
13
|
onEyeDropperToggle: (force?: boolean) => void;
|
|
15
14
|
onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
|
|
15
|
+
excludedColors?: readonly string[];
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* @returns true if the event was handled
|
|
19
19
|
*/
|
|
20
|
-
export declare const colorPickerKeyNavHandler: ({ event, activeColorPickerSection, palette, color, onChange, customColors, setActiveColorPickerSection, updateData, activeShade, onEyeDropperToggle, onEscape, }: ColorPickerKeyNavHandlerProps) => boolean;
|
|
20
|
+
export declare const colorPickerKeyNavHandler: ({ event, activeColorPickerSection, palette, color, onChange, customColors, setActiveColorPickerSection, updateData, activeShade, onEyeDropperToggle, onEscape, excludedColors, }: ColorPickerKeyNavHandlerProps) => boolean;
|
|
21
21
|
export {};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const toggleTheme: CommandPaletteItem;
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { ActionManager } from "../../actions/manager";
|
|
3
2
|
import type { Action } from "../../actions/types";
|
|
4
|
-
import type { UIAppState } from "../../types";
|
|
5
3
|
export type CommandPaletteItem = {
|
|
6
4
|
label: string;
|
|
7
5
|
/** additional keywords to match against
|
|
@@ -12,11 +10,11 @@ export type CommandPaletteItem = {
|
|
|
12
10
|
* (deburred name + keywords)
|
|
13
11
|
*/
|
|
14
12
|
haystack?: string;
|
|
15
|
-
icon?:
|
|
13
|
+
icon?: Action["icon"];
|
|
16
14
|
category: string;
|
|
17
15
|
order?: number;
|
|
18
16
|
predicate?: boolean | Action["predicate"];
|
|
19
|
-
shortcut?: string;
|
|
17
|
+
shortcut?: string | null;
|
|
20
18
|
/** if false, command will not show while in view mode */
|
|
21
19
|
viewMode?: boolean;
|
|
22
20
|
perform: (data: {
|
|
@@ -2,7 +2,7 @@ import type { ConvertibleTypes, ExcalidrawElement, ExcalidrawTextContainer, Exca
|
|
|
2
2
|
import type { Scene } from "@excalidraw/element";
|
|
3
3
|
import "./ConvertElementTypePopup.scss";
|
|
4
4
|
import type App from "./App";
|
|
5
|
-
export declare const convertElementTypePopupAtom: import("jotai
|
|
5
|
+
export declare const convertElementTypePopupAtom: import("jotai").PrimitiveAtom<{
|
|
6
6
|
type: "panel";
|
|
7
7
|
} | null> & {
|
|
8
8
|
init: {
|
|
@@ -16,8 +16,8 @@ export declare const adjustBoundTextSize: (container: ExcalidrawTextContainer, b
|
|
|
16
16
|
type ConversionType = "generic" | "linear" | null;
|
|
17
17
|
export declare const convertElementTypes: (app: App, { conversionType, nextType, direction, }: {
|
|
18
18
|
conversionType: ConversionType;
|
|
19
|
-
nextType?: ConvertibleTypes
|
|
20
|
-
direction?: "left" | "right"
|
|
19
|
+
nextType?: ConvertibleTypes;
|
|
20
|
+
direction?: "left" | "right";
|
|
21
21
|
}) => boolean;
|
|
22
|
-
export declare const getConversionTypeFromElements: (elements: ExcalidrawElement[]) => ConversionType;
|
|
22
|
+
export declare const getConversionTypeFromElements: (elements: readonly ExcalidrawElement[]) => ConversionType;
|
|
23
23
|
export default ConvertElementTypePopup;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import "./CursorHint.scss";
|
|
2
|
+
import type { AppClassProperties, AppState } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* While a recently shown hint is still fresh in memory, tool-switch hints
|
|
5
|
+
* are suppressed (repeatedly re-picking a tool you just used doesn't need
|
|
6
|
+
* the reminder). Cycling arrow types and numeric shortcuts bypass this.
|
|
7
|
+
*/
|
|
8
|
+
export declare const CURSOR_HINT_COOLDOWN: number;
|
|
9
|
+
export declare const cursorHintAtom: import("jotai").PrimitiveAtom<{
|
|
10
|
+
content: React.ReactNode;
|
|
11
|
+
/** unique per trigger so a re-trigger restarts the hide timer */
|
|
12
|
+
nonce: number;
|
|
13
|
+
} | null> & {
|
|
14
|
+
init: {
|
|
15
|
+
content: React.ReactNode;
|
|
16
|
+
/** unique per trigger so a re-trigger restarts the hide timer */
|
|
17
|
+
nonce: number;
|
|
18
|
+
} | null;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Owns the cursor-hint policy. App reports semantic interaction events
|
|
22
|
+
* (what the user did); all decisions about whether and what to show —
|
|
23
|
+
* cooldown, bypasses, hint content — are made here.
|
|
24
|
+
*/
|
|
25
|
+
export declare class CursorHints {
|
|
26
|
+
private app;
|
|
27
|
+
private lastShownAt;
|
|
28
|
+
constructor(app: AppClassProperties);
|
|
29
|
+
/**
|
|
30
|
+
* Shows a transient tooltip next to the cursor, hidden automatically
|
|
31
|
+
* after a short delay. Repeated calls replace the content and restart
|
|
32
|
+
* the timer.
|
|
33
|
+
*/
|
|
34
|
+
show: (content: React.ReactNode) => void;
|
|
35
|
+
private isOnCooldown;
|
|
36
|
+
/** arrow type cycled via shortcut (arrow tool already active) */
|
|
37
|
+
onArrowTypeCycled: (arrowType: AppState["currentItemArrowType"]) => void;
|
|
38
|
+
/** arrow/line tool picked via keyboard shortcut */
|
|
39
|
+
onToolShortcut: (tool: "arrow" | "line", source: "letter" | "digit") => void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Transient tooltip shown next to the cursor for added affordance after
|
|
43
|
+
* actions that have no other visual feedback near the pointer (e.g. cycling
|
|
44
|
+
* arrow types via shortcut). Trigger via `app.cursorHints`.
|
|
45
|
+
*/
|
|
46
|
+
export declare const CursorHint: () => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { MarkOptional } from "@excalidraw/common/utility-types";
|
|
3
2
|
import "../components/dropdownMenu/DropdownMenu.scss";
|
|
4
3
|
import type { SidebarProps, SidebarTriggerProps } from "./Sidebar/common";
|
|
5
4
|
export declare const DefaultSidebar: import("react").FC<Omit<MarkOptional<Omit<{
|
|
6
|
-
name:
|
|
7
|
-
children:
|
|
8
|
-
onStateChange?: (
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
docked?: boolean | undefined;
|
|
14
|
-
className?: string | undefined;
|
|
15
|
-
__fallback?: boolean | undefined;
|
|
5
|
+
name: import("../types").SidebarName;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
onStateChange?: (state: import("../types").AppState["openSidebar"]) => void;
|
|
8
|
+
onDock?: (docked: boolean) => void;
|
|
9
|
+
docked?: boolean;
|
|
10
|
+
className?: string;
|
|
11
|
+
__fallback?: boolean;
|
|
16
12
|
}, "name">, "children">, "onDock"> & {
|
|
17
13
|
/** pass `false` to disable docking */
|
|
18
14
|
onDock?: SidebarProps["onDock"] | false;
|
|
19
15
|
} & {
|
|
20
|
-
__fallback?: boolean
|
|
16
|
+
__fallback?: boolean;
|
|
21
17
|
}> & {
|
|
22
18
|
Trigger: import("react").FC<Omit<SidebarTriggerProps, "name"> & import("react").HTMLAttributes<HTMLDivElement> & {
|
|
23
|
-
__fallback?: boolean
|
|
19
|
+
__fallback?: boolean;
|
|
24
20
|
}>;
|
|
25
21
|
TabTriggers: {
|
|
26
22
|
({ children }: {
|
|
@@ -6,7 +6,7 @@ declare const ElementLinkDialog: ({ sourceElementId, onClose, appState, scene, g
|
|
|
6
6
|
sourceElementId: ExcalidrawElement["id"];
|
|
7
7
|
appState: UIAppState;
|
|
8
8
|
scene: Scene;
|
|
9
|
-
onClose?: (
|
|
9
|
+
onClose?: () => void;
|
|
10
10
|
generateLinkForSelection: AppProps["generateLinkForSelection"];
|
|
11
11
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export default ElementLinkDialog;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
3
2
|
import "./EyeDropper.scss";
|
|
4
3
|
import type { ColorPickerType } from "./ColorPicker/colorPickerUtils";
|
|
@@ -14,7 +13,7 @@ export type EyeDropperProperties = {
|
|
|
14
13
|
**/
|
|
15
14
|
colorPickerType: ColorPickerType;
|
|
16
15
|
};
|
|
17
|
-
export declare const activeEyeDropperAtom: import("jotai
|
|
16
|
+
export declare const activeEyeDropperAtom: import("jotai").PrimitiveAtom<EyeDropperProperties | null> & {
|
|
18
17
|
init: EyeDropperProperties | null;
|
|
19
18
|
};
|
|
20
19
|
export declare const EyeDropper: React.FC<{
|
|
@@ -4,7 +4,7 @@ export type ButtonVariant = "filled" | "outlined" | "icon";
|
|
|
4
4
|
export type ButtonColor = "primary" | "danger" | "warning" | "muted" | "success";
|
|
5
5
|
export type ButtonSize = "medium" | "large";
|
|
6
6
|
export type FilledButtonProps = {
|
|
7
|
-
label
|
|
7
|
+
label?: string;
|
|
8
8
|
children?: React.ReactNode;
|
|
9
9
|
onClick?: (event: React.MouseEvent) => void;
|
|
10
10
|
status?: null | "loading" | "success";
|
|
@@ -14,5 +14,6 @@ export type FilledButtonProps = {
|
|
|
14
14
|
className?: string;
|
|
15
15
|
fullWidth?: boolean;
|
|
16
16
|
icon?: React.ReactNode;
|
|
17
|
+
disabled?: boolean;
|
|
17
18
|
};
|
|
18
19
|
export declare const FilledButton: React.ForwardRefExoticComponent<FilledButtonProps & React.RefAttributes<HTMLButtonElement>>;
|