@excalidraw/math 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 +907 -0
- package/dist/dev/index.js.map +7 -0
- package/dist/prod/index.js +1 -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 +66 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import * as DefaultItems from "./DefaultItems";
|
|
3
|
+
declare const MainMenu: React.FC<{
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* Called when any menu item is selected (clicked on).
|
|
7
|
+
*/
|
|
8
|
+
onSelect?: ((event: Event) => void) | undefined;
|
|
9
|
+
} & {
|
|
10
|
+
__fallback?: boolean | undefined;
|
|
11
|
+
}> & {
|
|
12
|
+
Trigger: {
|
|
13
|
+
({ className, children, onToggle, title, ...rest }: {
|
|
14
|
+
className?: string | undefined;
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
onToggle: () => void;
|
|
17
|
+
title?: string | undefined;
|
|
18
|
+
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
displayName: string;
|
|
20
|
+
};
|
|
21
|
+
Item: {
|
|
22
|
+
({ icon, value, order, children, shortcut, className, hovered, selected, textStyle, onSelect, onClick, ...rest }: {
|
|
23
|
+
icon?: React.JSX.Element | undefined;
|
|
24
|
+
value?: string | number | undefined;
|
|
25
|
+
order?: number | undefined;
|
|
26
|
+
onSelect?: ((event: Event) => void) | undefined;
|
|
27
|
+
children: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Called when any menu item is selected (clicked on).
|
|
30
|
+
*/
|
|
31
|
+
shortcut?: string | undefined;
|
|
32
|
+
hovered?: boolean | undefined;
|
|
33
|
+
selected?: boolean | undefined;
|
|
34
|
+
textStyle?: React.CSSProperties | undefined;
|
|
35
|
+
className?: string | undefined;
|
|
36
|
+
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
displayName: string;
|
|
38
|
+
Badge: {
|
|
39
|
+
({ type, children, }: {
|
|
40
|
+
type?: import("../../../common/src/utility-types").ValueOf<{
|
|
41
|
+
readonly GREEN: "green";
|
|
42
|
+
readonly RED: "red";
|
|
43
|
+
readonly BLUE: "blue";
|
|
44
|
+
}> | undefined;
|
|
45
|
+
children: React.ReactNode;
|
|
46
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
displayName: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
ItemLink: {
|
|
51
|
+
({ icon, shortcut, href, children, onSelect, className, selected, rel, ...rest }: {
|
|
52
|
+
href: string;
|
|
53
|
+
icon?: React.JSX.Element | undefined;
|
|
54
|
+
children: React.ReactNode;
|
|
55
|
+
shortcut?: string | undefined;
|
|
56
|
+
className?: string | undefined;
|
|
57
|
+
selected?: boolean | undefined;
|
|
58
|
+
onSelect?: ((event: Event) => void) | undefined;
|
|
59
|
+
rel?: string | undefined;
|
|
60
|
+
} & React.AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
displayName: string;
|
|
62
|
+
};
|
|
63
|
+
ItemCustom: ({ children, className, selected, ...rest }: {
|
|
64
|
+
children: React.ReactNode;
|
|
65
|
+
className?: string | undefined;
|
|
66
|
+
selected?: boolean | undefined;
|
|
67
|
+
} & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
|
|
68
|
+
Group: {
|
|
69
|
+
({ children, className, style, title, }: {
|
|
70
|
+
children: React.ReactNode;
|
|
71
|
+
className?: string | undefined;
|
|
72
|
+
style?: React.CSSProperties | undefined;
|
|
73
|
+
title?: string | undefined;
|
|
74
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
displayName: string;
|
|
76
|
+
};
|
|
77
|
+
Separator: {
|
|
78
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
79
|
+
displayName: string;
|
|
80
|
+
};
|
|
81
|
+
DefaultItems: typeof DefaultItems;
|
|
82
|
+
};
|
|
83
|
+
export default MainMenu;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export declare const SHAPES: readonly [{
|
|
2
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
readonly value: "selection";
|
|
4
|
+
readonly key: "v";
|
|
5
|
+
readonly numericKey: "1";
|
|
6
|
+
readonly fillable: true;
|
|
7
|
+
}, {
|
|
8
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
readonly value: "rectangle";
|
|
10
|
+
readonly key: "r";
|
|
11
|
+
readonly numericKey: "2";
|
|
12
|
+
readonly fillable: true;
|
|
13
|
+
}, {
|
|
14
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
readonly value: "diamond";
|
|
16
|
+
readonly key: "d";
|
|
17
|
+
readonly numericKey: "3";
|
|
18
|
+
readonly fillable: true;
|
|
19
|
+
}, {
|
|
20
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
readonly value: "ellipse";
|
|
22
|
+
readonly key: "o";
|
|
23
|
+
readonly numericKey: "4";
|
|
24
|
+
readonly fillable: true;
|
|
25
|
+
}, {
|
|
26
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
readonly value: "arrow";
|
|
28
|
+
readonly key: "a";
|
|
29
|
+
readonly numericKey: "5";
|
|
30
|
+
readonly fillable: true;
|
|
31
|
+
}, {
|
|
32
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
readonly value: "line";
|
|
34
|
+
readonly key: "l";
|
|
35
|
+
readonly numericKey: "6";
|
|
36
|
+
readonly fillable: true;
|
|
37
|
+
}, {
|
|
38
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
readonly value: "freedraw";
|
|
40
|
+
readonly key: readonly ["p", "x"];
|
|
41
|
+
readonly numericKey: "7";
|
|
42
|
+
readonly fillable: false;
|
|
43
|
+
}, {
|
|
44
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
readonly value: "text";
|
|
46
|
+
readonly key: "t";
|
|
47
|
+
readonly numericKey: "8";
|
|
48
|
+
readonly fillable: false;
|
|
49
|
+
}, {
|
|
50
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
readonly value: "image";
|
|
52
|
+
readonly key: null;
|
|
53
|
+
readonly numericKey: "9";
|
|
54
|
+
readonly fillable: false;
|
|
55
|
+
}, {
|
|
56
|
+
readonly icon: import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
readonly value: "eraser";
|
|
58
|
+
readonly key: "e";
|
|
59
|
+
readonly numericKey: "0";
|
|
60
|
+
readonly fillable: false;
|
|
61
|
+
}];
|
|
62
|
+
export declare const findShapeByKey: (key: string) => "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | null;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { JSX } from "react";
|
|
2
|
+
declare const Center: {
|
|
3
|
+
({ children }: {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
Logo: {
|
|
8
|
+
({ children }: {
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
13
|
+
Heading: {
|
|
14
|
+
({ children }: {
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
displayName: string;
|
|
18
|
+
};
|
|
19
|
+
Menu: {
|
|
20
|
+
({ children }: {
|
|
21
|
+
children?: React.ReactNode;
|
|
22
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
displayName: string;
|
|
24
|
+
};
|
|
25
|
+
MenuItem: {
|
|
26
|
+
({ onSelect, children, icon, shortcut, className, ...props }: {
|
|
27
|
+
onSelect: () => void;
|
|
28
|
+
children: React.ReactNode;
|
|
29
|
+
icon?: JSX.Element | undefined;
|
|
30
|
+
shortcut?: string | null | undefined;
|
|
31
|
+
} & import("react").ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
displayName: string;
|
|
33
|
+
};
|
|
34
|
+
MenuItemLink: {
|
|
35
|
+
({ children, href, icon, shortcut, className, ...props }: {
|
|
36
|
+
children: React.ReactNode;
|
|
37
|
+
href: string;
|
|
38
|
+
icon?: JSX.Element | undefined;
|
|
39
|
+
shortcut?: string | null | undefined;
|
|
40
|
+
} & import("react").AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
displayName: string;
|
|
42
|
+
};
|
|
43
|
+
MenuItemHelp: {
|
|
44
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
displayName: string;
|
|
46
|
+
};
|
|
47
|
+
MenuItemLoadScene: {
|
|
48
|
+
(): import("react/jsx-runtime").JSX.Element | null;
|
|
49
|
+
displayName: string;
|
|
50
|
+
};
|
|
51
|
+
MenuItemLiveCollaborationTrigger: {
|
|
52
|
+
({ onSelect, }: {
|
|
53
|
+
onSelect: () => any;
|
|
54
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
displayName: string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export { Center };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const MenuHint: {
|
|
2
|
+
({ children }: {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
displayName: string;
|
|
6
|
+
};
|
|
7
|
+
declare const ToolbarHint: {
|
|
8
|
+
({ children }: {
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
13
|
+
declare const HelpHint: {
|
|
14
|
+
({ children }: {
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
displayName: string;
|
|
18
|
+
};
|
|
19
|
+
export { HelpHint, MenuHint, ToolbarHint };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import "./WelcomeScreen.scss";
|
|
3
|
+
declare const WelcomeScreen: {
|
|
4
|
+
(props: {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
displayName: string;
|
|
8
|
+
Center: {
|
|
9
|
+
({ children }: {
|
|
10
|
+
children?: import("react").ReactNode;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
Logo: {
|
|
14
|
+
({ children }: {
|
|
15
|
+
children?: import("react").ReactNode;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
displayName: string;
|
|
18
|
+
};
|
|
19
|
+
Heading: {
|
|
20
|
+
({ children }: {
|
|
21
|
+
children: import("react").ReactNode;
|
|
22
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
displayName: string;
|
|
24
|
+
};
|
|
25
|
+
Menu: {
|
|
26
|
+
({ children }: {
|
|
27
|
+
children?: import("react").ReactNode;
|
|
28
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
MenuItem: {
|
|
32
|
+
({ onSelect, children, icon, shortcut, className, ...props }: {
|
|
33
|
+
onSelect: () => void;
|
|
34
|
+
children: import("react").ReactNode;
|
|
35
|
+
icon?: import("react").JSX.Element | undefined;
|
|
36
|
+
shortcut?: string | null | undefined;
|
|
37
|
+
} & import("react").ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
displayName: string;
|
|
39
|
+
};
|
|
40
|
+
MenuItemLink: {
|
|
41
|
+
({ children, href, icon, shortcut, className, ...props }: {
|
|
42
|
+
children: import("react").ReactNode;
|
|
43
|
+
href: string;
|
|
44
|
+
icon?: import("react").JSX.Element | undefined;
|
|
45
|
+
shortcut?: string | null | undefined;
|
|
46
|
+
} & import("react").AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
displayName: string;
|
|
48
|
+
};
|
|
49
|
+
MenuItemHelp: {
|
|
50
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
displayName: string;
|
|
52
|
+
};
|
|
53
|
+
MenuItemLoadScene: {
|
|
54
|
+
(): import("react/jsx-runtime").JSX.Element | null;
|
|
55
|
+
displayName: string;
|
|
56
|
+
};
|
|
57
|
+
MenuItemLiveCollaborationTrigger: {
|
|
58
|
+
({ onSelect, }: {
|
|
59
|
+
onSelect: () => any;
|
|
60
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
displayName: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
Hints: {
|
|
65
|
+
MenuHint: {
|
|
66
|
+
({ children }: {
|
|
67
|
+
children?: import("react").ReactNode;
|
|
68
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
displayName: string;
|
|
70
|
+
};
|
|
71
|
+
ToolbarHint: {
|
|
72
|
+
({ children }: {
|
|
73
|
+
children?: import("react").ReactNode;
|
|
74
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
displayName: string;
|
|
76
|
+
};
|
|
77
|
+
HelpHint: {
|
|
78
|
+
({ children }: {
|
|
79
|
+
children?: import("react").ReactNode;
|
|
80
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
81
|
+
displayName: string;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export default WelcomeScreen;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createIsolation } from "jotai-scope";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import tunnel from "tunnel-rat";
|
|
4
|
+
export type Tunnel = ReturnType<typeof tunnel>;
|
|
5
|
+
type TunnelsContextValue = {
|
|
6
|
+
MainMenuTunnel: Tunnel;
|
|
7
|
+
WelcomeScreenMenuHintTunnel: Tunnel;
|
|
8
|
+
WelcomeScreenToolbarHintTunnel: Tunnel;
|
|
9
|
+
WelcomeScreenHelpHintTunnel: Tunnel;
|
|
10
|
+
WelcomeScreenCenterTunnel: Tunnel;
|
|
11
|
+
FooterCenterTunnel: Tunnel;
|
|
12
|
+
DefaultSidebarTriggerTunnel: Tunnel;
|
|
13
|
+
DefaultSidebarTabTriggersTunnel: Tunnel;
|
|
14
|
+
OverwriteConfirmDialogTunnel: Tunnel;
|
|
15
|
+
TTDDialogTriggerTunnel: Tunnel;
|
|
16
|
+
tunnelsJotai: ReturnType<typeof createIsolation>;
|
|
17
|
+
};
|
|
18
|
+
export declare const TunnelsContext: React.Context<TunnelsContextValue>;
|
|
19
|
+
export declare const useTunnels: () => TunnelsContextValue;
|
|
20
|
+
export declare const useInitializeTunnels: () => TunnelsContextValue;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AppState } from "./types";
|
|
2
|
+
export declare const resetCursor: (interactiveCanvas: HTMLCanvasElement | null) => void;
|
|
3
|
+
export declare const setCursor: (interactiveCanvas: HTMLCanvasElement | null, cursor: string) => void;
|
|
4
|
+
export declare const setEraserCursor: (interactiveCanvas: HTMLCanvasElement | null, theme: AppState["theme"]) => void;
|
|
5
|
+
export declare const setCursorForShape: (interactiveCanvas: HTMLCanvasElement | null, appState: Pick<AppState, "activeTool" | "theme">) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EDITOR_LS_KEYS } from "@excalidraw/common";
|
|
2
|
+
import type { JSONValue } from "../types";
|
|
3
|
+
export declare class EditorLocalStorage {
|
|
4
|
+
static has(key: typeof EDITOR_LS_KEYS[keyof typeof EDITOR_LS_KEYS]): boolean;
|
|
5
|
+
static get<T extends JSONValue>(key: typeof EDITOR_LS_KEYS[keyof typeof EDITOR_LS_KEYS]): T | null;
|
|
6
|
+
static set: (key: (typeof EDITOR_LS_KEYS)[keyof typeof EDITOR_LS_KEYS], value: JSONValue) => boolean;
|
|
7
|
+
static delete: (name: (typeof EDITOR_LS_KEYS)[keyof typeof EDITOR_LS_KEYS]) => void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { IMAGE_MIME_TYPES, MIME_TYPES } from "@excalidraw/common";
|
|
2
|
+
import type { ValueOf } from "@excalidraw/common/utility-types";
|
|
3
|
+
import type { ExcalidrawElement, FileId } from "@excalidraw/element/types";
|
|
4
|
+
import type { AppState, DataURL, LibraryItem } from "../types";
|
|
5
|
+
import type { FileSystemHandle } from "./filesystem";
|
|
6
|
+
import type { ImportedLibraryData } from "./types";
|
|
7
|
+
export declare const getMimeType: (blob: Blob | string) => string;
|
|
8
|
+
export declare const getFileHandleType: (handle: FileSystemHandle | null) => string | null;
|
|
9
|
+
export declare const isImageFileHandleType: (type: string | null) => type is "png" | "svg";
|
|
10
|
+
export declare const isImageFileHandle: (handle: FileSystemHandle | null) => boolean;
|
|
11
|
+
export declare const isSupportedImageFileType: (type: string | null | undefined) => boolean;
|
|
12
|
+
export declare const isSupportedImageFile: (blob: Blob | null | undefined) => blob is Blob & {
|
|
13
|
+
type: ValueOf<typeof IMAGE_MIME_TYPES>;
|
|
14
|
+
};
|
|
15
|
+
export declare const loadSceneOrLibraryFromBlob: (blob: Blob | File, localAppState: AppState | null, localElements: readonly ExcalidrawElement[] | null, fileHandle?: FileSystemHandle | null) => Promise<{
|
|
16
|
+
type: "application/vnd.excalidraw+json";
|
|
17
|
+
data: import("./restore").RestoredDataState;
|
|
18
|
+
} | {
|
|
19
|
+
type: "application/vnd.excalidrawlib+json";
|
|
20
|
+
data: ImportedLibraryData;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const loadFromBlob: (blob: Blob, localAppState: AppState | null, localElements: readonly ExcalidrawElement[] | null, fileHandle?: FileSystemHandle | null) => Promise<import("./restore").RestoredDataState>;
|
|
23
|
+
export declare const parseLibraryJSON: (json: string, defaultStatus?: LibraryItem["status"]) => LibraryItem[];
|
|
24
|
+
export declare const loadLibraryFromBlob: (blob: Blob, defaultStatus?: LibraryItem["status"]) => Promise<LibraryItem[]>;
|
|
25
|
+
export declare const canvasToBlob: (canvas: HTMLCanvasElement | Promise<HTMLCanvasElement>) => Promise<Blob>;
|
|
26
|
+
/** generates SHA-1 digest from supplied file (if not supported, falls back
|
|
27
|
+
to a 40-char base64 random id) */
|
|
28
|
+
export declare const generateIdFromFile: (file: File) => Promise<FileId>;
|
|
29
|
+
/** async. For sync variant, use getDataURL_sync */
|
|
30
|
+
export declare const getDataURL: (file: Blob | File) => Promise<DataURL>;
|
|
31
|
+
export declare const getDataURL_sync: (data: string | Uint8Array | ArrayBuffer, mimeType: ValueOf<typeof MIME_TYPES>) => DataURL;
|
|
32
|
+
export declare const dataURLToFile: (dataURL: DataURL, filename?: string) => File;
|
|
33
|
+
export declare const dataURLToString: (dataURL: DataURL) => string;
|
|
34
|
+
export declare const resizeImageFile: (file: File, opts: {
|
|
35
|
+
/** undefined indicates auto */
|
|
36
|
+
outputType?: (typeof MIME_TYPES)["jpg"];
|
|
37
|
+
maxWidthOrHeight: number;
|
|
38
|
+
}) => Promise<File>;
|
|
39
|
+
export declare const SVGStringToFile: (SVGString: string, filename?: string) => File & {
|
|
40
|
+
type: typeof MIME_TYPES.svg;
|
|
41
|
+
};
|
|
42
|
+
export declare const ImageURLToFile: (imageUrl: string, filename?: string) => Promise<File | undefined>;
|
|
43
|
+
export declare const getFileFromEvent: (event: React.DragEvent<HTMLDivElement>) => Promise<{
|
|
44
|
+
file: File | null;
|
|
45
|
+
fileHandle: FileSystemHandle | null;
|
|
46
|
+
}>;
|
|
47
|
+
export declare const getFileHandle: (event: React.DragEvent<HTMLDivElement>) => Promise<FileSystemHandle | null>;
|
|
48
|
+
export declare const createFile: (blob: File | Blob | ArrayBuffer, mimeType: ValueOf<typeof MIME_TYPES>, name: string | undefined) => File;
|
|
49
|
+
/** attempts to detect correct mimeType if none is set, or if an image
|
|
50
|
+
* has an incorrect extension.
|
|
51
|
+
* Note: doesn't handle missing .excalidraw/.excalidrawlib extension */
|
|
52
|
+
export declare const normalizeFile: (file: File) => Promise<File>;
|
|
53
|
+
export declare const blobToArrayBuffer: (blob: Blob) => Promise<ArrayBuffer>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare const toByteString: (data: string | Uint8Array | ArrayBuffer) => string;
|
|
2
|
+
/**
|
|
3
|
+
* @param isByteString set to true if already byte string to prevent bloat
|
|
4
|
+
* due to reencoding
|
|
5
|
+
*/
|
|
6
|
+
export declare const stringToBase64: (str: string, isByteString?: boolean) => string;
|
|
7
|
+
export declare const base64ToString: (base64: string, isByteString?: boolean) => string;
|
|
8
|
+
export declare const base64ToArrayBuffer: (base64: string) => ArrayBuffer;
|
|
9
|
+
export declare const base64urlToString: (str: string) => string;
|
|
10
|
+
type EncodedData = {
|
|
11
|
+
encoded: string;
|
|
12
|
+
encoding: "bstring";
|
|
13
|
+
/** whether text is compressed (zlib) */
|
|
14
|
+
compressed: boolean;
|
|
15
|
+
/** version for potential migration purposes */
|
|
16
|
+
version?: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Encodes (and potentially compresses via zlib) text to byte string
|
|
20
|
+
*/
|
|
21
|
+
export declare const encode: ({ text, compress, }: {
|
|
22
|
+
text: string;
|
|
23
|
+
/** defaults to `true`. If compression fails, falls back to bstring alone. */
|
|
24
|
+
compress?: boolean | undefined;
|
|
25
|
+
}) => EncodedData;
|
|
26
|
+
export declare const decode: (data: EncodedData) => string;
|
|
27
|
+
/**
|
|
28
|
+
* The returned buffer has following format:
|
|
29
|
+
* `[]` refers to a buffers wrapper (see `concatBuffers`)
|
|
30
|
+
*
|
|
31
|
+
* [
|
|
32
|
+
* encodingMetadataBuffer,
|
|
33
|
+
* iv,
|
|
34
|
+
* [
|
|
35
|
+
* contentsMetadataBuffer
|
|
36
|
+
* contentsBuffer
|
|
37
|
+
* ]
|
|
38
|
+
* ]
|
|
39
|
+
*/
|
|
40
|
+
export declare const compressData: <T extends Record<string, any> = never>(dataBuffer: Uint8Array, options: {
|
|
41
|
+
encryptionKey: string;
|
|
42
|
+
} & ([T] extends [never] ? {
|
|
43
|
+
metadata?: T | undefined;
|
|
44
|
+
} : {
|
|
45
|
+
metadata: T;
|
|
46
|
+
})) => Promise<Uint8Array>;
|
|
47
|
+
export declare const decompressData: <T extends Record<string, any>>(bufferView: Uint8Array, options: {
|
|
48
|
+
decryptionKey: string;
|
|
49
|
+
}) => Promise<{
|
|
50
|
+
/** metadata source is always JSON so we can decode it here */
|
|
51
|
+
metadata: T;
|
|
52
|
+
/** data can be anything so the caller must decode it */
|
|
53
|
+
data: Uint8Array;
|
|
54
|
+
}>;
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const IV_LENGTH_BYTES = 12;
|
|
2
|
+
export declare const createIV: () => Uint8Array;
|
|
3
|
+
export declare const generateEncryptionKey: <T extends "string" | "cryptoKey" = "string">(returnAs?: T | undefined) => Promise<T extends "cryptoKey" ? CryptoKey : string>;
|
|
4
|
+
export declare const getCryptoKey: (key: string, usage: KeyUsage) => Promise<CryptoKey>;
|
|
5
|
+
export declare const encryptData: (key: string | CryptoKey, data: Uint8Array | ArrayBuffer | Blob | File | string) => Promise<{
|
|
6
|
+
encryptedBuffer: ArrayBuffer;
|
|
7
|
+
iv: Uint8Array;
|
|
8
|
+
}>;
|
|
9
|
+
export declare const decryptData: (iv: Uint8Array, encrypted: Uint8Array | ArrayBuffer, privateKey: string) => Promise<ArrayBuffer>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { supported as nativeFileSystemSupported } from "browser-fs-access";
|
|
2
|
+
import { MIME_TYPES } from "@excalidraw/common";
|
|
3
|
+
import type { FileSystemHandle } from "browser-fs-access";
|
|
4
|
+
type FILE_EXTENSION = Exclude<keyof typeof MIME_TYPES, "binary">;
|
|
5
|
+
export declare const fileOpen: <M extends boolean | undefined = false>(opts: {
|
|
6
|
+
extensions?: FILE_EXTENSION[] | undefined;
|
|
7
|
+
description: string;
|
|
8
|
+
multiple?: M | undefined;
|
|
9
|
+
}) => Promise<M extends false | undefined ? File : File[]>;
|
|
10
|
+
export declare const fileSave: (blob: Blob | Promise<Blob>, opts: {
|
|
11
|
+
/** supply without the extension */
|
|
12
|
+
name: string;
|
|
13
|
+
/** file extension */
|
|
14
|
+
extension: FILE_EXTENSION;
|
|
15
|
+
mimeTypes?: string[];
|
|
16
|
+
description: string;
|
|
17
|
+
/** existing FileSystemHandle */
|
|
18
|
+
fileHandle?: FileSystemHandle | null;
|
|
19
|
+
}) => Promise<FileSystemHandle | null>;
|
|
20
|
+
export { nativeFileSystemSupported };
|
|
21
|
+
export type { FileSystemHandle };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const getTEXtChunk: (blob: Blob) => Promise<{
|
|
2
|
+
keyword: string;
|
|
3
|
+
text: string;
|
|
4
|
+
} | null>;
|
|
5
|
+
export declare const encodePngMetadata: ({ blob, metadata, }: {
|
|
6
|
+
blob: Blob;
|
|
7
|
+
metadata: string;
|
|
8
|
+
}) => Promise<Blob>;
|
|
9
|
+
export declare const decodePngMetadata: (blob: Blob) => Promise<string>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { FileSystemHandle } from "./filesystem";
|
|
3
|
+
import type { ExportType } from "../scene/types";
|
|
4
|
+
import type { AppState, BinaryFiles } from "../types";
|
|
5
|
+
export { loadFromBlob } from "./blob";
|
|
6
|
+
export { loadFromJSON, saveAsJSON } from "./json";
|
|
7
|
+
export type ExportedElements = readonly NonDeletedExcalidrawElement[] & {
|
|
8
|
+
_brand: "exportedElements";
|
|
9
|
+
};
|
|
10
|
+
export declare const prepareElementsForExport: (elements: readonly ExcalidrawElement[], { selectedElementIds }: Pick<AppState, "selectedElementIds">, exportSelectionOnly: boolean) => {
|
|
11
|
+
exportingFrame: ExcalidrawFrameLikeElement | null;
|
|
12
|
+
exportedElements: ExportedElements;
|
|
13
|
+
};
|
|
14
|
+
export declare const exportCanvas: (type: Omit<ExportType, "backend">, elements: ExportedElements, appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, name, fileHandle, exportingFrame, }: {
|
|
15
|
+
exportBackground: boolean;
|
|
16
|
+
exportPadding?: number | undefined;
|
|
17
|
+
viewBackgroundColor: string;
|
|
18
|
+
/** filename, if applicable */
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
fileHandle?: FileSystemHandle | null | undefined;
|
|
21
|
+
exportingFrame: ExcalidrawFrameLikeElement | null;
|
|
22
|
+
}) => Promise<FileSystemHandle | null | undefined>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { AppState, BinaryFiles, LibraryItems } from "../types";
|
|
3
|
+
import type { ImportedDataState, ImportedLibraryData } from "./types";
|
|
4
|
+
export declare const serializeAsJSON: (elements: readonly ExcalidrawElement[], appState: Partial<AppState>, files: BinaryFiles, type: "local" | "database") => string;
|
|
5
|
+
export declare const saveAsJSON: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name?: string) => Promise<{
|
|
6
|
+
fileHandle: import("browser-fs-access").FileSystemHandle | null;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const loadFromJSON: (localAppState: AppState, localElements: readonly ExcalidrawElement[] | null) => Promise<import("./restore").RestoredDataState>;
|
|
9
|
+
export declare const isValidExcalidrawData: (data?: {
|
|
10
|
+
type?: any;
|
|
11
|
+
elements?: any;
|
|
12
|
+
appState?: any;
|
|
13
|
+
}) => data is ImportedDataState;
|
|
14
|
+
export declare const isValidLibrary: (json: any) => json is ImportedLibraryData;
|
|
15
|
+
export declare const serializeLibraryAsJSON: (libraryItems: LibraryItems) => string;
|
|
16
|
+
export declare const saveLibraryAsJSON: (libraryItems: LibraryItems) => Promise<void>;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { ExcalidrawElement } from "@excalidraw/element/types";
|
|
2
|
+
import type { MaybePromise } from "@excalidraw/common/utility-types";
|
|
3
|
+
import type App from "../components/App";
|
|
4
|
+
import type { LibraryItems, ExcalidrawImperativeAPI, LibraryItemsSource, LibraryItems_anyVersion } from "../types";
|
|
5
|
+
export type LibraryPersistedData = {
|
|
6
|
+
libraryItems: LibraryItems;
|
|
7
|
+
};
|
|
8
|
+
export type LibraryAdatapterSource = "load" | "save";
|
|
9
|
+
export interface LibraryPersistenceAdapter {
|
|
10
|
+
/**
|
|
11
|
+
* Should load data that were previously saved into the database using the
|
|
12
|
+
* `save` method. Should throw if saving fails.
|
|
13
|
+
*
|
|
14
|
+
* Will be used internally in multiple places, such as during save to
|
|
15
|
+
* in order to reconcile changes with latest store data.
|
|
16
|
+
*/
|
|
17
|
+
load(metadata: {
|
|
18
|
+
/**
|
|
19
|
+
* Indicates whether we're loading data for save purposes, or reading
|
|
20
|
+
* purposes, in which case host app can implement more aggressive caching.
|
|
21
|
+
*/
|
|
22
|
+
source: LibraryAdatapterSource;
|
|
23
|
+
}): MaybePromise<{
|
|
24
|
+
libraryItems: LibraryItems_anyVersion;
|
|
25
|
+
} | null>;
|
|
26
|
+
/** Should persist to the database as is (do no change the data structure). */
|
|
27
|
+
save(libraryData: LibraryPersistedData): MaybePromise<void>;
|
|
28
|
+
}
|
|
29
|
+
export interface LibraryMigrationAdapter {
|
|
30
|
+
/**
|
|
31
|
+
* loads data from legacy data source. Returns `null` if no data is
|
|
32
|
+
* to be migrated.
|
|
33
|
+
*/
|
|
34
|
+
load(): MaybePromise<{
|
|
35
|
+
libraryItems: LibraryItems_anyVersion;
|
|
36
|
+
} | null>;
|
|
37
|
+
/** clears entire storage afterwards */
|
|
38
|
+
clear(): MaybePromise<void>;
|
|
39
|
+
}
|
|
40
|
+
export declare const libraryItemsAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
|
|
41
|
+
status: "loading" | "loaded";
|
|
42
|
+
/** indicates whether library is initialized with library items (has gone
|
|
43
|
+
* through at least one update). Used in UI. Specific to this atom only. */
|
|
44
|
+
isInitialized: boolean;
|
|
45
|
+
libraryItems: LibraryItems;
|
|
46
|
+
}> & {
|
|
47
|
+
init: {
|
|
48
|
+
status: "loading" | "loaded";
|
|
49
|
+
/** indicates whether library is initialized with library items (has gone
|
|
50
|
+
* through at least one update). Used in UI. Specific to this atom only. */
|
|
51
|
+
isInitialized: boolean;
|
|
52
|
+
libraryItems: LibraryItems;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
/** Merges otherItems into localItems. Unique items in otherItems array are
|
|
56
|
+
sorted first. */
|
|
57
|
+
export declare const mergeLibraryItems: (localItems: LibraryItems, otherItems: LibraryItems) => LibraryItems;
|
|
58
|
+
declare class Library {
|
|
59
|
+
/** latest libraryItems */
|
|
60
|
+
private currLibraryItems;
|
|
61
|
+
/** snapshot of library items since last onLibraryChange call */
|
|
62
|
+
private prevLibraryItems;
|
|
63
|
+
private app;
|
|
64
|
+
constructor(app: App);
|
|
65
|
+
private updateQueue;
|
|
66
|
+
private getLastUpdateTask;
|
|
67
|
+
private notifyListeners;
|
|
68
|
+
/** call on excalidraw instance unmount */
|
|
69
|
+
destroy: () => void;
|
|
70
|
+
resetLibrary: () => Promise<LibraryItems>;
|
|
71
|
+
/**
|
|
72
|
+
* @returns latest cloned libraryItems. Awaits all in-progress updates first.
|
|
73
|
+
*/
|
|
74
|
+
getLatestLibrary: () => Promise<LibraryItems>;
|
|
75
|
+
updateLibrary: ({ libraryItems, prompt, merge, openLibraryMenu, defaultStatus, }: {
|
|
76
|
+
libraryItems: LibraryItemsSource;
|
|
77
|
+
merge?: boolean | undefined;
|
|
78
|
+
prompt?: boolean | undefined;
|
|
79
|
+
openLibraryMenu?: boolean | undefined;
|
|
80
|
+
defaultStatus?: "published" | "unpublished" | undefined;
|
|
81
|
+
}) => Promise<LibraryItems>;
|
|
82
|
+
setLibrary: (libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
|
|
83
|
+
}
|
|
84
|
+
export default Library;
|
|
85
|
+
export declare const distributeLibraryItemsOnSquareGrid: (libraryItems: LibraryItems) => ExcalidrawElement[];
|
|
86
|
+
export declare const validateLibraryUrl: (libraryUrl: string, validator?: string[] | ((libraryUrl: string) => boolean)) => true;
|
|
87
|
+
export declare const parseLibraryTokensFromUrl: () => {
|
|
88
|
+
libraryUrl: string;
|
|
89
|
+
idToken: string | null;
|
|
90
|
+
} | null;
|
|
91
|
+
export declare const getLibraryItemsHash: (items: LibraryItems) => number;
|
|
92
|
+
export declare const useHandleLibrary: (opts: {
|
|
93
|
+
excalidrawAPI: ExcalidrawImperativeAPI | null;
|
|
94
|
+
/**
|
|
95
|
+
* Return `true` if the library install url should be allowed.
|
|
96
|
+
* If not supplied, only the excalidraw.com base domain is allowed.
|
|
97
|
+
*/
|
|
98
|
+
validateLibraryUrl?: ((libraryUrl: string) => boolean) | undefined;
|
|
99
|
+
} & ({
|
|
100
|
+
/** @deprecated we recommend using `opts.adapter` instead */
|
|
101
|
+
getInitialLibraryItems?: (() => MaybePromise<LibraryItemsSource>) | undefined;
|
|
102
|
+
} | {
|
|
103
|
+
adapter: LibraryPersistenceAdapter;
|
|
104
|
+
/**
|
|
105
|
+
* Adapter that takes care of loading data from legacy data store.
|
|
106
|
+
* Supply this if you want to migrate data on initial load from legacy
|
|
107
|
+
* data store.
|
|
108
|
+
*
|
|
109
|
+
* Can be a different LibraryPersistenceAdapter.
|
|
110
|
+
*/
|
|
111
|
+
migrationAdapter?: LibraryMigrationAdapter | undefined;
|
|
112
|
+
})) => void;
|