@zsviczian/excalidraw 0.15.2-obsidian-8 → 0.15.2-obsidian-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/excalidraw.development.js +1147 -1007
- package/dist/excalidraw.production.min.js +1 -1
- package/dist/excalidraw.production.min.js.LICENSE.txt +9 -0
- package/package.json +6 -2
- package/types/.DS_Store +0 -0
- package/types/actions/actionAddToLibrary.d.ts +441 -441
- package/types/actions/actionAlign.d.ts +97 -97
- package/types/actions/actionBoundText.d.ts +331 -331
- package/types/actions/actionCanvas.d.ts +1845 -1845
- package/types/actions/actionClipboard.d.ts +829 -829
- package/types/actions/actionDeleteSelected.d.ts +475 -475
- package/types/actions/actionDistribute.d.ts +33 -33
- package/types/actions/actionDuplicateSelection.d.ts +22 -22
- package/types/actions/actionElementLock.d.ts +316 -316
- package/types/actions/actionExport.d.ts +1389 -1388
- package/types/actions/actionFinalize.d.ts +299 -302
- package/types/actions/actionFlip.d.ts +33 -33
- package/types/actions/actionFrame.d.ts +490 -490
- package/types/actions/actionGroup.d.ts +45 -45
- package/types/actions/actionHistory.d.ts +6 -6
- package/types/actions/actionLinearEditor.d.ts +158 -158
- package/types/actions/actionMenu.d.ts +479 -479
- package/types/actions/actionNavigate.d.ts +14 -14
- package/types/actions/actionProperties.d.ts +2013 -2013
- package/types/actions/actionSelectAll.d.ts +16 -16
- package/types/actions/actionStyles.d.ts +172 -172
- package/types/actions/actionToggleGridMode.d.ts +161 -161
- package/types/actions/actionToggleLock.d.ts +135 -139
- package/types/actions/actionToggleStats.d.ts +158 -158
- package/types/actions/actionToggleViewMode.d.ts +160 -160
- package/types/actions/actionToggleZenMode.d.ts +160 -160
- package/types/actions/actionZindex.d.ts +67 -67
- package/types/actions/index.d.ts +24 -24
- package/types/actions/manager.d.ts +21 -21
- package/types/actions/register.d.ts +5 -5
- package/types/actions/shortcuts.d.ts +4 -4
- package/types/actions/types.d.ts +45 -44
- package/types/align.d.ts +6 -6
- package/types/analytics.d.ts +1 -1
- package/types/appState.d.ts +81 -81
- package/types/charts.d.ts +27 -27
- package/types/clients.d.ts +5 -5
- package/types/clipboard.d.ts +25 -25
- package/types/colors.d.ts +61 -61
- package/types/components/Actions.d.ts +36 -36
- package/types/components/ActiveConfirmDialog.d.ts +4 -4
- package/types/components/App.d.ts +288 -291
- package/types/components/Avatar.d.ts +10 -10
- package/types/components/BraveMeasureTextError.d.ts +2 -2
- package/types/components/Button.d.ts +17 -17
- package/types/components/ButtonIconSelect.d.ts +19 -19
- package/types/components/Card.d.ts +7 -7
- package/types/components/CheckboxItem.d.ts +8 -8
- package/types/components/ColorPicker/ColorInput.d.ts +7 -7
- package/types/components/ColorPicker/ColorPicker.d.ts +19 -19
- package/types/components/ColorPicker/CustomColorList.d.ts +8 -8
- package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -8
- package/types/components/ColorPicker/Picker.d.ts +18 -18
- package/types/components/ColorPicker/PickerColorList.d.ts +10 -10
- package/types/components/ColorPicker/PickerHeading.d.ts +5 -5
- package/types/components/ColorPicker/ShadeList.d.ts +8 -8
- package/types/components/ColorPicker/TopPicks.d.ts +9 -9
- package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -21
- package/types/components/ColorPicker/keyboardNavHandlers.d.ts +21 -21
- package/types/components/ColorPicker.d.ts +19 -19
- package/types/components/ConfirmDialog.d.ts +10 -10
- package/types/components/ContextMenu.d.ts +15 -15
- package/types/components/DarkModeToggle.d.ts +7 -7
- package/types/components/DefaultSidebar.d.ts +30 -30
- package/types/components/Dialog.d.ts +13 -13
- package/types/components/DialogActionButton.d.ts +10 -10
- package/types/components/ErrorDialog.d.ts +5 -5
- package/types/components/EyeDropper.d.ts +18 -18
- package/types/components/FilledButton.d.ts +17 -17
- package/types/components/FixedSideContainer.d.ts +9 -9
- package/types/components/HandButton.d.ts +10 -10
- package/types/components/HelpButton.d.ts +7 -7
- package/types/components/HelpDialog.d.ts +4 -4
- package/types/components/HintViewer.d.ts +10 -11
- package/types/components/IconPicker.d.ts +13 -13
- package/types/components/ImageExportDialog.d.ts +13 -13
- package/types/components/InitializeApp.d.ts +10 -10
- package/types/components/Island.d.ts +10 -10
- package/types/components/JSONExportDialog.d.ts +15 -15
- package/types/components/LayerUI.d.ts +32 -31
- package/types/components/LibraryButton.d.ts +8 -8
- package/types/components/LibraryMenu.d.ts +24 -24
- package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
- package/types/components/LibraryMenuControlButtons.d.ts +9 -9
- package/types/components/LibraryMenuHeaderContent.d.ts +18 -18
- package/types/components/LibraryMenuItems.d.ts +14 -14
- package/types/components/LibraryMenuSection.d.ts +22 -22
- package/types/components/LibraryUnit.d.ts +15 -15
- package/types/components/LoadingMessage.d.ts +6 -6
- package/types/components/LockButton.d.ts +10 -10
- package/types/components/MobileMenu.d.ts +27 -26
- package/types/components/Modal.d.ts +13 -13
- package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
- package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
- package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
- package/types/components/PasteChartDialog.d.ts +8 -8
- package/types/components/PenModeButton.d.ts +12 -12
- package/types/components/Popover.d.ts +15 -15
- package/types/components/ProjectName.d.ts +11 -11
- package/types/components/PublishLibrary.d.ts +16 -16
- package/types/components/RadioGroup.d.ts +12 -12
- package/types/components/Section.d.ts +6 -6
- package/types/components/Sidebar/Sidebar.d.ts +76 -76
- package/types/components/Sidebar/SidebarHeader.d.ts +7 -7
- package/types/components/Sidebar/SidebarTab.d.ts +9 -9
- package/types/components/Sidebar/SidebarTabTrigger.d.ts +10 -10
- package/types/components/Sidebar/SidebarTabTriggers.d.ts +7 -7
- package/types/components/Sidebar/SidebarTabs.d.ts +7 -7
- package/types/components/Sidebar/SidebarTrigger.d.ts +6 -6
- package/types/components/Sidebar/common.d.ts +33 -33
- package/types/components/SingleLibraryItem.d.ts +10 -10
- package/types/components/Spinner.d.ts +7 -7
- package/types/components/Stack.d.ts +16 -16
- package/types/components/Stats.d.ts +11 -11
- package/types/components/Switch.d.ts +9 -9
- package/types/components/Toast.d.ts +7 -7
- package/types/components/ToolButton.d.ts +47 -47
- package/types/components/Tooltip.d.ts +17 -17
- package/types/components/Trans.d.ts +9 -8
- package/types/components/UserList.d.ts +8 -8
- package/types/components/context/tunnels.d.ts +16 -16
- package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -67
- package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
- package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
- package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
- package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
- package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
- package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
- package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
- package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -11
- package/types/components/dropdownMenu/common.d.ts +6 -6
- package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
- package/types/components/footer/Footer.d.ts +12 -12
- package/types/components/footer/FooterCenter.d.ts +8 -8
- package/types/components/hoc/withInternalFallback.d.ts +4 -4
- package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
- package/types/components/icons.d.ts +154 -154
- package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
- package/types/components/main-menu/DefaultItems.d.ts +44 -44
- package/types/components/main-menu/MainMenu.d.ts +61 -61
- package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
- package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
- package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -85
- package/types/constants.d.ts +226 -225
- package/types/context/tunnels.d.ts +19 -19
- package/types/context/ui-appState.d.ts +4 -4
- package/types/data/blob.d.ts +48 -48
- package/types/data/encode.d.ts +53 -53
- package/types/data/encryption.d.ts +9 -9
- package/types/data/filesystem.d.ts +19 -19
- package/types/data/image.d.ts +15 -15
- package/types/data/index.d.ts +13 -13
- package/types/data/json.d.ts +16 -16
- package/types/data/library.d.ts +54 -54
- package/types/data/resave.d.ts +5 -5
- package/types/data/restore.d.ts +21 -21
- package/types/data/types.d.ts +45 -45
- package/types/data/url.d.ts +7 -2
- package/types/distribute.d.ts +6 -6
- package/types/element/Hyperlink.d.ts +182 -182
- package/types/element/binding.d.ts +33 -33
- package/types/element/bounds.d.ts +53 -53
- package/types/element/collision.d.ts +21 -21
- package/types/element/dragElements.d.ts +6 -6
- package/types/element/embeddable.d.ts +176 -171
- package/types/element/image.d.ts +32 -32
- package/types/element/index.d.ts +21 -21
- package/types/element/linearElementEditor.d.ts +293 -293
- package/types/element/mutateElement.d.ts +12 -12
- package/types/element/newElement.d.ts +95 -95
- package/types/element/resizeElements.d.ts +9 -9
- package/types/element/resizeTest.d.ts +13 -13
- package/types/element/showSelectedShapeActions.d.ts +3 -3
- package/types/element/sizeHelpers.d.ts +21 -21
- package/types/element/sortElements.d.ts +2 -2
- package/types/element/textElement.d.ts +80 -80
- package/types/element/textWysiwyg.d.ts +21 -21
- package/types/element/transformHandles.d.ts +35 -35
- package/types/element/typeChecks.d.ts +29 -29
- package/types/element/types.d.ts +166 -166
- package/types/errors.d.ts +8 -8
- package/types/frame.d.ts +40 -40
- package/types/ga.d.ts +63 -63
- package/types/gadirections.d.ts +8 -8
- package/types/galines.d.ts +22 -22
- package/types/gapoints.d.ts +7 -7
- package/types/gatransforms.d.ts +10 -10
- package/types/gesture.d.ts +6 -6
- package/types/groups.d.ts +31 -31
- package/types/history.d.ts +52 -52
- package/types/hooks/useCallbackRefState.d.ts +1 -1
- package/types/hooks/useCreatePortalContainer.d.ts +5 -5
- package/types/hooks/useLibraryItemSvg.d.ts +11 -11
- package/types/hooks/useOutsideClick.d.ts +20 -20
- package/types/hooks/useScrollPosition.d.ts +2 -2
- package/types/hooks/useTransition.d.ts +2 -2
- package/types/i18n.d.ts +24 -21
- package/types/jotai.d.ts +34 -34
- package/types/keys.d.ts +80 -80
- package/types/math.d.ts +30 -30
- package/types/packages/common.webpack.dev.config.d.ts +72 -72
- package/types/packages/common.webpack.prod.config.d.ts +84 -84
- package/types/packages/excalidraw/dist/excalidraw.development.d.ts +4 -4
- package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
- package/types/packages/excalidraw/entry.d.ts +1 -1
- package/types/packages/excalidraw/env.d.ts +1 -1
- package/types/packages/excalidraw/example/App.d.ts +14 -14
- package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
- package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
- package/types/packages/excalidraw/example/index.d.ts +1 -1
- package/types/packages/excalidraw/example/initialData.d.ts +178 -178
- package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
- package/types/packages/excalidraw/index.d.ts +37 -37
- package/types/packages/excalidraw/main.d.ts +2 -2
- package/types/packages/excalidraw/publicPath.d.ts +1 -1
- package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
- package/types/packages/excalidraw/webpack.dev.config.d.ts +69 -69
- package/types/packages/excalidraw/webpack.prod.config.d.ts +78 -78
- package/types/packages/utils.d.ts +43 -42
- package/types/points.d.ts +7 -7
- package/types/polyfill.d.ts +2 -2
- package/types/random.d.ts +4 -4
- package/types/renderer/easingFunctions.d.ts +6 -6
- package/types/renderer/renderElement.d.ts +37 -37
- package/types/renderer/renderScene.d.ts +51 -50
- package/types/renderer/roundRect.d.ts +11 -11
- package/types/scene/Fonts.d.ts +21 -21
- package/types/scene/Scene.d.ts +60 -47
- package/types/scene/comparisons.d.ts +10 -10
- package/types/scene/export.d.ts +25 -24
- package/types/scene/index.d.ts +5 -5
- package/types/scene/scroll.d.ts +17 -17
- package/types/scene/scrollbars.d.ts +16 -16
- package/types/scene/selection.d.ts +31 -31
- package/types/scene/types.d.ts +59 -59
- package/types/scene/zoom.d.ts +13 -13
- package/types/shapes.d.ts +62 -62
- package/types/types.d.ts +501 -503
- package/types/utility-types.d.ts +25 -22
- package/types/utils.d.ts +192 -192
- package/types/zindex.d.ts +6 -6
- package/types/bug-issue-template.d.ts +0 -2
- package/types/components/ActiveFile.d.ts +0 -7
- package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -4
- package/types/components/ClearCanvas.d.ts +0 -4
- package/types/components/CollabButton.d.ts +0 -7
- package/types/components/EncryptedIcon.d.ts +0 -2
- package/types/components/Footer.d.ts +0 -10
- package/types/components/HelpIcon.d.ts +0 -8
- package/types/components/MenuItem.d.ts +0 -11
- package/types/components/MenuUtils.d.ts +0 -2
- package/types/components/SidebarLockButton.d.ts +0 -8
- package/types/components/TopErrorBoundary.d.ts +0 -15
- package/types/components/WelcomeScreen.d.ts +0 -8
- package/types/components/WelcomeScreenDecor.d.ts +0 -6
- package/types/components/mainMenu/DefaultItems.d.ts +0 -44
- package/types/components/mainMenu/MainMenu.d.ts +0 -63
- package/types/element/iframe.d.ts +0 -167
- package/types/excalidraw-app/CustomStats.d.ts +0 -9
- package/types/excalidraw-app/app_constants.d.ts +0 -32
- package/types/excalidraw-app/collab/Collab.d.ts +0 -163
- package/types/excalidraw-app/collab/Portal.d.ts +0 -28
- package/types/excalidraw-app/collab/RoomDialog.d.ts +0 -13
- package/types/excalidraw-app/collab/reconciliation.d.ts +0 -10
- package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +0 -9
- package/types/excalidraw-app/components/LanguageList.d.ts +0 -4
- package/types/excalidraw-app/components/icons.d.ts +0 -1
- package/types/excalidraw-app/data/FileManager.d.ts +0 -66
- package/types/excalidraw-app/data/LocalData.d.ts +0 -32
- package/types/excalidraw-app/data/Locker.d.ts +0 -8
- package/types/excalidraw-app/data/firebase.d.ts +0 -25
- package/types/excalidraw-app/data/index.d.ts +0 -190
- package/types/excalidraw-app/data/localStorage.d.ts +0 -116
- package/types/excalidraw-app/data/tabSync.d.ts +0 -9
- package/types/excalidraw-app/index.d.ts +0 -26
- package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +0 -5
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { AppState } from "../types";
|
|
2
|
-
import { MarkNonNullable } from "../utility-types";
|
|
3
|
-
import { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawEmbeddableElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawGenericElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, ExcalidrawFrameElement, RoundnessType } from "./types";
|
|
4
|
-
export declare const isGenericElement: (element: ExcalidrawElement | null) => element is ExcalidrawGenericElement;
|
|
5
|
-
export declare const isInitializedImageElement: (element: ExcalidrawElement | null) => element is InitializedExcalidrawImageElement;
|
|
6
|
-
export declare const isImageElement: (element: ExcalidrawElement | null) => element is ExcalidrawImageElement;
|
|
7
|
-
export declare const isEmbeddableElement: (element: ExcalidrawElement | null | undefined) => element is ExcalidrawEmbeddableElement;
|
|
8
|
-
export declare const isTextElement: (element: ExcalidrawElement | null) => element is ExcalidrawTextElement;
|
|
9
|
-
export declare const isFrameElement: (element: ExcalidrawElement | null) => element is ExcalidrawFrameElement;
|
|
10
|
-
export declare const isFreeDrawElement: (element?: ExcalidrawElement | null) => element is ExcalidrawFreeDrawElement;
|
|
11
|
-
export declare const isFreeDrawElementType: (elementType: ExcalidrawElement["type"]) => boolean;
|
|
12
|
-
export declare const isLinearElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLinearElement;
|
|
13
|
-
export declare const isArrowElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLinearElement;
|
|
14
|
-
export declare const isLinearElementType: (elementType: AppState["activeTool"]["type"]) => boolean;
|
|
15
|
-
export declare const isBindingElement: (element?: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawLinearElement;
|
|
16
|
-
export declare const isBindingElementType: (elementType: AppState["activeTool"]["type"]) => boolean;
|
|
17
|
-
export declare const isBindableElement: (element: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawBindableElement;
|
|
18
|
-
export declare const isTextBindableContainer: (element: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawTextContainer;
|
|
19
|
-
export declare const isExcalidrawElement: (element: any) => boolean;
|
|
20
|
-
export declare const hasBoundTextElement: (element: ExcalidrawElement | null) => element is MarkNonNullable<ExcalidrawBindableElement, "boundElements">;
|
|
21
|
-
export declare const isBoundToContainer: (element: ExcalidrawElement | null) => element is ExcalidrawTextElementWithContainer;
|
|
22
|
-
export declare const isUsingAdaptiveRadius: (type: string) => boolean;
|
|
23
|
-
export declare const isUsingProportionalRadius: (type: string) => boolean;
|
|
24
|
-
export declare const canApplyRoundnessTypeToElement: (roundnessType: RoundnessType, element: ExcalidrawElement) => boolean;
|
|
25
|
-
export declare const getDefaultRoundnessTypeForElement: (element: ExcalidrawElement) => {
|
|
26
|
-
type: 2;
|
|
27
|
-
} | {
|
|
28
|
-
type: 3;
|
|
29
|
-
} | null;
|
|
1
|
+
import { AppState } from "../types";
|
|
2
|
+
import { MarkNonNullable } from "../utility-types";
|
|
3
|
+
import { ExcalidrawElement, ExcalidrawTextElement, ExcalidrawEmbeddableElement, ExcalidrawLinearElement, ExcalidrawBindableElement, ExcalidrawGenericElement, ExcalidrawFreeDrawElement, InitializedExcalidrawImageElement, ExcalidrawImageElement, ExcalidrawTextElementWithContainer, ExcalidrawTextContainer, ExcalidrawFrameElement, RoundnessType } from "./types";
|
|
4
|
+
export declare const isGenericElement: (element: ExcalidrawElement | null) => element is ExcalidrawGenericElement;
|
|
5
|
+
export declare const isInitializedImageElement: (element: ExcalidrawElement | null) => element is InitializedExcalidrawImageElement;
|
|
6
|
+
export declare const isImageElement: (element: ExcalidrawElement | null) => element is ExcalidrawImageElement;
|
|
7
|
+
export declare const isEmbeddableElement: (element: ExcalidrawElement | null | undefined) => element is ExcalidrawEmbeddableElement;
|
|
8
|
+
export declare const isTextElement: (element: ExcalidrawElement | null) => element is ExcalidrawTextElement;
|
|
9
|
+
export declare const isFrameElement: (element: ExcalidrawElement | null) => element is ExcalidrawFrameElement;
|
|
10
|
+
export declare const isFreeDrawElement: (element?: ExcalidrawElement | null) => element is ExcalidrawFreeDrawElement;
|
|
11
|
+
export declare const isFreeDrawElementType: (elementType: ExcalidrawElement["type"]) => boolean;
|
|
12
|
+
export declare const isLinearElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLinearElement;
|
|
13
|
+
export declare const isArrowElement: (element?: ExcalidrawElement | null) => element is ExcalidrawLinearElement;
|
|
14
|
+
export declare const isLinearElementType: (elementType: AppState["activeTool"]["type"]) => boolean;
|
|
15
|
+
export declare const isBindingElement: (element?: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawLinearElement;
|
|
16
|
+
export declare const isBindingElementType: (elementType: AppState["activeTool"]["type"]) => boolean;
|
|
17
|
+
export declare const isBindableElement: (element: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawBindableElement;
|
|
18
|
+
export declare const isTextBindableContainer: (element: ExcalidrawElement | null, includeLocked?: boolean) => element is ExcalidrawTextContainer;
|
|
19
|
+
export declare const isExcalidrawElement: (element: any) => boolean;
|
|
20
|
+
export declare const hasBoundTextElement: (element: ExcalidrawElement | null) => element is MarkNonNullable<ExcalidrawBindableElement, "boundElements">;
|
|
21
|
+
export declare const isBoundToContainer: (element: ExcalidrawElement | null) => element is ExcalidrawTextElementWithContainer;
|
|
22
|
+
export declare const isUsingAdaptiveRadius: (type: string) => boolean;
|
|
23
|
+
export declare const isUsingProportionalRadius: (type: string) => boolean;
|
|
24
|
+
export declare const canApplyRoundnessTypeToElement: (roundnessType: RoundnessType, element: ExcalidrawElement) => boolean;
|
|
25
|
+
export declare const getDefaultRoundnessTypeForElement: (element: ExcalidrawElement) => {
|
|
26
|
+
type: 2;
|
|
27
|
+
} | {
|
|
28
|
+
type: 3;
|
|
29
|
+
} | null;
|
package/types/element/types.d.ts
CHANGED
|
@@ -1,166 +1,166 @@
|
|
|
1
|
-
import { Point } from "../types";
|
|
2
|
-
import { FONT_FAMILY, ROUNDNESS, TEXT_ALIGN, THEME, VERTICAL_ALIGN } from "../constants";
|
|
3
|
-
import { MarkNonNullable, ValueOf } from "../utility-types";
|
|
4
|
-
export type ChartType = "bar" | "line";
|
|
5
|
-
export type FillStyle = "hachure" | "cross-hatch" | "solid" | "zigzag";
|
|
6
|
-
export type FontFamilyKeys = keyof typeof FONT_FAMILY;
|
|
7
|
-
export type FontFamilyValues = typeof FONT_FAMILY[FontFamilyKeys];
|
|
8
|
-
export type Theme = typeof THEME[keyof typeof THEME];
|
|
9
|
-
export type FontString = string & {
|
|
10
|
-
_brand: "fontString";
|
|
11
|
-
};
|
|
12
|
-
export type GroupId = string;
|
|
13
|
-
export type PointerType = "mouse" | "pen" | "touch";
|
|
14
|
-
export type StrokeRoundness = "round" | "sharp";
|
|
15
|
-
export type RoundnessType = ValueOf<typeof ROUNDNESS>;
|
|
16
|
-
export type StrokeStyle = "solid" | "dashed" | "dotted";
|
|
17
|
-
export type TextAlign = typeof TEXT_ALIGN[keyof typeof TEXT_ALIGN];
|
|
18
|
-
type VerticalAlignKeys = keyof typeof VERTICAL_ALIGN;
|
|
19
|
-
export type VerticalAlign = typeof VERTICAL_ALIGN[VerticalAlignKeys];
|
|
20
|
-
type _ExcalidrawElementBase = Readonly<{
|
|
21
|
-
id: string;
|
|
22
|
-
x: number;
|
|
23
|
-
y: number;
|
|
24
|
-
strokeColor: string;
|
|
25
|
-
backgroundColor: string;
|
|
26
|
-
fillStyle: FillStyle;
|
|
27
|
-
strokeWidth: number;
|
|
28
|
-
strokeStyle: StrokeStyle;
|
|
29
|
-
roundness: null | {
|
|
30
|
-
type: RoundnessType;
|
|
31
|
-
value?: number;
|
|
32
|
-
};
|
|
33
|
-
roughness: number;
|
|
34
|
-
opacity: number;
|
|
35
|
-
width: number;
|
|
36
|
-
height: number;
|
|
37
|
-
angle: number;
|
|
38
|
-
/** Random integer used to seed shape generation so that the roughjs shape
|
|
39
|
-
doesn't differ across renders. */
|
|
40
|
-
seed: number;
|
|
41
|
-
/** Integer that is sequentially incremented on each change. Used to reconcile
|
|
42
|
-
elements during collaboration or when saving to server. */
|
|
43
|
-
version: number;
|
|
44
|
-
/** Random integer that is regenerated on each change.
|
|
45
|
-
Used for deterministic reconciliation of updates during collaboration,
|
|
46
|
-
in case the versions (see above) are identical. */
|
|
47
|
-
versionNonce: number;
|
|
48
|
-
isDeleted: boolean;
|
|
49
|
-
/** List of groups the element belongs to.
|
|
50
|
-
Ordered from deepest to shallowest. */
|
|
51
|
-
groupIds: readonly GroupId[];
|
|
52
|
-
frameId: string | null;
|
|
53
|
-
/** other elements that are bound to this element */
|
|
54
|
-
boundElements: readonly Readonly<{
|
|
55
|
-
id: ExcalidrawLinearElement["id"];
|
|
56
|
-
type: "arrow" | "text";
|
|
57
|
-
}>[] | null;
|
|
58
|
-
/** epoch (ms) timestamp of last element update */
|
|
59
|
-
updated: number;
|
|
60
|
-
link: string | null;
|
|
61
|
-
locked: boolean;
|
|
62
|
-
customData?: Record<string, any>;
|
|
63
|
-
}>;
|
|
64
|
-
export type ExcalidrawSelectionElement = _ExcalidrawElementBase & {
|
|
65
|
-
type: "selection";
|
|
66
|
-
};
|
|
67
|
-
export type ExcalidrawRectangleElement = _ExcalidrawElementBase & {
|
|
68
|
-
type: "rectangle";
|
|
69
|
-
};
|
|
70
|
-
export type ExcalidrawDiamondElement = _ExcalidrawElementBase & {
|
|
71
|
-
type: "diamond";
|
|
72
|
-
};
|
|
73
|
-
export type ExcalidrawEllipseElement = _ExcalidrawElementBase & {
|
|
74
|
-
type: "ellipse";
|
|
75
|
-
};
|
|
76
|
-
export type ExcalidrawEmbeddableElement = _ExcalidrawElementBase & Readonly<{
|
|
77
|
-
/**
|
|
78
|
-
* indicates whether the embeddable src (url) has been validated for rendering.
|
|
79
|
-
* nullish value indicates that the validation is pending. We reset the
|
|
80
|
-
* value on each restore (or url change) so that we can guarantee
|
|
81
|
-
* the validation came from a trusted source (the editor). Also because we
|
|
82
|
-
* may not have access to host-app supplied url validator during restore.
|
|
83
|
-
*/
|
|
84
|
-
validated?: boolean;
|
|
85
|
-
type: "embeddable";
|
|
86
|
-
}>;
|
|
87
|
-
export type ExcalidrawImageElement = _ExcalidrawElementBase & Readonly<{
|
|
88
|
-
type: "image";
|
|
89
|
-
fileId: FileId | null;
|
|
90
|
-
/** whether respective file is persisted */
|
|
91
|
-
status: "pending" | "saved" | "error";
|
|
92
|
-
/** X and Y scale factors <-1, 1>, used for image axis flipping */
|
|
93
|
-
scale: [number, number];
|
|
94
|
-
}>;
|
|
95
|
-
export type InitializedExcalidrawImageElement = MarkNonNullable<ExcalidrawImageElement, "fileId">;
|
|
96
|
-
export type ExcalidrawFrameElement = _ExcalidrawElementBase & {
|
|
97
|
-
type: "frame";
|
|
98
|
-
name: string | null;
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* These are elements that don't have any additional properties.
|
|
102
|
-
*/
|
|
103
|
-
export type ExcalidrawGenericElement = ExcalidrawSelectionElement | ExcalidrawRectangleElement | ExcalidrawEmbeddableElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement;
|
|
104
|
-
/**
|
|
105
|
-
* ExcalidrawElement should be JSON serializable and (eventually) contain
|
|
106
|
-
* no computed data. The list of all ExcalidrawElements should be shareable
|
|
107
|
-
* between peers and contain no state local to the peer.
|
|
108
|
-
*/
|
|
109
|
-
export type ExcalidrawElement = ExcalidrawGenericElement | ExcalidrawTextElement | ExcalidrawLinearElement | ExcalidrawFreeDrawElement | ExcalidrawImageElement | ExcalidrawFrameElement;
|
|
110
|
-
export type NonDeleted<TElement extends ExcalidrawElement> = TElement & {
|
|
111
|
-
isDeleted: boolean;
|
|
112
|
-
};
|
|
113
|
-
export type NonDeletedExcalidrawElement = NonDeleted<ExcalidrawElement>;
|
|
114
|
-
export type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
|
|
115
|
-
type: "text";
|
|
116
|
-
fontSize: number;
|
|
117
|
-
fontFamily: FontFamilyValues;
|
|
118
|
-
text: string;
|
|
119
|
-
rawText: string;
|
|
120
|
-
baseline: number;
|
|
121
|
-
textAlign: TextAlign;
|
|
122
|
-
verticalAlign: VerticalAlign;
|
|
123
|
-
containerId: ExcalidrawGenericElement["id"] | null;
|
|
124
|
-
originalText: string;
|
|
125
|
-
/**
|
|
126
|
-
* Unitless line height (aligned to W3C). To get line height in px, multiply
|
|
127
|
-
* with font size (using `getLineHeightInPx` helper).
|
|
128
|
-
*/
|
|
129
|
-
lineHeight: number & {
|
|
130
|
-
_brand: "unitlessLineHeight";
|
|
131
|
-
};
|
|
132
|
-
}>;
|
|
133
|
-
export type ExcalidrawBindableElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawTextElement | ExcalidrawImageElement | ExcalidrawEmbeddableElement | ExcalidrawFrameElement;
|
|
134
|
-
export type ExcalidrawTextContainer = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawArrowElement;
|
|
135
|
-
export type ExcalidrawTextElementWithContainer = {
|
|
136
|
-
containerId: ExcalidrawTextContainer["id"];
|
|
137
|
-
} & ExcalidrawTextElement;
|
|
138
|
-
export type PointBinding = {
|
|
139
|
-
elementId: ExcalidrawBindableElement["id"];
|
|
140
|
-
focus: number;
|
|
141
|
-
gap: number;
|
|
142
|
-
};
|
|
143
|
-
export type Arrowhead = "arrow" | "bar" | "dot" | "triangle";
|
|
144
|
-
export type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<{
|
|
145
|
-
type: "line" | "arrow";
|
|
146
|
-
points: readonly Point[];
|
|
147
|
-
lastCommittedPoint: Point | null;
|
|
148
|
-
startBinding: PointBinding | null;
|
|
149
|
-
endBinding: PointBinding | null;
|
|
150
|
-
startArrowhead: Arrowhead | null;
|
|
151
|
-
endArrowhead: Arrowhead | null;
|
|
152
|
-
}>;
|
|
153
|
-
export type ExcalidrawArrowElement = ExcalidrawLinearElement & Readonly<{
|
|
154
|
-
type: "arrow";
|
|
155
|
-
}>;
|
|
156
|
-
export type ExcalidrawFreeDrawElement = _ExcalidrawElementBase & Readonly<{
|
|
157
|
-
type: "freedraw";
|
|
158
|
-
points: readonly Point[];
|
|
159
|
-
pressures: readonly number[];
|
|
160
|
-
simulatePressure: boolean;
|
|
161
|
-
lastCommittedPoint: Point | null;
|
|
162
|
-
}>;
|
|
163
|
-
export type FileId = string & {
|
|
164
|
-
_brand: "FileId";
|
|
165
|
-
};
|
|
166
|
-
export {};
|
|
1
|
+
import { Point } from "../types";
|
|
2
|
+
import { FONT_FAMILY, ROUNDNESS, TEXT_ALIGN, THEME, VERTICAL_ALIGN } from "../constants";
|
|
3
|
+
import { MarkNonNullable, ValueOf } from "../utility-types";
|
|
4
|
+
export type ChartType = "bar" | "line";
|
|
5
|
+
export type FillStyle = "hachure" | "cross-hatch" | "solid" | "zigzag";
|
|
6
|
+
export type FontFamilyKeys = keyof typeof FONT_FAMILY;
|
|
7
|
+
export type FontFamilyValues = typeof FONT_FAMILY[FontFamilyKeys];
|
|
8
|
+
export type Theme = typeof THEME[keyof typeof THEME];
|
|
9
|
+
export type FontString = string & {
|
|
10
|
+
_brand: "fontString";
|
|
11
|
+
};
|
|
12
|
+
export type GroupId = string;
|
|
13
|
+
export type PointerType = "mouse" | "pen" | "touch";
|
|
14
|
+
export type StrokeRoundness = "round" | "sharp";
|
|
15
|
+
export type RoundnessType = ValueOf<typeof ROUNDNESS>;
|
|
16
|
+
export type StrokeStyle = "solid" | "dashed" | "dotted";
|
|
17
|
+
export type TextAlign = typeof TEXT_ALIGN[keyof typeof TEXT_ALIGN];
|
|
18
|
+
type VerticalAlignKeys = keyof typeof VERTICAL_ALIGN;
|
|
19
|
+
export type VerticalAlign = typeof VERTICAL_ALIGN[VerticalAlignKeys];
|
|
20
|
+
type _ExcalidrawElementBase = Readonly<{
|
|
21
|
+
id: string;
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
strokeColor: string;
|
|
25
|
+
backgroundColor: string;
|
|
26
|
+
fillStyle: FillStyle;
|
|
27
|
+
strokeWidth: number;
|
|
28
|
+
strokeStyle: StrokeStyle;
|
|
29
|
+
roundness: null | {
|
|
30
|
+
type: RoundnessType;
|
|
31
|
+
value?: number;
|
|
32
|
+
};
|
|
33
|
+
roughness: number;
|
|
34
|
+
opacity: number;
|
|
35
|
+
width: number;
|
|
36
|
+
height: number;
|
|
37
|
+
angle: number;
|
|
38
|
+
/** Random integer used to seed shape generation so that the roughjs shape
|
|
39
|
+
doesn't differ across renders. */
|
|
40
|
+
seed: number;
|
|
41
|
+
/** Integer that is sequentially incremented on each change. Used to reconcile
|
|
42
|
+
elements during collaboration or when saving to server. */
|
|
43
|
+
version: number;
|
|
44
|
+
/** Random integer that is regenerated on each change.
|
|
45
|
+
Used for deterministic reconciliation of updates during collaboration,
|
|
46
|
+
in case the versions (see above) are identical. */
|
|
47
|
+
versionNonce: number;
|
|
48
|
+
isDeleted: boolean;
|
|
49
|
+
/** List of groups the element belongs to.
|
|
50
|
+
Ordered from deepest to shallowest. */
|
|
51
|
+
groupIds: readonly GroupId[];
|
|
52
|
+
frameId: string | null;
|
|
53
|
+
/** other elements that are bound to this element */
|
|
54
|
+
boundElements: readonly Readonly<{
|
|
55
|
+
id: ExcalidrawLinearElement["id"];
|
|
56
|
+
type: "arrow" | "text";
|
|
57
|
+
}>[] | null;
|
|
58
|
+
/** epoch (ms) timestamp of last element update */
|
|
59
|
+
updated: number;
|
|
60
|
+
link: string | null;
|
|
61
|
+
locked: boolean;
|
|
62
|
+
customData?: Record<string, any>;
|
|
63
|
+
}>;
|
|
64
|
+
export type ExcalidrawSelectionElement = _ExcalidrawElementBase & {
|
|
65
|
+
type: "selection";
|
|
66
|
+
};
|
|
67
|
+
export type ExcalidrawRectangleElement = _ExcalidrawElementBase & {
|
|
68
|
+
type: "rectangle";
|
|
69
|
+
};
|
|
70
|
+
export type ExcalidrawDiamondElement = _ExcalidrawElementBase & {
|
|
71
|
+
type: "diamond";
|
|
72
|
+
};
|
|
73
|
+
export type ExcalidrawEllipseElement = _ExcalidrawElementBase & {
|
|
74
|
+
type: "ellipse";
|
|
75
|
+
};
|
|
76
|
+
export type ExcalidrawEmbeddableElement = _ExcalidrawElementBase & Readonly<{
|
|
77
|
+
/**
|
|
78
|
+
* indicates whether the embeddable src (url) has been validated for rendering.
|
|
79
|
+
* nullish value indicates that the validation is pending. We reset the
|
|
80
|
+
* value on each restore (or url change) so that we can guarantee
|
|
81
|
+
* the validation came from a trusted source (the editor). Also because we
|
|
82
|
+
* may not have access to host-app supplied url validator during restore.
|
|
83
|
+
*/
|
|
84
|
+
validated?: boolean;
|
|
85
|
+
type: "embeddable";
|
|
86
|
+
}>;
|
|
87
|
+
export type ExcalidrawImageElement = _ExcalidrawElementBase & Readonly<{
|
|
88
|
+
type: "image";
|
|
89
|
+
fileId: FileId | null;
|
|
90
|
+
/** whether respective file is persisted */
|
|
91
|
+
status: "pending" | "saved" | "error";
|
|
92
|
+
/** X and Y scale factors <-1, 1>, used for image axis flipping */
|
|
93
|
+
scale: [number, number];
|
|
94
|
+
}>;
|
|
95
|
+
export type InitializedExcalidrawImageElement = MarkNonNullable<ExcalidrawImageElement, "fileId">;
|
|
96
|
+
export type ExcalidrawFrameElement = _ExcalidrawElementBase & {
|
|
97
|
+
type: "frame";
|
|
98
|
+
name: string | null;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* These are elements that don't have any additional properties.
|
|
102
|
+
*/
|
|
103
|
+
export type ExcalidrawGenericElement = ExcalidrawSelectionElement | ExcalidrawRectangleElement | ExcalidrawEmbeddableElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement;
|
|
104
|
+
/**
|
|
105
|
+
* ExcalidrawElement should be JSON serializable and (eventually) contain
|
|
106
|
+
* no computed data. The list of all ExcalidrawElements should be shareable
|
|
107
|
+
* between peers and contain no state local to the peer.
|
|
108
|
+
*/
|
|
109
|
+
export type ExcalidrawElement = ExcalidrawGenericElement | ExcalidrawTextElement | ExcalidrawLinearElement | ExcalidrawFreeDrawElement | ExcalidrawImageElement | ExcalidrawFrameElement;
|
|
110
|
+
export type NonDeleted<TElement extends ExcalidrawElement> = TElement & {
|
|
111
|
+
isDeleted: boolean;
|
|
112
|
+
};
|
|
113
|
+
export type NonDeletedExcalidrawElement = NonDeleted<ExcalidrawElement>;
|
|
114
|
+
export type ExcalidrawTextElement = _ExcalidrawElementBase & Readonly<{
|
|
115
|
+
type: "text";
|
|
116
|
+
fontSize: number;
|
|
117
|
+
fontFamily: FontFamilyValues;
|
|
118
|
+
text: string;
|
|
119
|
+
rawText: string;
|
|
120
|
+
baseline: number;
|
|
121
|
+
textAlign: TextAlign;
|
|
122
|
+
verticalAlign: VerticalAlign;
|
|
123
|
+
containerId: ExcalidrawGenericElement["id"] | null;
|
|
124
|
+
originalText: string;
|
|
125
|
+
/**
|
|
126
|
+
* Unitless line height (aligned to W3C). To get line height in px, multiply
|
|
127
|
+
* with font size (using `getLineHeightInPx` helper).
|
|
128
|
+
*/
|
|
129
|
+
lineHeight: number & {
|
|
130
|
+
_brand: "unitlessLineHeight";
|
|
131
|
+
};
|
|
132
|
+
}>;
|
|
133
|
+
export type ExcalidrawBindableElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawTextElement | ExcalidrawImageElement | ExcalidrawEmbeddableElement | ExcalidrawFrameElement;
|
|
134
|
+
export type ExcalidrawTextContainer = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawEllipseElement | ExcalidrawArrowElement;
|
|
135
|
+
export type ExcalidrawTextElementWithContainer = {
|
|
136
|
+
containerId: ExcalidrawTextContainer["id"];
|
|
137
|
+
} & ExcalidrawTextElement;
|
|
138
|
+
export type PointBinding = {
|
|
139
|
+
elementId: ExcalidrawBindableElement["id"];
|
|
140
|
+
focus: number;
|
|
141
|
+
gap: number;
|
|
142
|
+
};
|
|
143
|
+
export type Arrowhead = "arrow" | "bar" | "dot" | "triangle";
|
|
144
|
+
export type ExcalidrawLinearElement = _ExcalidrawElementBase & Readonly<{
|
|
145
|
+
type: "line" | "arrow";
|
|
146
|
+
points: readonly Point[];
|
|
147
|
+
lastCommittedPoint: Point | null;
|
|
148
|
+
startBinding: PointBinding | null;
|
|
149
|
+
endBinding: PointBinding | null;
|
|
150
|
+
startArrowhead: Arrowhead | null;
|
|
151
|
+
endArrowhead: Arrowhead | null;
|
|
152
|
+
}>;
|
|
153
|
+
export type ExcalidrawArrowElement = ExcalidrawLinearElement & Readonly<{
|
|
154
|
+
type: "arrow";
|
|
155
|
+
}>;
|
|
156
|
+
export type ExcalidrawFreeDrawElement = _ExcalidrawElementBase & Readonly<{
|
|
157
|
+
type: "freedraw";
|
|
158
|
+
points: readonly Point[];
|
|
159
|
+
pressures: readonly number[];
|
|
160
|
+
simulatePressure: boolean;
|
|
161
|
+
lastCommittedPoint: Point | null;
|
|
162
|
+
}>;
|
|
163
|
+
export type FileId = string & {
|
|
164
|
+
_brand: "FileId";
|
|
165
|
+
};
|
|
166
|
+
export {};
|
package/types/errors.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
type CANVAS_ERROR_NAMES = "CANVAS_ERROR" | "CANVAS_POSSIBLY_TOO_BIG";
|
|
2
|
-
export declare class CanvasError extends Error {
|
|
3
|
-
constructor(message?: string, name?: CANVAS_ERROR_NAMES);
|
|
4
|
-
}
|
|
5
|
-
export declare class AbortError extends DOMException {
|
|
6
|
-
constructor(message?: string);
|
|
7
|
-
}
|
|
8
|
-
export {};
|
|
1
|
+
type CANVAS_ERROR_NAMES = "CANVAS_ERROR" | "CANVAS_POSSIBLY_TOO_BIG";
|
|
2
|
+
export declare class CanvasError extends Error {
|
|
3
|
+
constructor(message?: string, name?: CANVAS_ERROR_NAMES);
|
|
4
|
+
}
|
|
5
|
+
export declare class AbortError extends DOMException {
|
|
6
|
+
constructor(message?: string);
|
|
7
|
+
}
|
|
8
|
+
export {};
|
package/types/frame.d.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { ExcalidrawElement, ExcalidrawFrameElement, NonDeleted, NonDeletedExcalidrawElement } from "./element/types";
|
|
2
|
-
import { AppState } from "./types";
|
|
3
|
-
import { ExcalidrawElementsIncludingDeleted } from "./scene/Scene";
|
|
4
|
-
export declare const bindElementsToFramesAfterDuplication: (nextElements: ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
|
|
5
|
-
export declare const getElementsCompletelyInFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
|
|
6
|
-
export declare const isElementContainingFrame: (elements: readonly ExcalidrawElement[], element: ExcalidrawElement, frame: ExcalidrawFrameElement) => boolean;
|
|
7
|
-
export declare const getElementsIntersectingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
|
|
8
|
-
export declare const elementsAreInFrameBounds: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => boolean;
|
|
9
|
-
export declare const elementOverlapsWithFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameElement) => boolean;
|
|
10
|
-
export declare const isCursorInFrame: (cursorCoords: {
|
|
11
|
-
x: number;
|
|
12
|
-
y: number;
|
|
13
|
-
}, frame: NonDeleted<ExcalidrawFrameElement>) => boolean;
|
|
14
|
-
export declare const groupsAreAtLeastIntersectingTheFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameElement) => boolean;
|
|
15
|
-
export declare const groupsAreCompletelyOutOfFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameElement) => boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Returns a map of frameId to frame elements. Includes empty frames.
|
|
18
|
-
*/
|
|
19
|
-
export declare const groupByFrames: (elements: readonly ExcalidrawElement[]) => Map<string, ExcalidrawElement[]>;
|
|
20
|
-
export declare const getFrameElements: (allElements: ExcalidrawElementsIncludingDeleted, frameId: string) => ExcalidrawElement[];
|
|
21
|
-
export declare const getElementsInResizingFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
|
|
22
|
-
export declare const getElementsInNewFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement) => ExcalidrawElement[];
|
|
23
|
-
export declare const getContainingFrame: (element: ExcalidrawElement, elementsMap?: Map<string, ExcalidrawElement>) => ExcalidrawFrameElement | null;
|
|
24
|
-
export declare const addElementsToFrame: (allElements: ExcalidrawElementsIncludingDeleted, elementsToAdd: NonDeletedExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
|
|
25
|
-
export declare const removeElementsFromFrame: (allElements: ExcalidrawElementsIncludingDeleted, elementsToRemove: NonDeletedExcalidrawElement[], appState: AppState) => ExcalidrawElement[];
|
|
26
|
-
export declare const removeAllElementsFromFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
|
|
27
|
-
export declare const replaceAllElementsInFrame: (allElements: ExcalidrawElementsIncludingDeleted, nextElementsInFrame: ExcalidrawElement[], frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
|
|
28
|
-
/** does not mutate elements, but return new ones */
|
|
29
|
-
export declare const updateFrameMembershipOfSelectedElements: (allElements: ExcalidrawElementsIncludingDeleted, appState: AppState) => ExcalidrawElementsIncludingDeleted;
|
|
30
|
-
/**
|
|
31
|
-
* filters out elements that are inside groups that contain a frame element
|
|
32
|
-
* anywhere in the group tree
|
|
33
|
-
*/
|
|
34
|
-
export declare const omitGroupsContainingFrames: (allElements: ExcalidrawElementsIncludingDeleted, selectedElements?: readonly ExcalidrawElement[]) => ExcalidrawElement[];
|
|
35
|
-
/**
|
|
36
|
-
* depending on the appState, return target frame, which is the frame the given element
|
|
37
|
-
* is going to be added to or remove from
|
|
38
|
-
*/
|
|
39
|
-
export declare const getTargetFrame: (element: ExcalidrawElement, appState: AppState) => ExcalidrawFrameElement | null;
|
|
40
|
-
export declare const isElementInFrame: (element: ExcalidrawElement, allElements: ExcalidrawElementsIncludingDeleted, appState: AppState) => boolean;
|
|
1
|
+
import { ExcalidrawElement, ExcalidrawFrameElement, NonDeleted, NonDeletedExcalidrawElement } from "./element/types";
|
|
2
|
+
import { AppClassProperties, AppState } from "./types";
|
|
3
|
+
import { ExcalidrawElementsIncludingDeleted } from "./scene/Scene";
|
|
4
|
+
export declare const bindElementsToFramesAfterDuplication: (nextElements: ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
|
|
5
|
+
export declare const getElementsCompletelyInFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
|
|
6
|
+
export declare const isElementContainingFrame: (elements: readonly ExcalidrawElement[], element: ExcalidrawElement, frame: ExcalidrawFrameElement) => boolean;
|
|
7
|
+
export declare const getElementsIntersectingFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
|
|
8
|
+
export declare const elementsAreInFrameBounds: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameElement) => boolean;
|
|
9
|
+
export declare const elementOverlapsWithFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameElement) => boolean;
|
|
10
|
+
export declare const isCursorInFrame: (cursorCoords: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
}, frame: NonDeleted<ExcalidrawFrameElement>) => boolean;
|
|
14
|
+
export declare const groupsAreAtLeastIntersectingTheFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameElement) => boolean;
|
|
15
|
+
export declare const groupsAreCompletelyOutOfFrame: (elements: readonly NonDeletedExcalidrawElement[], groupIds: readonly string[], frame: ExcalidrawFrameElement) => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Returns a map of frameId to frame elements. Includes empty frames.
|
|
18
|
+
*/
|
|
19
|
+
export declare const groupByFrames: (elements: readonly ExcalidrawElement[]) => Map<string, ExcalidrawElement[]>;
|
|
20
|
+
export declare const getFrameElements: (allElements: ExcalidrawElementsIncludingDeleted, frameId: string) => ExcalidrawElement[];
|
|
21
|
+
export declare const getElementsInResizingFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
|
|
22
|
+
export declare const getElementsInNewFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement) => ExcalidrawElement[];
|
|
23
|
+
export declare const getContainingFrame: (element: ExcalidrawElement, elementsMap?: Map<string, ExcalidrawElement>) => ExcalidrawFrameElement | null;
|
|
24
|
+
export declare const addElementsToFrame: (allElements: ExcalidrawElementsIncludingDeleted, elementsToAdd: NonDeletedExcalidrawElement[], frame: ExcalidrawFrameElement) => ExcalidrawElement[];
|
|
25
|
+
export declare const removeElementsFromFrame: (allElements: ExcalidrawElementsIncludingDeleted, elementsToRemove: NonDeletedExcalidrawElement[], appState: AppState) => ExcalidrawElement[];
|
|
26
|
+
export declare const removeAllElementsFromFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
|
|
27
|
+
export declare const replaceAllElementsInFrame: (allElements: ExcalidrawElementsIncludingDeleted, nextElementsInFrame: ExcalidrawElement[], frame: ExcalidrawFrameElement, appState: AppState) => ExcalidrawElement[];
|
|
28
|
+
/** does not mutate elements, but return new ones */
|
|
29
|
+
export declare const updateFrameMembershipOfSelectedElements: (allElements: ExcalidrawElementsIncludingDeleted, appState: AppState, app: AppClassProperties) => ExcalidrawElementsIncludingDeleted;
|
|
30
|
+
/**
|
|
31
|
+
* filters out elements that are inside groups that contain a frame element
|
|
32
|
+
* anywhere in the group tree
|
|
33
|
+
*/
|
|
34
|
+
export declare const omitGroupsContainingFrames: (allElements: ExcalidrawElementsIncludingDeleted, selectedElements?: readonly ExcalidrawElement[]) => ExcalidrawElement[];
|
|
35
|
+
/**
|
|
36
|
+
* depending on the appState, return target frame, which is the frame the given element
|
|
37
|
+
* is going to be added to or remove from
|
|
38
|
+
*/
|
|
39
|
+
export declare const getTargetFrame: (element: ExcalidrawElement, appState: AppState) => ExcalidrawFrameElement | null;
|
|
40
|
+
export declare const isElementInFrame: (element: ExcalidrawElement, allElements: ExcalidrawElementsIncludingDeleted, appState: AppState) => boolean;
|
package/types/ga.d.ts
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This is a 2D Projective Geometric Algebra implementation.
|
|
3
|
-
*
|
|
4
|
-
* For wider context on geometric algebra visit see https://bivector.net.
|
|
5
|
-
*
|
|
6
|
-
* For this specific algebra see cheatsheet https://bivector.net/2DPGA.pdf.
|
|
7
|
-
*
|
|
8
|
-
* Converted from generator written by enki, with a ton of added on top.
|
|
9
|
-
*
|
|
10
|
-
* This library uses 8-vectors to represent points, directions and lines
|
|
11
|
-
* in 2D space.
|
|
12
|
-
*
|
|
13
|
-
* An array `[a, b, c, d, e, f, g, h]` represents a n(8)vector:
|
|
14
|
-
* a + b*e0 + c*e1 + d*e2 + e*e01 + f*e20 + g*e12 + h*e012
|
|
15
|
-
*
|
|
16
|
-
* See GAPoint, GALine, GADirection and GATransform modules for common
|
|
17
|
-
* operations.
|
|
18
|
-
*/
|
|
19
|
-
export type Point = NVector;
|
|
20
|
-
export type Direction = NVector;
|
|
21
|
-
export type Line = NVector;
|
|
22
|
-
export type Transform = NVector;
|
|
23
|
-
export declare const point: (x: number, y: number) => NVector;
|
|
24
|
-
export declare const origin: () => NVector;
|
|
25
|
-
export declare const direction: (x: number, y: number) => NVector;
|
|
26
|
-
export declare const offset: (x: number, y: number) => NVector;
|
|
27
|
-
type NVector = readonly [
|
|
28
|
-
number,
|
|
29
|
-
number,
|
|
30
|
-
number,
|
|
31
|
-
number,
|
|
32
|
-
number,
|
|
33
|
-
number,
|
|
34
|
-
number,
|
|
35
|
-
number
|
|
36
|
-
];
|
|
37
|
-
export declare const nvector: (value?: number, index?: number) => NVector;
|
|
38
|
-
export declare const toString: (nvector: NVector) => string;
|
|
39
|
-
export declare const reverse: (nvector: NVector) => NVector;
|
|
40
|
-
export declare const dual: (nvector: NVector) => NVector;
|
|
41
|
-
export declare const conjugate: (nvector: NVector) => NVector;
|
|
42
|
-
export declare const involute: (nvector: NVector) => NVector;
|
|
43
|
-
export declare const add: (a: NVector, b: NVector | number) => NVector;
|
|
44
|
-
export declare const sub: (a: NVector, b: NVector | number) => NVector;
|
|
45
|
-
export declare const mul: (a: NVector, b: NVector | number) => NVector;
|
|
46
|
-
export declare const mulScalar: (a: NVector, b: NVector) => number;
|
|
47
|
-
export declare const meet: (a: NVector, b: NVector) => NVector;
|
|
48
|
-
export declare const join: (a: NVector, b: NVector) => NVector;
|
|
49
|
-
export declare const joinScalar: (a: NVector, b: NVector) => number;
|
|
50
|
-
export declare const dot: (a: NVector, b: NVector) => NVector;
|
|
51
|
-
export declare const norm: (a: NVector) => number;
|
|
52
|
-
export declare const inorm: (a: NVector) => number;
|
|
53
|
-
export declare const normalized: (a: NVector) => NVector;
|
|
54
|
-
export declare const inormalized: (a: NVector) => NVector;
|
|
55
|
-
export declare const E0: NVector;
|
|
56
|
-
export declare const E1: NVector;
|
|
57
|
-
export declare const E2: NVector;
|
|
58
|
-
export declare const E01: NVector;
|
|
59
|
-
export declare const E20: NVector;
|
|
60
|
-
export declare const E12: NVector;
|
|
61
|
-
export declare const E012: NVector;
|
|
62
|
-
export declare const I: NVector;
|
|
63
|
-
export {};
|
|
1
|
+
/**
|
|
2
|
+
* This is a 2D Projective Geometric Algebra implementation.
|
|
3
|
+
*
|
|
4
|
+
* For wider context on geometric algebra visit see https://bivector.net.
|
|
5
|
+
*
|
|
6
|
+
* For this specific algebra see cheatsheet https://bivector.net/2DPGA.pdf.
|
|
7
|
+
*
|
|
8
|
+
* Converted from generator written by enki, with a ton of added on top.
|
|
9
|
+
*
|
|
10
|
+
* This library uses 8-vectors to represent points, directions and lines
|
|
11
|
+
* in 2D space.
|
|
12
|
+
*
|
|
13
|
+
* An array `[a, b, c, d, e, f, g, h]` represents a n(8)vector:
|
|
14
|
+
* a + b*e0 + c*e1 + d*e2 + e*e01 + f*e20 + g*e12 + h*e012
|
|
15
|
+
*
|
|
16
|
+
* See GAPoint, GALine, GADirection and GATransform modules for common
|
|
17
|
+
* operations.
|
|
18
|
+
*/
|
|
19
|
+
export type Point = NVector;
|
|
20
|
+
export type Direction = NVector;
|
|
21
|
+
export type Line = NVector;
|
|
22
|
+
export type Transform = NVector;
|
|
23
|
+
export declare const point: (x: number, y: number) => NVector;
|
|
24
|
+
export declare const origin: () => NVector;
|
|
25
|
+
export declare const direction: (x: number, y: number) => NVector;
|
|
26
|
+
export declare const offset: (x: number, y: number) => NVector;
|
|
27
|
+
type NVector = readonly [
|
|
28
|
+
number,
|
|
29
|
+
number,
|
|
30
|
+
number,
|
|
31
|
+
number,
|
|
32
|
+
number,
|
|
33
|
+
number,
|
|
34
|
+
number,
|
|
35
|
+
number
|
|
36
|
+
];
|
|
37
|
+
export declare const nvector: (value?: number, index?: number) => NVector;
|
|
38
|
+
export declare const toString: (nvector: NVector) => string;
|
|
39
|
+
export declare const reverse: (nvector: NVector) => NVector;
|
|
40
|
+
export declare const dual: (nvector: NVector) => NVector;
|
|
41
|
+
export declare const conjugate: (nvector: NVector) => NVector;
|
|
42
|
+
export declare const involute: (nvector: NVector) => NVector;
|
|
43
|
+
export declare const add: (a: NVector, b: NVector | number) => NVector;
|
|
44
|
+
export declare const sub: (a: NVector, b: NVector | number) => NVector;
|
|
45
|
+
export declare const mul: (a: NVector, b: NVector | number) => NVector;
|
|
46
|
+
export declare const mulScalar: (a: NVector, b: NVector) => number;
|
|
47
|
+
export declare const meet: (a: NVector, b: NVector) => NVector;
|
|
48
|
+
export declare const join: (a: NVector, b: NVector) => NVector;
|
|
49
|
+
export declare const joinScalar: (a: NVector, b: NVector) => number;
|
|
50
|
+
export declare const dot: (a: NVector, b: NVector) => NVector;
|
|
51
|
+
export declare const norm: (a: NVector) => number;
|
|
52
|
+
export declare const inorm: (a: NVector) => number;
|
|
53
|
+
export declare const normalized: (a: NVector) => NVector;
|
|
54
|
+
export declare const inormalized: (a: NVector) => NVector;
|
|
55
|
+
export declare const E0: NVector;
|
|
56
|
+
export declare const E1: NVector;
|
|
57
|
+
export declare const E2: NVector;
|
|
58
|
+
export declare const E01: NVector;
|
|
59
|
+
export declare const E20: NVector;
|
|
60
|
+
export declare const E12: NVector;
|
|
61
|
+
export declare const E012: NVector;
|
|
62
|
+
export declare const I: NVector;
|
|
63
|
+
export {};
|