{"version":3,"sources":["jsdelivr-header.js","/npm/@sayari/trellis@0.6.2/index.js"],"names":[],"mappings":"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","file":"/npm/@sayari/trellis@0.6.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@sayari/trellis@0.6.2/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nvar __values = (this && this.__values) || function(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function () {\n            if (o && i >= o.length) o = void 0;\n            return { value: o && o[i++], done: !o };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n    if (!m) return o;\n    var i = m.call(o), r, ar = [], e;\n    try {\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n    }\n    catch (error) { e = { error: error }; }\n    finally {\n        try {\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\n        }\n        finally { if (e) throw e.error; }\n    }\n    return ar;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.distance = exports.bfs = exports.connectedComponents = exports.equals = exports.clamp = exports.boundsToDimensions = exports.boundsToViewport = exports.viewportToBounds = exports.mergeBounds = exports.getSelectionBounds = void 0;\nvar getSelectionBounds = function (elements, padding) {\n    var e_1, _a;\n    var _b, _c, _d, _e, _f, _g, _h, _j;\n    if (padding === void 0) { padding = 0; }\n    var left = 0;\n    var top = 0;\n    var right = 0;\n    var bottom = 0;\n    try {\n        for (var elements_1 = __values(elements), elements_1_1 = elements_1.next(); !elements_1_1.done; elements_1_1 = elements_1.next()) {\n            var el = elements_1_1.value;\n            if ('radius' in el) {\n                var elementLeft = ((_b = el.x) !== null && _b !== void 0 ? _b : 0) - el.radius;\n                var elementTop = ((_c = el.y) !== null && _c !== void 0 ? _c : 0) - el.radius;\n                var elementRight = ((_d = el.x) !== null && _d !== void 0 ? _d : 0) + el.radius;\n                var elementBottom = ((_e = el.y) !== null && _e !== void 0 ? _e : 0) + el.radius;\n                if (elementLeft < left)\n                    left = elementLeft;\n                if (elementTop < top)\n                    top = elementTop;\n                if (elementRight > right)\n                    right = elementRight;\n                if (elementBottom > bottom)\n                    bottom = elementBottom;\n            }\n            else if ('width' in el && 'height' in el) {\n                var elementLeft = (_f = el.x) !== null && _f !== void 0 ? _f : 0;\n                var elementTop = (_g = el.y) !== null && _g !== void 0 ? _g : 0;\n                var elementRight = ((_h = el.x) !== null && _h !== void 0 ? _h : 0) + el.width;\n                var elementBottom = ((_j = el.x) !== null && _j !== void 0 ? _j : 0) + el.height;\n                if (elementLeft < left)\n                    left = elementLeft;\n                if (elementTop < top)\n                    top = elementTop;\n                if (elementRight > right)\n                    right = elementRight;\n                if (elementBottom > bottom)\n                    bottom = elementBottom;\n            }\n        }\n    }\n    catch (e_1_1) { e_1 = { error: e_1_1 }; }\n    finally {\n        try {\n            if (elements_1_1 && !elements_1_1.done && (_a = elements_1.return)) _a.call(elements_1);\n        }\n        finally { if (e_1) throw e_1.error; }\n    }\n    return {\n        left: left - padding,\n        top: top - padding,\n        right: right + padding,\n        bottom: bottom + padding\n    };\n};\nexports.getSelectionBounds = getSelectionBounds;\nvar mergeBounds = function (a, b, padding) {\n    if (padding === void 0) { padding = 0; }\n    return {\n        left: Math.min(a.left, b.left) - padding,\n        top: Math.min(a.top, b.top) - padding,\n        right: Math.max(a.right, b.right) + padding,\n        bottom: Math.max(a.bottom, b.bottom) + padding\n    };\n};\nexports.mergeBounds = mergeBounds;\nvar viewportToBounds = function (_a, _b) {\n    var x = _a.x, y = _a.y, zoom = _a.zoom;\n    var width = _b.width, height = _b.height;\n    var xOffset = width / 2 / zoom;\n    var yOffset = height / 2 / zoom;\n    return {\n        left: -(x + xOffset),\n        top: -(y + yOffset),\n        right: -(x - xOffset),\n        bottom: -(y - yOffset)\n    };\n};\nexports.viewportToBounds = viewportToBounds;\nvar boundsToViewport = function (_a, _b) {\n    var left = _a.left, top = _a.top, right = _a.right, bottom = _a.bottom;\n    var width = _b.width, height = _b.height;\n    var targetWidth = right - left;\n    var targetHeight = bottom - top;\n    var x = targetWidth / 2 - right;\n    var y = targetHeight / 2 - bottom;\n    if (targetWidth / targetHeight > width / height) {\n        // fit to width\n        return { x: x, y: y, zoom: width / targetWidth };\n    }\n    else {\n        // fit to height\n        return { x: x, y: y, zoom: height / targetHeight };\n    }\n};\nexports.boundsToViewport = boundsToViewport;\nvar boundsToDimensions = function (_a, zoom) {\n    var left = _a.left, top = _a.top, right = _a.right, bottom = _a.bottom;\n    return {\n        width: (right - left) / zoom,\n        height: (bottom - top) / zoom\n    };\n};\nexports.boundsToDimensions = boundsToDimensions;\nvar clamp = function (min, max, value) { return Math.max(min, Math.min(max, value)); };\nexports.clamp = clamp;\nvar equals = function (a, b) {\n    if (a === b) {\n        return true;\n    }\n    else if (Array.isArray(a) && Array.isArray(b)) {\n        if (a.length !== b.length) {\n            return false;\n        }\n        for (var i = 0; i < a.length; i++) {\n            if (!(0, exports.equals)(a[i], b[i])) {\n                return false;\n            }\n        }\n        return true;\n    }\n    else if (typeof a === 'object' && typeof b === 'object') {\n        if (Object.keys(a !== null && a !== void 0 ? a : {}).length !== Object.keys(b !== null && b !== void 0 ? b : {}).length) {\n            return false;\n        }\n        for (var key in a) {\n            if (!(0, exports.equals)(a[key], b === null || b === void 0 ? void 0 : b[key])) {\n                return false;\n            }\n        }\n        return true;\n    }\n    return false;\n};\nexports.equals = equals;\nvar connectedComponents = function (graph) {\n    var e_2, _a, e_3, _b, e_4, _c, _d, e_5, _e, e_6, _f;\n    var adjacencyList = {};\n    var nodes = {};\n    var visited = new Set();\n    var components = [];\n    try {\n        for (var _g = __values(graph.edges), _h = _g.next(); !_h.done; _h = _g.next()) {\n            var edge = _h.value;\n            if (adjacencyList[edge.source] === undefined) {\n                adjacencyList[edge.source] = {};\n            }\n            if (adjacencyList[edge.source][edge.target] === undefined) {\n                adjacencyList[edge.source][edge.target] = [];\n            }\n            if (adjacencyList[edge.target] === undefined) {\n                adjacencyList[edge.target] = {};\n            }\n            if (adjacencyList[edge.target][edge.source] === undefined) {\n                adjacencyList[edge.target][edge.source] = [];\n            }\n            adjacencyList[edge.source][edge.target].push(edge);\n            adjacencyList[edge.target][edge.source].push(edge);\n        }\n    }\n    catch (e_2_1) { e_2 = { error: e_2_1 }; }\n    finally {\n        try {\n            if (_h && !_h.done && (_a = _g.return)) _a.call(_g);\n        }\n        finally { if (e_2) throw e_2.error; }\n    }\n    try {\n        for (var _j = __values(graph.nodes), _k = _j.next(); !_k.done; _k = _j.next()) {\n            var node = _k.value;\n            nodes[node.id] = node;\n        }\n    }\n    catch (e_3_1) { e_3 = { error: e_3_1 }; }\n    finally {\n        try {\n            if (_k && !_k.done && (_b = _j.return)) _b.call(_j);\n        }\n        finally { if (e_3) throw e_3.error; }\n    }\n    try {\n        for (var _l = __values(graph.nodes), _m = _l.next(); !_m.done; _m = _l.next()) {\n            var id = _m.value.id;\n            if (visited.has(id)) {\n                continue;\n            }\n            visited.add(id);\n            var toVisit = [id];\n            var component = {\n                nodes: (_d = {}, _d[id] = nodes[id], _d),\n                edges: {}\n            };\n            while (toVisit.length > 0) {\n                var next = adjacencyList[toVisit.pop()];\n                if (next === undefined) {\n                    continue;\n                }\n                try {\n                    for (var _o = (e_5 = void 0, __values(Object.entries(next))), _p = _o.next(); !_p.done; _p = _o.next()) {\n                        var _q = __read(_p.value, 2), adjacentNode = _q[0], edges = _q[1];\n                        try {\n                            for (var edges_1 = (e_6 = void 0, __values(edges)), edges_1_1 = edges_1.next(); !edges_1_1.done; edges_1_1 = edges_1.next()) {\n                                var edge = edges_1_1.value;\n                                component.edges[edge.id] = edge;\n                            }\n                        }\n                        catch (e_6_1) { e_6 = { error: e_6_1 }; }\n                        finally {\n                            try {\n                                if (edges_1_1 && !edges_1_1.done && (_f = edges_1.return)) _f.call(edges_1);\n                            }\n                            finally { if (e_6) throw e_6.error; }\n                        }\n                        component.nodes[adjacentNode] = nodes[adjacentNode];\n                        if (!visited.has(adjacentNode)) {\n                            toVisit.push(adjacentNode);\n                            visited.add(adjacentNode);\n                        }\n                    }\n                }\n                catch (e_5_1) { e_5 = { error: e_5_1 }; }\n                finally {\n                    try {\n                        if (_p && !_p.done && (_e = _o.return)) _e.call(_o);\n                    }\n                    finally { if (e_5) throw e_5.error; }\n                }\n            }\n            components.push(component);\n        }\n    }\n    catch (e_4_1) { e_4 = { error: e_4_1 }; }\n    finally {\n        try {\n            if (_m && !_m.done && (_c = _l.return)) _c.call(_l);\n        }\n        finally { if (e_4) throw e_4.error; }\n    }\n    return components.map(function (_a) {\n        var nodes = _a.nodes, edges = _a.edges;\n        return ({\n            nodes: Object.values(nodes),\n            edges: Object.values(edges)\n        });\n    });\n};\nexports.connectedComponents = connectedComponents;\nfunction bfs(predicate, graph) {\n    var adjacencyList, nodes, visited, queue, _a, _b, edge, _c, _d, node, node, _e, _f, adjacentNode;\n    var e_7, _g, e_8, _h, e_9, _j;\n    return __generator(this, function (_k) {\n        switch (_k.label) {\n            case 0:\n                adjacencyList = {};\n                nodes = {};\n                visited = new Set();\n                queue = [graph.nodes[0].id];\n                try {\n                    for (_a = __values(graph.edges), _b = _a.next(); !_b.done; _b = _a.next()) {\n                        edge = _b.value;\n                        if (adjacencyList[edge.source] === undefined) {\n                            adjacencyList[edge.source] = [];\n                        }\n                        if (adjacencyList[edge.target] === undefined) {\n                            adjacencyList[edge.target] = [];\n                        }\n                        adjacencyList[edge.source].push(edge.target);\n                        adjacencyList[edge.target].push(edge.source);\n                    }\n                }\n                catch (e_7_1) { e_7 = { error: e_7_1 }; }\n                finally {\n                    try {\n                        if (_b && !_b.done && (_g = _a.return)) _g.call(_a);\n                    }\n                    finally { if (e_7) throw e_7.error; }\n                }\n                try {\n                    for (_c = __values(graph.nodes), _d = _c.next(); !_d.done; _d = _c.next()) {\n                        node = _d.value;\n                        nodes[node.id] = node;\n                    }\n                }\n                catch (e_8_1) { e_8 = { error: e_8_1 }; }\n                finally {\n                    try {\n                        if (_d && !_d.done && (_h = _c.return)) _h.call(_c);\n                    }\n                    finally { if (e_8) throw e_8.error; }\n                }\n                _k.label = 1;\n            case 1:\n                if (!(queue.length > 0)) return [3 /*break*/, 4];\n                node = queue.shift();\n                if (visited.has(node)) {\n                    return [3 /*break*/, 1];\n                }\n                visited.add(node);\n                if (!predicate(nodes[node])) return [3 /*break*/, 3];\n                return [4 /*yield*/, nodes[node]];\n            case 2:\n                _k.sent();\n                _k.label = 3;\n            case 3:\n                if (adjacencyList[node]) {\n                    try {\n                        for (_e = (e_9 = void 0, __values(adjacencyList[node])), _f = _e.next(); !_f.done; _f = _e.next()) {\n                            adjacentNode = _f.value;\n                            if (!visited.has(adjacentNode)) {\n                                queue.push(adjacentNode);\n                            }\n                        }\n                    }\n                    catch (e_9_1) { e_9 = { error: e_9_1 }; }\n                    finally {\n                        try {\n                            if (_f && !_f.done && (_j = _e.return)) _j.call(_e);\n                        }\n                        finally { if (e_9) throw e_9.error; }\n                    }\n                }\n                return [3 /*break*/, 1];\n            case 4: return [2 /*return*/];\n        }\n    });\n}\nexports.bfs = bfs;\nvar distance = function (x0, y0, x1, y1) { return Math.hypot(x1 - x0, y1 - y0); };\nexports.distance = distance;\n"]}