import { l as lt } from "./commonDb-41f8b4c5.js"; import { p as ut } from "./mermaidAPI-67f627de.js"; var it = /\r\n?/g, ot = /\t/g, ct = /\f/g, J = function(t) { return t.replace(it, ` `).replace(ct, "").replace(ot, " "); }, Q = function(t, e) { var r = t || {}; if (e != null) for (var a in e) Object.prototype.hasOwnProperty.call(e, a) && (r[a] = e[a]); return r; }, V = function(t, e) { var r = Object.keys(t).filter(function(i) { var u = t[i]; if (u == null || u.match == null) return !1; var c = u.order; return (typeof c != "number" || !isFinite(c)) && typeof console < "u" && console.warn("simple-markdown: Invalid order for rule `" + i + "`: " + String(c)), !0; }); r.sort(function(i, u) { var c = t[i], f = t[u], s = c.order, p = f.order; if (s !== p) return s - p; var h = c.quality ? 0 : 1, g = f.quality ? 0 : 1; return h !== g ? h - g : i < u ? -1 : i > u ? 1 : 0; }); var a, l = function i(u, c) { var f = []; for (c = c || a, a = c; u; ) { var s = null, p = null, h = null, g = NaN, S = 0, x = r[0], y = t[x]; do { var E = y.order, b = c.prevCapture == null ? "" : c.prevCapture[0], k = y.match(u, c, b); if (k) { var A = y.quality ? y.quality(k, c, b) : 0; A <= g || (s = x, p = y, h = k, g = A); } S++, x = r[S], y = t[x]; } while ( // keep looping while we're still within the ruleList y && // if we don't have a match yet, continue (!h || // or if we have a match, but the next rule is // at the same order, and has a quality measurement // functions, then this rule must have a quality // measurement function (since they are sorted before // those without), and we need to check if there is // a better quality match y.order === E && y.quality) ); if (p == null || h == null) throw new Error("Could not find a matching rule for the below content. The rule with highest `order` should always match content provided to it. Check the definition of `match` for '" + r[r.length - 1] + `'. It seems to not match the following source: ` + u); if (h.index) throw new Error("`match` must return a capture starting at index 0 (the current parse index). Did you forget a ^ at the start of the RegExp?"); var w = p.parse(h, i, c); if (Array.isArray(w)) Array.prototype.push.apply(f, w); else { if (w == null || typeof w != "object") throw new Error("parse() function returned invalid parse result: '".concat(w, "'")); w.type == null && (w.type = s), f.push(w); } c.prevCapture = h, u = u.substring(c.prevCapture[0].length); } return f; }, o = function(u, c) { return a = Q(c, e), !a.inline && !a.disableAutoBlockNewlines && (u = u + ` `), a.prevCapture = null, l(J(u), a); }; return o; }, _ = function(t) { var e = function(a, l, o) { return l.inline ? t.exec(a) : null; }; return e.regex = t, e; }, T = function(t) { var e = function(a, l) { return l.inline ? null : t.exec(a); }; return e.regex = t, e; }, j = function(t) { var e = function(a, l) { return t.exec(a); }; return e.regex = t, e; }, ft = typeof Symbol == "function" && Symbol.for && Symbol.for("react.element") || 60103, v = function(t, e, r) { var a = { $$typeof: ft, type: t, key: e ?? void 0, ref: null, props: r, _owner: null }; return a; }, d = function(t, e, r, a) { r = r || {}, a = typeof a < "u" ? a : !0; var l = ""; for (var o in r) { var i = r[o]; // $FlowFixMe Object.prototype.hasOwnProperty.call(r, o) && i && (l += " " + R(o) + '="' + R(i) + '"'); } var u = "<" + t + l + ">"; return a ? u + e + "" : u; }, U = {}, I = function(t) { if (t == null) return null; try { var e = new URL(t, "https://localhost").protocol; if (e.indexOf("javascript:") === 0 || e.indexOf("vbscript:") === 0 || e.indexOf("data:") === 0) return null; } catch { return null; } return t; }, st = /[<>&"']/g, pt = { "<": "<", ">": ">", "&": "&", '"': """, "'": "'", "/": "/", "`": "`" }, R = function(t) { return String(t).replace(st, function(e) { return pt[e]; }); }, ht = /\\([^0-9A-Za-z\s])/g, M = function(t) { return t.replace(ht, "$1"); }, B = function(t, e, r) { var a = r.inline || !1; r.inline = !0; var l = t(e, r); return r.inline = a, l; }, mt = function(t, e, r) { var a = r.inline || !1; r.inline = !1; var l = t(e + ` `, r); return r.inline = a, l; }, O = function(t, e, r) { return { content: B(e, t[1], r) }; }, F = function() { return {}; }, N = "(?:[*+-]|\\d+\\.)", tt = "( *)(" + N + ") +", K = new RegExp("^" + tt), gt = new RegExp(tt + "[^\\n]*(?:\\n(?!\\1" + N + ` )[^\\n]*)*( |$)`, "gm"), et = /\n{2,}$/, vt = /^ (?= *`)|(` *) $/g, dt = et, z = / *\n+$/, yt = new RegExp("^( *)(" + N + `) [\\s\\S]+?(?: {2,}(?! )(?!\\1` + N + ` )\\n*|\\s* *$)`), xt = /(?:^|\n)( *)$/, P = function() { var n = /^ *\| *| *\| *$/g, t = / *$/, e = /^ *-+: *$/, r = /^ *:-+: *$/, a = /^ *:-+ *$/, l = function(s) { return e.test(s) ? "right" : r.test(s) ? "center" : a.test(s) ? "left" : null; }, o = function(s, p, h, g) { g && (s = s.replace(n, "")); var S = s.trim().split("|"); return S.map(l); }, i = function(s, p, h, g) { var S = h.inTable; h.inTable = !0; var x = p(s.trim(), h); h.inTable = S; var y = [[]]; return x.forEach(function(E, b) { E.type === "tableSeparator" ? (!g || b !== 0 && b !== x.length - 1) && y.push([]) : (E.type === "text" && (x[b + 1] == null || x[b + 1].type === "tableSeparator") && (E.content = E.content.replace(t, "")), y[y.length - 1].push(E)); }), y; }, u = function(s, p, h, g) { var S = s.trim().split(` `); return S.map(function(x) { return i(x, p, h, g); }); }, c = function(s) { return function(p, h, g) { g.inline = !0; var S = i(p[1], h, g, s), x = o(p[2], h, g, s), y = u(p[3], h, g, s); return g.inline = !1, { type: "table", header: S, align: x, cells: y }; }; }; return { parseTable: c(!0), parseNpTable: c(!1), TABLE_REGEX: /^ *(\|.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/, NPTABLE_REGEX: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/ }; }(), C = "(?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*", G = `\\s*?(?:\\s+['"]([\\s\\S]*?)['"])?\\s*`, _t = /mailto:/i, X = function(t, e, r) { var a = (t[2] || t[1]).replace(/\s+/g, " ").toLowerCase(); if (e._defs && e._defs[a]) { var l = e._defs[a]; r.target = l.target, r.title = l.title; } return e._refs = e._refs || {}, e._refs[a] = e._refs[a] || [], e._refs[a].push(r), r; }, m = 0, L = { Array: { react: function(t, e, r) { for (var a = r.key, l = [], o = 0, i = 0; o < t.length; o++, i++) { r.key = "" + o; var u = t[o]; if (u.type === "text") for (u = { type: "text", content: u.content }; o + 1 < t.length && t[o + 1].type === "text"; o++) u.content += t[o + 1].content; l.push(e(u, r)); } return r.key = a, l; }, html: function(t, e, r) { for (var a = "", l = 0; l < t.length; l++) { var o = t[l]; if (o.type === "text") for (o = { type: "text", content: o.content }; l + 1 < t.length && t[l + 1].type === "text"; l++) o.content += t[l + 1].content; a += e(o, r); } return a; } }, heading: { order: m++, match: T(/^ *(#{1,6})([^\n]+?)#* *(?:\n *)+\n/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { level: n[1].length, content: B(t, n[2].trim(), e) }; }), react: function(t, e, r) { return v("h" + t.level, r.key, { children: e(t.content, r) }); }, html: function(t, e, r) { return d("h" + t.level, e(t.content, r)); } }, nptable: { order: m++, match: T(P.NPTABLE_REGEX), parse: P.parseNpTable, react: null, html: null }, lheading: { order: m++, match: T(/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { type: "heading", level: n[2] === "=" ? 1 : 2, content: B(t, n[1], e) }; }), react: null, html: null }, hr: { order: m++, match: T(/^( *[-*_]){3,} *(?:\n *)+\n/), parse: F, react: function(t, e, r) { return v("hr", r.key, U); }, html: function(t, e, r) { return "
"; } }, codeBlock: { order: m++, match: T(/^(?: [^\n]+\n*)+(?:\n *)+\n/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { var r = n[0].replace(/^ /gm, "").replace(/\n+$/, ""); return { lang: void 0, content: r }; }), react: function(t, e, r) { var a = t.lang ? "markdown-code-" + t.lang : void 0; return v("pre", r.key, { children: v("code", null, { className: a, children: t.content }) }); }, html: function(t, e, r) { var a = t.lang ? "markdown-code-" + t.lang : void 0, l = d("code", R(t.content), { class: a }); return d("pre", l); } }, fence: { order: m++, match: T(/^ *(`{3,}|~{3,}) *(?:(\S+) *)?\n([\s\S]+?)\n?\1 *(?:\n *)+\n/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { type: "codeBlock", lang: n[2] || void 0, content: n[3] }; }), react: null, html: null }, blockQuote: { order: m++, match: T(/^( *>[^\n]+(\n[^\n]+)*\n*)+\n{2,}/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { var r = n[0].replace(/^ *> ?/gm, ""); return { content: t(r, e) }; }), react: function(t, e, r) { return v("blockquote", r.key, { children: e(t.content, r) }); }, html: function(t, e, r) { return d("blockquote", e(t.content, r)); } }, list: { order: m++, // $FlowFixMe match: function(t, e) { var r = e.prevCapture == null ? "" : e.prevCapture[0], a = xt.exec(r), l = e._list || !e.inline; return a && l ? (t = a[1] + t, yt.exec(t)) : null; }, parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { var r = n[2], a = r.length > 1, l = a ? +r : void 0, o = n[0].replace(dt, ` `).match(gt), i = !1, u = o.map(function(c, f) { var s = K.exec(c), p = s ? s[0].length : 0, h = new RegExp("^ {1," + p + "}", "gm"), g = c.replace(h, "").replace(K, ""), S = f === o.length - 1, x = g.indexOf(` `) !== -1, y = x || S && i; i = y; var E = e.inline, b = e._list; e._list = !0; var k; y ? (e.inline = !1, k = g.replace(z, ` `)) : (e.inline = !0, k = g.replace(z, "")); var A = t(k, e); return e.inline = E, e._list = b, A; }); return { ordered: a, start: l, items: u }; }), react: function(t, e, r) { var a = t.ordered ? "ol" : "ul"; return v(a, r.key, { start: t.start, children: t.items.map(function(l, o) { return v("li", "" + o, { children: e(l, r) }); }) }); }, html: function(t, e, r) { var a = t.items.map(function(i) { return d("li", e(i, r)); }).join(""), l = t.ordered ? "ol" : "ul", o = { start: t.start }; return d(l, a, o); } }, def: { order: m++, // TODO(aria): This will match without a blank line before the next // block element, which is inconsistent with most of the rest of // simple-markdown. match: T(/^ *\[([^\]]+)\]: *]*)>?(?: +["(]([^\n]+)[")])? *\n(?: *\n)*/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { var r = n[1].replace(/\s+/g, " ").toLowerCase(), a = n[2], l = n[3]; return e._refs && e._refs[r] && e._refs[r].forEach(function(o) { o.target = a, o.title = l; }), e._defs = e._defs || {}, e._defs[r] = { target: a, title: l }, { def: r, target: a, title: l }; }), react: function() { return null; }, html: function() { return ""; } }, table: { order: m++, match: T(P.TABLE_REGEX), parse: P.parseTable, react: function(t, e, r) { var a = function(u) { return t.align[u] == null ? {} : { textAlign: t.align[u] }; }, l = t.header.map(function(i, u) { return v("th", "" + u, { style: a(u), scope: "col", children: e(i, r) }); }), o = t.cells.map(function(i, u) { return v("tr", "" + u, { children: i.map(function(c, f) { return v("td", "" + f, { style: a(f), children: e(c, r) }); }) }); }); return v("table", r.key, { children: [v("thead", "thead", { children: v("tr", null, { children: l }) }), v("tbody", "tbody", { children: o })] }); }, html: function(t, e, r) { var a = function(f) { return t.align[f] == null ? "" : "text-align:" + t.align[f] + ";"; }, l = t.header.map(function(c, f) { return d("th", e(c, r), { style: a(f), scope: "col" }); }).join(""), o = t.cells.map(function(c) { var f = c.map(function(s, p) { return d("td", e(s, r), { style: a(p) }); }).join(""); return d("tr", f); }).join(""), i = d("thead", d("tr", l)), u = d("tbody", o); return d("table", i + u); } }, newline: { order: m++, match: T(/^(?:\n *)*\n/), parse: F, react: function(t, e, r) { return ` `; }, html: function(t, e, r) { return ` `; } }, paragraph: { order: m++, match: T(/^((?:[^\n]|\n(?! *\n))+)(?:\n *)+\n/), parse: O, react: function(t, e, r) { return v("div", r.key, { className: "paragraph", children: e(t.content, r) }); }, html: function(t, e, r) { var a = { class: "paragraph" }; return d("div", e(t.content, r), a); } }, escape: { order: m++, // We don't allow escaping numbers, letters, or spaces here so that // backslashes used in plain text still get rendered. But allowing // escaping anything else provides a very flexible escape mechanism, // regardless of how this grammar is extended. match: _(/^\\([^0-9A-Za-z\s])/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { type: "text", content: n[1] }; }), react: null, html: null }, tableSeparator: { order: m++, // $FlowFixMe match: function(t, e) { return e.inTable ? /^ *\| */.exec(t) : null; }, parse: function() { return { type: "tableSeparator" }; }, // These shouldn't be reached, but in case they are, be reasonable: react: function() { return " | "; }, html: function() { return " | "; } }, autolink: { order: m++, match: _(/^<([^: >]+:\/[^ >]+)>/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { type: "link", content: [{ type: "text", content: n[1] }], target: n[1] }; }), react: null, html: null }, mailto: { order: m++, match: _(/^<([^ >]+@[^ >]+)>/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { var r = n[1], a = n[1]; return _t.test(a) || (a = "mailto:" + a), { type: "link", content: [{ type: "text", content: r }], target: a }; }), react: null, html: null }, url: { order: m++, match: _(/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { type: "link", content: [{ type: "text", content: n[1] }], target: n[1], title: void 0 }; }), react: null, html: null }, link: { order: m++, match: _(new RegExp("^\\[(" + C + ")\\]\\(" + G + "\\)")), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { var r = { content: t(n[1], e), target: M(n[2]), title: n[3] }; return r; }), react: function(t, e, r) { return v("a", r.key, { href: I(t.target), title: t.title, children: e(t.content, r) }); }, html: function(t, e, r) { var a = { href: I(t.target), title: t.title }; return d("a", e(t.content, r), a); } }, image: { order: m++, match: _(new RegExp("^!\\[(" + C + ")\\]\\(" + G + "\\)")), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { var r = { alt: n[1], target: M(n[2]), title: n[3] }; return r; }), react: function(t, e, r) { return v("img", r.key, { src: I(t.target), alt: t.alt, title: t.title }); }, html: function(t, e, r) { var a = { src: I(t.target), alt: t.alt, title: t.title }; return d("img", "", a, !1); } }, reflink: { order: m++, match: _(new RegExp( // The first [part] of the link "^\\[(" + C + ")\\]\\s*\\[([^\\]]*)\\]" )), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return X(n, e, { type: "link", content: t(n[1], e) }); }), react: null, html: null }, refimage: { order: m++, match: _(new RegExp( // The first [part] of the link "^!\\[(" + C + ")\\]\\s*\\[([^\\]]*)\\]" )), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return X(n, e, { type: "image", alt: n[1] }); }), react: null, html: null }, em: { order: m, match: _(new RegExp( // only match _s surrounding words. "^\\b_((?:__|\\\\[\\s\\S]|[^\\\\_])+?)_\\b|^\\*(?=\\S)((?:\\*\\*|\\\\[\\s\\S]|\\s+(?:\\\\[\\s\\S]|[^\\s\\*\\\\]|\\*\\*)|[^\\s\\*\\\\])+?)\\*(?!\\*)" )), quality: function(t) { return t[0].length + 0.2; }, parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { content: t(n[2] || n[1], e) }; }), react: function(t, e, r) { return v("em", r.key, { children: e(t.content, r) }); }, html: function(t, e, r) { return d("em", e(t.content, r)); } }, strong: { order: m, match: _(/^\*\*((?:\\[\s\S]|[^\\])+?)\*\*(?!\*)/), quality: function(t) { return t[0].length + 0.1; }, parse: O, react: function(t, e, r) { return v("strong", r.key, { children: e(t.content, r) }); }, html: function(t, e, r) { return d("strong", e(t.content, r)); } }, u: { order: m++, match: _(/^__((?:\\[\s\S]|[^\\])+?)__(?!_)/), quality: function(t) { return t[0].length; }, parse: O, react: function(t, e, r) { return v("u", r.key, { children: e(t.content, r) }); }, html: function(t, e, r) { return d("u", e(t.content, r)); } }, del: { order: m++, match: _(/^~~(?=\S)((?:\\[\s\S]|~(?!~)|[^\s~\\]|\s(?!~~))+?)~~/), parse: O, react: function(t, e, r) { return v("del", r.key, { children: e(t.content, r) }); }, html: function(t, e, r) { return d("del", e(t.content, r)); } }, inlineCode: { order: m++, match: _(/^(`+)([\s\S]*?[^`])\1(?!`)/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { content: n[2].replace(vt, "$1") }; }), react: function(t, e, r) { return v("code", r.key, { children: t.content }); }, html: function(t, e, r) { return d("code", R(t.content)); } }, br: { order: m++, match: j(/^ {2,}\n/), parse: F, react: function(t, e, r) { return v("br", r.key, U); }, html: function(t, e, r) { return "
"; } }, text: { order: m++, // Here we look for anything followed by non-symbols, // double newlines, or double-space-newlines // We break on any symbol characters so that this grammar // is easy to extend without needing to modify this regex match: j(/^[\s\S]+?(?=[^0-9A-Za-z\s\u00c0-\uffff]|\n\n| {2,}\n|\w+:\S|$)/), parse: function(n) { function t(e, r, a) { return n.apply(this, arguments); } return t.toString = function() { return n.toString(); }, t; }(function(n, t, e) { return { content: n[0] }; }), react: function(t, e, r) { return t.content; }, html: function(t, e, r) { return R(t.content); } } }, St = function(t, e) { !e && typeof console < "u" && console.warn("simple-markdown ruleOutput should take 'react' or 'html' as the second argument."); var r = function(l, o, i) { return t[l.type][e](l, o, i); }; return r; }, Tt = function(t) { var e = function r(a, l) { if (l = l || {}, Array.isArray(a)) { for (var o = l.key, i = [], u = null, c = 0; c < a.length; c++) { l.key = "" + c; var f = r(a[c], l); typeof f == "string" && typeof u == "string" ? (u = u + f, i[i.length - 1] = u) : (i.push(f), u = f); } return l.key = o, i; } else return t(a, r, l); }; return e; }, Et = function(t) { var e = function r(a, l) { return l = l || {}, Array.isArray(a) ? a.map(function(o) { return r(o, l); }).join("") : t(a, r, l); }; return e; }, H = function(t, e) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (!e) throw new Error("simple-markdown: outputFor: `property` must be defined. if you just upgraded, you probably need to replace `outputFor` with `reactFor`"); var a, l = t.Array || L.Array, o = l[e]; if (!o) throw new Error("simple-markdown: outputFor: to join nodes of type `" + e + "` you must provide an `Array:` joiner rule with that type, Please see the docs for details on specifying an Array rule."); var i = o, u = function f(s, p) { return p = p || a, a = p, Array.isArray(s) ? i(s, f, p) : t[s.type][e](s, f, p); }, c = function(s, p) { return a = Q(p, r), u(s, a); }; return c; }, $ = V(L), D = function(t, e) { return e = e || {}, e.inline = !1, $(t, e); }, bt = function(t, e) { return e = e || {}, e.inline = !0, $(t, e); }, W = function(t, e) { var r = et.test(t); return e = e || {}, e.inline = !r, $(t, e); }, q = H(L, "react"), nt = H(L, "html"), rt = function(t, e) { return q(D(t, e), e); }, wt = function(t, e) { return nt(D(t, e), e); }, kt = function(t) { var e = {}; for (var r in t) r !== "source" && // $FlowFixMe Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]); return e.children = rt(t.source), v("div", null, e); }, at = { defaultRules: L, parserFor: V, outputFor: H, inlineRegex: _, blockRegex: T, anyScopeRegex: j, parseInline: B, parseBlock: mt, // default wrappers: markdownToReact: rt, markdownToHtml: wt, ReactMarkdown: kt, defaultBlockParse: D, defaultInlineParse: bt, defaultImplicitParse: W, defaultReactOutput: q, defaultHtmlOutput: nt, preprocess: J, sanitizeText: R, sanitizeUrl: I, unescapeUrl: M, htmlTag: d, reactElement: v, // deprecated: defaultRawParse: $, ruleOutput: St, reactFor: Tt, htmlFor: Et, defaultParse: function() { return typeof console < "u" && console.warn("defaultParse is deprecated, please use `defaultImplicitParse`"), W.apply(null, arguments); }, defaultOutput: function() { return typeof console < "u" && console.warn("defaultOutput is deprecated, please use `defaultReactOutput`"), q.apply(null, arguments); } }; function Rt(n) { return n.replace(/\n{2,}/g, ` `).replace(/^\s+/gm, ""); } function It(n) { const t = Rt(n), e = at.defaultBlockParse, r = e(t); let a = [[]], l = 0; function o(i, u) { i.type === "text" ? i.content.split(` `).forEach((f, s) => { s !== 0 && (l++, a.push([])), f.split(" ").forEach((p) => { p && a[l].push({ content: p, type: u || "normal" }); }); }) : (i.type === "strong" || i.type === "em") && i.content.forEach((c) => { o(c, i.type); }); } return r.forEach((i) => { i.type === "paragraph" && i.content.forEach((u) => { o(u); }); }), a; } function Lt(n) { const t = at.defaultBlockParse, e = t(n); function r(a) { return a.type === "text" ? a.content.replace(/\n/g, "
") : a.type === "strong" ? `${a.content.map(r).join("")}` : a.type === "em" ? `${a.content.map(r).join("")}` : a.type === "paragraph" ? `

${a.content.map(r).join("")}

` : ""; } return e.map(r).join(""); } function At(n, t) { t && n.attr("style", t); } function Ot(n, t, e, r) { const a = n.append("foreignObject"), l = a.append("xhtml:div"), o = t.label, i = t.isNode ? "nodeLabel" : "edgeLabel"; l.html( `" + o + "" ), At(l, t.labelStyle), l.style("display", "table-cell"), l.style("white-space", "nowrap"), l.style("max-width", e + "px"), l.attr("xmlns", "http://www.w3.org/1999/xhtml"); let u = l.node().getBoundingClientRect(); return u.width === e && (l.style("display", "table"), l.style("white-space", "break-spaces"), l.style("width", e + "px"), u = l.node().getBoundingClientRect()), a.style("width", u.width), a.style("height", u.height), a.node(); } function Z(n, t, e) { return n.append("tspan").attr("class", "text-outer-tspan").attr("x", 0).attr("y", t * e - 0.1 + "em").attr("dy", e + "em"); } function Pt(n, t, e, r = !1) { const l = t.append("g"); let o = l.insert("rect").attr("class", "background"); const i = l.append("text").attr("y", "-10.1"); let u = -1; if (e.forEach((c) => { u++; let f = Z(i, u, 1.1), s = [...c].reverse(), p, h = []; for (; s.length; ) p = s.pop(), h.push(p), Y(f, h), f.node().getComputedTextLength() > n && (h.pop(), s.push(p), Y(f, h), h = [], u++, f = Z(i, u, 1.1)); }), r) { const c = i.node().getBBox(), f = 2; return o.attr("x", -f).attr("y", -f).attr("width", c.width + 2 * f).attr("height", c.height + 2 * f), l.node(); } else return i.node(); } function Y(n, t) { n.text(""), t.forEach((e, r) => { const a = n.append("tspan").attr("font-style", e.type === "em" ? "italic" : "normal").attr("class", "text-inner-tspan").attr("font-weight", e.type === "strong" ? "bold" : "normal"); r === 0 ? a.text(e.content) : a.text(" " + e.content); }); } const Nt = (n, t = "", { style: e = "", isTitle: r = !1, classes: a = "", useHtmlLabels: l = !0, isNode: o = !0, width: i, addSvgBackground: u = !1 } = {}) => { if (lt.info("createText", t, e, r, a, l, o, u), l) { const c = Lt(t), f = { isNode: o, label: ut(c).replace( /fa[blrs]?:fa-[\w-]+/g, (p) => `` ), labelStyle: e.replace("fill:", "color:") }; return Ot(n, f, i, a); } else { const c = It(t), f = ['"', "'", ".", ",", ":", ";", "!", "?", "(", ")", "[", "]", "{", "}"]; let s; return c.forEach((h) => { h.forEach((g) => { f.includes(g.content) && s && (s.content += g.content, g.content = ""), s = g; }); }), Pt(i, n, c, u); } }; export { Nt as c }; //# sourceMappingURL=createText-23817c58.js.map