source: imaps-frontend/node_modules/.vite/deps/chunk-HC2KSO22.js.map

main
Last change on this file was d565449, checked in by stefan toskovski <stefantoska84@…>, 4 weeks ago

Update repo after prototype presentation

  • Property mode set to 100644
File size: 227.7 KB
RevLine 
[d565449]1{
2 "version": 3,
3 "sources": ["../../konva/lib/Util.js", "../../konva/lib/Validators.js", "../../konva/lib/Factory.js", "../../konva/lib/Context.js", "../../konva/lib/Canvas.js", "../../konva/lib/DragAndDrop.js", "../../konva/lib/Node.js", "../../konva/lib/PointerEvents.js", "../../konva/lib/Shape.js"],
4 "sourcesContent": ["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = exports.Transform = void 0;\nconst Global_1 = require(\"./Global\");\nclass Transform {\n constructor(m = [1, 0, 0, 1, 0, 0]) {\n this.dirty = false;\n this.m = (m && m.slice()) || [1, 0, 0, 1, 0, 0];\n }\n reset() {\n this.m[0] = 1;\n this.m[1] = 0;\n this.m[2] = 0;\n this.m[3] = 1;\n this.m[4] = 0;\n this.m[5] = 0;\n }\n copy() {\n return new Transform(this.m);\n }\n copyInto(tr) {\n tr.m[0] = this.m[0];\n tr.m[1] = this.m[1];\n tr.m[2] = this.m[2];\n tr.m[3] = this.m[3];\n tr.m[4] = this.m[4];\n tr.m[5] = this.m[5];\n }\n point(point) {\n var m = this.m;\n return {\n x: m[0] * point.x + m[2] * point.y + m[4],\n y: m[1] * point.x + m[3] * point.y + m[5],\n };\n }\n translate(x, y) {\n this.m[4] += this.m[0] * x + this.m[2] * y;\n this.m[5] += this.m[1] * x + this.m[3] * y;\n return this;\n }\n scale(sx, sy) {\n this.m[0] *= sx;\n this.m[1] *= sx;\n this.m[2] *= sy;\n this.m[3] *= sy;\n return this;\n }\n rotate(rad) {\n var c = Math.cos(rad);\n var s = Math.sin(rad);\n var m11 = this.m[0] * c + this.m[2] * s;\n var m12 = this.m[1] * c + this.m[3] * s;\n var m21 = this.m[0] * -s + this.m[2] * c;\n var m22 = this.m[1] * -s + this.m[3] * c;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n getTranslation() {\n return {\n x: this.m[4],\n y: this.m[5],\n };\n }\n skew(sx, sy) {\n var m11 = this.m[0] + this.m[2] * sy;\n var m12 = this.m[1] + this.m[3] * sy;\n var m21 = this.m[2] + this.m[0] * sx;\n var m22 = this.m[3] + this.m[1] * sx;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n multiply(matrix) {\n var m11 = this.m[0] * matrix.m[0] + this.m[2] * matrix.m[1];\n var m12 = this.m[1] * matrix.m[0] + this.m[3] * matrix.m[1];\n var m21 = this.m[0] * matrix.m[2] + this.m[2] * matrix.m[3];\n var m22 = this.m[1] * matrix.m[2] + this.m[3] * matrix.m[3];\n var dx = this.m[0] * matrix.m[4] + this.m[2] * matrix.m[5] + this.m[4];\n var dy = this.m[1] * matrix.m[4] + this.m[3] * matrix.m[5] + this.m[5];\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n this.m[4] = dx;\n this.m[5] = dy;\n return this;\n }\n invert() {\n var d = 1 / (this.m[0] * this.m[3] - this.m[1] * this.m[2]);\n var m0 = this.m[3] * d;\n var m1 = -this.m[1] * d;\n var m2 = -this.m[2] * d;\n var m3 = this.m[0] * d;\n var m4 = d * (this.m[2] * this.m[5] - this.m[3] * this.m[4]);\n var m5 = d * (this.m[1] * this.m[4] - this.m[0] * this.m[5]);\n this.m[0] = m0;\n this.m[1] = m1;\n this.m[2] = m2;\n this.m[3] = m3;\n this.m[4] = m4;\n this.m[5] = m5;\n return this;\n }\n getMatrix() {\n return this.m;\n }\n decompose() {\n var a = this.m[0];\n var b = this.m[1];\n var c = this.m[2];\n var d = this.m[3];\n var e = this.m[4];\n var f = this.m[5];\n var delta = a * d - b * c;\n let result = {\n x: e,\n y: f,\n rotation: 0,\n scaleX: 0,\n scaleY: 0,\n skewX: 0,\n skewY: 0,\n };\n if (a != 0 || b != 0) {\n var r = Math.sqrt(a * a + b * b);\n result.rotation = b > 0 ? Math.acos(a / r) : -Math.acos(a / r);\n result.scaleX = r;\n result.scaleY = delta / r;\n result.skewX = (a * c + b * d) / delta;\n result.skewY = 0;\n }\n else if (c != 0 || d != 0) {\n var s = Math.sqrt(c * c + d * d);\n result.rotation =\n Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s));\n result.scaleX = delta / s;\n result.scaleY = s;\n result.skewX = 0;\n result.skewY = (a * c + b * d) / delta;\n }\n else {\n }\n result.rotation = exports.Util._getRotation(result.rotation);\n return result;\n }\n}\nexports.Transform = Transform;\nvar OBJECT_ARRAY = '[object Array]', OBJECT_NUMBER = '[object Number]', OBJECT_STRING = '[object String]', OBJECT_BOOLEAN = '[object Boolean]', PI_OVER_DEG180 = Math.PI / 180, DEG180_OVER_PI = 180 / Math.PI, HASH = '#', EMPTY_STRING = '', ZERO = '0', KONVA_WARNING = 'Konva warning: ', KONVA_ERROR = 'Konva error: ', RGB_PAREN = 'rgb(', COLORS = {\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 132, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 255, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n grey: [128, 128, 128],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 203],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n rebeccapurple: [102, 51, 153],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [119, 128, 144],\n slategrey: [119, 128, 144],\n snow: [255, 255, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n transparent: [255, 255, 255, 0],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 5],\n}, RGB_REGEX = /rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/, animQueue = [];\nconst req = (typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame) ||\n function (f) {\n setTimeout(f, 60);\n };\nexports.Util = {\n _isElement(obj) {\n return !!(obj && obj.nodeType == 1);\n },\n _isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n },\n _isPlainObject(obj) {\n return !!obj && obj.constructor === Object;\n },\n _isArray(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_ARRAY;\n },\n _isNumber(obj) {\n return (Object.prototype.toString.call(obj) === OBJECT_NUMBER &&\n !isNaN(obj) &&\n isFinite(obj));\n },\n _isString(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_STRING;\n },\n _isBoolean(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_BOOLEAN;\n },\n isObject(val) {\n return val instanceof Object;\n },\n isValidSelector(selector) {\n if (typeof selector !== 'string') {\n return false;\n }\n var firstChar = selector[0];\n return (firstChar === '#' ||\n firstChar === '.' ||\n firstChar === firstChar.toUpperCase());\n },\n _sign(number) {\n if (number === 0) {\n return 1;\n }\n if (number > 0) {\n return 1;\n }\n else {\n return -1;\n }\n },\n requestAnimFrame(callback) {\n animQueue.push(callback);\n if (animQueue.length === 1) {\n req(function () {\n const queue = animQueue;\n animQueue = [];\n queue.forEach(function (cb) {\n cb();\n });\n });\n }\n },\n createCanvasElement() {\n var canvas = document.createElement('canvas');\n try {\n canvas.style = canvas.style || {};\n }\n catch (e) { }\n return canvas;\n },\n createImageElement() {\n return document.createElement('img');\n },\n _isInDocument(el) {\n while ((el = el.parentNode)) {\n if (el == document) {\n return true;\n }\n }\n return false;\n },\n _urlToImage(url, callback) {\n var imageObj = exports.Util.createImageElement();\n imageObj.onload = function () {\n callback(imageObj);\n };\n imageObj.src = url;\n },\n _rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n },\n _hexToRgb(hex) {\n hex = hex.replace(HASH, EMPTY_STRING);\n var bigint = parseInt(hex, 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n },\n getRandomColor() {\n var randColor = ((Math.random() * 0xffffff) << 0).toString(16);\n while (randColor.length < 6) {\n randColor = ZERO + randColor;\n }\n return HASH + randColor;\n },\n getRGB(color) {\n var rgb;\n if (color in COLORS) {\n rgb = COLORS[color];\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n };\n }\n else if (color[0] === HASH) {\n return this._hexToRgb(color.substring(1));\n }\n else if (color.substr(0, 4) === RGB_PAREN) {\n rgb = RGB_REGEX.exec(color.replace(/ /g, ''));\n return {\n r: parseInt(rgb[1], 10),\n g: parseInt(rgb[2], 10),\n b: parseInt(rgb[3], 10),\n };\n }\n else {\n return {\n r: 0,\n g: 0,\n b: 0,\n };\n }\n },\n colorToRGBA(str) {\n str = str || 'black';\n return (exports.Util._namedColorToRBA(str) ||\n exports.Util._hex3ColorToRGBA(str) ||\n exports.Util._hex4ColorToRGBA(str) ||\n exports.Util._hex6ColorToRGBA(str) ||\n exports.Util._hex8ColorToRGBA(str) ||\n exports.Util._rgbColorToRGBA(str) ||\n exports.Util._rgbaColorToRGBA(str) ||\n exports.Util._hslColorToRGBA(str));\n },\n _namedColorToRBA(str) {\n var c = COLORS[str.toLowerCase()];\n if (!c) {\n return null;\n }\n return {\n r: c[0],\n g: c[1],\n b: c[2],\n a: 1,\n };\n },\n _rgbColorToRGBA(str) {\n if (str.indexOf('rgb(') === 0) {\n str = str.match(/rgb\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map(Number);\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: 1,\n };\n }\n },\n _rgbaColorToRGBA(str) {\n if (str.indexOf('rgba(') === 0) {\n str = str.match(/rgba\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map((n, index) => {\n if (n.slice(-1) === '%') {\n return index === 3 ? parseInt(n) / 100 : (parseInt(n) / 100) * 255;\n }\n return Number(n);\n });\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: parts[3],\n };\n }\n },\n _hex8ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 9) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: parseInt(str.slice(7, 9), 16) / 0xff,\n };\n }\n },\n _hex6ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 7) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: 1,\n };\n }\n },\n _hex4ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 5) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: parseInt(str[4] + str[4], 16) / 0xff,\n };\n }\n },\n _hex3ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 4) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: 1,\n };\n }\n },\n _hslColorToRGBA(str) {\n if (/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.test(str)) {\n const [_, ...hsl] = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(str);\n const h = Number(hsl[0]) / 360;\n const s = Number(hsl[1]) / 100;\n const l = Number(hsl[2]) / 100;\n let t2;\n let t3;\n let val;\n if (s === 0) {\n val = l * 255;\n return {\n r: Math.round(val),\n g: Math.round(val),\n b: Math.round(val),\n a: 1,\n };\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n }\n else {\n t2 = l + s - l * s;\n }\n const t1 = 2 * l - t2;\n const rgb = [0, 0, 0];\n for (let i = 0; i < 3; i++) {\n t3 = h + (1 / 3) * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n }\n else if (2 * t3 < 1) {\n val = t2;\n }\n else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n }\n else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return {\n r: Math.round(rgb[0]),\n g: Math.round(rgb[1]),\n b: Math.round(rgb[2]),\n a: 1,\n };\n }\n },\n haveIntersection(r1, r2) {\n return !(r2.x > r1.x + r1.width ||\n r2.x + r2.width < r1.x ||\n r2.y > r1.y + r1.height ||\n r2.y + r2.height < r1.y);\n },\n cloneObject(obj) {\n var retObj = {};\n for (var key in obj) {\n if (this._isPlainObject(obj[key])) {\n retObj[key] = this.cloneObject(obj[key]);\n }\n else if (this._isArray(obj[key])) {\n retObj[key] = this.cloneArray(obj[key]);\n }\n else {\n retObj[key] = obj[key];\n }\n }\n return retObj;\n },\n cloneArray(arr) {\n return arr.slice(0);\n },\n degToRad(deg) {\n return deg * PI_OVER_DEG180;\n },\n radToDeg(rad) {\n return rad * DEG180_OVER_PI;\n },\n _degToRad(deg) {\n exports.Util.warn('Util._degToRad is removed. Please use public Util.degToRad instead.');\n return exports.Util.degToRad(deg);\n },\n _radToDeg(rad) {\n exports.Util.warn('Util._radToDeg is removed. Please use public Util.radToDeg instead.');\n return exports.Util.radToDeg(rad);\n },\n _getRotation(radians) {\n return Global_1.Konva.angleDeg ? exports.Util.radToDeg(radians) : radians;\n },\n _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n throw(str) {\n throw new Error(KONVA_ERROR + str);\n },\n error(str) {\n console.error(KONVA_ERROR + str);\n },\n warn(str) {\n if (!Global_1.Konva.showWarnings) {\n return;\n }\n console.warn(KONVA_WARNING + str);\n },\n each(obj, func) {\n for (var key in obj) {\n func(key, obj[key]);\n }\n },\n _inRange(val, left, right) {\n return left <= val && val < right;\n },\n _getProjectionToSegment(x1, y1, x2, y2, x3, y3) {\n var x, y, dist;\n var pd2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n if (pd2 == 0) {\n x = x1;\n y = y1;\n dist = (x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2);\n }\n else {\n var u = ((x3 - x1) * (x2 - x1) + (y3 - y1) * (y2 - y1)) / pd2;\n if (u < 0) {\n x = x1;\n y = y1;\n dist = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);\n }\n else if (u > 1.0) {\n x = x2;\n y = y2;\n dist = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);\n }\n else {\n x = x1 + u * (x2 - x1);\n y = y1 + u * (y2 - y1);\n dist = (x - x3) * (x - x3) + (y - y3) * (y - y3);\n }\n }\n return [x, y, dist];\n },\n _getProjectionToLine(pt, line, isClosed) {\n var pc = exports.Util.cloneObject(pt);\n var dist = Number.MAX_VALUE;\n line.forEach(function (p1, i) {\n if (!isClosed && i === line.length - 1) {\n return;\n }\n var p2 = line[(i + 1) % line.length];\n var proj = exports.Util._getProjectionToSegment(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n var px = proj[0], py = proj[1], pdist = proj[2];\n if (pdist < dist) {\n pc.x = px;\n pc.y = py;\n dist = pdist;\n }\n });\n return pc;\n },\n _prepareArrayForTween(startArray, endArray, isClosed) {\n var n, start = [], end = [];\n if (startArray.length > endArray.length) {\n var temp = endArray;\n endArray = startArray;\n startArray = temp;\n }\n for (n = 0; n < startArray.length; n += 2) {\n start.push({\n x: startArray[n],\n y: startArray[n + 1],\n });\n }\n for (n = 0; n < endArray.length; n += 2) {\n end.push({\n x: endArray[n],\n y: endArray[n + 1],\n });\n }\n var newStart = [];\n end.forEach(function (point) {\n var pr = exports.Util._getProjectionToLine(point, start, isClosed);\n newStart.push(pr.x);\n newStart.push(pr.y);\n });\n return newStart;\n },\n _prepareToStringify(obj) {\n var desc;\n obj.visitedByCircularReferenceRemoval = true;\n for (var key in obj) {\n if (!(obj.hasOwnProperty(key) && obj[key] && typeof obj[key] == 'object')) {\n continue;\n }\n desc = Object.getOwnPropertyDescriptor(obj, key);\n if (obj[key].visitedByCircularReferenceRemoval ||\n exports.Util._isElement(obj[key])) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n else if (exports.Util._prepareToStringify(obj[key]) === null) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n }\n delete obj.visitedByCircularReferenceRemoval;\n return obj;\n },\n _assign(target, source) {\n for (var key in source) {\n target[key] = source[key];\n }\n return target;\n },\n _getFirstPointerId(evt) {\n if (!evt.touches) {\n return evt.pointerId || 999;\n }\n else {\n return evt.changedTouches[0].identifier;\n }\n },\n releaseCanvas(...canvases) {\n if (!Global_1.Konva.releaseCanvasOnDestroy)\n return;\n canvases.forEach((c) => {\n c.width = 0;\n c.height = 0;\n });\n },\n drawRoundedRectPath(context, width, height, cornerRadius) {\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.moveTo(topLeft, 0);\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n },\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getComponentValidator = exports.getBooleanValidator = exports.getNumberArrayValidator = exports.getFunctionValidator = exports.getStringOrGradientValidator = exports.getStringValidator = exports.getNumberOrAutoValidator = exports.getNumberOrArrayOfNumbersValidator = exports.getNumberValidator = exports.alphaComponent = exports.RGBComponent = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nfunction _formatValue(val) {\n if (Util_1.Util._isString(val)) {\n return '\"' + val + '\"';\n }\n if (Object.prototype.toString.call(val) === '[object Number]') {\n return val;\n }\n if (Util_1.Util._isBoolean(val)) {\n return val;\n }\n return Object.prototype.toString.call(val);\n}\nfunction RGBComponent(val) {\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n return Math.round(val);\n}\nexports.RGBComponent = RGBComponent;\nfunction alphaComponent(val) {\n if (val > 1) {\n return 1;\n }\n else if (val < 0.0001) {\n return 0.0001;\n }\n return val;\n}\nexports.alphaComponent = alphaComponent;\nfunction getNumberValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isNumber(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number.');\n }\n return val;\n };\n }\n}\nexports.getNumberValidator = getNumberValidator;\nfunction getNumberOrArrayOfNumbersValidator(noOfElements) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n let isNumber = Util_1.Util._isNumber(val);\n let isValidArray = Util_1.Util._isArray(val) && val.length == noOfElements;\n if (!isNumber && !isValidArray) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or Array<number>(' +\n noOfElements +\n ')');\n }\n return val;\n };\n }\n}\nexports.getNumberOrArrayOfNumbersValidator = getNumberOrArrayOfNumbersValidator;\nfunction getNumberOrAutoValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isNumber = Util_1.Util._isNumber(val);\n var isAuto = val === 'auto';\n if (!(isNumber || isAuto)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or \"auto\".');\n }\n return val;\n };\n }\n}\nexports.getNumberOrAutoValidator = getNumberOrAutoValidator;\nfunction getStringValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isString(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string.');\n }\n return val;\n };\n }\n}\nexports.getStringValidator = getStringValidator;\nfunction getStringOrGradientValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const isString = Util_1.Util._isString(val);\n const isGradient = Object.prototype.toString.call(val) === '[object CanvasGradient]' ||\n (val && val.addColorStop);\n if (!(isString || isGradient)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string or a native gradient.');\n }\n return val;\n };\n }\n}\nexports.getStringOrGradientValidator = getStringOrGradientValidator;\nfunction getFunctionValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isFunction(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a function.');\n }\n return val;\n };\n }\n}\nexports.getFunctionValidator = getFunctionValidator;\nfunction getNumberArrayValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const TypedArray = Int8Array ? Object.getPrototypeOf(Int8Array) : null;\n if (TypedArray && val instanceof TypedArray) {\n return val;\n }\n if (!Util_1.Util._isArray(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a array of numbers.');\n }\n else {\n val.forEach(function (item) {\n if (!Util_1.Util._isNumber(item)) {\n Util_1.Util.warn('\"' +\n attr +\n '\" attribute has non numeric element ' +\n item +\n '. Make sure that all elements are numbers.');\n }\n });\n }\n return val;\n };\n }\n}\nexports.getNumberArrayValidator = getNumberArrayValidator;\nfunction getBooleanValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isBool = val === true || val === false;\n if (!isBool) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a boolean.');\n }\n return val;\n };\n }\n}\nexports.getBooleanValidator = getBooleanValidator;\nfunction getComponentValidator(components) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (val === undefined || val === null) {\n return val;\n }\n if (!Util_1.Util.isObject(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be an object with properties ' +\n components);\n }\n return val;\n };\n }\n}\nexports.getComponentValidator = getComponentValidator;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Factory = void 0;\nconst Util_1 = require(\"./Util\");\nconst Validators_1 = require(\"./Validators\");\nvar GET = 'get', SET = 'set';\nexports.Factory = {\n addGetterSetter(constructor, attr, def, validator, after) {\n exports.Factory.addGetter(constructor, attr, def);\n exports.Factory.addSetter(constructor, attr, validator, after);\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addGetter(constructor, attr, def) {\n var method = GET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] =\n constructor.prototype[method] ||\n function () {\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n },\n addSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n if (!constructor.prototype[method]) {\n exports.Factory.overWriteSetter(constructor, attr, validator, after);\n }\n },\n overWriteSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] = function (val) {\n if (validator && val !== undefined && val !== null) {\n val = validator.call(this, val, attr);\n }\n this._setAttr(attr, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n },\n addComponentsGetterSetter(constructor, attr, components, validator, after) {\n var len = components.length, capitalize = Util_1.Util._capitalize, getter = GET + capitalize(attr), setter = SET + capitalize(attr), n, component;\n constructor.prototype[getter] = function () {\n var ret = {};\n for (n = 0; n < len; n++) {\n component = components[n];\n ret[component] = this.getAttr(attr + capitalize(component));\n }\n return ret;\n };\n var basicValidator = (0, Validators_1.getComponentValidator)(components);\n constructor.prototype[setter] = function (val) {\n var oldVal = this.attrs[attr], key;\n if (validator) {\n val = validator.call(this, val);\n }\n if (basicValidator) {\n basicValidator.call(this, val, attr);\n }\n for (key in val) {\n if (!val.hasOwnProperty(key)) {\n continue;\n }\n this._setAttr(attr + capitalize(key), val[key]);\n }\n if (!val) {\n components.forEach((component) => {\n this._setAttr(attr + capitalize(component), undefined);\n });\n }\n this._fireChangeEvent(attr, oldVal, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addOverloadedGetterSetter(constructor, attr) {\n var capitalizedAttr = Util_1.Util._capitalize(attr), setter = SET + capitalizedAttr, getter = GET + capitalizedAttr;\n constructor.prototype[attr] = function () {\n if (arguments.length) {\n this[setter](arguments[0]);\n return this;\n }\n return this[getter]();\n };\n },\n addDeprecatedGetterSetter(constructor, attr, def, validator) {\n Util_1.Util.error('Adding deprecated ' + attr);\n var method = GET + Util_1.Util._capitalize(attr);\n var message = attr +\n ' property is deprecated and will be removed soon. Look at Konva change log for more information.';\n constructor.prototype[method] = function () {\n Util_1.Util.error(message);\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n exports.Factory.addSetter(constructor, attr, validator, function () {\n Util_1.Util.error(message);\n });\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n backCompat(constructor, methods) {\n Util_1.Util.each(methods, function (oldMethodName, newMethodName) {\n var method = constructor.prototype[newMethodName];\n var oldGetter = GET + Util_1.Util._capitalize(oldMethodName);\n var oldSetter = SET + Util_1.Util._capitalize(oldMethodName);\n function deprecated() {\n method.apply(this, arguments);\n Util_1.Util.error('\"' +\n oldMethodName +\n '\" method is deprecated and will be removed soon. Use \"\"' +\n newMethodName +\n '\" instead.');\n }\n constructor.prototype[oldMethodName] = deprecated;\n constructor.prototype[oldGetter] = deprecated;\n constructor.prototype[oldSetter] = deprecated;\n });\n },\n afterSetFilter() {\n this._filterUpToDate = false;\n },\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitContext = exports.SceneContext = exports.Context = void 0;\nconst Util_1 = require(\"./Util\");\nconst Global_1 = require(\"./Global\");\nfunction simplifyArray(arr) {\n var retArr = [], len = arr.length, util = Util_1.Util, n, val;\n for (n = 0; n < len; n++) {\n val = arr[n];\n if (util._isNumber(val)) {\n val = Math.round(val * 1000) / 1000;\n }\n else if (!util._isString(val)) {\n val = val + '';\n }\n retArr.push(val);\n }\n return retArr;\n}\nvar COMMA = ',', OPEN_PAREN = '(', CLOSE_PAREN = ')', OPEN_PAREN_BRACKET = '([', CLOSE_BRACKET_PAREN = '])', SEMICOLON = ';', DOUBLE_PAREN = '()', EQUALS = '=', CONTEXT_METHODS = [\n 'arc',\n 'arcTo',\n 'beginPath',\n 'bezierCurveTo',\n 'clearRect',\n 'clip',\n 'closePath',\n 'createLinearGradient',\n 'createPattern',\n 'createRadialGradient',\n 'drawImage',\n 'ellipse',\n 'fill',\n 'fillText',\n 'getImageData',\n 'createImageData',\n 'lineTo',\n 'moveTo',\n 'putImageData',\n 'quadraticCurveTo',\n 'rect',\n 'roundRect',\n 'restore',\n 'rotate',\n 'save',\n 'scale',\n 'setLineDash',\n 'setTransform',\n 'stroke',\n 'strokeText',\n 'transform',\n 'translate',\n];\nvar CONTEXT_PROPERTIES = [\n 'fillStyle',\n 'strokeStyle',\n 'shadowColor',\n 'shadowBlur',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'letterSpacing',\n 'lineCap',\n 'lineDashOffset',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit',\n 'direction',\n 'font',\n 'textAlign',\n 'textBaseline',\n 'globalAlpha',\n 'globalCompositeOperation',\n 'imageSmoothingEnabled',\n];\nconst traceArrMax = 100;\nclass Context {\n constructor(canvas) {\n this.canvas = canvas;\n if (Global_1.Konva.enableTrace) {\n this.traceArr = [];\n this._enableTrace();\n }\n }\n fillShape(shape) {\n if (shape.fillEnabled()) {\n this._fill(shape);\n }\n }\n _fill(shape) {\n }\n strokeShape(shape) {\n if (shape.hasStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n }\n fillStrokeShape(shape) {\n if (shape.attrs.fillAfterStrokeEnabled) {\n this.strokeShape(shape);\n this.fillShape(shape);\n }\n else {\n this.fillShape(shape);\n this.strokeShape(shape);\n }\n }\n getTrace(relaxed, rounded) {\n var traceArr = this.traceArr, len = traceArr.length, str = '', n, trace, method, args;\n for (n = 0; n < len; n++) {\n trace = traceArr[n];\n method = trace.method;\n if (method) {\n args = trace.args;\n str += method;\n if (relaxed) {\n str += DOUBLE_PAREN;\n }\n else {\n if (Util_1.Util._isArray(args[0])) {\n str += OPEN_PAREN_BRACKET + args.join(COMMA) + CLOSE_BRACKET_PAREN;\n }\n else {\n if (rounded) {\n args = args.map((a) => typeof a === 'number' ? Math.floor(a) : a);\n }\n str += OPEN_PAREN + args.join(COMMA) + CLOSE_PAREN;\n }\n }\n }\n else {\n str += trace.property;\n if (!relaxed) {\n str += EQUALS + trace.val;\n }\n }\n str += SEMICOLON;\n }\n return str;\n }\n clearTrace() {\n this.traceArr = [];\n }\n _trace(str) {\n var traceArr = this.traceArr, len;\n traceArr.push(str);\n len = traceArr.length;\n if (len >= traceArrMax) {\n traceArr.shift();\n }\n }\n reset() {\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(1 * pixelRatio, 0, 0, 1 * pixelRatio, 0, 0);\n }\n getCanvas() {\n return this.canvas;\n }\n clear(bounds) {\n var canvas = this.getCanvas();\n if (bounds) {\n this.clearRect(bounds.x || 0, bounds.y || 0, bounds.width || 0, bounds.height || 0);\n }\n else {\n this.clearRect(0, 0, canvas.getWidth() / canvas.pixelRatio, canvas.getHeight() / canvas.pixelRatio);\n }\n }\n _applyLineCap(shape) {\n const lineCap = shape.attrs.lineCap;\n if (lineCap) {\n this.setAttr('lineCap', lineCap);\n }\n }\n _applyOpacity(shape) {\n var absOpacity = shape.getAbsoluteOpacity();\n if (absOpacity !== 1) {\n this.setAttr('globalAlpha', absOpacity);\n }\n }\n _applyLineJoin(shape) {\n const lineJoin = shape.attrs.lineJoin;\n if (lineJoin) {\n this.setAttr('lineJoin', lineJoin);\n }\n }\n setAttr(attr, val) {\n this._context[attr] = val;\n }\n arc(x, y, radius, startAngle, endAngle, counterClockwise) {\n this._context.arc(x, y, radius, startAngle, endAngle, counterClockwise);\n }\n arcTo(x1, y1, x2, y2, radius) {\n this._context.arcTo(x1, y1, x2, y2, radius);\n }\n beginPath() {\n this._context.beginPath();\n }\n bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {\n this._context.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n }\n clearRect(x, y, width, height) {\n this._context.clearRect(x, y, width, height);\n }\n clip(...args) {\n this._context.clip.apply(this._context, args);\n }\n closePath() {\n this._context.closePath();\n }\n createImageData(width, height) {\n var a = arguments;\n if (a.length === 2) {\n return this._context.createImageData(width, height);\n }\n else if (a.length === 1) {\n return this._context.createImageData(width);\n }\n }\n createLinearGradient(x0, y0, x1, y1) {\n return this._context.createLinearGradient(x0, y0, x1, y1);\n }\n createPattern(image, repetition) {\n return this._context.createPattern(image, repetition);\n }\n createRadialGradient(x0, y0, r0, x1, y1, r1) {\n return this._context.createRadialGradient(x0, y0, r0, x1, y1, r1);\n }\n drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) {\n var a = arguments, _context = this._context;\n if (a.length === 3) {\n _context.drawImage(image, sx, sy);\n }\n else if (a.length === 5) {\n _context.drawImage(image, sx, sy, sWidth, sHeight);\n }\n else if (a.length === 9) {\n _context.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);\n }\n }\n ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise) {\n this._context.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise);\n }\n isPointInPath(x, y, path, fillRule) {\n if (path) {\n return this._context.isPointInPath(path, x, y, fillRule);\n }\n return this._context.isPointInPath(x, y, fillRule);\n }\n fill(...args) {\n this._context.fill.apply(this._context, args);\n }\n fillRect(x, y, width, height) {\n this._context.fillRect(x, y, width, height);\n }\n strokeRect(x, y, width, height) {\n this._context.strokeRect(x, y, width, height);\n }\n fillText(text, x, y, maxWidth) {\n if (maxWidth) {\n this._context.fillText(text, x, y, maxWidth);\n }\n else {\n this._context.fillText(text, x, y);\n }\n }\n measureText(text) {\n return this._context.measureText(text);\n }\n getImageData(sx, sy, sw, sh) {\n return this._context.getImageData(sx, sy, sw, sh);\n }\n lineTo(x, y) {\n this._context.lineTo(x, y);\n }\n moveTo(x, y) {\n this._context.moveTo(x, y);\n }\n rect(x, y, width, height) {\n this._context.rect(x, y, width, height);\n }\n roundRect(x, y, width, height, radii) {\n this._context.roundRect(x, y, width, height, radii);\n }\n putImageData(imageData, dx, dy) {\n this._context.putImageData(imageData, dx, dy);\n }\n quadraticCurveTo(cpx, cpy, x, y) {\n this._context.quadraticCurveTo(cpx, cpy, x, y);\n }\n restore() {\n this._context.restore();\n }\n rotate(angle) {\n this._context.rotate(angle);\n }\n save() {\n this._context.save();\n }\n scale(x, y) {\n this._context.scale(x, y);\n }\n setLineDash(segments) {\n if (this._context.setLineDash) {\n this._context.setLineDash(segments);\n }\n else if ('mozDash' in this._context) {\n this._context['mozDash'] = segments;\n }\n else if ('webkitLineDash' in this._context) {\n this._context['webkitLineDash'] = segments;\n }\n }\n getLineDash() {\n return this._context.getLineDash();\n }\n setTransform(a, b, c, d, e, f) {\n this._context.setTransform(a, b, c, d, e, f);\n }\n stroke(path2d) {\n if (path2d) {\n this._context.stroke(path2d);\n }\n else {\n this._context.stroke();\n }\n }\n strokeText(text, x, y, maxWidth) {\n this._context.strokeText(text, x, y, maxWidth);\n }\n transform(a, b, c, d, e, f) {\n this._context.transform(a, b, c, d, e, f);\n }\n translate(x, y) {\n this._context.translate(x, y);\n }\n _enableTrace() {\n var that = this, len = CONTEXT_METHODS.length, origSetter = this.setAttr, n, args;\n var func = function (methodName) {\n var origMethod = that[methodName], ret;\n that[methodName] = function () {\n args = simplifyArray(Array.prototype.slice.call(arguments, 0));\n ret = origMethod.apply(that, arguments);\n that._trace({\n method: methodName,\n args: args,\n });\n return ret;\n };\n };\n for (n = 0; n < len; n++) {\n func(CONTEXT_METHODS[n]);\n }\n that.setAttr = function () {\n origSetter.apply(that, arguments);\n var prop = arguments[0];\n var val = arguments[1];\n if (prop === 'shadowOffsetX' ||\n prop === 'shadowOffsetY' ||\n prop === 'shadowBlur') {\n val = val / this.canvas.getPixelRatio();\n }\n that._trace({\n property: prop,\n val: val,\n });\n };\n }\n _applyGlobalCompositeOperation(node) {\n const op = node.attrs.globalCompositeOperation;\n var def = !op || op === 'source-over';\n if (!def) {\n this.setAttr('globalCompositeOperation', op);\n }\n }\n}\nexports.Context = Context;\nCONTEXT_PROPERTIES.forEach(function (prop) {\n Object.defineProperty(Context.prototype, prop, {\n get() {\n return this._context[prop];\n },\n set(val) {\n this._context[prop] = val;\n },\n });\n});\nclass SceneContext extends Context {\n constructor(canvas, { willReadFrequently = false } = {}) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently,\n });\n }\n _fillColor(shape) {\n var fill = shape.fill();\n this.setAttr('fillStyle', fill);\n shape._fillFunc(this);\n }\n _fillPattern(shape) {\n this.setAttr('fillStyle', shape._getFillPattern());\n shape._fillFunc(this);\n }\n _fillLinearGradient(shape) {\n var grd = shape._getLinearGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fillRadialGradient(shape) {\n const grd = shape._getRadialGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fill(shape) {\n const hasColor = shape.fill(), fillPriority = shape.getFillPriority();\n if (hasColor && fillPriority === 'color') {\n this._fillColor(shape);\n return;\n }\n const hasPattern = shape.getFillPatternImage();\n if (hasPattern && fillPriority === 'pattern') {\n this._fillPattern(shape);\n return;\n }\n const hasLinearGradient = shape.getFillLinearGradientColorStops();\n if (hasLinearGradient && fillPriority === 'linear-gradient') {\n this._fillLinearGradient(shape);\n return;\n }\n const hasRadialGradient = shape.getFillRadialGradientColorStops();\n if (hasRadialGradient && fillPriority === 'radial-gradient') {\n this._fillRadialGradient(shape);\n return;\n }\n if (hasColor) {\n this._fillColor(shape);\n }\n else if (hasPattern) {\n this._fillPattern(shape);\n }\n else if (hasLinearGradient) {\n this._fillLinearGradient(shape);\n }\n else if (hasRadialGradient) {\n this._fillRadialGradient(shape);\n }\n }\n _strokeLinearGradient(shape) {\n const start = shape.getStrokeLinearGradientStartPoint(), end = shape.getStrokeLinearGradientEndPoint(), colorStops = shape.getStrokeLinearGradientColorStops(), grd = this.createLinearGradient(start.x, start.y, end.x, end.y);\n if (colorStops) {\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n this.setAttr('strokeStyle', grd);\n }\n }\n _stroke(shape) {\n var dash = shape.dash(), strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (shape.hasStroke()) {\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n if (dash && shape.dashEnabled()) {\n this.setLineDash(dash);\n this.setAttr('lineDashOffset', shape.dashOffset());\n }\n this.setAttr('lineWidth', shape.strokeWidth());\n if (!shape.getShadowForStrokeEnabled()) {\n this.setAttr('shadowColor', 'rgba(0,0,0,0)');\n }\n var hasLinearGradient = shape.getStrokeLinearGradientColorStops();\n if (hasLinearGradient) {\n this._strokeLinearGradient(shape);\n }\n else {\n this.setAttr('strokeStyle', shape.stroke());\n }\n shape._strokeFunc(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n _applyShadow(shape) {\n var _a, _b, _c;\n var color = (_a = shape.getShadowRGBA()) !== null && _a !== void 0 ? _a : 'black', blur = (_b = shape.getShadowBlur()) !== null && _b !== void 0 ? _b : 5, offset = (_c = shape.getShadowOffset()) !== null && _c !== void 0 ? _c : {\n x: 0,\n y: 0,\n }, scale = shape.getAbsoluteScale(), ratio = this.canvas.getPixelRatio(), scaleX = scale.x * ratio, scaleY = scale.y * ratio;\n this.setAttr('shadowColor', color);\n this.setAttr('shadowBlur', blur * Math.min(Math.abs(scaleX), Math.abs(scaleY)));\n this.setAttr('shadowOffsetX', offset.x * scaleX);\n this.setAttr('shadowOffsetY', offset.y * scaleY);\n }\n}\nexports.SceneContext = SceneContext;\nclass HitContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently: true,\n });\n }\n _fill(shape) {\n this.save();\n this.setAttr('fillStyle', shape.colorKey);\n shape._fillFuncHit(this);\n this.restore();\n }\n strokeShape(shape) {\n if (shape.hasHitStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n if (shape.hasHitStroke()) {\n const strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n var hitStrokeWidth = shape.hitStrokeWidth();\n var strokeWidth = hitStrokeWidth === 'auto' ? shape.strokeWidth() : hitStrokeWidth;\n this.setAttr('lineWidth', strokeWidth);\n this.setAttr('strokeStyle', shape.colorKey);\n shape._strokeFuncHit(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n}\nexports.HitContext = HitContext;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitCanvas = exports.SceneCanvas = exports.Canvas = void 0;\nconst Util_1 = require(\"./Util\");\nconst Context_1 = require(\"./Context\");\nconst Global_1 = require(\"./Global\");\nconst Factory_1 = require(\"./Factory\");\nconst Validators_1 = require(\"./Validators\");\nvar _pixelRatio;\nfunction getDevicePixelRatio() {\n if (_pixelRatio) {\n return _pixelRatio;\n }\n var canvas = Util_1.Util.createCanvasElement();\n var context = canvas.getContext('2d');\n _pixelRatio = (function () {\n var devicePixelRatio = Global_1.Konva._global.devicePixelRatio || 1, backingStoreRatio = context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio ||\n 1;\n return devicePixelRatio / backingStoreRatio;\n })();\n Util_1.Util.releaseCanvas(canvas);\n return _pixelRatio;\n}\nclass Canvas {\n constructor(config) {\n this.pixelRatio = 1;\n this.width = 0;\n this.height = 0;\n this.isCache = false;\n var conf = config || {};\n var pixelRatio = conf.pixelRatio || Global_1.Konva.pixelRatio || getDevicePixelRatio();\n this.pixelRatio = pixelRatio;\n this._canvas = Util_1.Util.createCanvasElement();\n this._canvas.style.padding = '0';\n this._canvas.style.margin = '0';\n this._canvas.style.border = '0';\n this._canvas.style.background = 'transparent';\n this._canvas.style.position = 'absolute';\n this._canvas.style.top = '0';\n this._canvas.style.left = '0';\n }\n getContext() {\n return this.context;\n }\n getPixelRatio() {\n return this.pixelRatio;\n }\n setPixelRatio(pixelRatio) {\n var previousRatio = this.pixelRatio;\n this.pixelRatio = pixelRatio;\n this.setSize(this.getWidth() / previousRatio, this.getHeight() / previousRatio);\n }\n setWidth(width) {\n this.width = this._canvas.width = width * this.pixelRatio;\n this._canvas.style.width = width + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n setHeight(height) {\n this.height = this._canvas.height = height * this.pixelRatio;\n this._canvas.style.height = height + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n getWidth() {\n return this.width;\n }\n getHeight() {\n return this.height;\n }\n setSize(width, height) {\n this.setWidth(width || 0);\n this.setHeight(height || 0);\n }\n toDataURL(mimeType, quality) {\n try {\n return this._canvas.toDataURL(mimeType, quality);\n }\n catch (e) {\n try {\n return this._canvas.toDataURL();\n }\n catch (err) {\n Util_1.Util.error('Unable to get data URL. ' +\n err.message +\n ' For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n return '';\n }\n }\n }\n}\nexports.Canvas = Canvas;\nFactory_1.Factory.addGetterSetter(Canvas, 'pixelRatio', undefined, (0, Validators_1.getNumberValidator)());\nclass SceneCanvas extends Canvas {\n constructor(config = { width: 0, height: 0, willReadFrequently: false }) {\n super(config);\n this.context = new Context_1.SceneContext(this, {\n willReadFrequently: config.willReadFrequently,\n });\n this.setSize(config.width, config.height);\n }\n}\nexports.SceneCanvas = SceneCanvas;\nclass HitCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.hitCanvas = true;\n this.context = new Context_1.HitContext(this);\n this.setSize(config.width, config.height);\n }\n}\nexports.HitCanvas = HitCanvas;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DD = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nexports.DD = {\n get isDragging() {\n var flag = false;\n exports.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus === 'dragging') {\n flag = true;\n }\n });\n return flag;\n },\n justDragged: false,\n get node() {\n var node;\n exports.DD._dragElements.forEach((elem) => {\n node = elem.node;\n });\n return node;\n },\n _dragElements: new Map(),\n _drag(evt) {\n const nodesToFireEvents = [];\n exports.DD._dragElements.forEach((elem, key) => {\n const { node } = elem;\n const stage = node.getStage();\n stage.setPointersPositions(evt);\n if (elem.pointerId === undefined) {\n elem.pointerId = Util_1.Util._getFirstPointerId(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus !== 'dragging') {\n var dragDistance = node.dragDistance();\n var distance = Math.max(Math.abs(pos.x - elem.startPointerPos.x), Math.abs(pos.y - elem.startPointerPos.y));\n if (distance < dragDistance) {\n return;\n }\n node.startDrag({ evt });\n if (!node.isDragging()) {\n return;\n }\n }\n node._setDragPosition(evt, elem);\n nodesToFireEvents.push(node);\n });\n nodesToFireEvents.forEach((node) => {\n node.fire('dragmove', {\n type: 'dragmove',\n target: node,\n evt: evt,\n }, true);\n });\n },\n _endDragBefore(evt) {\n const drawNodes = [];\n exports.DD._dragElements.forEach((elem) => {\n const { node } = elem;\n const stage = node.getStage();\n if (evt) {\n stage.setPointersPositions(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus === 'dragging' || elem.dragStatus === 'stopped') {\n exports.DD.justDragged = true;\n Global_1.Konva._mouseListenClick = false;\n Global_1.Konva._touchListenClick = false;\n Global_1.Konva._pointerListenClick = false;\n elem.dragStatus = 'stopped';\n }\n const drawNode = elem.node.getLayer() ||\n (elem.node instanceof Global_1.Konva['Stage'] && elem.node);\n if (drawNode && drawNodes.indexOf(drawNode) === -1) {\n drawNodes.push(drawNode);\n }\n });\n drawNodes.forEach((drawNode) => {\n drawNode.draw();\n });\n },\n _endDragAfter(evt) {\n exports.DD._dragElements.forEach((elem, key) => {\n if (elem.dragStatus === 'stopped') {\n elem.node.fire('dragend', {\n type: 'dragend',\n target: elem.node,\n evt: evt,\n }, true);\n }\n if (elem.dragStatus !== 'dragging') {\n exports.DD._dragElements.delete(key);\n }\n });\n },\n};\nif (Global_1.Konva.isBrowser) {\n window.addEventListener('mouseup', exports.DD._endDragBefore, true);\n window.addEventListener('touchend', exports.DD._endDragBefore, true);\n window.addEventListener('mousemove', exports.DD._drag);\n window.addEventListener('touchmove', exports.DD._drag);\n window.addEventListener('mouseup', exports.DD._endDragAfter, false);\n window.addEventListener('touchend', exports.DD._endDragAfter, false);\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Node = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Global_1 = require(\"./Global\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Validators_1 = require(\"./Validators\");\nvar ABSOLUTE_OPACITY = 'absoluteOpacity', ALL_LISTENERS = 'allEventListeners', ABSOLUTE_TRANSFORM = 'absoluteTransform', ABSOLUTE_SCALE = 'absoluteScale', CANVAS = 'canvas', CHANGE = 'Change', CHILDREN = 'children', KONVA = 'konva', LISTENING = 'listening', MOUSEENTER = 'mouseenter', MOUSELEAVE = 'mouseleave', NAME = 'name', SET = 'set', SHAPE = 'Shape', SPACE = ' ', STAGE = 'stage', TRANSFORM = 'transform', UPPER_STAGE = 'Stage', VISIBLE = 'visible', TRANSFORM_CHANGE_STR = [\n 'xChange.konva',\n 'yChange.konva',\n 'scaleXChange.konva',\n 'scaleYChange.konva',\n 'skewXChange.konva',\n 'skewYChange.konva',\n 'rotationChange.konva',\n 'offsetXChange.konva',\n 'offsetYChange.konva',\n 'transformsEnabledChange.konva',\n].join(SPACE);\nlet idCounter = 1;\nclass Node {\n constructor(config) {\n this._id = idCounter++;\n this.eventListeners = {};\n this.attrs = {};\n this.index = 0;\n this._allEventListeners = null;\n this.parent = null;\n this._cache = new Map();\n this._attachedDepsListeners = new Map();\n this._lastPos = null;\n this._batchingTransformChange = false;\n this._needClearTransformCache = false;\n this._filterUpToDate = false;\n this._isUnderCache = false;\n this._dragEventId = null;\n this._shouldFireChangeEvents = false;\n this.setAttrs(config);\n this._shouldFireChangeEvents = true;\n }\n hasChildren() {\n return false;\n }\n _clearCache(attr) {\n if ((attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM) &&\n this._cache.get(attr)) {\n this._cache.get(attr).dirty = true;\n }\n else if (attr) {\n this._cache.delete(attr);\n }\n else {\n this._cache.clear();\n }\n }\n _getCache(attr, privateGetter) {\n var cache = this._cache.get(attr);\n var isTransform = attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM;\n var invalid = cache === undefined || (isTransform && cache.dirty === true);\n if (invalid) {\n cache = privateGetter.call(this);\n this._cache.set(attr, cache);\n }\n return cache;\n }\n _calculate(name, deps, getter) {\n if (!this._attachedDepsListeners.get(name)) {\n const depsString = deps.map((dep) => dep + 'Change.konva').join(SPACE);\n this.on(depsString, () => {\n this._clearCache(name);\n });\n this._attachedDepsListeners.set(name, true);\n }\n return this._getCache(name, getter);\n }\n _getCanvasCache() {\n return this._cache.get(CANVAS);\n }\n _clearSelfAndDescendantCache(attr) {\n this._clearCache(attr);\n if (attr === ABSOLUTE_TRANSFORM) {\n this.fire('absoluteTransformChange');\n }\n }\n clearCache() {\n if (this._cache.has(CANVAS)) {\n const { scene, filter, hit } = this._cache.get(CANVAS);\n Util_1.Util.releaseCanvas(scene, filter, hit);\n this._cache.delete(CANVAS);\n }\n this._clearSelfAndDescendantCache();\n this._requestDraw();\n return this;\n }\n cache(config) {\n var conf = config || {};\n var rect = {};\n if (conf.x === undefined ||\n conf.y === undefined ||\n conf.width === undefined ||\n conf.height === undefined) {\n rect = this.getClientRect({\n skipTransform: true,\n relativeTo: this.getParent() || undefined,\n });\n }\n var width = Math.ceil(conf.width || rect.width), height = Math.ceil(conf.height || rect.height), pixelRatio = conf.pixelRatio, x = conf.x === undefined ? Math.floor(rect.x) : conf.x, y = conf.y === undefined ? Math.floor(rect.y) : conf.y, offset = conf.offset || 0, drawBorder = conf.drawBorder || false, hitCanvasPixelRatio = conf.hitCanvasPixelRatio || 1;\n if (!width || !height) {\n Util_1.Util.error('Can not cache the node. Width or height of the node equals 0. Caching is skipped.');\n return;\n }\n const extraPaddingX = Math.abs(Math.round(rect.x) - x) > 0.5 ? 1 : 0;\n const extraPaddingY = Math.abs(Math.round(rect.y) - y) > 0.5 ? 1 : 0;\n width += offset * 2 + extraPaddingX;\n height += offset * 2 + extraPaddingY;\n x -= offset;\n y -= offset;\n var cachedSceneCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: width,\n height: height,\n }), cachedFilterCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: 0,\n height: 0,\n willReadFrequently: true,\n }), cachedHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: hitCanvasPixelRatio,\n width: width,\n height: height,\n }), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();\n cachedHitCanvas.isCache = true;\n cachedSceneCanvas.isCache = true;\n this._cache.delete(CANVAS);\n this._filterUpToDate = false;\n if (conf.imageSmoothingEnabled === false) {\n cachedSceneCanvas.getContext()._context.imageSmoothingEnabled = false;\n cachedFilterCanvas.getContext()._context.imageSmoothingEnabled = false;\n }\n sceneContext.save();\n hitContext.save();\n sceneContext.translate(-x, -y);\n hitContext.translate(-x, -y);\n this._isUnderCache = true;\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this.drawScene(cachedSceneCanvas, this);\n this.drawHit(cachedHitCanvas, this);\n this._isUnderCache = false;\n sceneContext.restore();\n hitContext.restore();\n if (drawBorder) {\n sceneContext.save();\n sceneContext.beginPath();\n sceneContext.rect(0, 0, width, height);\n sceneContext.closePath();\n sceneContext.setAttr('strokeStyle', 'red');\n sceneContext.setAttr('lineWidth', 5);\n sceneContext.stroke();\n sceneContext.restore();\n }\n this._cache.set(CANVAS, {\n scene: cachedSceneCanvas,\n filter: cachedFilterCanvas,\n hit: cachedHitCanvas,\n x: x,\n y: y,\n });\n this._requestDraw();\n return this;\n }\n isCached() {\n return this._cache.has(CANVAS);\n }\n getClientRect(config) {\n throw new Error('abstract \"getClientRect\" method call');\n }\n _transformedRect(rect, top) {\n var points = [\n { x: rect.x, y: rect.y },\n { x: rect.x + rect.width, y: rect.y },\n { x: rect.x + rect.width, y: rect.y + rect.height },\n { x: rect.x, y: rect.y + rect.height },\n ];\n var minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n var trans = this.getAbsoluteTransform(top);\n points.forEach(function (point) {\n var transformed = trans.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n _drawCachedSceneCanvas(context) {\n context.save();\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n const canvasCache = this._getCanvasCache();\n context.translate(canvasCache.x, canvasCache.y);\n var cacheCanvas = this._getCachedSceneCanvas();\n var ratio = cacheCanvas.pixelRatio;\n context.drawImage(cacheCanvas._canvas, 0, 0, cacheCanvas.width / ratio, cacheCanvas.height / ratio);\n context.restore();\n }\n _drawCachedHitCanvas(context) {\n var canvasCache = this._getCanvasCache(), hitCanvas = canvasCache.hit;\n context.save();\n context.translate(canvasCache.x, canvasCache.y);\n context.drawImage(hitCanvas._canvas, 0, 0, hitCanvas.width / hitCanvas.pixelRatio, hitCanvas.height / hitCanvas.pixelRatio);\n context.restore();\n }\n _getCachedSceneCanvas() {\n var filters = this.filters(), cachedCanvas = this._getCanvasCache(), sceneCanvas = cachedCanvas.scene, filterCanvas = cachedCanvas.filter, filterContext = filterCanvas.getContext(), len, imageData, n, filter;\n if (filters) {\n if (!this._filterUpToDate) {\n var ratio = sceneCanvas.pixelRatio;\n filterCanvas.setSize(sceneCanvas.width / sceneCanvas.pixelRatio, sceneCanvas.height / sceneCanvas.pixelRatio);\n try {\n len = filters.length;\n filterContext.clear();\n filterContext.drawImage(sceneCanvas._canvas, 0, 0, sceneCanvas.getWidth() / ratio, sceneCanvas.getHeight() / ratio);\n imageData = filterContext.getImageData(0, 0, filterCanvas.getWidth(), filterCanvas.getHeight());\n for (n = 0; n < len; n++) {\n filter = filters[n];\n if (typeof filter !== 'function') {\n Util_1.Util.error('Filter should be type of function, but got ' +\n typeof filter +\n ' instead. Please check correct filters');\n continue;\n }\n filter.call(this, imageData);\n filterContext.putImageData(imageData, 0, 0);\n }\n }\n catch (e) {\n Util_1.Util.error('Unable to apply filter. ' +\n e.message +\n ' This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n }\n this._filterUpToDate = true;\n }\n return filterCanvas;\n }\n return sceneCanvas;\n }\n on(evtStr, handler) {\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (arguments.length === 3) {\n return this._delegate.apply(this, arguments);\n }\n var events = evtStr.split(SPACE), len = events.length, n, event, parts, baseEvent, name;\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1] || '';\n if (!this.eventListeners[baseEvent]) {\n this.eventListeners[baseEvent] = [];\n }\n this.eventListeners[baseEvent].push({\n name: name,\n handler: handler,\n });\n }\n return this;\n }\n off(evtStr, callback) {\n var events = (evtStr || '').split(SPACE), len = events.length, n, t, event, parts, baseEvent, name;\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (!evtStr) {\n for (t in this.eventListeners) {\n this._off(t);\n }\n }\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1];\n if (baseEvent) {\n if (this.eventListeners[baseEvent]) {\n this._off(baseEvent, name, callback);\n }\n }\n else {\n for (t in this.eventListeners) {\n this._off(t, name, callback);\n }\n }\n }\n return this;\n }\n dispatchEvent(evt) {\n var e = {\n target: this,\n type: evt.type,\n evt: evt,\n };\n this.fire(evt.type, e);\n return this;\n }\n addEventListener(type, handler) {\n this.on(type, function (evt) {\n handler.call(this, evt.evt);\n });\n return this;\n }\n removeEventListener(type) {\n this.off(type);\n return this;\n }\n _delegate(event, selector, handler) {\n var stopNode = this;\n this.on(event, function (evt) {\n var targets = evt.target.findAncestors(selector, true, stopNode);\n for (var i = 0; i < targets.length; i++) {\n evt = Util_1.Util.cloneObject(evt);\n evt.currentTarget = targets[i];\n handler.call(targets[i], evt);\n }\n });\n }\n remove() {\n if (this.isDragging()) {\n this.stopDrag();\n }\n DragAndDrop_1.DD._dragElements.delete(this._id);\n this._remove();\n return this;\n }\n _clearCaches() {\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this._clearSelfAndDescendantCache(STAGE);\n this._clearSelfAndDescendantCache(VISIBLE);\n this._clearSelfAndDescendantCache(LISTENING);\n }\n _remove() {\n this._clearCaches();\n var parent = this.getParent();\n if (parent && parent.children) {\n parent.children.splice(this.index, 1);\n parent._setChildrenIndices();\n this.parent = null;\n }\n }\n destroy() {\n this.remove();\n this.clearCache();\n return this;\n }\n getAttr(attr) {\n var method = 'get' + Util_1.Util._capitalize(attr);\n if (Util_1.Util._isFunction(this[method])) {\n return this[method]();\n }\n return this.attrs[attr];\n }\n getAncestors() {\n var parent = this.getParent(), ancestors = [];\n while (parent) {\n ancestors.push(parent);\n parent = parent.getParent();\n }\n return ancestors;\n }\n getAttrs() {\n return (this.attrs || {});\n }\n setAttrs(config) {\n this._batchTransformChanges(() => {\n var key, method;\n if (!config) {\n return this;\n }\n for (key in config) {\n if (key === CHILDREN) {\n continue;\n }\n method = SET + Util_1.Util._capitalize(key);\n if (Util_1.Util._isFunction(this[method])) {\n this[method](config[key]);\n }\n else {\n this._setAttr(key, config[key]);\n }\n }\n });\n return this;\n }\n isListening() {\n return this._getCache(LISTENING, this._isListening);\n }\n _isListening(relativeTo) {\n const listening = this.listening();\n if (!listening) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isListening(relativeTo);\n }\n else {\n return true;\n }\n }\n isVisible() {\n return this._getCache(VISIBLE, this._isVisible);\n }\n _isVisible(relativeTo) {\n const visible = this.visible();\n if (!visible) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isVisible(relativeTo);\n }\n else {\n return true;\n }\n }\n shouldDrawHit(top, skipDragCheck = false) {\n if (top) {\n return this._isVisible(top) && this._isListening(top);\n }\n var layer = this.getLayer();\n var layerUnderDrag = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus !== 'dragging') {\n return;\n }\n else if (elem.node.nodeType === 'Stage') {\n layerUnderDrag = true;\n }\n else if (elem.node.getLayer() === layer) {\n layerUnderDrag = true;\n }\n });\n var dragSkip = !skipDragCheck &&\n !Global_1.Konva.hitOnDragEnabled &&\n (layerUnderDrag || Global_1.Konva.isTransforming());\n return this.isListening() && this.isVisible() && !dragSkip;\n }\n show() {\n this.visible(true);\n return this;\n }\n hide() {\n this.visible(false);\n return this;\n }\n getZIndex() {\n return this.index || 0;\n }\n getAbsoluteZIndex() {\n var depth = this.getDepth(), that = this, index = 0, nodes, len, n, child;\n function addChildren(children) {\n nodes = [];\n len = children.length;\n for (n = 0; n < len; n++) {\n child = children[n];\n index++;\n if (child.nodeType !== SHAPE) {\n nodes = nodes.concat(child.getChildren().slice());\n }\n if (child._id === that._id) {\n n = len;\n }\n }\n if (nodes.length > 0 && nodes[0].getDepth() <= depth) {\n addChildren(nodes);\n }\n }\n const stage = this.getStage();\n if (that.nodeType !== UPPER_STAGE && stage) {\n addChildren(stage.getChildren());\n }\n return index;\n }\n getDepth() {\n var depth = 0, parent = this.parent;\n while (parent) {\n depth++;\n parent = parent.parent;\n }\n return depth;\n }\n _batchTransformChanges(func) {\n this._batchingTransformChange = true;\n func();\n this._batchingTransformChange = false;\n if (this._needClearTransformCache) {\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n }\n this._needClearTransformCache = false;\n }\n setPosition(pos) {\n this._batchTransformChanges(() => {\n this.x(pos.x);\n this.y(pos.y);\n });\n return this;\n }\n getPosition() {\n return {\n x: this.x(),\n y: this.y(),\n };\n }\n getRelativePointerPosition() {\n const stage = this.getStage();\n if (!stage) {\n return null;\n }\n var pos = stage.getPointerPosition();\n if (!pos) {\n return null;\n }\n var transform = this.getAbsoluteTransform().copy();\n transform.invert();\n return transform.point(pos);\n }\n getAbsolutePosition(top) {\n let haveCachedParent = false;\n let parent = this.parent;\n while (parent) {\n if (parent.isCached()) {\n haveCachedParent = true;\n break;\n }\n parent = parent.parent;\n }\n if (haveCachedParent && !top) {\n top = true;\n }\n var absoluteMatrix = this.getAbsoluteTransform(top).getMatrix(), absoluteTransform = new Util_1.Transform(), offset = this.offset();\n absoluteTransform.m = absoluteMatrix.slice();\n absoluteTransform.translate(offset.x, offset.y);\n return absoluteTransform.getTranslation();\n }\n setAbsolutePosition(pos) {\n const { x, y, ...origTrans } = this._clearTransform();\n this.attrs.x = x;\n this.attrs.y = y;\n this._clearCache(TRANSFORM);\n var it = this._getAbsoluteTransform().copy();\n it.invert();\n it.translate(pos.x, pos.y);\n pos = {\n x: this.attrs.x + it.getTranslation().x,\n y: this.attrs.y + it.getTranslation().y,\n };\n this._setTransform(origTrans);\n this.setPosition({ x: pos.x, y: pos.y });\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n return this;\n }\n _setTransform(trans) {\n var key;\n for (key in trans) {\n this.attrs[key] = trans[key];\n }\n }\n _clearTransform() {\n var trans = {\n x: this.x(),\n y: this.y(),\n rotation: this.rotation(),\n scaleX: this.scaleX(),\n scaleY: this.scaleY(),\n offsetX: this.offsetX(),\n offsetY: this.offsetY(),\n skewX: this.skewX(),\n skewY: this.skewY(),\n };\n this.attrs.x = 0;\n this.attrs.y = 0;\n this.attrs.rotation = 0;\n this.attrs.scaleX = 1;\n this.attrs.scaleY = 1;\n this.attrs.offsetX = 0;\n this.attrs.offsetY = 0;\n this.attrs.skewX = 0;\n this.attrs.skewY = 0;\n return trans;\n }\n move(change) {\n var changeX = change.x, changeY = change.y, x = this.x(), y = this.y();\n if (changeX !== undefined) {\n x += changeX;\n }\n if (changeY !== undefined) {\n y += changeY;\n }\n this.setPosition({ x: x, y: y });\n return this;\n }\n _eachAncestorReverse(func, top) {\n var family = [], parent = this.getParent(), len, n;\n if (top && top._id === this._id) {\n return;\n }\n family.unshift(this);\n while (parent && (!top || parent._id !== top._id)) {\n family.unshift(parent);\n parent = parent.parent;\n }\n len = family.length;\n for (n = 0; n < len; n++) {\n func(family[n]);\n }\n }\n rotate(theta) {\n this.rotation(this.rotation() + theta);\n return this;\n }\n moveToTop() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToTop function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.push(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveUp() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveUp function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index + 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveDown() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveDown function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index - 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToBottom function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.unshift(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n setZIndex(zIndex) {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. zIndex parameter is ignored.');\n return this;\n }\n if (zIndex < 0 || zIndex >= this.parent.children.length) {\n Util_1.Util.warn('Unexpected value ' +\n zIndex +\n ' for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to ' +\n (this.parent.children.length - 1) +\n '.');\n }\n var index = this.index;\n this.parent.children.splice(index, 1);\n this.parent.children.splice(zIndex, 0, this);\n this.parent._setChildrenIndices();\n return this;\n }\n getAbsoluteOpacity() {\n return this._getCache(ABSOLUTE_OPACITY, this._getAbsoluteOpacity);\n }\n _getAbsoluteOpacity() {\n var absOpacity = this.opacity();\n var parent = this.getParent();\n if (parent && !parent._isUnderCache) {\n absOpacity *= parent.getAbsoluteOpacity();\n }\n return absOpacity;\n }\n moveTo(newContainer) {\n if (this.getParent() !== newContainer) {\n this._remove();\n newContainer.add(this);\n }\n return this;\n }\n toObject() {\n var attrs = this.getAttrs(), key, val, getter, defaultValue, nonPlainObject;\n const obj = {\n attrs: {},\n className: this.getClassName(),\n };\n for (key in attrs) {\n val = attrs[key];\n nonPlainObject =\n Util_1.Util.isObject(val) && !Util_1.Util._isPlainObject(val) && !Util_1.Util._isArray(val);\n if (nonPlainObject) {\n continue;\n }\n getter = typeof this[key] === 'function' && this[key];\n delete attrs[key];\n defaultValue = getter ? getter.call(this) : null;\n attrs[key] = val;\n if (defaultValue !== val) {\n obj.attrs[key] = val;\n }\n }\n return Util_1.Util._prepareToStringify(obj);\n }\n toJSON() {\n return JSON.stringify(this.toObject());\n }\n getParent() {\n return this.parent;\n }\n findAncestors(selector, includeSelf, stopNode) {\n var res = [];\n if (includeSelf && this._isMatch(selector)) {\n res.push(this);\n }\n var ancestor = this.parent;\n while (ancestor) {\n if (ancestor === stopNode) {\n return res;\n }\n if (ancestor._isMatch(selector)) {\n res.push(ancestor);\n }\n ancestor = ancestor.parent;\n }\n return res;\n }\n isAncestorOf(node) {\n return false;\n }\n findAncestor(selector, includeSelf, stopNode) {\n return this.findAncestors(selector, includeSelf, stopNode)[0];\n }\n _isMatch(selector) {\n if (!selector) {\n return false;\n }\n if (typeof selector === 'function') {\n return selector(this);\n }\n var selectorArr = selector.replace(/ /g, '').split(','), len = selectorArr.length, n, sel;\n for (n = 0; n < len; n++) {\n sel = selectorArr[n];\n if (!Util_1.Util.isValidSelector(sel)) {\n Util_1.Util.warn('Selector \"' +\n sel +\n '\" is invalid. Allowed selectors examples are \"#foo\", \".bar\" or \"Group\".');\n Util_1.Util.warn('If you have a custom shape with such className, please change it to start with upper letter like \"Triangle\".');\n Util_1.Util.warn('Konva is awesome, right?');\n }\n if (sel.charAt(0) === '#') {\n if (this.id() === sel.slice(1)) {\n return true;\n }\n }\n else if (sel.charAt(0) === '.') {\n if (this.hasName(sel.slice(1))) {\n return true;\n }\n }\n else if (this.className === sel || this.nodeType === sel) {\n return true;\n }\n }\n return false;\n }\n getLayer() {\n var parent = this.getParent();\n return parent ? parent.getLayer() : null;\n }\n getStage() {\n return this._getCache(STAGE, this._getStage);\n }\n _getStage() {\n var parent = this.getParent();\n if (parent) {\n return parent.getStage();\n }\n else {\n return null;\n }\n }\n fire(eventType, evt = {}, bubble) {\n evt.target = evt.target || this;\n if (bubble) {\n this._fireAndBubble(eventType, evt);\n }\n else {\n this._fire(eventType, evt);\n }\n return this;\n }\n getAbsoluteTransform(top) {\n if (top) {\n return this._getAbsoluteTransform(top);\n }\n else {\n return this._getCache(ABSOLUTE_TRANSFORM, this._getAbsoluteTransform);\n }\n }\n _getAbsoluteTransform(top) {\n var at;\n if (top) {\n at = new Util_1.Transform();\n this._eachAncestorReverse(function (node) {\n var transformsEnabled = node.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(node.getTransform());\n }\n else if (transformsEnabled === 'position') {\n at.translate(node.x() - node.offsetX(), node.y() - node.offsetY());\n }\n }, top);\n return at;\n }\n else {\n at = this._cache.get(ABSOLUTE_TRANSFORM) || new Util_1.Transform();\n if (this.parent) {\n this.parent.getAbsoluteTransform().copyInto(at);\n }\n else {\n at.reset();\n }\n var transformsEnabled = this.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(this.getTransform());\n }\n else if (transformsEnabled === 'position') {\n const x = this.attrs.x || 0;\n const y = this.attrs.y || 0;\n const offsetX = this.attrs.offsetX || 0;\n const offsetY = this.attrs.offsetY || 0;\n at.translate(x - offsetX, y - offsetY);\n }\n at.dirty = false;\n return at;\n }\n }\n getAbsoluteScale(top) {\n var parent = this;\n while (parent) {\n if (parent._isUnderCache) {\n top = parent;\n }\n parent = parent.getParent();\n }\n const transform = this.getAbsoluteTransform(top);\n const attrs = transform.decompose();\n return {\n x: attrs.scaleX,\n y: attrs.scaleY,\n };\n }\n getAbsoluteRotation() {\n return this.getAbsoluteTransform().decompose().rotation;\n }\n getTransform() {\n return this._getCache(TRANSFORM, this._getTransform);\n }\n _getTransform() {\n var _a, _b;\n var m = this._cache.get(TRANSFORM) || new Util_1.Transform();\n m.reset();\n var x = this.x(), y = this.y(), rotation = Global_1.Konva.getAngle(this.rotation()), scaleX = (_a = this.attrs.scaleX) !== null && _a !== void 0 ? _a : 1, scaleY = (_b = this.attrs.scaleY) !== null && _b !== void 0 ? _b : 1, skewX = this.attrs.skewX || 0, skewY = this.attrs.skewY || 0, offsetX = this.attrs.offsetX || 0, offsetY = this.attrs.offsetY || 0;\n if (x !== 0 || y !== 0) {\n m.translate(x, y);\n }\n if (rotation !== 0) {\n m.rotate(rotation);\n }\n if (skewX !== 0 || skewY !== 0) {\n m.skew(skewX, skewY);\n }\n if (scaleX !== 1 || scaleY !== 1) {\n m.scale(scaleX, scaleY);\n }\n if (offsetX !== 0 || offsetY !== 0) {\n m.translate(-1 * offsetX, -1 * offsetY);\n }\n m.dirty = false;\n return m;\n }\n clone(obj) {\n var attrs = Util_1.Util.cloneObject(this.attrs), key, allListeners, len, n, listener;\n for (key in obj) {\n attrs[key] = obj[key];\n }\n var node = new this.constructor(attrs);\n for (key in this.eventListeners) {\n allListeners = this.eventListeners[key];\n len = allListeners.length;\n for (n = 0; n < len; n++) {\n listener = allListeners[n];\n if (listener.name.indexOf(KONVA) < 0) {\n if (!node.eventListeners[key]) {\n node.eventListeners[key] = [];\n }\n node.eventListeners[key].push(listener);\n }\n }\n }\n return node;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n var box = this.getClientRect();\n var stage = this.getStage(), x = config.x !== undefined ? config.x : Math.floor(box.x), y = config.y !== undefined ? config.y : Math.floor(box.y), pixelRatio = config.pixelRatio || 1, canvas = new Canvas_1.SceneCanvas({\n width: config.width || Math.ceil(box.width) || (stage ? stage.width() : 0),\n height: config.height ||\n Math.ceil(box.height) ||\n (stage ? stage.height() : 0),\n pixelRatio: pixelRatio,\n }), context = canvas.getContext();\n const bufferCanvas = new Canvas_1.SceneCanvas({\n width: canvas.width / canvas.pixelRatio + Math.abs(x),\n height: canvas.height / canvas.pixelRatio + Math.abs(y),\n pixelRatio: canvas.pixelRatio,\n });\n if (config.imageSmoothingEnabled === false) {\n context._context.imageSmoothingEnabled = false;\n }\n context.save();\n if (x || y) {\n context.translate(-1 * x, -1 * y);\n }\n this.drawScene(canvas, undefined, bufferCanvas);\n context.restore();\n return canvas;\n }\n toCanvas(config) {\n return this._toKonvaCanvas(config)._canvas;\n }\n toDataURL(config) {\n config = config || {};\n var mimeType = config.mimeType || null, quality = config.quality || null;\n var url = this._toKonvaCanvas(config).toDataURL(mimeType, quality);\n if (config.callback) {\n config.callback(url);\n }\n return url;\n }\n toImage(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n Util_1.Util._urlToImage(this.toDataURL(config), function (img) {\n resolve(img);\n callback === null || callback === void 0 ? void 0 : callback(img);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n toBlob(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n this.toCanvas(config).toBlob((blob) => {\n resolve(blob);\n callback === null || callback === void 0 ? void 0 : callback(blob);\n }, config === null || config === void 0 ? void 0 : config.mimeType, config === null || config === void 0 ? void 0 : config.quality);\n }\n catch (err) {\n reject(err);\n }\n });\n }\n setSize(size) {\n this.width(size.width);\n this.height(size.height);\n return this;\n }\n getSize() {\n return {\n width: this.width(),\n height: this.height(),\n };\n }\n getClassName() {\n return this.className || this.nodeType;\n }\n getType() {\n return this.nodeType;\n }\n getDragDistance() {\n if (this.attrs.dragDistance !== undefined) {\n return this.attrs.dragDistance;\n }\n else if (this.parent) {\n return this.parent.getDragDistance();\n }\n else {\n return Global_1.Konva.dragDistance;\n }\n }\n _off(type, name, callback) {\n var evtListeners = this.eventListeners[type], i, evtName, handler;\n for (i = 0; i < evtListeners.length; i++) {\n evtName = evtListeners[i].name;\n handler = evtListeners[i].handler;\n if ((evtName !== 'konva' || name === 'konva') &&\n (!name || evtName === name) &&\n (!callback || callback === handler)) {\n evtListeners.splice(i, 1);\n if (evtListeners.length === 0) {\n delete this.eventListeners[type];\n break;\n }\n i--;\n }\n }\n }\n _fireChangeEvent(attr, oldVal, newVal) {\n this._fire(attr + CHANGE, {\n oldVal: oldVal,\n newVal: newVal,\n });\n }\n addName(name) {\n if (!this.hasName(name)) {\n var oldName = this.name();\n var newName = oldName ? oldName + ' ' + name : name;\n this.name(newName);\n }\n return this;\n }\n hasName(name) {\n if (!name) {\n return false;\n }\n const fullName = this.name();\n if (!fullName) {\n return false;\n }\n var names = (fullName || '').split(/\\s/g);\n return names.indexOf(name) !== -1;\n }\n removeName(name) {\n var names = (this.name() || '').split(/\\s/g);\n var index = names.indexOf(name);\n if (index !== -1) {\n names.splice(index, 1);\n this.name(names.join(' '));\n }\n return this;\n }\n setAttr(attr, val) {\n var func = this[SET + Util_1.Util._capitalize(attr)];\n if (Util_1.Util._isFunction(func)) {\n func.call(this, val);\n }\n else {\n this._setAttr(attr, val);\n }\n return this;\n }\n _requestDraw() {\n if (Global_1.Konva.autoDrawEnabled) {\n const drawNode = this.getLayer() || this.getStage();\n drawNode === null || drawNode === void 0 ? void 0 : drawNode.batchDraw();\n }\n }\n _setAttr(key, val) {\n var oldVal = this.attrs[key];\n if (oldVal === val && !Util_1.Util.isObject(val)) {\n return;\n }\n if (val === undefined || val === null) {\n delete this.attrs[key];\n }\n else {\n this.attrs[key] = val;\n }\n if (this._shouldFireChangeEvents) {\n this._fireChangeEvent(key, oldVal, val);\n }\n this._requestDraw();\n }\n _setComponentAttr(key, component, val) {\n var oldVal;\n if (val !== undefined) {\n oldVal = this.attrs[key];\n if (!oldVal) {\n this.attrs[key] = this.getAttr(key);\n }\n this.attrs[key][component] = val;\n this._fireChangeEvent(key, oldVal, val);\n }\n }\n _fireAndBubble(eventType, evt, compareShape) {\n if (evt && this.nodeType === SHAPE) {\n evt.target = this;\n }\n var shouldStop = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n ((compareShape &&\n (this === compareShape ||\n (this.isAncestorOf && this.isAncestorOf(compareShape)))) ||\n (this.nodeType === 'Stage' && !compareShape));\n if (!shouldStop) {\n this._fire(eventType, evt);\n var stopBubble = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n compareShape &&\n compareShape.isAncestorOf &&\n compareShape.isAncestorOf(this) &&\n !compareShape.isAncestorOf(this.parent);\n if (((evt && !evt.cancelBubble) || !evt) &&\n this.parent &&\n this.parent.isListening() &&\n !stopBubble) {\n if (compareShape && compareShape.parent) {\n this._fireAndBubble.call(this.parent, eventType, evt, compareShape);\n }\n else {\n this._fireAndBubble.call(this.parent, eventType, evt);\n }\n }\n }\n }\n _getProtoListeners(eventType) {\n var _a, _b, _c;\n const allListeners = (_a = this._cache.get(ALL_LISTENERS)) !== null && _a !== void 0 ? _a : {};\n let events = allListeners === null || allListeners === void 0 ? void 0 : allListeners[eventType];\n if (events === undefined) {\n events = [];\n let obj = Object.getPrototypeOf(this);\n while (obj) {\n const hierarchyEvents = (_c = (_b = obj.eventListeners) === null || _b === void 0 ? void 0 : _b[eventType]) !== null && _c !== void 0 ? _c : [];\n events.push(...hierarchyEvents);\n obj = Object.getPrototypeOf(obj);\n }\n allListeners[eventType] = events;\n this._cache.set(ALL_LISTENERS, allListeners);\n }\n return events;\n }\n _fire(eventType, evt) {\n evt = evt || {};\n evt.currentTarget = this;\n evt.type = eventType;\n const topListeners = this._getProtoListeners(eventType);\n if (topListeners) {\n for (var i = 0; i < topListeners.length; i++) {\n topListeners[i].handler.call(this, evt);\n }\n }\n const selfListeners = this.eventListeners[eventType];\n if (selfListeners) {\n for (var i = 0; i < selfListeners.length; i++) {\n selfListeners[i].handler.call(this, evt);\n }\n }\n }\n draw() {\n this.drawScene();\n this.drawHit();\n return this;\n }\n _createDragElement(evt) {\n var pointerId = evt ? evt.pointerId : undefined;\n var stage = this.getStage();\n var ap = this.getAbsolutePosition();\n if (!stage) {\n return;\n }\n var pos = stage._getPointerById(pointerId) ||\n stage._changedPointerPositions[0] ||\n ap;\n DragAndDrop_1.DD._dragElements.set(this._id, {\n node: this,\n startPointerPos: pos,\n offset: {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n },\n dragStatus: 'ready',\n pointerId,\n });\n }\n startDrag(evt, bubbleEvent = true) {\n if (!DragAndDrop_1.DD._dragElements.has(this._id)) {\n this._createDragElement(evt);\n }\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n elem.dragStatus = 'dragging';\n this.fire('dragstart', {\n type: 'dragstart',\n target: this,\n evt: evt && evt.evt,\n }, bubbleEvent);\n }\n _setDragPosition(evt, elem) {\n const pos = this.getStage()._getPointerById(elem.pointerId);\n if (!pos) {\n return;\n }\n var newNodePos = {\n x: pos.x - elem.offset.x,\n y: pos.y - elem.offset.y,\n };\n var dbf = this.dragBoundFunc();\n if (dbf !== undefined) {\n const bounded = dbf.call(this, newNodePos, evt);\n if (!bounded) {\n Util_1.Util.warn('dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.');\n }\n else {\n newNodePos = bounded;\n }\n }\n if (!this._lastPos ||\n this._lastPos.x !== newNodePos.x ||\n this._lastPos.y !== newNodePos.y) {\n this.setAbsolutePosition(newNodePos);\n this._requestDraw();\n }\n this._lastPos = newNodePos;\n }\n stopDrag(evt) {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n if (elem) {\n elem.dragStatus = 'stopped';\n }\n DragAndDrop_1.DD._endDragBefore(evt);\n DragAndDrop_1.DD._endDragAfter(evt);\n }\n setDraggable(draggable) {\n this._setAttr('draggable', draggable);\n this._dragChange();\n }\n isDragging() {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n return elem ? elem.dragStatus === 'dragging' : false;\n }\n _listenDrag() {\n this._dragCleanup();\n this.on('mousedown.konva touchstart.konva', function (evt) {\n var shouldCheckButton = evt.evt['button'] !== undefined;\n var canDrag = !shouldCheckButton || Global_1.Konva.dragButtons.indexOf(evt.evt['button']) >= 0;\n if (!canDrag) {\n return;\n }\n if (this.isDragging()) {\n return;\n }\n var hasDraggingChild = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (this.isAncestorOf(elem.node)) {\n hasDraggingChild = true;\n }\n });\n if (!hasDraggingChild) {\n this._createDragElement(evt);\n }\n });\n }\n _dragChange() {\n if (this.attrs.draggable) {\n this._listenDrag();\n }\n else {\n this._dragCleanup();\n var stage = this.getStage();\n if (!stage) {\n return;\n }\n const dragElement = DragAndDrop_1.DD._dragElements.get(this._id);\n const isDragging = dragElement && dragElement.dragStatus === 'dragging';\n const isReady = dragElement && dragElement.dragStatus === 'ready';\n if (isDragging) {\n this.stopDrag();\n }\n else if (isReady) {\n DragAndDrop_1.DD._dragElements.delete(this._id);\n }\n }\n }\n _dragCleanup() {\n this.off('mousedown.konva');\n this.off('touchstart.konva');\n }\n isClientRectOnScreen(margin = { x: 0, y: 0 }) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const screenRect = {\n x: -margin.x,\n y: -margin.y,\n width: stage.width() + 2 * margin.x,\n height: stage.height() + 2 * margin.y,\n };\n return Util_1.Util.haveIntersection(screenRect, this.getClientRect());\n }\n static create(data, container) {\n if (Util_1.Util._isString(data)) {\n data = JSON.parse(data);\n }\n return this._createNode(data, container);\n }\n static _createNode(obj, container) {\n var className = Node.prototype.getClassName.call(obj), children = obj.children, no, len, n;\n if (container) {\n obj.attrs.container = container;\n }\n if (!Global_1.Konva[className]) {\n Util_1.Util.warn('Can not find a node with class name \"' +\n className +\n '\". Fallback to \"Shape\".');\n className = 'Shape';\n }\n const Class = Global_1.Konva[className];\n no = new Class(obj.attrs);\n if (children) {\n len = children.length;\n for (n = 0; n < len; n++) {\n no.add(Node._createNode(children[n]));\n }\n }\n return no;\n }\n}\nexports.Node = Node;\nNode.prototype.nodeType = 'Node';\nNode.prototype._attrsAffectingSize = [];\nNode.prototype.eventListeners = {};\nNode.prototype.on.call(Node.prototype, TRANSFORM_CHANGE_STR, function () {\n if (this._batchingTransformChange) {\n this._needClearTransformCache = true;\n return;\n }\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n});\nNode.prototype.on.call(Node.prototype, 'visibleChange.konva', function () {\n this._clearSelfAndDescendantCache(VISIBLE);\n});\nNode.prototype.on.call(Node.prototype, 'listeningChange.konva', function () {\n this._clearSelfAndDescendantCache(LISTENING);\n});\nNode.prototype.on.call(Node.prototype, 'opacityChange.konva', function () {\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n});\nconst addGetterSetter = Factory_1.Factory.addGetterSetter;\naddGetterSetter(Node, 'zIndex');\naddGetterSetter(Node, 'absolutePosition');\naddGetterSetter(Node, 'position');\naddGetterSetter(Node, 'x', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'y', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'globalCompositeOperation', 'source-over', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'opacity', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'name', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'id', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'rotation', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'scale', ['x', 'y']);\naddGetterSetter(Node, 'scaleX', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'scaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'skew', ['x', 'y']);\naddGetterSetter(Node, 'skewX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'skewY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'offset', ['x', 'y']);\naddGetterSetter(Node, 'offsetX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'offsetY', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'dragDistance', null, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'width', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'height', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'listening', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'preventDefault', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'filters', null, function (val) {\n this._filterUpToDate = false;\n return val;\n});\naddGetterSetter(Node, 'visible', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'transformsEnabled', 'all', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'size');\naddGetterSetter(Node, 'dragBoundFunc');\naddGetterSetter(Node, 'draggable', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.backCompat(Node, {\n rotateDeg: 'rotate',\n setRotationDeg: 'setRotation',\n getRotationDeg: 'getRotation',\n});\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseCapture = exports.setPointerCapture = exports.hasPointerCapture = exports.createEvent = exports.getCapturedShape = void 0;\nconst Global_1 = require(\"./Global\");\nconst Captures = new Map();\nconst SUPPORT_POINTER_EVENTS = Global_1.Konva._global['PointerEvent'] !== undefined;\nfunction getCapturedShape(pointerId) {\n return Captures.get(pointerId);\n}\nexports.getCapturedShape = getCapturedShape;\nfunction createEvent(evt) {\n return {\n evt,\n pointerId: evt.pointerId,\n };\n}\nexports.createEvent = createEvent;\nfunction hasPointerCapture(pointerId, shape) {\n return Captures.get(pointerId) === shape;\n}\nexports.hasPointerCapture = hasPointerCapture;\nfunction setPointerCapture(pointerId, shape) {\n releaseCapture(pointerId);\n const stage = shape.getStage();\n if (!stage)\n return;\n Captures.set(pointerId, shape);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('gotpointercapture', createEvent(new PointerEvent('gotpointercapture')));\n }\n}\nexports.setPointerCapture = setPointerCapture;\nfunction releaseCapture(pointerId, target) {\n const shape = Captures.get(pointerId);\n if (!shape)\n return;\n const stage = shape.getStage();\n if (stage && stage.content) {\n }\n Captures.delete(pointerId);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('lostpointercapture', createEvent(new PointerEvent('lostpointercapture')));\n }\n}\nexports.releaseCapture = releaseCapture;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Shape = exports.shapes = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nvar HAS_SHADOW = 'hasShadow';\nvar SHADOW_RGBA = 'shadowRGBA';\nvar patternImage = 'patternImage';\nvar linearGradient = 'linearGradient';\nvar radialGradient = 'radialGradient';\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext('2d');\n return dummyContext;\n}\nexports.shapes = {};\nfunction _fillFunc(context) {\n const fillRule = this.attrs.fillRule;\n if (fillRule) {\n context.fill(fillRule);\n }\n else {\n context.fill();\n }\n}\nfunction _strokeFunc(context) {\n context.stroke();\n}\nfunction _fillFuncHit(context) {\n const fillRule = this.attrs.fillRule;\n if (fillRule) {\n context.fill(fillRule);\n }\n else {\n context.fill();\n }\n}\nfunction _strokeFuncHit(context) {\n context.stroke();\n}\nfunction _clearHasShadowCache() {\n this._clearCache(HAS_SHADOW);\n}\nfunction _clearGetShadowRGBACache() {\n this._clearCache(SHADOW_RGBA);\n}\nfunction _clearFillPatternCache() {\n this._clearCache(patternImage);\n}\nfunction _clearLinearGradientCache() {\n this._clearCache(linearGradient);\n}\nfunction _clearRadialGradientCache() {\n this._clearCache(radialGradient);\n}\nclass Shape extends Node_1.Node {\n constructor(config) {\n super(config);\n let key;\n while (true) {\n key = Util_1.Util.getRandomColor();\n if (key && !(key in exports.shapes)) {\n break;\n }\n }\n this.colorKey = key;\n exports.shapes[key] = this;\n }\n getContext() {\n Util_1.Util.warn('shape.getContext() method is deprecated. Please do not use it.');\n return this.getLayer().getContext();\n }\n getCanvas() {\n Util_1.Util.warn('shape.getCanvas() method is deprecated. Please do not use it.');\n return this.getLayer().getCanvas();\n }\n getSceneFunc() {\n return this.attrs.sceneFunc || this['_sceneFunc'];\n }\n getHitFunc() {\n return this.attrs.hitFunc || this['_hitFunc'];\n }\n hasShadow() {\n return this._getCache(HAS_SHADOW, this._hasShadow);\n }\n _hasShadow() {\n return (this.shadowEnabled() &&\n this.shadowOpacity() !== 0 &&\n !!(this.shadowColor() ||\n this.shadowBlur() ||\n this.shadowOffsetX() ||\n this.shadowOffsetY()));\n }\n _getFillPattern() {\n return this._getCache(patternImage, this.__getFillPattern);\n }\n __getFillPattern() {\n if (this.fillPatternImage()) {\n var ctx = getDummyContext();\n const pattern = ctx.createPattern(this.fillPatternImage(), this.fillPatternRepeat() || 'repeat');\n if (pattern && pattern.setTransform) {\n const tr = new Util_1.Transform();\n tr.translate(this.fillPatternX(), this.fillPatternY());\n tr.rotate(Global_1.Konva.getAngle(this.fillPatternRotation()));\n tr.scale(this.fillPatternScaleX(), this.fillPatternScaleY());\n tr.translate(-1 * this.fillPatternOffsetX(), -1 * this.fillPatternOffsetY());\n const m = tr.getMatrix();\n const matrix = typeof DOMMatrix === 'undefined'\n ? {\n a: m[0],\n b: m[1],\n c: m[2],\n d: m[3],\n e: m[4],\n f: m[5],\n }\n : new DOMMatrix(m);\n pattern.setTransform(matrix);\n }\n return pattern;\n }\n }\n _getLinearGradient() {\n return this._getCache(linearGradient, this.__getLinearGradient);\n }\n __getLinearGradient() {\n var colorStops = this.fillLinearGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillLinearGradientStartPoint();\n var end = this.fillLinearGradientEndPoint();\n var grd = ctx.createLinearGradient(start.x, start.y, end.x, end.y);\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n _getRadialGradient() {\n return this._getCache(radialGradient, this.__getRadialGradient);\n }\n __getRadialGradient() {\n var colorStops = this.fillRadialGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillRadialGradientStartPoint();\n var end = this.fillRadialGradientEndPoint();\n var grd = ctx.createRadialGradient(start.x, start.y, this.fillRadialGradientStartRadius(), end.x, end.y, this.fillRadialGradientEndRadius());\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n getShadowRGBA() {\n return this._getCache(SHADOW_RGBA, this._getShadowRGBA);\n }\n _getShadowRGBA() {\n if (!this.hasShadow()) {\n return;\n }\n var rgba = Util_1.Util.colorToRGBA(this.shadowColor());\n if (rgba) {\n return ('rgba(' +\n rgba.r +\n ',' +\n rgba.g +\n ',' +\n rgba.b +\n ',' +\n rgba.a * (this.shadowOpacity() || 1) +\n ')');\n }\n }\n hasFill() {\n return this._calculate('hasFill', [\n 'fillEnabled',\n 'fill',\n 'fillPatternImage',\n 'fillLinearGradientColorStops',\n 'fillRadialGradientColorStops',\n ], () => {\n return (this.fillEnabled() &&\n !!(this.fill() ||\n this.fillPatternImage() ||\n this.fillLinearGradientColorStops() ||\n this.fillRadialGradientColorStops()));\n });\n }\n hasStroke() {\n return this._calculate('hasStroke', [\n 'strokeEnabled',\n 'strokeWidth',\n 'stroke',\n 'strokeLinearGradientColorStops',\n ], () => {\n return (this.strokeEnabled() &&\n this.strokeWidth() &&\n !!(this.stroke() || this.strokeLinearGradientColorStops()));\n });\n }\n hasHitStroke() {\n const width = this.hitStrokeWidth();\n if (width === 'auto') {\n return this.hasStroke();\n }\n return this.strokeEnabled() && !!width;\n }\n intersects(point) {\n var stage = this.getStage();\n if (!stage) {\n return false;\n }\n const bufferHitCanvas = stage.bufferHitCanvas;\n bufferHitCanvas.getContext().clear();\n this.drawHit(bufferHitCanvas, undefined, true);\n const p = bufferHitCanvas.context.getImageData(Math.round(point.x), Math.round(point.y), 1, 1).data;\n return p[3] > 0;\n }\n destroy() {\n Node_1.Node.prototype.destroy.call(this);\n delete exports.shapes[this.colorKey];\n delete this.colorKey;\n return this;\n }\n _useBufferCanvas(forceFill) {\n var _a;\n const perfectDrawEnabled = (_a = this.attrs.perfectDrawEnabled) !== null && _a !== void 0 ? _a : true;\n if (!perfectDrawEnabled) {\n return false;\n }\n const hasFill = forceFill || this.hasFill();\n const hasStroke = this.hasStroke();\n const isTransparent = this.getAbsoluteOpacity() !== 1;\n if (hasFill && hasStroke && isTransparent) {\n return true;\n }\n const hasShadow = this.hasShadow();\n const strokeForShadow = this.shadowForStrokeEnabled();\n if (hasFill && hasStroke && hasShadow && strokeForShadow) {\n return true;\n }\n return false;\n }\n setStrokeHitEnabled(val) {\n Util_1.Util.warn('strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead.');\n if (val) {\n this.hitStrokeWidth('auto');\n }\n else {\n this.hitStrokeWidth(0);\n }\n }\n getStrokeHitEnabled() {\n if (this.hitStrokeWidth() === 0) {\n return false;\n }\n else {\n return true;\n }\n }\n getSelfRect() {\n var size = this.size();\n return {\n x: this._centroid ? -size.width / 2 : 0,\n y: this._centroid ? -size.height / 2 : 0,\n width: size.width,\n height: size.height,\n };\n }\n getClientRect(config = {}) {\n let hasCachedParent = false;\n let parent = this.getParent();\n while (parent) {\n if (parent.isCached()) {\n hasCachedParent = true;\n break;\n }\n parent = parent.getParent();\n }\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo || (hasCachedParent && this.getStage()) || undefined;\n const fillRect = this.getSelfRect();\n const applyStroke = !config.skipStroke && this.hasStroke();\n const strokeWidth = (applyStroke && this.strokeWidth()) || 0;\n const fillAndStrokeWidth = fillRect.width + strokeWidth;\n const fillAndStrokeHeight = fillRect.height + strokeWidth;\n const applyShadow = !config.skipShadow && this.hasShadow();\n const shadowOffsetX = applyShadow ? this.shadowOffsetX() : 0;\n const shadowOffsetY = applyShadow ? this.shadowOffsetY() : 0;\n const preWidth = fillAndStrokeWidth + Math.abs(shadowOffsetX);\n const preHeight = fillAndStrokeHeight + Math.abs(shadowOffsetY);\n const blurRadius = (applyShadow && this.shadowBlur()) || 0;\n const width = preWidth + blurRadius * 2;\n const height = preHeight + blurRadius * 2;\n const rect = {\n width: width,\n height: height,\n x: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetX, 0) +\n fillRect.x,\n y: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetY, 0) +\n fillRect.y,\n };\n if (!skipTransform) {\n return this._transformedRect(rect, relativeTo);\n }\n return rect;\n }\n drawScene(can, top, bufferCanvas) {\n var layer = this.getLayer();\n var canvas = can || layer.getCanvas(), context = canvas.getContext(), cachedCanvas = this._getCanvasCache(), drawFunc = this.getSceneFunc(), hasShadow = this.hasShadow(), stage, bufferContext;\n var skipBuffer = canvas.isCache;\n var cachingSelf = top === this;\n if (!this.isVisible() && !cachingSelf) {\n return this;\n }\n if (cachedCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n if (this._useBufferCanvas() && !skipBuffer) {\n stage = this.getStage();\n const bc = bufferCanvas || stage.bufferCanvas;\n bufferContext = bc.getContext();\n bufferContext.clear();\n bufferContext.save();\n bufferContext._applyLineJoin(this);\n var o = this.getAbsoluteTransform(top).getMatrix();\n bufferContext.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n drawFunc.call(this, bufferContext, this);\n bufferContext.restore();\n var ratio = bc.pixelRatio;\n if (hasShadow) {\n context._applyShadow(this);\n }\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n context.drawImage(bc._canvas, 0, 0, bc.width / ratio, bc.height / ratio);\n }\n else {\n context._applyLineJoin(this);\n if (!cachingSelf) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n }\n if (hasShadow) {\n context._applyShadow(this);\n }\n drawFunc.call(this, context, this);\n }\n context.restore();\n return this;\n }\n drawHit(can, top, skipDragCheck = false) {\n if (!this.shouldDrawHit(top, skipDragCheck)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || layer.hitCanvas, context = canvas && canvas.getContext(), drawFunc = this.hitFunc() || this.sceneFunc(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (!this.colorKey) {\n Util_1.Util.warn('Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()');\n }\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n context._applyLineJoin(this);\n const selfCache = this === top;\n if (!selfCache) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n }\n drawFunc.call(this, context, this);\n context.restore();\n return this;\n }\n drawHitFromCache(alphaThreshold = 0) {\n var cachedCanvas = this._getCanvasCache(), sceneCanvas = this._getCachedSceneCanvas(), hitCanvas = cachedCanvas.hit, hitContext = hitCanvas.getContext(), hitWidth = hitCanvas.getWidth(), hitHeight = hitCanvas.getHeight(), hitImageData, hitData, len, rgbColorKey, i, alpha;\n hitContext.clear();\n hitContext.drawImage(sceneCanvas._canvas, 0, 0, hitWidth, hitHeight);\n try {\n hitImageData = hitContext.getImageData(0, 0, hitWidth, hitHeight);\n hitData = hitImageData.data;\n len = hitData.length;\n rgbColorKey = Util_1.Util._hexToRgb(this.colorKey);\n for (i = 0; i < len; i += 4) {\n alpha = hitData[i + 3];\n if (alpha > alphaThreshold) {\n hitData[i] = rgbColorKey.r;\n hitData[i + 1] = rgbColorKey.g;\n hitData[i + 2] = rgbColorKey.b;\n hitData[i + 3] = 255;\n }\n else {\n hitData[i + 3] = 0;\n }\n }\n hitContext.putImageData(hitImageData, 0, 0);\n }\n catch (e) {\n Util_1.Util.error('Unable to draw hit graph from cached scene canvas. ' + e.message);\n }\n return this;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n}\nexports.Shape = Shape;\nShape.prototype._fillFunc = _fillFunc;\nShape.prototype._strokeFunc = _strokeFunc;\nShape.prototype._fillFuncHit = _fillFuncHit;\nShape.prototype._strokeFuncHit = _strokeFuncHit;\nShape.prototype._centroid = false;\nShape.prototype.nodeType = 'Shape';\n(0, Global_2._registerNode)(Shape);\nShape.prototype.eventListeners = {};\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearHasShadowCache);\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearGetShadowRGBACache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva', _clearFillPatternCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva', _clearLinearGradientCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva', _clearRadialGradientCache);\nFactory_1.Factory.addGetterSetter(Shape, 'stroke', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeWidth', 2, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillAfterStrokeEnabled', false);\nFactory_1.Factory.addGetterSetter(Shape, 'hitStrokeWidth', 'auto', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeHitEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'perfectDrawEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowForStrokeEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'lineJoin');\nFactory_1.Factory.addGetterSetter(Shape, 'lineCap');\nFactory_1.Factory.addGetterSetter(Shape, 'sceneFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'hitFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'dash');\nFactory_1.Factory.addGetterSetter(Shape, 'dashOffset', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowColor', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowBlur', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOpacity', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'shadowOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternImage');\nFactory_1.Factory.addGetterSetter(Shape, 'fill', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRepeat', 'repeat');\nFactory_1.Factory.addGetterSetter(Shape, 'fillEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'dashEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeScaleEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPriority', 'color');\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternScale', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleX', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRotation', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRule', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.backCompat(Shape, {\n dashArray: 'dash',\n getDashArray: 'getDash',\n setDashArray: 'getDash',\n drawFunc: 'sceneFunc',\n getDrawFunc: 'getSceneFunc',\n setDrawFunc: 'setSceneFunc',\n drawHitFunc: 'hitFunc',\n getDrawHitFunc: 'getHitFunc',\n setDrawHitFunc: 'setHitFunc',\n});\n"],
5 "mappings": "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",
6 "names": ["component", "pos", "transformsEnabled"]
7}
Note: See TracBrowser for help on using the repository browser.