@zsviczian/excalidraw 0.15.2-obsidian-10 → 0.15.2-obsidian-12
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 +1710 -1849
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +2 -1
- package/types/actions/actionAddToLibrary.d.ts +440 -441
- package/types/actions/actionAlign.d.ts +96 -97
- package/types/actions/actionBoundText.d.ts +330 -331
- package/types/actions/actionCanvas.d.ts +1844 -1845
- package/types/actions/actionClipboard.d.ts +828 -829
- package/types/actions/actionDeleteSelected.d.ts +474 -475
- package/types/actions/actionDistribute.d.ts +32 -33
- package/types/actions/actionDuplicateSelection.d.ts +21 -22
- package/types/actions/actionElementLock.d.ts +315 -316
- package/types/actions/actionExport.d.ts +1388 -1389
- package/types/actions/actionFinalize.d.ts +298 -299
- package/types/actions/actionFlip.d.ts +32 -33
- package/types/actions/actionFrame.d.ts +489 -490
- package/types/actions/actionGroup.d.ts +44 -45
- package/types/actions/actionHistory.d.ts +6 -6
- package/types/actions/actionLinearEditor.d.ts +157 -158
- package/types/actions/actionMenu.d.ts +478 -479
- package/types/actions/actionNavigate.d.ts +14 -14
- package/types/actions/actionProperties.d.ts +2012 -2013
- package/types/actions/actionSelectAll.d.ts +15 -16
- package/types/actions/actionStyles.d.ts +171 -172
- package/types/actions/actionToggleGridMode.d.ts +160 -161
- package/types/actions/actionToggleLock.d.ts +139 -135
- package/types/actions/actionToggleStats.d.ts +157 -158
- package/types/actions/actionToggleViewMode.d.ts +159 -160
- package/types/actions/actionToggleZenMode.d.ts +159 -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 -45
- package/types/align.d.ts +6 -6
- package/types/analytics.d.ts +1 -1
- package/types/appState.d.ts +81 -81
- package/types/bug-issue-template.d.ts +2 -0
- 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/ActiveFile.d.ts +7 -0
- package/types/components/App.d.ts +288 -288
- package/types/components/Avatar.d.ts +10 -10
- package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +4 -0
- package/types/components/BraveMeasureTextError.d.ts +2 -2
- package/types/components/Button.d.ts +16 -17
- package/types/components/ButtonIconSelect.d.ts +19 -19
- package/types/components/Card.d.ts +6 -7
- package/types/components/CheckboxItem.d.ts +8 -8
- package/types/components/ClearCanvas.d.ts +4 -0
- package/types/components/CollabButton.d.ts +7 -0
- 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 +20 -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 +29 -30
- package/types/components/Dialog.d.ts +13 -13
- package/types/components/DialogActionButton.d.ts +10 -10
- package/types/components/EncryptedIcon.d.ts +2 -0
- package/types/components/ErrorDialog.d.ts +5 -5
- package/types/components/EyeDropper.d.ts +17 -18
- package/types/components/FilledButton.d.ts +17 -17
- package/types/components/FixedSideContainer.d.ts +9 -9
- package/types/components/Footer.d.ts +10 -0
- 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/HelpIcon.d.ts +8 -0
- package/types/components/HintViewer.d.ts +10 -10
- 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 -32
- 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 +17 -18
- package/types/components/LibraryMenuItems.d.ts +14 -14
- package/types/components/LibraryMenuSection.d.ts +22 -22
- package/types/components/LibraryUnit.d.ts +14 -15
- package/types/components/LoadingMessage.d.ts +5 -6
- package/types/components/LockButton.d.ts +10 -10
- package/types/components/MenuItem.d.ts +11 -0
- package/types/components/MenuUtils.d.ts +2 -0
- package/types/components/MobileMenu.d.ts +27 -27
- 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 +8 -9
- package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -10
- package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -7
- package/types/components/Sidebar/SidebarTabs.d.ts +6 -7
- package/types/components/Sidebar/SidebarTrigger.d.ts +6 -6
- package/types/components/Sidebar/common.d.ts +33 -33
- package/types/components/SidebarLockButton.d.ts +8 -0
- 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/TopErrorBoundary.d.ts +15 -0
- package/types/components/Trans.d.ts +9 -9
- package/types/components/UserList.d.ts +8 -8
- package/types/components/WelcomeScreen.d.ts +8 -0
- package/types/components/WelcomeScreenDecor.d.ts +6 -0
- 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 +10 -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 +9 -10
- package/types/components/main-menu/DefaultItems.d.ts +44 -44
- package/types/components/main-menu/MainMenu.d.ts +61 -61
- package/types/components/mainMenu/DefaultItems.d.ts +44 -0
- package/types/components/mainMenu/MainMenu.d.ts +63 -0
- package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +57 -58
- package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
- package/types/components/welcome-screen/WelcomeScreen.d.ts +84 -85
- package/types/constants.d.ts +229 -226
- 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 -7
- package/types/distribute.d.ts +6 -6
- package/types/element/Hyperlink.d.ts +181 -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 +175 -176
- package/types/element/iframe.d.ts +167 -0
- package/types/element/image.d.ts +32 -32
- package/types/element/index.d.ts +21 -21
- package/types/element/linearElementEditor.d.ts +292 -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 +76 -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/excalidraw-app/CustomStats.d.ts +9 -0
- package/types/excalidraw-app/app_constants.d.ts +32 -0
- package/types/excalidraw-app/collab/Collab.d.ts +163 -0
- package/types/excalidraw-app/collab/Portal.d.ts +28 -0
- package/types/excalidraw-app/collab/RoomDialog.d.ts +13 -0
- package/types/excalidraw-app/collab/reconciliation.d.ts +10 -0
- package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +9 -0
- package/types/excalidraw-app/components/LanguageList.d.ts +4 -0
- package/types/excalidraw-app/components/icons.d.ts +1 -0
- package/types/excalidraw-app/data/FileManager.d.ts +66 -0
- package/types/excalidraw-app/data/LocalData.d.ts +32 -0
- package/types/excalidraw-app/data/Locker.d.ts +8 -0
- package/types/excalidraw-app/data/firebase.d.ts +25 -0
- package/types/excalidraw-app/data/index.d.ts +190 -0
- package/types/excalidraw-app/data/localStorage.d.ts +116 -0
- package/types/excalidraw-app/data/tabSync.d.ts +9 -0
- package/types/excalidraw-app/index.d.ts +26 -0
- 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 +19 -20
- package/types/hooks/useScrollPosition.d.ts +1 -2
- package/types/hooks/useTransition.d.ts +2 -2
- package/types/i18n.d.ts +24 -24
- 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 +2 -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/example/sidebar/Sidebar.d.ts +5 -0
- package/types/packages/excalidraw/index.d.ts +38 -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 +80 -69
- package/types/packages/excalidraw/webpack.prod.config.d.ts +95 -78
- package/types/packages/utils.d.ts +43 -43
- 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 -51
- package/types/renderer/roundRect.d.ts +11 -11
- package/types/scene/Fonts.d.ts +21 -21
- package/types/scene/Scene.d.ts +60 -60
- package/types/scene/comparisons.d.ts +10 -10
- package/types/scene/export.d.ts +25 -25
- 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 -501
- package/types/utility-types.d.ts +24 -25
- package/types/utils.d.ts +192 -192
- package/types/zindex.d.ts +6 -6
- package/types/.DS_Store +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* https://stackoverflow.com/a/3368118
|
|
3
|
-
* Draws a rounded rectangle using the current state of the canvas.
|
|
4
|
-
* @param {CanvasRenderingContext2D} context
|
|
5
|
-
* @param {Number} x The top left x coordinate
|
|
6
|
-
* @param {Number} y The top left y coordinate
|
|
7
|
-
* @param {Number} width The width of the rectangle
|
|
8
|
-
* @param {Number} height The height of the rectangle
|
|
9
|
-
* @param {Number} radius The corner radius
|
|
10
|
-
*/
|
|
11
|
-
export declare const roundRect: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, radius: number, strokeColor?: string) => void;
|
|
1
|
+
/**
|
|
2
|
+
* https://stackoverflow.com/a/3368118
|
|
3
|
+
* Draws a rounded rectangle using the current state of the canvas.
|
|
4
|
+
* @param {CanvasRenderingContext2D} context
|
|
5
|
+
* @param {Number} x The top left x coordinate
|
|
6
|
+
* @param {Number} y The top left y coordinate
|
|
7
|
+
* @param {Number} width The width of the rectangle
|
|
8
|
+
* @param {Number} height The height of the rectangle
|
|
9
|
+
* @param {Number} radius The corner radius
|
|
10
|
+
*/
|
|
11
|
+
export declare const roundRect: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, radius: number, strokeColor?: string) => void;
|
package/types/scene/Fonts.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { ExcalidrawElement } from "../element/types";
|
|
2
|
-
import type Scene from "./Scene";
|
|
3
|
-
export declare class Fonts {
|
|
4
|
-
private scene;
|
|
5
|
-
private onSceneUpdated;
|
|
6
|
-
constructor({ scene, onSceneUpdated, }: {
|
|
7
|
-
scene: Scene;
|
|
8
|
-
onSceneUpdated: () => void;
|
|
9
|
-
});
|
|
10
|
-
private static loadedFontFaces;
|
|
11
|
-
/**
|
|
12
|
-
* if we load a (new) font, it's likely that text elements using it have
|
|
13
|
-
* already been rendered using a fallback font. Thus, we want invalidate
|
|
14
|
-
* their shapes and rerender. See #637.
|
|
15
|
-
*
|
|
16
|
-
* Invalidates text elements and rerenders scene, provided that at least one
|
|
17
|
-
* of the supplied fontFaces has not already been processed.
|
|
18
|
-
*/
|
|
19
|
-
onFontsLoaded: (fontFaces: readonly FontFace[]) => false | undefined;
|
|
20
|
-
loadFontsForElements: (elements: readonly ExcalidrawElement[]) => Promise<void>;
|
|
21
|
-
}
|
|
1
|
+
import { ExcalidrawElement } from "../element/types";
|
|
2
|
+
import type Scene from "./Scene";
|
|
3
|
+
export declare class Fonts {
|
|
4
|
+
private scene;
|
|
5
|
+
private onSceneUpdated;
|
|
6
|
+
constructor({ scene, onSceneUpdated, }: {
|
|
7
|
+
scene: Scene;
|
|
8
|
+
onSceneUpdated: () => void;
|
|
9
|
+
});
|
|
10
|
+
private static loadedFontFaces;
|
|
11
|
+
/**
|
|
12
|
+
* if we load a (new) font, it's likely that text elements using it have
|
|
13
|
+
* already been rendered using a fallback font. Thus, we want invalidate
|
|
14
|
+
* their shapes and rerender. See #637.
|
|
15
|
+
*
|
|
16
|
+
* Invalidates text elements and rerenders scene, provided that at least one
|
|
17
|
+
* of the supplied fontFaces has not already been processed.
|
|
18
|
+
*/
|
|
19
|
+
onFontsLoaded: (fontFaces: readonly FontFace[]) => false | undefined;
|
|
20
|
+
loadFontsForElements: (elements: readonly ExcalidrawElement[]) => Promise<void>;
|
|
21
|
+
}
|
package/types/scene/Scene.d.ts
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameElement } from "../element/types";
|
|
2
|
-
import { LinearElementEditor } from "../element/linearElementEditor";
|
|
3
|
-
import { AppState } from "../types";
|
|
4
|
-
type ElementIdKey = InstanceType<typeof LinearElementEditor>["elementId"];
|
|
5
|
-
type ElementKey = ExcalidrawElement | ElementIdKey;
|
|
6
|
-
type SceneStateCallback = () => void;
|
|
7
|
-
type SceneStateCallbackRemover = () => void;
|
|
8
|
-
export type ExcalidrawElementsIncludingDeleted = readonly ExcalidrawElement[];
|
|
9
|
-
declare class Scene {
|
|
10
|
-
private static sceneMapByElement;
|
|
11
|
-
private static sceneMapById;
|
|
12
|
-
static mapElementToScene(elementKey: ElementKey, scene: Scene): void;
|
|
13
|
-
static getScene(elementKey: ElementKey): Scene | null;
|
|
14
|
-
private callbacks;
|
|
15
|
-
private nonDeletedElements;
|
|
16
|
-
private elements;
|
|
17
|
-
private nonDeletedFrames;
|
|
18
|
-
private frames;
|
|
19
|
-
private elementsMap;
|
|
20
|
-
private selectedElementsCache;
|
|
21
|
-
getElementsIncludingDeleted(): readonly ExcalidrawElement[];
|
|
22
|
-
getNonDeletedElements(): readonly NonDeletedExcalidrawElement[];
|
|
23
|
-
getFramesIncludingDeleted(): readonly ExcalidrawFrameElement[];
|
|
24
|
-
getSelectedElements(opts: {
|
|
25
|
-
selectedElementIds: AppState["selectedElementIds"];
|
|
26
|
-
/**
|
|
27
|
-
* for specific cases where you need to use elements not from current
|
|
28
|
-
* scene state. This in effect will likely result in cache-miss, and
|
|
29
|
-
* the cache won't be updated in this case.
|
|
30
|
-
*/
|
|
31
|
-
elements?: readonly ExcalidrawElement[];
|
|
32
|
-
includeBoundTextElement?: boolean;
|
|
33
|
-
includeElementsInFrames?: boolean;
|
|
34
|
-
}): NonDeleted<ExcalidrawElement>[];
|
|
35
|
-
getNonDeletedFrames(): readonly NonDeleted<ExcalidrawFrameElement>[];
|
|
36
|
-
getElement<T extends ExcalidrawElement>(id: T["id"]): T | null;
|
|
37
|
-
getNonDeletedElement(id: ExcalidrawElement["id"]): NonDeleted<ExcalidrawElement> | null;
|
|
38
|
-
/**
|
|
39
|
-
* A utility method to help with updating all scene elements, with the added
|
|
40
|
-
* performance optimization of not renewing the array if no change is made.
|
|
41
|
-
*
|
|
42
|
-
* Maps all current excalidraw elements, invoking the callback for each
|
|
43
|
-
* element. The callback should either return a new mapped element, or the
|
|
44
|
-
* original element if no changes are made. If no changes are made to any
|
|
45
|
-
* element, this results in a no-op. Otherwise, the newly mapped elements
|
|
46
|
-
* are set as the next scene's elements.
|
|
47
|
-
*
|
|
48
|
-
* @returns whether a change was made
|
|
49
|
-
*/
|
|
50
|
-
mapElements(iteratee: (element: ExcalidrawElement) => ExcalidrawElement): boolean;
|
|
51
|
-
replaceAllElements(nextElements: readonly ExcalidrawElement[]): void;
|
|
52
|
-
informMutation(): void;
|
|
53
|
-
addCallback(cb: SceneStateCallback): SceneStateCallbackRemover;
|
|
54
|
-
destroy(): void;
|
|
55
|
-
insertElementAtIndex(element: ExcalidrawElement, index: number): void;
|
|
56
|
-
insertElementsAtIndex(elements: ExcalidrawElement[], index: number): void;
|
|
57
|
-
addNewElement: (element: ExcalidrawElement) => void;
|
|
58
|
-
getElementIndex(elementId: string): number;
|
|
59
|
-
}
|
|
60
|
-
export default Scene;
|
|
1
|
+
import { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameElement } from "../element/types";
|
|
2
|
+
import { LinearElementEditor } from "../element/linearElementEditor";
|
|
3
|
+
import { AppState } from "../types";
|
|
4
|
+
type ElementIdKey = InstanceType<typeof LinearElementEditor>["elementId"];
|
|
5
|
+
type ElementKey = ExcalidrawElement | ElementIdKey;
|
|
6
|
+
type SceneStateCallback = () => void;
|
|
7
|
+
type SceneStateCallbackRemover = () => void;
|
|
8
|
+
export type ExcalidrawElementsIncludingDeleted = readonly ExcalidrawElement[];
|
|
9
|
+
declare class Scene {
|
|
10
|
+
private static sceneMapByElement;
|
|
11
|
+
private static sceneMapById;
|
|
12
|
+
static mapElementToScene(elementKey: ElementKey, scene: Scene): void;
|
|
13
|
+
static getScene(elementKey: ElementKey): Scene | null;
|
|
14
|
+
private callbacks;
|
|
15
|
+
private nonDeletedElements;
|
|
16
|
+
private elements;
|
|
17
|
+
private nonDeletedFrames;
|
|
18
|
+
private frames;
|
|
19
|
+
private elementsMap;
|
|
20
|
+
private selectedElementsCache;
|
|
21
|
+
getElementsIncludingDeleted(): readonly ExcalidrawElement[];
|
|
22
|
+
getNonDeletedElements(): readonly NonDeletedExcalidrawElement[];
|
|
23
|
+
getFramesIncludingDeleted(): readonly ExcalidrawFrameElement[];
|
|
24
|
+
getSelectedElements(opts: {
|
|
25
|
+
selectedElementIds: AppState["selectedElementIds"];
|
|
26
|
+
/**
|
|
27
|
+
* for specific cases where you need to use elements not from current
|
|
28
|
+
* scene state. This in effect will likely result in cache-miss, and
|
|
29
|
+
* the cache won't be updated in this case.
|
|
30
|
+
*/
|
|
31
|
+
elements?: readonly ExcalidrawElement[];
|
|
32
|
+
includeBoundTextElement?: boolean;
|
|
33
|
+
includeElementsInFrames?: boolean;
|
|
34
|
+
}): NonDeleted<ExcalidrawElement>[];
|
|
35
|
+
getNonDeletedFrames(): readonly NonDeleted<ExcalidrawFrameElement>[];
|
|
36
|
+
getElement<T extends ExcalidrawElement>(id: T["id"]): T | null;
|
|
37
|
+
getNonDeletedElement(id: ExcalidrawElement["id"]): NonDeleted<ExcalidrawElement> | null;
|
|
38
|
+
/**
|
|
39
|
+
* A utility method to help with updating all scene elements, with the added
|
|
40
|
+
* performance optimization of not renewing the array if no change is made.
|
|
41
|
+
*
|
|
42
|
+
* Maps all current excalidraw elements, invoking the callback for each
|
|
43
|
+
* element. The callback should either return a new mapped element, or the
|
|
44
|
+
* original element if no changes are made. If no changes are made to any
|
|
45
|
+
* element, this results in a no-op. Otherwise, the newly mapped elements
|
|
46
|
+
* are set as the next scene's elements.
|
|
47
|
+
*
|
|
48
|
+
* @returns whether a change was made
|
|
49
|
+
*/
|
|
50
|
+
mapElements(iteratee: (element: ExcalidrawElement) => ExcalidrawElement): boolean;
|
|
51
|
+
replaceAllElements(nextElements: readonly ExcalidrawElement[]): void;
|
|
52
|
+
informMutation(): void;
|
|
53
|
+
addCallback(cb: SceneStateCallback): SceneStateCallbackRemover;
|
|
54
|
+
destroy(): void;
|
|
55
|
+
insertElementAtIndex(element: ExcalidrawElement, index: number): void;
|
|
56
|
+
insertElementsAtIndex(elements: ExcalidrawElement[], index: number): void;
|
|
57
|
+
addNewElement: (element: ExcalidrawElement) => void;
|
|
58
|
+
getElementIndex(elementId: string): number;
|
|
59
|
+
}
|
|
60
|
+
export default Scene;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
2
|
-
export declare const hasBackground: (type: string) => boolean;
|
|
3
|
-
export declare const hasStrokeColor: (type: string) => boolean;
|
|
4
|
-
export declare const hasStrokeWidth: (type: string) => boolean;
|
|
5
|
-
export declare const hasStrokeStyle: (type: string) => boolean;
|
|
6
|
-
export declare const canChangeRoundness: (type: string) => boolean;
|
|
7
|
-
export declare const hasText: (type: string) => boolean;
|
|
8
|
-
export declare const canHaveArrowheads: (type: string) => boolean;
|
|
9
|
-
export declare const getElementAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement | null;
|
|
10
|
-
export declare const getElementsAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement[];
|
|
1
|
+
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
2
|
+
export declare const hasBackground: (type: string) => boolean;
|
|
3
|
+
export declare const hasStrokeColor: (type: string) => boolean;
|
|
4
|
+
export declare const hasStrokeWidth: (type: string) => boolean;
|
|
5
|
+
export declare const hasStrokeStyle: (type: string) => boolean;
|
|
6
|
+
export declare const canChangeRoundness: (type: string) => boolean;
|
|
7
|
+
export declare const hasText: (type: string) => boolean;
|
|
8
|
+
export declare const canHaveArrowheads: (type: string) => boolean;
|
|
9
|
+
export declare const getElementAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement | null;
|
|
10
|
+
export declare const getElementsAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement[];
|
package/types/scene/export.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
2
|
-
import { AppState, BinaryFiles } from "../types";
|
|
3
|
-
import { serializeAsJSON } from "../data/json";
|
|
4
|
-
export declare const SVG_EXPORT_TAG = "<!-- svg-source:excalidraw -->";
|
|
5
|
-
export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, }: {
|
|
6
|
-
exportBackground: boolean;
|
|
7
|
-
exportPadding?: number | undefined;
|
|
8
|
-
viewBackgroundColor: string;
|
|
9
|
-
}, createCanvas?: (width: number, height: number) => {
|
|
10
|
-
canvas: HTMLCanvasElement;
|
|
11
|
-
scale: number;
|
|
12
|
-
}) => Promise<HTMLCanvasElement>;
|
|
13
|
-
export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElement[], appState: {
|
|
14
|
-
exportBackground: boolean;
|
|
15
|
-
exportPadding?: number;
|
|
16
|
-
exportScale?: number;
|
|
17
|
-
viewBackgroundColor: string;
|
|
18
|
-
exportWithDarkMode?: boolean;
|
|
19
|
-
exportEmbedScene?: boolean;
|
|
20
|
-
renderFrame?: boolean;
|
|
21
|
-
}, files: BinaryFiles | null, opts?: {
|
|
22
|
-
serializeAsJSON?: () => string;
|
|
23
|
-
renderEmbeddables?: boolean;
|
|
24
|
-
}) => Promise<SVGSVGElement>;
|
|
25
|
-
export declare const getExportSize: (elements: readonly NonDeletedExcalidrawElement[], exportPadding: number, scale: number) => [number, number];
|
|
1
|
+
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
2
|
+
import { AppState, BinaryFiles } from "../types";
|
|
3
|
+
import { serializeAsJSON } from "../data/json";
|
|
4
|
+
export declare const SVG_EXPORT_TAG = "<!-- svg-source:excalidraw -->";
|
|
5
|
+
export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, }: {
|
|
6
|
+
exportBackground: boolean;
|
|
7
|
+
exportPadding?: number | undefined;
|
|
8
|
+
viewBackgroundColor: string;
|
|
9
|
+
}, createCanvas?: (width: number, height: number) => {
|
|
10
|
+
canvas: HTMLCanvasElement;
|
|
11
|
+
scale: number;
|
|
12
|
+
}) => Promise<HTMLCanvasElement>;
|
|
13
|
+
export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElement[], appState: {
|
|
14
|
+
exportBackground: boolean;
|
|
15
|
+
exportPadding?: number;
|
|
16
|
+
exportScale?: number;
|
|
17
|
+
viewBackgroundColor: string;
|
|
18
|
+
exportWithDarkMode?: boolean;
|
|
19
|
+
exportEmbedScene?: boolean;
|
|
20
|
+
renderFrame?: boolean;
|
|
21
|
+
}, files: BinaryFiles | null, opts?: {
|
|
22
|
+
serializeAsJSON?: () => string;
|
|
23
|
+
renderEmbeddables?: boolean;
|
|
24
|
+
}) => Promise<SVGSVGElement>;
|
|
25
|
+
export declare const getExportSize: (elements: readonly NonDeletedExcalidrawElement[], exportPadding: number, scale: number) => [number, number];
|
package/types/scene/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { isOverScrollBars } from "./scrollbars";
|
|
2
|
-
export { isSomeElementSelected, getElementsWithinSelection, getCommonAttributeOfSelectedElements, getSelectedElements, getTargetElements, } from "./selection";
|
|
3
|
-
export { calculateScrollCenter } from "./scroll";
|
|
4
|
-
export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, getElementAtPosition, hasText, getElementsAtPosition, } from "./comparisons";
|
|
5
|
-
export { getNormalizedZoom } from "./zoom";
|
|
1
|
+
export { isOverScrollBars } from "./scrollbars";
|
|
2
|
+
export { isSomeElementSelected, getElementsWithinSelection, getCommonAttributeOfSelectedElements, getSelectedElements, getTargetElements, } from "./selection";
|
|
3
|
+
export { calculateScrollCenter } from "./scroll";
|
|
4
|
+
export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, getElementAtPosition, hasText, getElementsAtPosition, } from "./comparisons";
|
|
5
|
+
export { getNormalizedZoom } from "./zoom";
|
package/types/scene/scroll.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { AppState, PointerCoords, Zoom } from "../types";
|
|
2
|
-
import { ExcalidrawElement } from "../element/types";
|
|
3
|
-
export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, }: {
|
|
4
|
-
scenePoint: PointerCoords;
|
|
5
|
-
viewportDimensions: {
|
|
6
|
-
height: number;
|
|
7
|
-
width: number;
|
|
8
|
-
};
|
|
9
|
-
zoom: Zoom;
|
|
10
|
-
}) => {
|
|
11
|
-
scrollX: number;
|
|
12
|
-
scrollY: number;
|
|
13
|
-
};
|
|
14
|
-
export declare const calculateScrollCenter: (elements: readonly ExcalidrawElement[], appState: AppState, canvas: HTMLCanvasElement | null) => {
|
|
15
|
-
scrollX: number;
|
|
16
|
-
scrollY: number;
|
|
17
|
-
};
|
|
1
|
+
import { AppState, PointerCoords, Zoom } from "../types";
|
|
2
|
+
import { ExcalidrawElement } from "../element/types";
|
|
3
|
+
export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, }: {
|
|
4
|
+
scenePoint: PointerCoords;
|
|
5
|
+
viewportDimensions: {
|
|
6
|
+
height: number;
|
|
7
|
+
width: number;
|
|
8
|
+
};
|
|
9
|
+
zoom: Zoom;
|
|
10
|
+
}) => {
|
|
11
|
+
scrollX: number;
|
|
12
|
+
scrollY: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const calculateScrollCenter: (elements: readonly ExcalidrawElement[], appState: AppState, canvas: HTMLCanvasElement | null) => {
|
|
15
|
+
scrollX: number;
|
|
16
|
+
scrollY: number;
|
|
17
|
+
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { ExcalidrawElement } from "../element/types";
|
|
2
|
-
import { Zoom } from "../types";
|
|
3
|
-
import { ScrollBars } from "./types";
|
|
4
|
-
export declare const SCROLLBAR_MARGIN = 4;
|
|
5
|
-
export declare const SCROLLBAR_WIDTH = 6;
|
|
6
|
-
export declare const SCROLLBAR_COLOR = "rgba(128,128,128,0.3)";
|
|
7
|
-
export declare const getScrollBars: (elements: readonly ExcalidrawElement[], viewportWidth: number, viewportHeight: number, { scrollX, scrollY, zoom, }: {
|
|
8
|
-
scrollX: number;
|
|
9
|
-
scrollY: number;
|
|
10
|
-
zoom: Zoom;
|
|
11
|
-
}) => ScrollBars;
|
|
12
|
-
export declare const isOverScrollBars: (scrollBars: ScrollBars, x: number, y: number) => {
|
|
13
|
-
isOverEither: boolean;
|
|
14
|
-
isOverHorizontal: boolean;
|
|
15
|
-
isOverVertical: boolean;
|
|
16
|
-
};
|
|
1
|
+
import { ExcalidrawElement } from "../element/types";
|
|
2
|
+
import { Zoom } from "../types";
|
|
3
|
+
import { ScrollBars } from "./types";
|
|
4
|
+
export declare const SCROLLBAR_MARGIN = 4;
|
|
5
|
+
export declare const SCROLLBAR_WIDTH = 6;
|
|
6
|
+
export declare const SCROLLBAR_COLOR = "rgba(128,128,128,0.3)";
|
|
7
|
+
export declare const getScrollBars: (elements: readonly ExcalidrawElement[], viewportWidth: number, viewportHeight: number, { scrollX, scrollY, zoom, }: {
|
|
8
|
+
scrollX: number;
|
|
9
|
+
scrollY: number;
|
|
10
|
+
zoom: Zoom;
|
|
11
|
+
}) => ScrollBars;
|
|
12
|
+
export declare const isOverScrollBars: (scrollBars: ScrollBars, x: number, y: number) => {
|
|
13
|
+
isOverEither: boolean;
|
|
14
|
+
isOverHorizontal: boolean;
|
|
15
|
+
isOverVertical: boolean;
|
|
16
|
+
};
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { ExcalidrawElement, NonDeletedExcalidrawElement } from "../element/types";
|
|
2
|
-
import { AppState } from "../types";
|
|
3
|
-
/**
|
|
4
|
-
* Frames and their containing elements are not to be selected at the same time.
|
|
5
|
-
* Given an array of selected elements, if there are frames and their containing elements
|
|
6
|
-
* we only keep the frames.
|
|
7
|
-
* @param selectedElements
|
|
8
|
-
*/
|
|
9
|
-
export declare const excludeElementsInFramesFromSelection: <T extends ExcalidrawElement>(selectedElements: readonly T[]) => T[];
|
|
10
|
-
export declare const getElementsWithinSelection: (elements: readonly NonDeletedExcalidrawElement[], selection: NonDeletedExcalidrawElement, excludeElementsInFrames?: boolean) => NonDeletedExcalidrawElement[];
|
|
11
|
-
export declare const isSomeElementSelected: {
|
|
12
|
-
(elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">): boolean;
|
|
13
|
-
clearCache(): void;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Returns common attribute (picked by `getAttribute` callback) of selected
|
|
17
|
-
* elements. If elements don't share the same value, returns `null`.
|
|
18
|
-
*/
|
|
19
|
-
export declare const getCommonAttributeOfSelectedElements: <T>(elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, getAttribute: (element: ExcalidrawElement) => T) => T | null;
|
|
20
|
-
export declare const getSelectedElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, opts?: {
|
|
21
|
-
includeBoundTextElement?: boolean;
|
|
22
|
-
includeElementsInFrames?: boolean;
|
|
23
|
-
}) => ExcalidrawElement[];
|
|
24
|
-
export declare const getTargetElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds" | "editingElement">) => ExcalidrawElement[];
|
|
25
|
-
/**
|
|
26
|
-
* returns prevState's selectedElementids if no change from previous, so as to
|
|
27
|
-
* retain reference identity for memoization
|
|
28
|
-
*/
|
|
29
|
-
export declare const makeNextSelectedElementIds: (nextSelectedElementIds: AppState["selectedElementIds"], prevState: Pick<AppState, "selectedElementIds">) => Readonly<{
|
|
30
|
-
[id: string]: true;
|
|
31
|
-
}>;
|
|
1
|
+
import { ExcalidrawElement, NonDeletedExcalidrawElement } from "../element/types";
|
|
2
|
+
import { AppState } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Frames and their containing elements are not to be selected at the same time.
|
|
5
|
+
* Given an array of selected elements, if there are frames and their containing elements
|
|
6
|
+
* we only keep the frames.
|
|
7
|
+
* @param selectedElements
|
|
8
|
+
*/
|
|
9
|
+
export declare const excludeElementsInFramesFromSelection: <T extends ExcalidrawElement>(selectedElements: readonly T[]) => T[];
|
|
10
|
+
export declare const getElementsWithinSelection: (elements: readonly NonDeletedExcalidrawElement[], selection: NonDeletedExcalidrawElement, excludeElementsInFrames?: boolean) => NonDeletedExcalidrawElement[];
|
|
11
|
+
export declare const isSomeElementSelected: {
|
|
12
|
+
(elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">): boolean;
|
|
13
|
+
clearCache(): void;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Returns common attribute (picked by `getAttribute` callback) of selected
|
|
17
|
+
* elements. If elements don't share the same value, returns `null`.
|
|
18
|
+
*/
|
|
19
|
+
export declare const getCommonAttributeOfSelectedElements: <T>(elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, getAttribute: (element: ExcalidrawElement) => T) => T | null;
|
|
20
|
+
export declare const getSelectedElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, opts?: {
|
|
21
|
+
includeBoundTextElement?: boolean;
|
|
22
|
+
includeElementsInFrames?: boolean;
|
|
23
|
+
}) => ExcalidrawElement[];
|
|
24
|
+
export declare const getTargetElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds" | "editingElement">) => ExcalidrawElement[];
|
|
25
|
+
/**
|
|
26
|
+
* returns prevState's selectedElementids if no change from previous, so as to
|
|
27
|
+
* retain reference identity for memoization
|
|
28
|
+
*/
|
|
29
|
+
export declare const makeNextSelectedElementIds: (nextSelectedElementIds: AppState["selectedElementIds"], prevState: Pick<AppState, "selectedElementIds">) => Readonly<{
|
|
30
|
+
[id: string]: true;
|
|
31
|
+
}>;
|
package/types/scene/types.d.ts
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import { ExcalidrawTextElement } from "../element/types";
|
|
2
|
-
import { AppClassProperties, AppState } from "../types";
|
|
3
|
-
export type RenderConfig = {
|
|
4
|
-
scrollX: AppState["scrollX"];
|
|
5
|
-
scrollY: AppState["scrollY"];
|
|
6
|
-
/** null indicates transparent bg */
|
|
7
|
-
viewBackgroundColor: AppState["viewBackgroundColor"] | null;
|
|
8
|
-
zoom: AppState["zoom"];
|
|
9
|
-
shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
|
|
10
|
-
theme: AppState["theme"];
|
|
11
|
-
remotePointerViewportCoords: {
|
|
12
|
-
[id: string]: {
|
|
13
|
-
x: number;
|
|
14
|
-
y: number;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
remotePointerButton?: {
|
|
18
|
-
[id: string]: string | undefined;
|
|
19
|
-
};
|
|
20
|
-
remoteSelectedElementIds: {
|
|
21
|
-
[elementId: string]: string[];
|
|
22
|
-
};
|
|
23
|
-
remotePointerUsernames: {
|
|
24
|
-
[id: string]: string;
|
|
25
|
-
};
|
|
26
|
-
remotePointerUserStates: {
|
|
27
|
-
[id: string]: string;
|
|
28
|
-
};
|
|
29
|
-
imageCache: AppClassProperties["imageCache"];
|
|
30
|
-
renderScrollbars?: boolean;
|
|
31
|
-
renderSelection?: boolean;
|
|
32
|
-
renderGrid?: boolean;
|
|
33
|
-
/** when exporting the behavior is slightly different (e.g. we can't use
|
|
34
|
-
CSS filters), and we disable render optimizations for best output */
|
|
35
|
-
isExporting: boolean;
|
|
36
|
-
selectionColor?: string;
|
|
37
|
-
};
|
|
38
|
-
export type SceneScroll = {
|
|
39
|
-
scrollX: number;
|
|
40
|
-
scrollY: number;
|
|
41
|
-
};
|
|
42
|
-
export interface Scene {
|
|
43
|
-
elements: ExcalidrawTextElement[];
|
|
44
|
-
}
|
|
45
|
-
export type ExportType = "png" | "clipboard" | "clipboard-svg" | "backend" | "svg";
|
|
46
|
-
export type ScrollBars = {
|
|
47
|
-
horizontal: {
|
|
48
|
-
x: number;
|
|
49
|
-
y: number;
|
|
50
|
-
width: number;
|
|
51
|
-
height: number;
|
|
52
|
-
} | null;
|
|
53
|
-
vertical: {
|
|
54
|
-
x: number;
|
|
55
|
-
y: number;
|
|
56
|
-
width: number;
|
|
57
|
-
height: number;
|
|
58
|
-
} | null;
|
|
59
|
-
};
|
|
1
|
+
import { ExcalidrawTextElement } from "../element/types";
|
|
2
|
+
import { AppClassProperties, AppState } from "../types";
|
|
3
|
+
export type RenderConfig = {
|
|
4
|
+
scrollX: AppState["scrollX"];
|
|
5
|
+
scrollY: AppState["scrollY"];
|
|
6
|
+
/** null indicates transparent bg */
|
|
7
|
+
viewBackgroundColor: AppState["viewBackgroundColor"] | null;
|
|
8
|
+
zoom: AppState["zoom"];
|
|
9
|
+
shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
|
|
10
|
+
theme: AppState["theme"];
|
|
11
|
+
remotePointerViewportCoords: {
|
|
12
|
+
[id: string]: {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
remotePointerButton?: {
|
|
18
|
+
[id: string]: string | undefined;
|
|
19
|
+
};
|
|
20
|
+
remoteSelectedElementIds: {
|
|
21
|
+
[elementId: string]: string[];
|
|
22
|
+
};
|
|
23
|
+
remotePointerUsernames: {
|
|
24
|
+
[id: string]: string;
|
|
25
|
+
};
|
|
26
|
+
remotePointerUserStates: {
|
|
27
|
+
[id: string]: string;
|
|
28
|
+
};
|
|
29
|
+
imageCache: AppClassProperties["imageCache"];
|
|
30
|
+
renderScrollbars?: boolean;
|
|
31
|
+
renderSelection?: boolean;
|
|
32
|
+
renderGrid?: boolean;
|
|
33
|
+
/** when exporting the behavior is slightly different (e.g. we can't use
|
|
34
|
+
CSS filters), and we disable render optimizations for best output */
|
|
35
|
+
isExporting: boolean;
|
|
36
|
+
selectionColor?: string;
|
|
37
|
+
};
|
|
38
|
+
export type SceneScroll = {
|
|
39
|
+
scrollX: number;
|
|
40
|
+
scrollY: number;
|
|
41
|
+
};
|
|
42
|
+
export interface Scene {
|
|
43
|
+
elements: ExcalidrawTextElement[];
|
|
44
|
+
}
|
|
45
|
+
export type ExportType = "png" | "clipboard" | "clipboard-svg" | "backend" | "svg";
|
|
46
|
+
export type ScrollBars = {
|
|
47
|
+
horizontal: {
|
|
48
|
+
x: number;
|
|
49
|
+
y: number;
|
|
50
|
+
width: number;
|
|
51
|
+
height: number;
|
|
52
|
+
} | null;
|
|
53
|
+
vertical: {
|
|
54
|
+
x: number;
|
|
55
|
+
y: number;
|
|
56
|
+
width: number;
|
|
57
|
+
height: number;
|
|
58
|
+
} | null;
|
|
59
|
+
};
|
package/types/scene/zoom.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { AppState, NormalizedZoomValue } from "../types";
|
|
2
|
-
export declare const getNormalizedZoom: (zoom: number) => NormalizedZoomValue;
|
|
3
|
-
export declare const getStateForZoom: ({ viewportX, viewportY, nextZoom, }: {
|
|
4
|
-
viewportX: number;
|
|
5
|
-
viewportY: number;
|
|
6
|
-
nextZoom: NormalizedZoomValue;
|
|
7
|
-
}, appState: AppState) => {
|
|
8
|
-
scrollX: number;
|
|
9
|
-
scrollY: number;
|
|
10
|
-
zoom: {
|
|
11
|
-
value: NormalizedZoomValue;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
1
|
+
import { AppState, NormalizedZoomValue } from "../types";
|
|
2
|
+
export declare const getNormalizedZoom: (zoom: number) => NormalizedZoomValue;
|
|
3
|
+
export declare const getStateForZoom: ({ viewportX, viewportY, nextZoom, }: {
|
|
4
|
+
viewportX: number;
|
|
5
|
+
viewportY: number;
|
|
6
|
+
nextZoom: NormalizedZoomValue;
|
|
7
|
+
}, appState: AppState) => {
|
|
8
|
+
scrollX: number;
|
|
9
|
+
scrollY: number;
|
|
10
|
+
zoom: {
|
|
11
|
+
value: NormalizedZoomValue;
|
|
12
|
+
};
|
|
13
|
+
};
|