mermaid
Version:
Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.
1,558 lines (1,557 loc) • 1.01 MB
JavaScript
import {
__name
} from "./chunk-DLQEHMXD.mjs";
// ../../node_modules/.pnpm/cytoscape@3.33.1/node_modules/cytoscape/dist/cytoscape.esm.mjs
function _arrayLikeToArray(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
__name(_arrayLikeToArray, "_arrayLikeToArray");
function _arrayWithHoles(r) {
if (Array.isArray(r)) return r;
}
__name(_arrayWithHoles, "_arrayWithHoles");
function _arrayWithoutHoles(r) {
if (Array.isArray(r)) return _arrayLikeToArray(r);
}
__name(_arrayWithoutHoles, "_arrayWithoutHoles");
function _classCallCheck(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
__name(_classCallCheck, "_classCallCheck");
function _defineProperties(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);
}
}
__name(_defineProperties, "_defineProperties");
function _createClass(e, r, t) {
return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
writable: false
}), e;
}
__name(_createClass, "_createClass");
function _createForOfIteratorHelper(r, e) {
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (!t) {
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) {
t && (r = t);
var n = 0, F = /* @__PURE__ */ __name(function() {
}, "F");
return {
s: F,
n: /* @__PURE__ */ __name(function() {
return n >= r.length ? {
done: true
} : {
done: false,
value: r[n++]
};
}, "n"),
e: /* @__PURE__ */ __name(function(r2) {
throw r2;
}, "e"),
f: F
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var o, a = true, u = false;
return {
s: /* @__PURE__ */ __name(function() {
t = t.call(r);
}, "s"),
n: /* @__PURE__ */ __name(function() {
var r2 = t.next();
return a = r2.done, r2;
}, "n"),
e: /* @__PURE__ */ __name(function(r2) {
u = true, o = r2;
}, "e"),
f: /* @__PURE__ */ __name(function() {
try {
a || null == t.return || t.return();
} finally {
if (u) throw o;
}
}, "f")
};
}
__name(_createForOfIteratorHelper, "_createForOfIteratorHelper");
function _defineProperty$1(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: true,
configurable: true,
writable: true
}) : e[r] = t, e;
}
__name(_defineProperty$1, "_defineProperty$1");
function _iterableToArray(r) {
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
}
__name(_iterableToArray, "_iterableToArray");
function _iterableToArrayLimit(r, l) {
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) {
var e, n, i, u, a = [], f = true, o = false;
try {
if (i = (t = t.call(r)).next, 0 === l) {
if (Object(t) !== t) return;
f = false;
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
} catch (r2) {
o = true, n = r2;
} finally {
try {
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
__name(_iterableToArrayLimit, "_iterableToArrayLimit");
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
__name(_nonIterableRest, "_nonIterableRest");
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
__name(_nonIterableSpread, "_nonIterableSpread");
function _slicedToArray(r, e) {
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
}
__name(_slicedToArray, "_slicedToArray");
function _toConsumableArray(r) {
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
}
__name(_toConsumableArray, "_toConsumableArray");
function _toPrimitive(t, r) {
if ("object" != typeof t || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r);
if ("object" != typeof i) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(t);
}
__name(_toPrimitive, "_toPrimitive");
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == typeof i ? i : i + "";
}
__name(_toPropertyKey, "_toPropertyKey");
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
return typeof o2;
} : function(o2) {
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
}, _typeof(o);
}
__name(_typeof, "_typeof");
function _unsupportedIterableToArray(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
}
}
__name(_unsupportedIterableToArray, "_unsupportedIterableToArray");
var _window = typeof window === "undefined" ? null : window;
var navigator = _window ? _window.navigator : null;
_window ? _window.document : null;
var typeofstr = _typeof("");
var typeofobj = _typeof({});
var typeoffn = _typeof(function() {
});
var typeofhtmlele = typeof HTMLElement === "undefined" ? "undefined" : _typeof(HTMLElement);
var instanceStr = /* @__PURE__ */ __name(function instanceStr2(obj) {
return obj && obj.instanceString && fn$6(obj.instanceString) ? obj.instanceString() : null;
}, "instanceStr");
var string = /* @__PURE__ */ __name(function string2(obj) {
return obj != null && _typeof(obj) == typeofstr;
}, "string");
var fn$6 = /* @__PURE__ */ __name(function fn(obj) {
return obj != null && _typeof(obj) === typeoffn;
}, "fn");
var array = /* @__PURE__ */ __name(function array2(obj) {
return !elementOrCollection(obj) && (Array.isArray ? Array.isArray(obj) : obj != null && obj instanceof Array);
}, "array");
var plainObject = /* @__PURE__ */ __name(function plainObject2(obj) {
return obj != null && _typeof(obj) === typeofobj && !array(obj) && obj.constructor === Object;
}, "plainObject");
var object = /* @__PURE__ */ __name(function object2(obj) {
return obj != null && _typeof(obj) === typeofobj;
}, "object");
var number$1 = /* @__PURE__ */ __name(function number(obj) {
return obj != null && _typeof(obj) === _typeof(1) && !isNaN(obj);
}, "number");
var integer = /* @__PURE__ */ __name(function integer2(obj) {
return number$1(obj) && Math.floor(obj) === obj;
}, "integer");
var htmlElement = /* @__PURE__ */ __name(function htmlElement2(obj) {
if ("undefined" === typeofhtmlele) {
return void 0;
} else {
return null != obj && obj instanceof HTMLElement;
}
}, "htmlElement");
var elementOrCollection = /* @__PURE__ */ __name(function elementOrCollection2(obj) {
return element(obj) || collection(obj);
}, "elementOrCollection");
var element = /* @__PURE__ */ __name(function element2(obj) {
return instanceStr(obj) === "collection" && obj._private.single;
}, "element");
var collection = /* @__PURE__ */ __name(function collection2(obj) {
return instanceStr(obj) === "collection" && !obj._private.single;
}, "collection");
var core = /* @__PURE__ */ __name(function core2(obj) {
return instanceStr(obj) === "core";
}, "core");
var stylesheet = /* @__PURE__ */ __name(function stylesheet2(obj) {
return instanceStr(obj) === "stylesheet";
}, "stylesheet");
var event = /* @__PURE__ */ __name(function event2(obj) {
return instanceStr(obj) === "event";
}, "event");
var emptyString = /* @__PURE__ */ __name(function emptyString2(obj) {
if (obj === void 0 || obj === null) {
return true;
} else if (obj === "" || obj.match(/^\s+$/)) {
return true;
}
return false;
}, "emptyString");
var domElement = /* @__PURE__ */ __name(function domElement2(obj) {
if (typeof HTMLElement === "undefined") {
return false;
} else {
return obj instanceof HTMLElement;
}
}, "domElement");
var boundingBox = /* @__PURE__ */ __name(function boundingBox2(obj) {
return plainObject(obj) && number$1(obj.x1) && number$1(obj.x2) && number$1(obj.y1) && number$1(obj.y2);
}, "boundingBox");
var promise = /* @__PURE__ */ __name(function promise2(obj) {
return object(obj) && fn$6(obj.then);
}, "promise");
var ms = /* @__PURE__ */ __name(function ms2() {
return navigator && navigator.userAgent.match(/msie|trident|edge/i);
}, "ms");
var memoize = /* @__PURE__ */ __name(function memoize2(fn3, keyFn) {
if (!keyFn) {
keyFn = /* @__PURE__ */ __name(function keyFn2() {
if (arguments.length === 1) {
return arguments[0];
} else if (arguments.length === 0) {
return "undefined";
}
var args = [];
for (var i = 0; i < arguments.length; i++) {
args.push(arguments[i]);
}
return args.join("$");
}, "keyFn");
}
var _memoizedFn = /* @__PURE__ */ __name(function memoizedFn() {
var self2 = this;
var args = arguments;
var ret;
var k = keyFn.apply(self2, args);
var cache3 = _memoizedFn.cache;
if (!(ret = cache3[k])) {
ret = cache3[k] = fn3.apply(self2, args);
}
return ret;
}, "memoizedFn");
_memoizedFn.cache = {};
return _memoizedFn;
}, "memoize");
var camel2dash = memoize(function(str) {
return str.replace(/([A-Z])/g, function(v) {
return "-" + v.toLowerCase();
});
});
var dash2camel = memoize(function(str) {
return str.replace(/(-\w)/g, function(v) {
return v[1].toUpperCase();
});
});
var prependCamel = memoize(function(prefix, str) {
return prefix + str[0].toUpperCase() + str.substring(1);
}, function(prefix, str) {
return prefix + "$" + str;
});
var capitalize = /* @__PURE__ */ __name(function capitalize2(str) {
if (emptyString(str)) {
return str;
}
return str.charAt(0).toUpperCase() + str.substring(1);
}, "capitalize");
var endsWith = /* @__PURE__ */ __name(function endsWith2(string3, suffix) {
return string3.slice(-1 * suffix.length) === suffix;
}, "endsWith");
var number2 = "(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))";
var rgba = "rgb[a]?\\((" + number2 + "[%]?)\\s*,\\s*(" + number2 + "[%]?)\\s*,\\s*(" + number2 + "[%]?)(?:\\s*,\\s*(" + number2 + "))?\\)";
var rgbaNoBackRefs = "rgb[a]?\\((?:" + number2 + "[%]?)\\s*,\\s*(?:" + number2 + "[%]?)\\s*,\\s*(?:" + number2 + "[%]?)(?:\\s*,\\s*(?:" + number2 + "))?\\)";
var hsla = "hsl[a]?\\((" + number2 + ")\\s*,\\s*(" + number2 + "[%])\\s*,\\s*(" + number2 + "[%])(?:\\s*,\\s*(" + number2 + "))?\\)";
var hslaNoBackRefs = "hsl[a]?\\((?:" + number2 + ")\\s*,\\s*(?:" + number2 + "[%])\\s*,\\s*(?:" + number2 + "[%])(?:\\s*,\\s*(?:" + number2 + "))?\\)";
var hex3 = "\\#[0-9a-fA-F]{3}";
var hex6 = "\\#[0-9a-fA-F]{6}";
var ascending = /* @__PURE__ */ __name(function ascending2(a, b) {
if (a < b) {
return -1;
} else if (a > b) {
return 1;
} else {
return 0;
}
}, "ascending");
var descending = /* @__PURE__ */ __name(function descending2(a, b) {
return -1 * ascending(a, b);
}, "descending");
var extend = Object.assign != null ? Object.assign.bind(Object) : function(tgt) {
var args = arguments;
for (var i = 1; i < args.length; i++) {
var obj = args[i];
if (obj == null) {
continue;
}
var keys = Object.keys(obj);
for (var j = 0; j < keys.length; j++) {
var k = keys[j];
tgt[k] = obj[k];
}
}
return tgt;
};
var hex2tuple = /* @__PURE__ */ __name(function hex2tuple2(hex) {
if (!(hex.length === 4 || hex.length === 7) || hex[0] !== "#") {
return;
}
var shortHex = hex.length === 4;
var r, g, b;
var base = 16;
if (shortHex) {
r = parseInt(hex[1] + hex[1], base);
g = parseInt(hex[2] + hex[2], base);
b = parseInt(hex[3] + hex[3], base);
} else {
r = parseInt(hex[1] + hex[2], base);
g = parseInt(hex[3] + hex[4], base);
b = parseInt(hex[5] + hex[6], base);
}
return [r, g, b];
}, "hex2tuple");
var hsl2tuple = /* @__PURE__ */ __name(function hsl2tuple2(hsl) {
var ret;
var h, s, l, a, r, g, b;
function hue2rgb(p3, q2, t) {
if (t < 0) t += 1;
if (t > 1) t -= 1;
if (t < 1 / 6) return p3 + (q2 - p3) * 6 * t;
if (t < 1 / 2) return q2;
if (t < 2 / 3) return p3 + (q2 - p3) * (2 / 3 - t) * 6;
return p3;
}
__name(hue2rgb, "hue2rgb");
var m = new RegExp("^" + hsla + "$").exec(hsl);
if (m) {
h = parseInt(m[1]);
if (h < 0) {
h = (360 - -1 * h % 360) % 360;
} else if (h > 360) {
h = h % 360;
}
h /= 360;
s = parseFloat(m[2]);
if (s < 0 || s > 100) {
return;
}
s = s / 100;
l = parseFloat(m[3]);
if (l < 0 || l > 100) {
return;
}
l = l / 100;
a = m[4];
if (a !== void 0) {
a = parseFloat(a);
if (a < 0 || a > 1) {
return;
}
}
if (s === 0) {
r = g = b = Math.round(l * 255);
} else {
var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
var p2 = 2 * l - q;
r = Math.round(255 * hue2rgb(p2, q, h + 1 / 3));
g = Math.round(255 * hue2rgb(p2, q, h));
b = Math.round(255 * hue2rgb(p2, q, h - 1 / 3));
}
ret = [r, g, b, a];
}
return ret;
}, "hsl2tuple");
var rgb2tuple = /* @__PURE__ */ __name(function rgb2tuple2(rgb) {
var ret;
var m = new RegExp("^" + rgba + "$").exec(rgb);
if (m) {
ret = [];
var isPct = [];
for (var i = 1; i <= 3; i++) {
var channel = m[i];
if (channel[channel.length - 1] === "%") {
isPct[i] = true;
}
channel = parseFloat(channel);
if (isPct[i]) {
channel = channel / 100 * 255;
}
if (channel < 0 || channel > 255) {
return;
}
ret.push(Math.floor(channel));
}
var atLeastOneIsPct = isPct[1] || isPct[2] || isPct[3];
var allArePct = isPct[1] && isPct[2] && isPct[3];
if (atLeastOneIsPct && !allArePct) {
return;
}
var alpha = m[4];
if (alpha !== void 0) {
alpha = parseFloat(alpha);
if (alpha < 0 || alpha > 1) {
return;
}
ret.push(alpha);
}
}
return ret;
}, "rgb2tuple");
var colorname2tuple = /* @__PURE__ */ __name(function colorname2tuple2(color) {
return colors[color.toLowerCase()];
}, "colorname2tuple");
var color2tuple = /* @__PURE__ */ __name(function color2tuple2(color) {
return (array(color) ? color : null) || colorname2tuple(color) || hex2tuple(color) || rgb2tuple(color) || hsl2tuple(color);
}, "color2tuple");
var colors = {
// special colour names
transparent: [0, 0, 0, 0],
// NB alpha === 0
// regular colours
aliceblue: [240, 248, 255],
antiquewhite: [250, 235, 215],
aqua: [0, 255, 255],
aquamarine: [127, 255, 212],
azure: [240, 255, 255],
beige: [245, 245, 220],
bisque: [255, 228, 196],
black: [0, 0, 0],
blanchedalmond: [255, 235, 205],
blue: [0, 0, 255],
blueviolet: [138, 43, 226],
brown: [165, 42, 42],
burlywood: [222, 184, 135],
cadetblue: [95, 158, 160],
chartreuse: [127, 255, 0],
chocolate: [210, 105, 30],
coral: [255, 127, 80],
cornflowerblue: [100, 149, 237],
cornsilk: [255, 248, 220],
crimson: [220, 20, 60],
cyan: [0, 255, 255],
darkblue: [0, 0, 139],
darkcyan: [0, 139, 139],
darkgoldenrod: [184, 134, 11],
darkgray: [169, 169, 169],
darkgreen: [0, 100, 0],
darkgrey: [169, 169, 169],
darkkhaki: [189, 183, 107],
darkmagenta: [139, 0, 139],
darkolivegreen: [85, 107, 47],
darkorange: [255, 140, 0],
darkorchid: [153, 50, 204],
darkred: [139, 0, 0],
darksalmon: [233, 150, 122],
darkseagreen: [143, 188, 143],
darkslateblue: [72, 61, 139],
darkslategray: [47, 79, 79],
darkslategrey: [47, 79, 79],
darkturquoise: [0, 206, 209],
darkviolet: [148, 0, 211],
deeppink: [255, 20, 147],
deepskyblue: [0, 191, 255],
dimgray: [105, 105, 105],
dimgrey: [105, 105, 105],
dodgerblue: [30, 144, 255],
firebrick: [178, 34, 34],
floralwhite: [255, 250, 240],
forestgreen: [34, 139, 34],
fuchsia: [255, 0, 255],
gainsboro: [220, 220, 220],
ghostwhite: [248, 248, 255],
gold: [255, 215, 0],
goldenrod: [218, 165, 32],
gray: [128, 128, 128],
grey: [128, 128, 128],
green: [0, 128, 0],
greenyellow: [173, 255, 47],
honeydew: [240, 255, 240],
hotpink: [255, 105, 180],
indianred: [205, 92, 92],
indigo: [75, 0, 130],
ivory: [255, 255, 240],
khaki: [240, 230, 140],
lavender: [230, 230, 250],
lavenderblush: [255, 240, 245],
lawngreen: [124, 252, 0],
lemonchiffon: [255, 250, 205],
lightblue: [173, 216, 230],
lightcoral: [240, 128, 128],
lightcyan: [224, 255, 255],
lightgoldenrodyellow: [250, 250, 210],
lightgray: [211, 211, 211],
lightgreen: [144, 238, 144],
lightgrey: [211, 211, 211],
lightpink: [255, 182, 193],
lightsalmon: [255, 160, 122],
lightseagreen: [32, 178, 170],
lightskyblue: [135, 206, 250],
lightslategray: [119, 136, 153],
lightslategrey: [119, 136, 153],
lightsteelblue: [176, 196, 222],
lightyellow: [255, 255, 224],
lime: [0, 255, 0],
limegreen: [50, 205, 50],
linen: [250, 240, 230],
magenta: [255, 0, 255],
maroon: [128, 0, 0],
mediumaquamarine: [102, 205, 170],
mediumblue: [0, 0, 205],
mediumorchid: [186, 85, 211],
mediumpurple: [147, 112, 219],
mediumseagreen: [60, 179, 113],
mediumslateblue: [123, 104, 238],
mediumspringgreen: [0, 250, 154],
mediumturquoise: [72, 209, 204],
mediumvioletred: [199, 21, 133],
midnightblue: [25, 25, 112],
mintcream: [245, 255, 250],
mistyrose: [255, 228, 225],
moccasin: [255, 228, 181],
navajowhite: [255, 222, 173],
navy: [0, 0, 128],
oldlace: [253, 245, 230],
olive: [128, 128, 0],
olivedrab: [107, 142, 35],
orange: [255, 165, 0],
orangered: [255, 69, 0],
orchid: [218, 112, 214],
palegoldenrod: [238, 232, 170],
palegreen: [152, 251, 152],
paleturquoise: [175, 238, 238],
palevioletred: [219, 112, 147],
papayawhip: [255, 239, 213],
peachpuff: [255, 218, 185],
peru: [205, 133, 63],
pink: [255, 192, 203],
plum: [221, 160, 221],
powderblue: [176, 224, 230],
purple: [128, 0, 128],
red: [255, 0, 0],
rosybrown: [188, 143, 143],
royalblue: [65, 105, 225],
saddlebrown: [139, 69, 19],
salmon: [250, 128, 114],
sandybrown: [244, 164, 96],
seagreen: [46, 139, 87],
seashell: [255, 245, 238],
sienna: [160, 82, 45],
silver: [192, 192, 192],
skyblue: [135, 206, 235],
slateblue: [106, 90, 205],
slategray: [112, 128, 144],
slategrey: [112, 128, 144],
snow: [255, 250, 250],
springgreen: [0, 255, 127],
steelblue: [70, 130, 180],
tan: [210, 180, 140],
teal: [0, 128, 128],
thistle: [216, 191, 216],
tomato: [255, 99, 71],
turquoise: [64, 224, 208],
violet: [238, 130, 238],
wheat: [245, 222, 179],
white: [255, 255, 255],
whitesmoke: [245, 245, 245],
yellow: [255, 255, 0],
yellowgreen: [154, 205, 50]
};
var setMap = /* @__PURE__ */ __name(function setMap2(options2) {
var obj = options2.map;
var keys = options2.keys;
var l = keys.length;
for (var i = 0; i < l; i++) {
var key = keys[i];
if (plainObject(key)) {
throw Error("Tried to set map with object key");
}
if (i < keys.length - 1) {
if (obj[key] == null) {
obj[key] = {};
}
obj = obj[key];
} else {
obj[key] = options2.value;
}
}
}, "setMap");
var getMap = /* @__PURE__ */ __name(function getMap2(options2) {
var obj = options2.map;
var keys = options2.keys;
var l = keys.length;
for (var i = 0; i < l; i++) {
var key = keys[i];
if (plainObject(key)) {
throw Error("Tried to get map with object key");
}
obj = obj[key];
if (obj == null) {
return obj;
}
}
return obj;
}, "getMap");
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
function getDefaultExportFromCjs(x2) {
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
}
__name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
var isObject_1;
var hasRequiredIsObject;
function requireIsObject() {
if (hasRequiredIsObject) return isObject_1;
hasRequiredIsObject = 1;
function isObject(value) {
var type = typeof value;
return value != null && (type == "object" || type == "function");
}
__name(isObject, "isObject");
isObject_1 = isObject;
return isObject_1;
}
__name(requireIsObject, "requireIsObject");
var _freeGlobal;
var hasRequired_freeGlobal;
function require_freeGlobal() {
if (hasRequired_freeGlobal) return _freeGlobal;
hasRequired_freeGlobal = 1;
var freeGlobal = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
_freeGlobal = freeGlobal;
return _freeGlobal;
}
__name(require_freeGlobal, "require_freeGlobal");
var _root;
var hasRequired_root;
function require_root() {
if (hasRequired_root) return _root;
hasRequired_root = 1;
var freeGlobal = require_freeGlobal();
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var root = freeGlobal || freeSelf || Function("return this")();
_root = root;
return _root;
}
__name(require_root, "require_root");
var now_1;
var hasRequiredNow;
function requireNow() {
if (hasRequiredNow) return now_1;
hasRequiredNow = 1;
var root = require_root();
var now = /* @__PURE__ */ __name(function() {
return root.Date.now();
}, "now");
now_1 = now;
return now_1;
}
__name(requireNow, "requireNow");
var _trimmedEndIndex;
var hasRequired_trimmedEndIndex;
function require_trimmedEndIndex() {
if (hasRequired_trimmedEndIndex) return _trimmedEndIndex;
hasRequired_trimmedEndIndex = 1;
var reWhitespace = /\s/;
function trimmedEndIndex(string3) {
var index = string3.length;
while (index-- && reWhitespace.test(string3.charAt(index))) {
}
return index;
}
__name(trimmedEndIndex, "trimmedEndIndex");
_trimmedEndIndex = trimmedEndIndex;
return _trimmedEndIndex;
}
__name(require_trimmedEndIndex, "require_trimmedEndIndex");
var _baseTrim;
var hasRequired_baseTrim;
function require_baseTrim() {
if (hasRequired_baseTrim) return _baseTrim;
hasRequired_baseTrim = 1;
var trimmedEndIndex = require_trimmedEndIndex();
var reTrimStart = /^\s+/;
function baseTrim(string3) {
return string3 ? string3.slice(0, trimmedEndIndex(string3) + 1).replace(reTrimStart, "") : string3;
}
__name(baseTrim, "baseTrim");
_baseTrim = baseTrim;
return _baseTrim;
}
__name(require_baseTrim, "require_baseTrim");
var _Symbol;
var hasRequired_Symbol;
function require_Symbol() {
if (hasRequired_Symbol) return _Symbol;
hasRequired_Symbol = 1;
var root = require_root();
var Symbol2 = root.Symbol;
_Symbol = Symbol2;
return _Symbol;
}
__name(require_Symbol, "require_Symbol");
var _getRawTag;
var hasRequired_getRawTag;
function require_getRawTag() {
if (hasRequired_getRawTag) return _getRawTag;
hasRequired_getRawTag = 1;
var Symbol2 = require_Symbol();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
var nativeObjectToString = objectProto.toString;
var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
function getRawTag(value) {
var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
try {
value[symToStringTag] = void 0;
var unmasked = true;
} catch (e) {
}
var result = nativeObjectToString.call(value);
if (unmasked) {
if (isOwn) {
value[symToStringTag] = tag;
} else {
delete value[symToStringTag];
}
}
return result;
}
__name(getRawTag, "getRawTag");
_getRawTag = getRawTag;
return _getRawTag;
}
__name(require_getRawTag, "require_getRawTag");
var _objectToString;
var hasRequired_objectToString;
function require_objectToString() {
if (hasRequired_objectToString) return _objectToString;
hasRequired_objectToString = 1;
var objectProto = Object.prototype;
var nativeObjectToString = objectProto.toString;
function objectToString(value) {
return nativeObjectToString.call(value);
}
__name(objectToString, "objectToString");
_objectToString = objectToString;
return _objectToString;
}
__name(require_objectToString, "require_objectToString");
var _baseGetTag;
var hasRequired_baseGetTag;
function require_baseGetTag() {
if (hasRequired_baseGetTag) return _baseGetTag;
hasRequired_baseGetTag = 1;
var Symbol2 = require_Symbol(), getRawTag = require_getRawTag(), objectToString = require_objectToString();
var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
function baseGetTag(value) {
if (value == null) {
return value === void 0 ? undefinedTag : nullTag;
}
return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
}
__name(baseGetTag, "baseGetTag");
_baseGetTag = baseGetTag;
return _baseGetTag;
}
__name(require_baseGetTag, "require_baseGetTag");
var isObjectLike_1;
var hasRequiredIsObjectLike;
function requireIsObjectLike() {
if (hasRequiredIsObjectLike) return isObjectLike_1;
hasRequiredIsObjectLike = 1;
function isObjectLike(value) {
return value != null && typeof value == "object";
}
__name(isObjectLike, "isObjectLike");
isObjectLike_1 = isObjectLike;
return isObjectLike_1;
}
__name(requireIsObjectLike, "requireIsObjectLike");
var isSymbol_1;
var hasRequiredIsSymbol;
function requireIsSymbol() {
if (hasRequiredIsSymbol) return isSymbol_1;
hasRequiredIsSymbol = 1;
var baseGetTag = require_baseGetTag(), isObjectLike = requireIsObjectLike();
var symbolTag = "[object Symbol]";
function isSymbol(value) {
return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
}
__name(isSymbol, "isSymbol");
isSymbol_1 = isSymbol;
return isSymbol_1;
}
__name(requireIsSymbol, "requireIsSymbol");
var toNumber_1;
var hasRequiredToNumber;
function requireToNumber() {
if (hasRequiredToNumber) return toNumber_1;
hasRequiredToNumber = 1;
var baseTrim = require_baseTrim(), isObject = requireIsObject(), isSymbol = requireIsSymbol();
var NAN = 0 / 0;
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary = /^0b[01]+$/i;
var reIsOctal = /^0o[0-7]+$/i;
var freeParseInt = parseInt;
function toNumber(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol(value)) {
return NAN;
}
if (isObject(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = baseTrim(value);
var isBinary = reIsBinary.test(value);
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
__name(toNumber, "toNumber");
toNumber_1 = toNumber;
return toNumber_1;
}
__name(requireToNumber, "requireToNumber");
var debounce_1;
var hasRequiredDebounce;
function requireDebounce() {
if (hasRequiredDebounce) return debounce_1;
hasRequiredDebounce = 1;
var isObject = requireIsObject(), now = requireNow(), toNumber = requireToNumber();
var FUNC_ERROR_TEXT = "Expected a function";
var nativeMax = Math.max, nativeMin = Math.min;
function debounce2(func, wait, options2) {
var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT);
}
wait = toNumber(wait) || 0;
if (isObject(options2)) {
leading = !!options2.leading;
maxing = "maxWait" in options2;
maxWait = maxing ? nativeMax(toNumber(options2.maxWait) || 0, wait) : maxWait;
trailing = "trailing" in options2 ? !!options2.trailing : trailing;
}
function invokeFunc(time2) {
var args = lastArgs, thisArg = lastThis;
lastArgs = lastThis = void 0;
lastInvokeTime = time2;
result = func.apply(thisArg, args);
return result;
}
__name(invokeFunc, "invokeFunc");
function leadingEdge(time2) {
lastInvokeTime = time2;
timerId = setTimeout(timerExpired, wait);
return leading ? invokeFunc(time2) : result;
}
__name(leadingEdge, "leadingEdge");
function remainingWait(time2) {
var timeSinceLastCall = time2 - lastCallTime, timeSinceLastInvoke = time2 - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
}
__name(remainingWait, "remainingWait");
function shouldInvoke(time2) {
var timeSinceLastCall = time2 - lastCallTime, timeSinceLastInvoke = time2 - lastInvokeTime;
return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
}
__name(shouldInvoke, "shouldInvoke");
function timerExpired() {
var time2 = now();
if (shouldInvoke(time2)) {
return trailingEdge(time2);
}
timerId = setTimeout(timerExpired, remainingWait(time2));
}
__name(timerExpired, "timerExpired");
function trailingEdge(time2) {
timerId = void 0;
if (trailing && lastArgs) {
return invokeFunc(time2);
}
lastArgs = lastThis = void 0;
return result;
}
__name(trailingEdge, "trailingEdge");
function cancel() {
if (timerId !== void 0) {
clearTimeout(timerId);
}
lastInvokeTime = 0;
lastArgs = lastCallTime = lastThis = timerId = void 0;
}
__name(cancel, "cancel");
function flush() {
return timerId === void 0 ? result : trailingEdge(now());
}
__name(flush, "flush");
function debounced() {
var time2 = now(), isInvoking = shouldInvoke(time2);
lastArgs = arguments;
lastThis = this;
lastCallTime = time2;
if (isInvoking) {
if (timerId === void 0) {
return leadingEdge(lastCallTime);
}
if (maxing) {
clearTimeout(timerId);
timerId = setTimeout(timerExpired, wait);
return invokeFunc(lastCallTime);
}
}
if (timerId === void 0) {
timerId = setTimeout(timerExpired, wait);
}
return result;
}
__name(debounced, "debounced");
debounced.cancel = cancel;
debounced.flush = flush;
return debounced;
}
__name(debounce2, "debounce");
debounce_1 = debounce2;
return debounce_1;
}
__name(requireDebounce, "requireDebounce");
var debounceExports = requireDebounce();
var debounce = /* @__PURE__ */ getDefaultExportFromCjs(debounceExports);
var performance$1 = _window ? _window.performance : null;
var pnow = performance$1 && performance$1.now ? function() {
return performance$1.now();
} : function() {
return Date.now();
};
var raf = (function() {
if (_window) {
if (_window.requestAnimationFrame) {
return function(fn3) {
_window.requestAnimationFrame(fn3);
};
} else if (_window.mozRequestAnimationFrame) {
return function(fn3) {
_window.mozRequestAnimationFrame(fn3);
};
} else if (_window.webkitRequestAnimationFrame) {
return function(fn3) {
_window.webkitRequestAnimationFrame(fn3);
};
} else if (_window.msRequestAnimationFrame) {
return function(fn3) {
_window.msRequestAnimationFrame(fn3);
};
}
}
return function(fn3) {
if (fn3) {
setTimeout(function() {
fn3(pnow());
}, 1e3 / 60);
}
};
})();
var requestAnimationFrame = /* @__PURE__ */ __name(function requestAnimationFrame2(fn3) {
return raf(fn3);
}, "requestAnimationFrame");
var performanceNow = pnow;
var DEFAULT_HASH_SEED = 9261;
var K = 65599;
var DEFAULT_HASH_SEED_ALT = 5381;
var hashIterableInts = /* @__PURE__ */ __name(function hashIterableInts2(iterator) {
var seed = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_HASH_SEED;
var hash = seed;
var entry;
for (; ; ) {
entry = iterator.next();
if (entry.done) {
break;
}
hash = hash * K + entry.value | 0;
}
return hash;
}, "hashIterableInts");
var hashInt = /* @__PURE__ */ __name(function hashInt2(num) {
var seed = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_HASH_SEED;
return seed * K + num | 0;
}, "hashInt");
var hashIntAlt = /* @__PURE__ */ __name(function hashIntAlt2(num) {
var seed = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_HASH_SEED_ALT;
return (seed << 5) + seed + num | 0;
}, "hashIntAlt");
var combineHashes = /* @__PURE__ */ __name(function combineHashes2(hash1, hash2) {
return hash1 * 2097152 + hash2;
}, "combineHashes");
var combineHashesArray = /* @__PURE__ */ __name(function combineHashesArray2(hashes) {
return hashes[0] * 2097152 + hashes[1];
}, "combineHashesArray");
var hashArrays = /* @__PURE__ */ __name(function hashArrays2(hashes1, hashes2) {
return [hashInt(hashes1[0], hashes2[0]), hashIntAlt(hashes1[1], hashes2[1])];
}, "hashArrays");
var hashIntsArray = /* @__PURE__ */ __name(function hashIntsArray2(ints, seed) {
var entry = {
value: 0,
done: false
};
var i = 0;
var length = ints.length;
var iterator = {
next: /* @__PURE__ */ __name(function next() {
if (i < length) {
entry.value = ints[i++];
} else {
entry.done = true;
}
return entry;
}, "next")
};
return hashIterableInts(iterator, seed);
}, "hashIntsArray");
var hashString = /* @__PURE__ */ __name(function hashString2(str, seed) {
var entry = {
value: 0,
done: false
};
var i = 0;
var length = str.length;
var iterator = {
next: /* @__PURE__ */ __name(function next() {
if (i < length) {
entry.value = str.charCodeAt(i++);
} else {
entry.done = true;
}
return entry;
}, "next")
};
return hashIterableInts(iterator, seed);
}, "hashString");
var hashStrings = /* @__PURE__ */ __name(function hashStrings2() {
return hashStringsArray(arguments);
}, "hashStrings");
var hashStringsArray = /* @__PURE__ */ __name(function hashStringsArray2(strs) {
var hash;
for (var i = 0; i < strs.length; i++) {
var str = strs[i];
if (i === 0) {
hash = hashString(str);
} else {
hash = hashString(str, hash);
}
}
return hash;
}, "hashStringsArray");
function rotatePoint(x2, y2, centerX, centerY, angleDegrees) {
var angleRadians = angleDegrees * Math.PI / 180;
var rotatedX = Math.cos(angleRadians) * (x2 - centerX) - Math.sin(angleRadians) * (y2 - centerY) + centerX;
var rotatedY = Math.sin(angleRadians) * (x2 - centerX) + Math.cos(angleRadians) * (y2 - centerY) + centerY;
return {
x: rotatedX,
y: rotatedY
};
}
__name(rotatePoint, "rotatePoint");
var movePointByBoxAspect = /* @__PURE__ */ __name(function movePointByBoxAspect2(x2, y2, boxX, boxY, skewX, skewY) {
return {
x: (x2 - boxX) * skewX + boxX,
y: (y2 - boxY) * skewY + boxY
};
}, "movePointByBoxAspect");
function rotatePosAndSkewByBox(pos, box, angleDegrees) {
if (angleDegrees === 0) return pos;
var centerX = (box.x1 + box.x2) / 2;
var centerY = (box.y1 + box.y2) / 2;
var skewX = box.w / box.h;
var skewY = 1 / skewX;
var rotated = rotatePoint(pos.x, pos.y, centerX, centerY, angleDegrees);
var skewed = movePointByBoxAspect(rotated.x, rotated.y, centerX, centerY, skewX, skewY);
return {
x: skewed.x,
y: skewed.y
};
}
__name(rotatePosAndSkewByBox, "rotatePosAndSkewByBox");
var warningsEnabled = true;
var warnSupported = console.warn != null;
var traceSupported = console.trace != null;
var MAX_INT$1 = Number.MAX_SAFE_INTEGER || 9007199254740991;
var trueify = /* @__PURE__ */ __name(function trueify2() {
return true;
}, "trueify");
var falsify = /* @__PURE__ */ __name(function falsify2() {
return false;
}, "falsify");
var zeroify = /* @__PURE__ */ __name(function zeroify2() {
return 0;
}, "zeroify");
var noop$1 = /* @__PURE__ */ __name(function noop() {
}, "noop");
var error = /* @__PURE__ */ __name(function error2(msg) {
throw new Error(msg);
}, "error");
var warnings = /* @__PURE__ */ __name(function warnings2(enabled) {
if (enabled !== void 0) {
warningsEnabled = !!enabled;
} else {
return warningsEnabled;
}
}, "warnings");
var warn = /* @__PURE__ */ __name(function warn2(msg) {
if (!warnings()) {
return;
}
if (warnSupported) {
console.warn(msg);
} else {
console.log(msg);
if (traceSupported) {
console.trace();
}
}
}, "warn");
var clone = /* @__PURE__ */ __name(function clone2(obj) {
return extend({}, obj);
}, "clone");
var copy = /* @__PURE__ */ __name(function copy2(obj) {
if (obj == null) {
return obj;
}
if (array(obj)) {
return obj.slice();
} else if (plainObject(obj)) {
return clone(obj);
} else {
return obj;
}
}, "copy");
var copyArray = /* @__PURE__ */ __name(function copyArray2(arr) {
return arr.slice();
}, "copyArray");
var uuid = /* @__PURE__ */ __name(function uuid2(a, b) {
for (
// loop :)
b = a = "";
// b - result , a - numeric letiable
a++ < 36;
//
b += a * 51 & 52 ? (
// return a random number or 4
(a ^ 15 ? (
// generate a random number from 0 to 15
8 ^ Math.random() * (a ^ 20 ? 16 : 4)
) : 4).toString(16)
) : "-"
) ;
return b;
}, "uuid");
var _staticEmptyObject = {};
var staticEmptyObject = /* @__PURE__ */ __name(function staticEmptyObject2() {
return _staticEmptyObject;
}, "staticEmptyObject");
var defaults$g = /* @__PURE__ */ __name(function defaults(_defaults) {
var keys = Object.keys(_defaults);
return function(opts) {
var filledOpts = {};
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
var optVal = opts == null ? void 0 : opts[key];
filledOpts[key] = optVal === void 0 ? _defaults[key] : optVal;
}
return filledOpts;
};
}, "defaults");
var removeFromArray = /* @__PURE__ */ __name(function removeFromArray2(arr, ele, oneCopy) {
for (var i = arr.length - 1; i >= 0; i--) {
if (arr[i] === ele) {
arr.splice(i, 1);
}
}
}, "removeFromArray");
var clearArray = /* @__PURE__ */ __name(function clearArray2(arr) {
arr.splice(0, arr.length);
}, "clearArray");
var push = /* @__PURE__ */ __name(function push2(arr, otherArr) {
for (var i = 0; i < otherArr.length; i++) {
var el = otherArr[i];
arr.push(el);
}
}, "push");
var getPrefixedProperty = /* @__PURE__ */ __name(function getPrefixedProperty2(obj, propName, prefix) {
if (prefix) {
propName = prependCamel(prefix, propName);
}
return obj[propName];
}, "getPrefixedProperty");
var setPrefixedProperty = /* @__PURE__ */ __name(function setPrefixedProperty2(obj, propName, prefix, value) {
if (prefix) {
propName = prependCamel(prefix, propName);
}
obj[propName] = value;
}, "setPrefixedProperty");
var ObjectMap = /* @__PURE__ */ (function() {
function ObjectMap2() {
_classCallCheck(this, ObjectMap2);
this._obj = {};
}
__name(ObjectMap2, "ObjectMap");
return _createClass(ObjectMap2, [{
key: "set",
value: /* @__PURE__ */ __name(function set2(key, val) {
this._obj[key] = val;
return this;
}, "set")
}, {
key: "delete",
value: /* @__PURE__ */ __name(function _delete(key) {
this._obj[key] = void 0;
return this;
}, "_delete")
}, {
key: "clear",
value: /* @__PURE__ */ __name(function clear() {
this._obj = {};
}, "clear")
}, {
key: "has",
value: /* @__PURE__ */ __name(function has(key) {
return this._obj[key] !== void 0;
}, "has")
}, {
key: "get",
value: /* @__PURE__ */ __name(function get2(key) {
return this._obj[key];
}, "get")
}]);
})();
var Map$1 = typeof Map !== "undefined" ? Map : ObjectMap;
var undef = "undefined";
var ObjectSet = /* @__PURE__ */ (function() {
function ObjectSet2(arrayOrObjectSet) {
_classCallCheck(this, ObjectSet2);
this._obj = /* @__PURE__ */ Object.create(null);
this.size = 0;
if (arrayOrObjectSet != null) {
var arr;
if (arrayOrObjectSet.instanceString != null && arrayOrObjectSet.instanceString() === this.instanceString()) {
arr = arrayOrObjectSet.toArray();
} else {
arr = arrayOrObjectSet;
}
for (var i = 0; i < arr.length; i++) {
this.add(arr[i]);
}
}
}
__name(ObjectSet2, "ObjectSet");
return _createClass(ObjectSet2, [{
key: "instanceString",
value: /* @__PURE__ */ __name(function instanceString4() {
return "set";
}, "instanceString")
}, {
key: "add",
value: /* @__PURE__ */ __name(function add3(val) {
var o = this._obj;
if (o[val] !== 1) {
o[val] = 1;
this.size++;
}
}, "add")
}, {
key: "delete",
value: /* @__PURE__ */ __name(function _delete(val) {
var o = this._obj;
if (o[val] === 1) {
o[val] = 0;
this.size--;
}
}, "_delete")
}, {
key: "clear",
value: /* @__PURE__ */ __name(function clear() {
this._obj = /* @__PURE__ */ Object.create(null);
}, "clear")
}, {
key: "has",
value: /* @__PURE__ */ __name(function has(val) {
return this._obj[val] === 1;
}, "has")
}, {
key: "toArray",
value: /* @__PURE__ */ __name(function toArray2() {
var _this = this;
return Object.keys(this._obj).filter(function(key) {
return _this.has(key);
});
}, "toArray")
}, {
key: "forEach",
value: /* @__PURE__ */ __name(function forEach2(callback, thisArg) {
return this.toArray().forEach(callback, thisArg);
}, "forEach")
}]);
})();
var Set$1 = (typeof Set === "undefined" ? "undefined" : _typeof(Set)) !== undef ? Set : ObjectSet;
var Element = /* @__PURE__ */ __name(function Element2(cy, params) {
var restore = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
if (cy === void 0 || params === void 0 || !core(cy)) {
error("An element must have a core reference and parameters set");
return;
}
var group2 = params.group;
if (group2 == null) {
if (params.data && params.data.source != null && params.data.target != null) {
group2 = "edges";
} else {
group2 = "nodes";
}
}
if (group2 !== "nodes" && group2 !== "edges") {
error("An element must be of type `nodes` or `edges`; you specified `" + group2 + "`");
return;
}
this.length = 1;
this[0] = this;
var _p = this._private = {
cy,
single: true,
// indicates this is an element
data: params.data || {},
// data object
position: params.position || {
x: 0,
y: 0
},
// (x, y) position pair
autoWidth: void 0,
// width and height of nodes calculated by the renderer when set to special 'auto' value
autoHeight: void 0,
autoPadding: void 0,
compoundBoundsClean: false,
// whether the compound dimensions need to be recalculated the next time dimensions are read
listeners: [],
// array of bound listeners
group: group2,
// string; 'nodes' or 'edges'
style: {},
// properties as set by the style
rstyle: {},
// properties for style sent from the renderer to the core
styleCxts: [],
// applied style contexts from the styler
styleKeys: {},
// per-group keys of style property values
removed: true,
// whether it's inside the vis; true if removed (set true here since we call restore)
selected: params.selected ? true : false,
// whether it's selected
selectable: params.selectable === void 0 ? true : params.selectable ? true : false,
// whether it's selectable
locked: params.locked ? true : false,
// whether the element is locked (cannot be moved)
grabbed: false,
// whether the element is grabbed by the mouse; renderer sets this privately
grabbable: params.grabbable === void 0 ? true : params.grabbable ? true : false,
// whether the element can be grabbed
pannable: params.pannable === void 0 ? group2 === "edges" ? true : false : params.pannable ? true : false,
// whether the element has passthrough panning enabled
active: false,
// whether the element is active from user interaction
classes: new Set$1(),
// map ( className => true )
animation: {
// object for currently-running animations
current: [],
queue: []
},
rscratch: {},
// object in which the renderer can store information
scratch: params.scratch || {},
// scratch objects
edges: [],
// array of connected edges
children: [],
// array of children
parent: params.parent && params.parent.isNode() ? params.parent : null,
// parent ref
traversalCache: {},
// cache of output of traversal functions
backgrounding: false,
// whether background images are loading
bbCache: null,
// cache of the current bounding box
bbCacheShift: {
x: 0,
y: 0
},
// shift applied to cached bb to be applied on next get
bodyBounds: null,
// bounds cache of element body, w/o overlay
overlayBounds: null,
// bounds cache of element body, including overlay
labelBounds: {
// bounds cache of labels
all: null,
source: null,
target: null,
main: null
},
arrowBounds: {
// bounds cache of edge arrows
source: null,
target: null,
"mid-source": null,
"mid-target": null
}
};
if (_p.position.x == null) {
_p.position.x = 0;
}
if (_p.position.y == null) {
_p.position.y = 0;
}
if (params.renderedPosition) {
var rpos = params.renderedPosition;
var pan2 = cy.pan();
var zoom2 = cy.zoom();
_p.position = {
x: (rpos.x - pan2.x) / zoom2,
y: (rpos.y - pan2.y) / zoom2
};
}
var classes2 = [];
if (array(params.classes)) {
classes2 = params.classes;
} else if (string(params.classes)) {
classes2 = params.classes.split(/\s+/);
}
for (var i = 0, l = classes2.length; i < l; i++) {
var cls = classes2[i];
if (!cls || cls === "") {
continue;
}
_p.classes.add(cls);
}
this.createEmitter();
if (restore === void 0 || restore) {
this.restore();
}
var bypass = params.style || params.css;
if (bypass) {
warn("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead.");
this.style(bypass);
}
}, "Element");
var defineSearch = /* @__PURE__ */ __name(function defineSearch2(params) {
params = {
bfs: params.bfs || !params.dfs,
dfs: params.dfs || !params.bfs
};
return /* @__PURE__ */ __name(function searchFn(roots, fn3, directed) {
var options2;
if (plainObject(roots) && !elementOrCollection(roots)) {
options2 = roots;
roots = options2.roots || options2.root;
fn3 = options2.visit;
directed = options2.directed;
}
directed = arguments.length === 2 && !fn$6(fn3) ? fn3 : directed;
fn3 = fn$6(fn3) ? fn3 : function() {
};
var cy = this._private.cy;
var v = roots = string(roots) ? this.filter(roots) : roots;
var Q = [];
var connectedNodes = [];
var connectedBy = {};
var id2depth = {};
var V = {};
var j = 0;
var found;
var _this$byGroup = this.byGroup(), nodes3 = _this$byGroup.nodes, edges3 = _this$byGroup.edges;
for (var i = 0; i < v.length; i++) {
var vi = v[i];
var viId = vi.id();
if (vi.isNode()) {
Q.unshift(vi);
if (params.bfs) {
V[viId] = true;
connectedNodes.push(vi);
}
id2depth[viId] = 0;
}
}
var _loop = /* @__PURE__ */ __name(function _loop2() {
var v3 = params.bfs ? Q.shift() : Q.pop();
var vId = v3.id();
if (params.dfs) {
if (V[vId]) {
return 0;
}
V[vId] = true;
connectedNodes.push(v3);
}
var depth = id2depth[vId];
var prevEdge = connectedBy[vId];
var src = prevEdge != null ? prevEdge.source() : null;
var tgt = prevEdge != null ? prevEdge.target() : null;
var prevNode = prevEdge == null ? void 0 : v3.same(src) ? tgt[0] : src[0];
var ret;
ret = fn3(v3, prevEdge, prevNode, j++, depth);
if (ret === true) {
found = v3;
return 1;
}
if (ret === false) {
return 1;
}
var vwEdges = v3.connectedEdges().filter(function(e2) {
return (!directed || e2.source().same(v3)) && edges3.has(e2);
});
for (var _i2 = 0; _i2 < vwEdges.length; _i2++) {
var e = vwEdges[_i2];
var w = e.connectedNodes().filter(function(n) {
return !n.same(v3) && nodes3.has(n