diff --git a/.env.development b/.env.development
index 0c2fb5527..c56b62b36 100644
--- a/.env.development
+++ b/.env.development
@@ -20,14 +20,10 @@ REACT_APP_DEV_ENABLE_SW=
# whether to disable live reload / HMR. Usuaully what you want to do when
# debugging Service Workers.
REACT_APP_DEV_DISABLE_LIVE_RELOAD=
+REACT_APP_DISABLE_TRACKING=true
FAST_REFRESH=false
-# MATOMO
-REACT_APP_MATOMO_URL=
-REACT_APP_CDN_MATOMO_TRACKER_URL=
-REACT_APP_MATOMO_SITE_ID=
-
#Debug flags
# To enable bounding box for text containers
diff --git a/.env.production b/.env.production
index 8737c63c7..b86aa4bcc 100644
--- a/.env.production
+++ b/.env.production
@@ -11,14 +11,5 @@ REACT_APP_WS_SERVER_URL=
REACT_APP_FIREBASE_CONFIG='{"apiKey":"AIzaSyAd15pYlMci_xIp9ko6wkEsDzAAA0Dn0RU","authDomain":"excalidraw-room-persistence.firebaseapp.com","databaseURL":"https://excalidraw-room-persistence.firebaseio.com","projectId":"excalidraw-room-persistence","storageBucket":"excalidraw-room-persistence.appspot.com","messagingSenderId":"654800341332","appId":"1:654800341332:web:4a692de832b55bd57ce0c1"}'
-# production-only vars
-# GOOGLE ANALYTICS
-REACT_APP_GOOGLE_ANALYTICS_ID=UA-387204-13
-# MATOMO
-REACT_APP_MATOMO_URL=https://excalidraw.matomo.cloud/
-REACT_APP_CDN_MATOMO_TRACKER_URL=//cdn.matomo.cloud/excalidraw.matomo.cloud/matomo.js
-REACT_APP_MATOMO_SITE_ID=1
-
-
-
REACT_APP_PLUS_APP=https://app.excalidraw.com
+REACT_APP_DISABLE_TRACKING=
diff --git a/.github/workflows/size-limit.yml b/.github/workflows/size-limit.yml
new file mode 100644
index 000000000..8ced8ee03
--- /dev/null
+++ b/.github/workflows/size-limit.yml
@@ -0,0 +1,30 @@
+name: "Bundle Size check @excalidraw/excalidraw"
+on:
+ pull_request:
+ branches:
+ - master
+jobs:
+ size:
+ runs-on: ubuntu-latest
+ env:
+ CI_JOB_NUMBER: 1
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+ - name: Setup Node.js 18.x
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18.x
+ - name: Install
+ run: yarn --frozen-lockfile
+ - name: Install in src/packages/excalidraw
+ run: yarn --frozen-lockfile
+ working-directory: src/packages/excalidraw
+ env:
+ CI: true
+ - uses: andresz1/size-limit-action@v1
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ build_script: build:umd
+ skip_step: install
+ directory: src/packages/excalidraw
diff --git a/.npmrc b/.npmrc
index cffe8cdef..1b78f1c6f 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1 +1,2 @@
save-exact=true
+legacy-peer-deps=true
diff --git a/dev-docs/docs/@excalidraw/excalidraw/api/children-components/footer.mdx b/dev-docs/docs/@excalidraw/excalidraw/api/children-components/footer.mdx
index 262681895..cdd5ea5a4 100644
--- a/dev-docs/docs/@excalidraw/excalidraw/api/children-components/footer.mdx
+++ b/dev-docs/docs/@excalidraw/excalidraw/api/children-components/footer.mdx
@@ -16,7 +16,6 @@ function App() {
className="custom-footer"
onClick={() => alert("This is dummy footer")}
>
- {" "}
custom footer
diff --git a/dev-docs/docs/@excalidraw/excalidraw/api/children-components/main-menu.mdx b/dev-docs/docs/@excalidraw/excalidraw/api/children-components/main-menu.mdx
index 8fbf228df..2494df108 100644
--- a/dev-docs/docs/@excalidraw/excalidraw/api/children-components/main-menu.mdx
+++ b/dev-docs/docs/@excalidraw/excalidraw/api/children-components/main-menu.mdx
@@ -14,8 +14,7 @@ function App() {
Item1
- (+```tsx +( + target?: ExcalidrawElement | ExcalidrawElement[], + opts?: + | { + fitToContent?: boolean; + animate?: boolean; + duration?: number; + } + | { + fitToViewport?: boolean; + viewportZoomFactor?: number; + animate?: boolean; + duration?: number; + } +) => void +``` Scroll the nearest element out of the elements supplied to the center of the viewport. Defaults to the elements on the scene. | Attribute | type | default | Description | | --- | --- | --- | --- | -| target |
- {" "} - target?:{" "} - - ExcalidrawElement - {" "} - |{" "} - - ExcalidrawElement - - [], -
- {" "}opts?: { fitToContent?: boolean; animate?: boolean; duration?: number - } -
) => void -
ExcalidrawElement | ExcalidrawElement[]
| All scene elements | The element(s) to scroll to. |
-| opts.fitToContent | boolean | false | Whether to fit the elements to viewport by automatically changing zoom as needed. |
+| target | [ExcalidrawElement](https://github.com/excalidraw/excalidraw/blob/master/src/element/types.ts#L115) | [ExcalidrawElement[]](https://github.com/excalidraw/excalidraw/blob/master/src/element/types.ts#L115) | All scene elements | The element(s) to scroll to. |
+| opts.fitToContent | boolean | false | Whether to fit the elements to viewport by automatically changing zoom as needed. Note that the zoom range is between 10%-100%. |
+| opts.fitToViewport | boolean | false | Similar to fitToContent but the zoom range is not limited. If elements are smaller than the viewport, zoom will go above 100%. |
+| opts.viewportZoomFactor | number | 0.7 | when fitToViewport=true, how much screen should the content cover, between 0.1 (10%) and 1 (100%) |
| opts.animate | boolean | false | Whether to animate between starting and ending position. Note that for larger scenes the animation may not be smooth due to performance issues. |
| opts.duration | number | 500 | Duration of the animation if `opts.animate` is `true`. |
diff --git a/dev-docs/docs/@excalidraw/excalidraw/api/props/render-props.mdx b/dev-docs/docs/@excalidraw/excalidraw/api/props/render-props.mdx
index ca329e3e6..6531e29ec 100644
--- a/dev-docs/docs/@excalidraw/excalidraw/api/props/render-props.mdx
+++ b/dev-docs/docs/@excalidraw/excalidraw/api/props/render-props.mdx
@@ -3,7 +3,7 @@
## renderTopRightUI
- (isMobile: boolean, appState:{" "} + (isMobile: boolean, appState: AppState @@ -29,8 +29,7 @@ function App() { }} onClick={() => window.alert("This is dummy top right UI")} > - {" "} - Click me{" "} + Click me ); }} @@ -55,8 +54,7 @@ function App() {( - {" "} - Dummy stats will be shown here{" "} + Dummy stats will be shown here
)} /> @@ -105,8 +103,7 @@ function App() { return (ImportedDataState["elements"],
localElements: ExcalidrawElement[] | null | undefined): ExcalidrawElement[],
- refreshDimensions?: boolean
+ opts: { refreshDimensions?: boolean, repairBindings?: boolean }
) +| Prop | Type | Description | +| ---- | ---- | ---- | +| `elements` | ImportedDataState["elements"] | The `elements` to be restored | +| [`localElements`](#localelements) | ExcalidrawElement[] | null | undefined | When `localElements` are supplied, they are used to ensure that existing restored elements reuse `version` (and increment it), and regenerate `versionNonce`. | +| [`opts`](#opts) | `Object` | The extra optional parameter to configure restored elements + +#### localElements + +When `localElements` are supplied, they are used to ensure that existing restored elements reuse `version` (and increment it), and regenerate `versionNonce`. +Use this when you `import` elements which may already be present in the scene to ensure that you do not disregard the newly imported elements if you're using element version to detect the update + +#### opts +The extra optional parameter to configure restored elements. It has the following attributes + +| Prop | Type | Description| +| --- | --- | ------| +| `refreshDimensions` | `boolean` | Indicates whether we should also `recalculate` text element dimensions. Since this is a potentially costly operation, you may want to disable it if you restore elements in tight loops, such as during collaboration. | +| `repairBindings` |`boolean` | Indicates whether the `bindings` for the elements should be repaired. This is to make sure there are no containers with non existent bound text element id and no bound text elements with non existent container id. | + **_How to use_** ```js @@ -43,9 +62,6 @@ import { restoreElements } from "@excalidraw/excalidraw"; This function will make sure all properties of element is correctly set and if any attribute is missing, it will be set to its default value. -When `localElements` are supplied, they are used to ensure that existing restored elements reuse `version` (and increment it), and regenerate `versionNonce`. -Use this when you import elements which may already be present in the scene to ensure that you do not disregard the newly imported elements if you're using element version to detect the updates. - Parameter `refreshDimensions` indicates whether we should also `recalculate` text element dimensions. Defaults to `false`. Since this is a potentially costly operation, you may want to disable it if you restore elements in tight loops, such as during collaboration. ### restore @@ -56,7 +72,9 @@ Parameter `refreshDimensions` indicates whether we should also `recalculate` tex restore( data: ImportedDataState,
localAppState: Partial<AppState> | null | undefined,
- localElements: ExcalidrawElement[] | null | undefined
): DataState + localElements: ExcalidrawElement[] | null | undefined
): DataState
+ opts: { refreshDimensions?: boolean, repairBindings?: boolean }
+ ) diff --git a/dev-docs/docs/@excalidraw/excalidraw/api/utils/utils-intro.md b/dev-docs/docs/@excalidraw/excalidraw/api/utils/utils-intro.md index c21592382..4d2745c09 100644 --- a/dev-docs/docs/@excalidraw/excalidraw/api/utils/utils-intro.md +++ b/dev-docs/docs/@excalidraw/excalidraw/api/utils/utils-intro.md @@ -339,3 +339,47 @@ The `device` has the following `attributes` | `isMobile` | `boolean` | Set to `true` when the device is `mobile` | | `isTouchScreen` | `boolean` | Set to `true` for `touch` devices | | `canDeviceFitSidebar` | `boolean` | Implies whether there is enough space to fit the `sidebar` | + +### i18n + +To help with localization, we export the following. + +| name | type | +| --- | --- | +| `defaultLang` | `string` | +| `languages` | [`Language[]`](https://github.com/excalidraw/excalidraw/blob/master/src/i18n.ts#L15) | +| `useI18n` | [`() => { langCode, t }`](https://github.com/excalidraw/excalidraw/blob/master/src/i18n.ts#L15) | + +```js +import { defaultLang, languages, useI18n } from "@excalidraw/excalidraw"; +``` + +#### defaultLang + +Default language code, `en`. + +#### languages + +List of supported language codes. You can pass any of these to `Excalidraw`'s [`langCode` prop](/docs/@excalidraw/excalidraw/api/props/#langcode). + +#### useI18n + +A hook that returns the current language code and translation helper function. You can use this to translate strings in the components you render as children of ``. + +```jsx live +function App() { + const { t } = useI18n(); + return ( + ++ ); +} +``` diff --git a/dev-docs/docs/introduction/contributing.mdx b/dev-docs/docs/introduction/contributing.mdx index d384c97a1..821355e0e 100644 --- a/dev-docs/docs/introduction/contributing.mdx +++ b/dev-docs/docs/introduction/contributing.mdx @@ -2,6 +2,11 @@ Pull requests are welcome. For major changes, please [open an issue](https://github.com/excalidraw/excalidraw/issues/new) first to discuss what you would like to change. +We have a [roadmap](https://github.com/orgs/excalidraw/projects/3) which we strongly recommend to go through and check if something interests you. +For new contributors we would recommend to start with *Easy* tasks. + +In case you want to pick up something from the roadmap, comment on that issue and one of the project maintainers will assign it to you, post which you can discuss in the issue and start working on it. + ## Setup ### Option 1 - Manual diff --git a/dev-docs/package.json b/dev-docs/package.json index dd3c45872..0aee8e01f 100644 --- a/dev-docs/package.json +++ b/dev-docs/package.json @@ -18,7 +18,7 @@ "@docusaurus/core": "2.2.0", "@docusaurus/preset-classic": "2.2.0", "@docusaurus/theme-live-codeblock": "2.2.0", - "@excalidraw/excalidraw": "0.14.2", + "@excalidraw/excalidraw": "0.15.2", "@mdx-js/react": "^1.6.22", "clsx": "^1.2.1", "docusaurus-plugin-sass": "0.2.3", diff --git a/dev-docs/src/theme/ReactLiveScope/index.js b/dev-docs/src/theme/ReactLiveScope/index.js index a282ad6f0..e5263e1db 100644 --- a/dev-docs/src/theme/ReactLiveScope/index.js +++ b/dev-docs/src/theme/ReactLiveScope/index.js @@ -24,6 +24,7 @@ const ExcalidrawScope = { Sidebar: ExcalidrawComp.Sidebar, exportToCanvas: ExcalidrawComp.exportToCanvas, initialData, + useI18n: ExcalidrawComp.useI18n, }; export default ExcalidrawScope; diff --git a/dev-docs/yarn.lock b/dev-docs/yarn.lock index 041f39b55..6206a60e9 100644 --- a/dev-docs/yarn.lock +++ b/dev-docs/yarn.lock @@ -1631,10 +1631,10 @@ url-loader "^4.1.1" webpack "^5.73.0" -"@excalidraw/excalidraw@0.14.2": - version "0.14.2" - resolved "https://registry.yarnpkg.com/@excalidraw/excalidraw/-/excalidraw-0.14.2.tgz#150cb4b7a1bf0d11cd64295936c930e7e0db8375" - integrity sha512-8LdjpTBWEK5waDWB7Bt/G9YBI4j0OxkstUhvaDGz7dwQGfzF6FW5CXBoYHNEoX0qmb+Fg/NPOlZ7FrKsrSVCqg== +"@excalidraw/excalidraw@0.15.2": + version "0.15.2" + resolved "https://registry.yarnpkg.com/@excalidraw/excalidraw/-/excalidraw-0.15.2.tgz#7dba4f6e10c52015a007efb75a9fc1afe598574c" + integrity sha512-rTI02kgWSTXiUdIkBxt9u/581F3eXcqQgJdIxmz54TFtG3ughoxO5fr4t7Fr2LZIturBPqfocQHGKZ0t2KLKgw== "@hapi/hoek@^9.0.0": version "9.3.0" @@ -7159,9 +7159,9 @@ typescript@^4.7.4: integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== ua-parser-js@^0.7.30: - version "0.7.31" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" - integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== + version "0.7.33" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532" + integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw== unescape@^1.0.1: version "1.0.1" diff --git a/package.json b/package.json index 63805288d..ceca2d392 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,10 @@ ] }, "dependencies": { - "@dwelle/tunnel-rat": "0.1.1", + "@braintree/sanitize-url": "6.0.2", + "@excalidraw/random-username": "1.0.0", + "@radix-ui/react-popover": "1.0.3", + "@radix-ui/react-tabs": "1.0.2", "@radix-ui/react-dropdown-menu": "2.0.4", "@radix-ui/react-portal": "1.0.2", "@sentry/browser": "6.2.5", @@ -28,6 +31,7 @@ "@testing-library/react": "12.1.5", "@tldraw/vec": "1.7.1", "browser-fs-access": "0.29.1", + "canvas-roundrect-polyfill": "0.0.1", "clsx": "1.1.1", "cross-env": "7.0.3", "fake-indexeddb": "3.1.7", @@ -35,7 +39,7 @@ "i18next-browser-languagedetector": "6.1.4", "idb-keyval": "6.0.3", "image-blob-reduce": "3.0.1", - "jotai": "1.6.4", + "jotai": "1.13.1", "lodash.throttle": "4.1.1", "nanoid": "3.3.3", "open-color": "1.9.1", @@ -53,7 +57,7 @@ "roughjs": "4.5.2", "sass": "1.51.0", "socket.io-client": "2.3.1", - "tunnel-rat": "0.1.0", + "tunnel-rat": "0.1.2", "workbox-background-sync": "^6.5.4", "workbox-broadcast-update": "^6.5.4", "workbox-cacheable-response": "^6.5.4", @@ -97,8 +101,17 @@ }, "homepage": ".", "jest": { + "collectCoverageFrom": [ + "src/**/*.{js,jsx,ts,tsx}" + ], + "coveragePathIgnorePatterns": [ + "+ + +/locales", + " /src/packages/excalidraw/dist/", + " /src/packages/excalidraw/types", + " /src/packages/excalidraw/example" + ], "transformIgnorePatterns": [ - "node_modules/(?!(roughjs|points-on-curve|path-data-parser|points-on-path|browser-fs-access)/)" + "node_modules/(?!(roughjs|points-on-curve|path-data-parser|points-on-path|browser-fs-access|canvas-roundrect-polyfill)/)" ], "resetMocks": false }, @@ -129,6 +142,7 @@ "test:typecheck": "tsc", "test:update": "yarn test:app --updateSnapshot --watchAll=false", "test": "yarn test:app", + "test:coverage": "react-scripts test --passWithNoTests --coverage --watchAll", "autorelease": "node scripts/autorelease.js", "prerelease": "node scripts/prerelease.js", "release": "node scripts/release.js" diff --git a/public/index.html b/public/index.html index a8633fc4d..5509ded86 100644 --- a/public/index.html +++ b/public/index.html @@ -148,50 +148,6 @@ // setting this so that libraries installation reuses this window tab. window.name = "_excalidraw"; - <% if (process.env.REACT_APP_DISABLE_TRACKING !== 'true') { %> - - - <% if (process.env.REACT_APP_GOOGLE_ANALYTICS_ID) { %> - - - <% } %> - - - - <% if (process.env.REACT_APP_MATOMO_URL && - process.env.REACT_APP_MATOMO_SITE_ID && - process.env.REACT_APP_CDN_MATOMO_TRACKER_URL) { %> - - <% } %> - - - <% } %> + ${exportingFrameClipPath} `; + // render background rect if (appState.exportBackground && viewBackgroundColor) { const rect = svgRoot.ownerDocument!.createElementNS(SVG_NS, "rect"); @@ -169,9 +208,10 @@ export const exportToSvg = async ( const rsvg = rough.svg(svgRoot); renderSceneToSvg(elements, rsvg, svgRoot, files || {}, { - offsetX: -minX + exportPadding, - offsetY: -minY + exportPadding, + offsetX, + offsetY, exportWithDarkMode: appState.exportWithDarkMode, + exportingFrameId: exportingFrame?.id || null, }); return svgRoot; @@ -182,9 +222,36 @@ const getCanvasSize = ( elements: readonly NonDeletedExcalidrawElement[], exportPadding: number, ): [number, number, number, number] => { + // we should decide if we are exporting the whole canvas + // if so, we are not clipping elements in the frame + // and therefore, we should not do anything special + + const isExportingWholeCanvas = + Scene.getScene(elements[0])?.getNonDeletedElements()?.length === + elements.length; + + const onlyExportingSingleFrame = isOnlyExportingSingleFrame(elements); + + if (!isExportingWholeCanvas || onlyExportingSingleFrame) { + const frames = elements.filter((element) => element.type === "frame"); + + const exportedFrameIds = frames.reduce((acc, frame) => { + acc[frame.id] = true; + return acc; + }, {} as Record ); + + // elements in a frame do not affect the canvas size if we're not exporting + // the whole canvas + elements = elements.filter( + (element) => !exportedFrameIds[element.frameId ?? ""], + ); + } + const [minX, minY, maxX, maxY] = getCommonBounds(elements); - const width = distance(minX, maxX) + exportPadding * 2; - const height = distance(minY, maxY) + exportPadding + exportPadding; + const width = + distance(minX, maxX) + (onlyExportingSingleFrame ? 0 : exportPadding * 2); + const height = + distance(minY, maxY) + (onlyExportingSingleFrame ? 0 : exportPadding * 2); return [minX, minY, width, height]; }; diff --git a/src/scene/scrollbars.ts b/src/scene/scrollbars.ts index c36acde04..76a04d606 100644 --- a/src/scene/scrollbars.ts +++ b/src/scene/scrollbars.ts @@ -41,10 +41,10 @@ export const getScrollBars = ( const viewportHeightDiff = viewportHeight - viewportHeightWithZoom; const safeArea = { - top: parseInt(getGlobalCSSVariable("sat")), - bottom: parseInt(getGlobalCSSVariable("sab")), - left: parseInt(getGlobalCSSVariable("sal")), - right: parseInt(getGlobalCSSVariable("sar")), + top: parseInt(getGlobalCSSVariable("sat")) || 0, + bottom: parseInt(getGlobalCSSVariable("sab")) || 0, + left: parseInt(getGlobalCSSVariable("sal")) || 0, + right: parseInt(getGlobalCSSVariable("sar")) || 0, }; const isRTL = getLanguage().rtl; diff --git a/src/scene/selection.test.ts b/src/scene/selection.test.ts new file mode 100644 index 000000000..644d2129f --- /dev/null +++ b/src/scene/selection.test.ts @@ -0,0 +1,35 @@ +import { makeNextSelectedElementIds } from "./selection"; + +describe("makeNextSelectedElementIds", () => { + const _makeNextSelectedElementIds = ( + selectedElementIds: { [id: string]: true }, + prevSelectedElementIds: { [id: string]: true }, + expectUpdated: boolean, + ) => { + const ret = makeNextSelectedElementIds(selectedElementIds, { + selectedElementIds: prevSelectedElementIds, + }); + expect(ret === selectedElementIds).toBe(expectUpdated); + }; + it("should return prevState selectedElementIds if no change", () => { + _makeNextSelectedElementIds({}, {}, false); + _makeNextSelectedElementIds({ 1: true }, { 1: true }, false); + _makeNextSelectedElementIds( + { 1: true, 2: true }, + { 1: true, 2: true }, + false, + ); + }); + it("should return new selectedElementIds if changed", () => { + // _makeNextSelectedElementIds({ 1: true }, { 1: false }, true); + _makeNextSelectedElementIds({ 1: true }, {}, true); + _makeNextSelectedElementIds({}, { 1: true }, true); + _makeNextSelectedElementIds({ 1: true }, { 2: true }, true); + _makeNextSelectedElementIds({ 1: true }, { 1: true, 2: true }, true); + _makeNextSelectedElementIds( + { 1: true, 2: true }, + { 1: true, 3: true }, + true, + ); + }); +}); diff --git a/src/scene/selection.ts b/src/scene/selection.ts index 39d3518b1..bbb629d3c 100644 --- a/src/scene/selection.ts +++ b/src/scene/selection.ts @@ -5,17 +5,62 @@ import { import { getElementAbsoluteCoords, getElementBounds } from "../element"; import { AppState } from "../types"; import { isBoundToContainer } from "../element/typeChecks"; +import { + elementOverlapsWithFrame, + getContainingFrame, + getFrameElements, +} from "../frame"; +import { isShallowEqual } from "../utils"; + +/** + * Frames and their containing elements are not to be selected at the same time. + * Given an array of selected elements, if there are frames and their containing elements + * we only keep the frames. + * @param selectedElements + */ +export const excludeElementsInFramesFromSelection = < + T extends ExcalidrawElement, +>( + selectedElements: readonly T[], +) => { + const framesInSelection = new Set (); + + selectedElements.forEach((element) => { + if (element.type === "frame") { + framesInSelection.add(element.id); + } + }); + + return selectedElements.filter((element) => { + if (element.frameId && framesInSelection.has(element.frameId)) { + return false; + } + return true; + }); +}; export const getElementsWithinSelection = ( elements: readonly NonDeletedExcalidrawElement[], selection: NonDeletedExcalidrawElement, + excludeElementsInFrames: boolean = true, ) => { const [selectionX1, selectionY1, selectionX2, selectionY2] = getElementAbsoluteCoords(selection); - return elements.filter((element) => { - const [elementX1, elementY1, elementX2, elementY2] = + + let elementsInSelection = elements.filter((element) => { + let [elementX1, elementY1, elementX2, elementY2] = getElementBounds(element); + const containingFrame = getContainingFrame(element); + if (containingFrame) { + const [fx1, fy1, fx2, fy2] = getElementBounds(containingFrame); + + elementX1 = Math.max(fx1, elementX1); + elementY1 = Math.max(fy1, elementY1); + elementX2 = Math.min(fx2, elementX2); + elementY2 = Math.min(fy2, elementY2); + } + return ( element.locked === false && element.type !== "selection" && @@ -26,13 +71,59 @@ export const getElementsWithinSelection = ( selectionY2 >= elementY2 ); }); + + elementsInSelection = excludeElementsInFrames + ? excludeElementsInFramesFromSelection(elementsInSelection) + : elementsInSelection; + + elementsInSelection = elementsInSelection.filter((element) => { + const containingFrame = getContainingFrame(element); + + if (containingFrame) { + return elementOverlapsWithFrame(element, containingFrame); + } + + return true; + }); + + return elementsInSelection; }; -export const isSomeElementSelected = ( - elements: readonly NonDeletedExcalidrawElement[], - appState: AppState, -): boolean => - elements.some((element) => appState.selectedElementIds[element.id]); +// FIXME move this into the editor instance to keep utility methods stateless +export const isSomeElementSelected = (function () { + let lastElements: readonly NonDeletedExcalidrawElement[] | null = null; + let lastSelectedElementIds: AppState["selectedElementIds"] | null = null; + let isSelected: boolean | null = null; + + const ret = ( + elements: readonly NonDeletedExcalidrawElement[], + appState: Pick , + ): boolean => { + if ( + isSelected != null && + elements === lastElements && + appState.selectedElementIds === lastSelectedElementIds + ) { + return isSelected; + } + + isSelected = elements.some( + (element) => appState.selectedElementIds[element.id], + ); + lastElements = elements; + lastSelectedElementIds = appState.selectedElementIds; + + return isSelected; + }; + + ret.clearCache = () => { + lastElements = null; + lastSelectedElementIds = null; + isSelected = null; + }; + + return ret; +})(); /** * Returns common attribute (picked by `getAttribute` callback) of selected @@ -40,7 +131,7 @@ export const isSomeElementSelected = ( */ export const getCommonAttributeOfSelectedElements = ( elements: readonly NonDeletedExcalidrawElement[], - appState: AppState, + appState: Pick , getAttribute: (element: ExcalidrawElement) => T, ): T | null => { const attributes = Array.from( @@ -55,15 +146,18 @@ export const getCommonAttributeOfSelectedElements = ( export const getSelectedElements = ( elements: readonly NonDeletedExcalidrawElement[], - appState: AppState, - includeBoundTextElement: boolean = false, -) => - elements.filter((element) => { + appState: Pick , + opts?: { + includeBoundTextElement?: boolean; + includeElementsInFrames?: boolean; + }, +) => { + const selectedElements = elements.filter((element) => { if (appState.selectedElementIds[element.id]) { return element; } if ( - includeBoundTextElement && + opts?.includeBoundTextElement && isBoundToContainer(element) && appState.selectedElementIds[element?.containerId] ) { @@ -72,10 +166,44 @@ export const getSelectedElements = ( return null; }); + if (opts?.includeElementsInFrames) { + const elementsToInclude: ExcalidrawElement[] = []; + selectedElements.forEach((element) => { + if (element.type === "frame") { + getFrameElements(elements, element.id).forEach((e) => + elementsToInclude.push(e), + ); + } + elementsToInclude.push(element); + }); + + return elementsToInclude; + } + + return selectedElements; +}; + export const getTargetElements = ( elements: readonly NonDeletedExcalidrawElement[], - appState: AppState, + appState: Pick , ) => appState.editingElement ? [appState.editingElement] - : getSelectedElements(elements, appState, true); + : getSelectedElements(elements, appState, { + includeBoundTextElement: true, + }); + +/** + * returns prevState's selectedElementids if no change from previous, so as to + * retain reference identity for memoization + */ +export const makeNextSelectedElementIds = ( + nextSelectedElementIds: AppState["selectedElementIds"], + prevState: Pick , +) => { + if (isShallowEqual(prevState.selectedElementIds, nextSelectedElementIds)) { + return prevState.selectedElementIds; + } + + return nextSelectedElementIds; +}; diff --git a/src/shapes.tsx b/src/shapes.tsx index a8b9b5301..bb827995b 100644 --- a/src/shapes.tsx +++ b/src/shapes.tsx @@ -83,6 +83,14 @@ export const SHAPES = [ numericKey: KEYS["0"], fillable: false, }, + // TODO: frame, create icon and set up numeric key + // { + // icon: RectangleIcon, + // value: "frame", + // key: KEYS.F, + // numericKey: KEYS.SUBTRACT, + // fillable: false, + // }, ] as const; export const findShapeByKey = (key: string) => { diff --git a/src/tests/MobileMenu.test.tsx b/src/tests/MobileMenu.test.tsx index 41d5d0169..60059cb2e 100644 --- a/src/tests/MobileMenu.test.tsx +++ b/src/tests/MobileMenu.test.tsx @@ -29,6 +29,7 @@ describe("Test MobileMenu", () => { expect(h.app.device).toMatchInlineSnapshot(` Object { "canDeviceFitSidebar": false, + "isLandscape": true, "isMobile": true, "isSmScreen": false, "isTouchScreen": false, diff --git a/src/tests/__snapshots__/contextmenu.test.tsx.snap b/src/tests/__snapshots__/contextmenu.test.tsx.snap index 18656edd1..0049c9199 100644 --- a/src/tests/__snapshots__/contextmenu.test.tsx.snap +++ b/src/tests/__snapshots__/contextmenu.test.tsx.snap @@ -41,6 +41,24 @@ Object { "category": "element", }, }, + Object { + "contextItemLabel": "labels.selectAllElementsInFrame", + "name": "selectAllElementsInFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "canvas", + }, + }, + Object { + "contextItemLabel": "labels.removeAllElementsFromFrame", + "name": "removeAllElementsFromFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "history", + }, + }, "separator", Object { "contextItemLabel": "labels.copyAsPng", @@ -121,7 +139,7 @@ Object { }, Object { "contextItemLabel": "labels.createContainerFromText", - "name": "createContainerFromText", + "name": "wrapTextInContainer", "perform": [Function], "predicate": [Function], "trackEvent": Object { @@ -197,7 +215,6 @@ Object { "keyTest": [Function], "name": "flipHorizontal", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -207,7 +224,6 @@ Object { "keyTest": [Function], "name": "flipVertical", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -247,8 +263,9 @@ Object { Object { "contextItemLabel": [Function], "keyTest": [Function], - "name": "toggleLock", + "name": "toggleElementLock", "perform": [Function], + "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -279,28 +296,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -326,6 +352,7 @@ Object { "id0": true, "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object { "g1": true, }, @@ -355,6 +382,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "solid", + "frameId": null, "groupIds": Array [ "g1", ], @@ -369,7 +397,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -388,6 +416,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "solid", + "frameId": null, "groupIds": Array [ "g1", ], @@ -402,7 +431,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -459,28 +488,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -505,6 +543,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -534,6 +573,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -546,7 +586,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -592,6 +632,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -604,7 +645,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -645,28 +686,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -691,6 +741,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -718,6 +769,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -730,7 +782,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -749,6 +801,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -761,7 +814,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -807,6 +860,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -819,7 +873,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -849,6 +903,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -861,7 +916,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -877,6 +932,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -889,7 +945,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -919,6 +975,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -931,7 +988,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -947,6 +1004,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -959,7 +1017,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1000,28 +1058,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -1046,6 +1113,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -1073,6 +1141,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -1085,7 +1154,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1104,6 +1173,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1116,7 +1186,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1162,6 +1232,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1174,7 +1245,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1204,6 +1275,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1216,7 +1288,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1232,6 +1304,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -1244,7 +1317,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1274,6 +1347,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -1286,7 +1360,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1302,6 +1376,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1314,7 +1389,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1355,28 +1430,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -1401,6 +1485,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -1430,6 +1515,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1441,14 +1527,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 453191, + "versionNonce": 449462985, "width": 20, "x": -10, "y": 0, @@ -1488,6 +1574,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1499,14 +1586,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 453191, + "versionNonce": 449462985, "width": 20, "x": -10, "y": 0, @@ -1541,28 +1628,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -1585,6 +1681,7 @@ Object { "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -1612,6 +1709,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1623,14 +1721,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 337897, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 449462985, + "versionNonce": 453191, "width": 20, "x": -10, "y": 0, @@ -1670,6 +1768,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1681,14 +1780,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 337897, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 1278240551, + "versionNonce": 449462985, "width": 20, "x": -10, "y": 0, @@ -1710,6 +1809,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1721,14 +1821,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 337897, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 449462985, + "versionNonce": 453191, "width": 20, "x": -10, "y": 0, @@ -1763,28 +1863,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -1809,6 +1918,7 @@ Object { "selectedElementIds": Object { "id0_copy": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -1836,6 +1946,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1848,7 +1959,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1867,6 +1978,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0_copy", @@ -1879,7 +1991,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1925,6 +2037,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1937,7 +2050,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1967,6 +2080,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -1979,7 +2093,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1995,6 +2109,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0_copy", @@ -2007,7 +2122,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2048,28 +2163,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -2096,8 +2220,8 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object { "id3": true, }, @@ -2127,6 +2251,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -2141,7 +2266,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2160,6 +2285,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -2174,7 +2300,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2220,6 +2346,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2232,7 +2359,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2262,6 +2389,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2274,7 +2402,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2290,6 +2418,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -2302,7 +2431,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2323,7 +2452,6 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, }, "selectedGroupIds": Object { "id3": true, @@ -2336,6 +2464,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -2350,7 +2479,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2366,6 +2495,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -2380,7 +2510,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2412,7 +2542,7 @@ Object { "collaborators": Map {}, "contextMenu": null, "currentChartType": "bar", - "currentItemBackgroundColor": "#e64980", + "currentItemBackgroundColor": "#a5d8ff", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "cross-hatch", "currentItemFontFamily": 1, @@ -2421,28 +2551,37 @@ Object { "currentItemRoughness": 2, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#c92a2a", + "currentItemStrokeColor": "#e03131", "currentItemStrokeStyle": "dotted", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -2450,7 +2589,7 @@ Object { "offsetTop": 10, "openDialog": null, "openMenu": null, - "openPopup": "backgroundColorPicker", + "openPopup": null, "openSidebar": null, "pasteDialog": Object { "data": null, @@ -2467,6 +2606,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -2493,9 +2633,10 @@ Object { exports[`contextMenu element selecting 'Paste styles' in context menu pastes styles: [end of test] element 0 1`] = ` Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2508,7 +2649,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "dotted", "strokeWidth": 2, "type": "rectangle", @@ -2524,9 +2665,10 @@ Object { exports[`contextMenu element selecting 'Paste styles' in context menu pastes styles: [end of test] element 1 1`] = ` Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -2539,7 +2681,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "dotted", "strokeWidth": 2, "type": "rectangle", @@ -2585,6 +2727,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2597,7 +2740,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2627,6 +2770,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2639,7 +2783,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2655,6 +2799,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -2667,7 +2812,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2697,6 +2842,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2709,7 +2855,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2725,6 +2871,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -2737,7 +2884,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2767,6 +2914,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2779,7 +2927,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2792,9 +2940,10 @@ Object { }, Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -2807,7 +2956,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2837,6 +2986,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2849,7 +2999,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2862,9 +3012,10 @@ Object { }, Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -2877,7 +3028,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2907,6 +3058,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2919,7 +3071,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2932,9 +3084,10 @@ Object { }, Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -2947,7 +3100,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", @@ -2977,6 +3130,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -2989,7 +3143,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3002,9 +3156,10 @@ Object { }, Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3017,7 +3172,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "dotted", "strokeWidth": 2, "type": "rectangle", @@ -3047,6 +3202,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3059,7 +3215,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3072,9 +3228,10 @@ Object { }, Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3087,7 +3244,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "dotted", "strokeWidth": 2, "type": "rectangle", @@ -3117,6 +3274,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3129,7 +3287,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3142,9 +3300,10 @@ Object { }, Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3157,7 +3316,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "dotted", "strokeWidth": 2, "type": "rectangle", @@ -3184,9 +3343,10 @@ Object { "elements": Array [ Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3199,7 +3359,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "dotted", "strokeWidth": 2, "type": "rectangle", @@ -3212,9 +3372,10 @@ Object { }, Object { "angle": 0, - "backgroundColor": "#e64980", + "backgroundColor": "#a5d8ff", "boundElements": null, "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3227,7 +3388,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#c92a2a", + "strokeColor": "#e03131", "strokeStyle": "dotted", "strokeWidth": 2, "type": "rectangle", @@ -3246,7 +3407,7 @@ Object { exports[`contextMenu element selecting 'Paste styles' in context menu pastes styles: [end of test] number of elements 1`] = `2`; -exports[`contextMenu element selecting 'Paste styles' in context menu pastes styles: [end of test] number of renders 1`] = `33`; +exports[`contextMenu element selecting 'Paste styles' in context menu pastes styles: [end of test] number of renders 1`] = `32`; exports[`contextMenu element selecting 'Send backward' in context menu sends element backward: [end of test] appState 1`] = ` Object { @@ -3268,28 +3429,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -3314,6 +3484,7 @@ Object { "selectedElementIds": Object { "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -3341,6 +3512,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3353,7 +3525,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3372,6 +3544,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3384,7 +3557,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3430,6 +3603,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3442,7 +3616,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3472,6 +3646,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3484,7 +3659,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3500,6 +3675,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3512,7 +3688,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3542,6 +3718,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3554,7 +3731,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3570,6 +3747,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3582,7 +3760,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3623,28 +3801,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -3669,6 +3856,7 @@ Object { "selectedElementIds": Object { "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -3696,6 +3884,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3708,7 +3897,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3727,6 +3916,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3739,7 +3929,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3785,6 +3975,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3797,7 +3988,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3827,6 +4018,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3839,7 +4031,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3855,6 +4047,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3867,7 +4060,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3897,6 +4090,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -3909,7 +4103,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3925,6 +4119,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -3937,7 +4132,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3978,28 +4173,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -4026,8 +4230,8 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -4055,6 +4259,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -4066,14 +4271,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 4, - "versionNonce": 238820263, + "versionNonce": 1014066025, "width": 20, "x": -10, "y": 0, @@ -4086,6 +4291,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -4097,14 +4303,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 401146281, - "strokeColor": "#000000", + "seed": 453191, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 4, - "versionNonce": 400692809, + "versionNonce": 238820263, "width": 20, "x": 20, "y": 30, @@ -4144,6 +4350,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -4155,14 +4362,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 453191, + "versionNonce": 449462985, "width": 20, "x": -10, "y": 0, @@ -4186,6 +4393,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -4197,14 +4405,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 453191, + "versionNonce": 449462985, "width": 20, "x": -10, "y": 0, @@ -4214,6 +4422,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -4225,14 +4434,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 401146281, - "strokeColor": "#000000", + "seed": 453191, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 2019559783, + "versionNonce": 401146281, "width": 20, "x": 20, "y": 30, @@ -4247,7 +4456,6 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, }, "selectedGroupIds": Object { "id3": true, @@ -4260,6 +4468,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -4273,14 +4482,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 1116226695, + "versionNonce": 1150084233, "width": 20, "x": -10, "y": 0, @@ -4290,6 +4499,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -4303,14 +4513,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 401146281, - "strokeColor": "#000000", + "seed": 453191, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 1014066025, + "versionNonce": 1116226695, "width": 20, "x": 20, "y": 30, @@ -4325,7 +4535,6 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -4336,6 +4545,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -4347,14 +4557,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 4, - "versionNonce": 238820263, + "versionNonce": 1014066025, "width": 20, "x": -10, "y": 0, @@ -4364,6 +4574,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -4375,14 +4586,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 401146281, - "strokeColor": "#000000", + "seed": 453191, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 4, - "versionNonce": 400692809, + "versionNonce": 238820263, "width": 20, "x": 20, "y": 30, @@ -4438,6 +4649,24 @@ Object { "category": "element", }, }, + Object { + "contextItemLabel": "labels.selectAllElementsInFrame", + "name": "selectAllElementsInFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "canvas", + }, + }, + Object { + "contextItemLabel": "labels.removeAllElementsFromFrame", + "name": "removeAllElementsFromFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "history", + }, + }, "separator", Object { "contextItemLabel": "labels.copyAsPng", @@ -4518,7 +4747,7 @@ Object { }, Object { "contextItemLabel": "labels.createContainerFromText", - "name": "createContainerFromText", + "name": "wrapTextInContainer", "perform": [Function], "predicate": [Function], "trackEvent": Object { @@ -4594,7 +4823,6 @@ Object { "keyTest": [Function], "name": "flipHorizontal", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -4604,7 +4832,6 @@ Object { "keyTest": [Function], "name": "flipVertical", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -4644,8 +4871,9 @@ Object { Object { "contextItemLabel": [Function], "keyTest": [Function], - "name": "toggleLock", + "name": "toggleElementLock", "perform": [Function], + "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -4676,28 +4904,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -4716,7 +4953,6 @@ Object { "pendingImageElementId": null, "previousSelectedElementIds": Object { "id0": true, - "id2": true, }, "resizingElement": null, "scrollX": 0, @@ -4725,9 +4961,8 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -4755,6 +4990,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4767,7 +5003,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4786,6 +5022,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -4798,7 +5035,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4844,6 +5081,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4856,7 +5094,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4886,6 +5124,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4898,7 +5137,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4914,6 +5153,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -4926,7 +5166,7 @@ Object { "type": 3, }, "seed": 453191, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4988,6 +5228,24 @@ Object { "category": "element", }, }, + Object { + "contextItemLabel": "labels.selectAllElementsInFrame", + "name": "selectAllElementsInFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "canvas", + }, + }, + Object { + "contextItemLabel": "labels.removeAllElementsFromFrame", + "name": "removeAllElementsFromFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "history", + }, + }, "separator", Object { "contextItemLabel": "labels.copyAsPng", @@ -5068,7 +5326,7 @@ Object { }, Object { "contextItemLabel": "labels.createContainerFromText", - "name": "createContainerFromText", + "name": "wrapTextInContainer", "perform": [Function], "predicate": [Function], "trackEvent": Object { @@ -5144,7 +5402,6 @@ Object { "keyTest": [Function], "name": "flipHorizontal", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -5154,7 +5411,6 @@ Object { "keyTest": [Function], "name": "flipVertical", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -5194,8 +5450,9 @@ Object { Object { "contextItemLabel": [Function], "keyTest": [Function], - "name": "toggleLock", + "name": "toggleElementLock", "perform": [Function], + "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -5226,28 +5483,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -5266,7 +5532,6 @@ Object { "pendingImageElementId": null, "previousSelectedElementIds": Object { "id0": true, - "id2": true, }, "resizingElement": null, "scrollX": 0, @@ -5275,9 +5540,8 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object { "id4": true, }, @@ -5307,6 +5571,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -5320,14 +5585,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 1014066025, + "versionNonce": 1116226695, "width": 10, "x": -10, "y": 0, @@ -5340,6 +5605,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -5353,14 +5619,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 401146281, - "strokeColor": "#000000", + "seed": 453191, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 238820263, + "versionNonce": 1014066025, "width": 10, "x": 10, "y": 0, @@ -5400,6 +5666,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5411,14 +5678,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 453191, + "versionNonce": 449462985, "width": 10, "x": -10, "y": 0, @@ -5442,6 +5709,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5453,14 +5721,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 453191, + "versionNonce": 449462985, "width": 10, "x": -10, "y": 0, @@ -5470,6 +5738,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -5481,14 +5750,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 401146281, - "strokeColor": "#000000", + "seed": 453191, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 2019559783, + "versionNonce": 401146281, "width": 10, "x": 10, "y": 0, @@ -5503,8 +5772,6 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, "selectedGroupIds": Object { "id4": true, @@ -5517,6 +5784,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -5530,14 +5798,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 449462985, - "strokeColor": "#000000", + "seed": 1278240551, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 1014066025, + "versionNonce": 1116226695, "width": 10, "x": -10, "y": 0, @@ -5547,6 +5815,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -5560,14 +5829,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 401146281, - "strokeColor": "#000000", + "seed": 453191, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 238820263, + "versionNonce": 1014066025, "width": 10, "x": 10, "y": 0, @@ -5642,6 +5911,16 @@ Object { "category": "canvas", }, }, + Object { + "contextItemLabel": "labels.elementLock.unlockAll", + "name": "unlockAllElements", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "canvas", + }, + "viewMode": false, + }, "separator", Object { "checked": [Function], @@ -5707,28 +5986,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -5751,6 +6039,7 @@ Object { "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -5837,6 +6126,24 @@ Object { "category": "element", }, }, + Object { + "contextItemLabel": "labels.selectAllElementsInFrame", + "name": "selectAllElementsInFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "canvas", + }, + }, + Object { + "contextItemLabel": "labels.removeAllElementsFromFrame", + "name": "removeAllElementsFromFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "history", + }, + }, "separator", Object { "contextItemLabel": "labels.copyAsPng", @@ -5917,7 +6224,7 @@ Object { }, Object { "contextItemLabel": "labels.createContainerFromText", - "name": "createContainerFromText", + "name": "wrapTextInContainer", "perform": [Function], "predicate": [Function], "trackEvent": Object { @@ -5993,7 +6300,6 @@ Object { "keyTest": [Function], "name": "flipHorizontal", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -6003,7 +6309,6 @@ Object { "keyTest": [Function], "name": "flipVertical", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -6043,8 +6348,9 @@ Object { Object { "contextItemLabel": [Function], "keyTest": [Function], - "name": "toggleLock", + "name": "toggleElementLock", "perform": [Function], + "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -6075,28 +6381,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -6121,6 +6436,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -6183,6 +6499,24 @@ Object { "category": "element", }, }, + Object { + "contextItemLabel": "labels.selectAllElementsInFrame", + "name": "selectAllElementsInFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "canvas", + }, + }, + Object { + "contextItemLabel": "labels.removeAllElementsFromFrame", + "name": "removeAllElementsFromFrame", + "perform": [Function], + "predicate": [Function], + "trackEvent": Object { + "category": "history", + }, + }, "separator", Object { "contextItemLabel": "labels.copyAsPng", @@ -6263,7 +6597,7 @@ Object { }, Object { "contextItemLabel": "labels.createContainerFromText", - "name": "createContainerFromText", + "name": "wrapTextInContainer", "perform": [Function], "predicate": [Function], "trackEvent": Object { @@ -6339,7 +6673,6 @@ Object { "keyTest": [Function], "name": "flipHorizontal", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -6349,7 +6682,6 @@ Object { "keyTest": [Function], "name": "flipVertical", "perform": [Function], - "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -6389,8 +6721,9 @@ Object { Object { "contextItemLabel": [Function], "keyTest": [Function], - "name": "toggleLock", + "name": "toggleElementLock", "perform": [Function], + "predicate": [Function], "trackEvent": Object { "category": "element", }, @@ -6421,28 +6754,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 100, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -6467,6 +6809,7 @@ Object { "selectedElementIds": Object { "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -6494,6 +6837,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -6506,7 +6850,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6525,6 +6869,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id0", @@ -6537,7 +6882,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6556,6 +6901,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id1", @@ -6568,7 +6914,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6614,6 +6960,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id0", @@ -6626,7 +6973,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", diff --git a/src/tests/__snapshots__/dragCreate.test.tsx.snap b/src/tests/__snapshots__/dragCreate.test.tsx.snap index ffcf57b0d..b8d95d221 100644 --- a/src/tests/__snapshots__/dragCreate.test.tsx.snap +++ b/src/tests/__snapshots__/dragCreate.test.tsx.snap @@ -10,6 +10,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -35,7 +36,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -56,6 +57,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -68,7 +70,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -89,6 +91,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -101,7 +104,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -122,6 +125,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -147,7 +151,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -168,6 +172,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -180,7 +185,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", diff --git a/src/tests/__snapshots__/export.test.tsx.snap b/src/tests/__snapshots__/export.test.tsx.snap index f292d199a..5f860150e 100644 --- a/src/tests/__snapshots__/export.test.tsx.snap +++ b/src/tests/__snapshots__/export.test.tsx.snap @@ -15,6 +15,7 @@ exports[`export exporting svg containing transformed images: svg export output 1 src: url(\\"https://excalidraw.com/Cascadia.woff2\\"); } + - " + " `; diff --git a/src/tests/__snapshots__/linearElementEditor.test.tsx.snap b/src/tests/__snapshots__/linearElementEditor.test.tsx.snap index a2f142b66..d1a73e72f 100644 --- a/src/tests/__snapshots__/linearElementEditor.test.tsx.snap +++ b/src/tests/__snapshots__/linearElementEditor.test.tsx.snap @@ -5,7 +5,7 @@ exports[`Test Linear Elements Test bound text element should match styles for te class="excalidraw-wysiwyg" data-type="wysiwyg" dir="auto" - style="position: absolute; display: inline-block; min-height: 1em; margin: 0px; padding: 0px; border: 0px; outline: 0; resize: none; background: transparent; overflow: hidden; z-index: var(--zIndex-wysiwyg); word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; box-sizing: content-box; width: 10.5px; height: 25px; left: 35px; top: 7.5px; transform: translate(0px, 0px) scale(1) rotate(0deg); text-align: center; vertical-align: middle; color: rgb(0, 0, 0); opacity: 1; filter: var(--theme-filter); max-height: -7.5px; font: Emoji 20px 20px; line-height: 1.25; font-family: Virgil, Segoe UI Emoji;" + style="position: absolute; display: inline-block; min-height: 1em; margin: 0px; padding: 0px; border: 0px; outline: 0; resize: none; background: transparent; overflow: hidden; z-index: var(--zIndex-wysiwyg); word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; box-sizing: content-box; width: 10.5px; height: 25px; left: 35px; top: 7.5px; transform: translate(0px, 0px) scale(1) rotate(0deg); text-align: center; vertical-align: middle; color: rgb(30, 30, 30); opacity: 1; filter: var(--theme-filter); max-height: -7.5px; font: Emoji 20px 20px; line-height: 1.25; font-family: Virgil, Segoe UI Emoji;" tabindex="0" wrap="off" /> diff --git a/src/tests/__snapshots__/move.test.tsx.snap b/src/tests/__snapshots__/move.test.tsx.snap index 7c0eed29b..5084d1508 100644 --- a/src/tests/__snapshots__/move.test.tsx.snap +++ b/src/tests/__snapshots__/move.test.tsx.snap @@ -6,6 +6,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0_copy", @@ -18,7 +19,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -37,6 +38,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -49,7 +51,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -68,6 +70,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -80,7 +83,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -104,6 +107,7 @@ Object { }, ], "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id0", @@ -116,7 +120,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -140,6 +144,7 @@ Object { }, ], "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 300, "id": "id1", @@ -152,7 +157,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -177,6 +182,7 @@ Object { "gap": 10, }, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 81.48231043525051, "id": "id2", @@ -206,7 +212,7 @@ Object { "focus": -0.6000000000000001, "gap": 10, }, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", diff --git a/src/tests/__snapshots__/multiPointCreate.test.tsx.snap b/src/tests/__snapshots__/multiPointCreate.test.tsx.snap index 03ef0d26b..0a6ae0cc8 100644 --- a/src/tests/__snapshots__/multiPointCreate.test.tsx.snap +++ b/src/tests/__snapshots__/multiPointCreate.test.tsx.snap @@ -8,6 +8,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 110, "id": "id0", @@ -40,7 +41,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -61,6 +62,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 110, "id": "id0", @@ -93,7 +95,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", diff --git a/src/tests/__snapshots__/regressionTests.test.tsx.snap b/src/tests/__snapshots__/regressionTests.test.tsx.snap index 967a0cf69..03ced1c37 100644 --- a/src/tests/__snapshots__/regressionTests.test.tsx.snap +++ b/src/tests/__snapshots__/regressionTests.test.tsx.snap @@ -20,28 +20,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -62,9 +71,6 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, - "id4": true, - "id6": true, }, "resizingElement": null, "scrollX": 0, @@ -73,8 +79,8 @@ Object { "selectedElementIds": Object { "id0": true, "id2": true, - "id7": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object { "id5": true, }, @@ -98,103 +104,6 @@ Object { } `; -exports[`given element A and group of elements B and given both are selected when user clicks on B, on pointer up only elements from B should be selected: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 10, - "x": 0, - "y": 30, -} -`; - -exports[`given element A and group of elements B and given both are selected when user clicks on B, on pointer up only elements from B should be selected: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id5", - ], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1014066025, - "width": 10, - "x": 0, - "y": 0, -} -`; - -exports[`given element A and group of elements B and given both are selected when user clicks on B, on pointer up only elements from B should be selected: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id5", - ], - "height": 10, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 238820263, - "width": 10, - "x": 0, - "y": 60, -} -`; - exports[`given element A and group of elements B and given both are selected when user clicks on B, on pointer up only elements from B should be selected: [end of test] history 1`] = ` Object { "recording": false, @@ -228,6 +137,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -240,7 +150,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -270,6 +180,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -282,7 +193,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -298,6 +209,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -310,7 +222,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -340,6 +252,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -352,7 +265,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -368,6 +281,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -380,7 +294,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -396,6 +310,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -408,7 +323,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -429,8 +344,6 @@ Object { "selectedElementIds": Object { "id0": true, "id2": true, - "id3": true, - "id4": true, }, "selectedGroupIds": Object { "id5": true, @@ -443,6 +356,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -455,7 +369,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -471,6 +385,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id5", ], @@ -485,7 +400,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -501,6 +416,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id5", ], @@ -515,7 +431,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -532,7 +448,7 @@ Object { } `; -exports[`given element A and group of elements B and given both are selected when user clicks on B, on pointer up only elements from B should be selected: [end of test] number of elements 1`] = `3`; +exports[`given element A and group of elements B and given both are selected when user clicks on B, on pointer up only elements from B should be selected: [end of test] number of elements 1`] = `0`; exports[`given element A and group of elements B and given both are selected when user clicks on B, on pointer up only elements from B should be selected: [end of test] number of renders 1`] = `28`; @@ -556,28 +472,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -598,28 +523,20 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, - "id5": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object { - "id0": false, "id1": true, - "id2": false, - "id3": true, - "id5": true, - "id6": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object { "id0": true, "id1": true, "id2": true, - "id3": true, "id4": false, - "id5": true, }, "selectedLinearElement": null, "selectionElement": null, @@ -641,103 +558,6 @@ Object { } `; -exports[`given element A and group of elements B and given both are selected when user shift-clicks on B, on pointer up only element A should be selected: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 100, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 100, - "x": 110, - "y": 110, -} -`; - -exports[`given element A and group of elements B and given both are selected when user shift-clicks on B, on pointer up only element A should be selected: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - ], - "height": 100, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1116226695, - "width": 100, - "x": 0, - "y": 0, -} -`; - -exports[`given element A and group of elements B and given both are selected when user shift-clicks on B, on pointer up only element A should be selected: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - ], - "height": 100, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1014066025, - "width": 100, - "x": 220, - "y": 220, -} -`; - exports[`given element A and group of elements B and given both are selected when user shift-clicks on B, on pointer up only element A should be selected: [end of test] history 1`] = ` Object { "recording": false, @@ -771,6 +591,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id0", @@ -783,7 +604,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -813,6 +634,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id0", @@ -825,7 +647,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -841,6 +663,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id1", @@ -853,7 +676,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -883,6 +706,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id0", @@ -895,7 +719,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -911,6 +735,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id1", @@ -923,7 +748,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -939,6 +764,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id2", @@ -951,7 +777,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -972,7 +798,6 @@ Object { "selectedElementIds": Object { "id0": true, "id2": true, - "id3": true, }, "selectedGroupIds": Object { "id4": true, @@ -985,6 +810,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id1", @@ -997,7 +823,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1013,6 +839,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -1027,7 +854,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1043,6 +870,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -1057,7 +885,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1074,7 +902,7 @@ Object { } `; -exports[`given element A and group of elements B and given both are selected when user shift-clicks on B, on pointer up only element A should be selected: [end of test] number of elements 1`] = `3`; +exports[`given element A and group of elements B and given both are selected when user shift-clicks on B, on pointer up only element A should be selected: [end of test] number of elements 1`] = `0`; exports[`given element A and group of elements B and given both are selected when user shift-clicks on B, on pointer up only element A should be selected: [end of test] number of renders 1`] = `24`; @@ -1098,28 +926,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": "id10", "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": false, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -1142,9 +979,9 @@ Object { "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object { - "id12": true, "id7": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -1166,107 +1003,6 @@ Object { } `; -exports[`regression tests Cmd/Ctrl-click exclusively select element under pointer: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - "id10", - ], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 493213705, - "width": 10, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests Cmd/Ctrl-click exclusively select element under pointer: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - "id10", - ], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 915032327, - "width": 10, - "x": 30, - "y": 0, -} -`; - -exports[`regression tests Cmd/Ctrl-click exclusively select element under pointer: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id10", - ], - "height": 10, - "id": "id7", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 400692809, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 81784553, - "width": 10, - "x": 60, - "y": 0, -} -`; - exports[`regression tests Cmd/Ctrl-click exclusively select element under pointer: [end of test] history 1`] = ` Object { "recording": false, @@ -1300,6 +1036,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -1312,7 +1049,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1342,6 +1079,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -1354,7 +1092,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1370,6 +1108,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -1382,7 +1121,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1403,8 +1142,6 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, "selectedGroupIds": Object { "id4": true, @@ -1417,6 +1154,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -1431,7 +1169,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1447,6 +1185,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -1461,7 +1200,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1481,7 +1220,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id5": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -1492,6 +1230,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -1506,7 +1245,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1522,6 +1261,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -1536,7 +1276,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1566,6 +1306,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -1580,7 +1321,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1596,6 +1337,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -1610,7 +1352,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1626,6 +1368,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id7", @@ -1638,7 +1381,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1660,8 +1403,6 @@ Object { "id0": true, "id1": true, "id7": true, - "id8": true, - "id9": true, }, "selectedGroupIds": Object { "id10": true, @@ -1674,6 +1415,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", "id10", @@ -1689,7 +1431,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1705,6 +1447,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", "id10", @@ -1720,7 +1463,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1736,6 +1479,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id10", ], @@ -1750,7 +1494,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1770,7 +1514,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id11": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -1781,6 +1524,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", "id10", @@ -1796,7 +1540,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1812,6 +1556,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", "id10", @@ -1827,7 +1572,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1843,6 +1588,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id10", ], @@ -1857,7 +1603,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1876,7 +1622,6 @@ Object { "editingLinearElement": null, "name": "Untitled-201933152653", "selectedElementIds": Object { - "id12": true, "id7": true, }, "selectedGroupIds": Object {}, @@ -1888,6 +1633,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", "id10", @@ -1903,7 +1649,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1919,6 +1665,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", "id10", @@ -1934,7 +1681,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1950,6 +1697,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id10", ], @@ -1964,7 +1712,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -1981,7 +1729,7 @@ Object { } `; -exports[`regression tests Cmd/Ctrl-click exclusively select element under pointer: [end of test] number of elements 1`] = `3`; +exports[`regression tests Cmd/Ctrl-click exclusively select element under pointer: [end of test] number of elements 1`] = `0`; exports[`regression tests Cmd/Ctrl-click exclusively select element under pointer: [end of test] number of renders 1`] = `43`; @@ -2005,28 +1753,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -2052,8 +1809,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id0": true, - "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -2075,37 +1832,6 @@ Object { } `; -exports[`regression tests Drags selected element when hitting only bounding box and keeps element selected: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 3, - "versionNonce": 453191, - "width": 10, - "x": 25, - "y": 25, -} -`; - exports[`regression tests Drags selected element when hitting only bounding box and keeps element selected: [end of test] history 1`] = ` Object { "recording": false, @@ -2139,6 +1865,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -2151,7 +1878,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -2171,7 +1898,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id1": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -2182,6 +1908,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -2194,7 +1921,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -2211,7 +1938,7 @@ Object { } `; -exports[`regression tests Drags selected element when hitting only bounding box and keeps element selected: [end of test] number of elements 1`] = `1`; +exports[`regression tests Drags selected element when hitting only bounding box and keeps element selected: [end of test] number of elements 1`] = `0`; exports[`regression tests Drags selected element when hitting only bounding box and keeps element selected: [end of test] number of renders 1`] = `12`; @@ -2235,28 +1962,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -2275,7 +2011,6 @@ Object { "pendingImageElementId": null, "previousSelectedElementIds": Object { "id0": true, - "id3": true, }, "resizingElement": null, "scrollX": 0, @@ -2284,9 +2019,8 @@ Object { "selectedElementIds": Object { "id0": true, "id2": true, - "id3": true, - "id4": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object { "id5": true, }, @@ -2310,103 +2044,6 @@ Object { } `; -exports[`regression tests adjusts z order when grouping: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 10, - "x": 30, - "y": 10, -} -`; - -exports[`regression tests adjusts z order when grouping: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id5", - ], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1014066025, - "width": 10, - "x": 10, - "y": 10, -} -`; - -exports[`regression tests adjusts z order when grouping: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id5", - ], - "height": 10, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 238820263, - "width": 10, - "x": 50, - "y": 10, -} -`; - exports[`regression tests adjusts z order when grouping: [end of test] history 1`] = ` Object { "recording": false, @@ -2440,6 +2077,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -2452,7 +2090,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2482,6 +2120,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -2494,7 +2133,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2510,6 +2149,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -2522,7 +2162,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2552,6 +2192,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -2564,7 +2205,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2580,6 +2221,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -2592,7 +2234,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2608,6 +2250,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -2620,7 +2263,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2641,8 +2284,6 @@ Object { "selectedElementIds": Object { "id0": true, "id2": true, - "id3": true, - "id4": true, }, "selectedGroupIds": Object { "id5": true, @@ -2655,6 +2296,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -2667,7 +2309,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2683,6 +2325,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id5", ], @@ -2697,7 +2340,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2713,6 +2356,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id5", ], @@ -2727,7 +2371,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2744,7 +2388,7 @@ Object { } `; -exports[`regression tests adjusts z order when grouping: [end of test] number of elements 1`] = `3`; +exports[`regression tests adjusts z order when grouping: [end of test] number of elements 1`] = `0`; exports[`regression tests adjusts z order when grouping: [end of test] number of renders 1`] = `22`; @@ -2768,28 +2412,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -2815,8 +2468,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id0": true, - "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -2838,68 +2491,6 @@ Object { } `; -exports[`regression tests alt-drag duplicates an element: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0_copy", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 2019559783, - "width": 10, - "x": 10, - "y": 10, -} -`; - -exports[`regression tests alt-drag duplicates an element: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 453191, - "width": 10, - "x": 20, - "y": 20, -} -`; - exports[`regression tests alt-drag duplicates an element: [end of test] history 1`] = ` Object { "recording": false, @@ -2933,6 +2524,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -2945,7 +2537,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -2965,7 +2557,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id1": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -2976,6 +2567,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0_copy", @@ -2988,7 +2580,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3004,6 +2596,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -3016,7 +2609,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3033,7 +2626,7 @@ Object { } `; -exports[`regression tests alt-drag duplicates an element: [end of test] number of elements 1`] = `2`; +exports[`regression tests alt-drag duplicates an element: [end of test] number of elements 1`] = `0`; exports[`regression tests alt-drag duplicates an element: [end of test] number of renders 1`] = `12`; @@ -3057,28 +2650,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -3103,6 +2705,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -3124,37 +2727,6 @@ Object { } `; -exports[`regression tests arrow keys: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 8, - "versionNonce": 1116226695, - "width": 10, - "x": 9, - "y": 9, -} -`; - exports[`regression tests arrow keys: [end of test] history 1`] = ` Object { "recording": false, @@ -3188,6 +2760,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -3200,7 +2773,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3217,7 +2790,7 @@ Object { } `; -exports[`regression tests arrow keys: [end of test] number of elements 1`] = `1`; +exports[`regression tests arrow keys: [end of test] number of elements 1`] = `0`; exports[`regression tests arrow keys: [end of test] number of renders 1`] = `21`; @@ -3241,28 +2814,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -3288,8 +2870,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id1": true, - "id3": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -3311,99 +2893,6 @@ Object { } `; -exports[`regression tests can drag element that covers another element, while another elem is selected: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 200, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 1278240551, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 449462985, - "width": 200, - "x": 100, - "y": 100, -} -`; - -exports[`regression tests can drag element that covers another element, while another elem is selected: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 200, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 453191, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1014066025, - "width": 200, - "x": 300, - "y": 300, -} -`; - -exports[`regression tests can drag element that covers another element, while another elem is selected: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 350, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 2019559783, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 1150084233, - "width": 350, - "x": 300, - "y": 300, -} -`; - exports[`regression tests can drag element that covers another element, while another elem is selected: [end of test] history 1`] = ` Object { "recording": false, @@ -3437,6 +2926,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id0", @@ -3448,14 +2938,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 1278240551, - "strokeColor": "#000000", + "seed": 337897, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 449462985, + "versionNonce": 1278240551, "width": 200, "x": 100, "y": 100, @@ -3479,6 +2969,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id0", @@ -3490,14 +2981,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 1278240551, - "strokeColor": "#000000", + "seed": 337897, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 449462985, + "versionNonce": 1278240551, "width": 200, "x": 100, "y": 100, @@ -3507,6 +2998,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id1", @@ -3518,14 +3010,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 453191, - "strokeColor": "#000000", + "seed": 449462985, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 401146281, + "versionNonce": 453191, "width": 200, "x": 100, "y": 100, @@ -3549,6 +3041,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id0", @@ -3560,14 +3053,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 1278240551, - "strokeColor": "#000000", + "seed": 337897, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 449462985, + "versionNonce": 1278240551, "width": 200, "x": 100, "y": 100, @@ -3577,6 +3070,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id1", @@ -3588,14 +3082,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 453191, - "strokeColor": "#000000", + "seed": 449462985, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 401146281, + "versionNonce": 453191, "width": 200, "x": 100, "y": 100, @@ -3605,6 +3099,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 350, "id": "id2", @@ -3616,14 +3111,14 @@ Object { "roundness": Object { "type": 2, }, - "seed": 2019559783, - "strokeColor": "#000000", + "seed": 401146281, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", "updated": 1, "version": 2, - "versionNonce": 1150084233, + "versionNonce": 2019559783, "width": 350, "x": 300, "y": 300, @@ -3637,7 +3132,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id1": true, - "id3": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -3648,6 +3142,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id0", @@ -3659,14 +3154,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 1278240551, - "strokeColor": "#000000", + "seed": 337897, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 2, - "versionNonce": 449462985, + "versionNonce": 1278240551, "width": 200, "x": 100, "y": 100, @@ -3676,6 +3171,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 200, "id": "id1", @@ -3687,14 +3183,14 @@ Object { "roundness": Object { "type": 3, }, - "seed": 453191, - "strokeColor": "#000000", + "seed": 449462985, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 3, - "versionNonce": 1014066025, + "versionNonce": 1116226695, "width": 200, "x": 300, "y": 300, @@ -3704,6 +3200,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 350, "id": "id2", @@ -3715,14 +3212,14 @@ Object { "roundness": Object { "type": 2, }, - "seed": 2019559783, - "strokeColor": "#000000", + "seed": 401146281, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", "updated": 1, "version": 2, - "versionNonce": 1150084233, + "versionNonce": 2019559783, "width": 350, "x": 300, "y": 300, @@ -3733,7 +3230,7 @@ Object { } `; -exports[`regression tests can drag element that covers another element, while another elem is selected: [end of test] number of elements 1`] = `3`; +exports[`regression tests can drag element that covers another element, while another elem is selected: [end of test] number of elements 1`] = `0`; exports[`regression tests can drag element that covers another element, while another elem is selected: [end of test] number of renders 1`] = `20`; @@ -3748,7 +3245,7 @@ Object { "collaborators": Map {}, "contextMenu": null, "currentChartType": "bar", - "currentItemBackgroundColor": "#fa5252", + "currentItemBackgroundColor": "#ffc9c9", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "hachure", "currentItemFontFamily": 1, @@ -3757,28 +3254,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#5f3dc4", + "currentItemStrokeColor": "#1971c2", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -3786,7 +3292,7 @@ Object { "offsetTop": 0, "openDialog": null, "openMenu": null, - "openPopup": "strokeColorPicker", + "openPopup": "elementStroke", "openSidebar": null, "pasteDialog": Object { "data": null, @@ -3803,6 +3309,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -3824,37 +3331,6 @@ Object { } `; -exports[`regression tests change the properties of a shape: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "#fa5252", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#5f3dc4", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 453191, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests change the properties of a shape: [end of test] history 1`] = ` Object { "recording": false, @@ -3888,6 +3364,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -3900,7 +3377,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3927,9 +3404,10 @@ Object { "elements": Array [ Object { "angle": 0, - "backgroundColor": "#fa5252", + "backgroundColor": "#ffec99", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -3942,7 +3420,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3969,9 +3447,10 @@ Object { "elements": Array [ Object { "angle": 0, - "backgroundColor": "#fa5252", + "backgroundColor": "#ffc9c9", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -3984,7 +3463,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#5f3dc4", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -3997,13 +3476,56 @@ Object { }, ], }, + Object { + "appState": Object { + "editingGroupId": null, + "editingLinearElement": null, + "name": "Untitled-201933152653", + "selectedElementIds": Object { + "id0": true, + }, + "selectedGroupIds": Object {}, + "viewBackgroundColor": "#ffffff", + }, + "elements": Array [ + Object { + "angle": 0, + "backgroundColor": "#ffc9c9", + "boundElements": null, + "fillStyle": "hachure", + "frameId": null, + "groupIds": Array [], + "height": 10, + "id": "id0", + "isDeleted": false, + "link": null, + "locked": false, + "opacity": 100, + "roughness": 1, + "roundness": Object { + "type": 3, + }, + "seed": 337897, + "strokeColor": "#1971c2", + "strokeStyle": "solid", + "strokeWidth": 1, + "type": "rectangle", + "updated": 1, + "version": 5, + "versionNonce": 401146281, + "width": 10, + "x": 10, + "y": 10, + }, + ], + }, ], } `; -exports[`regression tests change the properties of a shape: [end of test] number of elements 1`] = `1`; +exports[`regression tests change the properties of a shape: [end of test] number of elements 1`] = `0`; -exports[`regression tests change the properties of a shape: [end of test] number of renders 1`] = `15`; +exports[`regression tests change the properties of a shape: [end of test] number of renders 1`] = `14`; exports[`regression tests click on an element and drag it: [dragged] appState 1`] = ` Object { @@ -4025,28 +3547,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -4072,8 +3603,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id0": true, - "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -4101,6 +3632,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4113,7 +3645,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4159,6 +3691,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4171,7 +3704,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4191,7 +3724,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id1": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -4202,6 +3734,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4214,7 +3747,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4255,28 +3788,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -4295,7 +3837,6 @@ Object { "pendingImageElementId": null, "previousSelectedElementIds": Object { "id0": true, - "id1": true, }, "resizingElement": null, "scrollX": 0, @@ -4303,9 +3844,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id0": true, - "id1": true, - "id2": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -4327,37 +3867,6 @@ Object { } `; -exports[`regression tests click on an element and drag it: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 2019559783, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests click on an element and drag it: [end of test] history 1`] = ` Object { "recording": false, @@ -4391,6 +3900,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4403,7 +3913,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4423,7 +3933,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id1": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -4434,6 +3943,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4446,7 +3956,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4466,8 +3976,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id1": true, - "id2": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -4478,6 +3986,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4490,7 +3999,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4507,7 +4016,7 @@ Object { } `; -exports[`regression tests click on an element and drag it: [end of test] number of elements 1`] = `1`; +exports[`regression tests click on an element and drag it: [end of test] number of elements 1`] = `0`; exports[`regression tests click on an element and drag it: [end of test] number of renders 1`] = `15`; @@ -4531,28 +4040,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -4578,8 +4096,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id0": true, - "id2": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -4601,68 +4119,6 @@ Object { } `; -exports[`regression tests click to select a shape: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 10, - "y": 10, -} -`; - -exports[`regression tests click to select a shape: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 10, - "x": 30, - "y": 10, -} -`; - exports[`regression tests click to select a shape: [end of test] history 1`] = ` Object { "recording": false, @@ -4696,6 +4152,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4708,7 +4165,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4738,6 +4195,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -4750,7 +4208,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4766,6 +4224,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -4778,7 +4237,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -4795,7 +4254,7 @@ Object { } `; -exports[`regression tests click to select a shape: [end of test] number of elements 1`] = `2`; +exports[`regression tests click to select a shape: [end of test] number of elements 1`] = `0`; exports[`regression tests click to select a shape: [end of test] number of renders 1`] = `15`; @@ -4819,28 +4278,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -4867,8 +4335,8 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id3": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -4890,99 +4358,6 @@ Object { } `; -exports[`regression tests click-drag to select a group: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 10, - "y": 10, -} -`; - -exports[`regression tests click-drag to select a group: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 10, - "x": 30, - "y": 10, -} -`; - -exports[`regression tests click-drag to select a group: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 2019559783, - "width": 10, - "x": 50, - "y": 10, -} -`; - exports[`regression tests click-drag to select a group: [end of test] history 1`] = ` Object { "recording": false, @@ -5016,6 +4391,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5028,7 +4404,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5058,6 +4434,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5070,7 +4447,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5086,6 +4463,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -5098,7 +4476,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5128,6 +4506,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5140,7 +4519,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5156,6 +4535,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -5168,7 +4548,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5184,6 +4564,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -5196,7 +4577,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5213,7 +4594,7 @@ Object { } `; -exports[`regression tests click-drag to select a group: [end of test] number of elements 1`] = `3`; +exports[`regression tests click-drag to select a group: [end of test] number of elements 1`] = `0`; exports[`regression tests click-drag to select a group: [end of test] number of renders 1`] = `21`; @@ -5237,16 +4618,18 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "down", + "defaultSidebarDockedPreference": false, "draggingElement": Object { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id3", @@ -5259,7 +4642,7 @@ Object { "type": 2, }, "seed": 2019559783, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -5271,21 +4654,29 @@ Object { "y": 500, }, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -5305,13 +4696,13 @@ Object { "previousSelectedElementIds": Object { "id0": true, "id1": true, - "id2": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": Object { @@ -5319,6 +4710,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id3", @@ -5331,7 +4723,7 @@ Object { "type": 2, }, "seed": 2019559783, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -5360,68 +4752,6 @@ Object { } `; -exports[`regression tests deselects group of selected elements on pointer down when pointer doesn't hit any element: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests deselects group of selected elements on pointer down when pointer doesn't hit any element: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 10, - "x": 110, - "y": 110, -} -`; - exports[`regression tests deselects group of selected elements on pointer down when pointer doesn't hit any element: [end of test] history 1`] = ` Object { "recording": false, @@ -5455,6 +4785,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5467,7 +4798,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5497,6 +4828,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5509,7 +4841,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5525,6 +4857,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -5537,7 +4870,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -5554,7 +4887,7 @@ Object { } `; -exports[`regression tests deselects group of selected elements on pointer down when pointer doesn't hit any element: [end of test] number of elements 1`] = `2`; +exports[`regression tests deselects group of selected elements on pointer down when pointer doesn't hit any element: [end of test] number of elements 1`] = `0`; exports[`regression tests deselects group of selected elements on pointer down when pointer doesn't hit any element: [end of test] number of renders 1`] = `16`; @@ -5578,16 +4911,18 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": Object { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id3", @@ -5600,7 +4935,7 @@ Object { "type": 2, }, "seed": 2019559783, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -5612,21 +4947,29 @@ Object { "y": 50, }, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -5646,13 +4989,13 @@ Object { "previousSelectedElementIds": Object { "id0": true, "id1": true, - "id2": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -5674,68 +5017,6 @@ Object { } `; -exports[`regression tests deselects group of selected elements on pointer up when pointer hits common bounding box without hitting any element: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests deselects group of selected elements on pointer up when pointer hits common bounding box without hitting any element: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 10, - "x": 110, - "y": 110, -} -`; - exports[`regression tests deselects group of selected elements on pointer up when pointer hits common bounding box without hitting any element: [end of test] history 1`] = ` Object { "recording": false, @@ -5769,6 +5050,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5781,7 +5063,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5811,6 +5093,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -5823,7 +5106,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -5839,6 +5122,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -5851,7 +5135,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -5868,7 +5152,7 @@ Object { } `; -exports[`regression tests deselects group of selected elements on pointer up when pointer hits common bounding box without hitting any element: [end of test] number of elements 1`] = `2`; +exports[`regression tests deselects group of selected elements on pointer up when pointer hits common bounding box without hitting any element: [end of test] number of elements 1`] = `0`; exports[`regression tests deselects group of selected elements on pointer up when pointer hits common bounding box without hitting any element: [end of test] number of renders 1`] = `17`; @@ -5892,16 +5176,18 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "down", + "defaultSidebarDockedPreference": false, "draggingElement": Object { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id1", @@ -5914,7 +5200,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -5926,21 +5212,29 @@ Object { "y": 110, }, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -5965,6 +5259,7 @@ Object { "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": Object { @@ -5972,6 +5267,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id1", @@ -5984,7 +5280,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -6013,37 +5309,6 @@ Object { } `; -exports[`regression tests deselects selected element on pointer down when pointer doesn't hit any element: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 0, - "y": 0, -} -`; - exports[`regression tests deselects selected element on pointer down when pointer doesn't hit any element: [end of test] history 1`] = ` Object { "recording": false, @@ -6077,6 +5342,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -6089,7 +5355,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6106,7 +5372,7 @@ Object { } `; -exports[`regression tests deselects selected element on pointer down when pointer doesn't hit any element: [end of test] number of elements 1`] = `1`; +exports[`regression tests deselects selected element on pointer down when pointer doesn't hit any element: [end of test] number of elements 1`] = `0`; exports[`regression tests deselects selected element on pointer down when pointer doesn't hit any element: [end of test] number of renders 1`] = `10`; @@ -6130,28 +5396,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -6175,9 +5450,8 @@ Object { "scrollX": 0, "scrollY": 0, "scrolledOutside": false, - "selectedElementIds": Object { - "id1": true, - }, + "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -6199,37 +5473,6 @@ Object { } `; -exports[`regression tests deselects selected element, on pointer up, when click hits element bounding box but doesn't hit the element: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 100, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 100, - "x": 0, - "y": 0, -} -`; - exports[`regression tests deselects selected element, on pointer up, when click hits element bounding box but doesn't hit the element: [end of test] history 1`] = ` Object { "recording": false, @@ -6263,6 +5506,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id0", @@ -6275,7 +5519,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -6292,7 +5536,7 @@ Object { } `; -exports[`regression tests deselects selected element, on pointer up, when click hits element bounding box but doesn't hit the element: [end of test] number of elements 1`] = `1`; +exports[`regression tests deselects selected element, on pointer up, when click hits element bounding box but doesn't hit the element: [end of test] number of elements 1`] = `0`; exports[`regression tests deselects selected element, on pointer up, when click hits element bounding box but doesn't hit the element: [end of test] number of renders 1`] = `11`; @@ -6316,28 +5560,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": "id3", "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -6362,6 +5615,7 @@ Object { "selectedElementIds": Object { "id2": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -6383,105 +5637,6 @@ Object { } `; -exports[`regression tests double click to edit a group: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id3", - ], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1150084233, - "width": 10, - "x": 10, - "y": 10, -} -`; - -exports[`regression tests double click to edit a group: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id3", - ], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1116226695, - "width": 10, - "x": 30, - "y": 10, -} -`; - -exports[`regression tests double click to edit a group: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id3", - ], - "height": 10, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1014066025, - "width": 10, - "x": 50, - "y": 10, -} -`; - exports[`regression tests double click to edit a group: [end of test] history 1`] = ` Object { "recording": false, @@ -6515,6 +5670,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -6527,7 +5683,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6557,6 +5713,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -6569,7 +5726,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6585,6 +5742,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -6597,7 +5755,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6627,6 +5785,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -6639,7 +5798,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6655,6 +5814,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -6667,7 +5827,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6683,6 +5843,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -6695,7 +5856,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6729,6 +5890,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -6743,7 +5905,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6759,6 +5921,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -6773,7 +5936,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6789,6 +5952,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -6803,7 +5967,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -6820,7 +5984,7 @@ Object { } `; -exports[`regression tests double click to edit a group: [end of test] number of elements 1`] = `3`; +exports[`regression tests double click to edit a group: [end of test] number of elements 1`] = `0`; exports[`regression tests double click to edit a group: [end of test] number of renders 1`] = `20`; @@ -6844,28 +6008,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -6885,7 +6058,6 @@ Object { "previousSelectedElementIds": Object { "id0": true, "id1": true, - "id2": true, }, "resizingElement": null, "scrollX": 0, @@ -6894,9 +6066,8 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -6918,68 +6089,6 @@ Object { } `; -exports[`regression tests drags selected elements from point inside common bounding box that doesn't hit any element and keeps elements selected after dragging: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1150084233, - "width": 10, - "x": 25, - "y": 25, -} -`; - -exports[`regression tests drags selected elements from point inside common bounding box that doesn't hit any element and keeps elements selected after dragging: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 3, - "versionNonce": 1116226695, - "width": 10, - "x": 135, - "y": 135, -} -`; - exports[`regression tests drags selected elements from point inside common bounding box that doesn't hit any element and keeps elements selected after dragging: [end of test] history 1`] = ` Object { "recording": false, @@ -7013,6 +6122,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -7025,7 +6135,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -7055,6 +6165,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -7067,7 +6178,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -7083,6 +6194,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -7095,7 +6207,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -7116,8 +6228,6 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -7128,6 +6238,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -7140,7 +6251,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -7156,6 +6267,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -7168,7 +6280,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -7185,7 +6297,7 @@ Object { } `; -exports[`regression tests drags selected elements from point inside common bounding box that doesn't hit any element and keeps elements selected after dragging: [end of test] number of elements 1`] = `2`; +exports[`regression tests drags selected elements from point inside common bounding box that doesn't hit any element and keeps elements selected after dragging: [end of test] number of elements 1`] = `0`; exports[`regression tests drags selected elements from point inside common bounding box that doesn't hit any element and keeps elements selected after dragging: [end of test] number of renders 1`] = `18`; @@ -7209,28 +6321,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -7252,9 +6373,8 @@ Object { "scrollX": 0, "scrollY": 0, "scrolledOutside": false, - "selectedElementIds": Object { - "id7": false, - }, + "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -7276,350 +6396,6 @@ Object { } `; -exports[`regression tests draw every type of shape: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 20, - "x": 10, - "y": -10, -} -`; - -exports[`regression tests draw every type of shape: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "diamond", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 20, - "x": 40, - "y": -10, -} -`; - -exports[`regression tests draw every type of shape: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 2019559783, - "width": 20, - "x": 70, - "y": -10, -} -`; - -exports[`regression tests draw every type of shape: [end of test] element 3 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": "arrow", - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id3", - "isDeleted": false, - "lastCommittedPoint": null, - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 50, - 10, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 1150084233, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "arrow", - "updated": 1, - "version": 3, - "versionNonce": 1014066025, - "width": 50, - "x": 130, - "y": -10, -} -`; - -exports[`regression tests draw every type of shape: [end of test] element 4 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": null, - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id4", - "isDeleted": false, - "lastCommittedPoint": null, - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 50, - 10, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 238820263, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "line", - "updated": 1, - "version": 3, - "versionNonce": 1604849351, - "width": 50, - "x": 220, - "y": -10, -} -`; - -exports[`regression tests draw every type of shape: [end of test] element 5 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": "arrow", - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 20, - "id": "id5", - "isDeleted": false, - "lastCommittedPoint": Array [ - 80, - 20, - ], - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 50, - 10, - ], - Array [ - 80, - 20, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 1505387817, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "arrow", - "updated": 1, - "version": 7, - "versionNonce": 1723083209, - "width": 80, - "x": 310, - "y": -10, -} -`; - -exports[`regression tests draw every type of shape: [end of test] element 6 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": null, - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 20, - "id": "id6", - "isDeleted": false, - "lastCommittedPoint": Array [ - 80, - 20, - ], - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 50, - 10, - ], - Array [ - 80, - 20, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 760410951, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "line", - "updated": 1, - "version": 7, - "versionNonce": 406373543, - "width": 80, - "x": 430, - "y": -10, -} -`; - -exports[`regression tests draw every type of shape: [end of test] element 7 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id7", - "isDeleted": false, - "lastCommittedPoint": Array [ - 50, - 10, - ], - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 50, - 10, - ], - Array [ - 50, - 10, - ], - ], - "pressures": Array [ - 0, - 0, - 0, - ], - "roughness": 1, - "roundness": null, - "seed": 941653321, - "simulatePressure": false, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "freedraw", - "updated": 1, - "version": 4, - "versionNonce": 1359939303, - "width": 50, - "x": 550, - "y": -10, -} -`; - exports[`regression tests draw every type of shape: [end of test] history 1`] = ` Object { "recording": false, @@ -7653,6 +6429,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -7665,7 +6442,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -7695,6 +6472,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -7707,7 +6485,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -7723,6 +6501,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -7735,7 +6514,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -7765,6 +6544,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -7777,7 +6557,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -7793,6 +6573,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -7805,7 +6586,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -7821,6 +6602,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -7833,7 +6615,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -7863,6 +6645,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -7875,7 +6658,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -7891,6 +6674,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -7903,7 +6687,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -7919,6 +6703,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -7931,7 +6716,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -7949,6 +6734,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id3", @@ -7974,7 +6760,7 @@ Object { "seed": 1150084233, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -8004,6 +6790,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -8016,7 +6803,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -8032,6 +6819,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -8044,7 +6832,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -8060,6 +6848,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -8072,7 +6861,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -8090,6 +6879,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id3", @@ -8115,7 +6905,7 @@ Object { "seed": 1150084233, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -8133,6 +6923,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id4", @@ -8158,7 +6949,7 @@ Object { "seed": 238820263, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -8188,6 +6979,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -8200,7 +6992,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -8216,6 +7008,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -8228,7 +7021,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -8244,6 +7037,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -8256,7 +7050,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -8274,6 +7068,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id3", @@ -8299,7 +7094,7 @@ Object { "seed": 1150084233, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -8317,6 +7112,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id4", @@ -8342,7 +7138,7 @@ Object { "seed": 238820263, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -8360,6 +7156,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id5", @@ -8388,7 +7185,7 @@ Object { "seed": 1505387817, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -8418,6 +7215,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -8430,7 +7228,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -8446,6 +7244,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -8458,7 +7257,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -8474,6 +7273,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -8486,7 +7286,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -8504,6 +7304,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id3", @@ -8529,7 +7330,7 @@ Object { "seed": 1150084233, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -8547,6 +7348,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id4", @@ -8572,7 +7374,7 @@ Object { "seed": 238820263, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -8590,6 +7392,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id5", @@ -8622,7 +7425,7 @@ Object { "seed": 1505387817, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -8652,6 +7455,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -8664,7 +7468,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -8680,6 +7484,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -8692,7 +7497,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -8708,6 +7513,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -8720,7 +7526,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -8738,6 +7544,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id3", @@ -8763,7 +7570,7 @@ Object { "seed": 1150084233, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -8781,6 +7588,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id4", @@ -8806,7 +7614,7 @@ Object { "seed": 238820263, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -8824,6 +7632,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id5", @@ -8856,7 +7665,7 @@ Object { "seed": 1505387817, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -8874,6 +7683,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id6", @@ -8902,7 +7712,7 @@ Object { "seed": 760410951, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -8932,6 +7742,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -8944,7 +7755,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -8960,6 +7771,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -8972,7 +7784,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -8988,6 +7800,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -9000,7 +7813,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -9018,6 +7831,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id3", @@ -9043,7 +7857,7 @@ Object { "seed": 1150084233, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -9061,6 +7875,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id4", @@ -9086,7 +7901,7 @@ Object { "seed": 238820263, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -9104,6 +7919,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id5", @@ -9136,7 +7952,7 @@ Object { "seed": 1505387817, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -9154,6 +7970,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id6", @@ -9186,7 +8003,7 @@ Object { "seed": 760410951, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -9204,9 +8021,7 @@ Object { "editingGroupId": null, "editingLinearElement": null, "name": "Untitled-201933152653", - "selectedElementIds": Object { - "id7": false, - }, + "selectedElementIds": Object {}, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", }, @@ -9216,6 +8031,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -9228,7 +8044,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -9244,6 +8060,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -9256,7 +8073,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -9272,6 +8089,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -9284,7 +8102,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -9302,6 +8120,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id3", @@ -9327,7 +8146,7 @@ Object { "seed": 1150084233, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -9345,6 +8164,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id4", @@ -9370,7 +8190,7 @@ Object { "seed": 238820263, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -9388,6 +8208,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id5", @@ -9420,7 +8241,7 @@ Object { "seed": 1505387817, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -9438,6 +8259,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id6", @@ -9470,7 +8292,7 @@ Object { "seed": 760410951, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -9486,6 +8308,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id7", @@ -9520,7 +8343,7 @@ Object { "roundness": null, "seed": 941653321, "simulatePressure": false, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "freedraw", @@ -9537,7 +8360,7 @@ Object { } `; -exports[`regression tests draw every type of shape: [end of test] number of elements 1`] = `8`; +exports[`regression tests draw every type of shape: [end of test] number of elements 1`] = `0`; exports[`regression tests draw every type of shape: [end of test] number of renders 1`] = `57`; @@ -9561,28 +8384,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -9602,7 +8434,6 @@ Object { "previousSelectedElementIds": Object { "id0": true, "id2": true, - "id3": true, }, "resizingElement": null, "scrollX": 0, @@ -9610,8 +8441,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id1": true, - "id4": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -9633,99 +8464,6 @@ Object { } `; -exports[`regression tests given a group of selected elements with an element that is not selected inside the group common bounding box when element that is not selected is clicked should switch selection to not selected element on pointer up: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests given a group of selected elements with an element that is not selected inside the group common bounding box when element that is not selected is clicked should switch selection to not selected element on pointer up: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 100, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 100, - "x": 110, - "y": 110, -} -`; - -exports[`regression tests given a group of selected elements with an element that is not selected inside the group common bounding box when element that is not selected is clicked should switch selection to not selected element on pointer up: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 100, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "diamond", - "updated": 1, - "version": 2, - "versionNonce": 2019559783, - "width": 100, - "x": 310, - "y": 310, -} -`; - exports[`regression tests given a group of selected elements with an element that is not selected inside the group common bounding box when element that is not selected is clicked should switch selection to not selected element on pointer up: [end of test] history 1`] = ` Object { "recording": false, @@ -9759,6 +8497,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -9771,7 +8510,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -9801,6 +8540,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -9813,7 +8553,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -9829,6 +8569,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id1", @@ -9841,7 +8582,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -9871,6 +8612,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -9883,7 +8625,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -9899,6 +8641,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id1", @@ -9911,7 +8654,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -9927,6 +8670,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id2", @@ -9939,7 +8683,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -9956,7 +8700,7 @@ Object { } `; -exports[`regression tests given a group of selected elements with an element that is not selected inside the group common bounding box when element that is not selected is clicked should switch selection to not selected element on pointer up: [end of test] number of elements 1`] = `3`; +exports[`regression tests given a group of selected elements with an element that is not selected inside the group common bounding box when element that is not selected is clicked should switch selection to not selected element on pointer up: [end of test] number of elements 1`] = `0`; exports[`regression tests given a group of selected elements with an element that is not selected inside the group common bounding box when element that is not selected is clicked should switch selection to not selected element on pointer up: [end of test] number of renders 1`] = `21`; @@ -9971,7 +8715,7 @@ Object { "collaborators": Map {}, "contextMenu": null, "currentChartType": "bar", - "currentItemBackgroundColor": "#fa5252", + "currentItemBackgroundColor": "#ffc9c9", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "hachure", "currentItemFontFamily": 1, @@ -9980,28 +8724,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -10009,7 +8762,7 @@ Object { "offsetTop": 0, "openDialog": null, "openMenu": null, - "openPopup": null, + "openPopup": "elementBackground", "openSidebar": null, "pasteDialog": Object { "data": null, @@ -10020,7 +8773,6 @@ Object { "pendingImageElementId": null, "previousSelectedElementIds": Object { "id0": true, - "id2": true, }, "resizingElement": null, "scrollX": 0, @@ -10029,9 +8781,8 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -10053,68 +8804,6 @@ Object { } `; -exports[`regression tests given a selected element A and a not selected element B with higher z-index than A and given B partially overlaps A when there's a shift-click on the overlapped section B is added to the selection: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "#fa5252", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 0, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 1, - "versionNonce": 0, - "width": 0, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests given a selected element A and a not selected element B with higher z-index than A and given B partially overlaps A when there's a shift-click on the overlapped section B is added to the selection: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "#fa5252", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 1000, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 1278240551, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 449462985, - "width": 1000, - "x": 500, - "y": 500, -} -`; - exports[`regression tests given a selected element A and a not selected element B with higher z-index than A and given B partially overlaps A when there's a shift-click on the overlapped section B is added to the selection: [end of test] history 1`] = ` Object { "recording": false, @@ -10136,18 +8825,21 @@ Object { "editingGroupId": null, "editingLinearElement": null, "name": "Untitled-201933152653", - "selectedElementIds": Object {}, + "selectedElementIds": Object { + "id0": true, + }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", }, "elements": Array [ Object { "angle": 0, - "backgroundColor": "#fa5252", + "backgroundColor": "#ffc9c9", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], - "height": 0, + "height": 1000, "id": "id0", "isDeleted": false, "link": null, @@ -10158,14 +8850,14 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, - "version": 1, - "versionNonce": 0, - "width": 0, + "version": 2, + "versionNonce": 1278240551, + "width": 1000, "x": 0, "y": 0, }, @@ -10185,11 +8877,12 @@ Object { "elements": Array [ Object { "angle": 0, - "backgroundColor": "#fa5252", + "backgroundColor": "#ffc9c9", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], - "height": 0, + "height": 1000, "id": "id0", "isDeleted": false, "link": null, @@ -10200,22 +8893,23 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, - "version": 1, - "versionNonce": 0, - "width": 0, + "version": 2, + "versionNonce": 1278240551, + "width": 1000, "x": 0, "y": 0, }, Object { "angle": 0, - "backgroundColor": "#fa5252", + "backgroundColor": "#ffc9c9", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 1000, "id": "id1", @@ -10227,14 +8921,14 @@ Object { "roundness": Object { "type": 2, }, - "seed": 1278240551, - "strokeColor": "#000000", + "seed": 449462985, + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", "updated": 1, "version": 2, - "versionNonce": 449462985, + "versionNonce": 453191, "width": 1000, "x": 500, "y": 500, @@ -10245,7 +8939,7 @@ Object { } `; -exports[`regression tests given a selected element A and a not selected element B with higher z-index than A and given B partially overlaps A when there's a shift-click on the overlapped section B is added to the selection: [end of test] number of elements 1`] = `2`; +exports[`regression tests given a selected element A and a not selected element B with higher z-index than A and given B partially overlaps A when there's a shift-click on the overlapped section B is added to the selection: [end of test] number of elements 1`] = `0`; exports[`regression tests given a selected element A and a not selected element B with higher z-index than A and given B partially overlaps A when there's a shift-click on the overlapped section B is added to the selection: [end of test] number of renders 1`] = `19`; @@ -10269,28 +8963,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -10309,7 +9012,6 @@ Object { "pendingImageElementId": null, "previousSelectedElementIds": Object { "id0": true, - "id2": true, }, "resizingElement": null, "scrollX": 0, @@ -10317,8 +9019,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id1": true, - "id3": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -10340,68 +9042,6 @@ Object { } `; -exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when clicking intersection between A and B B should be selected on pointer up: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "red", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 1000, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 1, - "versionNonce": 0, - "width": 1000, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when clicking intersection between A and B B should be selected on pointer up: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "red", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 500, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 1278240551, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 1, - "versionNonce": 0, - "width": 500, - "x": 500, - "y": 500, -} -`; - exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when clicking intersection between A and B B should be selected on pointer up: [end of test] history 1`] = ` Object { "recording": false, @@ -10425,7 +9065,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id2": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -10436,6 +9075,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 1000, "id": "id0", @@ -10448,7 +9088,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -10464,6 +9104,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 500, "id": "id1", @@ -10476,7 +9117,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -10493,7 +9134,7 @@ Object { } `; -exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when clicking intersection between A and B B should be selected on pointer up: [end of test] number of elements 1`] = `2`; +exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when clicking intersection between A and B B should be selected on pointer up: [end of test] number of elements 1`] = `0`; exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when clicking intersection between A and B B should be selected on pointer up: [end of test] number of renders 1`] = `12`; @@ -10517,28 +9158,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -10557,7 +9207,6 @@ Object { "pendingImageElementId": null, "previousSelectedElementIds": Object { "id0": true, - "id2": true, }, "resizingElement": null, "scrollX": 0, @@ -10565,9 +9214,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id0": true, - "id2": true, - "id3": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -10589,68 +9237,6 @@ Object { } `; -exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when dragging on intersection between A and B A should be dragged and keep being selected: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "red", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 1000, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 401146281, - "width": 1000, - "x": 100, - "y": 100, -} -`; - -exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when dragging on intersection between A and B A should be dragged and keep being selected: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "red", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 500, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 1278240551, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 1, - "versionNonce": 0, - "width": 500, - "x": 500, - "y": 500, -} -`; - exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when dragging on intersection between A and B A should be dragged and keep being selected: [end of test] history 1`] = ` Object { "recording": false, @@ -10674,7 +9260,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id2": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -10685,6 +9270,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 1000, "id": "id0", @@ -10697,7 +9283,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -10713,6 +9299,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 500, "id": "id1", @@ -10725,7 +9312,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -10745,8 +9332,6 @@ Object { "name": "Untitled-201933152653", "selectedElementIds": Object { "id0": true, - "id2": true, - "id3": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -10757,6 +9342,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 1000, "id": "id0", @@ -10769,7 +9355,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -10785,6 +9371,7 @@ Object { "backgroundColor": "red", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 500, "id": "id1", @@ -10797,7 +9384,7 @@ Object { "type": 3, }, "seed": 1278240551, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -10814,7 +9401,7 @@ Object { } `; -exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when dragging on intersection between A and B A should be dragged and keep being selected: [end of test] number of elements 1`] = `2`; +exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when dragging on intersection between A and B A should be dragged and keep being selected: [end of test] number of elements 1`] = `0`; exports[`regression tests given selected element A with lower z-index than unselected element B and given B is partially over A when dragging on intersection between A and B A should be dragged and keep being selected: [end of test] number of renders 1`] = `13`; @@ -10838,28 +9425,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -10884,6 +9480,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -10905,37 +9502,6 @@ Object { } `; -exports[`regression tests key 2 selects rectangle tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key 2 selects rectangle tool: [end of test] history 1`] = ` Object { "recording": false, @@ -10969,6 +9535,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -10981,7 +9548,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -10998,7 +9565,7 @@ Object { } `; -exports[`regression tests key 2 selects rectangle tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key 2 selects rectangle tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key 2 selects rectangle tool: [end of test] number of renders 1`] = `9`; @@ -11022,28 +9589,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -11068,6 +9644,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -11089,37 +9666,6 @@ Object { } `; -exports[`regression tests key 3 selects diamond tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "diamond", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key 3 selects diamond tool: [end of test] history 1`] = ` Object { "recording": false, @@ -11153,6 +9699,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -11165,7 +9712,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -11182,7 +9729,7 @@ Object { } `; -exports[`regression tests key 3 selects diamond tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key 3 selects diamond tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key 3 selects diamond tool: [end of test] number of renders 1`] = `9`; @@ -11206,28 +9753,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -11252,6 +9808,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -11273,37 +9830,6 @@ Object { } `; -exports[`regression tests key 4 selects ellipse tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key 4 selects ellipse tool: [end of test] history 1`] = ` Object { "recording": false, @@ -11337,6 +9863,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -11349,7 +9876,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -11366,7 +9893,7 @@ Object { } `; -exports[`regression tests key 4 selects ellipse tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key 4 selects ellipse tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key 4 selects ellipse tool: [end of test] number of renders 1`] = `9`; @@ -11390,28 +9917,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -11436,6 +9972,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": LinearElementEditor { "elementId": "id0", @@ -11480,52 +10017,6 @@ Object { } `; -exports[`regression tests key 5 selects arrow tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": "arrow", - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "lastCommittedPoint": null, - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 10, - 10, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "arrow", - "updated": 1, - "version": 3, - "versionNonce": 449462985, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key 5 selects arrow tool: [end of test] history 1`] = ` Object { "recording": false, @@ -11561,6 +10052,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -11586,7 +10078,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -11603,7 +10095,7 @@ Object { } `; -exports[`regression tests key 5 selects arrow tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key 5 selects arrow tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key 5 selects arrow tool: [end of test] number of renders 1`] = `10`; @@ -11627,28 +10119,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -11673,6 +10174,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": LinearElementEditor { "elementId": "id0", @@ -11717,52 +10219,6 @@ Object { } `; -exports[`regression tests key 6 selects line tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": null, - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "lastCommittedPoint": null, - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 10, - 10, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "line", - "updated": 1, - "version": 3, - "versionNonce": 449462985, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key 6 selects line tool: [end of test] history 1`] = ` Object { "recording": false, @@ -11798,6 +10254,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -11823,7 +10280,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -11840,7 +10297,7 @@ Object { } `; -exports[`regression tests key 6 selects line tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key 6 selects line tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key 6 selects line tool: [end of test] number of renders 1`] = `9`; @@ -11864,28 +10321,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -11907,9 +10373,8 @@ Object { "scrollX": 0, "scrollY": 0, "scrolledOutside": false, - "selectedElementIds": Object { - "id0": false, - }, + "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -11931,59 +10396,6 @@ Object { } `; -exports[`regression tests key 7 selects freedraw tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "lastCommittedPoint": Array [ - 10, - 10, - ], - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 10, - 10, - ], - Array [ - 10, - 10, - ], - ], - "pressures": Array [ - 0, - 0, - 0, - ], - "roughness": 1, - "roundness": null, - "seed": 337897, - "simulatePressure": false, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "freedraw", - "updated": 1, - "version": 4, - "versionNonce": 453191, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key 7 selects freedraw tool: [end of test] history 1`] = ` Object { "recording": false, @@ -12005,9 +10417,7 @@ Object { "editingGroupId": null, "editingLinearElement": null, "name": "Untitled-201933152653", - "selectedElementIds": Object { - "id0": false, - }, + "selectedElementIds": Object {}, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", }, @@ -12017,6 +10427,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -12051,7 +10462,7 @@ Object { "roundness": null, "seed": 337897, "simulatePressure": false, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "freedraw", @@ -12068,7 +10479,7 @@ Object { } `; -exports[`regression tests key 7 selects freedraw tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key 7 selects freedraw tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key 7 selects freedraw tool: [end of test] number of renders 1`] = `9`; @@ -12092,28 +10503,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -12138,6 +10558,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": LinearElementEditor { "elementId": "id0", @@ -12182,52 +10603,6 @@ Object { } `; -exports[`regression tests key a selects arrow tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": "arrow", - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "lastCommittedPoint": null, - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 10, - 10, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "arrow", - "updated": 1, - "version": 3, - "versionNonce": 449462985, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key a selects arrow tool: [end of test] history 1`] = ` Object { "recording": false, @@ -12263,6 +10638,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -12288,7 +10664,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -12305,7 +10681,7 @@ Object { } `; -exports[`regression tests key a selects arrow tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key a selects arrow tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key a selects arrow tool: [end of test] number of renders 1`] = `10`; @@ -12329,28 +10705,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -12375,6 +10760,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -12396,37 +10782,6 @@ Object { } `; -exports[`regression tests key d selects diamond tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "diamond", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key d selects diamond tool: [end of test] history 1`] = ` Object { "recording": false, @@ -12460,6 +10815,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -12472,7 +10828,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -12489,7 +10845,7 @@ Object { } `; -exports[`regression tests key d selects diamond tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key d selects diamond tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key d selects diamond tool: [end of test] number of renders 1`] = `9`; @@ -12513,28 +10869,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -12559,6 +10924,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": LinearElementEditor { "elementId": "id0", @@ -12603,52 +10969,6 @@ Object { } `; -exports[`regression tests key l selects line tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": null, - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "lastCommittedPoint": null, - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 10, - 10, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "line", - "updated": 1, - "version": 3, - "versionNonce": 449462985, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key l selects line tool: [end of test] history 1`] = ` Object { "recording": false, @@ -12684,6 +11004,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -12709,7 +11030,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -12726,7 +11047,7 @@ Object { } `; -exports[`regression tests key l selects line tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key l selects line tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key l selects line tool: [end of test] number of renders 1`] = `9`; @@ -12750,28 +11071,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -12796,6 +11126,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -12817,37 +11148,6 @@ Object { } `; -exports[`regression tests key o selects ellipse tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key o selects ellipse tool: [end of test] history 1`] = ` Object { "recording": false, @@ -12881,6 +11181,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -12893,7 +11194,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -12910,7 +11211,7 @@ Object { } `; -exports[`regression tests key o selects ellipse tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key o selects ellipse tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key o selects ellipse tool: [end of test] number of renders 1`] = `9`; @@ -12934,28 +11235,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -12977,9 +11287,8 @@ Object { "scrollX": 0, "scrollY": 0, "scrolledOutside": false, - "selectedElementIds": Object { - "id0": false, - }, + "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -13001,59 +11310,6 @@ Object { } `; -exports[`regression tests key p selects freedraw tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "lastCommittedPoint": Array [ - 10, - 10, - ], - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 10, - 10, - ], - Array [ - 10, - 10, - ], - ], - "pressures": Array [ - 0, - 0, - 0, - ], - "roughness": 1, - "roundness": null, - "seed": 337897, - "simulatePressure": false, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "freedraw", - "updated": 1, - "version": 4, - "versionNonce": 453191, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key p selects freedraw tool: [end of test] history 1`] = ` Object { "recording": false, @@ -13075,9 +11331,7 @@ Object { "editingGroupId": null, "editingLinearElement": null, "name": "Untitled-201933152653", - "selectedElementIds": Object { - "id0": false, - }, + "selectedElementIds": Object {}, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", }, @@ -13087,6 +11341,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -13121,7 +11376,7 @@ Object { "roundness": null, "seed": 337897, "simulatePressure": false, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "freedraw", @@ -13138,7 +11393,7 @@ Object { } `; -exports[`regression tests key p selects freedraw tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key p selects freedraw tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key p selects freedraw tool: [end of test] number of renders 1`] = `9`; @@ -13162,28 +11417,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -13208,6 +11472,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -13229,37 +11494,6 @@ Object { } `; -exports[`regression tests key r selects rectangle tool: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 10, - "y": 10, -} -`; - exports[`regression tests key r selects rectangle tool: [end of test] history 1`] = ` Object { "recording": false, @@ -13293,6 +11527,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -13305,7 +11540,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13322,7 +11557,7 @@ Object { } `; -exports[`regression tests key r selects rectangle tool: [end of test] number of elements 1`] = `1`; +exports[`regression tests key r selects rectangle tool: [end of test] number of elements 1`] = `0`; exports[`regression tests key r selects rectangle tool: [end of test] number of renders 1`] = `9`; @@ -13346,28 +11581,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -13388,7 +11632,6 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, }, "resizingElement": null, "scrollX": 0, @@ -13398,9 +11641,8 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, - "id5": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object { "id4": true, }, @@ -13424,204 +11666,6 @@ Object { } `; -exports[`regression tests make a group and duplicate it: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4_copy", - ], - "height": 10, - "id": "id0_copy", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 915032327, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 5, - "versionNonce": 81784553, - "width": 10, - "x": 10, - "y": 10, -} -`; - -exports[`regression tests make a group and duplicate it: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4_copy", - ], - "height": 10, - "id": "id1_copy", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 747212839, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 5, - "versionNonce": 1723083209, - "width": 10, - "x": 30, - "y": 10, -} -`; - -exports[`regression tests make a group and duplicate it: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4_copy", - ], - "height": 10, - "id": "id2_copy", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 760410951, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 5, - "versionNonce": 1006504105, - "width": 10, - "x": 50, - "y": 10, -} -`; - -exports[`regression tests make a group and duplicate it: [end of test] element 3 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - ], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 1505387817, - "width": 10, - "x": 20, - "y": 20, -} -`; - -exports[`regression tests make a group and duplicate it: [end of test] element 4 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - ], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 23633383, - "width": 10, - "x": 40, - "y": 20, -} -`; - -exports[`regression tests make a group and duplicate it: [end of test] element 5 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - ], - "height": 10, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 493213705, - "width": 10, - "x": 60, - "y": 20, -} -`; - exports[`regression tests make a group and duplicate it: [end of test] history 1`] = ` Object { "recording": false, @@ -13655,6 +11699,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -13667,7 +11712,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13697,6 +11742,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -13709,7 +11755,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13725,6 +11771,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -13737,7 +11784,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13767,6 +11814,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -13779,7 +11827,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13795,6 +11843,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -13807,7 +11856,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13823,6 +11872,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -13835,7 +11885,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13857,7 +11907,6 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, }, "selectedGroupIds": Object { "id4": true, @@ -13870,6 +11919,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -13884,7 +11934,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13900,6 +11950,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -13914,7 +11965,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13930,6 +11981,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -13944,7 +11996,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -13966,8 +12018,6 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, - "id5": true, }, "selectedGroupIds": Object { "id4": true, @@ -13980,6 +12030,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4_copy", ], @@ -13994,7 +12045,7 @@ Object { "type": 3, }, "seed": 915032327, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14010,6 +12061,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4_copy", ], @@ -14024,7 +12076,7 @@ Object { "type": 3, }, "seed": 747212839, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14040,6 +12092,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4_copy", ], @@ -14054,7 +12107,7 @@ Object { "type": 3, }, "seed": 760410951, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14070,6 +12123,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -14084,7 +12138,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14100,6 +12154,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -14114,7 +12169,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14130,6 +12185,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -14144,7 +12200,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14161,7 +12217,7 @@ Object { } `; -exports[`regression tests make a group and duplicate it: [end of test] number of elements 1`] = `6`; +exports[`regression tests make a group and duplicate it: [end of test] number of elements 1`] = `0`; exports[`regression tests make a group and duplicate it: [end of test] number of renders 1`] = `24`; @@ -14185,28 +12241,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -14225,7 +12290,6 @@ Object { "pendingImageElementId": null, "previousSelectedElementIds": Object { "id0": true, - "id3": true, }, "resizingElement": null, "scrollX": 0, @@ -14233,8 +12297,8 @@ Object { "scrolledOutside": false, "selectedElementIds": Object { "id1": true, - "id4": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -14256,68 +12320,6 @@ Object { } `; -exports[`regression tests noop interaction after undo shouldn't create history entry: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 1116226695, - "width": 10, - "x": 10, - "y": 10, -} -`; - -exports[`regression tests noop interaction after undo shouldn't create history entry: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 1014066025, - "width": 10, - "x": 30, - "y": 10, -} -`; - exports[`regression tests noop interaction after undo shouldn't create history entry: [end of test] history 1`] = ` Object { "recording": false, @@ -14351,6 +12353,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -14363,7 +12366,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14393,6 +12396,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -14405,7 +12409,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14421,6 +12425,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -14433,7 +12438,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14450,7 +12455,7 @@ Object { } `; -exports[`regression tests noop interaction after undo shouldn't create history entry: [end of test] number of elements 1`] = `2`; +exports[`regression tests noop interaction after undo shouldn't create history entry: [end of test] number of elements 1`] = `0`; exports[`regression tests noop interaction after undo shouldn't create history entry: [end of test] number of renders 1`] = `21`; @@ -14474,28 +12479,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "down", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "touch", "multiElement": null, "name": "Untitled-201933152653", @@ -14517,9 +12531,8 @@ Object { "scrollX": -2.916666666666668, "scrollY": 0, "scrolledOutside": false, - "selectedElementIds": Object { - "id0": true, - }, + "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -14585,28 +12598,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -14629,6 +12651,7 @@ Object { "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -14694,28 +12717,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -14739,10 +12771,8 @@ Object { "scrollX": 0, "scrollY": 0, "scrolledOutside": false, - "selectedElementIds": Object { - "id0": false, - "id1": true, - }, + "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -14764,37 +12794,6 @@ Object { } `; -exports[`regression tests shift click on selected element should deselect it on pointer up: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 0, - "y": 0, -} -`; - exports[`regression tests shift click on selected element should deselect it on pointer up: [end of test] history 1`] = ` Object { "recording": false, @@ -14828,6 +12827,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -14840,7 +12840,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -14857,7 +12857,7 @@ Object { } `; -exports[`regression tests shift click on selected element should deselect it on pointer up: [end of test] number of elements 1`] = `1`; +exports[`regression tests shift click on selected element should deselect it on pointer up: [end of test] number of elements 1`] = `0`; exports[`regression tests shift click on selected element should deselect it on pointer up: [end of test] number of renders 1`] = `11`; @@ -14881,28 +12881,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -14922,8 +12931,6 @@ Object { "previousSelectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, "resizingElement": null, "scrollX": 0, @@ -14932,10 +12939,8 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, - "id4": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -14957,68 +12962,6 @@ Object { } `; -exports[`regression tests shift-click to multiselect, then drag: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1116226695, - "width": 10, - "x": 20, - "y": 20, -} -`; - -exports[`regression tests shift-click to multiselect, then drag: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1014066025, - "width": 10, - "x": 40, - "y": 20, -} -`; - exports[`regression tests shift-click to multiselect, then drag: [end of test] history 1`] = ` Object { "recording": false, @@ -15052,6 +12995,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -15064,7 +13008,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15094,6 +13038,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -15106,7 +13051,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15122,6 +13067,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -15134,7 +13080,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15155,9 +13101,6 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, - "id4": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -15168,6 +13111,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -15180,7 +13124,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15196,6 +13140,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -15208,7 +13153,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15225,7 +13170,7 @@ Object { } `; -exports[`regression tests shift-click to multiselect, then drag: [end of test] number of elements 1`] = `2`; +exports[`regression tests shift-click to multiselect, then drag: [end of test] number of elements 1`] = `0`; exports[`regression tests shift-click to multiselect, then drag: [end of test] number of renders 1`] = `20`; @@ -15249,28 +13194,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -15288,6 +13242,8 @@ Object { "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": Object { + "id0": true, + "id1": true, "id2": true, }, "resizingElement": null, @@ -15298,9 +13254,8 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, - "id5": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -15322,99 +13277,6 @@ Object { } `; -exports[`regression tests should group elements and ungroup them: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 1505387817, - "width": 10, - "x": 10, - "y": 10, -} -`; - -exports[`regression tests should group elements and ungroup them: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 23633383, - "width": 10, - "x": 30, - "y": 10, -} -`; - -exports[`regression tests should group elements and ungroup them: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 493213705, - "width": 10, - "x": 50, - "y": 10, -} -`; - exports[`regression tests should group elements and ungroup them: [end of test] history 1`] = ` Object { "recording": false, @@ -15448,6 +13310,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -15460,7 +13323,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15490,6 +13353,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -15502,7 +13366,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15518,6 +13382,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -15530,7 +13395,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15560,6 +13425,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -15572,7 +13438,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15588,6 +13454,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -15600,7 +13467,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15616,6 +13483,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -15628,7 +13496,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15650,7 +13518,6 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, }, "selectedGroupIds": Object { "id4": true, @@ -15663,6 +13530,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -15677,7 +13545,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15693,6 +13561,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -15707,7 +13576,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15723,6 +13592,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -15737,7 +13607,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -15759,8 +13629,6 @@ Object { "id0": true, "id1": true, "id2": true, - "id3": true, - "id5": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -15771,6 +13639,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -15783,13 +13652,13 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 4, - "versionNonce": 1505387817, + "versionNonce": 23633383, "width": 10, "x": 10, "y": 10, @@ -15799,6 +13668,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -15811,13 +13681,13 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 4, - "versionNonce": 23633383, + "versionNonce": 493213705, "width": 10, "x": 30, "y": 10, @@ -15827,6 +13697,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -15839,13 +13710,13 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", "updated": 1, "version": 4, - "versionNonce": 493213705, + "versionNonce": 915032327, "width": 10, "x": 50, "y": 10, @@ -15856,7 +13727,7 @@ Object { } `; -exports[`regression tests should group elements and ungroup them: [end of test] number of elements 1`] = `3`; +exports[`regression tests should group elements and ungroup them: [end of test] number of elements 1`] = `0`; exports[`regression tests should group elements and ungroup them: [end of test] number of renders 1`] = `25`; @@ -15871,7 +13742,7 @@ Object { "collaborators": Map {}, "contextMenu": null, "currentChartType": "bar", - "currentItemBackgroundColor": "#fa5252", + "currentItemBackgroundColor": "#ffc9c9", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "hachure", "currentItemFontFamily": 1, @@ -15880,28 +13751,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -15909,7 +13789,7 @@ Object { "offsetTop": 0, "openDialog": null, "openMenu": null, - "openPopup": null, + "openPopup": "elementBackground", "openSidebar": null, "pasteDialog": Object { "data": null, @@ -15926,6 +13806,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -15947,37 +13828,6 @@ Object { } `; -exports[`regression tests should show fill icons when element has non transparent background: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "#fa5252", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 449462985, - "width": 10, - "x": 0, - "y": 0, -} -`; - exports[`regression tests should show fill icons when element has non transparent background: [end of test] history 1`] = ` Object { "recording": false, @@ -16011,6 +13861,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -16023,7 +13874,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16050,9 +13901,10 @@ Object { "elements": Array [ Object { "angle": 0, - "backgroundColor": "#fa5252", + "backgroundColor": "#ffc9c9", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -16065,7 +13917,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16082,9 +13934,9 @@ Object { } `; -exports[`regression tests should show fill icons when element has non transparent background: [end of test] number of elements 1`] = `1`; +exports[`regression tests should show fill icons when element has non transparent background: [end of test] number of elements 1`] = `0`; -exports[`regression tests should show fill icons when element has non transparent background: [end of test] number of renders 1`] = `14`; +exports[`regression tests should show fill icons when element has non transparent background: [end of test] number of renders 1`] = `13`; exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] appState 1`] = ` Object { @@ -16106,28 +13958,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -16157,10 +14018,10 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id11": true, "id5": true, "id6": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object { "id10": true, }, @@ -16184,142 +14045,6 @@ Object { } `; -exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - "id10", - ], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 81784553, - "width": 10, - "x": 10, - "y": 0, -} -`; - -exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id4", - "id10", - ], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 747212839, - "width": 10, - "x": 50, - "y": 0, -} -`; - -exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id9", - "id10", - ], - "height": 10, - "id": "id5", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 1014066025, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 1723083209, - "width": 10, - "x": 10, - "y": 50, -} -`; - -exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] element 3 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id9", - "id10", - ], - "height": 10, - "id": "id6", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 400692809, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 760410951, - "width": 10, - "x": 50, - "y": 50, -} -`; - exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] history 1`] = ` Object { "recording": false, @@ -16353,6 +14078,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -16365,7 +14091,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16395,6 +14121,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -16407,7 +14134,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16423,6 +14150,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -16435,7 +14163,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16456,8 +14184,6 @@ Object { "selectedElementIds": Object { "id0": true, "id1": true, - "id2": true, - "id3": true, }, "selectedGroupIds": Object { "id4": true, @@ -16470,6 +14196,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -16484,7 +14211,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16500,6 +14227,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -16514,7 +14242,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16544,6 +14272,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -16558,7 +14287,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16574,6 +14303,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -16588,7 +14318,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16604,6 +14334,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id5", @@ -16616,7 +14347,7 @@ Object { "type": 3, }, "seed": 1014066025, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16646,6 +14377,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -16660,7 +14392,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16676,6 +14408,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -16690,7 +14423,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16706,6 +14439,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id5", @@ -16718,7 +14452,7 @@ Object { "type": 3, }, "seed": 1014066025, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16734,6 +14468,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id6", @@ -16746,7 +14481,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16767,8 +14502,6 @@ Object { "selectedElementIds": Object { "id5": true, "id6": true, - "id7": true, - "id8": true, }, "selectedGroupIds": Object { "id9": true, @@ -16781,6 +14514,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -16795,7 +14529,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16811,6 +14545,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", ], @@ -16825,7 +14560,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16841,6 +14576,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id9", ], @@ -16855,7 +14591,7 @@ Object { "type": 3, }, "seed": 1014066025, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16871,6 +14607,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id9", ], @@ -16885,7 +14622,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16920,6 +14657,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", "id10", @@ -16935,7 +14673,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16951,6 +14689,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id4", "id10", @@ -16966,7 +14705,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -16982,6 +14721,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id9", "id10", @@ -16997,7 +14737,7 @@ Object { "type": 3, }, "seed": 1014066025, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17013,6 +14753,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id9", "id10", @@ -17028,7 +14769,7 @@ Object { "type": 3, }, "seed": 400692809, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17045,7 +14786,7 @@ Object { } `; -exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] number of elements 1`] = `4`; +exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] number of elements 1`] = `0`; exports[`regression tests single-clicking on a subgroup of a selected group should not alter selection: [end of test] number of renders 1`] = `39`; @@ -17069,28 +14810,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -17113,6 +14863,7 @@ Object { "scrollY": 60, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -17178,28 +14929,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": "id3", "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -17226,6 +14986,7 @@ Object { "selectedElementIds": Object { "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -17247,107 +15008,6 @@ Object { } `; -exports[`regression tests supports nested groups: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id3", - ], - "height": 50, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 3, - "versionNonce": 1116226695, - "width": 50, - "x": 100, - "y": 100, -} -`; - -exports[`regression tests supports nested groups: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id5", - "id3", - ], - "height": 50, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 400692809, - "width": 50, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests supports nested groups: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [ - "id5", - "id3", - ], - "height": 50, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 4, - "versionNonce": 1604849351, - "width": 50, - "x": 200, - "y": 200, -} -`; - exports[`regression tests supports nested groups: [end of test] history 1`] = ` Object { "recording": false, @@ -17381,6 +15041,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -17393,7 +15054,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17423,6 +15084,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -17435,7 +15097,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17451,6 +15113,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id1", @@ -17463,7 +15126,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17493,6 +15156,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -17505,7 +15169,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17521,6 +15185,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id1", @@ -17533,7 +15198,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17549,6 +15214,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id2", @@ -17561,7 +15227,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17595,6 +15261,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -17609,7 +15276,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17625,6 +15292,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -17639,7 +15307,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17655,6 +15323,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -17669,7 +15338,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17690,7 +15359,6 @@ Object { "selectedElementIds": Object { "id0": true, "id2": true, - "id4": true, }, "selectedGroupIds": Object {}, "viewBackgroundColor": "#ffffff", @@ -17701,6 +15369,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -17715,7 +15384,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17731,6 +15400,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -17745,7 +15415,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17761,6 +15431,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -17775,7 +15446,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17796,7 +15467,6 @@ Object { "selectedElementIds": Object { "id0": true, "id2": true, - "id4": true, }, "selectedGroupIds": Object { "id5": true, @@ -17809,6 +15479,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -17823,7 +15494,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17839,6 +15510,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id5", "id3", @@ -17854,7 +15526,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17870,6 +15542,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id5", "id3", @@ -17885,7 +15558,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17907,7 +15580,6 @@ Object { "id0": true, "id1": true, "id2": true, - "id7": true, }, "selectedGroupIds": Object { "id3": true, @@ -17920,6 +15592,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id3", ], @@ -17934,7 +15607,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17950,6 +15623,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id5", "id3", @@ -17965,7 +15639,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -17981,6 +15655,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [ "id5", "id3", @@ -17996,7 +15671,7 @@ Object { "type": 3, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -18013,7 +15688,7 @@ Object { } `; -exports[`regression tests supports nested groups: [end of test] number of elements 1`] = `3`; +exports[`regression tests supports nested groups: [end of test] number of elements 1`] = `0`; exports[`regression tests supports nested groups: [end of test] number of renders 1`] = `32`; @@ -18037,16 +15712,18 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "down", + "defaultSidebarDockedPreference": false, "draggingElement": Object { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id4", @@ -18059,7 +15736,7 @@ Object { "type": 2, }, "seed": 1116226695, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -18071,21 +15748,29 @@ Object { "y": 0, }, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -18105,7 +15790,6 @@ Object { "previousSelectedElementIds": Object { "id1": true, "id2": true, - "id3": true, }, "resizingElement": null, "scrollX": 0, @@ -18114,6 +15798,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": Object { @@ -18121,6 +15806,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id4", @@ -18133,7 +15819,7 @@ Object { "type": 2, }, "seed": 1116226695, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -18162,99 +15848,6 @@ Object { } `; -exports[`regression tests switches from group of selected elements to another element on pointer down: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests switches from group of selected elements to another element on pointer down: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 100, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 100, - "x": 110, - "y": 110, -} -`; - -exports[`regression tests switches from group of selected elements to another element on pointer down: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 100, - "id": "id2", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 401146281, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "diamond", - "updated": 1, - "version": 2, - "versionNonce": 2019559783, - "width": 100, - "x": 310, - "y": 310, -} -`; - exports[`regression tests switches from group of selected elements to another element on pointer down: [end of test] history 1`] = ` Object { "recording": false, @@ -18288,6 +15881,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -18300,7 +15894,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -18330,6 +15924,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -18342,7 +15937,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -18358,6 +15953,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id1", @@ -18370,7 +15966,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -18400,6 +15996,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -18412,7 +16009,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -18428,6 +16025,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id1", @@ -18440,7 +16038,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -18456,6 +16054,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id2", @@ -18468,7 +16067,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -18485,7 +16084,7 @@ Object { } `; -exports[`regression tests switches from group of selected elements to another element on pointer down: [end of test] number of elements 1`] = `3`; +exports[`regression tests switches from group of selected elements to another element on pointer down: [end of test] number of elements 1`] = `0`; exports[`regression tests switches from group of selected elements to another element on pointer down: [end of test] number of renders 1`] = `20`; @@ -18509,16 +16108,18 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "down", + "defaultSidebarDockedPreference": false, "draggingElement": Object { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id2", @@ -18531,7 +16132,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -18543,21 +16144,29 @@ Object { "y": 0, }, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -18584,6 +16193,7 @@ Object { "selectedElementIds": Object { "id0": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": Object { @@ -18591,6 +16201,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id2", @@ -18603,7 +16214,7 @@ Object { "type": 2, }, "seed": 401146281, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "selection", @@ -18632,68 +16243,6 @@ Object { } `; -exports[`regression tests switches selected element on pointer down: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 2, - "versionNonce": 1278240551, - "width": 10, - "x": 0, - "y": 0, -} -`; - -exports[`regression tests switches selected element on pointer down: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "ellipse", - "updated": 1, - "version": 2, - "versionNonce": 453191, - "width": 10, - "x": 20, - "y": 20, -} -`; - exports[`regression tests switches selected element on pointer down: [end of test] history 1`] = ` Object { "recording": false, @@ -18727,6 +16276,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -18739,7 +16289,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -18769,6 +16319,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -18781,7 +16332,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -18797,6 +16348,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id1", @@ -18809,7 +16361,7 @@ Object { "type": 2, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -18826,7 +16378,7 @@ Object { } `; -exports[`regression tests switches selected element on pointer down: [end of test] number of elements 1`] = `2`; +exports[`regression tests switches selected element on pointer down: [end of test] number of elements 1`] = `0`; exports[`regression tests switches selected element on pointer down: [end of test] number of renders 1`] = `14`; @@ -18850,28 +16402,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "down", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "touch", "multiElement": null, "name": "Untitled-201933152653", @@ -18893,9 +16454,8 @@ Object { "scrollX": 10, "scrollY": -10, "scrolledOutside": false, - "selectedElementIds": Object { - "id0": true, - }, + "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -18961,28 +16521,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -19007,6 +16576,7 @@ Object { "selectedElementIds": Object { "id1": true, }, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -19028,117 +16598,6 @@ Object { } `; -exports[`regression tests undo/redo drawing an element: [end of test] element 0 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id0", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 337897, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 6, - "versionNonce": 760410951, - "width": 20, - "x": 10, - "y": -10, -} -`; - -exports[`regression tests undo/redo drawing an element: [end of test] element 1 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 20, - "id": "id1", - "isDeleted": false, - "link": null, - "locked": false, - "opacity": 100, - "roughness": 1, - "roundness": Object { - "type": 3, - }, - "seed": 449462985, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "rectangle", - "updated": 1, - "version": 6, - "versionNonce": 1006504105, - "width": 30, - "x": 40, - "y": 0, -} -`; - -exports[`regression tests undo/redo drawing an element: [end of test] element 2 1`] = ` -Object { - "angle": 0, - "backgroundColor": "transparent", - "boundElements": null, - "endArrowhead": "arrow", - "endBinding": null, - "fillStyle": "hachure", - "groupIds": Array [], - "height": 10, - "id": "id2", - "isDeleted": true, - "lastCommittedPoint": Array [ - 60, - 10, - ], - "link": null, - "locked": false, - "opacity": 100, - "points": Array [ - Array [ - 0, - 0, - ], - Array [ - 60, - 10, - ], - ], - "roughness": 1, - "roundness": Object { - "type": 2, - }, - "seed": 401146281, - "startArrowhead": null, - "startBinding": null, - "strokeColor": "#000000", - "strokeStyle": "solid", - "strokeWidth": 1, - "type": "arrow", - "updated": 1, - "version": 9, - "versionNonce": 81784553, - "width": 60, - "x": 130, - "y": 10, -} -`; - exports[`regression tests undo/redo drawing an element: [end of test] history 1`] = ` Object { "recording": false, @@ -19160,6 +16619,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -19172,7 +16632,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -19188,6 +16648,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -19200,7 +16661,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -19218,6 +16679,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id2", @@ -19250,7 +16712,7 @@ Object { "seed": 401146281, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -19280,6 +16742,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -19292,7 +16755,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -19308,6 +16771,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -19320,7 +16784,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -19338,6 +16802,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id2", @@ -19366,7 +16831,7 @@ Object { "seed": 401146281, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -19409,6 +16874,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -19421,7 +16887,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -19451,6 +16917,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 10, "id": "id0", @@ -19463,7 +16930,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -19479,6 +16946,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 20, "id": "id1", @@ -19491,7 +16959,7 @@ Object { "type": 3, }, "seed": 449462985, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", @@ -19508,7 +16976,7 @@ Object { } `; -exports[`regression tests undo/redo drawing an element: [end of test] number of elements 1`] = `3`; +exports[`regression tests undo/redo drawing an element: [end of test] number of elements 1`] = `0`; exports[`regression tests undo/redo drawing an element: [end of test] number of renders 1`] = `31`; @@ -19532,28 +17000,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -19576,6 +17053,7 @@ Object { "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, @@ -19641,28 +17119,37 @@ Object { "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, - "currentItemStrokeColor": "#000000", + "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 1, "currentItemTextAlign": "left", "cursorButton": "up", + "defaultSidebarDockedPreference": false, "draggingElement": null, "editingElement": null, + "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, + "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, + "frameRendering": Object { + "clip": true, + "enabled": true, + "name": true, + "outline": true, + }, + "frameToHighlight": null, "gridSize": null, "height": 768, "isBindingEnabled": true, "isLoading": false, "isResizing": false, "isRotating": false, - "isSidebarDocked": false, "lastPointerDownWith": "mouse", "multiElement": null, "name": "Untitled-201933152653", @@ -19685,6 +17172,7 @@ Object { "scrollY": 0, "scrolledOutside": false, "selectedElementIds": Object {}, + "selectedElementsAreBeingDragged": false, "selectedGroupIds": Object {}, "selectedLinearElement": null, "selectionElement": null, diff --git a/src/tests/__snapshots__/selection.test.tsx.snap b/src/tests/__snapshots__/selection.test.tsx.snap index 6379fa0aa..fff176a63 100644 --- a/src/tests/__snapshots__/selection.test.tsx.snap +++ b/src/tests/__snapshots__/selection.test.tsx.snap @@ -8,6 +8,7 @@ Object { "endArrowhead": "arrow", "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -33,7 +34,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -54,6 +55,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -79,7 +81,7 @@ Object { "seed": 337897, "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -98,6 +100,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -110,7 +113,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "diamond", @@ -129,6 +132,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -141,7 +145,7 @@ Object { "type": 2, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "ellipse", @@ -160,6 +164,7 @@ Object { "backgroundColor": "transparent", "boundElements": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 50, "id": "id0", @@ -172,7 +177,7 @@ Object { "type": 3, }, "seed": 337897, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "rectangle", diff --git a/src/tests/binding.test.tsx b/src/tests/binding.test.tsx index c615eb925..07af36569 100644 --- a/src/tests/binding.test.tsx +++ b/src/tests/binding.test.tsx @@ -4,7 +4,7 @@ import { UI, Pointer, Keyboard } from "./helpers/ui"; import { getTransformHandles } from "../element/transformHandles"; import { API } from "./helpers/api"; import { KEYS } from "../keys"; -import { actionCreateContainerFromText } from "../actions/actionBoundText"; +import { actionWrapTextInContainer } from "../actions/actionBoundText"; const { h } = window; @@ -277,7 +277,7 @@ describe("element binding", () => { expect(h.state.selectedElementIds[text1.id]).toBe(true); - h.app.actionManager.executeAction(actionCreateContainerFromText); + h.app.actionManager.executeAction(actionWrapTextInContainer); // new text container will be placed before the text element const container = h.elements.at(-2)!; diff --git a/src/tests/clients.test.ts b/src/tests/clients.test.ts index a6a6901b1..e78cf1864 100644 --- a/src/tests/clients.test.ts +++ b/src/tests/clients.test.ts @@ -1,44 +1,39 @@ -import { getClientInitials } from "../clients"; +import { getNameInitial } from "../clients"; describe("getClientInitials", () => { it("returns substring if one name provided", () => { - const result = getClientInitials("Alan"); - expect(result).toBe("A"); + expect(getNameInitial("Alan")).toBe("A"); }); it("returns initials", () => { - const result = getClientInitials("John Doe"); - expect(result).toBe("J"); + expect(getNameInitial("John Doe")).toBe("J"); }); it("returns correct initials if many names provided", () => { - const result = getClientInitials("John Alan Doe"); - expect(result).toBe("J"); + expect(getNameInitial("John Alan Doe")).toBe("J"); }); it("returns single initial if 1 letter provided", () => { - const result = getClientInitials("z"); - expect(result).toBe("Z"); + expect(getNameInitial("z")).toBe("Z"); }); it("trims trailing whitespace", () => { - const result = getClientInitials(" q "); - expect(result).toBe("Q"); + expect(getNameInitial(" q ")).toBe("Q"); }); it('returns "?" if falsey value provided', () => { - let result = getClientInitials(""); - expect(result).toBe("?"); - - result = getClientInitials(undefined); - expect(result).toBe("?"); - - result = getClientInitials(null); - expect(result).toBe("?"); + expect(getNameInitial("")).toBe("?"); + expect(getNameInitial(undefined)).toBe("?"); + expect(getNameInitial(null)).toBe("?"); }); it('returns "?" when value is blank', () => { - const result = getClientInitials(" "); - expect(result).toBe("?"); + expect(getNameInitial(" ")).toBe("?"); + }); + + it("works with multibyte strings", () => { + expect(getNameInitial("😀")).toBe("😀"); + // but doesn't work with emoji ZWJ sequences + expect(getNameInitial("👨👩👦")).toBe("👨"); }); }); diff --git a/src/tests/clipboard.test.tsx b/src/tests/clipboard.test.tsx index 1fdc0f452..bbaa4d179 100644 --- a/src/tests/clipboard.test.tsx +++ b/src/tests/clipboard.test.tsx @@ -1,5 +1,10 @@ import ReactDOM from "react-dom"; -import { render, waitFor, GlobalTestState } from "./test-utils"; +import { + render, + waitFor, + GlobalTestState, + createPasteEvent, +} from "./test-utils"; import { Pointer, Keyboard } from "./helpers/ui"; import ExcalidrawApp from "../excalidraw-app"; import { KEYS } from "../keys"; @@ -9,6 +14,8 @@ import { } from "../element/textElement"; import { getElementBounds } from "../element"; import { NormalizedZoomValue } from "../types"; +import { API } from "./helpers/api"; +import { copyToClipboard } from "../clipboard"; const { h } = window; @@ -35,38 +42,28 @@ const setClipboardText = (text: string) => { }); }; -const sendPasteEvent = () => { - const clipboardEvent = new Event("paste", { - bubbles: true, - cancelable: true, - composed: true, - }); - - // set `clipboardData` properties. - // @ts-ignore - clipboardEvent.clipboardData = { - getData: () => window.navigator.clipboard.readText(), - files: [], - }; - +const sendPasteEvent = (text?: string) => { + const clipboardEvent = createPasteEvent( + text || (() => window.navigator.clipboard.readText()), + ); document.dispatchEvent(clipboardEvent); }; -const pasteWithCtrlCmdShiftV = () => { +const pasteWithCtrlCmdShiftV = (text?: string) => { Keyboard.withModifierKeys({ ctrl: true, shift: true }, () => { //triggering keydown with an empty clipboard Keyboard.keyPress(KEYS.V); //triggering paste event with faked clipboard - sendPasteEvent(); + sendPasteEvent(text); }); }; -const pasteWithCtrlCmdV = () => { +const pasteWithCtrlCmdV = (text?: string) => { Keyboard.withModifierKeys({ ctrl: true }, () => { //triggering keydown with an empty clipboard Keyboard.keyPress(KEYS.V); //triggering paste event with faked clipboard - sendPasteEvent(); + sendPasteEvent(text); }); }; @@ -89,6 +86,32 @@ beforeEach(async () => { }); }); +describe("general paste behavior", () => { + it("should randomize seed on paste", async () => { + const rectangle = API.createElement({ type: "rectangle" }); + const clipboardJSON = (await copyToClipboard([rectangle], null))!; + + pasteWithCtrlCmdV(clipboardJSON); + + await waitFor(() => { + expect(h.elements.length).toBe(1); + expect(h.elements[0].seed).not.toBe(rectangle.seed); + }); + }); + + it("should retain seed on shift-paste", async () => { + const rectangle = API.createElement({ type: "rectangle" }); + const clipboardJSON = (await copyToClipboard([rectangle], null))!; + + // assert we don't randomize seed on shift-paste + pasteWithCtrlCmdShiftV(clipboardJSON); + await waitFor(() => { + expect(h.elements.length).toBe(1); + expect(h.elements[0].seed).toBe(rectangle.seed); + }); + }); +}); + describe("paste text as single lines", () => { it("should create an element for each line when copying with Ctrl/Cmd+V", async () => { const text = "sajgfakfn\naaksfnknas\nakefnkasf"; diff --git a/src/tests/contextmenu.test.tsx b/src/tests/contextmenu.test.tsx index 55841b243..9e89996af 100644 --- a/src/tests/contextmenu.test.tsx +++ b/src/tests/contextmenu.test.tsx @@ -9,6 +9,7 @@ import { queryByText, queryAllByText, waitFor, + togglePopover, } from "./test-utils"; import ExcalidrawApp from "../excalidraw-app"; import * as Renderer from "../renderer/renderScene"; @@ -19,7 +20,6 @@ import { ShortcutName } from "../actions/shortcuts"; import { copiedStyles } from "../actions/actionStyles"; import { API } from "./helpers/api"; import { setDateTimeForTests } from "../utils"; -import { t } from "../i18n"; import { LibraryItem } from "../types"; const checkpoint = (name: string) => { @@ -125,7 +125,7 @@ describe("contextMenu element", () => { "bringToFront", "duplicateSelection", "hyperlink", - "toggleLock", + "toggleElementLock", ]; expect(contextMenu).not.toBeNull(); @@ -207,12 +207,14 @@ describe("contextMenu element", () => { "deleteSelectedElements", "group", "addToLibrary", + "flipHorizontal", + "flipVertical", "sendBackward", "bringForward", "sendToBack", "bringToFront", "duplicateSelection", - "toggleLock", + "toggleElementLock", ]; expect(contextMenu).not.toBeNull(); @@ -258,12 +260,14 @@ describe("contextMenu element", () => { "deleteSelectedElements", "ungroup", "addToLibrary", + "flipHorizontal", + "flipVertical", "sendBackward", "bringForward", "sendToBack", "bringToFront", "duplicateSelection", - "toggleLock", + "toggleElementLock", ]; expect(contextMenu).not.toBeNull(); @@ -287,7 +291,7 @@ describe("contextMenu element", () => { }); const contextMenu = UI.queryContextMenu(); expect(copiedStyles).toBe("{}"); - fireEvent.click(queryByText(contextMenu as HTMLElement, "Copy styles")!); + fireEvent.click(queryByText(contextMenu!, "Copy styles")!); expect(copiedStyles).not.toBe("{}"); const element = JSON.parse(copiedStyles)[0]; expect(element).toEqual(API.getSelectedElement()); @@ -303,10 +307,10 @@ describe("contextMenu element", () => { mouse.up(20, 20); // Change some styles of second rectangle - UI.clickLabeledElement("Stroke"); - UI.clickLabeledElement(t("colors.c92a2a")); - UI.clickLabeledElement("Background"); - UI.clickLabeledElement(t("colors.e64980")); + togglePopover("Stroke"); + UI.clickOnTestId("color-red"); + togglePopover("Background"); + UI.clickOnTestId("color-blue"); // Fill style fireEvent.click(screen.getByTitle("Cross-hatch")); // Stroke width @@ -320,15 +324,22 @@ describe("contextMenu element", () => { target: { value: "60" }, }); + // closing the background popover as this blocks + // context menu from rendering after we started focussing + // the popover once rendered :/ + togglePopover("Background"); + mouse.reset(); + // Copy styles of second rectangle fireEvent.contextMenu(GlobalTestState.canvas, { button: 2, clientX: 40, clientY: 40, }); + let contextMenu = UI.queryContextMenu(); - fireEvent.click(queryByText(contextMenu as HTMLElement, "Copy styles")!); + fireEvent.click(queryByText(contextMenu!, "Copy styles")!); const secondRect = JSON.parse(copiedStyles)[0]; expect(secondRect.id).toBe(h.elements[1].id); @@ -340,12 +351,12 @@ describe("contextMenu element", () => { clientY: 10, }); contextMenu = UI.queryContextMenu(); - fireEvent.click(queryByText(contextMenu as HTMLElement, "Paste styles")!); + fireEvent.click(queryByText(contextMenu!, "Paste styles")!); const firstRect = API.getSelectedElement(); expect(firstRect.id).toBe(h.elements[0].id); - expect(firstRect.strokeColor).toBe("#c92a2a"); - expect(firstRect.backgroundColor).toBe("#e64980"); + expect(firstRect.strokeColor).toBe("#e03131"); + expect(firstRect.backgroundColor).toBe("#a5d8ff"); expect(firstRect.fillStyle).toBe("cross-hatch"); expect(firstRect.strokeWidth).toBe(2); // Bold: 2 expect(firstRect.strokeStyle).toBe("dotted"); @@ -364,7 +375,7 @@ describe("contextMenu element", () => { clientY: 1, }); const contextMenu = UI.queryContextMenu(); - fireEvent.click(queryAllByText(contextMenu as HTMLElement, "Delete")[0]); + fireEvent.click(queryAllByText(contextMenu!, "Delete")[0]); expect(API.getSelectedElements()).toHaveLength(0); expect(h.elements[0].isDeleted).toBe(true); }); @@ -380,7 +391,7 @@ describe("contextMenu element", () => { clientY: 1, }); const contextMenu = UI.queryContextMenu(); - fireEvent.click(queryByText(contextMenu as HTMLElement, "Add to library")!); + fireEvent.click(queryByText(contextMenu!, "Add to library")!); await waitFor(() => { const library = localStorage.getItem("excalidraw-library"); @@ -401,7 +412,7 @@ describe("contextMenu element", () => { clientY: 1, }); const contextMenu = UI.queryContextMenu(); - fireEvent.click(queryByText(contextMenu as HTMLElement, "Duplicate")!); + fireEvent.click(queryByText(contextMenu!, "Duplicate")!); expect(h.elements).toHaveLength(2); const { id: _id0, seed: _seed0, x: _x0, y: _y0, ...rect1 } = h.elements[0]; const { id: _id1, seed: _seed1, x: _x1, y: _y1, ...rect2 } = h.elements[1]; @@ -425,7 +436,7 @@ describe("contextMenu element", () => { }); const contextMenu = UI.queryContextMenu(); const elementsBefore = h.elements; - fireEvent.click(queryByText(contextMenu as HTMLElement, "Send backward")!); + fireEvent.click(queryByText(contextMenu!, "Send backward")!); expect(elementsBefore[0].id).toEqual(h.elements[1].id); expect(elementsBefore[1].id).toEqual(h.elements[0].id); }); @@ -447,7 +458,7 @@ describe("contextMenu element", () => { }); const contextMenu = UI.queryContextMenu(); const elementsBefore = h.elements; - fireEvent.click(queryByText(contextMenu as HTMLElement, "Bring forward")!); + fireEvent.click(queryByText(contextMenu!, "Bring forward")!); expect(elementsBefore[0].id).toEqual(h.elements[1].id); expect(elementsBefore[1].id).toEqual(h.elements[0].id); }); @@ -469,7 +480,7 @@ describe("contextMenu element", () => { }); const contextMenu = UI.queryContextMenu(); const elementsBefore = h.elements; - fireEvent.click(queryByText(contextMenu as HTMLElement, "Send to back")!); + fireEvent.click(queryByText(contextMenu!, "Send to back")!); expect(elementsBefore[1].id).toEqual(h.elements[0].id); }); @@ -490,7 +501,7 @@ describe("contextMenu element", () => { }); const contextMenu = UI.queryContextMenu(); const elementsBefore = h.elements; - fireEvent.click(queryByText(contextMenu as HTMLElement, "Bring to front")!); + fireEvent.click(queryByText(contextMenu!, "Bring to front")!); expect(elementsBefore[0].id).toEqual(h.elements[1].id); }); @@ -514,9 +525,7 @@ describe("contextMenu element", () => { clientY: 1, }); const contextMenu = UI.queryContextMenu(); - fireEvent.click( - queryByText(contextMenu as HTMLElement, "Group selection")!, - ); + fireEvent.click(queryByText(contextMenu!, "Group selection")!); const selectedGroupIds = Object.keys(h.state.selectedGroupIds); expect(h.elements[0].groupIds).toEqual(selectedGroupIds); expect(h.elements[1].groupIds).toEqual(selectedGroupIds); @@ -548,9 +557,7 @@ describe("contextMenu element", () => { const contextMenu = UI.queryContextMenu(); expect(contextMenu).not.toBeNull(); - fireEvent.click( - queryByText(contextMenu as HTMLElement, "Ungroup selection")!, - ); + fireEvent.click(queryByText(contextMenu!, "Ungroup selection")!); const selectedGroupIds = Object.keys(h.state.selectedGroupIds); expect(selectedGroupIds).toHaveLength(0); diff --git a/src/tests/data/__snapshots__/restore.test.ts.snap b/src/tests/data/__snapshots__/restore.test.ts.snap index 7e30b9d86..bb2303bc3 100644 --- a/src/tests/data/__snapshots__/restore.test.ts.snap +++ b/src/tests/data/__snapshots__/restore.test.ts.snap @@ -8,6 +8,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id-arrow01", @@ -33,7 +34,7 @@ Object { "seed": Any , "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "arrow", @@ -52,6 +53,7 @@ Object { "backgroundColor": "blue", "boundElements": Array [], "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [ "1", "2", @@ -87,6 +89,7 @@ Object { "backgroundColor": "blue", "boundElements": Array [], "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [ "1", "2", @@ -122,6 +125,7 @@ Object { "backgroundColor": "blue", "boundElements": Array [], "fillStyle": "cross-hatch", + "frameId": null, "groupIds": Array [ "1", "2", @@ -157,6 +161,7 @@ Object { "backgroundColor": "transparent", "boundElements": Array [], "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 0, "id": "id-freedraw01", @@ -173,7 +178,7 @@ Object { }, "seed": Any , "simulatePressure": true, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "freedraw", @@ -194,6 +199,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id-line01", @@ -219,7 +225,7 @@ Object { "seed": Any , "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -240,6 +246,7 @@ Object { "endArrowhead": null, "endBinding": null, "fillStyle": "hachure", + "frameId": null, "groupIds": Array [], "height": 100, "id": "id-draw01", @@ -265,7 +272,7 @@ Object { "seed": Any , "startArrowhead": null, "startBinding": null, - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "type": "line", @@ -288,6 +295,7 @@ Object { "fillStyle": "hachure", "fontFamily": 1, "fontSize": 14, + "frameId": null, "groupIds": Array [], "height": 100, "id": "id-text01", @@ -302,7 +310,7 @@ Object { "type": 3, }, "seed": Any , - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "text": "text", @@ -328,6 +336,7 @@ Object { "fillStyle": "hachure", "fontFamily": 1, "fontSize": 10, + "frameId": null, "groupIds": Array [], "height": 100, "id": "id-text01", @@ -342,7 +351,7 @@ Object { "type": 3, }, "seed": Any , - "strokeColor": "#000000", + "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 1, "text": "", diff --git a/src/tests/data/restore.test.ts b/src/tests/data/restore.test.ts index afd5ef918..aaa2f087a 100644 --- a/src/tests/data/restore.test.ts +++ b/src/tests/data/restore.test.ts @@ -10,7 +10,7 @@ import { API } from "../helpers/api"; import { getDefaultAppState } from "../../appState"; import { ImportedDataState } from "../../data/types"; import { NormalizedZoomValue } from "../../types"; -import { FONT_FAMILY, ROUNDNESS } from "../../constants"; +import { DEFAULT_SIDEBAR, FONT_FAMILY, ROUNDNESS } from "../../constants"; import { newElementWith } from "../../element/mutateElement"; describe("restoreElements", () => { @@ -453,6 +453,29 @@ describe("restoreAppState", () => { expect(restoredAppState.zoom).toMatchObject(getDefaultAppState().zoom); }); }); + + it("should handle appState.openSidebar legacy values", () => { + expect(restore.restoreAppState({}, null).openSidebar).toBe(null); + expect( + restore.restoreAppState({ openSidebar: "library" } as any, null) + .openSidebar, + ).toEqual({ name: DEFAULT_SIDEBAR.name }); + expect( + restore.restoreAppState({ openSidebar: "xxx" } as any, null).openSidebar, + ).toEqual({ name: DEFAULT_SIDEBAR.name }); + // while "library" was our legacy sidebar name, we can't assume it's legacy + // value as it may be some host app's custom sidebar name ¯\_(ツ)_/¯ + expect( + restore.restoreAppState({ openSidebar: { name: "library" } } as any, null) + .openSidebar, + ).toEqual({ name: "library" }); + expect( + restore.restoreAppState( + { openSidebar: { name: DEFAULT_SIDEBAR.name, tab: "ola" } } as any, + null, + ).openSidebar, + ).toEqual({ name: DEFAULT_SIDEBAR.name, tab: "ola" }); + }); }); describe("restore", () => { diff --git a/src/tests/elementLocking.test.tsx b/src/tests/elementLocking.test.tsx index 9cf0968d4..a2f6eb11d 100644 --- a/src/tests/elementLocking.test.tsx +++ b/src/tests/elementLocking.test.tsx @@ -152,7 +152,7 @@ describe("element locking", () => { expect(contextMenu).not.toBeNull(); expect( contextMenu?.querySelector( - `li[data-testid="toggleLock"] .context-menu-item__label`, + `li[data-testid="toggleElementLock"] .context-menu-item__label`, ), ).toHaveTextContent(t("labels.elementLock.unlock")); }); diff --git a/src/tests/fitToContent.test.tsx b/src/tests/fitToContent.test.tsx index 6fce7cdcd..fd7a1170b 100644 --- a/src/tests/fitToContent.test.tsx +++ b/src/tests/fitToContent.test.tsx @@ -160,19 +160,6 @@ describe("fitToContent animated", () => { expect(window.requestAnimationFrame).toHaveBeenCalled(); - // Since this is an animation, we expect values to change through time. - // We'll verify that the zoom/scroll values change in each animation frame - - // zoom is not animated, it should be set to its final value, which in our - // case zooms out to 50% so that th element is fully visible (it's 2x large - // as the canvas) - expect(h.state.zoom.value).toBeLessThanOrEqual(0.5); - - // FIXME I think this should be [-100, -100] so we may have a bug in our zoom - // hadnling, alas - expect(h.state.scrollX).toBe(25); - expect(h.state.scrollY).toBe(25); - await waitForNextAnimationFrame(); const prevScrollX = h.state.scrollX; diff --git a/src/tests/fixtures/elementFixture.ts b/src/tests/fixtures/elementFixture.ts index e9db64891..fb4d559fe 100644 --- a/src/tests/fixtures/elementFixture.ts +++ b/src/tests/fixtures/elementFixture.ts @@ -15,6 +15,7 @@ const elementBase: Omit = { roughness: 1, opacity: 100, groupIds: [], + frameId: null, roundness: null, seed: 1041657908, version: 120, diff --git a/src/tests/flip.test.tsx b/src/tests/flip.test.tsx index 45a5e1477..c90c07834 100644 --- a/src/tests/flip.test.tsx +++ b/src/tests/flip.test.tsx @@ -1,5 +1,10 @@ import ReactDOM from "react-dom"; -import { GlobalTestState, render, waitFor } from "./test-utils"; +import { + createPasteEvent, + GlobalTestState, + render, + waitFor, +} from "./test-utils"; import { UI, Pointer } from "./helpers/ui"; import { API } from "./helpers/api"; import { actionFlipHorizontal, actionFlipVertical } from "../actions"; @@ -190,10 +195,8 @@ const checkElementsBoundingBox = async ( debugger; await waitFor(() => { // Check if width and height did not change - expect(x1 - toleranceInPx <= x12 && x12 <= x1 + toleranceInPx).toBeTruthy(); - expect(y1 - toleranceInPx <= y12 && y12 <= y1 + toleranceInPx).toBeTruthy(); - expect(x2 - toleranceInPx <= x22 && x22 <= x2 + toleranceInPx).toBeTruthy(); - expect(y2 - toleranceInPx <= y22 && y22 <= y2 + toleranceInPx).toBeTruthy(); + expect(x2 - x1).toBeCloseTo(x22 - x12, -1); + expect(y2 - y1).toBeCloseTo(y22 - y12, -1); }); }; @@ -211,14 +214,22 @@ const checkTwoPointsLineHorizontalFlip = async () => { h.app.actionManager.executeAction(actionFlipHorizontal); const newElement = h.elements[0] as ExcalidrawLinearElement; await waitFor(() => { - expect(originalElement.points[0][0]).toEqual( - newElement.points[0][0] !== 0 ? -newElement.points[0][0] : 0, + expect(originalElement.points[0][0]).toBeCloseTo( + -newElement.points[0][0], + 5, ); - expect(originalElement.points[0][1]).toEqual(newElement.points[0][1]); - expect(originalElement.points[1][0]).toEqual( - newElement.points[1][0] !== 0 ? -newElement.points[1][0] : 0, + expect(originalElement.points[0][1]).toBeCloseTo( + newElement.points[0][1], + 5, + ); + expect(originalElement.points[1][0]).toBeCloseTo( + -newElement.points[1][0], + 5, + ); + expect(originalElement.points[1][1]).toBeCloseTo( + newElement.points[1][1], + 5, ); - expect(originalElement.points[1][1]).toEqual(newElement.points[1][1]); }); }; @@ -229,14 +240,22 @@ const checkTwoPointsLineVerticalFlip = async () => { h.app.actionManager.executeAction(actionFlipVertical); const newElement = h.elements[0] as ExcalidrawLinearElement; await waitFor(() => { - expect(originalElement.points[0][0]).toEqual( - newElement.points[0][0] !== 0 ? -newElement.points[0][0] : 0, + expect(originalElement.points[0][0]).toBeCloseTo( + newElement.points[0][0], + 5, ); - expect(originalElement.points[0][1]).toEqual(newElement.points[0][1]); - expect(originalElement.points[1][0]).toEqual( - newElement.points[1][0] !== 0 ? -newElement.points[1][0] : 0, + expect(originalElement.points[0][1]).toBeCloseTo( + -newElement.points[0][1], + 5, + ); + expect(originalElement.points[1][0]).toBeCloseTo( + newElement.points[1][0], + 5, + ); + expect(originalElement.points[1][1]).toBeCloseTo( + -newElement.points[1][1], + 5, ); - expect(originalElement.points[1][1]).toEqual(newElement.points[1][1]); }); }; @@ -313,7 +332,7 @@ describe("rectangle", () => { it("flips a rotated rectangle vertically correctly", async () => { const originalAngle = (3 * Math.PI) / 4; - const expectedAgnle = Math.PI / 4; + const expectedAgnle = (5 * Math.PI) / 4; createAndSelectOneRectangle(originalAngle); @@ -346,7 +365,7 @@ describe("diamond", () => { it("flips a rotated diamond vertically correctly", async () => { const originalAngle = (5 * Math.PI) / 4; - const expectedAngle = (7 * Math.PI) / 4; + const expectedAngle = (3 * Math.PI) / 4; createAndSelectOneDiamond(originalAngle); @@ -379,7 +398,7 @@ describe("ellipse", () => { it("flips a rotated ellipse vertically correctly", async () => { const originalAngle = (7 * Math.PI) / 4; - const expectedAngle = (5 * Math.PI) / 4; + const expectedAngle = Math.PI / 4; createAndSelectOneEllipse(originalAngle); @@ -411,7 +430,10 @@ describe("arrow", () => { const expectedAngle = (7 * Math.PI) / 4; const line = createLinearElementWithCurveInsideMinMaxPoints("arrow"); h.app.scene.replaceAllElements([line]); - h.app.state.selectedElementIds[line.id] = true; + h.state.selectedElementIds = { + ...h.state.selectedElementIds, + [line.id]: true, + }; mutateElement(line, { angle: originalAngle, }); @@ -424,10 +446,13 @@ describe("arrow", () => { it("flips a rotated arrow vertically with line inside min/max points bounds", async () => { const originalAngle = Math.PI / 4; - const expectedAngle = (3 * Math.PI) / 4; + const expectedAngle = (7 * Math.PI) / 4; const line = createLinearElementWithCurveInsideMinMaxPoints("arrow"); h.app.scene.replaceAllElements([line]); - h.app.state.selectedElementIds[line.id] = true; + h.state.selectedElementIds = { + ...h.state.selectedElementIds, + [line.id]: true, + }; mutateElement(line, { angle: originalAngle, }); @@ -476,7 +501,7 @@ describe("arrow", () => { //TODO: elements with curve outside minMax points have a wrong bounding box!!! it.skip("flips a rotated arrow vertically with line outside min/max points bounds", async () => { const originalAngle = Math.PI / 4; - const expectedAngle = (3 * Math.PI) / 4; + const expectedAngle = (7 * Math.PI) / 4; const line = createLinearElementsWithCurveOutsideMinMaxPoints("arrow"); mutateElement(line, { angle: originalAngle }); h.app.scene.replaceAllElements([line]); @@ -507,7 +532,6 @@ describe("arrow", () => { it("flips a two points arrow vertically correctly", async () => { createAndSelectOneArrow(); - await checkTwoPointsLineVerticalFlip(); }); }); @@ -576,7 +600,7 @@ describe("line", () => { //TODO: elements with curve outside minMax points have a wrong bounding box it.skip("flips a rotated line vertically with line outside min/max points bounds", async () => { const originalAngle = Math.PI / 4; - const expectedAngle = (3 * Math.PI) / 4; + const expectedAngle = (7 * Math.PI) / 4; const line = createLinearElementsWithCurveOutsideMinMaxPoints("line"); mutateElement(line, { angle: originalAngle }); h.app.scene.replaceAllElements([line]); @@ -598,7 +622,10 @@ describe("line", () => { const expectedAngle = (7 * Math.PI) / 4; const line = createLinearElementWithCurveInsideMinMaxPoints("line"); h.app.scene.replaceAllElements([line]); - h.app.state.selectedElementIds[line.id] = true; + h.state.selectedElementIds = { + ...h.state.selectedElementIds, + [line.id]: true, + }; mutateElement(line, { angle: originalAngle, }); @@ -611,10 +638,13 @@ describe("line", () => { it("flips a rotated line vertically with line inside min/max points bounds", async () => { const originalAngle = Math.PI / 4; - const expectedAngle = (3 * Math.PI) / 4; + const expectedAngle = (7 * Math.PI) / 4; const line = createLinearElementWithCurveInsideMinMaxPoints("line"); h.app.scene.replaceAllElements([line]); - h.app.state.selectedElementIds[line.id] = true; + h.state.selectedElementIds = { + ...h.state.selectedElementIds, + [line.id]: true, + }; mutateElement(line, { angle: originalAngle, }); @@ -641,14 +671,20 @@ describe("freedraw", () => { it("flips an unrotated drawing horizontally correctly", async () => { const draw = createAndReturnOneDraw(); // select draw, since not done automatically - h.state.selectedElementIds[draw.id] = true; + h.state.selectedElementIds = { + ...h.state.selectedElementIds, + [draw.id]: true, + }; await checkHorizontalFlip(); }); it("flips an unrotated drawing vertically correctly", async () => { const draw = createAndReturnOneDraw(); // select draw, since not done automatically - h.state.selectedElementIds[draw.id] = true; + h.state.selectedElementIds = { + ...h.state.selectedElementIds, + [draw.id]: true, + }; await checkVerticalFlip(); }); @@ -658,18 +694,24 @@ describe("freedraw", () => { const draw = createAndReturnOneDraw(originalAngle); // select draw, since not done automatically - h.state.selectedElementIds[draw.id] = true; + h.state.selectedElementIds = { + ...h.state.selectedElementIds, + [draw.id]: true, + }; await checkRotatedHorizontalFlip(expectedAngle); }); it("flips a rotated drawing vertically correctly", async () => { const originalAngle = Math.PI / 4; - const expectedAngle = (3 * Math.PI) / 4; + const expectedAngle = (7 * Math.PI) / 4; const draw = createAndReturnOneDraw(originalAngle); // select draw, since not done automatically - h.state.selectedElementIds[draw.id] = true; + h.state.selectedElementIds = { + ...h.state.selectedElementIds, + [draw.id]: true, + }; await checkRotatedVerticalFlip(expectedAngle); }); @@ -680,19 +722,7 @@ describe("freedraw", () => { describe("image", () => { const createImage = async () => { const sendPasteEvent = (file?: File) => { - const clipboardEvent = new Event("paste", { - bubbles: true, - cancelable: true, - composed: true, - }); - - // set `clipboardData` properties. - // @ts-ignore - clipboardEvent.clipboardData = { - getData: () => window.navigator.clipboard.readText(), - files: [file], - }; - + const clipboardEvent = createPasteEvent("", file ? [file] : []); document.dispatchEvent(clipboardEvent); }; @@ -725,8 +755,8 @@ describe("image", () => { }); await checkVerticalFlip(); - expect((h.elements[0] as ExcalidrawImageElement).scale).toEqual([-1, 1]); - expect(h.elements[0].angle).toBeCloseTo(Math.PI); + expect((h.elements[0] as ExcalidrawImageElement).scale).toEqual([1, -1]); + expect(h.elements[0].angle).toBeCloseTo(0); }); it("flips an rotated image horizontally correctly", async () => { @@ -749,7 +779,7 @@ describe("image", () => { it("flips an rotated image vertically correctly", async () => { const originalAngle = Math.PI / 4; - const expectedAngle = (3 * Math.PI) / 4; + const expectedAngle = (7 * Math.PI) / 4; //paste image await createImage(); await waitFor(() => { @@ -764,7 +794,7 @@ describe("image", () => { }); await checkRotatedVerticalFlip(expectedAngle); - expect((h.elements[0] as ExcalidrawImageElement).scale).toEqual([-1, 1]); + expect((h.elements[0] as ExcalidrawImageElement).scale).toEqual([1, -1]); expect(h.elements[0].angle).toBeCloseTo(expectedAngle); }); @@ -779,7 +809,7 @@ describe("image", () => { }); await checkVerticalHorizontalFlip(); - expect((h.elements[0] as ExcalidrawImageElement).scale).toEqual([1, 1]); - expect(h.elements[0].angle).toBeCloseTo(Math.PI); + expect((h.elements[0] as ExcalidrawImageElement).scale).toEqual([-1, -1]); + expect(h.elements[0].angle).toBeCloseTo(0); }); }); diff --git a/src/tests/helpers/api.ts b/src/tests/helpers/api.ts index 705180d6a..7bba8bdd3 100644 --- a/src/tests/helpers/api.ts +++ b/src/tests/helpers/api.ts @@ -37,8 +37,12 @@ export class API { static getSelectedElements = ( includeBoundTextElement: boolean = false, + includeElementsInFrames: boolean = false, ): ExcalidrawElement[] => { - return getSelectedElements(h.elements, h.state, includeBoundTextElement); + return getSelectedElements(h.elements, h.state, { + includeBoundTextElement, + includeElementsInFrames, + }); }; static getSelectedElement = (): ExcalidrawElement => { @@ -141,6 +145,7 @@ export class API { | "versionNonce" | "isDeleted" | "groupIds" + | "frameId" | "link" | "updated" > = { diff --git a/src/tests/helpers/ui.ts b/src/tests/helpers/ui.ts index 1cfdb10a1..c88201133 100644 --- a/src/tests/helpers/ui.ts +++ b/src/tests/helpers/ui.ts @@ -237,6 +237,15 @@ export class UI { fireEvent.click(element); }; + static clickOnTestId = (testId: string) => { + const element = document.querySelector(`[data-testid='${testId}']`); + // const element = GlobalTestState.renderResult.queryByTestId(testId); + if (!element) { + throw new Error(`No element with testid "${testId}" found`); + } + fireEvent.click(element); + }; + /** * Creates an Excalidraw element, and returns a proxy that wraps it so that * accessing props will return the latest ones from the object existing in @@ -321,6 +330,6 @@ export class UI { static queryContextMenu = () => { return GlobalTestState.renderResult.container.querySelector( ".context-menu", - ); + ) as HTMLElement | null; }; } diff --git a/src/tests/library.test.tsx b/src/tests/library.test.tsx index 86847aeee..2a2886354 100644 --- a/src/tests/library.test.tsx +++ b/src/tests/library.test.tsx @@ -189,10 +189,15 @@ describe("library menu", () => { const latestLibrary = await h.app.library.getLatestLibrary(); expect(latestLibrary.length).toBe(0); - const libraryButton = container.querySelector(".library-button"); + const libraryButton = container.querySelector(".sidebar-trigger"); fireEvent.click(libraryButton!); - fireEvent.click(container.querySelector(".Sidebar__dropdown-btn")!); + fireEvent.click( + queryByTestId( + container.querySelector(".layer-ui__library")!, + "dropdown-menu-button", + )!, + ); queryByTestId(container, "lib-dropdown--load")!.click(); const libraryItems = parseLibraryJSON(await libraryJSONPromise); diff --git a/src/tests/linearElementEditor.test.tsx b/src/tests/linearElementEditor.test.tsx index 15fd105ec..c71283a4c 100644 --- a/src/tests/linearElementEditor.test.tsx +++ b/src/tests/linearElementEditor.test.tsx @@ -20,7 +20,7 @@ import { resize, rotate } from "./utils"; import { getBoundTextElementPosition, wrapText, - getMaxContainerWidth, + getBoundTextMaxWidth, } from "../element/textElement"; import * as textElementUtils from "../element/textElement"; import { ROUNDNESS, VERTICAL_ALIGN } from "../constants"; @@ -729,7 +729,7 @@ describe("Test Linear Elements", () => { type: "text", x: 0, y: 0, - text: wrapText(text, font, getMaxContainerWidth(container)), + text: wrapText(text, font, getBoundTextMaxWidth(container)), containerId: container.id, width: 30, height: 20, @@ -1149,7 +1149,7 @@ describe("Test Linear Elements", () => { expect(rect.x).toBe(400); expect(rect.y).toBe(0); expect( - wrapText(textElement.originalText, font, getMaxContainerWidth(arrow)), + wrapText(textElement.originalText, font, getBoundTextMaxWidth(arrow)), ).toMatchInlineSnapshot(` "Online whiteboard collaboration made easy" @@ -1172,7 +1172,7 @@ describe("Test Linear Elements", () => { false, ); expect( - wrapText(textElement.originalText, font, getMaxContainerWidth(arrow)), + wrapText(textElement.originalText, font, getBoundTextMaxWidth(arrow)), ).toMatchInlineSnapshot(` "Online whiteboard collaboration made diff --git a/src/tests/packages/__snapshots__/excalidraw.test.tsx.snap b/src/tests/packages/__snapshots__/excalidraw.test.tsx.snap index 09402981e..4caa6c6dd 100644 --- a/src/tests/packages/__snapshots__/excalidraw.test.tsx.snap +++ b/src/tests/packages/__snapshots__/excalidraw.test.tsx.snap @@ -7,7 +7,7 @@ exports[` should render main menu with host menu items > @@ -116,7 +115,7 @@ exports[` Test UIOptions prop Test canvasActions should render menu >