@zsviczian/excalidraw 0.17.6-30 → 0.17.6-31
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/excalidraw.development.js +7 -7
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/excalidraw/actions/actionAddToLibrary.d.ts +629 -0
- package/types/excalidraw/actions/actionAlign.d.ts +109 -0
- package/types/excalidraw/actions/actionBoundText.d.ts +456 -0
- package/types/excalidraw/actions/actionCanvas.d.ts +3070 -0
- package/types/excalidraw/actions/actionClipboard.d.ts +1374 -0
- package/types/excalidraw/actions/actionCropEditor.d.ts +222 -0
- package/types/excalidraw/actions/actionDeleteSelected.d.ts +668 -0
- package/types/excalidraw/actions/actionDistribute.d.ts +34 -0
- package/types/excalidraw/actions/actionDuplicateSelection.d.ts +21 -0
- package/types/excalidraw/actions/actionElementLink.d.ts +244 -0
- package/types/excalidraw/actions/actionElementLock.d.ts +444 -0
- package/types/excalidraw/actions/actionExport.d.ts +1953 -0
- package/types/excalidraw/actions/actionFinalize.d.ts +425 -0
- package/types/excalidraw/actions/actionFlip.d.ts +34 -0
- package/types/excalidraw/actions/actionFrame.d.ts +1384 -0
- package/types/excalidraw/actions/actionGroup.d.ts +454 -0
- package/types/excalidraw/actions/actionHistory.d.ts +7 -0
- package/types/excalidraw/actions/actionLinearEditor.d.ts +223 -0
- package/types/excalidraw/actions/actionLink.d.ts +223 -0
- package/types/excalidraw/actions/actionMenu.d.ts +649 -0
- package/types/excalidraw/actions/actionNavigate.d.ts +430 -0
- package/types/excalidraw/actions/actionProperties.d.ts +3276 -0
- package/types/excalidraw/actions/actionSelectAll.d.ts +222 -0
- package/types/excalidraw/actions/actionStyles.d.ts +236 -0
- package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
- package/types/excalidraw/actions/actionToggleGridMode.d.ts +225 -0
- package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +223 -0
- package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +420 -0
- package/types/excalidraw/actions/actionToggleStats.d.ts +223 -0
- package/types/excalidraw/actions/actionToggleViewMode.d.ts +224 -0
- package/types/excalidraw/actions/actionToggleZenMode.d.ts +224 -0
- package/types/excalidraw/actions/actionZindex.d.ts +74 -0
- package/types/excalidraw/actions/index.d.ts +27 -0
- package/types/excalidraw/actions/manager.d.ts +21 -0
- package/types/excalidraw/actions/register.d.ts +5 -0
- package/types/excalidraw/actions/shortcuts.d.ts +4 -0
- package/types/excalidraw/actions/types.d.ts +46 -0
- package/types/excalidraw/align.d.ts +7 -0
- package/types/excalidraw/analytics.d.ts +1 -0
- package/types/excalidraw/animated-trail.d.ts +33 -0
- package/types/excalidraw/animation-frame-handler.d.ts +16 -0
- package/types/excalidraw/appState.d.ts +89 -0
- package/types/excalidraw/binaryheap.d.ts +12 -0
- package/types/excalidraw/change.d.ts +191 -0
- package/types/excalidraw/charts.d.ts +27 -0
- package/types/excalidraw/clients.d.ts +14 -0
- package/types/excalidraw/clipboard.d.ts +66 -0
- package/types/excalidraw/colors.d.ts +61 -0
- package/types/excalidraw/components/Actions.d.ts +35 -0
- package/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -0
- package/types/excalidraw/components/App.d.ts +551 -0
- package/types/excalidraw/components/Avatar.d.ts +11 -0
- package/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -0
- package/types/excalidraw/components/Button.d.ts +17 -0
- package/types/excalidraw/components/ButtonIcon.d.ts +14 -0
- package/types/excalidraw/components/ButtonIconCycle.d.ts +10 -0
- package/types/excalidraw/components/ButtonIconSelect.d.ts +19 -0
- package/types/excalidraw/components/ButtonSelect.d.ts +9 -0
- package/types/excalidraw/components/ButtonSeparator.d.ts +1 -0
- package/types/excalidraw/components/Card.d.ts +6 -0
- package/types/excalidraw/components/CheckboxItem.d.ts +8 -0
- package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +9 -0
- package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +19 -0
- package/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -0
- package/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +8 -0
- package/types/excalidraw/components/ColorPicker/Picker.d.ts +18 -0
- package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +10 -0
- package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -0
- package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -0
- package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -0
- package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -0
- package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
- package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -0
- package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -0
- package/types/excalidraw/components/CommandPalette/types.d.ts +25 -0
- package/types/excalidraw/components/ConfirmDialog.d.ts +10 -0
- package/types/excalidraw/components/ContextMenu.d.ts +16 -0
- package/types/excalidraw/components/DarkModeToggle.d.ts +7 -0
- package/types/excalidraw/components/DefaultSidebar.d.ts +30 -0
- package/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -0
- package/types/excalidraw/components/Dialog.d.ts +13 -0
- package/types/excalidraw/components/DialogActionButton.d.ts +10 -0
- package/types/excalidraw/components/ElementLinkDialog.d.ts +11 -0
- package/types/excalidraw/components/ErrorDialog.d.ts +5 -0
- package/types/excalidraw/components/ExcalidrawLogo.d.ts +15 -0
- package/types/excalidraw/components/EyeDropper.d.ts +27 -0
- package/types/excalidraw/components/FilledButton.d.ts +18 -0
- package/types/excalidraw/components/FixedSideContainer.d.ts +9 -0
- package/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -0
- package/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -0
- package/types/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -0
- package/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -0
- package/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +13 -0
- package/types/excalidraw/components/HandButton.d.ts +10 -0
- package/types/excalidraw/components/HelpButton.d.ts +7 -0
- package/types/excalidraw/components/HelpDialog.d.ts +4 -0
- package/types/excalidraw/components/HintViewer.d.ts +10 -0
- package/types/excalidraw/components/IconPicker.d.ts +14 -0
- package/types/excalidraw/components/ImageExportDialog.d.ts +14 -0
- package/types/excalidraw/components/InitializeApp.d.ts +10 -0
- package/types/excalidraw/components/InlineIcon.d.ts +3 -0
- package/types/excalidraw/components/Island.d.ts +10 -0
- package/types/excalidraw/components/JSONExportDialog.d.ts +15 -0
- package/types/excalidraw/components/LaserPointerButton.d.ts +10 -0
- package/types/excalidraw/components/LayerUI.d.ts +31 -0
- package/types/excalidraw/components/LibraryMenu.d.ts +24 -0
- package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -0
- package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -0
- package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +17 -0
- package/types/excalidraw/components/LibraryMenuItems.d.ts +14 -0
- package/types/excalidraw/components/LibraryMenuSection.d.ts +23 -0
- package/types/excalidraw/components/LibraryUnit.d.ts +14 -0
- package/types/excalidraw/components/LoadingMessage.d.ts +5 -0
- package/types/excalidraw/components/LockButton.d.ts +10 -0
- package/types/excalidraw/components/MagicButton.d.ts +9 -0
- package/types/excalidraw/components/MobileMenu.d.ts +24 -0
- package/types/excalidraw/components/Modal.d.ts +14 -0
- package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
- package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
- package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
- package/types/excalidraw/components/Paragraph.d.ts +4 -0
- package/types/excalidraw/components/PasteChartDialog.d.ts +8 -0
- package/types/excalidraw/components/PenModeButton.d.ts +12 -0
- package/types/excalidraw/components/Popover.d.ts +15 -0
- package/types/excalidraw/components/ProjectName.d.ts +10 -0
- package/types/excalidraw/components/PropertiesPopover.d.ts +15 -0
- package/types/excalidraw/components/PublishLibrary.d.ts +16 -0
- package/types/excalidraw/components/QuickSearch.d.ts +9 -0
- package/types/excalidraw/components/RadioGroup.d.ts +13 -0
- package/types/excalidraw/components/Range.d.ts +8 -0
- package/types/excalidraw/components/SVGLayer.d.ts +7 -0
- package/types/excalidraw/components/ScrollableList.d.ts +8 -0
- package/types/excalidraw/components/SearchMenu.d.ts +5 -0
- package/types/excalidraw/components/Section.d.ts +6 -0
- package/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -0
- package/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -0
- package/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -0
- package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +8 -0
- package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
- package/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
- package/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +6 -0
- package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -0
- package/types/excalidraw/components/Sidebar/common.d.ts +33 -0
- package/types/excalidraw/components/Spinner.d.ts +8 -0
- package/types/excalidraw/components/Stack.d.ts +16 -0
- package/types/excalidraw/components/Stats/Angle.d.ts +11 -0
- package/types/excalidraw/components/Stats/CanvasGrid.d.ts +10 -0
- package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +10 -0
- package/types/excalidraw/components/Stats/Collapsible.d.ts +9 -0
- package/types/excalidraw/components/Stats/Dimension.d.ts +11 -0
- package/types/excalidraw/components/Stats/DragInput.d.ts +34 -0
- package/types/excalidraw/components/Stats/FontSize.d.ts +11 -0
- package/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -0
- package/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -0
- package/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -0
- package/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -0
- package/types/excalidraw/components/Stats/Position.d.ts +12 -0
- package/types/excalidraw/components/Stats/index.d.ts +35 -0
- package/types/excalidraw/components/Stats/utils.d.ts +26 -0
- package/types/excalidraw/components/Switch.d.ts +9 -0
- package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +8 -0
- package/types/excalidraw/components/TTDDialog/MermaidToExcalidrawLib.d.ts +10 -0
- package/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +29 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +7 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +7 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +8 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +6 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -0
- package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +8 -0
- package/types/excalidraw/components/TTDDialog/common.d.ts +32 -0
- package/types/excalidraw/components/TextField.d.ts +21 -0
- package/types/excalidraw/components/Toast.d.ts +9 -0
- package/types/excalidraw/components/ToolButton.d.ts +49 -0
- package/types/excalidraw/components/Tooltip.d.ts +18 -0
- package/types/excalidraw/components/Trans.d.ts +9 -0
- package/types/excalidraw/components/UserList.d.ts +18 -0
- package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +29 -0
- package/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -0
- package/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -0
- package/types/excalidraw/components/canvases/index.d.ts +3 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +45 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +7 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +15 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
- package/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -0
- package/types/excalidraw/components/dropdownMenu/common.d.ts +6 -0
- package/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
- package/types/excalidraw/components/footer/Footer.d.ts +12 -0
- package/types/excalidraw/components/footer/FooterCenter.d.ts +8 -0
- package/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -0
- package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +18 -0
- package/types/excalidraw/components/hyperlink/helpers.d.ts +9 -0
- package/types/excalidraw/components/icons.d.ts +223 -0
- package/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -0
- package/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -0
- package/types/excalidraw/components/main-menu/MainMenu.d.ts +80 -0
- package/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +59 -0
- package/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
- package/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +86 -0
- package/types/excalidraw/constants.d.ts +326 -0
- package/types/excalidraw/context/tunnels.d.ts +21 -0
- package/types/excalidraw/context/ui-appState.d.ts +4 -0
- package/types/excalidraw/cursor.d.ts +6 -0
- package/types/excalidraw/data/EditorLocalStorage.d.ts +8 -0
- package/types/excalidraw/data/ai/types.d.ts +242 -0
- package/types/excalidraw/data/blob.d.ts +53 -0
- package/types/excalidraw/data/encode.d.ts +55 -0
- package/types/excalidraw/data/encryption.d.ts +9 -0
- package/types/excalidraw/data/filesystem.d.ts +21 -0
- package/types/excalidraw/data/image.d.ts +9 -0
- package/types/excalidraw/data/index.d.ts +22 -0
- package/types/excalidraw/data/json.d.ts +16 -0
- package/types/excalidraw/data/library.d.ts +112 -0
- package/types/excalidraw/data/reconcile.d.ts +6 -0
- package/types/excalidraw/data/resave.d.ts +5 -0
- package/types/excalidraw/data/restore.d.ts +21 -0
- package/types/excalidraw/data/transform.d.ts +81 -0
- package/types/excalidraw/data/types.d.ts +45 -0
- package/types/excalidraw/data/url.d.ts +7 -0
- package/types/excalidraw/deburr.d.ts +1 -0
- package/types/excalidraw/dist/excalidraw.development.d.ts +2 -0
- package/types/excalidraw/dist/excalidraw.production.min.d.ts +3 -0
- package/types/excalidraw/distribute.d.ts +6 -0
- package/types/excalidraw/editor-jotai.d.ts +56 -0
- package/types/excalidraw/element/ElementCanvasButtons.d.ts +7 -0
- package/types/excalidraw/element/binding.d.ts +102 -0
- package/types/excalidraw/element/bounds.d.ts +76 -0
- package/types/excalidraw/element/collision.d.ts +17 -0
- package/types/excalidraw/element/containerCache.d.ts +11 -0
- package/types/excalidraw/element/cropElement.d.ts +19 -0
- package/types/excalidraw/element/dragElements.d.ts +32 -0
- package/types/excalidraw/element/elbowArrow.d.ts +16 -0
- package/types/excalidraw/element/elementLink.d.ts +13 -0
- package/types/excalidraw/element/embeddable.d.ts +229 -0
- package/types/excalidraw/element/flowchart.d.ts +25 -0
- package/types/excalidraw/element/heading.d.ts +16 -0
- package/types/excalidraw/element/image.d.ts +32 -0
- package/types/excalidraw/element/index.d.ts +26 -0
- package/types/excalidraw/element/linearElementEditor.d.ts +127 -0
- package/types/excalidraw/element/mutateElement.d.ts +13 -0
- package/types/excalidraw/element/newElement.d.ts +107 -0
- package/types/excalidraw/element/resizeElements.d.ts +38 -0
- package/types/excalidraw/element/resizeTest.d.ts +15 -0
- package/types/excalidraw/element/showSelectedShapeActions.d.ts +3 -0
- package/types/excalidraw/element/sizeHelpers.d.ts +35 -0
- package/types/excalidraw/element/sortElements.d.ts +2 -0
- package/types/excalidraw/element/textElement.d.ts +83 -0
- package/types/excalidraw/element/textWrapping.d.ts +13 -0
- package/types/excalidraw/element/textWysiwyg.d.ts +22 -0
- package/types/excalidraw/element/transformHandles.d.ts +55 -0
- package/types/excalidraw/element/typeChecks.d.ts +39 -0
- package/types/excalidraw/element/types.d.ts +285 -0
- package/types/excalidraw/emitter.d.ts +16 -0
- package/types/excalidraw/entry.d.ts +1 -0
- package/types/excalidraw/env.d.cts +1 -0
- package/types/excalidraw/env.d.ts +1 -0
- package/types/excalidraw/errors.d.ts +32 -0
- package/types/excalidraw/fonts/Cascadia/index.d.ts +2 -0
- package/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
- package/types/excalidraw/fonts/Emoji/index.d.ts +2 -0
- package/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +29 -0
- package/types/excalidraw/fonts/Excalifont/index.d.ts +2 -0
- package/types/excalidraw/fonts/FontMetadata.d.ts +37 -0
- package/types/excalidraw/fonts/Fonts.d.ts +100 -0
- package/types/excalidraw/fonts/Helvetica/index.d.ts +2 -0
- package/types/excalidraw/fonts/Liberation/index.d.ts +2 -0
- package/types/excalidraw/fonts/Lilita/index.d.ts +2 -0
- package/types/excalidraw/fonts/Nunito/index.d.ts +2 -0
- package/types/excalidraw/fonts/Virgil/index.d.ts +2 -0
- package/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -0
- package/types/excalidraw/fonts/index.d.ts +1 -0
- package/types/excalidraw/fractionalIndex.d.ts +48 -0
- package/types/excalidraw/frame.d.ts +69 -0
- package/types/excalidraw/gesture.d.ts +6 -0
- package/types/excalidraw/groups.d.ts +33 -0
- package/types/excalidraw/history.d.ts +40 -0
- package/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -0
- package/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -0
- package/types/excalidraw/hooks/useCreatePortalContainer.d.ts +7 -0
- package/types/excalidraw/hooks/useEmitter.d.ts +2 -0
- package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -0
- package/types/excalidraw/hooks/useOutsideClick.d.ts +19 -0
- package/types/excalidraw/hooks/useScrollPosition.d.ts +1 -0
- package/types/excalidraw/hooks/useStable.d.ts +1 -0
- package/types/excalidraw/hooks/useStableCallback.d.ts +4 -0
- package/types/excalidraw/hooks/useTransition.d.ts +2 -0
- package/types/excalidraw/i18n.d.ts +24 -0
- package/types/excalidraw/index-node.d.ts +1 -0
- package/types/excalidraw/index.d.ts +64 -0
- package/types/excalidraw/keys.d.ts +189 -0
- package/types/excalidraw/laser-trails.d.ts +20 -0
- package/types/excalidraw/main.d.ts +2 -0
- package/types/excalidraw/mermaid.d.ts +2 -0
- package/types/excalidraw/obsidianUtils.d.ts +26 -0
- package/types/excalidraw/points.d.ts +7 -0
- package/types/excalidraw/polyfill.d.ts +2 -0
- package/types/excalidraw/publicPath.d.ts +1 -0
- package/types/excalidraw/queue.d.ts +9 -0
- package/types/excalidraw/random.d.ts +4 -0
- package/types/excalidraw/reactUtils.d.ts +14 -0
- package/types/excalidraw/renderer/easingFunctions.d.ts +6 -0
- package/types/excalidraw/renderer/helpers.d.ts +13 -0
- package/types/excalidraw/renderer/interactiveScene.d.ts +20 -0
- package/types/excalidraw/renderer/renderElement.d.ts +28 -0
- package/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -0
- package/types/excalidraw/renderer/renderSnaps.d.ts +2 -0
- package/types/excalidraw/renderer/roundRect.d.ts +11 -0
- package/types/excalidraw/renderer/staticScene.d.ts +11 -0
- package/types/excalidraw/renderer/staticSvgScene.d.ts +5 -0
- package/types/excalidraw/scene/Renderer.d.ts +28 -0
- package/types/excalidraw/scene/Scene.d.ts +79 -0
- package/types/excalidraw/scene/Shape.d.ts +17 -0
- package/types/excalidraw/scene/ShapeCache.d.ts +25 -0
- package/types/excalidraw/scene/comparisons.d.ts +488 -0
- package/types/excalidraw/scene/export.d.ts +37 -0
- package/types/excalidraw/scene/index.d.ts +4 -0
- package/types/excalidraw/scene/normalize.d.ts +4 -0
- package/types/excalidraw/scene/scroll.d.ts +23 -0
- package/types/excalidraw/scene/scrollbars.d.ts +12 -0
- package/types/excalidraw/scene/selection.d.ts +32 -0
- package/types/excalidraw/scene/types.d.ts +119 -0
- package/types/excalidraw/scene/zoom.d.ts +12 -0
- package/types/excalidraw/shapes.d.ts +85 -0
- package/types/excalidraw/snapping.d.ts +112 -0
- package/types/excalidraw/store.d.ts +129 -0
- package/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -0
- package/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -0
- package/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -0
- package/types/excalidraw/subset/subset-main.d.ts +12 -0
- package/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -0
- package/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -0
- package/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -0
- package/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -0
- package/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -0
- package/types/excalidraw/types.d.ts +742 -0
- package/types/excalidraw/utility-types.d.ts +31 -0
- package/types/excalidraw/utils.d.ts +255 -0
- package/types/excalidraw/visualdebug.d.ts +42 -0
- package/types/excalidraw/webpack.dev.config.d.ts +81 -0
- package/types/excalidraw/webpack.prod.config.d.ts +97 -0
- package/types/excalidraw/workers.d.ts +36 -0
- package/types/excalidraw/zindex.d.ts +6 -0
- package/types/math/angle.d.ts +17 -0
- package/types/math/arc.d.ts +6 -0
- package/types/math/curve.d.ts +32 -0
- package/types/math/ga/ga.d.ts +63 -0
- package/types/math/ga/gadirections.d.ts +8 -0
- package/types/math/ga/galines.d.ts +22 -0
- package/types/math/ga/gapoints.d.ts +7 -0
- package/types/math/ga/gatransforms.d.ts +10 -0
- package/types/math/index.d.ts +12 -0
- package/types/math/line.d.ts +45 -0
- package/types/math/point.d.ts +150 -0
- package/types/math/polygon.d.ts +5 -0
- package/types/math/range.d.ts +44 -0
- package/types/math/segment.d.ts +32 -0
- package/types/math/triangle.d.ts +11 -0
- package/types/math/types.d.ts +96 -0
- package/types/math/utils.d.ts +7 -0
- package/types/math/vector.d.ts +92 -0
- package/types/utils/bbox.d.ts +9 -0
- package/types/utils/collision.d.ts +9 -0
- package/types/utils/export.d.ts +46 -0
- package/types/utils/geometry/shape.d.ts +71 -0
- package/types/utils/index.d.ts +4 -0
- package/types/utils/withinBounds.d.ts +19 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encapsulates font metrics with additional font metadata.
|
|
3
|
+
* */
|
|
4
|
+
export interface FontMetadata {
|
|
5
|
+
/** for head & hhea metrics read the woff2 with https://fontdrop.info/ */
|
|
6
|
+
metrics: {
|
|
7
|
+
/** head.unitsPerEm metric */
|
|
8
|
+
unitsPerEm: 1000 | 1024 | 2048;
|
|
9
|
+
/** hhea.ascender metric */
|
|
10
|
+
ascender: number;
|
|
11
|
+
/** hhea.descender metric */
|
|
12
|
+
descender: number;
|
|
13
|
+
/** harcoded unitless line-height, https://github.com/excalidraw/excalidraw/pull/6360#issuecomment-1477635971 */
|
|
14
|
+
lineHeight: number;
|
|
15
|
+
};
|
|
16
|
+
/** element to be displayed as an icon */
|
|
17
|
+
icon?: JSX.Element;
|
|
18
|
+
/** flag to indicate a deprecated font */
|
|
19
|
+
deprecated?: true;
|
|
20
|
+
/** flag to indicate a server-side only font */
|
|
21
|
+
serverSide?: true;
|
|
22
|
+
/** flag to indiccate a local-only font */
|
|
23
|
+
local?: true;
|
|
24
|
+
/** flag to indicate a fallback font */
|
|
25
|
+
fallback?: true;
|
|
26
|
+
}
|
|
27
|
+
export declare const FONT_METADATA: Record<number, FontMetadata>;
|
|
28
|
+
/** Unicode ranges defined by google fonts */
|
|
29
|
+
export declare const GOOGLE_FONTS_RANGES: {
|
|
30
|
+
LATIN: string;
|
|
31
|
+
LATIN_EXT: string;
|
|
32
|
+
CYRILIC_EXT: string;
|
|
33
|
+
CYRILIC: string;
|
|
34
|
+
VIETNAMESE: string;
|
|
35
|
+
};
|
|
36
|
+
/** local protocol to skip the local font from registering or inlining */
|
|
37
|
+
export declare const LOCAL_FONT_PROTOCOL = "local:";
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ExcalidrawFontFace } from "./ExcalidrawFontFace";
|
|
2
|
+
import { type FontMetadata } from "./FontMetadata";
|
|
3
|
+
import type { ExcalidrawElement, ExcalidrawTextElement, FontFamilyValues } from "../element/types";
|
|
4
|
+
import type Scene from "../scene/Scene";
|
|
5
|
+
export declare class Fonts {
|
|
6
|
+
static readonly loadedFontsCache: Set<string>;
|
|
7
|
+
private static _registered;
|
|
8
|
+
private static _initialized;
|
|
9
|
+
static get registered(): Map<number, {
|
|
10
|
+
metadata: FontMetadata;
|
|
11
|
+
fontFaces: ExcalidrawFontFace[];
|
|
12
|
+
}>;
|
|
13
|
+
get registered(): Map<number, {
|
|
14
|
+
metadata: FontMetadata;
|
|
15
|
+
fontFaces: ExcalidrawFontFace[];
|
|
16
|
+
}>;
|
|
17
|
+
private readonly scene;
|
|
18
|
+
constructor(scene: Scene);
|
|
19
|
+
/**
|
|
20
|
+
* Get all the font families for the given scene.
|
|
21
|
+
*/
|
|
22
|
+
getSceneFamilies: () => number[];
|
|
23
|
+
/**
|
|
24
|
+
* if we load a (new) font, it's likely that text elements using it have
|
|
25
|
+
* already been rendered using a fallback font. Thus, we want invalidate
|
|
26
|
+
* their shapes and rerender. See #637.
|
|
27
|
+
*
|
|
28
|
+
* Invalidates text elements and rerenders scene, provided that at least one
|
|
29
|
+
* of the supplied fontFaces has not already been processed.
|
|
30
|
+
*/
|
|
31
|
+
onLoaded: (fontFaces: readonly FontFace[]) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Load font faces for a given scene and trigger scene update.
|
|
34
|
+
*/
|
|
35
|
+
loadSceneFonts: () => Promise<FontFace[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Load font faces for passed elements - use when the scene is unavailable (i.e. export).
|
|
38
|
+
*/
|
|
39
|
+
static loadElementsFonts: (elements: readonly ExcalidrawElement[]) => Promise<FontFace[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Generate CSS @font-face declarations for the given elements.
|
|
42
|
+
*/
|
|
43
|
+
static generateFontFaceDeclarations(elements: readonly ExcalidrawElement[]): Promise<string[]>;
|
|
44
|
+
static loadFontFaces(fontFamilies: Array<ExcalidrawTextElement["fontFamily"]>, charsPerFamily: Record<number, Set<string>>): Promise<FontFace[]>;
|
|
45
|
+
private static fontFacesLoader;
|
|
46
|
+
private static fontFacesStylesGenerator;
|
|
47
|
+
/**
|
|
48
|
+
* Register a new font.
|
|
49
|
+
*
|
|
50
|
+
* @param family font family
|
|
51
|
+
* @param metadata font metadata
|
|
52
|
+
* @param fontFacesDecriptors font faces descriptors
|
|
53
|
+
*/
|
|
54
|
+
static register(this: Fonts | {
|
|
55
|
+
registered: Map<number, {
|
|
56
|
+
metadata: FontMetadata;
|
|
57
|
+
fontFaces: ExcalidrawFontFace[];
|
|
58
|
+
}>;
|
|
59
|
+
}, family: string, metadata: FontMetadata, ...fontFacesDecriptors: ExcalidrawFontFaceDescriptor[]): Map<number, {
|
|
60
|
+
metadata: FontMetadata;
|
|
61
|
+
fontFaces: ExcalidrawFontFace[];
|
|
62
|
+
}> | Map<number, {
|
|
63
|
+
metadata: FontMetadata;
|
|
64
|
+
fontFaces: ExcalidrawFontFace[];
|
|
65
|
+
}>;
|
|
66
|
+
/**
|
|
67
|
+
* WARN: should be called just once on init, even across multiple instances.
|
|
68
|
+
*/
|
|
69
|
+
private static init;
|
|
70
|
+
/**
|
|
71
|
+
* Get all the unique font families for the given elements.
|
|
72
|
+
*/
|
|
73
|
+
static getUniqueFamilies(elements: ReadonlyArray<ExcalidrawElement>): Array<ExcalidrawTextElement["fontFamily"]>;
|
|
74
|
+
/**
|
|
75
|
+
* Get all the unique characters per font family for the given scene.
|
|
76
|
+
*/
|
|
77
|
+
private static getCharsPerFamily;
|
|
78
|
+
/**
|
|
79
|
+
* Get characters for a given family.
|
|
80
|
+
*/
|
|
81
|
+
private static getCharacters;
|
|
82
|
+
/**
|
|
83
|
+
* Get all registered font families.
|
|
84
|
+
*/
|
|
85
|
+
private static getAllFamilies;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Calculates vertical offset for a text with alphabetic baseline.
|
|
89
|
+
*/
|
|
90
|
+
export declare const getVerticalOffset: (fontFamily: ExcalidrawTextElement["fontFamily"], fontSize: ExcalidrawTextElement["fontSize"], lineHeightPx: number) => number;
|
|
91
|
+
/**
|
|
92
|
+
* Gets line height forr a selected family.
|
|
93
|
+
*/
|
|
94
|
+
export declare const getLineHeight: (fontFamily: FontFamilyValues) => number & {
|
|
95
|
+
_brand: "unitlessLineHeight";
|
|
96
|
+
};
|
|
97
|
+
export interface ExcalidrawFontFaceDescriptor {
|
|
98
|
+
uri: string;
|
|
99
|
+
descriptors?: FontFaceDescriptors;
|
|
100
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ExcalidrawFontFaceDescriptor } from "../Fonts";
|
|
2
|
+
/**
|
|
3
|
+
* The original font was modified with the following changes:
|
|
4
|
+
* - removed non-CJK codepoints
|
|
5
|
+
* - reduced any Hangul side-bearings to 40%
|
|
6
|
+
* - centered in width of inproperly centered CJK codepoints
|
|
7
|
+
*/
|
|
8
|
+
export declare const XiaolaiFontFaces: ExcalidrawFontFaceDescriptor[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Fonts";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ExcalidrawElement, OrderedExcalidrawElement } from "./element/types";
|
|
2
|
+
/**
|
|
3
|
+
* Envisioned relation between array order and fractional indices:
|
|
4
|
+
*
|
|
5
|
+
* 1) Array (or array-like ordered data structure) should be used as a cache of elements order, hiding the internal fractional indices implementation.
|
|
6
|
+
* - it's undesirable to perform reorder for each related operation, therefore it's necessary to cache the order defined by fractional indices into an ordered data structure
|
|
7
|
+
* - it's easy enough to define the order of the elements from the outside (boundaries), without worrying about the underlying structure of fractional indices (especially for the host apps)
|
|
8
|
+
* - it's necessary to always keep the array support for backwards compatibility (restore) - old scenes, old libraries, supporting multiple excalidraw versions etc.
|
|
9
|
+
* - it's necessary to always keep the fractional indices in sync with the array order
|
|
10
|
+
* - elements with invalid indices should be detected and synced, without altering the already valid indices
|
|
11
|
+
*
|
|
12
|
+
* 2) Fractional indices should be used to reorder the elements, whenever the cached order is expected to be invalidated.
|
|
13
|
+
* - as the fractional indices are encoded as part of the elements, it opens up possibilities for incremental-like APIs
|
|
14
|
+
* - re-order based on fractional indices should be part of (multiplayer) operations such as reconciliation & undo/redo
|
|
15
|
+
* - technically all the z-index actions could perform also re-order based on fractional indices,but in current state it would not bring much benefits,
|
|
16
|
+
* as it's faster & more efficient to perform re-order based on array manipulation and later synchronisation of moved indices with the array order
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Ensure that all elements have valid fractional indices.
|
|
20
|
+
*
|
|
21
|
+
* @throws `InvalidFractionalIndexError` if invalid index is detected.
|
|
22
|
+
*/
|
|
23
|
+
export declare const validateFractionalIndices: (elements: readonly ExcalidrawElement[], { shouldThrow, includeBoundTextValidation, ignoreLogs, reconciliationContext, }: {
|
|
24
|
+
shouldThrow: boolean;
|
|
25
|
+
includeBoundTextValidation: boolean;
|
|
26
|
+
ignoreLogs?: true | undefined;
|
|
27
|
+
reconciliationContext?: {
|
|
28
|
+
localElements: ReadonlyArray<ExcalidrawElement>;
|
|
29
|
+
remoteElements: ReadonlyArray<ExcalidrawElement>;
|
|
30
|
+
} | undefined;
|
|
31
|
+
}) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Order the elements based on the fractional indices.
|
|
34
|
+
* - when fractional indices are identical, break the tie based on the element id
|
|
35
|
+
* - when there is no fractional index in one of the elements, respect the order of the array
|
|
36
|
+
*/
|
|
37
|
+
export declare const orderByFractionalIndex: (elements: OrderedExcalidrawElement[]) => OrderedExcalidrawElement[];
|
|
38
|
+
/**
|
|
39
|
+
* Synchronizes invalid fractional indices of moved elements with the array order by mutating passed elements.
|
|
40
|
+
* If the synchronization fails or the result is invalid, it fallbacks to `syncInvalidIndices`.
|
|
41
|
+
*/
|
|
42
|
+
export declare const syncMovedIndices: (elements: readonly ExcalidrawElement[], movedElements: Map<string, ExcalidrawElement>) => OrderedExcalidrawElement[];
|
|
43
|
+
/**
|
|
44
|
+
* Synchronizes all invalid fractional indices with the array order by mutating passed elements.
|
|
45
|
+
*
|
|
46
|
+
* WARN: in edge cases it could modify the elements which were not moved, as it's impossible to guess the actually moved elements from the elements array itself.
|
|
47
|
+
*/
|
|
48
|
+
export declare const syncInvalidIndices: (elements: readonly ExcalidrawElement[]) => OrderedExcalidrawElement[];
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted, NonDeletedExcalidrawElement } from "./element/types";
|
|
2
|
+
import type { AppClassProperties, AppState, StaticCanvasAppState } from "./types";
|
|
3
|
+
import type { ExcalidrawElementsIncludingDeleted } from "./scene/Scene";
|
|
4
|
+
import type { ReadonlySetLike } from "./utility-types";
|
|
5
|
+
export declare const bindElementsToFramesAfterDuplication: (nextElements: readonly ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
|
|
6
|
+
export declare function isElementIntersectingFrame(element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap): boolean;
|
|
7
|
+
export declare const getElementsCompletelyInFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => ExcalidrawElement[];
|
|
8
|
+
export declare const isElementContainingFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
|
|
9
|
+
export declare const getElementsIntersectingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => ExcalidrawElement[];
|
|
10
|
+
export declare const elementsAreInFrameBounds: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
|
|
11
|
+
export declare const elementOverlapsWithFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
|
|
12
|
+
export declare const isCursorInFrame: (cursorCoords: {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
}, frame: NonDeleted<ExcalidrawFrameLikeElement>, elementsMap: ElementsMap) => boolean;
|
|
16
|
+
export declare const groupsAreAtLeastIntersectingTheFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameLikeElement) => boolean;
|
|
17
|
+
export declare const groupsAreCompletelyOutOfFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameLikeElement) => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Returns a map of frameId to frame elements. Includes empty frames.
|
|
20
|
+
*/
|
|
21
|
+
export declare const groupByFrameLikes: (elements: readonly ExcalidrawElement[]) => Map<string, ExcalidrawElement[]>;
|
|
22
|
+
export declare const getFrameChildren: (allElements: ElementsMapOrArray, frameId: string) => ExcalidrawElement[];
|
|
23
|
+
export declare const getFrameLikeElements: (allElements: ExcalidrawElementsIncludingDeleted) => ExcalidrawFrameLikeElement[];
|
|
24
|
+
/**
|
|
25
|
+
* Returns ExcalidrawFrameElements and non-frame-children elements.
|
|
26
|
+
*
|
|
27
|
+
* Considers children as root elements if they point to a frame parent
|
|
28
|
+
* non-existing in the elements set.
|
|
29
|
+
*
|
|
30
|
+
* Considers non-frame bound elements (container or arrow labels) as root.
|
|
31
|
+
*/
|
|
32
|
+
export declare const getRootElements: (allElements: ExcalidrawElementsIncludingDeleted) => ExcalidrawElement[];
|
|
33
|
+
export declare const getElementsInResizingFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, appState: AppState, elementsMap: ElementsMap) => ExcalidrawElement[];
|
|
34
|
+
export declare const getElementsInNewFrame: (elements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => (import("./element/types").ExcalidrawSelectionElement | import("./element/types").ExcalidrawRectangleElement | import("./element/types").ExcalidrawDiamondElement | import("./element/types").ExcalidrawEllipseElement | import("./element/types").ExcalidrawTextElement | import("./element/types").ExcalidrawLinearElement | import("./element/types").ExcalidrawFreeDrawElement | import("./element/types").ExcalidrawImageElement | import("./element/types").ExcalidrawFrameElement | import("./element/types").ExcalidrawMagicFrameElement | import("./element/types").ExcalidrawIframeElement | import("./element/types").ExcalidrawEmbeddableElement)[];
|
|
35
|
+
export declare const omitPartialGroups: (elements: ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, allElementsMap: ElementsMap) => (import("./element/types").ExcalidrawSelectionElement | import("./element/types").ExcalidrawRectangleElement | import("./element/types").ExcalidrawDiamondElement | import("./element/types").ExcalidrawEllipseElement | import("./element/types").ExcalidrawTextElement | import("./element/types").ExcalidrawLinearElement | import("./element/types").ExcalidrawFreeDrawElement | import("./element/types").ExcalidrawImageElement | import("./element/types").ExcalidrawFrameElement | import("./element/types").ExcalidrawMagicFrameElement | import("./element/types").ExcalidrawIframeElement | import("./element/types").ExcalidrawEmbeddableElement)[];
|
|
36
|
+
export declare const getContainingFrame: (element: ExcalidrawElement, elementsMap: ElementsMap) => ExcalidrawFrameLikeElement | null;
|
|
37
|
+
/** */
|
|
38
|
+
export declare const filterElementsEligibleAsFrameChildren: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => ExcalidrawElement[];
|
|
39
|
+
/**
|
|
40
|
+
* Retains (or repairs for target frame) the ordering invriant where children
|
|
41
|
+
* elements come right before the parent frame:
|
|
42
|
+
* [el, el, child, child, frame, el]
|
|
43
|
+
*
|
|
44
|
+
* @returns mutated allElements (same data structure)
|
|
45
|
+
*/
|
|
46
|
+
export declare const addElementsToFrame: <T extends ElementsMapOrArray>(allElements: T, elementsToAdd: NonDeletedExcalidrawElement[], frame: ExcalidrawFrameLikeElement, appState: AppState) => T;
|
|
47
|
+
export declare const removeElementsFromFrame: (elementsToRemove: ReadonlySetLike<NonDeletedExcalidrawElement>, elementsMap: ElementsMap) => void;
|
|
48
|
+
export declare const removeAllElementsFromFrame: <T extends ExcalidrawElement>(allElements: readonly T[], frame: ExcalidrawFrameLikeElement) => readonly T[];
|
|
49
|
+
export declare const replaceAllElementsInFrame: <T extends ExcalidrawElement>(allElements: readonly T[], nextElementsInFrame: ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, app: AppClassProperties) => T[];
|
|
50
|
+
/** does not mutate elements, but returns new ones */
|
|
51
|
+
export declare const updateFrameMembershipOfSelectedElements: <T extends ElementsMapOrArray>(allElements: T, appState: AppState, app: AppClassProperties) => T;
|
|
52
|
+
/**
|
|
53
|
+
* filters out elements that are inside groups that contain a frame element
|
|
54
|
+
* anywhere in the group tree
|
|
55
|
+
*/
|
|
56
|
+
export declare const omitGroupsContainingFrameLikes: (allElements: ElementsMapOrArray, selectedElements?: readonly ExcalidrawElement[]) => ExcalidrawElement[];
|
|
57
|
+
/**
|
|
58
|
+
* depending on the appState, return target frame, which is the frame the given element
|
|
59
|
+
* is going to be added to or remove from
|
|
60
|
+
*/
|
|
61
|
+
export declare const getTargetFrame: (element: ExcalidrawElement, elementsMap: ElementsMap, appState: StaticCanvasAppState) => ExcalidrawFrameLikeElement | null;
|
|
62
|
+
export declare const isElementInFrame: (element: ExcalidrawElement, allElementsMap: ElementsMap, appState: StaticCanvasAppState, opts?: {
|
|
63
|
+
targetFrame?: ExcalidrawFrameLikeElement;
|
|
64
|
+
checkedGroups?: Map<string, boolean>;
|
|
65
|
+
}) => boolean;
|
|
66
|
+
export declare const shouldApplyFrameClip: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, appState: StaticCanvasAppState, elementsMap: ElementsMap, checkedGroups?: Map<string, boolean>) => boolean;
|
|
67
|
+
export declare const getFrameLikeTitle: (element: ExcalidrawFrameLikeElement) => string;
|
|
68
|
+
export declare const getElementsOverlappingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => NonDeletedExcalidrawElement[];
|
|
69
|
+
export declare const frameAndChildrenSelectedTogether: (selectedElements: readonly ExcalidrawElement[]) => boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { GroupId, ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ElementsMapOrArray, ElementsMap } from "./element/types";
|
|
2
|
+
import type { AppClassProperties, AppState, InteractiveCanvasAppState } from "./types";
|
|
3
|
+
import type { Mutable } from "./utility-types";
|
|
4
|
+
export declare const selectGroup: (groupId: GroupId, appState: InteractiveCanvasAppState, elements: readonly NonDeleted<ExcalidrawElement>[]) => Pick<InteractiveCanvasAppState, "selectedGroupIds" | "selectedElementIds" | "editingGroupId">;
|
|
5
|
+
export declare const selectGroupsForSelectedElements: {
|
|
6
|
+
(appState: Pick<AppState, "selectedElementIds" | "editingGroupId">, elements: readonly NonDeletedExcalidrawElement[], prevAppState: InteractiveCanvasAppState, app: AppClassProperties | null): Mutable<Pick<InteractiveCanvasAppState, "selectedGroupIds" | "editingGroupId" | "selectedElementIds">>;
|
|
7
|
+
clearCache(): void;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* If the element's group is selected, don't render an individual
|
|
11
|
+
* selection border around it.
|
|
12
|
+
*/
|
|
13
|
+
export declare const isSelectedViaGroup: (appState: InteractiveCanvasAppState, element: ExcalidrawElement) => boolean;
|
|
14
|
+
export declare const getSelectedGroupForElement: (appState: InteractiveCanvasAppState, element: ExcalidrawElement) => string | undefined;
|
|
15
|
+
export declare const getSelectedGroupIds: (appState: InteractiveCanvasAppState) => GroupId[];
|
|
16
|
+
export declare const selectGroupsFromGivenElements: (elements: readonly NonDeleted<ExcalidrawElement>[], appState: InteractiveCanvasAppState) => {
|
|
17
|
+
[groupId: string]: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare const editGroupForSelectedElement: (appState: AppState, element: NonDeleted<ExcalidrawElement>) => AppState;
|
|
20
|
+
export declare const isElementInGroup: (element: ExcalidrawElement, groupId: string) => boolean;
|
|
21
|
+
export declare const getElementsInGroup: (elements: ElementsMapOrArray, groupId: string) => ExcalidrawElement[];
|
|
22
|
+
export declare const getSelectedGroupIdForElement: (element: ExcalidrawElement, selectedGroupIds: {
|
|
23
|
+
[groupId: string]: boolean;
|
|
24
|
+
}) => string | undefined;
|
|
25
|
+
export declare const getNewGroupIdsForDuplication: (groupIds: ExcalidrawElement["groupIds"], editingGroupId: AppState["editingGroupId"], mapper: (groupId: GroupId) => GroupId) => string[];
|
|
26
|
+
export declare const addToGroup: (prevGroupIds: ExcalidrawElement["groupIds"], newGroupId: GroupId, editingGroupId: AppState["editingGroupId"]) => string[];
|
|
27
|
+
export declare const removeFromSelectedGroups: (groupIds: ExcalidrawElement["groupIds"], selectedGroupIds: {
|
|
28
|
+
[groupId: string]: boolean;
|
|
29
|
+
}) => string[];
|
|
30
|
+
export declare const getMaximumGroups: (elements: ExcalidrawElement[], elementsMap: ElementsMap) => ExcalidrawElement[][];
|
|
31
|
+
export declare const getNonDeletedGroupIds: (elements: ElementsMap) => Set<string>;
|
|
32
|
+
export declare const elementsAreInSameGroup: (elements: readonly ExcalidrawElement[]) => boolean;
|
|
33
|
+
export declare const isInGroup: (element: NonDeletedExcalidrawElement) => boolean;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { AppStateChange, ElementsChange } from "./change";
|
|
2
|
+
import type { SceneElementsMap } from "./element/types";
|
|
3
|
+
import { Emitter } from "./emitter";
|
|
4
|
+
import type { Snapshot } from "./store";
|
|
5
|
+
import type { AppState } from "./types";
|
|
6
|
+
export declare class HistoryChangedEvent {
|
|
7
|
+
readonly isUndoStackEmpty: boolean;
|
|
8
|
+
readonly isRedoStackEmpty: boolean;
|
|
9
|
+
constructor(isUndoStackEmpty?: boolean, isRedoStackEmpty?: boolean);
|
|
10
|
+
}
|
|
11
|
+
export declare class History {
|
|
12
|
+
readonly onHistoryChangedEmitter: Emitter<[HistoryChangedEvent]>;
|
|
13
|
+
private readonly undoStack;
|
|
14
|
+
private readonly redoStack;
|
|
15
|
+
get isUndoStackEmpty(): boolean;
|
|
16
|
+
get isRedoStackEmpty(): boolean;
|
|
17
|
+
clear(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Record a local change which will go into the history
|
|
20
|
+
*/
|
|
21
|
+
record(elementsChange: ElementsChange, appStateChange: AppStateChange): void;
|
|
22
|
+
undo(elements: SceneElementsMap, appState: AppState, snapshot: Readonly<Snapshot>): void | [SceneElementsMap, AppState];
|
|
23
|
+
redo(elements: SceneElementsMap, appState: AppState, snapshot: Readonly<Snapshot>): void | [SceneElementsMap, AppState];
|
|
24
|
+
private perform;
|
|
25
|
+
private static pop;
|
|
26
|
+
private static push;
|
|
27
|
+
}
|
|
28
|
+
export declare class HistoryEntry {
|
|
29
|
+
readonly appStateChange: AppStateChange;
|
|
30
|
+
readonly elementsChange: ElementsChange;
|
|
31
|
+
private constructor();
|
|
32
|
+
static create(appStateChange: AppStateChange, elementsChange: ElementsChange): HistoryEntry;
|
|
33
|
+
inverse(): HistoryEntry;
|
|
34
|
+
applyTo(elements: SceneElementsMap, appState: AppState, snapshot: Readonly<Snapshot>): [SceneElementsMap, AppState, boolean];
|
|
35
|
+
/**
|
|
36
|
+
* Apply latest (remote) changes to the history entry, creates new instance of `HistoryEntry`.
|
|
37
|
+
*/
|
|
38
|
+
applyLatestChanges(elements: SceneElementsMap): HistoryEntry;
|
|
39
|
+
isEmpty(): boolean;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useCallbackRefState: <T>() => readonly [T | null, (value: T | null) => void];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LibraryItem } from "../types";
|
|
2
|
+
export type SvgCache = Map<LibraryItem["id"], SVGSVGElement>;
|
|
3
|
+
export declare const libraryItemSvgsCache: import("jotai/vanilla/atom").PrimitiveAtom<SvgCache> & {
|
|
4
|
+
init: SvgCache;
|
|
5
|
+
};
|
|
6
|
+
export declare const useLibraryItemSvg: (id: LibraryItem["id"] | null, elements: LibraryItem["elements"] | undefined, svgCache: SvgCache) => SVGSVGElement | undefined;
|
|
7
|
+
export declare const useLibraryCache: () => {
|
|
8
|
+
clearLibraryCache: () => void;
|
|
9
|
+
deleteItemsFromLibraryCache: (items: LibraryItem["id"][]) => void;
|
|
10
|
+
svgCache: SvgCache;
|
|
11
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare function useOutsideClick<T extends HTMLElement>(ref: React.RefObject<T>,
|
|
2
|
+
/** if performance is of concern, memoize the callback */
|
|
3
|
+
callback: (event: Event) => void,
|
|
4
|
+
/**
|
|
5
|
+
* Optional callback which is called on every click.
|
|
6
|
+
*
|
|
7
|
+
* Should return `true` if click should be considered as inside the container,
|
|
8
|
+
* and `false` if it falls outside and should call the `callback`.
|
|
9
|
+
*
|
|
10
|
+
* Returning `true` overrides the default behavior and `callback` won't be
|
|
11
|
+
* called.
|
|
12
|
+
*
|
|
13
|
+
* Returning `undefined` will fallback to the default behavior.
|
|
14
|
+
*/
|
|
15
|
+
isInside?: (event: Event & {
|
|
16
|
+
target: HTMLElement;
|
|
17
|
+
},
|
|
18
|
+
/** the element of the passed ref */
|
|
19
|
+
container: T) => boolean | undefined): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useScrollPosition: <T extends HTMLElement>(elementRef: import("react").RefObject<T>) => number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStable: <T extends Record<string, any>>(value: T) => T;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import fallbackLangData from "./locales/en.json";
|
|
2
|
+
import type { NestedKeyOf } from "./utility-types";
|
|
3
|
+
export interface Language {
|
|
4
|
+
code: string;
|
|
5
|
+
label: string;
|
|
6
|
+
rtl?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type TranslationKeys = NestedKeyOf<typeof fallbackLangData>;
|
|
9
|
+
export declare const defaultLang: {
|
|
10
|
+
code: string;
|
|
11
|
+
label: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const languages: Language[];
|
|
14
|
+
export declare const setLanguage: (lang: Language) => Promise<void>;
|
|
15
|
+
export declare const getLanguage: () => Language;
|
|
16
|
+
export declare const t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
|
|
17
|
+
[key: string]: string | number;
|
|
18
|
+
} | null | undefined, fallback?: string) => string;
|
|
19
|
+
export declare const useI18n: () => {
|
|
20
|
+
t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
|
|
21
|
+
[key: string]: string | number;
|
|
22
|
+
} | null | undefined, fallback?: string) => string;
|
|
23
|
+
langCode: string;
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./css/app.scss";
|
|
3
|
+
import "./css/styles.scss";
|
|
4
|
+
import "./fonts/fonts.css";
|
|
5
|
+
import type { ExcalidrawProps } from "./types";
|
|
6
|
+
import Footer from "./components/footer/FooterCenter";
|
|
7
|
+
import MainMenu from "./components/main-menu/MainMenu";
|
|
8
|
+
import WelcomeScreen from "./components/welcome-screen/WelcomeScreen";
|
|
9
|
+
import LiveCollaborationTrigger from "./components/live-collaboration/LiveCollaborationTrigger";
|
|
10
|
+
export declare const Excalidraw: React.MemoExoticComponent<(props: ExcalidrawProps) => JSX.Element>;
|
|
11
|
+
export { getSceneVersion, hashElementsVersion, hashString, isInvisiblySmallElement, getNonDeletedElements, getTextFromElements, } from "./element";
|
|
12
|
+
export { defaultLang, useI18n, languages } from "./i18n";
|
|
13
|
+
export { restore, restoreAppState, restoreElements, restoreLibraryItems, } from "./data/restore";
|
|
14
|
+
export { reconcileElements } from "./data/reconcile";
|
|
15
|
+
export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, getCommonBoundingBox, //zsviczian
|
|
16
|
+
getMaximumGroups, //zsviczian
|
|
17
|
+
intersectElementWithLine, //zsviczian
|
|
18
|
+
determineFocusDistance, //zsviczian
|
|
19
|
+
measureText, //zsviczian
|
|
20
|
+
getLineHeight, //zsviczian
|
|
21
|
+
wrapText, //zsviczian
|
|
22
|
+
getFontString, //zsviczian
|
|
23
|
+
getBoundTextMaxWidth, //zsviczian
|
|
24
|
+
mermaidToExcalidraw, //zsviczian
|
|
25
|
+
destroyObsidianUtils, //zsviczian
|
|
26
|
+
registerLocalFont, //zsviczian
|
|
27
|
+
getFontFamilies, //zsviczian
|
|
28
|
+
getFontFamilyString, //zsviczian
|
|
29
|
+
registerFontsInCSS, //zsviczian
|
|
30
|
+
getCSSFontDefinition, //zsviczian
|
|
31
|
+
loadSceneFonts, //zsviczian
|
|
32
|
+
loadMermaid, } from "../utils/export";
|
|
33
|
+
export { refreshTextDimensions } from "./element/newElement";
|
|
34
|
+
export { getContainerElement } from "./element/textElement";
|
|
35
|
+
export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
|
|
36
|
+
export { loadFromBlob, loadSceneOrLibraryFromBlob, loadLibraryFromBlob, } from "./data/blob";
|
|
37
|
+
export { getFreeDrawSvgPath } from "./renderer/renderElement";
|
|
38
|
+
export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
|
|
39
|
+
export { isLinearElement } from "./element/typeChecks";
|
|
40
|
+
export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, } from "./constants";
|
|
41
|
+
export { mutateElement, newElementWith, bumpVersion, } from "./element/mutateElement";
|
|
42
|
+
export { StoreAction } from "./store";
|
|
43
|
+
export { parseLibraryTokensFromUrl, useHandleLibrary } from "./data/library";
|
|
44
|
+
export { sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, safelyParseJSON, } from "./utils";
|
|
45
|
+
export { getEmbedLink } from "./element/embeddable";
|
|
46
|
+
export { Sidebar } from "./components/Sidebar/Sidebar";
|
|
47
|
+
export { Button } from "./components/Button";
|
|
48
|
+
export { Footer };
|
|
49
|
+
export { MainMenu };
|
|
50
|
+
export { useDevice } from "./components/App";
|
|
51
|
+
export { WelcomeScreen };
|
|
52
|
+
export { LiveCollaborationTrigger };
|
|
53
|
+
export { Stats } from "./components/Stats";
|
|
54
|
+
export { DefaultSidebar } from "./components/DefaultSidebar";
|
|
55
|
+
export { TTDDialog } from "./components/TTDDialog/TTDDialog";
|
|
56
|
+
export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
|
|
57
|
+
export { normalizeLink } from "./data/url";
|
|
58
|
+
export { zoomToFitBounds } from "./actions/actionCanvas";
|
|
59
|
+
export { convertToExcalidrawElements } from "./data/transform";
|
|
60
|
+
export { getCommonBounds, getVisibleSceneBounds } from "./element/bounds";
|
|
61
|
+
export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "../utils/withinBounds";
|
|
62
|
+
export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
|
|
63
|
+
export { getDataURL } from "./data/blob";
|
|
64
|
+
export { isElementLink } from "./element/elementLink";
|