@excalidraw/element 0.18.0-d2463f87d
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/README.md +19 -0
- package/dist/dev/index.js +19296 -0
- package/dist/dev/index.js.map +7 -0
- package/dist/prod/index.js +27 -0
- package/dist/types/common/src/binary-heap.d.ts +12 -0
- package/dist/types/common/src/colors.d.ts +62 -0
- package/dist/types/common/src/constants.d.ts +343 -0
- package/dist/types/common/src/emitter.d.ts +16 -0
- package/dist/types/common/src/font-metadata.d.ts +48 -0
- package/dist/types/common/src/index.d.ts +12 -0
- package/dist/types/common/src/keys.d.ts +189 -0
- package/dist/types/common/src/points.d.ts +9 -0
- package/dist/types/common/src/promise-pool.d.ts +6 -0
- package/dist/types/common/src/queue.d.ts +9 -0
- package/dist/types/common/src/random.d.ts +3 -0
- package/dist/types/common/src/url.d.ts +7 -0
- package/dist/types/common/src/utility-types.d.ts +38 -0
- package/dist/types/common/src/utils.d.ts +267 -0
- package/dist/types/element/src/Scene.d.ts +76 -0
- package/dist/types/element/src/align.d.ts +7 -0
- package/dist/types/element/src/binding.d.ts +110 -0
- package/dist/types/element/src/bounds.d.ts +89 -0
- package/dist/types/element/src/collision.d.ts +32 -0
- package/dist/types/element/src/comparisons.d.ts +8 -0
- package/dist/types/element/src/containerCache.d.ts +11 -0
- package/dist/types/element/src/cropElement.d.ts +19 -0
- package/dist/types/element/src/delta.d.ts +216 -0
- package/dist/types/element/src/distance.d.ts +3 -0
- package/dist/types/element/src/distribute.d.ts +6 -0
- package/dist/types/element/src/dragElements.d.ts +33 -0
- package/dist/types/element/src/duplicate.d.ts +63 -0
- package/dist/types/element/src/elbowArrow.d.ts +17 -0
- package/dist/types/element/src/elementLink.d.ts +13 -0
- package/dist/types/element/src/embeddable.d.ts +10 -0
- package/dist/types/element/src/flowchart.d.ts +26 -0
- package/dist/types/element/src/fractionalIndex.d.ts +57 -0
- package/dist/types/element/src/frame.d.ts +70 -0
- package/dist/types/element/src/groups.d.ts +33 -0
- package/dist/types/element/src/heading.d.ts +15 -0
- package/dist/types/element/src/image.d.ts +32 -0
- package/dist/types/element/src/index.d.ts +57 -0
- package/dist/types/element/src/linearElementEditor.d.ts +116 -0
- package/dist/types/element/src/mutateElement.d.ts +21 -0
- package/dist/types/element/src/newElement.d.ts +62 -0
- package/dist/types/element/src/renderElement.d.ts +28 -0
- package/dist/types/element/src/resizeElements.d.ts +32 -0
- package/dist/types/element/src/resizeTest.d.ts +15 -0
- package/dist/types/element/src/selection.d.ts +38 -0
- package/dist/types/element/src/shape.d.ts +42 -0
- package/dist/types/element/src/showSelectedShapeActions.d.ts +3 -0
- package/dist/types/element/src/sizeHelpers.d.ts +35 -0
- package/dist/types/element/src/sortElements.d.ts +2 -0
- package/dist/types/element/src/store.d.ts +231 -0
- package/dist/types/element/src/textElement.d.ts +40 -0
- package/dist/types/element/src/textMeasurements.d.ts +41 -0
- package/dist/types/element/src/textWrapping.d.ts +13 -0
- package/dist/types/element/src/transformHandles.d.ts +55 -0
- package/dist/types/element/src/typeChecks.d.ts +57 -0
- package/dist/types/element/src/types.d.ts +295 -0
- package/dist/types/element/src/utils.d.ts +31 -0
- package/dist/types/element/src/zindex.d.ts +7 -0
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +528 -0
- package/dist/types/excalidraw/actions/actionAlign.d.ts +110 -0
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +389 -0
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +2416 -0
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +1172 -0
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +189 -0
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +568 -0
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +35 -0
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +18 -0
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +211 -0
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +375 -0
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +186 -0
- package/dist/types/excalidraw/actions/actionExport.d.ts +1648 -0
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +398 -0
- package/dist/types/excalidraw/actions/actionFlip.d.ts +35 -0
- package/dist/types/excalidraw/actions/actionFrame.d.ts +1245 -0
- package/dist/types/excalidraw/actions/actionGroup.d.ts +387 -0
- package/dist/types/excalidraw/actions/actionHistory.d.ts +6 -0
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +683 -0
- package/dist/types/excalidraw/actions/actionLink.d.ts +190 -0
- package/dist/types/excalidraw/actions/actionMenu.d.ts +548 -0
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +363 -0
- package/dist/types/excalidraw/actions/actionProperties.d.ts +2774 -0
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +189 -0
- package/dist/types/excalidraw/actions/actionStyles.d.ts +203 -0
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +192 -0
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +190 -0
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +183 -0
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +189 -0
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +190 -0
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +190 -0
- package/dist/types/excalidraw/actions/actionZindex.d.ts +75 -0
- package/dist/types/excalidraw/actions/index.d.ts +28 -0
- package/dist/types/excalidraw/actions/manager.d.ts +21 -0
- package/dist/types/excalidraw/actions/register.d.ts +5 -0
- package/dist/types/excalidraw/actions/shortcuts.d.ts +4 -0
- package/dist/types/excalidraw/actions/types.d.ts +47 -0
- package/dist/types/excalidraw/analytics.d.ts +1 -0
- package/dist/types/excalidraw/animated-trail.d.ts +39 -0
- package/dist/types/excalidraw/animation-frame-handler.d.ts +16 -0
- package/dist/types/excalidraw/appState.d.ts +96 -0
- package/dist/types/excalidraw/charts.d.ts +27 -0
- package/dist/types/excalidraw/clients.d.ts +14 -0
- package/dist/types/excalidraw/clipboard.d.ts +66 -0
- package/dist/types/excalidraw/components/Actions.d.ts +34 -0
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -0
- package/dist/types/excalidraw/components/App.d.ts +559 -0
- package/dist/types/excalidraw/components/Avatar.d.ts +11 -0
- package/dist/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -0
- package/dist/types/excalidraw/components/Button.d.ts +17 -0
- package/dist/types/excalidraw/components/ButtonIcon.d.ts +16 -0
- package/dist/types/excalidraw/components/ButtonSeparator.d.ts +1 -0
- package/dist/types/excalidraw/components/Card.d.ts +7 -0
- package/dist/types/excalidraw/components/CheckboxItem.d.ts +8 -0
- package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -0
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -0
- package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -0
- package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -0
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +17 -0
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -0
- package/dist/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -0
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -0
- package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -0
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -0
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +21 -0
- package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -0
- package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -0
- package/dist/types/excalidraw/components/CommandPalette/types.d.ts +26 -0
- package/dist/types/excalidraw/components/ConfirmDialog.d.ts +10 -0
- package/dist/types/excalidraw/components/ContextMenu.d.ts +16 -0
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +7 -0
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +31 -0
- package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -0
- package/dist/types/excalidraw/components/Dialog.d.ts +13 -0
- package/dist/types/excalidraw/components/DialogActionButton.d.ts +10 -0
- package/dist/types/excalidraw/components/ElementCanvasButtons.d.ts +7 -0
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +12 -0
- package/dist/types/excalidraw/components/ErrorDialog.d.ts +5 -0
- package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +16 -0
- package/dist/types/excalidraw/components/EyeDropper.d.ts +28 -0
- package/dist/types/excalidraw/components/FilledButton.d.ts +18 -0
- package/dist/types/excalidraw/components/FixedSideContainer.d.ts +9 -0
- package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -0
- package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -0
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -0
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -0
- package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +14 -0
- package/dist/types/excalidraw/components/HandButton.d.ts +10 -0
- package/dist/types/excalidraw/components/HelpButton.d.ts +7 -0
- package/dist/types/excalidraw/components/HelpDialog.d.ts +4 -0
- package/dist/types/excalidraw/components/HintViewer.d.ts +10 -0
- package/dist/types/excalidraw/components/IconPicker.d.ts +15 -0
- package/dist/types/excalidraw/components/ImageExportDialog.d.ts +14 -0
- package/dist/types/excalidraw/components/InitializeApp.d.ts +10 -0
- package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -0
- package/dist/types/excalidraw/components/Island.d.ts +10 -0
- package/dist/types/excalidraw/components/JSONExportDialog.d.ts +15 -0
- package/dist/types/excalidraw/components/LaserPointerButton.d.ts +10 -0
- package/dist/types/excalidraw/components/LayerUI.d.ts +31 -0
- package/dist/types/excalidraw/components/LibraryMenu.d.ts +10 -0
- package/dist/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -0
- package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -0
- package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +18 -0
- package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +14 -0
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +23 -0
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +15 -0
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +6 -0
- package/dist/types/excalidraw/components/LockButton.d.ts +10 -0
- package/dist/types/excalidraw/components/MagicButton.d.ts +10 -0
- package/dist/types/excalidraw/components/MobileMenu.d.ts +25 -0
- package/dist/types/excalidraw/components/Modal.d.ts +12 -0
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
- package/dist/types/excalidraw/components/PasteChartDialog.d.ts +8 -0
- package/dist/types/excalidraw/components/PenModeButton.d.ts +12 -0
- package/dist/types/excalidraw/components/Popover.d.ts +15 -0
- package/dist/types/excalidraw/components/ProjectName.d.ts +10 -0
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +15 -0
- package/dist/types/excalidraw/components/PublishLibrary.d.ts +16 -0
- package/dist/types/excalidraw/components/QuickSearch.d.ts +9 -0
- package/dist/types/excalidraw/components/RadioGroup.d.ts +14 -0
- package/dist/types/excalidraw/components/RadioSelection.d.ts +20 -0
- package/dist/types/excalidraw/components/Range.d.ts +8 -0
- package/dist/types/excalidraw/components/SVGLayer.d.ts +7 -0
- package/dist/types/excalidraw/components/ScrollableList.d.ts +9 -0
- package/dist/types/excalidraw/components/SearchMenu.d.ts +5 -0
- package/dist/types/excalidraw/components/Section.d.ts +6 -0
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -0
- package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -0
- package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +9 -0
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +10 -0
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +7 -0
- package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +7 -0
- package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -0
- package/dist/types/excalidraw/components/Sidebar/common.d.ts +34 -0
- package/dist/types/excalidraw/components/Spinner.d.ts +8 -0
- package/dist/types/excalidraw/components/Stack.d.ts +15 -0
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +11 -0
- package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +11 -0
- package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +11 -0
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +11 -0
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +45 -0
- package/dist/types/excalidraw/components/Stats/FontSize.d.ts +11 -0
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -0
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -0
- package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -0
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -0
- package/dist/types/excalidraw/components/Stats/Position.d.ts +12 -0
- package/dist/types/excalidraw/components/Stats/index.d.ts +36 -0
- package/dist/types/excalidraw/components/Stats/utils.d.ts +19 -0
- package/dist/types/excalidraw/components/Switch.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +6 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +30 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +8 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +8 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +7 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -0
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -0
- package/dist/types/excalidraw/components/TTDDialog/common.d.ts +33 -0
- package/dist/types/excalidraw/components/TextField.d.ts +21 -0
- package/dist/types/excalidraw/components/Toast.d.ts +9 -0
- package/dist/types/excalidraw/components/ToolButton.d.ts +49 -0
- package/dist/types/excalidraw/components/Tooltip.d.ts +18 -0
- package/dist/types/excalidraw/components/Trans.d.ts +9 -0
- package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
- package/dist/types/excalidraw/components/UserList.d.ts +18 -0
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -0
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -0
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -0
- package/dist/types/excalidraw/components/canvases/index.d.ts +3 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +18 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -0
- package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +6 -0
- package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
- package/dist/types/excalidraw/components/footer/Footer.d.ts +12 -0
- package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +8 -0
- package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -0
- package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -0
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +10 -0
- package/dist/types/excalidraw/components/icons.d.ts +225 -0
- package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -0
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -0
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -0
- package/dist/types/excalidraw/components/shapes.d.ts +62 -0
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +85 -0
- package/dist/types/excalidraw/context/tunnels.d.ts +21 -0
- package/dist/types/excalidraw/context/ui-appState.d.ts +4 -0
- package/dist/types/excalidraw/cursor.d.ts +5 -0
- package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +8 -0
- package/dist/types/excalidraw/data/blob.d.ts +53 -0
- package/dist/types/excalidraw/data/encode.d.ts +55 -0
- package/dist/types/excalidraw/data/encryption.d.ts +9 -0
- package/dist/types/excalidraw/data/filesystem.d.ts +21 -0
- package/dist/types/excalidraw/data/image.d.ts +9 -0
- package/dist/types/excalidraw/data/index.d.ts +22 -0
- package/dist/types/excalidraw/data/json.d.ts +16 -0
- package/dist/types/excalidraw/data/library.d.ts +112 -0
- package/dist/types/excalidraw/data/reconcile.d.ts +6 -0
- package/dist/types/excalidraw/data/resave.d.ts +5 -0
- package/dist/types/excalidraw/data/restore.d.ts +21 -0
- package/dist/types/excalidraw/data/transform.d.ts +81 -0
- package/dist/types/excalidraw/data/types.d.ts +45 -0
- package/dist/types/excalidraw/deburr.d.ts +1 -0
- package/dist/types/excalidraw/editor-jotai.d.ts +56 -0
- package/dist/types/excalidraw/eraser/index.d.ts +12 -0
- package/dist/types/excalidraw/errors.d.ts +29 -0
- package/dist/types/excalidraw/fonts/Cascadia/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/Emoji/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +25 -0
- package/dist/types/excalidraw/fonts/Excalifont/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/Fonts.d.ts +79 -0
- package/dist/types/excalidraw/fonts/Helvetica/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/Liberation/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/Lilita/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/Nunito/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/Virgil/index.d.ts +2 -0
- package/dist/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -0
- package/dist/types/excalidraw/fonts/index.d.ts +1 -0
- package/dist/types/excalidraw/gesture.d.ts +6 -0
- package/dist/types/excalidraw/history.d.ts +48 -0
- package/dist/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -0
- package/dist/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -0
- package/dist/types/excalidraw/hooks/useCreatePortalContainer.d.ts +4 -0
- package/dist/types/excalidraw/hooks/useEmitter.d.ts +2 -0
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -0
- package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +20 -0
- package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +2 -0
- package/dist/types/excalidraw/hooks/useStable.d.ts +1 -0
- package/dist/types/excalidraw/hooks/useStableCallback.d.ts +4 -0
- package/dist/types/excalidraw/hooks/useTransition.d.ts +2 -0
- package/dist/types/excalidraw/i18n.d.ts +24 -0
- package/dist/types/excalidraw/index.d.ts +46 -0
- package/dist/types/excalidraw/laser-trails.d.ts +20 -0
- package/dist/types/excalidraw/lasso/index.d.ts +16 -0
- package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
- package/dist/types/excalidraw/mermaid.d.ts +2 -0
- package/dist/types/excalidraw/polyfill.d.ts +2 -0
- package/dist/types/excalidraw/reactUtils.d.ts +14 -0
- package/dist/types/excalidraw/renderer/helpers.d.ts +18 -0
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +20 -0
- package/dist/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -0
- package/dist/types/excalidraw/renderer/renderSnaps.d.ts +2 -0
- package/dist/types/excalidraw/renderer/roundRect.d.ts +11 -0
- package/dist/types/excalidraw/renderer/staticScene.d.ts +11 -0
- package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +5 -0
- package/dist/types/excalidraw/scene/Renderer.d.ts +27 -0
- package/dist/types/excalidraw/scene/export.d.ts +36 -0
- package/dist/types/excalidraw/scene/index.d.ts +4 -0
- package/dist/types/excalidraw/scene/normalize.d.ts +4 -0
- package/dist/types/excalidraw/scene/scroll.d.ts +23 -0
- package/dist/types/excalidraw/scene/scrollbars.d.ts +11 -0
- package/dist/types/excalidraw/scene/types.d.ts +120 -0
- package/dist/types/excalidraw/scene/zoom.d.ts +12 -0
- package/dist/types/excalidraw/snapping.d.ts +111 -0
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -0
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -0
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -0
- package/dist/types/excalidraw/subset/subset-main.d.ts +12 -0
- package/dist/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -0
- package/dist/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -0
- package/dist/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -0
- package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -0
- package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -0
- package/dist/types/excalidraw/types.d.ts +706 -0
- package/dist/types/excalidraw/workers.d.ts +36 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +24 -0
- package/dist/types/math/src/angle.d.ts +19 -0
- package/dist/types/math/src/constants.d.ts +3 -0
- package/dist/types/math/src/curve.d.ts +74 -0
- package/dist/types/math/src/ellipse.d.ts +44 -0
- package/dist/types/math/src/index.d.ts +13 -0
- package/dist/types/math/src/line.d.ts +17 -0
- package/dist/types/math/src/point.d.ts +122 -0
- package/dist/types/math/src/polygon.d.ts +6 -0
- package/dist/types/math/src/range.d.ts +44 -0
- package/dist/types/math/src/rectangle.d.ts +5 -0
- package/dist/types/math/src/segment.d.ts +39 -0
- package/dist/types/math/src/triangle.d.ts +11 -0
- package/dist/types/math/src/types.d.ts +106 -0
- package/dist/types/math/src/utils.d.ts +7 -0
- package/dist/types/math/src/vector.d.ts +94 -0
- package/dist/types/utils/src/bbox.d.ts +9 -0
- package/dist/types/utils/src/export.d.ts +35 -0
- package/dist/types/utils/src/index.d.ts +4 -0
- package/dist/types/utils/src/shape.d.ts +58 -0
- package/dist/types/utils/src/withinBounds.d.ts +19 -0
- package/package.json +63 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AnimatedTrail } from "./animated-trail";
|
|
2
|
+
import type { Trail } from "./animated-trail";
|
|
3
|
+
import type { AnimationFrameHandler } from "./animation-frame-handler";
|
|
4
|
+
import type App from "./components/App";
|
|
5
|
+
export declare class LaserTrails implements Trail {
|
|
6
|
+
private animationFrameHandler;
|
|
7
|
+
private app;
|
|
8
|
+
localTrail: AnimatedTrail;
|
|
9
|
+
private collabTrails;
|
|
10
|
+
private container?;
|
|
11
|
+
constructor(animationFrameHandler: AnimationFrameHandler, app: App);
|
|
12
|
+
private getTrailOptions;
|
|
13
|
+
startPath(x: number, y: number): void;
|
|
14
|
+
addPointToPath(x: number, y: number): void;
|
|
15
|
+
endPath(): void;
|
|
16
|
+
start(container: SVGSVGElement): void;
|
|
17
|
+
stop(): void;
|
|
18
|
+
onFrame(): void;
|
|
19
|
+
private updateCollabTrails;
|
|
20
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type AnimationFrameHandler } from "../animation-frame-handler";
|
|
2
|
+
import { AnimatedTrail } from "../animated-trail";
|
|
3
|
+
import type App from "../components/App";
|
|
4
|
+
export declare class LassoTrail extends AnimatedTrail {
|
|
5
|
+
private intersectedElements;
|
|
6
|
+
private enclosedElements;
|
|
7
|
+
private elementsSegments;
|
|
8
|
+
private canvasTranslate;
|
|
9
|
+
private keepPreviousSelection;
|
|
10
|
+
constructor(animationFrameHandler: AnimationFrameHandler, app: App);
|
|
11
|
+
startPath(x: number, y: number, keepPreviousSelection?: boolean): void;
|
|
12
|
+
selectElementsFromIds: (ids: string[]) => void;
|
|
13
|
+
addPointToPath: (x: number, y: number, keepPreviousSelection?: boolean) => void;
|
|
14
|
+
private updateSelection;
|
|
15
|
+
endPath(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ElementsSegmentsMap, GlobalPoint } from "@excalidraw/math/types";
|
|
2
|
+
import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
+
export declare const getLassoSelectedElementIds: (input: {
|
|
4
|
+
lassoPath: GlobalPoint[];
|
|
5
|
+
elements: readonly ExcalidrawElement[];
|
|
6
|
+
elementsMap: ElementsMap;
|
|
7
|
+
elementsSegments: ElementsSegmentsMap;
|
|
8
|
+
intersectedElements: Set<ExcalidrawElement["id"]>;
|
|
9
|
+
enclosedElements: Set<ExcalidrawElement["id"]>;
|
|
10
|
+
simplifyDistance?: number;
|
|
11
|
+
}) => {
|
|
12
|
+
selectedElementIds: string[];
|
|
13
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param func handler taking at most single parameter (event).
|
|
3
|
+
*/
|
|
4
|
+
export declare const withBatchedUpdates: <TFunction extends ((event: any) => void) | (() => void)>(func: Parameters<TFunction>["length"] extends 0 | 1 ? TFunction : never) => TFunction;
|
|
5
|
+
/**
|
|
6
|
+
* barches React state updates and throttles the calls to a single call per
|
|
7
|
+
* animation frame
|
|
8
|
+
*/
|
|
9
|
+
export declare const withBatchedUpdatesThrottled: <TFunction extends ((event: any) => void) | (() => void)>(func: Parameters<TFunction>["length"] extends 0 | 1 ? TFunction : never) => {
|
|
10
|
+
(...args: Parameters<TFunction>): void;
|
|
11
|
+
flush(): void;
|
|
12
|
+
cancel(): void;
|
|
13
|
+
};
|
|
14
|
+
export declare const isRenderThrottlingEnabled: () => boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ElementsMap, ExcalidrawDiamondElement, ExcalidrawRectanguloidElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { StaticCanvasRenderConfig } from "../scene/types";
|
|
3
|
+
import type { AppState, StaticCanvasAppState } from "../types";
|
|
4
|
+
export declare const fillCircle: (context: CanvasRenderingContext2D, cx: number, cy: number, radius: number, stroke: boolean, fill?: boolean) => void;
|
|
5
|
+
export declare const getNormalizedCanvasDimensions: (canvas: HTMLCanvasElement, scale: number) => [number, number];
|
|
6
|
+
export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normalizedHeight, theme, isExporting, viewBackgroundColor, }: {
|
|
7
|
+
canvas: HTMLCanvasElement;
|
|
8
|
+
scale: number;
|
|
9
|
+
normalizedWidth: number;
|
|
10
|
+
normalizedHeight: number;
|
|
11
|
+
theme?: import("@excalidraw/element/types").Theme | undefined;
|
|
12
|
+
isExporting?: boolean | undefined;
|
|
13
|
+
viewBackgroundColor?: string | null | undefined;
|
|
14
|
+
}) => CanvasRenderingContext2D;
|
|
15
|
+
export declare const drawHighlightForRectWithRotation: (context: CanvasRenderingContext2D, element: ExcalidrawRectanguloidElement, elementsMap: ElementsMap, padding: number) => void;
|
|
16
|
+
export declare const strokeEllipseWithRotation: (context: CanvasRenderingContext2D, width: number, height: number, cx: number, cy: number, angle: number) => void;
|
|
17
|
+
export declare const strokeRectWithRotation: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean, radius?: number) => void;
|
|
18
|
+
export declare const drawHighlightForDiamondWithRotation: (context: CanvasRenderingContext2D, padding: number, element: ExcalidrawDiamondElement, elementsMap: ElementsMap) => void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { InteractiveSceneRenderConfig, RenderableElementsMap } from "../scene/types";
|
|
2
|
+
/** throttled to animation framerate */
|
|
3
|
+
export declare const renderInteractiveSceneThrottled: {
|
|
4
|
+
(config: InteractiveSceneRenderConfig): void;
|
|
5
|
+
flush(): void;
|
|
6
|
+
cancel(): void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Interactive scene is the ui-canvas where we render bounding boxes, selections
|
|
10
|
+
* and other ui stuff.
|
|
11
|
+
*/
|
|
12
|
+
export declare const renderInteractiveScene: <U extends ({ canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, device, }: InteractiveSceneRenderConfig) => {
|
|
13
|
+
atLeastOneVisibleElement: boolean;
|
|
14
|
+
elementsMap: RenderableElementsMap;
|
|
15
|
+
scrollBars?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
scrollBars: import("../scene/types").ScrollBars | undefined;
|
|
18
|
+
atLeastOneVisibleElement: boolean;
|
|
19
|
+
elementsMap: RenderableElementsMap;
|
|
20
|
+
}, T extends boolean = false>(renderConfig: InteractiveSceneRenderConfig, throttle?: T | undefined) => T extends true ? void : ReturnType<U>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { NewElementSceneRenderConfig } from "../scene/types";
|
|
2
|
+
export declare const renderNewElementSceneThrottled: {
|
|
3
|
+
(config: NewElementSceneRenderConfig): void;
|
|
4
|
+
flush(): void;
|
|
5
|
+
cancel(): void;
|
|
6
|
+
};
|
|
7
|
+
export declare const renderNewElementScene: (renderConfig: NewElementSceneRenderConfig, throttle?: boolean) => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://stackoverflow.com/a/3368118
|
|
3
|
+
* Draws a rounded rectangle using the current state of the canvas.
|
|
4
|
+
* @param {CanvasRenderingContext2D} context
|
|
5
|
+
* @param {Number} x The top left x coordinate
|
|
6
|
+
* @param {Number} y The top left y coordinate
|
|
7
|
+
* @param {Number} width The width of the rectangle
|
|
8
|
+
* @param {Number} height The height of the rectangle
|
|
9
|
+
* @param {Number} radius The corner radius
|
|
10
|
+
*/
|
|
11
|
+
export declare const roundRect: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, radius: number, strokeColor?: string) => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StaticSceneRenderConfig } from "../scene/types";
|
|
2
|
+
/** throttled to animation framerate */
|
|
3
|
+
export declare const renderStaticSceneThrottled: {
|
|
4
|
+
(config: StaticSceneRenderConfig): void;
|
|
5
|
+
flush(): void;
|
|
6
|
+
cancel(): void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Static scene is the non-ui canvas where we render elements.
|
|
10
|
+
*/
|
|
11
|
+
export declare const renderStaticScene: (renderConfig: StaticSceneRenderConfig, throttle?: boolean) => void;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { RenderableElementsMap, SVGRenderConfig } from "../scene/types";
|
|
3
|
+
import type { BinaryFiles } from "../types";
|
|
4
|
+
import type { RoughSVG } from "roughjs/bin/svg";
|
|
5
|
+
export declare const renderSceneToSvg: (elements: readonly NonDeletedExcalidrawElement[], elementsMap: RenderableElementsMap, rsvg: RoughSVG, svgRoot: SVGElement, files: BinaryFiles, renderConfig: SVGRenderConfig) => void;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { Scene } from "@excalidraw/element";
|
|
3
|
+
import type { AppState } from "../types";
|
|
4
|
+
export declare class Renderer {
|
|
5
|
+
private scene;
|
|
6
|
+
constructor(scene: Scene);
|
|
7
|
+
getRenderableElements: ((opts: {
|
|
8
|
+
zoom: AppState["zoom"];
|
|
9
|
+
offsetLeft: AppState["offsetLeft"];
|
|
10
|
+
offsetTop: AppState["offsetTop"];
|
|
11
|
+
scrollX: AppState["scrollX"];
|
|
12
|
+
scrollY: AppState["scrollY"];
|
|
13
|
+
height: AppState["height"];
|
|
14
|
+
width: AppState["width"];
|
|
15
|
+
editingTextElement: AppState["editingTextElement"];
|
|
16
|
+
/** note: first render of newElement will always bust the cache
|
|
17
|
+
* (we'd have to prefilter elements outside of this function) */
|
|
18
|
+
newElementId: ExcalidrawElement["id"] | undefined;
|
|
19
|
+
sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
|
|
20
|
+
}) => {
|
|
21
|
+
elementsMap: Map<string, NonDeletedExcalidrawElement> & import("../../common/src/utility-types").MakeBrand<"NonDeletedElementsMap"> & import("../../common/src/utility-types").MakeBrand<"RenderableElementsMap">;
|
|
22
|
+
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
23
|
+
}) & {
|
|
24
|
+
clear: () => void;
|
|
25
|
+
};
|
|
26
|
+
destroy(): void;
|
|
27
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { AppState, BinaryFiles } from "../types";
|
|
3
|
+
export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, exportingFrame, }: {
|
|
4
|
+
exportBackground: boolean;
|
|
5
|
+
exportPadding?: number | undefined;
|
|
6
|
+
viewBackgroundColor: string;
|
|
7
|
+
exportingFrame?: ExcalidrawFrameLikeElement | null | undefined;
|
|
8
|
+
}, createCanvas?: (width: number, height: number) => {
|
|
9
|
+
canvas: HTMLCanvasElement;
|
|
10
|
+
scale: number;
|
|
11
|
+
}, loadFonts?: () => Promise<void>) => Promise<HTMLCanvasElement>;
|
|
12
|
+
export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElement[], appState: {
|
|
13
|
+
exportBackground: boolean;
|
|
14
|
+
exportPadding?: number;
|
|
15
|
+
exportScale?: number;
|
|
16
|
+
viewBackgroundColor: string;
|
|
17
|
+
exportWithDarkMode?: boolean;
|
|
18
|
+
exportEmbedScene?: boolean;
|
|
19
|
+
frameRendering?: AppState["frameRendering"];
|
|
20
|
+
}, files: BinaryFiles | null, opts?: {
|
|
21
|
+
/**
|
|
22
|
+
* if true, all embeddables passed in will be rendered when possible.
|
|
23
|
+
*/
|
|
24
|
+
renderEmbeddables?: boolean;
|
|
25
|
+
exportingFrame?: ExcalidrawFrameLikeElement | null;
|
|
26
|
+
skipInliningFonts?: true;
|
|
27
|
+
reuseImages?: boolean;
|
|
28
|
+
}) => Promise<SVGSVGElement>;
|
|
29
|
+
export declare const encodeSvgBase64Payload: ({ payload, metadataElement, }: {
|
|
30
|
+
payload: string;
|
|
31
|
+
metadataElement: SVGMetadataElement;
|
|
32
|
+
}) => void;
|
|
33
|
+
export declare const decodeSvgBase64Payload: ({ svg }: {
|
|
34
|
+
svg: string;
|
|
35
|
+
}) => string;
|
|
36
|
+
export declare const getExportSize: (elements: readonly NonDeletedExcalidrawElement[], exportPadding: number, scale: number) => [number, number];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { isSomeElementSelected, getElementsWithinSelection, getSelectedElements, getTargetElements, } from "@excalidraw/element";
|
|
2
|
+
export { calculateScrollCenter } from "./scroll";
|
|
3
|
+
export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, } from "@excalidraw/element";
|
|
4
|
+
export { getNormalizedZoom, getNormalizedGridSize, getNormalizedGridStep, } from "./normalize";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { NormalizedZoomValue } from "../types";
|
|
2
|
+
export declare const getNormalizedZoom: (zoom: number) => NormalizedZoomValue;
|
|
3
|
+
export declare const getNormalizedGridSize: (gridStep: number) => number;
|
|
4
|
+
export declare const getNormalizedGridStep: (gridStep: number) => number;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { AppState, Offsets, PointerCoords, Zoom } from "../types";
|
|
3
|
+
export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, offsets, }: {
|
|
4
|
+
scenePoint: PointerCoords;
|
|
5
|
+
viewportDimensions: {
|
|
6
|
+
height: number;
|
|
7
|
+
width: number;
|
|
8
|
+
};
|
|
9
|
+
zoom: Zoom;
|
|
10
|
+
offsets?: Partial<{
|
|
11
|
+
top: number;
|
|
12
|
+
right: number;
|
|
13
|
+
bottom: number;
|
|
14
|
+
left: number;
|
|
15
|
+
}> | undefined;
|
|
16
|
+
}) => {
|
|
17
|
+
scrollX: number;
|
|
18
|
+
scrollY: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const calculateScrollCenter: (elements: readonly ExcalidrawElement[], appState: AppState) => {
|
|
21
|
+
scrollX: number;
|
|
22
|
+
scrollY: number;
|
|
23
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { InteractiveCanvasAppState } from "../types";
|
|
2
|
+
import type { RenderableElementsMap, ScrollBars } from "./types";
|
|
3
|
+
export declare const SCROLLBAR_MARGIN = 4;
|
|
4
|
+
export declare const SCROLLBAR_WIDTH = 6;
|
|
5
|
+
export declare const SCROLLBAR_COLOR = "rgba(0,0,0,0.3)";
|
|
6
|
+
export declare const getScrollBars: (elements: RenderableElementsMap, viewportWidth: number, viewportHeight: number, appState: InteractiveCanvasAppState) => ScrollBars;
|
|
7
|
+
export declare const isOverScrollBars: (scrollBars: ScrollBars, x: number, y: number) => {
|
|
8
|
+
isOverEither: boolean;
|
|
9
|
+
isOverHorizontal: boolean;
|
|
10
|
+
isOverVertical: boolean;
|
|
11
|
+
};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { UserIdleState } from "@excalidraw/common";
|
|
2
|
+
import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
|
|
3
|
+
import type { MakeBrand } from "@excalidraw/common/utility-types";
|
|
4
|
+
import type { AppClassProperties, AppState, EmbedsValidationStatus, ElementsPendingErasure, InteractiveCanvasAppState, StaticCanvasAppState, SocketId, Device, PendingExcalidrawElements } from "../types";
|
|
5
|
+
import type { RoughCanvas } from "roughjs/bin/canvas";
|
|
6
|
+
import type { Drawable } from "roughjs/bin/core";
|
|
7
|
+
export type RenderableElementsMap = NonDeletedElementsMap & MakeBrand<"RenderableElementsMap">;
|
|
8
|
+
export type StaticCanvasRenderConfig = {
|
|
9
|
+
canvasBackgroundColor: AppState["viewBackgroundColor"];
|
|
10
|
+
imageCache: AppClassProperties["imageCache"];
|
|
11
|
+
renderGrid: boolean;
|
|
12
|
+
/** when exporting the behavior is slightly different (e.g. we can't use
|
|
13
|
+
CSS filters), and we disable render optimizations for best output */
|
|
14
|
+
isExporting: boolean;
|
|
15
|
+
embedsValidationStatus: EmbedsValidationStatus;
|
|
16
|
+
elementsPendingErasure: ElementsPendingErasure;
|
|
17
|
+
pendingFlowchartNodes: PendingExcalidrawElements | null;
|
|
18
|
+
};
|
|
19
|
+
export type SVGRenderConfig = {
|
|
20
|
+
offsetX: number;
|
|
21
|
+
offsetY: number;
|
|
22
|
+
isExporting: boolean;
|
|
23
|
+
exportWithDarkMode: boolean;
|
|
24
|
+
renderEmbeddables: boolean;
|
|
25
|
+
frameRendering: AppState["frameRendering"];
|
|
26
|
+
canvasBackgroundColor: AppState["viewBackgroundColor"];
|
|
27
|
+
embedsValidationStatus: EmbedsValidationStatus;
|
|
28
|
+
/**
|
|
29
|
+
* whether to attempt to reuse images as much as possible through symbols
|
|
30
|
+
* (reduces SVG size, but may be incompoatible with some SVG renderers)
|
|
31
|
+
*
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
reuseImages: boolean;
|
|
35
|
+
};
|
|
36
|
+
export type InteractiveCanvasRenderConfig = {
|
|
37
|
+
remoteSelectedElementIds: Map<ExcalidrawElement["id"], SocketId[]>;
|
|
38
|
+
remotePointerViewportCoords: Map<SocketId, {
|
|
39
|
+
x: number;
|
|
40
|
+
y: number;
|
|
41
|
+
}>;
|
|
42
|
+
remotePointerUserStates: Map<SocketId, UserIdleState>;
|
|
43
|
+
remotePointerUsernames: Map<SocketId, string>;
|
|
44
|
+
remotePointerButton: Map<SocketId, string | undefined>;
|
|
45
|
+
selectionColor: string;
|
|
46
|
+
renderScrollbars?: boolean;
|
|
47
|
+
};
|
|
48
|
+
export type RenderInteractiveSceneCallback = {
|
|
49
|
+
atLeastOneVisibleElement: boolean;
|
|
50
|
+
elementsMap: RenderableElementsMap;
|
|
51
|
+
scrollBars?: ScrollBars;
|
|
52
|
+
};
|
|
53
|
+
export type StaticSceneRenderConfig = {
|
|
54
|
+
canvas: HTMLCanvasElement;
|
|
55
|
+
rc: RoughCanvas;
|
|
56
|
+
elementsMap: RenderableElementsMap;
|
|
57
|
+
allElementsMap: NonDeletedSceneElementsMap;
|
|
58
|
+
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
59
|
+
scale: number;
|
|
60
|
+
appState: StaticCanvasAppState;
|
|
61
|
+
renderConfig: StaticCanvasRenderConfig;
|
|
62
|
+
};
|
|
63
|
+
export type InteractiveSceneRenderConfig = {
|
|
64
|
+
canvas: HTMLCanvasElement | null;
|
|
65
|
+
elementsMap: RenderableElementsMap;
|
|
66
|
+
visibleElements: readonly NonDeletedExcalidrawElement[];
|
|
67
|
+
selectedElements: readonly NonDeletedExcalidrawElement[];
|
|
68
|
+
allElementsMap: NonDeletedSceneElementsMap;
|
|
69
|
+
scale: number;
|
|
70
|
+
appState: InteractiveCanvasAppState;
|
|
71
|
+
renderConfig: InteractiveCanvasRenderConfig;
|
|
72
|
+
device: Device;
|
|
73
|
+
callback: (data: RenderInteractiveSceneCallback) => void;
|
|
74
|
+
};
|
|
75
|
+
export type NewElementSceneRenderConfig = {
|
|
76
|
+
canvas: HTMLCanvasElement | null;
|
|
77
|
+
rc: RoughCanvas;
|
|
78
|
+
newElement: ExcalidrawElement | null;
|
|
79
|
+
elementsMap: RenderableElementsMap;
|
|
80
|
+
allElementsMap: NonDeletedSceneElementsMap;
|
|
81
|
+
scale: number;
|
|
82
|
+
appState: AppState;
|
|
83
|
+
renderConfig: StaticCanvasRenderConfig;
|
|
84
|
+
};
|
|
85
|
+
export type SceneScroll = {
|
|
86
|
+
scrollX: number;
|
|
87
|
+
scrollY: number;
|
|
88
|
+
};
|
|
89
|
+
export type ExportType = "png" | "clipboard" | "clipboard-svg" | "backend" | "svg";
|
|
90
|
+
export type ScrollBars = {
|
|
91
|
+
horizontal: {
|
|
92
|
+
x: number;
|
|
93
|
+
y: number;
|
|
94
|
+
width: number;
|
|
95
|
+
height: number;
|
|
96
|
+
deltaMultiplier: number;
|
|
97
|
+
} | null;
|
|
98
|
+
vertical: {
|
|
99
|
+
x: number;
|
|
100
|
+
y: number;
|
|
101
|
+
width: number;
|
|
102
|
+
height: number;
|
|
103
|
+
deltaMultiplier: number;
|
|
104
|
+
} | null;
|
|
105
|
+
};
|
|
106
|
+
export type ElementShape = Drawable | Drawable[] | null;
|
|
107
|
+
export type ElementShapes = {
|
|
108
|
+
rectangle: Drawable;
|
|
109
|
+
ellipse: Drawable;
|
|
110
|
+
diamond: Drawable;
|
|
111
|
+
iframe: Drawable;
|
|
112
|
+
embeddable: Drawable;
|
|
113
|
+
freedraw: Drawable | null;
|
|
114
|
+
arrow: Drawable[];
|
|
115
|
+
line: Drawable[];
|
|
116
|
+
text: null;
|
|
117
|
+
image: null;
|
|
118
|
+
frame: null;
|
|
119
|
+
magicframe: null;
|
|
120
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AppState, NormalizedZoomValue } from "../types";
|
|
2
|
+
export declare const getStateForZoom: ({ viewportX, viewportY, nextZoom, }: {
|
|
3
|
+
viewportX: number;
|
|
4
|
+
viewportY: number;
|
|
5
|
+
nextZoom: NormalizedZoomValue;
|
|
6
|
+
}, appState: AppState) => {
|
|
7
|
+
scrollX: number;
|
|
8
|
+
scrollY: number;
|
|
9
|
+
zoom: {
|
|
10
|
+
value: NormalizedZoomValue;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { type GlobalPoint } from "@excalidraw/math";
|
|
2
|
+
import type { InclusiveRange } from "@excalidraw/math";
|
|
3
|
+
import type { Bounds } from "@excalidraw/element";
|
|
4
|
+
import type { MaybeTransformHandleType } from "@excalidraw/element";
|
|
5
|
+
import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
6
|
+
import type { AppClassProperties, AppState, KeyboardModifiersObject } from "./types";
|
|
7
|
+
export declare const getSnapDistance: (zoomValue: number) => number;
|
|
8
|
+
type Vector2D = {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
};
|
|
12
|
+
type PointPair = [GlobalPoint, GlobalPoint];
|
|
13
|
+
export type PointSnap = {
|
|
14
|
+
type: "point";
|
|
15
|
+
points: PointPair;
|
|
16
|
+
offset: number;
|
|
17
|
+
};
|
|
18
|
+
export type Gap = {
|
|
19
|
+
startBounds: Bounds;
|
|
20
|
+
endBounds: Bounds;
|
|
21
|
+
startSide: [GlobalPoint, GlobalPoint];
|
|
22
|
+
endSide: [GlobalPoint, GlobalPoint];
|
|
23
|
+
overlap: InclusiveRange;
|
|
24
|
+
length: number;
|
|
25
|
+
};
|
|
26
|
+
export type GapSnap = {
|
|
27
|
+
type: "gap";
|
|
28
|
+
direction: "center_horizontal" | "center_vertical" | "side_left" | "side_right" | "side_top" | "side_bottom";
|
|
29
|
+
gap: Gap;
|
|
30
|
+
offset: number;
|
|
31
|
+
};
|
|
32
|
+
export type GapSnaps = GapSnap[];
|
|
33
|
+
export type Snap = GapSnap | PointSnap;
|
|
34
|
+
export type Snaps = Snap[];
|
|
35
|
+
export type PointSnapLine = {
|
|
36
|
+
type: "points";
|
|
37
|
+
points: GlobalPoint[];
|
|
38
|
+
};
|
|
39
|
+
export type PointerSnapLine = {
|
|
40
|
+
type: "pointer";
|
|
41
|
+
points: PointPair;
|
|
42
|
+
direction: "horizontal" | "vertical";
|
|
43
|
+
};
|
|
44
|
+
export type GapSnapLine = {
|
|
45
|
+
type: "gap";
|
|
46
|
+
direction: "horizontal" | "vertical";
|
|
47
|
+
points: PointPair;
|
|
48
|
+
};
|
|
49
|
+
export type SnapLine = PointSnapLine | GapSnapLine | PointerSnapLine;
|
|
50
|
+
export declare class SnapCache {
|
|
51
|
+
private static referenceSnapPoints;
|
|
52
|
+
private static visibleGaps;
|
|
53
|
+
static setReferenceSnapPoints: (snapPoints: GlobalPoint[] | null) => void;
|
|
54
|
+
static getReferenceSnapPoints: () => GlobalPoint[] | null;
|
|
55
|
+
static setVisibleGaps: (gaps: {
|
|
56
|
+
verticalGaps: Gap[];
|
|
57
|
+
horizontalGaps: Gap[];
|
|
58
|
+
} | null) => void;
|
|
59
|
+
static getVisibleGaps: () => {
|
|
60
|
+
verticalGaps: Gap[];
|
|
61
|
+
horizontalGaps: Gap[];
|
|
62
|
+
} | null;
|
|
63
|
+
static destroy: () => void;
|
|
64
|
+
}
|
|
65
|
+
export declare const isGridModeEnabled: (app: AppClassProperties) => boolean;
|
|
66
|
+
export declare const isSnappingEnabled: ({ event, app, selectedElements, }: {
|
|
67
|
+
app: AppClassProperties;
|
|
68
|
+
event: KeyboardModifiersObject;
|
|
69
|
+
selectedElements: NonDeletedExcalidrawElement[];
|
|
70
|
+
}) => boolean;
|
|
71
|
+
export declare const areRoughlyEqual: (a: number, b: number, precision?: number) => boolean;
|
|
72
|
+
export declare const getElementsCorners: (elements: ExcalidrawElement[], elementsMap: ElementsMap, { omitCenter, boundingBoxCorners, dragOffset, }?: {
|
|
73
|
+
omitCenter?: boolean | undefined;
|
|
74
|
+
boundingBoxCorners?: boolean | undefined;
|
|
75
|
+
dragOffset?: Vector2D | undefined;
|
|
76
|
+
}) => GlobalPoint[];
|
|
77
|
+
export declare const getVisibleGaps: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => {
|
|
78
|
+
horizontalGaps: Gap[];
|
|
79
|
+
verticalGaps: Gap[];
|
|
80
|
+
};
|
|
81
|
+
export declare const getReferenceSnapPoints: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => GlobalPoint[];
|
|
82
|
+
export declare const snapDraggedElements: (elements: ExcalidrawElement[], dragOffset: Vector2D, app: AppClassProperties, event: KeyboardModifiersObject, elementsMap: ElementsMap) => {
|
|
83
|
+
snapOffset: {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
};
|
|
87
|
+
snapLines: (PointSnapLine | GapSnapLine)[];
|
|
88
|
+
};
|
|
89
|
+
export declare const snapResizingElements: (selectedElements: ExcalidrawElement[], selectedOriginalElements: ExcalidrawElement[], app: AppClassProperties, event: KeyboardModifiersObject, dragOffset: Vector2D, transformHandle: MaybeTransformHandleType) => {
|
|
90
|
+
snapOffset: {
|
|
91
|
+
x: number;
|
|
92
|
+
y: number;
|
|
93
|
+
};
|
|
94
|
+
snapLines: PointSnapLine[];
|
|
95
|
+
};
|
|
96
|
+
export declare const snapNewElement: (newElement: ExcalidrawElement, app: AppClassProperties, event: KeyboardModifiersObject, origin: Vector2D, dragOffset: Vector2D, elementsMap: ElementsMap) => {
|
|
97
|
+
snapOffset: {
|
|
98
|
+
x: number;
|
|
99
|
+
y: number;
|
|
100
|
+
};
|
|
101
|
+
snapLines: PointSnapLine[];
|
|
102
|
+
};
|
|
103
|
+
export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElement[], app: AppClassProperties, pointer: Vector2D, event: KeyboardModifiersObject, elementsMap: ElementsMap) => {
|
|
104
|
+
originOffset: {
|
|
105
|
+
x: number;
|
|
106
|
+
y: number;
|
|
107
|
+
};
|
|
108
|
+
snapLines: PointerSnapLine[];
|
|
109
|
+
};
|
|
110
|
+
export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => boolean;
|
|
111
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modified version of hb-subset bindings from "subset-font" package https://github.com/papandreou/subset-font/blob/3f711c8aa29a426c7f22655861abfb976950f527/index.js
|
|
3
|
+
*
|
|
4
|
+
* CHANGELOG:
|
|
5
|
+
* - removed dependency on node APIs to work inside the browser
|
|
6
|
+
* - removed dependency on font fontverter for brotli compression
|
|
7
|
+
* - removed dependencies on lodash and p-limit
|
|
8
|
+
* - removed options for preserveNameIds, variationAxes, noLayoutClosure (not needed for now)
|
|
9
|
+
* - replaced text input with codepoints
|
|
10
|
+
* - rewritten in typescript and with esm modules
|
|
11
|
+
|
|
12
|
+
Copyright (c) 2012, Andreas Lind Petersen
|
|
13
|
+
All rights reserved.
|
|
14
|
+
|
|
15
|
+
Redistribution and use in source and binary forms, with or without
|
|
16
|
+
modification, are permitted provided that the following conditions are
|
|
17
|
+
met:
|
|
18
|
+
|
|
19
|
+
* Redistributions of source code must retain the above copyright
|
|
20
|
+
notice, this list of conditions and the following disclaimer.
|
|
21
|
+
* Redistributions in binary form must reproduce the above copyright
|
|
22
|
+
notice, this list of conditions and the following disclaimer in
|
|
23
|
+
the documentation and/or other materials provided with the
|
|
24
|
+
distribution.
|
|
25
|
+
* Neither the name of the author nor the names of contributors may
|
|
26
|
+
be used to endorse or promote products derived from this
|
|
27
|
+
software without specific prior written permission.
|
|
28
|
+
|
|
29
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
|
30
|
+
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
31
|
+
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
|
32
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
33
|
+
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
34
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
35
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
36
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
37
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
38
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
39
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
40
|
+
*/
|
|
41
|
+
declare function subset(hbSubsetWasm: any, heapu8: Uint8Array, font: ArrayBuffer, codePoints: ReadonlySet<number>): Uint8Array;
|
|
42
|
+
declare const _default: {
|
|
43
|
+
subset: typeof subset;
|
|
44
|
+
};
|
|
45
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DON'T depend on anything from the outside like `promiseTry`, as this module is part of a separate lazy-loaded chunk.
|
|
3
|
+
*
|
|
4
|
+
* Including anything from the main chunk would include the whole chunk by default.
|
|
5
|
+
* Even it it would be tree-shaken during build, it won't be tree-shaken in dev.
|
|
6
|
+
*
|
|
7
|
+
* In the future consider separating common utils into a separate shared chunk.
|
|
8
|
+
*/
|
|
9
|
+
declare const load: () => Promise<{
|
|
10
|
+
subset: (fontBuffer: ArrayBuffer, codePoints: ReadonlySet<number>) => Uint8Array;
|
|
11
|
+
}>;
|
|
12
|
+
declare const _default: () => ReturnType<typeof load>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tries to subset glyphs in a font based on the used codepoints, returning the font as dataurl.
|
|
3
|
+
* Under the hood utilizes worker threads (Web Workers, if available), otherwise fallbacks to the main thread.
|
|
4
|
+
*
|
|
5
|
+
* Check the following diagram for details: link.excalidraw.com/readonly/MbbnWPSWXgadXdtmzgeO
|
|
6
|
+
*
|
|
7
|
+
* @param arrayBuffer font data buffer in the woff2 format
|
|
8
|
+
* @param codePoints codepoints used to subset the glyphs
|
|
9
|
+
*
|
|
10
|
+
* @returns font with subsetted glyphs (all glyphs in case of errors) converted into a dataurl
|
|
11
|
+
*/
|
|
12
|
+
export declare const subsetWoff2GlyphsByCodepoints: (arrayBuffer: ArrayBuffer, codePoints: Array<number>) => Promise<string>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DON'T depend on anything from the outside like `promiseTry`, as this module is part of a separate lazy-loaded chunk.
|
|
3
|
+
*
|
|
4
|
+
* Including anything from the main chunk would include the whole chunk by default.
|
|
5
|
+
* Even it it would be tree-shaken during build, it won't be tree-shaken in dev.
|
|
6
|
+
*
|
|
7
|
+
* In the future consider separating common utils into a separate shared chunk.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Shared commands between the main thread and worker threads.
|
|
11
|
+
*/
|
|
12
|
+
export declare const Commands: {
|
|
13
|
+
readonly Subset: "SUBSET";
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Used by browser (main thread), node and jsdom, to subset the font based on the passed codepoints.
|
|
17
|
+
*
|
|
18
|
+
* @returns woff2 font as a base64 encoded string
|
|
19
|
+
*/
|
|
20
|
+
export declare const subsetToBase64: (arrayBuffer: ArrayBuffer, codePoints: Array<number>) => Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Used by browser (worker thread) and as part of `subsetToBase64`, to subset the font based on the passed codepoints.
|
|
23
|
+
*
|
|
24
|
+
* @eturns woff2 font as an ArrayBuffer, to avoid copying large strings between worker threads and the main thread.
|
|
25
|
+
*/
|
|
26
|
+
export declare const subsetToBinary: (arrayBuffer: ArrayBuffer, codePoints: Array<number>) => Promise<ArrayBuffer>;
|
|
27
|
+
/**
|
|
28
|
+
* Util for isomoprhic browser (main thread), node and jsdom usage.
|
|
29
|
+
*
|
|
30
|
+
* Isn't used inside the worker to avoid copying large binary strings (as dataurl) between worker threads and the main thread.
|
|
31
|
+
*/
|
|
32
|
+
export declare const toBase64: (arrayBuffer: ArrayBuffer) => Promise<string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DON'T depend on anything from the outside like `promiseTry`, as this module is part of a separate lazy-loaded chunk.
|
|
3
|
+
*
|
|
4
|
+
* Including anything from the main chunk would include the whole chunk by default.
|
|
5
|
+
* Even it it would be tree-shaken during build, it won't be tree-shaken in dev.
|
|
6
|
+
*
|
|
7
|
+
* In the future consider separating common utils into a separate shared chunk.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Due to this export (and related dynamic import), this worker code will be included in the bundle automatically (as a separate chunk),
|
|
11
|
+
* without the need for esbuild / vite /rollup plugins and special browser / server treatment.
|
|
12
|
+
*
|
|
13
|
+
* `import.meta.url` is undefined in nodejs
|
|
14
|
+
*/
|
|
15
|
+
export declare const WorkerUrl: URL | undefined;
|