Merge pull request #1 from SVG-Edit/master

UP
master
NeiroNx 2018-12-28 16:16:02 +04:00 committed by GitHub
commit 6ae4ea4ce4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 321 additions and 224 deletions

View File

@ -140,12 +140,8 @@ module.exports = {
rules: {
// Override these `ash-nazg/sauron` rules which are difficult for us
// to apply at this time
"capitalized-comments": ["off"],
complexity: ["off"],
"default-case": ["off"],
"require-unicode-regexp": ["off"],
"no-magic-numbers": ["off"],
"no-warning-comments": ["off"],
"max-len": ["off", {
ignoreUrls: true,
ignoreRegExpLiterals: true

View File

@ -1,10 +1,17 @@
# SVG-Edit CHANGES
# ?
## ?
- Optimization fix: Properly run code conditionally on browser check;
fixes #312 (@ianli-sc)
## 4.2.0
- Fix: Problem with retaining lines with grid mode (@NeiroNx)
- l10n: Add Chinese (simplified) extension locales (@enlove)
- l10n: Add Russian translation to some strings (@NeiroNx)
- Refactoring: Avoid Firefox console errors with hidden iframe
- npm: Update devDeps
## 4.1.0

View File

@ -115,7 +115,8 @@ incorporating SVGEdit.
## Recent news
- 2018-11-29 Published 4.0.2 (Fix for hyphenated locales, svgcanvas distributions)
- 2018-12-13 Published 4.2.0 (Chinese (simplified) and Russian locale updates; retaining lines with grid mode)
- 2018-11-29 Published 4.1.0 (Fix for hyphenated locales, svgcanvas distributions)
- 2018-11-16 Published 4.0.0/4.0.1 (Move to Promise-based APIs)
- 2018-11-01 Published 3.2.0 (Update qunit to resolve security vulnerability of a dependency)
- 2018-10-25 Published 3.1.1 (Fix for saving SVG on Firefox)

27
dist/canvg.js vendored
View File

@ -551,6 +551,25 @@ var canvg = (function (exports) {
return xml;
};
function _typeof$1(obj) {
if (typeof Symbol === "function" && _typeof(Symbol.iterator) === "symbol") {
_typeof$1 = function _typeof$$1(obj) {
return _typeof(obj);
};
} else {
_typeof$1 = function _typeof$$1(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof(obj);
};
}
return _typeof$1(obj);
}
function _classCallCheck$1(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
/**
* StackBlur - a fast almost Gaussian Blur For Canvas
*
@ -590,6 +609,8 @@ var canvg = (function (exports) {
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/**
@ -608,7 +629,7 @@ var canvg = (function (exports) {
canvas = document.getElementById(canvas);
}
if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) {
if (!canvas || _typeof$1(canvas) !== 'object' || !('getContext' in canvas)) {
throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!');
}
@ -655,7 +676,7 @@ var canvg = (function (exports) {
function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
var div = radius + radius + 1; // const w4 = width << 2;
var div = 2 * radius + 1; // const w4 = width << 2;
var widthMinus1 = width - 1;
var heightMinus1 = height - 1;
@ -853,7 +874,7 @@ var canvg = (function (exports) {
var BlurStack = function BlurStack() {
_classCallCheck(this, BlurStack);
_classCallCheck$1(this, BlurStack);
this.r = 0;
this.g = 0;

View File

@ -551,6 +551,25 @@ var svgEditorExtension_server_moinsave = (function () {
return xml;
};
function _typeof$1(obj) {
if (typeof Symbol === "function" && _typeof(Symbol.iterator) === "symbol") {
_typeof$1 = function _typeof$$1(obj) {
return _typeof(obj);
};
} else {
_typeof$1 = function _typeof$$1(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof(obj);
};
}
return _typeof$1(obj);
}
function _classCallCheck$1(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
/**
* StackBlur - a fast almost Gaussian Blur For Canvas
*
@ -590,6 +609,8 @@ var svgEditorExtension_server_moinsave = (function () {
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/**
@ -608,7 +629,7 @@ var svgEditorExtension_server_moinsave = (function () {
canvas = document.getElementById(canvas);
}
if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) {
if (!canvas || _typeof$1(canvas) !== 'object' || !('getContext' in canvas)) {
throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!');
}
@ -655,7 +676,7 @@ var svgEditorExtension_server_moinsave = (function () {
function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
var div = radius + radius + 1; // const w4 = width << 2;
var div = 2 * radius + 1; // const w4 = width << 2;
var widthMinus1 = width - 1;
var heightMinus1 = height - 1;
@ -853,7 +874,7 @@ var svgEditorExtension_server_moinsave = (function () {
var BlurStack = function BlurStack() {
_classCallCheck(this, BlurStack);
_classCallCheck$1(this, BlurStack);
this.r = 0;
this.g = 0;

View File

@ -551,6 +551,25 @@ var svgEditorExtension_server_opensave = (function () {
return xml;
};
function _typeof$1(obj) {
if (typeof Symbol === "function" && _typeof(Symbol.iterator) === "symbol") {
_typeof$1 = function _typeof$$1(obj) {
return _typeof(obj);
};
} else {
_typeof$1 = function _typeof$$1(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof(obj);
};
}
return _typeof$1(obj);
}
function _classCallCheck$1(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
/**
* StackBlur - a fast almost Gaussian Blur For Canvas
*
@ -590,6 +609,8 @@ var svgEditorExtension_server_opensave = (function () {
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/**
@ -608,7 +629,7 @@ var svgEditorExtension_server_opensave = (function () {
canvas = document.getElementById(canvas);
}
if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) {
if (!canvas || _typeof$1(canvas) !== 'object' || !('getContext' in canvas)) {
throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!');
}
@ -655,7 +676,7 @@ var svgEditorExtension_server_opensave = (function () {
function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
var div = radius + radius + 1; // const w4 = width << 2;
var div = 2 * radius + 1; // const w4 = width << 2;
var widthMinus1 = width - 1;
var heightMinus1 = height - 1;
@ -853,7 +874,7 @@ var svgEditorExtension_server_opensave = (function () {
var BlurStack = function BlurStack() {
_classCallCheck(this, BlurStack);
_classCallCheck$1(this, BlurStack);
this.r = 0;
this.g = 0;

2
dist/index-es.js vendored
View File

@ -14761,7 +14761,7 @@ function SvgCanvas(container, config) {
var resultList = null;
if (!isIE) {
if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/index-umd.js vendored
View File

@ -14767,7 +14767,7 @@
var resultList = null;
if (!isIE) {
if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

100
dist/locale/lang.ru.js vendored
View File

@ -11,7 +11,7 @@ var svgEditorLang_ru = (function () {
key_del: 'Delete',
key_down: 'Вниз',
key_up: 'Вверх',
more_opts: 'More Options',
more_opts: 'Доп. Настройки',
url: 'URL',
width: 'Width',
height: 'Height'
@ -20,18 +20,18 @@ var svgEditorLang_ru = (function () {
powered_by: 'Powered by'
},
ui: {
toggle_stroke_tools: 'Show/hide more stroke tools',
toggle_stroke_tools: 'Показать/скрыть инструменты обводки',
palette_info: 'Нажмите для изменения цвета заливки, Shift-Click изменить цвета обводки',
zoom_level: 'Изменить масштаб',
panel_drag: 'Drag left/right to resize side panel',
quality: 'Quality:',
quality: 'Качество:',
pathNodeTooltip: 'Drag node to move it. Double-click node to change segment type',
pathCtrlPtTooltip: 'Drag control point to adjust curve properties',
pick_stroke_paint_opacity: 'Pick a Stroke Paint and Opacity',
pick_fill_paint_opacity: 'Pick a Fill Paint and Opacity'
},
properties: {
id: 'Identify the element',
id: 'Идентификатор элемента',
fill_color: 'Изменить цвет заливки',
stroke_color: 'Изменить цвет обводки',
stroke_style: 'Изменить стиль обводки',
@ -45,7 +45,7 @@ var svgEditorLang_ru = (function () {
linejoin_miter: 'Linejoin: Miter',
linejoin_round: 'Linejoin: Round',
angle: 'Изменить угол поворота',
blur: 'Change gaussian blur value',
blur: 'Изменяет значение размытия',
opacity: 'Изменить непрозрачность элемента',
circle_cx: 'Изменить горизонтальный координат (CX) окружности',
circle_cy: 'Изменить вертикальный координат (CY) окружности',
@ -76,9 +76,9 @@ var svgEditorLang_ru = (function () {
italic: 'Курсив'
},
tools: {
main_menu: 'Main Menu',
main_menu: 'Главное меню',
bkgnd_color_opac: 'Изменить цвет фона или прозрачность',
connector_no_arrow: 'No arrow',
connector_no_arrow: 'Нет стрелки',
fitToContent: 'Под размер содержимого',
fit_to_all: 'Под размер всех слоев',
fit_to_canvas: 'Под размер холста',
@ -92,9 +92,9 @@ var svgEditorLang_ru = (function () {
smallest_object: 'Самый маленький объект',
new_doc: 'Создать изображение',
open_doc: 'Открыть изображение',
export_img: 'Export',
export_img: 'Экспорт',
save_doc: 'Сохранить изображение',
import_doc: 'Import Image',
import_doc: 'Импорт изображения',
align_to_page: 'Align Element to Page',
align_bottom: 'Выровнять по нижнему краю',
align_center: 'Центрировать по вертикальной оси',
@ -105,8 +105,8 @@ var svgEditorLang_ru = (function () {
mode_select: 'Выделить',
mode_fhpath: 'Карандаш',
mode_line: 'Линия',
mode_rect: 'Rectangle Tool',
mode_square: 'Square Tool',
mode_rect: 'Прямоугольник',
mode_square: 'Квадрат',
mode_fhrect: 'Прямоугольник от руки',
mode_ellipse: 'Эллипс',
mode_circle: 'Окружность',
@ -120,11 +120,11 @@ var svgEditorLang_ru = (function () {
redo: 'Вернуть',
tool_source: 'Редактировать исходный код',
wireframe_mode: 'Каркас',
clone: 'Clone Element(s)',
del: 'Delete Element(s)',
clone: 'Клонировать элемент(ы)',
del: 'Удалить элемент(ы)',
group_elements: 'Создать группу элементов',
make_link: 'Make (hyper)link',
set_link_url: 'Set link URL (leave empty to remove)',
make_link: 'Сделать ссылкой',
set_link_url: 'Ссылка(оставьте пустым для удаления)',
to_path: 'В контур',
reorient_path: 'Изменить ориентацию контура',
ungroup: 'Разгруппировать элементы',
@ -134,31 +134,31 @@ var svgEditorLang_ru = (function () {
node_clone: 'Создать копию узла',
node_delete: 'Удалить узел',
node_link: 'Связать узлы',
add_subpath: 'Add sub-path',
openclose_path: 'Open/close sub-path',
add_subpath: 'Добавить линию',
openclose_path: 'Разомкнуть/Замкнуть линию',
source_save: 'Сохранить',
cut: 'Cut',
copy: 'Copy',
paste: 'Paste',
paste_in_place: 'Paste in Place',
Delete: 'Delete',
group: 'Group',
move_front: 'Bring to Front',
move_up: 'Bring Forward',
move_down: 'Send Backward',
move_back: 'Send to Back'
cut: 'Вырезать',
copy: 'Копировать',
paste: 'Вставить',
paste_in_place: 'Вставить сюда',
Delete: 'Удалить',
group: 'Группировка',
move_front: 'На передний план',
move_up: 'Передвинуть вперед',
move_down: 'Передвинуть назад',
move_back: 'На задний план'
},
layers: {
layer: 'Слой',
layers: 'Layers',
layers: 'Слои',
del: 'Удалить слой',
move_down: 'Опустить слой',
new: 'Создать слой',
rename: 'Переименовать Слой',
move_up: 'Поднять слой',
dupe: 'Duplicate Layer',
merge_down: 'Merge Down',
merge_all: 'Merge All',
dupe: 'Копировать слой',
merge_down: 'Объединить с нижним',
merge_all: 'Объединить все',
move_elems_to: 'Переместить выделенные элементы:',
move_selected: 'Переместить выделенные элементы на другой слой'
},
@ -173,20 +173,20 @@ var svgEditorLang_ru = (function () {
icon_size: 'Размер значков',
language: 'Язык',
background: 'Фон',
editor_img_url: 'Image URL',
editor_img_url: 'Изображение URL',
editor_bg_note: '(Фон не сохранится вместе с изображением.)',
icon_large: 'Большие',
icon_medium: 'Средние',
icon_small: 'Малые',
icon_xlarge: 'Огромные',
select_predefined: 'Выбирать предопределенный размер',
units_and_rulers: 'Units & Rulers',
show_rulers: 'Show rulers',
base_unit: 'Base Unit:',
grid: 'Grid',
snapping_onoff: 'Snapping on/off',
snapping_stepsize: 'Snapping Step-Size:',
grid_color: 'Grid color'
units_and_rulers: 'Единицы & Линейки',
show_rulers: 'Показывать линейки',
base_unit: 'Единицы:',
grid: 'Сетка',
snapping_onoff: 'Привязка вкл/выкл',
snapping_stepsize: 'Шаг привязки:',
grid_color: 'Цвет сетки'
},
notification: {
invalidAttrValGiven: 'Некорректное значение аргумента',
@ -197,25 +197,25 @@ var svgEditorLang_ru = (function () {
layerHasThatName: 'Слой уже называется этим именем.',
QmoveElemsToLayer: "Переместить выделенные элементы на слой '%s'?",
QwantToClear: 'Вы хотите очистить?\nИстория действий будет забыта!',
QwantToOpen: 'Do you want to open a new file?\nThis will also erase your undo history!',
QwantToOpen: 'Открыть новый файл?\nИстория действий будет забыта!',
QerrorsRevertToSource: 'Была проблема при парсинге вашего SVG исходного кода.\nЗаменить его предыдущим SVG кодом?',
QignoreSourceChanges: 'Забыть без сохранения?',
featNotSupported: 'Возможность не реализована',
enterNewImgURL: 'Введите новый URL изображения',
defsFailOnSave: 'NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.',
loadingImage: 'Loading image, please wait...',
saveFromBrowser: "Select 'Save As...' in your browser (possibly via file menu or right-click context-menu) to save this image as a %s file.",
loadingImage: 'Загрузка изоражения, придется подождать...',
saveFromBrowser: "Выберите 'Сохранить как...' в вашем браузере (возможно через меню файл или в контекстном меню) чтобы сохранить как файл %s.",
noteTheseIssues: 'Also note the following issues: ',
unsavedChanges: 'There are unsaved changes.',
enterNewLinkURL: 'Enter the new hyperlink URL',
errorLoadingSVG: 'Error: Unable to load SVG data',
URLLoadFail: 'Unable to load from URL',
retrieving: 'Retrieving \'%s\' ...',
popupWindowBlocked: 'Popup window may be blocked by browser',
exportNoBlur: 'Blurred elements will appear as un-blurred',
unsavedChanges: 'Есть несохраненные изменения.',
enterNewLinkURL: 'Введите новую ссылку URL',
errorLoadingSVG: 'Ошибка: Не удалось загрузить SVG данные',
URLLoadFail: 'Не удалось загрузить по ссылке URL',
retrieving: 'Получение \'%s\' ...',
popupWindowBlocked: 'Всплывающее окно могло заблокироваться браузером',
exportNoBlur: 'Размытые элементы отображены как неразмытые',
exportNoforeignObject: 'foreignObject elements will not appear',
exportNoDashArray: 'Strokes will appear filled',
exportNoText: 'Text may not appear as expected'
exportNoText: 'Текст может показываться не так как должен'
}
};

View File

@ -14539,7 +14539,7 @@ var SvgCanvas = (function () {
var resultList = null;
if (!isIE) {
if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,23 @@
function _typeof(obj) {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function (obj) {
return typeof obj;
};
} else {
_typeof = function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
}
return _typeof(obj);
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
/**
* StackBlur - a fast almost Gaussian Blur For Canvas
*
@ -37,8 +57,8 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
const mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
const shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/**
* @param {string|HTMLImageElement} img
* @param {string|HTMLCanvasElement} canvas
@ -56,8 +76,8 @@ function processImage(img, canvas, radius, blurAlphaChannel) {
return;
}
const w = img.naturalWidth;
const h = img.naturalHeight;
var w = img.naturalWidth;
var h = img.naturalHeight;
if (typeof canvas === 'string') {
canvas = document.getElementById(canvas);
@ -71,7 +91,7 @@ function processImage(img, canvas, radius, blurAlphaChannel) {
canvas.style.height = h + 'px';
canvas.width = w;
canvas.height = h;
const context = canvas.getContext('2d');
var context = canvas.getContext('2d');
context.clearRect(0, 0, w, h);
context.drawImage(img, 0, 0);
@ -101,11 +121,11 @@ function getImageDataFromCanvas(canvas, topX, topY, width, height) {
canvas = document.getElementById(canvas);
}
if (!canvas || typeof canvas !== 'object' || !('getContext' in canvas)) {
if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) {
throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!');
}
const context = canvas.getContext('2d');
var context = canvas.getContext('2d');
try {
return context.getImageData(topX, topY, width, height);
@ -130,7 +150,7 @@ function processCanvasRGBA(canvas, topX, topY, width, height, radius) {
}
radius |= 0;
let imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);
var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);
imageData = processImageDataRGBA(imageData, topX, topY, width, height, radius);
canvas.getContext('2d').putImageData(imageData, topX, topY);
}
@ -146,17 +166,17 @@ function processCanvasRGBA(canvas, topX, topY, width, height, radius) {
function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
const pixels = imageData.data;
let x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
const div = radius + radius + 1; // const w4 = width << 2;
var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
var div = 2 * radius + 1; // const w4 = width << 2;
const widthMinus1 = width - 1;
const heightMinus1 = height - 1;
const radiusPlus1 = radius + 1;
const sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
const stackStart = new BlurStack();
let stack = stackStart;
let stackEnd;
var widthMinus1 = width - 1;
var heightMinus1 = height - 1;
var radiusPlus1 = radius + 1;
var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
var stackStart = new BlurStack();
var stack = stackStart;
var stackEnd;
for (i = 1; i < div; i++) {
stack = stack.next = new BlurStack();
@ -167,11 +187,11 @@ function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
}
stack.next = stackStart;
let stackIn = null;
let stackOut = null;
var stackIn = null;
var stackOut = null;
yw = yi = 0;
const mulSum = mulTable[radius];
const shgSum = shgTable[radius];
var mulSum = mulTable[radius];
var shgSum = shgTable[radius];
for (y = 0; y < height; y++) {
rInSum = gInSum = bInSum = aInSum = rSum = gSum = bSum = aSum = 0;
@ -357,7 +377,7 @@ function processCanvasRGB(canvas, topX, topY, width, height, radius) {
}
radius |= 0;
let imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);
var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);
imageData = processImageDataRGB(imageData, topX, topY, width, height, radius);
canvas.getContext('2d').putImageData(imageData, topX, topY);
}
@ -373,17 +393,17 @@ function processCanvasRGB(canvas, topX, topY, width, height, radius) {
function processImageDataRGB(imageData, topX, topY, width, height, radius) {
const pixels = imageData.data;
let x, y, i, p, yp, yi, yw, rSum, gSum, bSum, rOutSum, gOutSum, bOutSum, rInSum, gInSum, bInSum, pr, pg, pb, rbs;
const div = radius + radius + 1; // const w4 = width << 2;
var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, rOutSum, gOutSum, bOutSum, rInSum, gInSum, bInSum, pr, pg, pb, rbs;
var div = 2 * radius + 1; // const w4 = width << 2;
const widthMinus1 = width - 1;
const heightMinus1 = height - 1;
const radiusPlus1 = radius + 1;
const sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
const stackStart = new BlurStack();
let stack = stackStart;
let stackEnd;
var widthMinus1 = width - 1;
var heightMinus1 = height - 1;
var radiusPlus1 = radius + 1;
var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
var stackStart = new BlurStack();
var stack = stackStart;
var stackEnd;
for (i = 1; i < div; i++) {
stack = stack.next = new BlurStack();
@ -394,11 +414,11 @@ function processImageDataRGB(imageData, topX, topY, width, height, radius) {
}
stack.next = stackStart;
let stackIn = null;
let stackOut = null;
var stackIn = null;
var stackOut = null;
yw = yi = 0;
const mulSum = mulTable[radius];
const shgSum = shgTable[radius];
var mulSum = mulTable[radius];
var shgSum = shgTable[radius];
for (y = 0; y < height; y++) {
rInSum = gInSum = bInSum = rSum = gSum = bSum = 0;
@ -535,15 +555,14 @@ function processImageDataRGB(imageData, topX, topY, width, height, radius) {
*/
class BlurStack {
constructor() {
this.r = 0;
this.g = 0;
this.b = 0;
this.a = 0;
this.next = null;
}
var BlurStack = function BlurStack() {
_classCallCheck(this, BlurStack);
}
this.r = 0;
this.g = 0;
this.b = 0;
this.a = 0;
this.next = null;
};
export { BlurStack, processImage as image, processCanvasRGBA as canvasRGBA, processCanvasRGB as canvasRGB, processImageDataRGBA as imageDataRGBA, processImageDataRGB as imageDataRGB };

View File

@ -1226,7 +1226,7 @@ const getIntersectionList = this.getIntersectionList = function (rect) {
}
let resultList = null;
if (!isIE) {
if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

View File

@ -14764,7 +14764,7 @@
var resultList = null;
if (!isIE) {
if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

197
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "svgedit",
"version": "4.1.0",
"version": "4.2.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -949,30 +949,24 @@
}
},
"@sinonjs/formatio": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.0.0.tgz",
"integrity": "sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.1.0.tgz",
"integrity": "sha512-ZAR2bPHOl4Xg6eklUGpsdiIJ4+J1SNag1DHHrG/73Uz/nVwXqjgUtRPLoS+aVyieN9cSbc0E4LsU984tWcDyNg==",
"dev": true,
"requires": {
"@sinonjs/samsam": "2.1.0"
},
"dependencies": {
"@sinonjs/samsam": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.0.tgz",
"integrity": "sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw==",
"dev": true,
"requires": {
"array-from": "^2.1.1"
}
}
"@sinonjs/samsam": "^2 || ^3"
}
},
"@sinonjs/samsam": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.2.tgz",
"integrity": "sha512-ZwTHAlC9akprWDinwEPD4kOuwaYZlyMwVJIANsKNC3QVp0AHB04m7RnB4eqeWfgmxw8MGTzS9uMaw93Z3QcZbw==",
"dev": true
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.0.2.tgz",
"integrity": "sha512-m08g4CS3J6lwRQk1pj1EO+KEVWbrbXsmi9Pw0ySmrIbcVxVaedoFgLvFsV8wHLwh01EpROVz3KvVcD1Jmks9FQ==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1.0.2",
"array-from": "^2.1.1",
"lodash.get": "^4.4.2"
}
},
"@types/error-stack-parser": {
"version": "1.3.18",
@ -1089,9 +1083,9 @@
}
},
"acorn-jsx": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.0.tgz",
"integrity": "sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
"integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
"dev": true
},
"acorn-walk": {
@ -1101,9 +1095,9 @@
"dev": true
},
"ajv": {
"version": "6.5.5",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
"integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
"integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
@ -1295,6 +1289,12 @@
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
"astral-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true
},
"async": {
"version": "0.2.6",
"resolved": "http://registry.npmjs.org/async/-/async-0.2.6.tgz",
@ -3708,9 +3708,9 @@
}
},
"eslint": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.9.0.tgz",
"integrity": "sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w==",
"version": "5.10.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz",
"integrity": "sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
@ -3722,7 +3722,7 @@
"eslint-scope": "^4.0.0",
"eslint-utils": "^1.3.1",
"eslint-visitor-keys": "^1.0.0",
"espree": "^4.0.0",
"espree": "^5.0.0",
"esquery": "^1.0.1",
"esutils": "^2.0.2",
"file-entry-cache": "^2.0.0",
@ -3732,7 +3732,6 @@
"ignore": "^4.0.6",
"imurmurhash": "^0.1.4",
"inquirer": "^6.1.0",
"is-resolvable": "^1.1.0",
"js-yaml": "^3.12.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0",
@ -3786,9 +3785,9 @@
}
},
"eslint-config-ash-nazg": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-0.2.0.tgz",
"integrity": "sha512-KEqkn2uxjyfY6RRtVcceL9XG/Ds3iWS1uwQ9Ltldi+u+I/h76arGrETwu7mSOQroB8AvLuy/bAhLf6FM8tUnbg==",
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-0.3.0.tgz",
"integrity": "sha512-K1YvZUw9msvvKBJKBdUn60/PlpDP1mRfXhTvpEP2ld5D7S2XjDhTR96knQ9Dd++8Zj5pROnkVTllebLW1sFm0Q==",
"dev": true
},
"eslint-config-standard": {
@ -3919,8 +3918,9 @@
}
},
"eslint-plugin-jsdoc": {
"version": "git+https://github.com/brettz9/eslint-plugin-jsdoc.git#76e117e130b7d823d8ad187cf70b783f1d5fed40",
"from": "git+https://github.com/brettz9/eslint-plugin-jsdoc.git#Deploy",
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-3.14.0.tgz",
"integrity": "sha512-5QBhxmf7XeJpUsha3cEUe0j8JVcd7XMnDUkqhKdtbrUb0oz4Ea0/b1kfE8FN0/iu2mvVSb1HArMPQT9SxQY2/g==",
"dev": true,
"requires": {
"comment-parser": "^0.5.0",
@ -4099,9 +4099,9 @@
"dev": true
},
"espree": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
"integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz",
"integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==",
"dev": true,
"requires": {
"acorn": "^6.0.2",
@ -4595,14 +4595,14 @@
}
},
"flat-cache": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.2.tgz",
"integrity": "sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A==",
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
"integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
"dev": true,
"requires": {
"circular-json": "^0.3.1",
"del": "^3.0.0",
"graceful-fs": "^4.1.2",
"rimraf": "~2.6.2",
"write": "^0.2.1"
}
},
@ -5824,9 +5824,9 @@
"dev": true
},
"inquirer": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
"integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==",
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz",
"integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==",
"dev": true,
"requires": {
"ansi-escapes": "^3.0.0",
@ -5840,8 +5840,25 @@
"run-async": "^2.2.0",
"rxjs": "^6.1.0",
"string-width": "^2.1.0",
"strip-ansi": "^4.0.0",
"strip-ansi": "^5.0.0",
"through": "^2.3.6"
},
"dependencies": {
"ansi-regex": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz",
"integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==",
"dev": true
},
"strip-ansi": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz",
"integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==",
"dev": true,
"requires": {
"ansi-regex": "^4.0.0"
}
}
}
},
"invariant": {
@ -6215,12 +6232,6 @@
"has": "^1.0.1"
}
},
"is-resolvable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
"integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
"dev": true
},
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@ -7393,12 +7404,12 @@
"dev": true
},
"nise": {
"version": "1.4.6",
"resolved": "https://registry.npmjs.org/nise/-/nise-1.4.6.tgz",
"integrity": "sha512-1GedetLKzmqmgwabuMSqPsT7oumdR77SBpDfNNJhADRIeA3LN/2RVqR4fFqwvzhAqcTef6PPCzQwITE/YQ8S8A==",
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/nise/-/nise-1.4.7.tgz",
"integrity": "sha512-5cxvo/pEAEHBX5s0zl+zd96BvHHuua/zttIHeQuTWSDjGrWsEHamty8xbZNfocC+fx7NMrle7XHvvxtFxobIZQ==",
"dev": true,
"requires": {
"@sinonjs/formatio": "3.0.0",
"@sinonjs/formatio": "^3.1.0",
"just-extend": "^3.0.0",
"lolex": "^2.3.2",
"path-to-regexp": "^1.7.0",
@ -8062,9 +8073,9 @@
"dev": true
},
"progress": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
"integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==",
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true
},
"promise-fs": {
@ -8436,7 +8447,7 @@
"dependencies": {
"jsesc": {
"version": "0.5.0",
"resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true
}
@ -8729,9 +8740,9 @@
}
},
"rollup-plugin-babel": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.0.3.tgz",
"integrity": "sha512-/PP0MgbPQyRywI4zRIJim6ySjTcOLo4kQbEbROqp9kOR3kHC3FeU++QpBDZhS2BcHtJTVZMVbBV46flbBN5zxQ==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.1.0.tgz",
"integrity": "sha512-4IYv/yTNyH4P/Cma1mWdqy42gc051i1mTe/6oe8F055WzJGSb2qs1mSDwZTo93wA6kMBgHBIR/OcBk7JMnL59Q==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.0.0",
@ -8772,20 +8783,20 @@
}
},
"rollup-plugin-node-resolve": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz",
"integrity": "sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.0.tgz",
"integrity": "sha512-7Ni+/M5RPSUBfUaP9alwYQiIKnKeXCOHiqBpKUl9kwp3jX5ZJtgXAait1cne6pGEVUUztPD6skIKH9Kq9sNtfw==",
"dev": true,
"requires": {
"builtin-modules": "^2.0.0",
"builtin-modules": "^3.0.0",
"is-module": "^1.0.0",
"resolve": "^1.1.6"
"resolve": "^1.8.1"
},
"dependencies": {
"builtin-modules": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz",
"integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz",
"integrity": "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==",
"dev": true
}
}
@ -9109,20 +9120,18 @@
"dev": true
},
"sinon": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-7.1.1.tgz",
"integrity": "sha512-iYagtjLVt1vN3zZY7D8oH7dkjNJEjLjyuzy8daX5+3bbQl8gaohrheB9VfH1O3L6LKuue5WTJvFluHiuZ9y3nQ==",
"version": "7.2.2",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-7.2.2.tgz",
"integrity": "sha512-WLagdMHiEsrRmee3jr6IIDntOF4kbI6N2pfbi8wkv50qaUQcBglkzkjtoOEbeJ2vf1EsrHhLI+5Ny8//WHdMoA==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1.2.0",
"@sinonjs/formatio": "^3.0.0",
"@sinonjs/samsam": "^2.1.2",
"@sinonjs/formatio": "^3.1.0",
"@sinonjs/samsam": "^3.0.2",
"diff": "^3.5.0",
"lodash.get": "^4.4.2",
"lolex": "^3.0.0",
"nise": "^1.4.6",
"supports-color": "^5.5.0",
"type-detect": "^4.0.8"
"nise": "^1.4.7",
"supports-color": "^5.5.0"
}
},
"sinon-test": {
@ -9138,11 +9147,13 @@
"dev": true
},
"slice-ansi": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
"integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.0.0.tgz",
"integrity": "sha512-4j2WTWjp3GsZ+AOagyzVbzp4vWGtZ0hEZ/gDY/uTvm6MTxUfTUIsnMIFb1bn8o0RuXiqUw15H1bue8f22Vw2oQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.0",
"astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0"
}
},
@ -9394,9 +9405,9 @@
}
},
"stackblur-canvas": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.1.0.tgz",
"integrity": "sha512-RwIUB2RMahW1gf0n98b/CpMnGtzepwD5Nn1RRXdg51FU5Sp5VWAbUEsGPQx7qbw7Ljkwwtzci/APw6G+y10k1w==",
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.2.0.tgz",
"integrity": "sha512-5Gf8dtlf8k6NbLzuly2NkGrkS/Ahh+I5VUjO7TnFizdJtgpfpLLEdQlLe9umbcnZlitU84kfYjXE67xlSXfhfQ==",
"dev": true
},
"stackframe": {
@ -9524,14 +9535,14 @@
"dev": true
},
"table": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz",
"integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==",
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/table/-/table-5.1.1.tgz",
"integrity": "sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw==",
"dev": true,
"requires": {
"ajv": "^6.5.3",
"lodash": "^4.17.10",
"slice-ansi": "1.0.0",
"ajv": "^6.6.1",
"lodash": "^4.17.11",
"slice-ansi": "2.0.0",
"string-width": "^2.1.1"
}
},

