remove dependency of i18n from getDefaultAppState and make it pure

This commit is contained in:
Aakansha Doshi 2020-12-27 18:18:07 +05:30
parent bc414ccaaf
commit eda35a25b3
15 changed files with 123 additions and 90 deletions

View File

@ -9,7 +9,7 @@ import { loadFromJSON, saveAsJSON } from "../data";
import { t } from "../i18n";
import useIsMobile from "../is-mobile";
import { KEYS } from "../keys";
import { muteFSAbortError } from "../utils";
import { getDateTime, muteFSAbortError } from "../utils";
import { register } from "./register";
import "../components/ToolIcon.scss";
@ -22,7 +22,7 @@ export const actionChangeProjectName = register({
PanelComponent: ({ appState, updateData }) => (
<ProjectName
label={t("labels.fileTitle")}
value={appState.name || "Unnamed"}
value={appState.name || `${t("labels.untitled")}-${getDateTime()}`}
onChange={(name: string) => updateData(name)}
/>
),

View File

@ -1,7 +1,5 @@
import oc from "open-color";
import { AppState, FlooredNumber, NormalizedZoomValue } from "./types";
import { getDateTime } from "./utils";
import { t } from "./i18n";
import {
DEFAULT_FONT_SIZE,
DEFAULT_FONT_FAMILY,
@ -46,7 +44,7 @@ export const getDefaultAppState = (): Omit<
scrollY: 0 as FlooredNumber,
cursorButton: "up",
scrolledOutside: false,
name: `${t("labels.untitled")}-${getDateTime()}`,
name: "",
isBindingEnabled: true,
isResizing: false,
isRotating: false,

View File

@ -10,7 +10,6 @@ import {
duplicateElement,
isInvisiblySmallElement,
isTextElement,
textWysiwyg,
getCommonBounds,
getCursorForResizingElement,
getPerfectElementSize,
@ -177,6 +176,7 @@ import {
trackEvent,
} from "../analytics";
import { Stats } from "./Stats";
import { textWysiwyg } from "../element/textWysiwyg";
const { history } = createHistory();

View File

@ -100,6 +100,7 @@ const ExportModal = ({
exportPadding,
scale,
shouldAddWatermark,
watermarkText: t("labels.madeWithExcalidraw"),
});
// if converting to blob fails, there's some problem that will
@ -175,6 +176,7 @@ const ExportModal = ({
exportPadding,
shouldAddWatermark,
s,
t("labels.madeWithExcalidraw"),
);
const scaleButtonTitle = `${t(

View File

@ -41,7 +41,7 @@ import "./LayerUI.scss";
import { LibraryUnit } from "./LibraryUnit";
import { ToolButton } from "./ToolButton";
import { saveLibraryAsJSON, importLibraryFromJSON } from "../data/json";
import { muteFSAbortError } from "../utils";
import { getDateTime, muteFSAbortError } from "../utils";
import { BackgroundPickerAndDarkModeToggle } from "./BackgroundPickerAndDarkModeToggle";
import clsx from "clsx";
import { Library } from "../data/library";
@ -352,7 +352,7 @@ const LayerUI = ({
if (canvas) {
await exportCanvas(type, exportedElements, appState, canvas, {
exportBackground: appState.exportBackground,
name: appState.name,
name: appState.name || `${t("labels.untitled")}-${getDateTime()}`,
viewBackgroundColor: appState.viewBackgroundColor,
scale,
shouldAddWatermark: appState.shouldAddWatermark,

View File

@ -75,6 +75,7 @@ export const exportCanvas = async (
exportPadding,
scale,
shouldAddWatermark,
watermarkText: t("labels.madeWithExcalidraw"),
});
tempCanvas.style.display = "none";
document.body.appendChild(tempCanvas);

View File

@ -8,6 +8,8 @@ import { Library } from "./library";
import { MIME_TYPES } from "../constants";
import { clearElementsForExport } from "../element";
import { EVENT_LIBRARY, trackEvent } from "../analytics";
import { t } from "../i18n";
import { getDateTime } from "../utils";
export const serializeAsJSON = (
elements: readonly ExcalidrawElement[],
@ -33,11 +35,10 @@ export const saveAsJSON = async (
const blob = new Blob([serialized], {
type: "application/json",
});
const fileHandle = await fileSave(
blob,
{
fileName: appState.name,
fileName: appState.name || `${t("labels.untitled")}-${getDateTime()}`,
description: "Excalidraw file",
extensions: [".excalidraw"],
},

View File

@ -49,7 +49,6 @@ export {
dragNewElement,
} from "./dragElements";
export { isTextElement, isExcalidrawElement } from "./typeChecks";
export { textWysiwyg } from "./textWysiwyg";
export { redrawTextBoundingBox } from "./textElement";
export {
getPerfectElementSize,

View File

@ -2,6 +2,8 @@ import { AppState } from "./types";
import { ExcalidrawElement } from "./element/types";
import { isLinearElement } from "./element/typeChecks";
import { deepCopyElement } from "./element/newElement";
import { getDateTime } from "./utils";
import { t } from "./i18n";
export interface HistoryEntry {
appState: ReturnType<typeof clearAppStatePropertiesForHistory>;
@ -24,7 +26,7 @@ const clearAppStatePropertiesForHistory = (appState: AppState) => {
viewBackgroundColor: appState.viewBackgroundColor,
editingLinearElement: appState.editingLinearElement,
editingGroupId: appState.editingGroupId,
name: appState.name,
name: appState.name || `${t("labels.untitled")}-${getDateTime()}`,
};
};

View File

@ -1 +1 @@
export { exportToBlob, exportToSvg, exportToCanvas } from "../utils.ts";
export { exportToBlob, exportToSvg, exportToCanvas } from "./utils";

View File

@ -1,5 +1,6 @@
{
"name": "@excalidraw/utils",
"sideEffects": false,
"version": "0.1.0",
"main": "dist/excalidraw-utils.min.js",
"files": [

View File

@ -1,11 +1,11 @@
import {
exportToCanvas as _exportToCanvas,
exportToSvg as _exportToSvg,
} from "../scene/export";
import { getDefaultAppState } from "../appState";
import { AppState } from "../types";
import { ExcalidrawElement } from "../element/types";
import { getNonDeletedElements } from "../element";
} from "../../scene/export";
import { getDefaultAppState } from "../../appState";
import { AppState } from "../../types";
import { ExcalidrawElement } from "../../element/types";
import { getNonDeletedElements } from "../../element";
type ExportOpts = {
elements: readonly ExcalidrawElement[];

View File

@ -13,7 +13,7 @@ module.exports = {
libraryTarget: "umd",
},
resolve: {
extensions: [".tsx", ".ts", ".js"],
extensions: [".ts", ".js"],
},
optimization: {
runtimeChunk: false,
@ -40,4 +40,18 @@ module.exports = {
}),
...(process.env.ANALYZER === "true" ? [new BundleAnalyzerPlugin()] : []),
],
externals: {
react: {
root: "React",
commonjs2: "react",
commonjs: "react",
amd: "react",
},
"react-dom": {
root: "ReactDOM",
commonjs2: "react-dom",
commonjs: "react-dom",
amd: "react-dom",
},
},
};

View File

@ -7,7 +7,6 @@ import { renderScene, renderSceneToSvg } from "../renderer/renderScene";
import { distance, SVG_NS } from "../utils";
import { normalizeScroll } from "./scroll";
import { AppState } from "../types";
import { t } from "../i18n";
import { DEFAULT_FONT_FAMILY, DEFAULT_VERTICAL_ALIGN } from "../constants";
import { getDefaultAppState } from "../appState";
@ -23,12 +22,14 @@ export const exportToCanvas = (
viewBackgroundColor,
scale = 1,
shouldAddWatermark,
watermarkText,
}: {
exportBackground: boolean;
exportPadding?: number;
scale?: number;
viewBackgroundColor: string;
shouldAddWatermark: boolean;
watermarkText?: string;
},
createCanvas: (width: number, height: number) => HTMLCanvasElement = (
width,
@ -40,7 +41,11 @@ export const exportToCanvas = (
return tempCanvas;
},
) => {
const sceneElements = getElementsAndWatermark(elements, shouldAddWatermark);
const sceneElements = getElementsAndWatermark(
elements,
shouldAddWatermark,
watermarkText,
);
const [minX, minY, width, height] = getCanvasSize(
sceneElements,
@ -152,20 +157,25 @@ export const exportToSvg = (
const getElementsAndWatermark = (
elements: readonly NonDeletedExcalidrawElement[],
shouldAddWatermark: boolean,
watermarkText?: string,
): readonly NonDeletedExcalidrawElement[] => {
let _elements = [...elements];
if (shouldAddWatermark) {
const [, , maxX, maxY] = getCommonBounds(elements);
_elements = [..._elements, getWatermarkElement(maxX, maxY)];
_elements = [..._elements, getWatermarkElement(maxX, maxY, watermarkText)];
}
return _elements;
};
const getWatermarkElement = (maxX: number, maxY: number) => {
const getWatermarkElement = (
maxX: number,
maxY: number,
watermarkText: string = "",
) => {
return newTextElement({
text: t("labels.madeWithExcalidraw"),
text: watermarkText,
fontSize: WATERMARK_HEIGHT,
fontFamily: DEFAULT_FONT_FAMILY,
textAlign: "right",
@ -204,8 +214,13 @@ export const getExportSize = (
exportPadding: number,
shouldAddWatermark: boolean,
scale: number,
watermarkText?: string,
): [number, number] => {
const sceneElements = getElementsAndWatermark(elements, shouldAddWatermark);
const sceneElements = getElementsAndWatermark(
elements,
shouldAddWatermark,
watermarkText,
);
const [, , width, height] = getCanvasSize(
sceneElements,

View File

@ -38,7 +38,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -491,7 +491,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -950,7 +950,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -1718,7 +1718,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -1914,7 +1914,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -2364,7 +2364,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -2609,7 +2609,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -2765,7 +2765,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -3234,7 +3234,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -3534,7 +3534,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -3730,7 +3730,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -3966,7 +3966,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -4210,7 +4210,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -4585,7 +4585,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -4872,7 +4872,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -5171,7 +5171,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -5371,7 +5371,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -5527,7 +5527,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -5972,7 +5972,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -6282,7 +6282,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -8308,7 +8308,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -8662,7 +8662,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -8909,7 +8909,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -9154,7 +9154,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -9461,7 +9461,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -9617,7 +9617,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -9773,7 +9773,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -9929,7 +9929,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -10115,7 +10115,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -10301,7 +10301,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -10487,7 +10487,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -10673,7 +10673,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -10829,7 +10829,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -10985,7 +10985,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -11171,7 +11171,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -11327,7 +11327,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -11513,7 +11513,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -12466,7 +12466,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "touch",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -12560,7 +12560,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -12652,7 +12652,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -12808,7 +12808,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -13108,7 +13108,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -13408,7 +13408,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -13564,7 +13564,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -13752,7 +13752,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -13993,7 +13993,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -14309,7 +14309,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -15140,7 +15140,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -15440,7 +15440,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -15740,7 +15740,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -16111,7 +16111,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -16270,7 +16270,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -16583,7 +16583,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -16814,7 +16814,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -17061,7 +17061,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -17380,7 +17380,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -17472,7 +17472,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -17628,7 +17628,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -18441,7 +18441,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -18533,7 +18533,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -19279,7 +19279,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -19676,7 +19676,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -19941,7 +19941,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "touch",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -20525,7 +20525,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,
@ -20617,7 +20617,7 @@ Object {
"isRotating": false,
"lastPointerDownWith": "mouse",
"multiElement": null,
"name": "Untitled-201933152653",
"name": "",
"offsetLeft": 0,
"offsetTop": 0,
"openMenu": null,