diff --git a/badges/tests-badge.svg b/badges/tests-badge.svg index dff9d9ea..10fa718c 100644 --- a/badges/tests-badge.svg +++ b/badges/tests-badge.svg @@ -1 +1 @@ -TestsTests142/142142/142 \ No newline at end of file +TestsTests127/134127/134 \ No newline at end of file diff --git a/cypress/integration/ui/__snapshots__/scenario.js.snap b/cypress/integration/ui/__snapshots__/scenario.js.snap index bb94f4ae..ba1acc15 100644 --- a/cypress/integration/ui/__snapshots__/scenario.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario.js.snap @@ -103,6 +103,68 @@ exports[`use various parts of svg-edit > check tool_text #0`] = ` `; +exports[`use various parts of svg-edit > check tool_clone #0`] = ` + + + Layer 1 + + + AB + + + AB + + + +`; + exports[`use various parts of svg-edit > check tool_italic #0`] = ` check tool_italic #0`] = ` > AB + + AB + `; @@ -194,6 +273,23 @@ exports[`use various parts of svg-edit > check tool_bold #0`] = ` > AB + + AB + `; @@ -242,6 +338,23 @@ exports[`use various parts of svg-edit > check change color #0`] = ` > AB + + AB + `; @@ -290,6 +403,23 @@ exports[`use various parts of svg-edit > check tool_text_anchor_start #0`] = ` > AB + + AB + `; @@ -338,6 +468,23 @@ exports[`use various parts of svg-edit > check tool_text_anchor_middle #0`] = ` > AB + + AB + `; @@ -386,6 +533,23 @@ exports[`use various parts of svg-edit > check tool_text_anchor_end #0`] = ` > AB + + AB + `; @@ -434,20 +598,37 @@ exports[`use various parts of svg-edit > check tool_star #0`] = ` > AB - + AB + + @@ -507,37 +688,54 @@ exports[`use various parts of svg-edit > check tool_polygon #0`] = ` > AB - + AB + + diff --git a/cypress/integration/ui/scenario.js b/cypress/integration/ui/scenario.js index 5d7e95f3..e5566709 100644 --- a/cypress/integration/ui/scenario.js +++ b/cypress/integration/ui/scenario.js @@ -91,8 +91,8 @@ describe('use various parts of svg-edit', function () { cy.get('#tool_star') .click({force: true}); cy.get('#svgcontent') - .trigger('mousedown', 600, 150, {force: true}) - .trigger('mousemove', 600, 170, {force: true}) + .trigger('mousedown', 300, 150, {force: true}) + .trigger('mousemove', 300, 250, {force: true}) .trigger('mouseup', {force: true}); testSnapshot(); }); @@ -100,8 +100,8 @@ describe('use various parts of svg-edit', function () { cy.get('#tool_polygon') .click({force: true}); cy.get('#svgcontent') - .trigger('mousedown', 650, 200, {force: true}) - .trigger('mousemove', 650, 210, {force: true}) + .trigger('mousedown', 350, 250, {force: true}) + .trigger('mousemove', 350, 370, {force: true}) .trigger('mouseup', {force: true}); testSnapshot(); }); diff --git a/cypress/support/ui-test-helper.js b/cypress/support/ui-test-helper.js index 1194cdc7..f91b9b2e 100644 --- a/cypress/support/ui-test-helper.js +++ b/cypress/support/ui-test-helper.js @@ -9,7 +9,7 @@ export const visitAndApproveStorage = () => { }; export const openMainMenu = () => { - return cy.get('#main_button').click(); + return cy.get('#main_button').click({force: true}); }; export const openEditorPreferences = () => { diff --git a/package-lock.json b/package-lock.json index 3c03ea24..2fee4595 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "@babel/polyfill": "7.12.1", "@web/dev-server-rollup": "0.3.3", "canvg": "3.0.7", - "core-js": "3.10.1", + "core-js": "3.10.2", "deparam": "^1.0.5", "elix": "^15.0.0", "jspdf": "2.3.1", @@ -27,7 +27,7 @@ "@babel/runtime-corejs3": "7.13.10", "@cypress/code-coverage": "3.9.4", "@cypress/fiddle": "1.19.2", - "@fintechstudios/eslint-plugin-chai-as-promised": "3.0.2", + "@fintechstudios/eslint-plugin-chai-as-promised": "3.1.0", "@hkdobrev/run-if-changed": "0.3.1", "@mysticatea/eslint-plugin": "13.0.0", "@rollup/plugin-babel": "5.3.0", @@ -36,17 +36,17 @@ "@rollup/plugin-node-resolve": "11.2.1", "@rollup/plugin-replace": "2.4.2", "@rollup/plugin-url": "6.0.0", - "@web/dev-server": "^0.1.11", + "@web/dev-server": "^0.1.12", "axe-core": "4.1.4", "babel-plugin-transform-object-rest-spread": "7.0.0-beta.3", "copyfiles": "2.4.1", - "core-js-bundle": "3.10.1", + "core-js-bundle": "3.10.2", "coveradge": "0.6.0", "cp-cli": "2.0.0", "cross-var": "1.1.0", - "cypress": "7.0.1", + "cypress": "7.1.0", "cypress-axe": "0.12.2", - "cypress-multi-reporters": "1.4.0", + "cypress-multi-reporters": "1.5.0", "cypress-plugin-snapshots": "1.4.4", "eslint": "^7.24.0", "eslint-config-standard": "16.0.2", @@ -63,13 +63,13 @@ "eslint-plugin-markdown": "^2.0.1", "eslint-plugin-mocha": "8.1.0", "eslint-plugin-mocha-cleanup": "1.9.1", - "eslint-plugin-no-unsanitized": "^3.1.4", + "eslint-plugin-no-unsanitized": "^3.1.5", "eslint-plugin-no-use-extend-native": "0.5.0", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "^5.1.0", "eslint-plugin-sonarjs": "^0.6.0", "eslint-plugin-standard": "4.1.0", - "eslint-plugin-unicorn": "29.0.0", + "eslint-plugin-unicorn": "30.0.0", "imageoptim-cli": "3.0.2", "jamilih": "0.54.0", "jsdoc": "3.6.6", @@ -89,7 +89,7 @@ "remark-lint-ordered-list-marker-value": "2.0.1", "requirejs": "2.3.6", "rimraf": "3.0.2", - "rollup": "2.45.1", + "rollup": "2.45.2", "rollup-plugin-copy": "3.4.0", "rollup-plugin-filesize": "9.1.1", "rollup-plugin-node-polyfills": "0.2.1", @@ -99,7 +99,7 @@ "stackblur-canvas": "2.5.0", "systemjs": "6.8.3", "typescript": "4.2.4", - "underscore": "1.13.0" + "underscore": "1.13.1" }, "engines": { "node": ">=10" @@ -2515,9 +2515,9 @@ } }, "node_modules/@fintechstudios/eslint-plugin-chai-as-promised": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@fintechstudios/eslint-plugin-chai-as-promised/-/eslint-plugin-chai-as-promised-3.0.2.tgz", - "integrity": "sha512-mHavP4gRhtpLwpKkoGZ3GHnKhyeCc7CeSXWLbgehEKGQNRD97ye8jlrwda/Xfc74Xn7MtLG4CJgA3fTIK6bveQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@fintechstudios/eslint-plugin-chai-as-promised/-/eslint-plugin-chai-as-promised-3.1.0.tgz", + "integrity": "sha512-Y3TmITTwc5u8hoW0GWxle1hKiVadDqDHyLQaTv+e+xVDHazn361QIEY9NbWqNsXP0jzrSskpnhkBr++h+PciEw==", "dev": true, "engines": { "node": ">=8.10.0" @@ -4023,16 +4023,16 @@ "dev": true }, "node_modules/@web/dev-server": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.11.tgz", - "integrity": "sha512-4yqxfL2FBbHxHlu2+KFIF+iXN7f9MiGu8j/gNT6gnTPruCL6AUBm+skT5kRqaA6DYnmd4qbVc3EWnJvZY3RvGQ==", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.12.tgz", + "integrity": "sha512-XcI5BK7vjsBlkfZdCCb3Aza6xFTimLdJ4nDN54zJCl1xbpHo5IgcLXAI+T1PTmyWuiFk4lz6Y9IvGiXdvnaZew==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.11", "@rollup/plugin-node-resolve": "^11.0.1", "@types/command-line-args": "^5.0.0", "@web/config-loader": "^0.1.3", - "@web/dev-server-core": "^0.3.8", + "@web/dev-server-core": "^0.3.9", "@web/dev-server-rollup": "^0.3.3", "camelcase": "^6.2.0", "chalk": "^4.1.0", @@ -4053,9 +4053,9 @@ } }, "node_modules/@web/dev-server-core": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.8.tgz", - "integrity": "sha512-Qbo2ZVUopmjEP8ZDc8v0N/nTW9LbmycuC+uoTwp62PfHfqSN9RgXGzuGMmp5sBPRXi/E1oi1GQ+lMoDWXLjKYA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.9.tgz", + "integrity": "sha512-NOHetwAHZjcyRAxSOeTZvD4uP2c5pB7qbrS1hDlQHW7Gii4hJL51MLmxl4E+0MDxcDhEwIpB/acJ44n64T0c6Q==", "dependencies": { "@types/koa": "^2.11.6", "@types/ws": "^7.4.0", @@ -7891,9 +7891,9 @@ } }, "node_modules/core-js": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.1.tgz", - "integrity": "sha512-pwCxEXnj27XG47mu7SXAwhLP3L5CrlvCB91ANUkIz40P27kUcvNfSdvyZJ9CLHiVoKSp+TTChMQMSKQEH/IQxA==", + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.2.tgz", + "integrity": "sha512-W+2oVYeNghuBr3yTzZFQ5rfmjZtYB/Ubg87R5YOmlGrIb+Uw9f7qjUbhsj+/EkXhcV7eOD3jiM4+sgraX3FZUw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -7901,9 +7901,9 @@ } }, "node_modules/core-js-bundle": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.10.1.tgz", - "integrity": "sha512-Yi9l/qDAA5YAqwbKYDLj9kPHT5Blj1pPm3lF1tr0dMUHq6Di6BjhEhY1nI3eJ/v9jhcYO5+PAgQ3DukejbKHbg==", + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.10.2.tgz", + "integrity": "sha512-cU/daFGOLWwtNAdXBksUl2HNqPOaM5g6bMxJ8doMw9PkshbWSzUweog2EEJsIlgmCCAFI0NLDBl4SD2TzZEevw==", "dev": true, "hasInstallScript": true, "funding": { @@ -8472,9 +8472,9 @@ "dev": true }, "node_modules/cypress": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-7.0.1.tgz", - "integrity": "sha512-dMZmZDo+x3jslEQiXRGQlMmMVMhe4JpMHQ6g1unMGXTUsapU1EXlnubevmKmqZ1IQpntAlDKmx8dupOTd3oW+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-7.1.0.tgz", + "integrity": "sha512-AptQP9fVtN/FfOv8rJ9hTGJE2XQFc8saLHT38r/EeyWhzp0q/+P/DYRTDtjGZHeLTCNznAUrT4lal8jm+ouS7Q==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -8535,9 +8535,9 @@ } }, "node_modules/cypress-multi-reporters": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cypress-multi-reporters/-/cypress-multi-reporters-1.4.0.tgz", - "integrity": "sha512-CjpQduW43KVzY45hhKC/qf8MSebRpx6JyEz6py8F+0GrYS8rE5TZ8wXv9dPUs/PaT6w+dR8KIgLSMr967Om7iA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/cypress-multi-reporters/-/cypress-multi-reporters-1.5.0.tgz", + "integrity": "sha512-6rJ1rk1RpjZwTeydCDc8r3iOmWj2ZEYo++oDTJHNEu7eetb3W1cYDNo5CdxF/r0bo7TLQsOEpBHOCYBZfPVt/g==", "dev": true, "dependencies": { "debug": "^4.1.1", @@ -8545,6 +8545,9 @@ }, "engines": { "node": ">=6.0.0" + }, + "peerDependencies": { + "mocha": ">=3.1.2" } }, "node_modules/cypress-multi-reporters/node_modules/debug": { @@ -10248,10 +10251,13 @@ } }, "node_modules/eslint-plugin-no-unsanitized": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-3.1.4.tgz", - "integrity": "sha512-WF1+eZo2Sh+bQNjZuVNwT0dA61zuJORsLh+1Sww7+O6GOPw+WPWIIRfTWNqrmaXaDMhM4SXAqYPcNlhRMiH13g==", - "dev": true + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-3.1.5.tgz", + "integrity": "sha512-s/6w++p1590h/H/dE2Wo660bOkaM/3OEK14Y7xm1UT0bafxkKw1Cq0ksjxkxLdH/WWd014DlsLKuD6CyNrR2Dw==", + "dev": true, + "peerDependencies": { + "eslint": "^5 || ^6 || ^7" + } }, "node_modules/eslint-plugin-no-use-extend-native": { "version": "0.5.0", @@ -10368,9 +10374,9 @@ "dev": true }, "node_modules/eslint-plugin-unicorn": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-29.0.0.tgz", - "integrity": "sha512-R9jGLKb2p6LuOixviByGlH2mkfY72EBELXAPeUufveebN0M2Woa7B7dUO3gN2xPn/+eGjrIm4I2u7dDtr9G4iA==", + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-30.0.0.tgz", + "integrity": "sha512-ZKbE48Ep99z/3geLpkBfv+jNrzr2k7bLqCC/RfZOekZzAvn2/ECDE/d8zGdW1YxHmIC9pevQvm8Pl89v9GEIVw==", "dev": true, "dependencies": { "ci-info": "^3.1.1", @@ -10379,13 +10385,13 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "import-modules": "^2.1.0", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.23", "reserved-words": "^0.1.2", "safe-regex": "^2.1.1", - "semver": "^7.3.4" + "semver": "^7.3.5" }, "engines": { "node": ">=10" @@ -10394,7 +10400,7 @@ "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" }, "peerDependencies": { - "eslint": ">=7.20.0" + "eslint": ">=7.23.0" } }, "node_modules/eslint-plugin-unicorn/node_modules/ci-info": { @@ -10554,9 +10560,9 @@ } }, "node_modules/eslint-plugin-unicorn/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -19747,9 +19753,9 @@ } }, "node_modules/rollup": { - "version": "2.45.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.45.1.tgz", - "integrity": "sha512-vPD+JoDj3CY8k6m1bLcAFttXMe78P4CMxoau0iLVS60+S9kLsv2379xaGy4NgYWu+h2WTlucpoLPAoUoixFBag==", + "version": "2.45.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.45.2.tgz", + "integrity": "sha512-kRRU7wXzFHUzBIv0GfoFFIN3m9oteY4uAsKllIpQDId5cfnkWF2J130l+27dzDju0E6MScKiV0ZM5Bw8m4blYQ==", "bin": { "rollup": "dist/bin/rollup" }, @@ -22005,9 +22011,9 @@ } }, "node_modules/underscore": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.0.tgz", - "integrity": "sha512-sCs4H3pCytsb5K7i072FAEC9YlSYFIbosvM0tAKAlpSSUgD7yC1iXSEGdl5XrDKQ1YUB+p/HDzYrSG2H2Vl36g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", "dev": true }, "node_modules/unherit": { @@ -25876,9 +25882,9 @@ } }, "@fintechstudios/eslint-plugin-chai-as-promised": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@fintechstudios/eslint-plugin-chai-as-promised/-/eslint-plugin-chai-as-promised-3.0.2.tgz", - "integrity": "sha512-mHavP4gRhtpLwpKkoGZ3GHnKhyeCc7CeSXWLbgehEKGQNRD97ye8jlrwda/Xfc74Xn7MtLG4CJgA3fTIK6bveQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@fintechstudios/eslint-plugin-chai-as-promised/-/eslint-plugin-chai-as-promised-3.1.0.tgz", + "integrity": "sha512-Y3TmITTwc5u8hoW0GWxle1hKiVadDqDHyLQaTv+e+xVDHazn361QIEY9NbWqNsXP0jzrSskpnhkBr++h+PciEw==", "dev": true }, "@hkdobrev/run-if-changed": { @@ -27224,16 +27230,16 @@ } }, "@web/dev-server": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.11.tgz", - "integrity": "sha512-4yqxfL2FBbHxHlu2+KFIF+iXN7f9MiGu8j/gNT6gnTPruCL6AUBm+skT5kRqaA6DYnmd4qbVc3EWnJvZY3RvGQ==", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.12.tgz", + "integrity": "sha512-XcI5BK7vjsBlkfZdCCb3Aza6xFTimLdJ4nDN54zJCl1xbpHo5IgcLXAI+T1PTmyWuiFk4lz6Y9IvGiXdvnaZew==", "dev": true, "requires": { "@babel/code-frame": "^7.12.11", "@rollup/plugin-node-resolve": "^11.0.1", "@types/command-line-args": "^5.0.0", "@web/config-loader": "^0.1.3", - "@web/dev-server-core": "^0.3.8", + "@web/dev-server-core": "^0.3.9", "@web/dev-server-rollup": "^0.3.3", "camelcase": "^6.2.0", "chalk": "^4.1.0", @@ -27354,9 +27360,9 @@ } }, "@web/dev-server-core": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.8.tgz", - "integrity": "sha512-Qbo2ZVUopmjEP8ZDc8v0N/nTW9LbmycuC+uoTwp62PfHfqSN9RgXGzuGMmp5sBPRXi/E1oi1GQ+lMoDWXLjKYA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.9.tgz", + "integrity": "sha512-NOHetwAHZjcyRAxSOeTZvD4uP2c5pB7qbrS1hDlQHW7Gii4hJL51MLmxl4E+0MDxcDhEwIpB/acJ44n64T0c6Q==", "requires": { "@types/koa": "^2.11.6", "@types/ws": "^7.4.0", @@ -30568,14 +30574,14 @@ } }, "core-js": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.1.tgz", - "integrity": "sha512-pwCxEXnj27XG47mu7SXAwhLP3L5CrlvCB91ANUkIz40P27kUcvNfSdvyZJ9CLHiVoKSp+TTChMQMSKQEH/IQxA==" + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.2.tgz", + "integrity": "sha512-W+2oVYeNghuBr3yTzZFQ5rfmjZtYB/Ubg87R5YOmlGrIb+Uw9f7qjUbhsj+/EkXhcV7eOD3jiM4+sgraX3FZUw==" }, "core-js-bundle": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.10.1.tgz", - "integrity": "sha512-Yi9l/qDAA5YAqwbKYDLj9kPHT5Blj1pPm3lF1tr0dMUHq6Di6BjhEhY1nI3eJ/v9jhcYO5+PAgQ3DukejbKHbg==", + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.10.2.tgz", + "integrity": "sha512-cU/daFGOLWwtNAdXBksUl2HNqPOaM5g6bMxJ8doMw9PkshbWSzUweog2EEJsIlgmCCAFI0NLDBl4SD2TzZEevw==", "dev": true }, "core-js-compat": { @@ -31052,9 +31058,9 @@ } }, "cypress": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-7.0.1.tgz", - "integrity": "sha512-dMZmZDo+x3jslEQiXRGQlMmMVMhe4JpMHQ6g1unMGXTUsapU1EXlnubevmKmqZ1IQpntAlDKmx8dupOTd3oW+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-7.1.0.tgz", + "integrity": "sha512-AptQP9fVtN/FfOv8rJ9hTGJE2XQFc8saLHT38r/EeyWhzp0q/+P/DYRTDtjGZHeLTCNznAUrT4lal8jm+ouS7Q==", "dev": true, "requires": { "@cypress/listr-verbose-renderer": "^0.4.1", @@ -31263,9 +31269,9 @@ "dev": true }, "cypress-multi-reporters": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cypress-multi-reporters/-/cypress-multi-reporters-1.4.0.tgz", - "integrity": "sha512-CjpQduW43KVzY45hhKC/qf8MSebRpx6JyEz6py8F+0GrYS8rE5TZ8wXv9dPUs/PaT6w+dR8KIgLSMr967Om7iA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/cypress-multi-reporters/-/cypress-multi-reporters-1.5.0.tgz", + "integrity": "sha512-6rJ1rk1RpjZwTeydCDc8r3iOmWj2ZEYo++oDTJHNEu7eetb3W1cYDNo5CdxF/r0bo7TLQsOEpBHOCYBZfPVt/g==", "dev": true, "requires": { "debug": "^4.1.1", @@ -32822,10 +32828,11 @@ } }, "eslint-plugin-no-unsanitized": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-3.1.4.tgz", - "integrity": "sha512-WF1+eZo2Sh+bQNjZuVNwT0dA61zuJORsLh+1Sww7+O6GOPw+WPWIIRfTWNqrmaXaDMhM4SXAqYPcNlhRMiH13g==", - "dev": true + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-3.1.5.tgz", + "integrity": "sha512-s/6w++p1590h/H/dE2Wo660bOkaM/3OEK14Y7xm1UT0bafxkKw1Cq0ksjxkxLdH/WWd014DlsLKuD6CyNrR2Dw==", + "dev": true, + "requires": {} }, "eslint-plugin-no-use-extend-native": { "version": "0.5.0", @@ -32915,9 +32922,9 @@ "dev": true }, "eslint-plugin-unicorn": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-29.0.0.tgz", - "integrity": "sha512-R9jGLKb2p6LuOixviByGlH2mkfY72EBELXAPeUufveebN0M2Woa7B7dUO3gN2xPn/+eGjrIm4I2u7dDtr9G4iA==", + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-30.0.0.tgz", + "integrity": "sha512-ZKbE48Ep99z/3geLpkBfv+jNrzr2k7bLqCC/RfZOekZzAvn2/ECDE/d8zGdW1YxHmIC9pevQvm8Pl89v9GEIVw==", "dev": true, "requires": { "ci-info": "^3.1.1", @@ -32926,13 +32933,13 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "import-modules": "^2.1.0", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.23", "reserved-words": "^0.1.2", "safe-regex": "^2.1.1", - "semver": "^7.3.4" + "semver": "^7.3.5" }, "dependencies": { "ci-info": { @@ -33060,9 +33067,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -40275,9 +40282,9 @@ } }, "rollup": { - "version": "2.45.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.45.1.tgz", - "integrity": "sha512-vPD+JoDj3CY8k6m1bLcAFttXMe78P4CMxoau0iLVS60+S9kLsv2379xaGy4NgYWu+h2WTlucpoLPAoUoixFBag==", + "version": "2.45.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.45.2.tgz", + "integrity": "sha512-kRRU7wXzFHUzBIv0GfoFFIN3m9oteY4uAsKllIpQDId5cfnkWF2J130l+27dzDju0E6MScKiV0ZM5Bw8m4blYQ==", "requires": { "fsevents": "~2.3.1" }, @@ -42206,9 +42213,9 @@ } }, "underscore": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.0.tgz", - "integrity": "sha512-sCs4H3pCytsb5K7i072FAEC9YlSYFIbosvM0tAKAlpSSUgD7yC1iXSEGdl5XrDKQ1YUB+p/HDzYrSG2H2Vl36g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", "dev": true }, "unherit": { diff --git a/package.json b/package.json index 7288765c..63a9b43a 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "@babel/polyfill": "7.12.1", "@web/dev-server-rollup": "0.3.3", "canvg": "3.0.7", - "core-js": "3.10.1", + "core-js": "3.10.2", "deparam": "^1.0.5", "elix": "^15.0.0", "jspdf": "2.3.1", @@ -125,7 +125,7 @@ "@babel/runtime-corejs3": "7.13.10", "@cypress/code-coverage": "3.9.4", "@cypress/fiddle": "1.19.2", - "@fintechstudios/eslint-plugin-chai-as-promised": "3.0.2", + "@fintechstudios/eslint-plugin-chai-as-promised": "3.1.0", "@hkdobrev/run-if-changed": "0.3.1", "@mysticatea/eslint-plugin": "13.0.0", "@rollup/plugin-babel": "5.3.0", @@ -134,17 +134,17 @@ "@rollup/plugin-node-resolve": "11.2.1", "@rollup/plugin-replace": "2.4.2", "@rollup/plugin-url": "6.0.0", - "@web/dev-server": "^0.1.11", + "@web/dev-server": "^0.1.12", "axe-core": "4.1.4", "babel-plugin-transform-object-rest-spread": "7.0.0-beta.3", "copyfiles": "2.4.1", - "core-js-bundle": "3.10.1", + "core-js-bundle": "3.10.2", "coveradge": "0.6.0", "cp-cli": "2.0.0", "cross-var": "1.1.0", - "cypress": "7.0.1", + "cypress": "7.1.0", "cypress-axe": "0.12.2", - "cypress-multi-reporters": "1.4.0", + "cypress-multi-reporters": "1.5.0", "cypress-plugin-snapshots": "1.4.4", "eslint": "^7.24.0", "eslint-config-standard": "16.0.2", @@ -161,13 +161,13 @@ "eslint-plugin-markdown": "^2.0.1", "eslint-plugin-mocha": "8.1.0", "eslint-plugin-mocha-cleanup": "1.9.1", - "eslint-plugin-no-unsanitized": "^3.1.4", + "eslint-plugin-no-unsanitized": "^3.1.5", "eslint-plugin-no-use-extend-native": "0.5.0", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "^5.1.0", "eslint-plugin-sonarjs": "^0.6.0", "eslint-plugin-standard": "4.1.0", - "eslint-plugin-unicorn": "29.0.0", + "eslint-plugin-unicorn": "30.0.0", "imageoptim-cli": "3.0.2", "jamilih": "0.54.0", "jsdoc": "3.6.6", @@ -187,7 +187,7 @@ "remark-lint-ordered-list-marker-value": "2.0.1", "requirejs": "2.3.6", "rimraf": "3.0.2", - "rollup": "2.45.1", + "rollup": "2.45.2", "rollup-plugin-copy": "3.4.0", "rollup-plugin-filesize": "9.1.1", "rollup-plugin-node-polyfills": "0.2.1", @@ -197,6 +197,6 @@ "stackblur-canvas": "2.5.0", "systemjs": "6.8.3", "typescript": "4.2.4", - "underscore": "1.13.0" + "underscore": "1.13.1" } } diff --git a/src/editor/Editor.js b/src/editor/Editor.js index 25f7015c..f4201872 100644 --- a/src/editor/Editor.js +++ b/src/editor/Editor.js @@ -34,6 +34,7 @@ import TopPanel from './panels/TopPanel.js'; import BottomPanel from './panels/BottomPanel.js'; import LayersPanel from './panels/LayersPanel.js'; import MainMenu from './MainMenu.js'; +import {getParentsUntil} from './components/jgraduate/Util.js'; const {$id, $qa, isNullish, encode64, decode64, blankPageObjectURL} = SvgCanvas; diff --git a/src/svgcanvas/path-method.js b/src/svgcanvas/path-method.js index 8165d3dc..e815f473 100644 --- a/src/svgcanvas/path-method.js +++ b/src/svgcanvas/path-method.js @@ -175,7 +175,7 @@ export const addPointGripMethod = function (index, x, y) { pointGripContainer.append(pointGrip); const grip = document.getElementById('pathpointgrip_' + index); - grip.addEventListener("dblclick", (e) => { + grip?.addEventListener("dblclick", (e) => { const path = pathMethodsContext_.getPathObj(); if (path) { path.setSegType();