View File

@ -1,6 +1,6 @@
{
"name": "svgedit",
"version": "4.1.0",
"version": "4.2.0",
"description": "Powerful SVG-Editor for your browser ",
"main": "dist/index-umd.js",
"module": "dist/index-es.js",
@ -83,12 +83,12 @@
"@babel/preset-env": "^7.2.0",
"axe-testcafe": "^1.1.0",
"babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3",
"eslint": "5.9.0",
"eslint-config-ash-nazg": "0.2.0",
"eslint": "5.10.0",
"eslint-config-ash-nazg": "0.3.0",
"eslint-config-standard": "12.0.0",
"eslint-plugin-compat": "2.6.3",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-jsdoc": "https://github.com/brettz9/eslint-plugin-jsdoc#Deploy",
"eslint-plugin-jsdoc": "^3.14.0",
"eslint-plugin-markdown": "^1.0.0-rc.0",
"eslint-plugin-no-use-extend-native": "^0.3.12",
"eslint-plugin-node": "8.0.0",
@ -111,16 +111,16 @@
"remark-cli": "^6.0.1",
"remark-lint-ordered-list-marker-value": "^1.0.2",
"rollup": "0.67.4",
"rollup-plugin-babel": "^4.0.3",
"rollup-plugin-babel": "^4.1.0",
"rollup-plugin-commonjs": "^9.2.0",
"rollup-plugin-json": "^3.1.0",
"rollup-plugin-node-builtins": "^2.1.2",
"rollup-plugin-node-resolve": "^3.4.0",
"rollup-plugin-node-resolve": "^4.0.0",
"rollup-plugin-re": "^1.0.7",
"rollup-plugin-terser": "^3.0.0",
"sinon": "^7.1.1",
"sinon": "^7.2.2",
"sinon-test": "^2.4.0",
"stackblur-canvas": "^2.1.0",
"stackblur-canvas": "^2.2.0",
"testcafe": "^0.23.2"
}
}

View File

@ -14764,7 +14764,7 @@
var resultList = null;
if (!isIE) {
if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));