@excalidraw/excalidraw 0.17.1-7500-ac247a0 → 0.17.1-b7babe5
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/CHANGELOG.md +56 -2
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-2W5GQUR4.js → chunk-6NMK7JTV.js} +13 -6
- package/dist/browser/dev/excalidraw-assets-dev/chunk-6NMK7JTV.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/chunk-CX3RATXT.js +20324 -0
- package/dist/browser/dev/excalidraw-assets-dev/chunk-CX3RATXT.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{en-OC6JWP3X.js → en-BZY7JRTM.js} +4 -2
- package/dist/browser/dev/excalidraw-assets-dev/{image-5TVMINCA.js → image-CVN3YKRW.js} +2 -4
- package/dist/browser/dev/excalidraw-assets-dev/image-LK4UNFRZ.css +6 -0
- package/dist/browser/dev/excalidraw-assets-dev/image-LK4UNFRZ.css.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/roundRect-T5BX56ZF.js +161 -0
- package/dist/browser/dev/excalidraw-assets-dev/roundRect-T5BX56ZF.js.map +7 -0
- package/dist/browser/dev/index.css +189 -129
- package/dist/browser/dev/index.css.map +3 -3
- package/dist/browser/dev/index.js +34964 -37
- package/dist/browser/dev/index.js.map +4 -4
- package/dist/browser/prod/excalidraw-assets/chunk-VJAIK3AX.js +55 -0
- package/dist/browser/prod/excalidraw-assets/chunk-YYO5DFUW.js +11 -0
- package/dist/browser/prod/excalidraw-assets/en-O2YCQM2W.js +1 -0
- package/dist/browser/prod/excalidraw-assets/image-6FKY54X5.js +1 -0
- package/dist/browser/prod/excalidraw-assets/image-X66R2EM5.css +1 -0
- package/dist/browser/prod/excalidraw-assets/roundRect-2ACQK4DA.js +1 -0
- package/dist/browser/prod/index.css +1 -1
- package/dist/browser/prod/index.js +203 -1
- package/dist/{prod/en-RLIAOBCI.json → dev/en-EY7E2L5O.json} +10 -5
- package/dist/dev/index.css +189 -129
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +38702 -39409
- package/dist/dev/index.js.map +4 -4
- package/dist/excalidraw/actions/actionAddToLibrary.d.ts +15 -15
- package/dist/excalidraw/actions/actionAlign.d.ts +6 -6
- package/dist/excalidraw/actions/actionAlign.js +2 -1
- package/dist/excalidraw/actions/actionBoundText.d.ts +10 -10
- package/dist/excalidraw/actions/actionBoundText.js +8 -8
- package/dist/excalidraw/actions/actionCanvas.d.ts +58 -58
- package/dist/excalidraw/actions/actionClipboard.d.ts +34 -34
- package/dist/excalidraw/actions/actionClipboard.js +9 -2
- package/dist/excalidraw/actions/actionDeleteSelected.d.ts +15 -15
- package/dist/excalidraw/actions/actionDeleteSelected.js +3 -2
- package/dist/excalidraw/actions/actionDistribute.d.ts +2 -2
- package/dist/excalidraw/actions/actionDistribute.js +1 -1
- package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +1 -1
- package/dist/excalidraw/actions/actionDuplicateSelection.js +4 -3
- package/dist/excalidraw/actions/actionElementLock.d.ts +10 -10
- package/dist/excalidraw/actions/actionExport.d.ts +43 -43
- package/dist/excalidraw/actions/actionExport.js +4 -4
- package/dist/excalidraw/actions/actionFinalize.d.ts +9 -9
- package/dist/excalidraw/actions/actionFinalize.js +7 -6
- package/dist/excalidraw/actions/actionFlip.d.ts +2 -2
- package/dist/excalidraw/actions/actionFlip.js +11 -11
- package/dist/excalidraw/actions/actionFrame.d.ts +16 -16
- package/dist/excalidraw/actions/actionFrame.js +1 -1
- package/dist/excalidraw/actions/actionGroup.d.ts +10 -10
- package/dist/excalidraw/actions/actionGroup.js +3 -2
- package/dist/excalidraw/actions/actionLinearEditor.d.ts +5 -5
- package/dist/excalidraw/actions/actionLinearEditor.js +1 -1
- package/dist/excalidraw/{element/Hyperlink.d.ts → actions/actionLink.d.ts} +29 -51
- package/dist/excalidraw/actions/actionLink.js +40 -0
- package/dist/excalidraw/actions/actionMenu.d.ts +13 -13
- package/dist/excalidraw/actions/actionNavigate.d.ts +10 -10
- package/dist/excalidraw/actions/actionNavigate.js +1 -1
- package/dist/excalidraw/actions/actionProperties.d.ts +77 -77
- package/dist/excalidraw/actions/actionProperties.js +32 -27
- package/dist/excalidraw/actions/actionSelectAll.d.ts +5 -5
- package/dist/excalidraw/actions/actionSelectAll.js +1 -1
- package/dist/excalidraw/actions/actionStyles.d.ts +7 -7
- package/dist/excalidraw/actions/actionStyles.js +4 -4
- package/dist/excalidraw/actions/actionToggleGridMode.d.ts +5 -5
- package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +5 -5
- package/dist/excalidraw/actions/actionToggleStats.d.ts +5 -5
- package/dist/excalidraw/actions/actionToggleViewMode.d.ts +5 -5
- package/dist/excalidraw/actions/actionToggleZenMode.d.ts +5 -5
- package/dist/excalidraw/actions/index.d.ts +1 -1
- package/dist/excalidraw/actions/index.js +1 -1
- package/dist/excalidraw/actions/manager.js +2 -1
- package/dist/excalidraw/align.d.ts +2 -2
- package/dist/excalidraw/align.js +2 -2
- package/dist/excalidraw/animated-trail.d.ts +33 -0
- package/dist/excalidraw/animated-trail.js +96 -0
- package/dist/excalidraw/animation-frame-handler.d.ts +16 -0
- package/dist/excalidraw/animation-frame-handler.js +55 -0
- package/dist/excalidraw/appState.d.ts +1 -1
- package/dist/excalidraw/appState.js +1 -3
- package/dist/excalidraw/clipboard.js +5 -5
- package/dist/excalidraw/components/Actions.d.ts +3 -3
- package/dist/excalidraw/components/Actions.js +18 -7
- package/dist/excalidraw/components/App.d.ts +23 -16
- package/dist/excalidraw/components/App.js +387 -272
- package/dist/excalidraw/components/Button.d.ts +1 -1
- package/dist/excalidraw/components/FilledButton.d.ts +2 -2
- package/dist/excalidraw/components/FilledButton.js +27 -3
- package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
- package/dist/excalidraw/components/ImageExportDialog.d.ts +2 -1
- package/dist/excalidraw/components/ImageExportDialog.js +17 -13
- package/dist/excalidraw/components/JSONExportDialog.js +1 -1
- package/dist/excalidraw/components/{LaserTool/LaserPointerButton.d.ts → LaserPointerButton.d.ts} +1 -1
- package/dist/excalidraw/components/{LaserTool/LaserPointerButton.js → LaserPointerButton.js} +2 -2
- package/dist/excalidraw/components/LayerUI.js +3 -3
- package/dist/excalidraw/components/MobileMenu.js +1 -1
- package/dist/excalidraw/components/ProjectName.d.ts +0 -1
- package/dist/excalidraw/components/ProjectName.js +1 -1
- package/dist/excalidraw/components/PublishLibrary.js +1 -1
- package/dist/excalidraw/components/SVGLayer.d.ts +8 -0
- package/dist/excalidraw/components/SVGLayer.js +20 -0
- package/dist/excalidraw/components/ShareableLinkDialog.js +10 -10
- package/dist/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
- package/dist/excalidraw/components/Stack.d.ts +2 -2
- package/dist/excalidraw/components/TTDDialog/common.js +10 -1
- package/dist/excalidraw/components/TextField.d.ts +5 -2
- package/dist/excalidraw/components/TextField.js +6 -3
- package/dist/excalidraw/components/Toast.d.ts +3 -2
- package/dist/excalidraw/components/Toast.js +2 -2
- package/dist/excalidraw/components/ToolButton.js +2 -1
- package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +2 -2
- package/dist/excalidraw/components/canvases/InteractiveCanvas.js +6 -5
- package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +4 -3
- package/dist/excalidraw/components/canvases/StaticCanvas.js +7 -5
- package/dist/excalidraw/components/dropdownMenu/DropdownMenuContent.js +22 -2
- package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -0
- package/dist/excalidraw/{element → components/hyperlink}/Hyperlink.js +40 -115
- package/dist/excalidraw/components/hyperlink/helpers.d.ts +7 -0
- package/dist/excalidraw/components/hyperlink/helpers.js +49 -0
- package/dist/excalidraw/components/icons.d.ts +2 -1
- package/dist/excalidraw/components/icons.js +2 -1
- package/dist/excalidraw/components/live-collaboration/LiveCollaborationTrigger.js +3 -2
- package/dist/excalidraw/components/main-menu/DefaultItems.js +5 -2
- package/dist/excalidraw/constants.d.ts +6 -0
- package/dist/excalidraw/constants.js +6 -0
- package/dist/excalidraw/data/blob.js +13 -14
- package/dist/excalidraw/data/filesystem.d.ts +1 -1
- package/dist/excalidraw/data/index.d.ts +2 -1
- package/dist/excalidraw/data/index.js +20 -16
- package/dist/excalidraw/data/json.d.ts +1 -1
- package/dist/excalidraw/data/json.js +5 -3
- package/dist/excalidraw/data/library.d.ts +60 -8
- package/dist/excalidraw/data/library.js +302 -33
- package/dist/excalidraw/data/resave.d.ts +1 -1
- package/dist/excalidraw/data/resave.js +2 -2
- package/dist/excalidraw/data/restore.js +8 -13
- package/dist/excalidraw/data/transform.js +13 -9
- package/dist/excalidraw/distribute.d.ts +2 -2
- package/dist/excalidraw/distribute.js +2 -2
- package/dist/excalidraw/element/ElementCanvasButtons.d.ts +3 -2
- package/dist/excalidraw/element/ElementCanvasButtons.js +4 -4
- package/dist/excalidraw/element/binding.d.ts +9 -9
- package/dist/excalidraw/element/binding.js +61 -59
- package/dist/excalidraw/element/bounds.d.ts +5 -5
- package/dist/excalidraw/element/bounds.js +29 -32
- package/dist/excalidraw/element/collision.d.ts +11 -11
- package/dist/excalidraw/element/collision.js +49 -46
- package/dist/excalidraw/element/containerCache.d.ts +11 -0
- package/dist/excalidraw/element/containerCache.js +14 -0
- package/dist/excalidraw/element/dragElements.js +10 -19
- package/dist/excalidraw/element/embeddable.d.ts +12 -13
- package/dist/excalidraw/element/embeddable.js +17 -27
- package/dist/excalidraw/element/image.js +1 -2
- package/dist/excalidraw/element/index.d.ts +8 -1
- package/dist/excalidraw/element/index.js +23 -1
- package/dist/excalidraw/element/linearElementEditor.d.ts +36 -36
- package/dist/excalidraw/element/linearElementEditor.js +79 -80
- package/dist/excalidraw/element/newElement.d.ts +4 -6
- package/dist/excalidraw/element/newElement.js +11 -16
- package/dist/excalidraw/element/resizeElements.d.ts +6 -6
- package/dist/excalidraw/element/resizeElements.js +40 -46
- package/dist/excalidraw/element/resizeTest.d.ts +3 -3
- package/dist/excalidraw/element/resizeTest.js +4 -4
- package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
- package/dist/excalidraw/element/sizeHelpers.js +2 -2
- package/dist/excalidraw/element/textElement.d.ts +34 -21
- package/dist/excalidraw/element/textElement.js +87 -111
- package/dist/excalidraw/element/textWysiwyg.d.ts +1 -6
- package/dist/excalidraw/element/textWysiwyg.js +15 -37
- package/dist/excalidraw/element/transformHandles.d.ts +4 -4
- package/dist/excalidraw/element/transformHandles.js +6 -6
- package/dist/excalidraw/element/typeChecks.js +4 -1
- package/dist/excalidraw/element/types.d.ts +24 -11
- package/dist/excalidraw/frame.d.ts +26 -20
- package/dist/excalidraw/frame.js +157 -84
- package/dist/excalidraw/groups.d.ts +3 -3
- package/dist/excalidraw/groups.js +11 -3
- package/dist/excalidraw/history.d.ts +1 -1
- package/dist/excalidraw/hooks/useLibraryItemSvg.js +1 -1
- package/dist/excalidraw/index.d.ts +9 -10
- package/dist/excalidraw/index.js +16 -12
- package/dist/excalidraw/laser-trails.d.ts +19 -0
- package/dist/excalidraw/laser-trails.js +95 -0
- package/dist/excalidraw/locales/en.json +10 -5
- package/dist/excalidraw/queue.d.ts +9 -0
- package/dist/excalidraw/queue.js +27 -0
- package/dist/excalidraw/reactUtils.d.ts +14 -0
- package/dist/excalidraw/reactUtils.js +45 -0
- package/dist/excalidraw/renderer/helpers.d.ts +13 -0
- package/dist/excalidraw/renderer/helpers.js +39 -0
- package/dist/excalidraw/renderer/interactiveScene.d.ts +20 -0
- package/dist/excalidraw/renderer/{renderScene.js → interactiveScene.js} +199 -474
- package/dist/excalidraw/renderer/renderElement.d.ts +6 -6
- package/dist/excalidraw/renderer/renderElement.js +54 -366
- package/dist/excalidraw/renderer/staticScene.d.ts +11 -0
- package/dist/excalidraw/renderer/staticScene.js +205 -0
- package/dist/excalidraw/renderer/staticSvgScene.d.ts +5 -0
- package/dist/excalidraw/renderer/staticSvgScene.js +385 -0
- package/dist/excalidraw/scene/Fonts.js +2 -1
- package/dist/excalidraw/scene/Renderer.d.ts +1 -1
- package/dist/excalidraw/scene/Renderer.js +32 -20
- package/dist/excalidraw/scene/Scene.d.ts +10 -9
- package/dist/excalidraw/scene/Scene.js +45 -21
- package/dist/excalidraw/scene/Shape.d.ts +3 -1
- package/dist/excalidraw/scene/Shape.js +7 -5
- package/dist/excalidraw/scene/ShapeCache.d.ts +2 -1
- package/dist/excalidraw/scene/ShapeCache.js +1 -0
- package/dist/excalidraw/scene/comparisons.js +2 -1
- package/dist/excalidraw/scene/export.d.ts +3 -0
- package/dist/excalidraw/scene/export.js +20 -40
- package/dist/excalidraw/scene/index.d.ts +0 -1
- package/dist/excalidraw/scene/index.js +0 -1
- package/dist/excalidraw/scene/scrollbars.d.ts +1 -1
- package/dist/excalidraw/scene/scrollbars.js +1 -1
- package/dist/excalidraw/scene/selection.d.ts +5 -5
- package/dist/excalidraw/scene/selection.js +16 -14
- package/dist/excalidraw/scene/types.d.ts +11 -5
- package/dist/excalidraw/snapping.d.ts +7 -7
- package/dist/excalidraw/snapping.js +21 -20
- package/dist/excalidraw/types.d.ts +16 -17
- package/dist/excalidraw/utility-types.d.ts +7 -0
- package/dist/excalidraw/utils.d.ts +21 -16
- package/dist/excalidraw/utils.js +43 -45
- package/dist/{dev/en-RLIAOBCI.json → prod/en-EY7E2L5O.json} +10 -5
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +42 -42
- package/dist/utils/bbox.d.ts +2 -2
- package/dist/utils/export.d.ts +3 -3
- package/dist/utils/export.js +3 -13
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.js +2 -2
- package/dist/utils/withinBounds.d.ts +1 -1
- package/dist/utils/withinBounds.js +5 -2
- package/package.json +4 -4
- package/dist/browser/dev/excalidraw-assets-dev/chunk-2W5GQUR4.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/chunk-KGZXLFLR.js +0 -53497
- package/dist/browser/dev/excalidraw-assets-dev/chunk-KGZXLFLR.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/image-3MFRCKYM.css +0 -5797
- package/dist/browser/dev/excalidraw-assets-dev/image-3MFRCKYM.css.map +0 -7
- package/dist/browser/prod/excalidraw-assets/chunk-4YN2HN3S.js +0 -257
- package/dist/browser/prod/excalidraw-assets/chunk-OWLL6VOG.js +0 -11
- package/dist/browser/prod/excalidraw-assets/en-ERQOR3OC.js +0 -1
- package/dist/browser/prod/excalidraw-assets/image-LTLHTTSE.js +0 -1
- package/dist/browser/prod/excalidraw-assets/image-QBL334OA.css +0 -1
- package/dist/excalidraw/components/LaserTool/LaserPathManager.d.ts +0 -28
- package/dist/excalidraw/components/LaserTool/LaserPathManager.js +0 -225
- package/dist/excalidraw/components/LaserTool/LaserTool.d.ts +0 -8
- package/dist/excalidraw/components/LaserTool/LaserTool.js +0 -15
- package/dist/excalidraw/renderer/renderScene.d.ts +0 -25
- package/dist/excalidraw/vite.config.d.mts +0 -2
- package/dist/excalidraw/vite.config.mjs +0 -13
- /package/dist/browser/dev/excalidraw-assets-dev/{en-OC6JWP3X.js.map → en-BZY7JRTM.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{image-5TVMINCA.js.map → image-CVN3YKRW.js.map} +0 -0
|
@@ -17,7 +17,7 @@ export declare const actionChangeProjectName: {
|
|
|
17
17
|
errorMessage: import("react").ReactNode;
|
|
18
18
|
activeEmbeddable: {
|
|
19
19
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
20
|
-
state: "
|
|
20
|
+
state: "hover" | "active";
|
|
21
21
|
} | null;
|
|
22
22
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
23
23
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -77,14 +77,14 @@ export declare const actionChangeProjectName: {
|
|
|
77
77
|
tab?: string | undefined;
|
|
78
78
|
} | null;
|
|
79
79
|
openDialog: {
|
|
80
|
-
name: "
|
|
80
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
81
81
|
} | {
|
|
82
82
|
name: "settings";
|
|
83
83
|
source: "settings" | "tool" | "generation";
|
|
84
84
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
85
85
|
} | {
|
|
86
86
|
name: "ttd";
|
|
87
|
-
tab: "
|
|
87
|
+
tab: "text-to-diagram" | "mermaid";
|
|
88
88
|
} | null;
|
|
89
89
|
defaultSidebarDockedPreference: boolean;
|
|
90
90
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -141,7 +141,7 @@ export declare const actionChangeProjectName: {
|
|
|
141
141
|
data: import("../charts").Spreadsheet;
|
|
142
142
|
};
|
|
143
143
|
pendingImageElementId: string | null;
|
|
144
|
-
showHyperlinkPopup: false | "
|
|
144
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
145
145
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
146
146
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
147
147
|
originSnapOffset: {
|
|
@@ -154,7 +154,7 @@ export declare const actionChangeProjectName: {
|
|
|
154
154
|
};
|
|
155
155
|
commitToHistory: false;
|
|
156
156
|
};
|
|
157
|
-
PanelComponent: ({ appState, updateData, appProps, data }: import("./types").PanelComponentProps) => JSX.Element;
|
|
157
|
+
PanelComponent: ({ appState, updateData, appProps, data, app }: import("./types").PanelComponentProps) => JSX.Element;
|
|
158
158
|
} & {
|
|
159
159
|
keyTest?: undefined;
|
|
160
160
|
};
|
|
@@ -177,7 +177,7 @@ export declare const actionChangeExportScale: {
|
|
|
177
177
|
errorMessage: import("react").ReactNode;
|
|
178
178
|
activeEmbeddable: {
|
|
179
179
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
180
|
-
state: "
|
|
180
|
+
state: "hover" | "active";
|
|
181
181
|
} | null;
|
|
182
182
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
183
183
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -224,7 +224,7 @@ export declare const actionChangeExportScale: {
|
|
|
224
224
|
scrollY: number;
|
|
225
225
|
cursorButton: "up" | "down";
|
|
226
226
|
scrolledOutside: boolean;
|
|
227
|
-
name: string;
|
|
227
|
+
name: string | null;
|
|
228
228
|
isResizing: boolean;
|
|
229
229
|
isRotating: boolean;
|
|
230
230
|
zoom: Readonly<{
|
|
@@ -237,14 +237,14 @@ export declare const actionChangeExportScale: {
|
|
|
237
237
|
tab?: string | undefined;
|
|
238
238
|
} | null;
|
|
239
239
|
openDialog: {
|
|
240
|
-
name: "
|
|
240
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
241
241
|
} | {
|
|
242
242
|
name: "settings";
|
|
243
243
|
source: "settings" | "tool" | "generation";
|
|
244
244
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
245
245
|
} | {
|
|
246
246
|
name: "ttd";
|
|
247
|
-
tab: "
|
|
247
|
+
tab: "text-to-diagram" | "mermaid";
|
|
248
248
|
} | null;
|
|
249
249
|
defaultSidebarDockedPreference: boolean;
|
|
250
250
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -301,7 +301,7 @@ export declare const actionChangeExportScale: {
|
|
|
301
301
|
data: import("../charts").Spreadsheet;
|
|
302
302
|
};
|
|
303
303
|
pendingImageElementId: string | null;
|
|
304
|
-
showHyperlinkPopup: false | "
|
|
304
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
305
305
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
306
306
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
307
307
|
originSnapOffset: {
|
|
@@ -337,7 +337,7 @@ export declare const actionChangeExportBackground: {
|
|
|
337
337
|
errorMessage: import("react").ReactNode;
|
|
338
338
|
activeEmbeddable: {
|
|
339
339
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
340
|
-
state: "
|
|
340
|
+
state: "hover" | "active";
|
|
341
341
|
} | null;
|
|
342
342
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
343
343
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -384,7 +384,7 @@ export declare const actionChangeExportBackground: {
|
|
|
384
384
|
scrollY: number;
|
|
385
385
|
cursorButton: "up" | "down";
|
|
386
386
|
scrolledOutside: boolean;
|
|
387
|
-
name: string;
|
|
387
|
+
name: string | null;
|
|
388
388
|
isResizing: boolean;
|
|
389
389
|
isRotating: boolean;
|
|
390
390
|
zoom: Readonly<{
|
|
@@ -397,14 +397,14 @@ export declare const actionChangeExportBackground: {
|
|
|
397
397
|
tab?: string | undefined;
|
|
398
398
|
} | null;
|
|
399
399
|
openDialog: {
|
|
400
|
-
name: "
|
|
400
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
401
401
|
} | {
|
|
402
402
|
name: "settings";
|
|
403
403
|
source: "settings" | "tool" | "generation";
|
|
404
404
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
405
405
|
} | {
|
|
406
406
|
name: "ttd";
|
|
407
|
-
tab: "
|
|
407
|
+
tab: "text-to-diagram" | "mermaid";
|
|
408
408
|
} | null;
|
|
409
409
|
defaultSidebarDockedPreference: boolean;
|
|
410
410
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -461,7 +461,7 @@ export declare const actionChangeExportBackground: {
|
|
|
461
461
|
data: import("../charts").Spreadsheet;
|
|
462
462
|
};
|
|
463
463
|
pendingImageElementId: string | null;
|
|
464
|
-
showHyperlinkPopup: false | "
|
|
464
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
465
465
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
466
466
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
467
467
|
originSnapOffset: {
|
|
@@ -497,7 +497,7 @@ export declare const actionChangeExportEmbedScene: {
|
|
|
497
497
|
errorMessage: import("react").ReactNode;
|
|
498
498
|
activeEmbeddable: {
|
|
499
499
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
500
|
-
state: "
|
|
500
|
+
state: "hover" | "active";
|
|
501
501
|
} | null;
|
|
502
502
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
503
503
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -544,7 +544,7 @@ export declare const actionChangeExportEmbedScene: {
|
|
|
544
544
|
scrollY: number;
|
|
545
545
|
cursorButton: "up" | "down";
|
|
546
546
|
scrolledOutside: boolean;
|
|
547
|
-
name: string;
|
|
547
|
+
name: string | null;
|
|
548
548
|
isResizing: boolean;
|
|
549
549
|
isRotating: boolean;
|
|
550
550
|
zoom: Readonly<{
|
|
@@ -557,14 +557,14 @@ export declare const actionChangeExportEmbedScene: {
|
|
|
557
557
|
tab?: string | undefined;
|
|
558
558
|
} | null;
|
|
559
559
|
openDialog: {
|
|
560
|
-
name: "
|
|
560
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
561
561
|
} | {
|
|
562
562
|
name: "settings";
|
|
563
563
|
source: "settings" | "tool" | "generation";
|
|
564
564
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
565
565
|
} | {
|
|
566
566
|
name: "ttd";
|
|
567
|
-
tab: "
|
|
567
|
+
tab: "text-to-diagram" | "mermaid";
|
|
568
568
|
} | null;
|
|
569
569
|
defaultSidebarDockedPreference: boolean;
|
|
570
570
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -621,7 +621,7 @@ export declare const actionChangeExportEmbedScene: {
|
|
|
621
621
|
data: import("../charts").Spreadsheet;
|
|
622
622
|
};
|
|
623
623
|
pendingImageElementId: string | null;
|
|
624
|
-
showHyperlinkPopup: false | "
|
|
624
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
625
625
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
626
626
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
627
627
|
originSnapOffset: {
|
|
@@ -661,7 +661,7 @@ export declare const actionSaveToActiveFile: {
|
|
|
661
661
|
errorMessage: import("react").ReactNode;
|
|
662
662
|
activeEmbeddable: {
|
|
663
663
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
664
|
-
state: "
|
|
664
|
+
state: "hover" | "active";
|
|
665
665
|
} | null;
|
|
666
666
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
667
667
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -709,7 +709,7 @@ export declare const actionSaveToActiveFile: {
|
|
|
709
709
|
scrollY: number;
|
|
710
710
|
cursorButton: "up" | "down";
|
|
711
711
|
scrolledOutside: boolean;
|
|
712
|
-
name: string;
|
|
712
|
+
name: string | null;
|
|
713
713
|
isResizing: boolean;
|
|
714
714
|
isRotating: boolean;
|
|
715
715
|
zoom: Readonly<{
|
|
@@ -722,14 +722,14 @@ export declare const actionSaveToActiveFile: {
|
|
|
722
722
|
tab?: string | undefined;
|
|
723
723
|
} | null;
|
|
724
724
|
openDialog: {
|
|
725
|
-
name: "
|
|
725
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
726
726
|
} | {
|
|
727
727
|
name: "settings";
|
|
728
728
|
source: "settings" | "tool" | "generation";
|
|
729
729
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
730
730
|
} | {
|
|
731
731
|
name: "ttd";
|
|
732
|
-
tab: "
|
|
732
|
+
tab: "text-to-diagram" | "mermaid";
|
|
733
733
|
} | null;
|
|
734
734
|
defaultSidebarDockedPreference: boolean;
|
|
735
735
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -780,7 +780,7 @@ export declare const actionSaveToActiveFile: {
|
|
|
780
780
|
data: import("../charts").Spreadsheet;
|
|
781
781
|
};
|
|
782
782
|
pendingImageElementId: string | null;
|
|
783
|
-
showHyperlinkPopup: false | "
|
|
783
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
784
784
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
785
785
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
786
786
|
originSnapOffset: {
|
|
@@ -823,7 +823,7 @@ export declare const actionSaveFileToDisk: {
|
|
|
823
823
|
errorMessage: import("react").ReactNode;
|
|
824
824
|
activeEmbeddable: {
|
|
825
825
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
826
|
-
state: "
|
|
826
|
+
state: "hover" | "active";
|
|
827
827
|
} | null;
|
|
828
828
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
829
829
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -871,7 +871,7 @@ export declare const actionSaveFileToDisk: {
|
|
|
871
871
|
scrollY: number;
|
|
872
872
|
cursorButton: "up" | "down";
|
|
873
873
|
scrolledOutside: boolean;
|
|
874
|
-
name: string;
|
|
874
|
+
name: string | null;
|
|
875
875
|
isResizing: boolean;
|
|
876
876
|
isRotating: boolean;
|
|
877
877
|
zoom: Readonly<{
|
|
@@ -932,7 +932,7 @@ export declare const actionSaveFileToDisk: {
|
|
|
932
932
|
data: import("../charts").Spreadsheet;
|
|
933
933
|
};
|
|
934
934
|
pendingImageElementId: string | null;
|
|
935
|
-
showHyperlinkPopup: false | "
|
|
935
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
936
936
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
937
937
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
938
938
|
originSnapOffset: {
|
|
@@ -971,7 +971,7 @@ export declare const actionLoadScene: {
|
|
|
971
971
|
errorMessage: import("react").ReactNode;
|
|
972
972
|
activeEmbeddable: {
|
|
973
973
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
974
|
-
state: "
|
|
974
|
+
state: "hover" | "active";
|
|
975
975
|
} | null;
|
|
976
976
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
977
977
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -1019,7 +1019,7 @@ export declare const actionLoadScene: {
|
|
|
1019
1019
|
scrollY: number;
|
|
1020
1020
|
cursorButton: "up" | "down";
|
|
1021
1021
|
scrolledOutside: boolean;
|
|
1022
|
-
name: string;
|
|
1022
|
+
name: string | null;
|
|
1023
1023
|
isResizing: boolean;
|
|
1024
1024
|
isRotating: boolean;
|
|
1025
1025
|
zoom: Readonly<{
|
|
@@ -1032,14 +1032,14 @@ export declare const actionLoadScene: {
|
|
|
1032
1032
|
tab?: string | undefined;
|
|
1033
1033
|
} | null;
|
|
1034
1034
|
openDialog: {
|
|
1035
|
-
name: "
|
|
1035
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
1036
1036
|
} | {
|
|
1037
1037
|
name: "settings";
|
|
1038
1038
|
source: "settings" | "tool" | "generation";
|
|
1039
1039
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
1040
1040
|
} | {
|
|
1041
1041
|
name: "ttd";
|
|
1042
|
-
tab: "
|
|
1042
|
+
tab: "text-to-diagram" | "mermaid";
|
|
1043
1043
|
} | null;
|
|
1044
1044
|
defaultSidebarDockedPreference: boolean;
|
|
1045
1045
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -1092,7 +1092,7 @@ export declare const actionLoadScene: {
|
|
|
1092
1092
|
data: import("../charts").Spreadsheet;
|
|
1093
1093
|
};
|
|
1094
1094
|
pendingImageElementId: string | null;
|
|
1095
|
-
showHyperlinkPopup: false | "
|
|
1095
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
1096
1096
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
1097
1097
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
1098
1098
|
originSnapOffset: {
|
|
@@ -1118,7 +1118,7 @@ export declare const actionLoadScene: {
|
|
|
1118
1118
|
isLoading: boolean;
|
|
1119
1119
|
activeEmbeddable: {
|
|
1120
1120
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
1121
|
-
state: "
|
|
1121
|
+
state: "hover" | "active";
|
|
1122
1122
|
} | null;
|
|
1123
1123
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
1124
1124
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -1166,7 +1166,7 @@ export declare const actionLoadScene: {
|
|
|
1166
1166
|
scrollY: number;
|
|
1167
1167
|
cursorButton: "up" | "down";
|
|
1168
1168
|
scrolledOutside: boolean;
|
|
1169
|
-
name: string;
|
|
1169
|
+
name: string | null;
|
|
1170
1170
|
isResizing: boolean;
|
|
1171
1171
|
isRotating: boolean;
|
|
1172
1172
|
zoom: Readonly<{
|
|
@@ -1179,14 +1179,14 @@ export declare const actionLoadScene: {
|
|
|
1179
1179
|
tab?: string | undefined;
|
|
1180
1180
|
} | null;
|
|
1181
1181
|
openDialog: {
|
|
1182
|
-
name: "
|
|
1182
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
1183
1183
|
} | {
|
|
1184
1184
|
name: "settings";
|
|
1185
1185
|
source: "settings" | "tool" | "generation";
|
|
1186
1186
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
1187
1187
|
} | {
|
|
1188
1188
|
name: "ttd";
|
|
1189
|
-
tab: "
|
|
1189
|
+
tab: "text-to-diagram" | "mermaid";
|
|
1190
1190
|
} | null;
|
|
1191
1191
|
defaultSidebarDockedPreference: boolean;
|
|
1192
1192
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -1243,7 +1243,7 @@ export declare const actionLoadScene: {
|
|
|
1243
1243
|
data: import("../charts").Spreadsheet;
|
|
1244
1244
|
};
|
|
1245
1245
|
pendingImageElementId: string | null;
|
|
1246
|
-
showHyperlinkPopup: false | "
|
|
1246
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
1247
1247
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
1248
1248
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
1249
1249
|
originSnapOffset: {
|
|
@@ -1280,7 +1280,7 @@ export declare const actionExportWithDarkMode: {
|
|
|
1280
1280
|
errorMessage: import("react").ReactNode;
|
|
1281
1281
|
activeEmbeddable: {
|
|
1282
1282
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
1283
|
-
state: "
|
|
1283
|
+
state: "hover" | "active";
|
|
1284
1284
|
} | null;
|
|
1285
1285
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
1286
1286
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -1327,7 +1327,7 @@ export declare const actionExportWithDarkMode: {
|
|
|
1327
1327
|
scrollY: number;
|
|
1328
1328
|
cursorButton: "up" | "down";
|
|
1329
1329
|
scrolledOutside: boolean;
|
|
1330
|
-
name: string;
|
|
1330
|
+
name: string | null;
|
|
1331
1331
|
isResizing: boolean;
|
|
1332
1332
|
isRotating: boolean;
|
|
1333
1333
|
zoom: Readonly<{
|
|
@@ -1340,14 +1340,14 @@ export declare const actionExportWithDarkMode: {
|
|
|
1340
1340
|
tab?: string | undefined;
|
|
1341
1341
|
} | null;
|
|
1342
1342
|
openDialog: {
|
|
1343
|
-
name: "
|
|
1343
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
1344
1344
|
} | {
|
|
1345
1345
|
name: "settings";
|
|
1346
1346
|
source: "settings" | "tool" | "generation";
|
|
1347
1347
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
1348
1348
|
} | {
|
|
1349
1349
|
name: "ttd";
|
|
1350
|
-
tab: "
|
|
1350
|
+
tab: "text-to-diagram" | "mermaid";
|
|
1351
1351
|
} | null;
|
|
1352
1352
|
defaultSidebarDockedPreference: boolean;
|
|
1353
1353
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -1404,7 +1404,7 @@ export declare const actionExportWithDarkMode: {
|
|
|
1404
1404
|
data: import("../charts").Spreadsheet;
|
|
1405
1405
|
};
|
|
1406
1406
|
pendingImageElementId: string | null;
|
|
1407
|
-
showHyperlinkPopup: false | "
|
|
1407
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
1408
1408
|
selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
1409
1409
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
1410
1410
|
originSnapOffset: {
|
|
@@ -24,7 +24,7 @@ export const actionChangeProjectName = register({
|
|
|
24
24
|
perform: (_elements, appState, value) => {
|
|
25
25
|
return { appState: { ...appState, name: value }, commitToHistory: false };
|
|
26
26
|
},
|
|
27
|
-
PanelComponent: ({ appState, updateData, appProps, data }) => (_jsx(ProjectName, { label: t("labels.fileTitle"), value:
|
|
27
|
+
PanelComponent: ({ appState, updateData, appProps, data, app }) => (_jsx(ProjectName, { label: t("labels.fileTitle"), value: app.getName(), onChange: (name) => updateData(name), ignoreFocus: data?.ignoreFocus ?? false })),
|
|
28
28
|
});
|
|
29
29
|
export const actionChangeExportScale = register({
|
|
30
30
|
name: "changeExportScale",
|
|
@@ -82,8 +82,8 @@ export const actionSaveToActiveFile = register({
|
|
|
82
82
|
const fileHandleExists = !!appState.fileHandle;
|
|
83
83
|
try {
|
|
84
84
|
const { fileHandle } = isImageFileHandle(appState.fileHandle)
|
|
85
|
-
? await resaveAsImageWithScene(elements, appState, app.files)
|
|
86
|
-
: await saveAsJSON(elements, appState, app.files);
|
|
85
|
+
? await resaveAsImageWithScene(elements, appState, app.files, app.getName())
|
|
86
|
+
: await saveAsJSON(elements, appState, app.files, app.getName());
|
|
87
87
|
return {
|
|
88
88
|
commitToHistory: false,
|
|
89
89
|
appState: {
|
|
@@ -120,7 +120,7 @@ export const actionSaveFileToDisk = register({
|
|
|
120
120
|
const { fileHandle } = await saveAsJSON(elements, {
|
|
121
121
|
...appState,
|
|
122
122
|
fileHandle: null,
|
|
123
|
-
}, app.files);
|
|
123
|
+
}, app.files, app.getName());
|
|
124
124
|
return {
|
|
125
125
|
commitToHistory: false,
|
|
126
126
|
appState: {
|
|
@@ -19,7 +19,7 @@ export declare const actionFinalize: {
|
|
|
19
19
|
errorMessage: import("react").ReactNode;
|
|
20
20
|
activeEmbeddable: {
|
|
21
21
|
element: import("../element/types").NonDeletedExcalidrawElement;
|
|
22
|
-
state: "
|
|
22
|
+
state: "hover" | "active";
|
|
23
23
|
} | null;
|
|
24
24
|
draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
25
25
|
resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
@@ -65,7 +65,7 @@ export declare const actionFinalize: {
|
|
|
65
65
|
scrollX: number;
|
|
66
66
|
scrollY: number;
|
|
67
67
|
scrolledOutside: boolean;
|
|
68
|
-
name: string;
|
|
68
|
+
name: string | null;
|
|
69
69
|
isResizing: boolean;
|
|
70
70
|
isRotating: boolean;
|
|
71
71
|
zoom: Readonly<{
|
|
@@ -78,14 +78,14 @@ export declare const actionFinalize: {
|
|
|
78
78
|
tab?: string | undefined;
|
|
79
79
|
} | null;
|
|
80
80
|
openDialog: {
|
|
81
|
-
name: "
|
|
81
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
82
82
|
} | {
|
|
83
83
|
name: "settings";
|
|
84
84
|
source: "settings" | "tool" | "generation";
|
|
85
85
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
86
86
|
} | {
|
|
87
87
|
name: "ttd";
|
|
88
|
-
tab: "
|
|
88
|
+
tab: "text-to-diagram" | "mermaid";
|
|
89
89
|
} | null;
|
|
90
90
|
defaultSidebarDockedPreference: boolean;
|
|
91
91
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -142,7 +142,7 @@ export declare const actionFinalize: {
|
|
|
142
142
|
data: import("../charts").Spreadsheet;
|
|
143
143
|
};
|
|
144
144
|
pendingImageElementId: string | null;
|
|
145
|
-
showHyperlinkPopup: false | "
|
|
145
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
146
146
|
selectedLinearElement: LinearElementEditor | null;
|
|
147
147
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
148
148
|
originSnapOffset: {
|
|
@@ -217,7 +217,7 @@ export declare const actionFinalize: {
|
|
|
217
217
|
scrollX: number;
|
|
218
218
|
scrollY: number;
|
|
219
219
|
scrolledOutside: boolean;
|
|
220
|
-
name: string;
|
|
220
|
+
name: string | null;
|
|
221
221
|
isResizing: boolean;
|
|
222
222
|
isRotating: boolean;
|
|
223
223
|
zoom: Readonly<{
|
|
@@ -230,14 +230,14 @@ export declare const actionFinalize: {
|
|
|
230
230
|
tab?: string | undefined;
|
|
231
231
|
} | null;
|
|
232
232
|
openDialog: {
|
|
233
|
-
name: "
|
|
233
|
+
name: "imageExport" | "help" | "jsonExport";
|
|
234
234
|
} | {
|
|
235
235
|
name: "settings";
|
|
236
236
|
source: "settings" | "tool" | "generation";
|
|
237
237
|
tab: "text-to-diagram" | "diagram-to-code";
|
|
238
238
|
} | {
|
|
239
239
|
name: "ttd";
|
|
240
|
-
tab: "
|
|
240
|
+
tab: "text-to-diagram" | "mermaid";
|
|
241
241
|
} | null;
|
|
242
242
|
defaultSidebarDockedPreference: boolean;
|
|
243
243
|
lastPointerDownWith: import("../element/types").PointerType;
|
|
@@ -290,7 +290,7 @@ export declare const actionFinalize: {
|
|
|
290
290
|
shown: true;
|
|
291
291
|
data: import("../charts").Spreadsheet;
|
|
292
292
|
};
|
|
293
|
-
showHyperlinkPopup: false | "
|
|
293
|
+
showHyperlinkPopup: false | "info" | "editor";
|
|
294
294
|
snapLines: readonly import("../snapping").SnapLine[];
|
|
295
295
|
originSnapOffset: {
|
|
296
296
|
x: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { KEYS } from "../keys";
|
|
3
3
|
import { isInvisiblySmallElement } from "../element";
|
|
4
|
-
import { updateActiveTool } from "../utils";
|
|
4
|
+
import { arrayToMap, updateActiveTool } from "../utils";
|
|
5
5
|
import { ToolButton } from "../components/ToolButton";
|
|
6
6
|
import { done } from "../components/icons";
|
|
7
7
|
import { t } from "../i18n";
|
|
@@ -17,12 +17,13 @@ export const actionFinalize = register({
|
|
|
17
17
|
name: "finalize",
|
|
18
18
|
trackEvent: false,
|
|
19
19
|
perform: (elements, appState, _, { interactiveCanvas, focusContainer, scene }) => {
|
|
20
|
+
const elementsMap = scene.getNonDeletedElementsMap();
|
|
20
21
|
if (appState.editingLinearElement) {
|
|
21
22
|
const { elementId, startBindingElement, endBindingElement } = appState.editingLinearElement;
|
|
22
|
-
const element = LinearElementEditor.getElement(elementId);
|
|
23
|
+
const element = LinearElementEditor.getElement(elementId, elementsMap);
|
|
23
24
|
if (element) {
|
|
24
25
|
if (isBindingElement(element)) {
|
|
25
|
-
bindOrUnbindLinearElement(element, startBindingElement, endBindingElement);
|
|
26
|
+
bindOrUnbindLinearElement(element, startBindingElement, endBindingElement, elementsMap);
|
|
26
27
|
}
|
|
27
28
|
return {
|
|
28
29
|
elements: element.points.length < 2 || isInvisiblySmallElement(element)
|
|
@@ -85,8 +86,8 @@ export const actionFinalize = register({
|
|
|
85
86
|
if (isBindingElement(multiPointElement) &&
|
|
86
87
|
!isLoop &&
|
|
87
88
|
multiPointElement.points.length > 1) {
|
|
88
|
-
const [x, y] = LinearElementEditor.getPointAtIndexGlobalCoordinates(multiPointElement, -1);
|
|
89
|
-
maybeBindLinearElement(multiPointElement, appState, Scene.getScene(multiPointElement), { x, y });
|
|
89
|
+
const [x, y] = LinearElementEditor.getPointAtIndexGlobalCoordinates(multiPointElement, -1, arrayToMap(elements));
|
|
90
|
+
maybeBindLinearElement(multiPointElement, appState, Scene.getScene(multiPointElement), { x, y }, elementsMap);
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
if ((!appState.activeTool.locked &&
|
|
@@ -134,7 +135,7 @@ export const actionFinalize = register({
|
|
|
134
135
|
: appState.selectedElementIds,
|
|
135
136
|
// To select the linear element when user has finished mutipoint editing
|
|
136
137
|
selectedLinearElement: multiPointElement && isLinearElement(multiPointElement)
|
|
137
|
-
? new LinearElementEditor(multiPointElement
|
|
138
|
+
? new LinearElementEditor(multiPointElement)
|
|
138
139
|
: appState.selectedLinearElement,
|
|
139
140
|
pendingImageElementId: null,
|
|
140
141
|
},
|
|
@@ -7,7 +7,7 @@ export declare const actionFlipHorizontal: {
|
|
|
7
7
|
category: "element";
|
|
8
8
|
};
|
|
9
9
|
perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
|
|
10
|
-
elements:
|
|
10
|
+
elements: ExcalidrawElement[];
|
|
11
11
|
appState: Readonly<AppState>;
|
|
12
12
|
commitToHistory: true;
|
|
13
13
|
};
|
|
@@ -22,7 +22,7 @@ export declare const actionFlipVertical: {
|
|
|
22
22
|
category: "element";
|
|
23
23
|
};
|
|
24
24
|
perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
|
|
25
|
-
elements:
|
|
25
|
+
elements: ExcalidrawElement[];
|
|
26
26
|
appState: Readonly<AppState>;
|
|
27
27
|
commitToHistory: true;
|
|
28
28
|
};
|
|
@@ -12,7 +12,7 @@ export const actionFlipHorizontal = register({
|
|
|
12
12
|
trackEvent: { category: "element" },
|
|
13
13
|
perform: (elements, appState, _, app) => {
|
|
14
14
|
return {
|
|
15
|
-
elements: updateFrameMembershipOfSelectedElements(flipSelectedElements(elements, appState, "horizontal"), appState, app),
|
|
15
|
+
elements: updateFrameMembershipOfSelectedElements(flipSelectedElements(elements, app.scene.getNonDeletedElementsMap(), appState, "horizontal"), appState, app),
|
|
16
16
|
appState,
|
|
17
17
|
commitToHistory: true,
|
|
18
18
|
};
|
|
@@ -25,7 +25,7 @@ export const actionFlipVertical = register({
|
|
|
25
25
|
trackEvent: { category: "element" },
|
|
26
26
|
perform: (elements, appState, _, app) => {
|
|
27
27
|
return {
|
|
28
|
-
elements: updateFrameMembershipOfSelectedElements(flipSelectedElements(elements, appState, "vertical"), appState, app),
|
|
28
|
+
elements: updateFrameMembershipOfSelectedElements(flipSelectedElements(elements, app.scene.getNonDeletedElementsMap(), appState, "vertical"), appState, app),
|
|
29
29
|
appState,
|
|
30
30
|
commitToHistory: true,
|
|
31
31
|
};
|
|
@@ -33,20 +33,20 @@ export const actionFlipVertical = register({
|
|
|
33
33
|
keyTest: (event) => event.shiftKey && event.code === CODES.V && !event[KEYS.CTRL_OR_CMD],
|
|
34
34
|
contextItemLabel: "labels.flipVertical",
|
|
35
35
|
});
|
|
36
|
-
const flipSelectedElements = (elements, appState, flipDirection) => {
|
|
36
|
+
const flipSelectedElements = (elements, elementsMap, appState, flipDirection) => {
|
|
37
37
|
const selectedElements = getSelectedElements(getNonDeletedElements(elements), appState, {
|
|
38
38
|
includeBoundTextElement: true,
|
|
39
39
|
includeElementsInFrames: true,
|
|
40
40
|
});
|
|
41
|
-
const updatedElements = flipElements(selectedElements, appState, flipDirection);
|
|
41
|
+
const updatedElements = flipElements(selectedElements, elements, elementsMap, appState, flipDirection);
|
|
42
42
|
const updatedElementsMap = arrayToMap(updatedElements);
|
|
43
43
|
return elements.map((element) => updatedElementsMap.get(element.id) || element);
|
|
44
44
|
};
|
|
45
|
-
const flipElements = (elements, appState, flipDirection) => {
|
|
46
|
-
const { minX, minY, maxX, maxY } = getCommonBoundingBox(
|
|
47
|
-
resizeMultipleElements(
|
|
48
|
-
|
|
49
|
-
? bindOrUnbindSelectedElements
|
|
50
|
-
: unbindLinearElements
|
|
51
|
-
return
|
|
45
|
+
const flipElements = (selectedElements, elements, elementsMap, appState, flipDirection) => {
|
|
46
|
+
const { minX, minY, maxX, maxY } = getCommonBoundingBox(selectedElements);
|
|
47
|
+
resizeMultipleElements(elementsMap, selectedElements, elementsMap, "nw", true, flipDirection === "horizontal" ? maxX : minX, flipDirection === "horizontal" ? minY : maxY);
|
|
48
|
+
isBindingEnabled(appState)
|
|
49
|
+
? bindOrUnbindSelectedElements(selectedElements, elements, elementsMap)
|
|
50
|
+
: unbindLinearElements(selectedElements, elementsMap);
|
|
51
|
+
return selectedElements;
|
|
52
52
|
};
|