flow-mindmap 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
- var Sr = Object.defineProperty;
2
- var Tr = (e, n, t) => n in e ? Sr(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
3
- var De = (e, n, t) => Tr(e, typeof n != "symbol" ? n + "" : n, t);
4
- import { defineComponent as Tt, openBlock as b, createElementBlock as v, Fragment as oe, createElementVNode as u, createStaticVNode as ct, createCommentVNode as V, ref as K, reactive as on, onMounted as Yn, onBeforeUnmount as Xt, computed as ue, withModifiers as ge, normalizeStyle as Je, createVNode as he, toDisplayString as ce, normalizeClass as Ce, watch as ft, nextTick as Fe, unref as ve, renderList as tt, withDirectives as kt, vModelText as Nt, withKeys as Nn, createBlock as Zi, Transition as _r, withCtx as qn, renderSlot as Ro, resolveComponent as Cr, vShow as Mo, createTextVNode as tn } from "vue";
5
- const Ar = ["width", "height", "stroke-width"], Nr = {
1
+ var Ar = Object.defineProperty;
2
+ var Nr = (e, n, t) => n in e ? Ar(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
3
+ var De = (e, n, t) => Nr(e, typeof n != "symbol" ? n + "" : n, t);
4
+ import { defineComponent as Tt, openBlock as b, createElementBlock as v, Fragment as oe, createElementVNode as u, createStaticVNode as ct, createCommentVNode as V, ref as K, reactive as on, onMounted as Zn, onBeforeUnmount as Xt, computed as ue, withModifiers as ge, normalizeStyle as Je, createVNode as he, toDisplayString as ce, normalizeClass as Ce, watch as ft, nextTick as Fe, unref as ve, renderList as tt, withDirectives as kt, vModelText as Nt, withKeys as Nn, createBlock as Zi, Transition as Rr, withCtx as qn, renderSlot as Ro, resolveComponent as Mr, vShow as Mo, createTextVNode as tn } from "vue";
5
+ const Or = ["width", "height", "stroke-width"], Ir = {
6
6
  key: 4,
7
7
  points: "6 9 12 15 18 9"
8
- }, Rr = {
8
+ }, zr = {
9
9
  key: 5,
10
10
  points: "9 6 15 12 9 18"
11
11
  }, Oe = /* @__PURE__ */ Tt({
@@ -67,7 +67,7 @@ const Ar = ["width", "height", "stroke-width"], Nr = {
67
67
  x2: "18",
68
68
  y2: "10"
69
69
  }, null, -1))
70
- ], 64)) : e.name === "collapse" ? (b(), v("polyline", Nr)) : e.name === "expand" ? (b(), v("polyline", Rr)) : e.name === "collapse-all" ? (b(), v(oe, { key: 6 }, [
70
+ ], 64)) : e.name === "collapse" ? (b(), v("polyline", Ir)) : e.name === "expand" ? (b(), v("polyline", zr)) : e.name === "collapse-all" ? (b(), v(oe, { key: 6 }, [
71
71
  t[8] || (t[8] = ct('<line x1="4" y1="4" x2="10" y2="10"></line><polyline points="6 10 10 10 10 6"></polyline><line x1="20" y1="4" x2="14" y2="10"></line><polyline points="14 6 14 10 18 10"></polyline><line x1="20" y1="20" x2="14" y2="14"></line><polyline points="14 18 14 14 18 14"></polyline><line x1="4" y1="20" x2="10" y2="14"></line><polyline points="6 14 10 14 10 18"></polyline>', 8))
72
72
  ], 64)) : e.name === "expand-all" ? (b(), v(oe, { key: 7 }, [
73
73
  t[9] || (t[9] = ct('<line x1="10" y1="10" x2="4" y2="4"></line><polyline points="4 6 4 4 6 4"></polyline><line x1="14" y1="10" x2="20" y2="4"></line><polyline points="20 6 20 4 18 4"></polyline><line x1="14" y1="14" x2="20" y2="20"></line><polyline points="20 18 20 20 18 20"></polyline><line x1="10" y1="14" x2="4" y2="20"></line><polyline points="4 18 4 20 6 20"></polyline>', 8))
@@ -287,24 +287,24 @@ const Ar = ["width", "height", "stroke-width"], Nr = {
287
287
  y2: "16"
288
288
  }, null, -1))
289
289
  ], 64)) : V("", !0)
290
- ], 8, Ar));
290
+ ], 8, Or));
291
291
  }
292
- }), ys = "data:image/svg+xml,%3csvg%20t='1780822312364'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='7459'%20width='200'%20height='200'%3e%3cpath%20d='M329.16%20292.571h658.286V512H329.16zM329.16%200h658.286v219.429H329.16z'%20fill='%239AA1A2'%20p-id='7460'%3e%3c/path%3e%3cpath%20d='M44.927%20146.286a46.519%2046.519%200%200%201%2038.107-73.143h319.269v73.143H109.73V791.99l-48.713%205.705-24.43-651.41h8.339z'%20fill='%239AA1A2'%20p-id='7461'%3e%3c/path%3e%3cpath%20d='M363.83%20877.714H179.51c-78.775%200-142.921-66.12-142.921-147.31V112.787c0-21.943%2017.188-39.643%2038.473-39.643%2021.211%200%2033.5%2017.774%2033.5%2039.643v617.619c0%2037.522%2028.013%2076.58%2064.438%2076.58h190.903c21.211%200%2038.766%2013.97%2038.766%2035.84%200%2021.943-17.555%2034.89-38.766%2034.89z'%20fill='%239AA1A2'%20p-id='7462'%3e%3c/path%3e%3cpath%20d='M432.95%20438.857H179.51c-78.775%200-81.043-18.578-81.043-62.903l10.094-90.624c0%2020.48%2013.458%2080.677%2049.884%2080.677h210.139c21.211%200%20120.613%204.023%20120.613%2016.018%200%2011.922-35.036%2056.832-56.32%2056.832zM640.017%20749.714V640a54.857%2054.857%200%200%201%20109.714%200v109.714h109.715a54.857%2054.857%200%200%201%200%20109.715H749.73v109.714a54.857%2054.857%200%200%201-109.714%200V859.429H530.303a54.857%2054.857%200%200%201%200-109.715h109.714z'%20fill='%239AA1A2'%20p-id='7463'%3e%3c/path%3e%3c/svg%3e", ks = "data:image/svg+xml,%3csvg%20t='1780822464335'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8457'%20width='200'%20height='200'%3e%3cpath%20d='M512%20804.571h512V1024H512V804.571zM0%200h658.286v219.429H0V0z'%20fill='%239AA1A2'%20p-id='8458'%3e%3c/path%3e%3cpath%20d='M619.813%20950.857h-184.32c-78.775%200-142.922-66.121-142.922-147.31V185.93c0-21.943%2017.189-39.643%2038.474-39.643%2021.211%200%2033.353%2017.773%2033.353%2039.643v617.618c0%2037.523%2034.743%2073.728%2071.095%2073.728h184.32c21.211%200%2038.473%2012.069%2038.473%2033.939%200%2021.943-17.189%2039.643-38.473%2039.643z'%20fill='%239AA1A2'%20p-id='8459'%3e%3c/path%3e%3cpath%20d='M676.571%20457.143V347.429a54.857%2054.857%200%200%201%20109.715%200v109.714H896a54.857%2054.857%200%200%201%200%20109.714H786.286v109.714a54.857%2054.857%200%200%201-109.715%200V566.857H566.857a54.857%2054.857%200%200%201%200-109.714h109.714z'%20fill='%239AA1A2'%20p-id='8460'%3e%3c/path%3e%3c/svg%3e", xs = [18, 15, 13, 12], Mr = [700, 600, 500, 400], Or = [52, 40, 32, 28], Ir = [120, 80, 60, 44], zr = [0.8, 0.8, 0.8, 0.8], Lr = xs.length - 1;
293
- function $r(e, n) {
294
- return Math.round(oo(e, n) * zr[Ri(e)]);
292
+ }), ys = "data:image/svg+xml,%3csvg%20t='1780822312364'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='7459'%20width='200'%20height='200'%3e%3cpath%20d='M329.16%20292.571h658.286V512H329.16zM329.16%200h658.286v219.429H329.16z'%20fill='%239AA1A2'%20p-id='7460'%3e%3c/path%3e%3cpath%20d='M44.927%20146.286a46.519%2046.519%200%200%201%2038.107-73.143h319.269v73.143H109.73V791.99l-48.713%205.705-24.43-651.41h8.339z'%20fill='%239AA1A2'%20p-id='7461'%3e%3c/path%3e%3cpath%20d='M363.83%20877.714H179.51c-78.775%200-142.921-66.12-142.921-147.31V112.787c0-21.943%2017.188-39.643%2038.473-39.643%2021.211%200%2033.5%2017.774%2033.5%2039.643v617.619c0%2037.522%2028.013%2076.58%2064.438%2076.58h190.903c21.211%200%2038.766%2013.97%2038.766%2035.84%200%2021.943-17.555%2034.89-38.766%2034.89z'%20fill='%239AA1A2'%20p-id='7462'%3e%3c/path%3e%3cpath%20d='M432.95%20438.857H179.51c-78.775%200-81.043-18.578-81.043-62.903l10.094-90.624c0%2020.48%2013.458%2080.677%2049.884%2080.677h210.139c21.211%200%20120.613%204.023%20120.613%2016.018%200%2011.922-35.036%2056.832-56.32%2056.832zM640.017%20749.714V640a54.857%2054.857%200%200%201%20109.714%200v109.714h109.715a54.857%2054.857%200%200%201%200%20109.715H749.73v109.714a54.857%2054.857%200%200%201-109.714%200V859.429H530.303a54.857%2054.857%200%200%201%200-109.715h109.714z'%20fill='%239AA1A2'%20p-id='7463'%3e%3c/path%3e%3c/svg%3e", ks = "data:image/svg+xml,%3csvg%20t='1780822464335'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8457'%20width='200'%20height='200'%3e%3cpath%20d='M512%20804.571h512V1024H512V804.571zM0%200h658.286v219.429H0V0z'%20fill='%239AA1A2'%20p-id='8458'%3e%3c/path%3e%3cpath%20d='M619.813%20950.857h-184.32c-78.775%200-142.922-66.121-142.922-147.31V185.93c0-21.943%2017.189-39.643%2038.474-39.643%2021.211%200%2033.353%2017.773%2033.353%2039.643v617.618c0%2037.523%2034.743%2073.728%2071.095%2073.728h184.32c21.211%200%2038.473%2012.069%2038.473%2033.939%200%2021.943-17.189%2039.643-38.473%2039.643z'%20fill='%239AA1A2'%20p-id='8459'%3e%3c/path%3e%3cpath%20d='M676.571%20457.143V347.429a54.857%2054.857%200%200%201%20109.715%200v109.714H896a54.857%2054.857%200%200%201%200%20109.714H786.286v109.714a54.857%2054.857%200%200%201-109.715%200V566.857H566.857a54.857%2054.857%200%200%201%200-109.714h109.714z'%20fill='%239AA1A2'%20p-id='8460'%3e%3c/path%3e%3c/svg%3e", xs = [18, 15, 13, 12], Lr = [700, 600, 500, 400], $r = [52, 40, 32, 28], Dr = [120, 80, 60, 44], Pr = [0.8, 0.8, 0.8, 0.8], Br = xs.length - 1;
293
+ function Ur(e, n) {
294
+ return Math.round(oo(e, n) * Pr[Ri(e)]);
295
295
  }
296
296
  function Ri(e) {
297
- return Math.min(Lr, Math.max(0, e));
297
+ return Math.min(Br, Math.max(0, e));
298
298
  }
299
299
  function oo(e, n = 14) {
300
300
  return Math.round(xs[Ri(e)] * n / 14 * 10) / 10;
301
301
  }
302
- function Dr(e, n = 14) {
303
- return Math.round(Or[Ri(e)] * n / 14);
302
+ function Hr(e, n = 14) {
303
+ return Math.round($r[Ri(e)] * n / 14);
304
304
  }
305
- const mi = 60, Mn = 14, Et = 24;
305
+ const bi = 60, Mn = 14, Et = 24;
306
306
  let Hi = null;
307
- function Pr() {
307
+ function Fr() {
308
308
  if (Hi) return Hi;
309
309
  const e = typeof document < "u" ? document.createElement("canvas").getContext("2d") : null;
310
310
  return e ? (Hi = e, e) : {
@@ -313,27 +313,27 @@ function Pr() {
313
313
  };
314
314
  }
315
315
  const Oo = /* @__PURE__ */ new Map();
316
- function Br(e, n, t) {
316
+ function Wr(e, n, t) {
317
317
  const i = `${t}|${n}|${e}`, o = Oo.get(i);
318
318
  if (o !== void 0) return o;
319
- const r = Pr();
319
+ const r = Fr();
320
320
  r.font = `${t} ${n}px "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif`;
321
321
  const a = r.measureText(e).width;
322
322
  return Oo.set(i, a), a;
323
323
  }
324
- const Ur = 24, Hr = 400, Fr = 8, Io = 16, Wr = 4, Gr = 200;
325
- function jr(e, n, t) {
324
+ const Gr = 24, jr = 400, qr = 8, Io = 16, Kr = 4, Vr = 200;
325
+ function Yr(e, n, t) {
326
326
  return Math.min(t, Math.max(n, e));
327
327
  }
328
- function qr(e, n, t, i, o) {
329
- const r = Ri(n), a = oo(n, t), d = Math.min(Br(e.text || "", a, Mr[r]), Gr), l = $r(n, t), f = Math.ceil(d + l * 2), h = !!(e.richContent && (e.richContent.kind === "code" || e.richContent.kind === "table")) ? Math.ceil(a * 1.2) + 6 : Dr(n, t);
328
+ function Zr(e, n, t, i, o) {
329
+ const r = Ri(n), a = oo(n, t), d = Math.min(Wr(e.text || "", a, Lr[r]), Vr), l = Ur(n, t), f = Math.ceil(d + l * 2), h = !!(e.richContent && (e.richContent.kind === "code" || e.richContent.kind === "table")) ? Math.ceil(a * 1.2) + 6 : Hr(n, t);
330
330
  let x = 0;
331
331
  if (e.link && (x += Io), e.note && (x += Io), x > 0) {
332
332
  const m = (e.link ? 1 : 0) + (e.note ? 1 : 0);
333
- x += Wr * m;
333
+ x += Kr * m;
334
334
  }
335
335
  const S = f + x, k = (() => {
336
- const m = Math.round(Ir[r] * t / 14);
336
+ const m = Math.round(Dr[r] * t / 14);
337
337
  if (e.richContent && (e.richContent.kind === "code" || e.richContent.kind === "table")) {
338
338
  const L = o == null ? void 0 : o[e.id];
339
339
  return Math.max(m, L ?? 240);
@@ -344,14 +344,14 @@ function qr(e, n, t, i, o) {
344
344
  const m = Math.max(k, S), L = Math.ceil(h + M + E);
345
345
  return { w: m, h: L };
346
346
  }
347
- const _ = jr(e.image.width, Ur, Hr), R = Math.max(k, S, Math.ceil(_ + l * 2)), A = Math.ceil(e.image.height + Fr + h + M + E);
347
+ const _ = Yr(e.image.width, Gr, jr), R = Math.max(k, S, Math.ceil(_ + l * 2)), A = Math.ceil(e.image.height + qr + h + M + E);
348
348
  return { w: R, h: A };
349
349
  }
350
- function Kr(e, n = {}) {
350
+ function Xr(e, n = {}) {
351
351
  const t = n.mode ?? "mindmap", i = n.preservePositions === !0, o = n.baseFontSize ?? 14, r = Es(e, 0, null, 1, "right", o, n.richHeights, n.richWidths);
352
- return Yr(r), Vr(r, t, i), r.x = 0, r.y = 0, Zr(r, i);
352
+ return Qr(r), Jr(r, t, i), r.x = 0, r.y = 0, el(r, i);
353
353
  }
354
- function Vr(e, n, t = !1) {
354
+ function Jr(e, n, t = !1) {
355
355
  if (n === "mindmap") {
356
356
  const i = e.children;
357
357
  if (i.length !== 0) if (i.length === 1)
@@ -378,11 +378,11 @@ function Vr(e, n, t = !1) {
378
378
  for (const d of r) a(d, "left");
379
379
  if (o.length > 0) {
380
380
  const d = { ...e, children: o };
381
- Si(d, "right", mi, !0, t);
381
+ Si(d, "right", bi, !0, t);
382
382
  }
383
383
  if (r.length > 0) {
384
384
  const d = { ...e, children: r };
385
- Si(d, "left", mi, !0, t);
385
+ Si(d, "left", bi, !0, t);
386
386
  }
387
387
  } else if (n === "tree") {
388
388
  const i = (o) => {
@@ -390,10 +390,10 @@ function Vr(e, n, t = !1) {
390
390
  for (const r of o.children) i(r);
391
391
  };
392
392
  for (const o of e.children) o._dir = "right";
393
- Si(e, "right", mi, !0, t), i(e);
393
+ Si(e, "right", bi, !0, t), i(e);
394
394
  } else {
395
395
  for (const i of e.children) i._dir = "down";
396
- ws(e, mi, t);
396
+ ws(e, bi, t);
397
397
  }
398
398
  }
399
399
  function Si(e, n, t, i, o = !1) {
@@ -419,7 +419,7 @@ function ws(e, n, t = !1) {
419
419
  });
420
420
  }
421
421
  function Es(e, n, t, i, o, r, a, d) {
422
- const l = qr(e, n, r, a, d), f = {
422
+ const l = Zr(e, n, r, a, d), f = {
423
423
  id: e.id,
424
424
  text: e.text,
425
425
  depth: n,
@@ -452,7 +452,7 @@ function Es(e, n, t, i, o, r, a, d) {
452
452
  return Es(x, n + 1, f, k, o, r, a, d);
453
453
  }), f;
454
454
  }
455
- function Yr(e) {
455
+ function Qr(e) {
456
456
  const n = [e];
457
457
  for (let t = 0; t < n.length; t++) {
458
458
  const i = n[t];
@@ -470,7 +470,7 @@ function Yr(e) {
470
470
  i.children.length > 1 && (o += Mn * (i.children.length - 1), r += Mn * 2 * (i.children.length - 1)), i._subtreeH = Math.max(i.height, o), i._subtreeW = Math.max(i.width, r);
471
471
  }
472
472
  }
473
- function Zr(e, n = !1) {
473
+ function el(e, n = !1) {
474
474
  const t = [e];
475
475
  let i = 1 / 0, o = -1 / 0, r = 1 / 0, a = -1 / 0;
476
476
  for (; t.length; ) {
@@ -574,23 +574,23 @@ const Gt = [
574
574
  ]
575
575
  }
576
576
  ];
577
- function Xr(e, n = []) {
577
+ function tl(e, n = []) {
578
578
  return [...Gt, ...n].find((i) => i.id === e) ?? Gt[0];
579
579
  }
580
- function Jr(e, n = 8) {
580
+ function nl(e, n = 8) {
581
581
  const t = [], i = /* @__PURE__ */ new Set(), o = /#[0-9a-fA-F]{3,8}\b|rgba?\([^)]+\)|[A-Za-z][A-Za-z0-9_-]{2,30}/g;
582
582
  let r;
583
583
  for (; (r = o.exec(e)) !== null; ) {
584
584
  const a = r[0];
585
585
  let d = null;
586
- if (a.startsWith("#") ? d = Qr(a) : a.startsWith("rgb") ? d = el(a) : d = tl[a.toLowerCase()] ?? null, !d) continue;
586
+ if (a.startsWith("#") ? d = il(a) : a.startsWith("rgb") ? d = ol(a) : d = sl[a.toLowerCase()] ?? null, !d) continue;
587
587
  const l = d.toLowerCase();
588
588
  if (!i.has(l) && (i.add(l), t.push(l), t.length >= n))
589
589
  break;
590
590
  }
591
591
  return t;
592
592
  }
593
- function Qr(e) {
593
+ function il(e) {
594
594
  const n = e.startsWith("#") ? e.slice(1) : e;
595
595
  if (!/^[0-9a-fA-F]+$/.test(n)) return null;
596
596
  let t;
@@ -606,7 +606,7 @@ function Qr(e) {
606
606
  return null;
607
607
  return "#" + t.toLowerCase();
608
608
  }
609
- function el(e) {
609
+ function ol(e) {
610
610
  const n = e.match(/^rgba?\(\s*([^)]+?)\s*\)$/i);
611
611
  if (!n) return null;
612
612
  const t = n[1].split(/\s*,\s*/);
@@ -626,7 +626,7 @@ function el(e) {
626
626
  }
627
627
  return "#" + i.map((o) => o.toString(16).padStart(2, "0")).join("").toLowerCase();
628
628
  }
629
- const tl = {
629
+ const sl = {
630
630
  black: "#000000",
631
631
  white: "#ffffff",
632
632
  red: "#ff0000",
@@ -710,11 +710,11 @@ function Ss(e, n) {
710
710
  if (Ss(i, n)) return !0;
711
711
  return !1;
712
712
  }
713
- function nl(e, n, t) {
713
+ function rl(e, n, t) {
714
714
  const i = _e(e, n);
715
715
  return !i || i.text === t ? !1 : (i.text = t, !0);
716
716
  }
717
- function il(e, n, t, i) {
717
+ function ll(e, n, t, i) {
718
718
  if (!Pt(e, n) || n === t || _e(_e(e, n), t)) return !1;
719
719
  const o = Pt(e, n), r = o.children.findIndex((f) => f.id === n);
720
720
  if (r < 0) return !1;
@@ -743,13 +743,13 @@ function Ts(e) {
743
743
  }
744
744
  return t === 0 && !i ? Ti : t > 0 ? `新节点 ${t + 1}` : "新节点 2";
745
745
  }
746
- function ol(e, n, t) {
746
+ function al(e, n, t) {
747
747
  const i = _e(e, n);
748
748
  if (!i) return null;
749
749
  const o = { id: jt(), text: t ?? Ts(i), children: [] };
750
750
  return i.children.push(o), o;
751
751
  }
752
- function sl(e, n, t) {
752
+ function cl(e, n, t) {
753
753
  const i = Pt(e, n);
754
754
  if (!i) return null;
755
755
  const o = i.children.findIndex((a) => a.id === n);
@@ -757,7 +757,7 @@ function sl(e, n, t) {
757
757
  const r = { id: jt(), text: t ?? Ts(i), children: [] };
758
758
  return i.children.splice(o + 1, 0, r), r;
759
759
  }
760
- function rl(e, n, t) {
760
+ function ul(e, n, t) {
761
761
  const i = Pt(e, n);
762
762
  if (!i) return null;
763
763
  const o = i.children.findIndex((a) => a.id === n);
@@ -765,7 +765,7 @@ function rl(e, n, t) {
765
765
  const r = { id: jt(), text: t, children: [] };
766
766
  return i.children.splice(o, 0, r), r;
767
767
  }
768
- function ll(e, n) {
768
+ function dl(e, n) {
769
769
  const t = Pt(e, n);
770
770
  if (!t) return null;
771
771
  const i = t.children.findIndex((a) => a.id === n);
@@ -778,7 +778,7 @@ function _s(e) {
778
778
  for (const n of e.children) _s(n);
779
779
  }
780
780
  const Ti = "新节点";
781
- function Zn(e, n = "导入的导图") {
781
+ function Xn(e, n = "导入的导图") {
782
782
  const t = e.split(/\r?\n/), i = { id: jt(), text: n, children: [] }, o = [i], r = [-1 / 0], a = [], d = /^(#{1,6})\s+(.+?)\s*#*\s*$/, l = /^!\[([^\]]*)\]\((\S+?)(?:\s+"[^"]*")?\)\s*$/, f = /^\[([^\]]+)\]\((\S+?)(?:\s+"[^"]*")?\)\s*$/, g = /^(`{3,}|~{3,})\s*(\S+)?\s*$/;
783
783
  let h = !1, x = [], S = null;
784
784
  function k(E) {
@@ -849,17 +849,17 @@ function Zn(e, n = "导入的导图") {
849
849
  }
850
850
  return i;
851
851
  }
852
- function Xn(e, n = 1) {
852
+ function Jn(e, n = 1) {
853
853
  let t = "#".repeat(n) + " " + (e.text || "") + `
854
854
  `;
855
855
  e.link && (t += `[${e.text || "link"}](${e.link.url})
856
856
  `), e.image && (t += `![image](${e.image.src})
857
857
  `), e.note && (t += "```note\n" + e.note.text + "\n```\n"), e.richContent && (t += e.richContent.raw + `
858
858
  `);
859
- for (const i of e.children) t += Xn(i, n + 1);
859
+ for (const i of e.children) t += Jn(i, n + 1);
860
860
  return t;
861
861
  }
862
- function al(e) {
862
+ function fl(e) {
863
863
  var f, g;
864
864
  const n = e.split(/\r?\n/), t = [];
865
865
  let i = 0;
@@ -946,7 +946,7 @@ function al(e) {
946
946
  return t;
947
947
  }
948
948
  function Cp(e, n = "导入的导图") {
949
- const t = al(e || ""), i = { id: jt(), text: n, children: [] }, o = [i], r = [0];
949
+ const t = fl(e || ""), i = { id: jt(), text: n, children: [] }, o = [i], r = [0];
950
950
  let a = !1;
951
951
  function d(l) {
952
952
  if (l.kind === "heading") {
@@ -976,7 +976,7 @@ function Ap(e) {
976
976
  return e.richContent ? e.richContent.raw + `
977
977
  ` : "";
978
978
  }
979
- function cl(e) {
979
+ function pl(e) {
980
980
  const n = e.minScale ?? 0.2, t = e.maxScale ?? 1 / 0, i = e.step ?? 1.2, o = K(1), r = K(0), a = K(0), d = K(!1), l = on({
981
981
  x: 0,
982
982
  y: 0,
@@ -1052,11 +1052,11 @@ function cl(e) {
1052
1052
  resetView: ae
1053
1053
  };
1054
1054
  }
1055
- const ul = typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform);
1055
+ const gl = typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform);
1056
1056
  function zo(e) {
1057
- return ul ? e.metaKey : e.ctrlKey;
1057
+ return gl ? e.metaKey : e.ctrlKey;
1058
1058
  }
1059
- function dl(e) {
1059
+ function hl(e) {
1060
1060
  function n() {
1061
1061
  const i = e.getSelectedId();
1062
1062
  return i || (e.defaultTargetId ? e.defaultTargetId() : e.getRootId());
@@ -1091,13 +1091,13 @@ function dl(e) {
1091
1091
  i.key === "Tab" ? (i.preventDefault(), e.onAddChild(a)) : i.key === "Enter" ? (i.preventDefault(), i.shiftKey ? r && r !== e.getRootId() && e.onAddSiblingBefore(r) : e.onAddSibling(a)) : (i.key === "Delete" || i.key === "Backspace") && r && r !== e.getRootId() ? (i.preventDefault(), e.onRemove(r)) : i.key === "F2" && r ? (i.preventDefault(), e.onStartEdit(r)) : i.key === "Escape" ? (i.preventDefault(), e.onClearSelection()) : i.key === "ArrowDown" ? (i.preventDefault(), e.onNavigate(0, 1)) : i.key === "ArrowUp" ? (i.preventDefault(), e.onNavigate(0, -1)) : i.key === "ArrowRight" ? (i.preventDefault(), e.onNavigate(1, 0)) : i.key === "ArrowLeft" && (i.preventDefault(), e.onNavigate(-1, 0));
1092
1092
  }
1093
1093
  }
1094
- Yn(() => {
1094
+ Zn(() => {
1095
1095
  window.addEventListener("keydown", t);
1096
1096
  }), Xt(() => {
1097
1097
  window.removeEventListener("keydown", t);
1098
1098
  });
1099
1099
  }
1100
- function fl(e = 100) {
1100
+ function ml(e = 100) {
1101
1101
  const n = K([]);
1102
1102
  let t = -1;
1103
1103
  function i() {
@@ -1129,7 +1129,7 @@ function fl(e = 100) {
1129
1129
  reset: l
1130
1130
  };
1131
1131
  }
1132
- const pl = /* @__PURE__ */ Tt({
1132
+ const bl = /* @__PURE__ */ Tt({
1133
1133
  __name: "NodeContextMenu",
1134
1134
  props: {
1135
1135
  x: {},
@@ -1280,7 +1280,7 @@ const pl = /* @__PURE__ */ Tt({
1280
1280
  ])) : V("", !0)
1281
1281
  ], 36));
1282
1282
  }
1283
- }), gl = /* @__PURE__ */ Tt({
1283
+ }), vl = /* @__PURE__ */ Tt({
1284
1284
  __name: "CanvasContextMenu",
1285
1285
  props: {
1286
1286
  x: {},
@@ -1428,7 +1428,7 @@ const pl = /* @__PURE__ */ Tt({
1428
1428
  ], 36));
1429
1429
  }
1430
1430
  });
1431
- function hl(e) {
1431
+ function yl(e) {
1432
1432
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
1433
1433
  }
1434
1434
  function Cs(e) {
@@ -1465,7 +1465,7 @@ function Zt(e, ...n) {
1465
1465
  }), /** @type {T} */
1466
1466
  t;
1467
1467
  }
1468
- const ml = "</span>", $o = (e) => !!e.scope, bl = (e, { prefix: n }) => {
1468
+ const kl = "</span>", $o = (e) => !!e.scope, xl = (e, { prefix: n }) => {
1469
1469
  if (e.startsWith("language:"))
1470
1470
  return e.replace("language:", "language-");
1471
1471
  if (e.includes(".")) {
@@ -1477,7 +1477,7 @@ const ml = "</span>", $o = (e) => !!e.scope, bl = (e, { prefix: n }) => {
1477
1477
  }
1478
1478
  return `${n}${e}`;
1479
1479
  };
1480
- class vl {
1480
+ class wl {
1481
1481
  /**
1482
1482
  * Creates a new HTMLRenderer
1483
1483
  *
@@ -1500,7 +1500,7 @@ class vl {
1500
1500
  * @param {Node} node */
1501
1501
  openNode(n) {
1502
1502
  if (!$o(n)) return;
1503
- const t = bl(
1503
+ const t = xl(
1504
1504
  n.scope,
1505
1505
  { prefix: this.classPrefix }
1506
1506
  );
@@ -1511,7 +1511,7 @@ class vl {
1511
1511
  *
1512
1512
  * @param {Node} node */
1513
1513
  closeNode(n) {
1514
- $o(n) && (this.buffer += ml);
1514
+ $o(n) && (this.buffer += kl);
1515
1515
  }
1516
1516
  /**
1517
1517
  * returns the accumulated buffer
@@ -1584,7 +1584,7 @@ class so {
1584
1584
  }));
1585
1585
  }
1586
1586
  }
1587
- class yl extends so {
1587
+ class El extends so {
1588
1588
  /**
1589
1589
  * @param {*} options
1590
1590
  */
@@ -1613,50 +1613,50 @@ class yl extends so {
1613
1613
  t && (i.scope = `language:${t}`), this.add(i);
1614
1614
  }
1615
1615
  toHTML() {
1616
- return new vl(this, this.options).value();
1616
+ return new wl(this, this.options).value();
1617
1617
  }
1618
1618
  finalize() {
1619
1619
  return this.closeAllNodes(), !0;
1620
1620
  }
1621
1621
  }
1622
- function Jn(e) {
1622
+ function Qn(e) {
1623
1623
  return e ? typeof e == "string" ? e : e.source : null;
1624
1624
  }
1625
1625
  function Ns(e) {
1626
1626
  return ln("(?=", e, ")");
1627
1627
  }
1628
- function kl(e) {
1628
+ function Sl(e) {
1629
1629
  return ln("(?:", e, ")*");
1630
1630
  }
1631
- function xl(e) {
1631
+ function Tl(e) {
1632
1632
  return ln("(?:", e, ")?");
1633
1633
  }
1634
1634
  function ln(...e) {
1635
- return e.map((t) => Jn(t)).join("");
1635
+ return e.map((t) => Qn(t)).join("");
1636
1636
  }
1637
- function wl(e) {
1637
+ function _l(e) {
1638
1638
  const n = e[e.length - 1];
1639
1639
  return typeof n == "object" && n.constructor === Object ? (e.splice(e.length - 1, 1), n) : {};
1640
1640
  }
1641
1641
  function ro(...e) {
1642
- return "(" + (wl(e).capture ? "" : "?:") + e.map((i) => Jn(i)).join("|") + ")";
1642
+ return "(" + (_l(e).capture ? "" : "?:") + e.map((i) => Qn(i)).join("|") + ")";
1643
1643
  }
1644
1644
  function Rs(e) {
1645
1645
  return new RegExp(e.toString() + "|").exec("").length - 1;
1646
1646
  }
1647
- function El(e, n) {
1647
+ function Cl(e, n) {
1648
1648
  const t = e && e.exec(n);
1649
1649
  return t && t.index === 0;
1650
1650
  }
1651
- const Sl = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;
1651
+ const Al = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;
1652
1652
  function lo(e, { joinWith: n }) {
1653
1653
  let t = 0;
1654
1654
  return e.map((i) => {
1655
1655
  t += 1;
1656
1656
  const o = t;
1657
- let r = Jn(i), a = "";
1657
+ let r = Qn(i), a = "";
1658
1658
  for (; r.length > 0; ) {
1659
- const d = Sl.exec(r);
1659
+ const d = Al.exec(r);
1660
1660
  if (!d) {
1661
1661
  a += r;
1662
1662
  break;
@@ -1666,7 +1666,7 @@ function lo(e, { joinWith: n }) {
1666
1666
  return a;
1667
1667
  }).map((i) => `(${i})`).join(n);
1668
1668
  }
1669
- const Tl = /\b\B/, Ms = "[a-zA-Z]\\w*", ao = "[a-zA-Z_]\\w*", Os = "\\b\\d+(\\.\\d+)?", Is = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", zs = "\\b(0b[01]+)", _l = "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", Cl = (e = {}) => {
1669
+ const Nl = /\b\B/, Ms = "[a-zA-Z]\\w*", ao = "[a-zA-Z_]\\w*", Os = "\\b\\d+(\\.\\d+)?", Is = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", zs = "\\b(0b[01]+)", Rl = "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", Ml = (e = {}) => {
1670
1670
  const n = /^#![ ]*\//;
1671
1671
  return e.binary && (e.begin = ln(
1672
1672
  n,
@@ -1683,22 +1683,22 @@ const Tl = /\b\B/, Ms = "[a-zA-Z]\\w*", ao = "[a-zA-Z_]\\w*", Os = "\\b\\d+(\\.\
1683
1683
  t.index !== 0 && i.ignoreMatch();
1684
1684
  }
1685
1685
  }, e);
1686
- }, Qn = {
1686
+ }, ei = {
1687
1687
  begin: "\\\\[\\s\\S]",
1688
1688
  relevance: 0
1689
- }, Al = {
1689
+ }, Ol = {
1690
1690
  scope: "string",
1691
1691
  begin: "'",
1692
1692
  end: "'",
1693
1693
  illegal: "\\n",
1694
- contains: [Qn]
1695
- }, Nl = {
1694
+ contains: [ei]
1695
+ }, Il = {
1696
1696
  scope: "string",
1697
1697
  begin: '"',
1698
1698
  end: '"',
1699
1699
  illegal: "\\n",
1700
- contains: [Qn]
1701
- }, Rl = {
1700
+ contains: [ei]
1701
+ }, zl = {
1702
1702
  begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
1703
1703
  }, Mi = function(e, n, t = {}) {
1704
1704
  const i = Zt(
@@ -1766,44 +1766,44 @@ const Tl = /\b\B/, Ms = "[a-zA-Z]\\w*", ao = "[a-zA-Z_]\\w*", Os = "\\b\\d+(\\.\
1766
1766
  // look for 3 words in a row
1767
1767
  }
1768
1768
  ), i;
1769
- }, Ml = Mi("//", "$"), Ol = Mi("/\\*", "\\*/"), Il = Mi("#", "$"), zl = {
1769
+ }, Ll = Mi("//", "$"), $l = Mi("/\\*", "\\*/"), Dl = Mi("#", "$"), Pl = {
1770
1770
  scope: "number",
1771
1771
  begin: Os,
1772
1772
  relevance: 0
1773
- }, Ll = {
1773
+ }, Bl = {
1774
1774
  scope: "number",
1775
1775
  begin: Is,
1776
1776
  relevance: 0
1777
- }, $l = {
1777
+ }, Ul = {
1778
1778
  scope: "number",
1779
1779
  begin: zs,
1780
1780
  relevance: 0
1781
- }, Dl = {
1781
+ }, Hl = {
1782
1782
  scope: "regexp",
1783
1783
  begin: /\/(?=[^/\n]*\/)/,
1784
1784
  end: /\/[gimuy]*/,
1785
1785
  contains: [
1786
- Qn,
1786
+ ei,
1787
1787
  {
1788
1788
  begin: /\[/,
1789
1789
  end: /\]/,
1790
1790
  relevance: 0,
1791
- contains: [Qn]
1791
+ contains: [ei]
1792
1792
  }
1793
1793
  ]
1794
- }, Pl = {
1794
+ }, Fl = {
1795
1795
  scope: "title",
1796
1796
  begin: Ms,
1797
1797
  relevance: 0
1798
- }, Bl = {
1798
+ }, Wl = {
1799
1799
  scope: "title",
1800
1800
  begin: ao,
1801
1801
  relevance: 0
1802
- }, Ul = {
1802
+ }, Gl = {
1803
1803
  // excludes method names from keyword processing
1804
1804
  begin: "\\.\\s*" + ao,
1805
1805
  relevance: 0
1806
- }, Hl = function(e) {
1806
+ }, jl = function(e) {
1807
1807
  return Object.assign(
1808
1808
  e,
1809
1809
  {
@@ -1818,55 +1818,55 @@ const Tl = /\b\B/, Ms = "[a-zA-Z]\\w*", ao = "[a-zA-Z_]\\w*", Os = "\\b\\d+(\\.\
1818
1818
  }
1819
1819
  );
1820
1820
  };
1821
- var bi = /* @__PURE__ */ Object.freeze({
1821
+ var vi = /* @__PURE__ */ Object.freeze({
1822
1822
  __proto__: null,
1823
- APOS_STRING_MODE: Al,
1824
- BACKSLASH_ESCAPE: Qn,
1825
- BINARY_NUMBER_MODE: $l,
1823
+ APOS_STRING_MODE: Ol,
1824
+ BACKSLASH_ESCAPE: ei,
1825
+ BINARY_NUMBER_MODE: Ul,
1826
1826
  BINARY_NUMBER_RE: zs,
1827
1827
  COMMENT: Mi,
1828
- C_BLOCK_COMMENT_MODE: Ol,
1829
- C_LINE_COMMENT_MODE: Ml,
1830
- C_NUMBER_MODE: Ll,
1828
+ C_BLOCK_COMMENT_MODE: $l,
1829
+ C_LINE_COMMENT_MODE: Ll,
1830
+ C_NUMBER_MODE: Bl,
1831
1831
  C_NUMBER_RE: Is,
1832
- END_SAME_AS_BEGIN: Hl,
1833
- HASH_COMMENT_MODE: Il,
1832
+ END_SAME_AS_BEGIN: jl,
1833
+ HASH_COMMENT_MODE: Dl,
1834
1834
  IDENT_RE: Ms,
1835
- MATCH_NOTHING_RE: Tl,
1836
- METHOD_GUARD: Ul,
1837
- NUMBER_MODE: zl,
1835
+ MATCH_NOTHING_RE: Nl,
1836
+ METHOD_GUARD: Gl,
1837
+ NUMBER_MODE: Pl,
1838
1838
  NUMBER_RE: Os,
1839
- PHRASAL_WORDS_MODE: Rl,
1840
- QUOTE_STRING_MODE: Nl,
1841
- REGEXP_MODE: Dl,
1842
- RE_STARTERS_RE: _l,
1843
- SHEBANG: Cl,
1844
- TITLE_MODE: Pl,
1839
+ PHRASAL_WORDS_MODE: zl,
1840
+ QUOTE_STRING_MODE: Il,
1841
+ REGEXP_MODE: Hl,
1842
+ RE_STARTERS_RE: Rl,
1843
+ SHEBANG: Ml,
1844
+ TITLE_MODE: Fl,
1845
1845
  UNDERSCORE_IDENT_RE: ao,
1846
- UNDERSCORE_TITLE_MODE: Bl
1846
+ UNDERSCORE_TITLE_MODE: Wl
1847
1847
  });
1848
- function Fl(e, n) {
1848
+ function ql(e, n) {
1849
1849
  e.input[e.index - 1] === "." && n.ignoreMatch();
1850
1850
  }
1851
- function Wl(e, n) {
1851
+ function Kl(e, n) {
1852
1852
  e.className !== void 0 && (e.scope = e.className, delete e.className);
1853
1853
  }
1854
- function Gl(e, n) {
1855
- n && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", e.__beforeBegin = Fl, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords, e.relevance === void 0 && (e.relevance = 0));
1854
+ function Vl(e, n) {
1855
+ n && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", e.__beforeBegin = ql, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords, e.relevance === void 0 && (e.relevance = 0));
1856
1856
  }
1857
- function jl(e, n) {
1857
+ function Yl(e, n) {
1858
1858
  Array.isArray(e.illegal) && (e.illegal = ro(...e.illegal));
1859
1859
  }
1860
- function ql(e, n) {
1860
+ function Zl(e, n) {
1861
1861
  if (e.match) {
1862
1862
  if (e.begin || e.end) throw new Error("begin & end are not supported with match");
1863
1863
  e.begin = e.match, delete e.match;
1864
1864
  }
1865
1865
  }
1866
- function Kl(e, n) {
1866
+ function Xl(e, n) {
1867
1867
  e.relevance === void 0 && (e.relevance = 1);
1868
1868
  }
1869
- const Vl = (e, n) => {
1869
+ const Jl = (e, n) => {
1870
1870
  if (!e.beforeMatch) return;
1871
1871
  if (e.starts) throw new Error("beforeMatch cannot be used with starts");
1872
1872
  const t = Object.assign({}, e);
@@ -1878,7 +1878,7 @@ const Vl = (e, n) => {
1878
1878
  Object.assign(t, { endsParent: !0 })
1879
1879
  ]
1880
1880
  }, e.relevance = 0, delete t.beforeMatch;
1881
- }, Yl = [
1881
+ }, Ql = [
1882
1882
  "of",
1883
1883
  "and",
1884
1884
  "for",
@@ -1893,8 +1893,8 @@ const Vl = (e, n) => {
1893
1893
  // common variable name
1894
1894
  "value"
1895
1895
  // common variable name
1896
- ], Zl = "keyword";
1897
- function Ls(e, n, t = Zl) {
1896
+ ], ea = "keyword";
1897
+ function Ls(e, n, t = ea) {
1898
1898
  const i = /* @__PURE__ */ Object.create(null);
1899
1899
  return typeof e == "string" ? o(t, e.split(" ")) : Array.isArray(e) ? o(t, e) : Object.keys(e).forEach(function(r) {
1900
1900
  Object.assign(
@@ -1905,15 +1905,15 @@ function Ls(e, n, t = Zl) {
1905
1905
  function o(r, a) {
1906
1906
  n && (a = a.map((d) => d.toLowerCase())), a.forEach(function(d) {
1907
1907
  const l = d.split("|");
1908
- i[l[0]] = [r, Xl(l[0], l[1])];
1908
+ i[l[0]] = [r, ta(l[0], l[1])];
1909
1909
  });
1910
1910
  }
1911
1911
  }
1912
- function Xl(e, n) {
1913
- return n ? Number(n) : Jl(e) ? 0 : 1;
1912
+ function ta(e, n) {
1913
+ return n ? Number(n) : na(e) ? 0 : 1;
1914
1914
  }
1915
- function Jl(e) {
1916
- return Yl.includes(e.toLowerCase());
1915
+ function na(e) {
1916
+ return Ql.includes(e.toLowerCase());
1917
1917
  }
1918
1918
  const Po = {}, sn = (e) => {
1919
1919
  console.error(e);
@@ -1929,7 +1929,7 @@ function $s(e, n, { key: t }) {
1929
1929
  a[d + i] = o[d], r[d + i] = !0, i += Rs(n[d - 1]);
1930
1930
  e[t] = a, e[t]._emit = r, e[t]._multi = !0;
1931
1931
  }
1932
- function Ql(e) {
1932
+ function ia(e) {
1933
1933
  if (Array.isArray(e.begin)) {
1934
1934
  if (e.skip || e.excludeBegin || e.returnBegin)
1935
1935
  throw sn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), _i;
@@ -1938,7 +1938,7 @@ function Ql(e) {
1938
1938
  $s(e, e.begin, { key: "beginScope" }), e.begin = lo(e.begin, { joinWith: "" });
1939
1939
  }
1940
1940
  }
1941
- function ea(e) {
1941
+ function oa(e) {
1942
1942
  if (Array.isArray(e.end)) {
1943
1943
  if (e.skip || e.excludeEnd || e.returnEnd)
1944
1944
  throw sn("skip, excludeEnd, returnEnd not compatible with endScope: {}"), _i;
@@ -1947,16 +1947,16 @@ function ea(e) {
1947
1947
  $s(e, e.end, { key: "endScope" }), e.end = lo(e.end, { joinWith: "" });
1948
1948
  }
1949
1949
  }
1950
- function ta(e) {
1950
+ function sa(e) {
1951
1951
  e.scope && typeof e.scope == "object" && e.scope !== null && (e.beginScope = e.scope, delete e.scope);
1952
1952
  }
1953
- function na(e) {
1954
- ta(e), typeof e.beginScope == "string" && (e.beginScope = { _wrap: e.beginScope }), typeof e.endScope == "string" && (e.endScope = { _wrap: e.endScope }), Ql(e), ea(e);
1953
+ function ra(e) {
1954
+ sa(e), typeof e.beginScope == "string" && (e.beginScope = { _wrap: e.beginScope }), typeof e.endScope == "string" && (e.endScope = { _wrap: e.endScope }), ia(e), oa(e);
1955
1955
  }
1956
- function ia(e) {
1956
+ function la(e) {
1957
1957
  function n(a, d) {
1958
1958
  return new RegExp(
1959
- Jn(a),
1959
+ Qn(a),
1960
1960
  "m" + (e.case_insensitive ? "i" : "") + (e.unicodeRegex ? "u" : "") + (d ? "g" : "")
1961
1961
  );
1962
1962
  }
@@ -2026,26 +2026,26 @@ function ia(e) {
2026
2026
  );
2027
2027
  if (a.isCompiled) return l;
2028
2028
  [
2029
- Wl,
2029
+ Kl,
2030
2030
  // do this early so compiler extensions generally don't have to worry about
2031
2031
  // the distinction between match/begin
2032
- ql,
2033
- na,
2034
- Vl
2032
+ Zl,
2033
+ ra,
2034
+ Jl
2035
2035
  ].forEach((g) => g(a, d)), e.compilerExtensions.forEach((g) => g(a, d)), a.__beforeBegin = null, [
2036
- Gl,
2036
+ Vl,
2037
2037
  // do this later so compiler extensions that come earlier have access to the
2038
2038
  // raw array if they wanted to perhaps manipulate it, etc.
2039
- jl,
2039
+ Yl,
2040
2040
  // default to 1 relevance if not specified
2041
- Kl
2041
+ Xl
2042
2042
  ].forEach((g) => g(a, d)), a.isCompiled = !0;
2043
2043
  let f = null;
2044
- return typeof a.keywords == "object" && a.keywords.$pattern && (a.keywords = Object.assign({}, a.keywords), f = a.keywords.$pattern, delete a.keywords.$pattern), f = f || /\w+/, a.keywords && (a.keywords = Ls(a.keywords, e.case_insensitive)), l.keywordPatternRe = n(f, !0), d && (a.begin || (a.begin = /\B|\b/), l.beginRe = n(l.begin), !a.end && !a.endsWithParent && (a.end = /\B|\b/), a.end && (l.endRe = n(l.end)), l.terminatorEnd = Jn(l.end) || "", a.endsWithParent && d.terminatorEnd && (l.terminatorEnd += (a.end ? "|" : "") + d.terminatorEnd)), a.illegal && (l.illegalRe = n(
2044
+ return typeof a.keywords == "object" && a.keywords.$pattern && (a.keywords = Object.assign({}, a.keywords), f = a.keywords.$pattern, delete a.keywords.$pattern), f = f || /\w+/, a.keywords && (a.keywords = Ls(a.keywords, e.case_insensitive)), l.keywordPatternRe = n(f, !0), d && (a.begin || (a.begin = /\B|\b/), l.beginRe = n(l.begin), !a.end && !a.endsWithParent && (a.end = /\B|\b/), a.end && (l.endRe = n(l.end)), l.terminatorEnd = Qn(l.end) || "", a.endsWithParent && d.terminatorEnd && (l.terminatorEnd += (a.end ? "|" : "") + d.terminatorEnd)), a.illegal && (l.illegalRe = n(
2045
2045
  /** @type {RegExp | string} */
2046
2046
  a.illegal
2047
2047
  )), a.contains || (a.contains = []), a.contains = [].concat(...a.contains.map(function(g) {
2048
- return oa(g === "self" ? a : g);
2048
+ return aa(g === "self" ? a : g);
2049
2049
  })), a.contains.forEach(function(g) {
2050
2050
  r(
2051
2051
  /** @type Mode */
@@ -2064,18 +2064,18 @@ function ia(e) {
2064
2064
  function Ds(e) {
2065
2065
  return e ? e.endsWithParent || Ds(e.starts) : !1;
2066
2066
  }
2067
- function oa(e) {
2067
+ function aa(e) {
2068
2068
  return e.variants && !e.cachedVariants && (e.cachedVariants = e.variants.map(function(n) {
2069
2069
  return Zt(e, { variants: null }, n);
2070
2070
  })), e.cachedVariants ? e.cachedVariants : Ds(e) ? Zt(e, { starts: e.starts ? Zt(e.starts) : null }) : Object.isFrozen(e) ? Zt(e) : e;
2071
2071
  }
2072
- var sa = "11.11.1";
2073
- class ra extends Error {
2072
+ var ca = "11.11.1";
2073
+ class ua extends Error {
2074
2074
  constructor(n, t) {
2075
2075
  super(n), this.name = "HTMLInjectionError", this.html = t;
2076
2076
  }
2077
2077
  }
2078
- const Fi = As, Uo = Zt, Ho = Symbol("nomatch"), la = 7, Ps = function(e) {
2078
+ const Fi = As, Uo = Zt, Ho = Symbol("nomatch"), da = 7, Ps = function(e) {
2079
2079
  const n = /* @__PURE__ */ Object.create(null), t = /* @__PURE__ */ Object.create(null), i = [];
2080
2080
  let o = !0;
2081
2081
  const r = "Could not find the language '{}', did you forget to load/include a language module?", a = { disableAutodetect: !0, name: "Plain text", contains: [] };
@@ -2089,7 +2089,7 @@ const Fi = As, Uo = Zt, Ho = Symbol("nomatch"), la = 7, Ps = function(e) {
2089
2089
  languages: null,
2090
2090
  // beta configuration options, subject to change, welcome to discuss
2091
2091
  // https://github.com/highlightjs/highlight.js/issues/1086
2092
- __emitter: yl
2092
+ __emitter: El
2093
2093
  };
2094
2094
  function l(T) {
2095
2095
  return d.noHighlightRe.test(T);
@@ -2134,7 +2134,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`), te = T, Z = H), P ===
2134
2134
  const Te = it.case_insensitive ? ee[0].toLowerCase() : ee[0], Ue = Se(se, Te);
2135
2135
  if (Ue) {
2136
2136
  const [nt, ht] = Ue;
2137
- if (Be.addText(be), be = "", te[Te] = (te[Te] || 0) + 1, te[Te] <= la && (Rt += ht), nt.startsWith("_"))
2137
+ if (Be.addText(be), be = "", te[Te] = (te[Te] || 0) + 1, te[Te] <= da && (Rt += ht), nt.startsWith("_"))
2138
2138
  be += ee[0];
2139
2139
  else {
2140
2140
  const Jt = it.classNameAliases[nt] || nt;
@@ -2182,7 +2182,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`), te = T, Z = H), P ===
2182
2182
  return G.scope && typeof G.scope == "string" && Be.openNode(it.classNameAliases[G.scope] || G.scope), G.beginScope && (G.beginScope._wrap ? (D(Re, it.classNameAliases[G.beginScope._wrap] || G.beginScope._wrap), Re = "") : G.beginScope._multi && (I(G.beginScope, ee), Re = "")), se = Object.create(G, { parent: { value: se } }), se;
2183
2183
  }
2184
2184
  function me(G, ee, be) {
2185
- let Te = El(G.endRe, be);
2185
+ let Te = Cl(G.endRe, be);
2186
2186
  if (Te) {
2187
2187
  if (G["on:end"]) {
2188
2188
  const Ue = new Lo(G);
@@ -2256,7 +2256,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`), te = T, Z = H), P ===
2256
2256
  const it = q(T);
2257
2257
  if (!it)
2258
2258
  throw sn(r.replace("{}", T)), new Error('Unknown language: "' + T + '"');
2259
- const cn = ia(it);
2259
+ const cn = la(it);
2260
2260
  let Bt = "", se = Z || cn;
2261
2261
  const _t = {}, Be = new d.__emitter(d);
2262
2262
  we();
@@ -2355,7 +2355,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`), te = T, Z = H), P ===
2355
2355
  return;
2356
2356
  }
2357
2357
  if (T.children.length > 0 && (d.ignoreUnescapedHTML || (console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), console.warn("The element with unescaped HTML:"), console.warn(T)), d.throwUnescapedHTML))
2358
- throw new ra(
2358
+ throw new ua(
2359
2359
  "One of your code blocks includes unescaped HTML.",
2360
2360
  T.innerHTML
2361
2361
  );
@@ -2474,22 +2474,22 @@ https://github.com/highlightjs/highlight.js/issues/2277`), te = T, Z = H), P ===
2474
2474
  o = !1;
2475
2475
  }, e.safeMode = function() {
2476
2476
  o = !0;
2477
- }, e.versionString = sa, e.regex = {
2477
+ }, e.versionString = ca, e.regex = {
2478
2478
  concat: ln,
2479
2479
  lookahead: Ns,
2480
2480
  either: ro,
2481
- optional: xl,
2482
- anyNumberOfTimes: kl
2481
+ optional: Tl,
2482
+ anyNumberOfTimes: Sl
2483
2483
  };
2484
- for (const T in bi)
2485
- typeof bi[T] == "object" && Cs(bi[T]);
2486
- return Object.assign(e, bi), e;
2484
+ for (const T in vi)
2485
+ typeof vi[T] == "object" && Cs(vi[T]);
2486
+ return Object.assign(e, vi), e;
2487
2487
  }, On = Ps({});
2488
2488
  On.newInstance = () => Ps({});
2489
- var aa = On;
2489
+ var fa = On;
2490
2490
  On.HighlightJS = On;
2491
2491
  On.default = On;
2492
- const Xi = /* @__PURE__ */ hl(aa);
2492
+ const Xi = /* @__PURE__ */ yl(fa);
2493
2493
  function Wi(e) {
2494
2494
  const n = e.regex, t = {}, i = {
2495
2495
  begin: /\$\{/,
@@ -2864,7 +2864,7 @@ function Wi(e) {
2864
2864
  ]
2865
2865
  };
2866
2866
  }
2867
- const ca = (e) => ({
2867
+ const pa = (e) => ({
2868
2868
  IMPORTANT: {
2869
2869
  scope: "meta",
2870
2870
  begin: "!important"
@@ -2897,7 +2897,7 @@ const ca = (e) => ({
2897
2897
  className: "attr",
2898
2898
  begin: /--[A-Za-z_][A-Za-z0-9_-]*/
2899
2899
  }
2900
- }), ua = [
2900
+ }), ga = [
2901
2901
  "a",
2902
2902
  "abbr",
2903
2903
  "address",
@@ -2975,7 +2975,7 @@ const ca = (e) => ({
2975
2975
  "ul",
2976
2976
  "var",
2977
2977
  "video"
2978
- ], da = [
2978
+ ], ha = [
2979
2979
  "defs",
2980
2980
  "g",
2981
2981
  "marker",
@@ -3017,10 +3017,10 @@ const ca = (e) => ({
3017
3017
  "tspan",
3018
3018
  "foreignObject",
3019
3019
  "clipPath"
3020
- ], fa = [
3021
- ...ua,
3022
- ...da
3023
- ], pa = [
3020
+ ], ma = [
3021
+ ...ga,
3022
+ ...ha
3023
+ ], ba = [
3024
3024
  "any-hover",
3025
3025
  "any-pointer",
3026
3026
  "aspect-ratio",
@@ -3055,7 +3055,7 @@ const ca = (e) => ({
3055
3055
  "max-width",
3056
3056
  "min-height",
3057
3057
  "max-height"
3058
- ].sort().reverse(), ga = [
3058
+ ].sort().reverse(), va = [
3059
3059
  "active",
3060
3060
  "any-link",
3061
3061
  "blank",
@@ -3129,7 +3129,7 @@ const ca = (e) => ({
3129
3129
  "visited",
3130
3130
  "where"
3131
3131
  // where()
3132
- ].sort().reverse(), ha = [
3132
+ ].sort().reverse(), ya = [
3133
3133
  "after",
3134
3134
  "backdrop",
3135
3135
  "before",
@@ -3144,7 +3144,7 @@ const ca = (e) => ({
3144
3144
  "selection",
3145
3145
  "slotted",
3146
3146
  "spelling-error"
3147
- ].sort().reverse(), ma = [
3147
+ ].sort().reverse(), ka = [
3148
3148
  "accent-color",
3149
3149
  "align-content",
3150
3150
  "align-items",
@@ -3661,8 +3661,8 @@ const ca = (e) => ({
3661
3661
  "z-index",
3662
3662
  "zoom"
3663
3663
  ].sort().reverse();
3664
- function ba(e) {
3665
- const n = e.regex, t = ca(e), i = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ }, o = "and or not only", r = /@-?\w[\w]*(-\w+)*/, a = "[a-zA-Z-][a-zA-Z0-9_-]*", d = [
3664
+ function xa(e) {
3665
+ const n = e.regex, t = pa(e), i = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ }, o = "and or not only", r = /@-?\w[\w]*(-\w+)*/, a = "[a-zA-Z-][a-zA-Z0-9_-]*", d = [
3666
3666
  e.APOS_STRING_MODE,
3667
3667
  e.QUOTE_STRING_MODE
3668
3668
  ];
@@ -3696,8 +3696,8 @@ function ba(e) {
3696
3696
  {
3697
3697
  className: "selector-pseudo",
3698
3698
  variants: [
3699
- { begin: ":(" + ga.join("|") + ")" },
3700
- { begin: ":(:)?(" + ha.join("|") + ")" }
3699
+ { begin: ":(" + va.join("|") + ")" },
3700
+ { begin: ":(:)?(" + ya.join("|") + ")" }
3701
3701
  ]
3702
3702
  },
3703
3703
  // we may actually need this (12/2020)
@@ -3709,7 +3709,7 @@ function ba(e) {
3709
3709
  t.CSS_VARIABLE,
3710
3710
  {
3711
3711
  className: "attribute",
3712
- begin: "\\b(" + ma.join("|") + ")\\b"
3712
+ begin: "\\b(" + ka.join("|") + ")\\b"
3713
3713
  },
3714
3714
  // attribute values
3715
3715
  {
@@ -3764,7 +3764,7 @@ function ba(e) {
3764
3764
  keywords: {
3765
3765
  $pattern: /[a-z-]+/,
3766
3766
  keyword: o,
3767
- attribute: pa.join(" ")
3767
+ attribute: ba.join(" ")
3768
3768
  },
3769
3769
  contains: [
3770
3770
  {
@@ -3779,7 +3779,7 @@ function ba(e) {
3779
3779
  },
3780
3780
  {
3781
3781
  className: "selector-tag",
3782
- begin: "\\b(" + fa.join("|") + ")\\b"
3782
+ begin: "\\b(" + ma.join("|") + ")\\b"
3783
3783
  }
3784
3784
  ]
3785
3785
  };
@@ -3932,22 +3932,22 @@ function Fo(e) {
3932
3932
  ]
3933
3933
  };
3934
3934
  }
3935
- var Cn = "[0-9](_*[0-9])*", vi = `\\.(${Cn})`, yi = "[0-9a-fA-F](_*[0-9a-fA-F])*", Wo = {
3935
+ var Cn = "[0-9](_*[0-9])*", yi = `\\.(${Cn})`, ki = "[0-9a-fA-F](_*[0-9a-fA-F])*", Wo = {
3936
3936
  className: "number",
3937
3937
  variants: [
3938
3938
  // DecimalFloatingPointLiteral
3939
3939
  // including ExponentPart
3940
- { begin: `(\\b(${Cn})((${vi})|\\.)?|(${vi}))[eE][+-]?(${Cn})[fFdD]?\\b` },
3940
+ { begin: `(\\b(${Cn})((${yi})|\\.)?|(${yi}))[eE][+-]?(${Cn})[fFdD]?\\b` },
3941
3941
  // excluding ExponentPart
3942
- { begin: `\\b(${Cn})((${vi})[fFdD]?\\b|\\.([fFdD]\\b)?)` },
3943
- { begin: `(${vi})[fFdD]?\\b` },
3942
+ { begin: `\\b(${Cn})((${yi})[fFdD]?\\b|\\.([fFdD]\\b)?)` },
3943
+ { begin: `(${yi})[fFdD]?\\b` },
3944
3944
  { begin: `\\b(${Cn})[fFdD]\\b` },
3945
3945
  // HexadecimalFloatingPointLiteral
3946
- { begin: `\\b0[xX]((${yi})\\.?|(${yi})?\\.(${yi}))[pP][+-]?(${Cn})[fFdD]?\\b` },
3946
+ { begin: `\\b0[xX]((${ki})\\.?|(${ki})?\\.(${ki}))[pP][+-]?(${Cn})[fFdD]?\\b` },
3947
3947
  // DecimalIntegerLiteral
3948
3948
  { begin: "\\b(0|[1-9](_*[0-9])*)[lL]?\\b" },
3949
3949
  // HexIntegerLiteral
3950
- { begin: `\\b0[xX](${yi})[lL]?\\b` },
3950
+ { begin: `\\b0[xX](${ki})[lL]?\\b` },
3951
3951
  // OctalIntegerLiteral
3952
3952
  { begin: "\\b0(_*[0-7])*[lL]?\\b" },
3953
3953
  // BinaryIntegerLiteral
@@ -3958,7 +3958,7 @@ var Cn = "[0-9](_*[0-9])*", vi = `\\.(${Cn})`, yi = "[0-9a-fA-F](_*[0-9a-fA-F])*
3958
3958
  function Bs(e, n, t) {
3959
3959
  return t === -1 ? "" : e.replace(n, (i) => Bs(e, n, t - 1));
3960
3960
  }
3961
- function va(e) {
3961
+ function wa(e) {
3962
3962
  const n = e.regex, t = "[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*", i = t + Bs("(?:<" + t + "~~~(?:\\s*,\\s*" + t + "~~~)*>)?", /~~~/g, 2), l = {
3963
3963
  keyword: [
3964
3964
  "synchronized",
@@ -4169,7 +4169,7 @@ function va(e) {
4169
4169
  ]
4170
4170
  };
4171
4171
  }
4172
- const Go = "[A-Za-z$_][0-9A-Za-z$_]*", ya = [
4172
+ const Go = "[A-Za-z$_][0-9A-Za-z$_]*", Ea = [
4173
4173
  "as",
4174
4174
  // for exports
4175
4175
  "in",
@@ -4214,7 +4214,7 @@ const Go = "[A-Za-z$_][0-9A-Za-z$_]*", ya = [
4214
4214
  "extends",
4215
4215
  // It's reached stage 3, which is "recommended for implementation":
4216
4216
  "using"
4217
- ], ka = [
4217
+ ], Sa = [
4218
4218
  "true",
4219
4219
  "false",
4220
4220
  "null",
@@ -4298,7 +4298,7 @@ const Go = "[A-Za-z$_][0-9A-Za-z$_]*", ya = [
4298
4298
  "encodeURIComponent",
4299
4299
  "escape",
4300
4300
  "unescape"
4301
- ], xa = [
4301
+ ], Ta = [
4302
4302
  "arguments",
4303
4303
  "this",
4304
4304
  "super",
@@ -4310,7 +4310,7 @@ const Go = "[A-Za-z$_][0-9A-Za-z$_]*", ya = [
4310
4310
  "module",
4311
4311
  "global"
4312
4312
  // Node.js
4313
- ], wa = [].concat(
4313
+ ], _a = [].concat(
4314
4314
  Fs,
4315
4315
  Us,
4316
4316
  Hs
@@ -4356,10 +4356,10 @@ function jo(e) {
4356
4356
  }
4357
4357
  }, d = {
4358
4358
  $pattern: Go,
4359
- keyword: ya,
4360
- literal: ka,
4361
- built_in: wa,
4362
- "variable.language": xa
4359
+ keyword: Ea,
4360
+ literal: Sa,
4361
+ built_in: _a,
4362
+ "variable.language": Ta
4363
4363
  }, l = "[0-9](_?[0-9])*", f = `\\.(${l})`, g = "0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*", h = {
4364
4364
  className: "number",
4365
4365
  variants: [
@@ -4824,7 +4824,7 @@ function jo(e) {
4824
4824
  ]
4825
4825
  };
4826
4826
  }
4827
- function Ea(e) {
4827
+ function Ca(e) {
4828
4828
  const n = {
4829
4829
  className: "attr",
4830
4830
  begin: /"(\\.|[^\\"\r\n])*"(?=\s*:)/,
@@ -5770,7 +5770,7 @@ function Vo(e) {
5770
5770
  ]
5771
5771
  };
5772
5772
  }
5773
- function Sa(e) {
5773
+ function Aa(e) {
5774
5774
  const n = e.regex, t = e.COMMENT("--", "$"), i = {
5775
5775
  scope: "string",
5776
5776
  variants: [
@@ -6528,7 +6528,7 @@ const Ci = "[A-Za-z$_][0-9A-Za-z$_]*", Ws = [
6528
6528
  js,
6529
6529
  qs
6530
6530
  );
6531
- function Ta(e) {
6531
+ function Na(e) {
6532
6532
  const n = e.regex, t = (P, { after: Z }) => {
6533
6533
  const te = "</" + P[0].slice(1);
6534
6534
  return P.input.indexOf(te, Z) !== -1;
@@ -7038,7 +7038,7 @@ function Ta(e) {
7038
7038
  };
7039
7039
  }
7040
7040
  function Yo(e) {
7041
- const n = e.regex, t = Ta(e), i = Ci, o = [
7041
+ const n = e.regex, t = Na(e), i = Ci, o = [
7042
7042
  "any",
7043
7043
  "void",
7044
7044
  "number",
@@ -7532,20 +7532,20 @@ const co = {
7532
7532
  bash: Wi,
7533
7533
  sh: Wi,
7534
7534
  shell: Wi,
7535
- css: ba,
7535
+ css: xa,
7536
7536
  go: Fo,
7537
7537
  golang: Fo,
7538
- java: va,
7538
+ java: wa,
7539
7539
  javascript: jo,
7540
7540
  js: jo,
7541
- json: Ea,
7541
+ json: Ca,
7542
7542
  markdown: qo,
7543
7543
  md: qo,
7544
7544
  python: Ko,
7545
7545
  py: Ko,
7546
7546
  rust: Vo,
7547
7547
  rs: Vo,
7548
- sql: Sa,
7548
+ sql: Aa,
7549
7549
  typescript: Yo,
7550
7550
  ts: Yo,
7551
7551
  xml: Zo,
@@ -7571,7 +7571,7 @@ function uo(e, n) {
7571
7571
  try {
7572
7572
  return t ? Xi.highlight(e, { language: t, ignoreIllegals: !0 }).value : Xi.highlightAuto(e).value;
7573
7573
  } catch {
7574
- return _a(e);
7574
+ return Ra(e);
7575
7575
  }
7576
7576
  }
7577
7577
  function Zs(e) {
@@ -7580,7 +7580,7 @@ function Zs(e) {
7580
7580
  (n) => n.replace(/^\s*\|/, "").replace(/\|\s*$/, "").split("|").map((t) => t.trim())
7581
7581
  );
7582
7582
  }
7583
- function _a(e) {
7583
+ function Ra(e) {
7584
7584
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
7585
7585
  }
7586
7586
  function Xs(e, n, t) {
@@ -7591,19 +7591,19 @@ function Xs(e, n, t) {
7591
7591
  });
7592
7592
  return [i, ...l];
7593
7593
  }
7594
- const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d", "fill"], Ra = ["data-node-id", "onClick", "onDblclick", "onContextmenu", "onMouseenter", "onMouseleave"], Ma = ["src", "width", "height", "alt"], Oa = ["onDblclick"], Ia = {
7594
+ const Ma = ["viewBox", "width", "height"], Oa = { class: "zm-edges" }, Ia = ["d", "fill"], za = ["data-node-id", "onClick", "onDblclick", "onContextmenu", "onMouseenter", "onMouseleave"], La = ["src", "width", "height", "alt"], $a = ["onDblclick"], Da = {
7595
7595
  key: 0,
7596
7596
  class: "zm-rich-code"
7597
- }, za = ["innerHTML"], La = {
7597
+ }, Pa = ["innerHTML"], Ba = {
7598
7598
  key: 1,
7599
7599
  class: "zm-rich-table"
7600
- }, $a = ["onClick"], Da = {
7600
+ }, Ua = ["onClick"], Ha = {
7601
7601
  class: "zm-rich-sort-mark",
7602
7602
  "aria-hidden": "true"
7603
- }, Pa = {
7603
+ }, Fa = {
7604
7604
  key: 2,
7605
7605
  class: "zm-text"
7606
- }, Ba = { class: "zm-text-label" }, Ua = ["href", "title"], Ha = ["title", "onClick"], Fa = ["title"], Wa = ["title", "onClick"], Ga = ["onClick"], ja = ["onMousedown"], qa = ["onClick"], Ka = ["title"], Va = { class: "zm-tb-tip zm-tb-zoom" }, Ya = ["src"], Za = ["src"], Qt = 24, wn = 400, Vt = 160, fo = /* @__PURE__ */ Tt({
7606
+ }, Wa = { class: "zm-text-label" }, Ga = ["href", "title"], ja = ["title", "onClick"], qa = ["title"], Ka = ["title", "onClick"], Va = ["onClick"], Ya = ["onMousedown"], Za = ["onClick"], Xa = ["title"], Ja = { class: "zm-tb-tip zm-tb-zoom" }, Qa = ["src"], ec = ["src"], Qt = 24, wn = 400, Vt = 160, fo = /* @__PURE__ */ Tt({
7607
7607
  __name: "MindMap",
7608
7608
  props: {
7609
7609
  data: {},
@@ -7625,7 +7625,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
7625
7625
  return;
7626
7626
  }
7627
7627
  M.value = !0;
7628
- const c = Zn(s || "");
7628
+ const c = Xn(s || "");
7629
7629
  _ = !0, y.value = Wt(c), l.value = null, f.value = /* @__PURE__ */ new Set(), Me(), Fe(() => {
7630
7630
  _ = !1, Ht();
7631
7631
  });
@@ -7633,7 +7633,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
7633
7633
  ), ft(
7634
7634
  y,
7635
7635
  () => {
7636
- M.value && !_ && o("markdownChange", Xn(y.value));
7636
+ M.value && !_ && o("markdownChange", Jn(y.value));
7637
7637
  },
7638
7638
  { deep: !0 }
7639
7639
  );
@@ -7859,7 +7859,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
7859
7859
  }
7860
7860
  }
7861
7861
  }
7862
- Yn(() => {
7862
+ Zn(() => {
7863
7863
  window.addEventListener("paste", ot), Me();
7864
7864
  }), Xt(() => {
7865
7865
  window.removeEventListener("paste", ot);
@@ -7928,7 +7928,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
7928
7928
  const F = 10, J = 240, fe = U.top - $.top > 60, ze = U.left - $.left + U.width / 2, O = F + J / 2, Ee = $.width - J / 2 - F, yt = Math.max(O, Math.min(ze, Ee)), wt = fe ? U.top - $.top - 8 : U.bottom - $.top + 8;
7929
7929
  h.value = { text: c.text, x: yt, y: wt, above: fe };
7930
7930
  }
7931
- const un = K(0), dn = K(!1), xt = fl(100);
7931
+ const un = K(0), dn = K(!1), xt = ml(100);
7932
7932
  function Ye() {
7933
7933
  xt.record({ data: y.value });
7934
7934
  }
@@ -8009,15 +8009,15 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8009
8009
  }, Wn = [], Ui = [];
8010
8010
  for (let Le = 0; Le <= $; Le++) {
8011
8011
  const je = Le / $, Ft = Le === 0 ? s : Le === $ ? c : zn(je, s, zt, c), kn = Co(je);
8012
- let gi = Math.hypot(kn.dx, kn.dy);
8013
- gi < 1e-6 && (gi = 1);
8014
- const Ao = -kn.dy / gi, No = kn.dx / gi, hi = (w + (U - w) * je) / 2;
8015
- Wn.push({ x: Ft.x + Ao * hi, y: Ft.y + No * hi }), Ui.push({ x: Ft.x - Ao * hi, y: Ft.y - No * hi });
8012
+ let hi = Math.hypot(kn.dx, kn.dy);
8013
+ hi < 1e-6 && (hi = 1);
8014
+ const Ao = -kn.dy / hi, No = kn.dx / hi, mi = (w + (U - w) * je) / 2;
8015
+ Wn.push({ x: Ft.x + Ao * mi, y: Ft.y + No * mi }), Ui.push({ x: Ft.x - Ao * mi, y: Ft.y - No * mi });
8016
8016
  }
8017
- let pi = `M ${Wn[0].x.toFixed(2)} ${Wn[0].y.toFixed(2)}`;
8018
- for (let Le = 1; Le <= $; Le++) pi += ` L ${Wn[Le].x.toFixed(2)} ${Wn[Le].y.toFixed(2)}`;
8019
- for (let Le = $; Le >= 0; Le--) pi += ` L ${Ui[Le].x.toFixed(2)} ${Ui[Le].y.toFixed(2)}`;
8020
- return pi += " Z", pi;
8017
+ let gi = `M ${Wn[0].x.toFixed(2)} ${Wn[0].y.toFixed(2)}`;
8018
+ for (let Le = 1; Le <= $; Le++) gi += ` L ${Wn[Le].x.toFixed(2)} ${Wn[Le].y.toFixed(2)}`;
8019
+ for (let Le = $; Le >= 0; Le--) gi += ` L ${Ui[Le].x.toFixed(2)} ${Ui[Le].y.toFixed(2)}`;
8020
+ return gi += " Z", gi;
8021
8021
  }
8022
8022
  const fe = c.x - s.x, ze = c.y - s.y;
8023
8023
  let O = Math.hypot(fe, ze);
@@ -8025,12 +8025,12 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8025
8025
  const Ee = -ze / O, yt = fe / O, wt = w / 2, st = U / 2, Bn = { x: s.x + Ee * wt, y: s.y + yt * wt }, Un = { x: s.x - Ee * wt, y: s.y - yt * wt }, Hn = { x: c.x - Ee * st, y: c.y - yt * st }, Fn = { x: c.x + Ee * st, y: c.y + yt * st };
8026
8026
  return `M ${Bn.x.toFixed(2)} ${Bn.y.toFixed(2)} L ${Fn.x.toFixed(2)} ${Fn.y.toFixed(2)} L ${Hn.x.toFixed(2)} ${Hn.y.toFixed(2)} L ${Un.x.toFixed(2)} ${Un.y.toFixed(2)} Z`;
8027
8027
  }
8028
- const Ot = ue(() => Ze.value.root.children), $i = Gt[0].colors, ni = ue(
8029
- () => Xr(ie.branchPaletteId, ie.customPalettes)
8028
+ const Ot = ue(() => Ze.value.root.children), $i = Gt[0].colors, ii = ue(
8029
+ () => tl(ie.branchPaletteId, ie.customPalettes)
8030
8030
  ), $e = ue(() => {
8031
8031
  const s = /* @__PURE__ */ new Map();
8032
8032
  if (!ie.rainbowBranch) return s;
8033
- const c = i.lineColors, w = c && c.length > 0 ? c : ni.value.colors.length > 0 ? ni.value.colors : $i;
8033
+ const c = i.lineColors, w = c && c.length > 0 ? c : ii.value.colors.length > 0 ? ii.value.colors : $i;
8034
8034
  for (let $ = 0; $ < Ot.value.length; $++) {
8035
8035
  const F = Ot.value[$];
8036
8036
  s.set(F.id, w[$ % w.length]);
@@ -8054,17 +8054,17 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8054
8054
  if (s.isRoot) return Ge.value.rootBg;
8055
8055
  if (ie.rainbowBranch) {
8056
8056
  const w = $e.value.get(s.id);
8057
- if (w) return si(w, 0.18);
8057
+ if (w) return ri(w, 0.18);
8058
8058
  }
8059
8059
  return Ge.value.branchBg;
8060
8060
  }
8061
- function ii(s) {
8061
+ function oi(s) {
8062
8062
  const c = q(s.id);
8063
8063
  if (c.textColor) return c.textColor;
8064
8064
  if (s.isRoot) return Ge.value.rootText;
8065
8065
  if (ie.rainbowBranch) {
8066
8066
  const w = $e.value.get(s.id);
8067
- if (w) return ri(w, 0.55);
8067
+ if (w) return li(w, 0.55);
8068
8068
  }
8069
8069
  return Ge.value.branchText;
8070
8070
  }
@@ -8074,23 +8074,23 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8074
8074
  if (s.isRoot) return Ge.value.rootBg;
8075
8075
  if (ie.rainbowBranch) {
8076
8076
  const w = $e.value.get(s.id);
8077
- if (w) return ri(w, 0.3);
8077
+ if (w) return li(w, 0.3);
8078
8078
  }
8079
8079
  return Ge.value.lineColor;
8080
8080
  }
8081
- function oi(s) {
8081
+ function si(s) {
8082
8082
  return q(s.id).fontWeight ?? (s.isRoot ? 600 : 400);
8083
8083
  }
8084
- function si(s, c) {
8084
+ function ri(s, c) {
8085
8085
  const w = s.replace("#", ""), U = w.length === 6 ? w : w.split("").map((fe) => fe + fe).join(""), $ = parseInt(U.slice(0, 2), 16), F = parseInt(U.slice(2, 4), 16), J = parseInt(U.slice(4, 6), 16);
8086
8086
  return `rgba(${$}, ${F}, ${J}, ${c})`;
8087
8087
  }
8088
- function ri(s, c) {
8088
+ function li(s, c) {
8089
8089
  const w = s.replace("#", ""), U = w.length === 6 ? w : w.split("").map((fe) => fe + fe).join(""), $ = Math.round(parseInt(U.slice(0, 2), 16) * (1 - c)), F = Math.round(parseInt(U.slice(2, 4), 16) * (1 - c)), J = Math.round(parseInt(U.slice(4, 6), 16) * (1 - c));
8090
8090
  return `rgb(${$}, ${F}, ${J})`;
8091
8091
  }
8092
- const le = cl({ getContainer: () => r.value });
8093
- le.setOnMarqueeEnd(yr), dl({
8092
+ const le = pl({ getContainer: () => r.value });
8093
+ le.setOnMarqueeEnd(Er), hl({
8094
8094
  isEditing: () => a.value !== null,
8095
8095
  isReadonly: () => i.previewMode,
8096
8096
  getSelectedId: () => l.value,
@@ -8118,7 +8118,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8118
8118
  });
8119
8119
  const Ze = ue(() => {
8120
8120
  const s = Wt(y.value);
8121
- return Ut(s), Kr(s, {
8121
+ return Ut(s), Xr(s, {
8122
8122
  mode: ie.layoutMode,
8123
8123
  baseFontSize: Ge.value.fontSize,
8124
8124
  richHeights: N.value,
@@ -8167,10 +8167,10 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8167
8167
  const w = a.value;
8168
8168
  a.value = null, s.addChild ? Fe(() => z(w)) : s.addSibling === "after" ? Fe(() => j(w)) : s.addSibling === "before" && Fe(() => Ae(w));
8169
8169
  }
8170
- function li() {
8170
+ function ai() {
8171
8171
  a.value = null;
8172
8172
  }
8173
- function ai(s) {
8173
+ function ci(s) {
8174
8174
  if (i.previewMode) return;
8175
8175
  const c = _e(y.value, s);
8176
8176
  c != null && c.richContent && (x.value = s, S.value = c.richContent.raw, Fe(() => {
@@ -8180,7 +8180,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8180
8180
  w == null || w.focus();
8181
8181
  }));
8182
8182
  }
8183
- function ci() {
8183
+ function ui() {
8184
8184
  if (!x.value) return;
8185
8185
  const s = x.value, c = _e(y.value, s), w = S.value;
8186
8186
  if (c && c.richContent && c.richContent.raw !== w)
@@ -8191,11 +8191,11 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8191
8191
  Z(s, { kind: "table", raw: w });
8192
8192
  x.value = null;
8193
8193
  }
8194
- function ui() {
8194
+ function di() {
8195
8195
  x.value = null;
8196
8196
  }
8197
- function di(s) {
8198
- s.key === "Escape" ? (s.preventDefault(), ui()) : s.key === "Enter" && (s.ctrlKey || s.metaKey) && (s.preventDefault(), ci());
8197
+ function fi(s) {
8198
+ s.key === "Escape" ? (s.preventDefault(), di()) : s.key === "Enter" && (s.ctrlKey || s.metaKey) && (s.preventDefault(), ui());
8199
8199
  }
8200
8200
  function vn(s, c) {
8201
8201
  const w = k.value.get(s);
@@ -8214,7 +8214,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8214
8214
  c && (s.key === "z" || s.key === "Z") && !s.shiftKey ? (s.preventDefault(), Ie()) : (c && s.shiftKey && (s.key === "z" || s.key === "Z") || c && (s.key === "y" || s.key === "Y") && !s.shiftKey) && (s.preventDefault(), We());
8215
8215
  }
8216
8216
  function z(s) {
8217
- const c = ol(y.value, s, Ti);
8217
+ const c = al(y.value, s, Ti);
8218
8218
  c && (Ye(), Me(), o("change", y.value), Fe(() => It(c.id)));
8219
8219
  }
8220
8220
  function j(s) {
@@ -8222,7 +8222,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8222
8222
  z(s);
8223
8223
  return;
8224
8224
  }
8225
- const c = sl(y.value, s, Ti);
8225
+ const c = cl(y.value, s, Ti);
8226
8226
  c && (Ye(), Me(), o("change", y.value), Fe(() => It(c.id)));
8227
8227
  }
8228
8228
  function Ae(s) {
@@ -8230,12 +8230,12 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8230
8230
  z(s);
8231
8231
  return;
8232
8232
  }
8233
- const c = rl(y.value, s, Ti);
8233
+ const c = ul(y.value, s, Ti);
8234
8234
  c && (Ye(), Me(), o("change", y.value), Fe(() => It(c.id)));
8235
8235
  }
8236
8236
  function ye(s) {
8237
8237
  if (s === y.value.id) return;
8238
- const c = ll(y.value, s);
8238
+ const c = dl(y.value, s);
8239
8239
  c && (Ye(), l.value = c.id, o("change", y.value), Me());
8240
8240
  }
8241
8241
  function Ie() {
@@ -8287,7 +8287,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8287
8287
  c.push({ n: w.children[$], depth: U + 1 });
8288
8288
  }
8289
8289
  }
8290
- function fi() {
8290
+ function pi() {
8291
8291
  f.value = /* @__PURE__ */ new Set(), Xe((s) => {
8292
8292
  s.children.length > 0 && f.value.add(s.id);
8293
8293
  }), Me();
@@ -8297,21 +8297,21 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8297
8297
  w > s && c.children.length > 0 && f.value.add(c.id);
8298
8298
  }), Me();
8299
8299
  }
8300
- function pr() {
8300
+ function br() {
8301
8301
  f.value = /* @__PURE__ */ new Set(), Me();
8302
8302
  }
8303
- function gr(s, c) {
8304
- nl(y.value, s, c) && (Ye(), Me(), o("change", y.value));
8303
+ function vr(s, c) {
8304
+ rl(y.value, s, c) && (Ye(), Me(), o("change", y.value));
8305
8305
  }
8306
- function hr(s, c, w) {
8307
- return il(y.value, s, c, w) ? (Ye(), Me(), o("change", y.value), !0) : !1;
8306
+ function yr(s, c, w) {
8307
+ return ll(y.value, s, c, w) ? (Ye(), Me(), o("change", y.value), !0) : !1;
8308
8308
  }
8309
- function mr(s, c) {
8309
+ function kr(s, c) {
8310
8310
  s.stopPropagation(), l.value = c.id;
8311
8311
  const w = _e(y.value, c.id);
8312
8312
  o("select", w);
8313
8313
  }
8314
- function br(s) {
8314
+ function xr(s) {
8315
8315
  const c = s.target;
8316
8316
  if (!c || c.closest(".zm-node, .zm-toolbar, button, input, textarea")) return;
8317
8317
  if (s.button === 2) {
@@ -8322,7 +8322,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8322
8322
  const w = r.value.getBoundingClientRect(), U = (s.clientX - w.left - le.offsetX.value) / le.scale.value, $ = (s.clientY - w.top - le.offsetY.value) / le.scale.value;
8323
8323
  le.startMarquee(U, $);
8324
8324
  }
8325
- function vr(s) {
8325
+ function wr(s) {
8326
8326
  if (Ue) {
8327
8327
  Ue = !1;
8328
8328
  return;
@@ -8332,7 +8332,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8332
8332
  const w = le.marquee;
8333
8333
  w.width >= 4 || w.height >= 4 || l.value !== null && (l.value = null, o("select", null));
8334
8334
  }
8335
- function yr() {
8335
+ function Er() {
8336
8336
  const s = le.marquee;
8337
8337
  if (s.width < 4 && s.height < 4)
8338
8338
  return;
@@ -8350,7 +8350,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8350
8350
  function wo(s) {
8351
8351
  return f.value.has(s);
8352
8352
  }
8353
- function kr(s) {
8353
+ function Sr(s) {
8354
8354
  const c = _e(y.value, s.id);
8355
8355
  return !!c && c.children.length > 0;
8356
8356
  }
@@ -8380,7 +8380,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8380
8380
  const s = Ze.value;
8381
8381
  le.resetView(s.width, s.height, s.root.y);
8382
8382
  }
8383
- function xr() {
8383
+ function Tr() {
8384
8384
  dn.value = !0, Ye(), Me(), Fe(() => Ht());
8385
8385
  }
8386
8386
  function Bi(s) {
@@ -8397,7 +8397,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8397
8397
  return !1;
8398
8398
  }
8399
8399
  }
8400
- function wr() {
8400
+ function _r() {
8401
8401
  const s = document.createElement("input");
8402
8402
  s.type = "file", s.accept = "application/json", s.onchange = () => {
8403
8403
  var U;
@@ -8409,7 +8409,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8409
8409
  }, w.readAsText(c);
8410
8410
  }, s.click();
8411
8411
  }
8412
- function Er() {
8412
+ function Cr() {
8413
8413
  const s = new Blob([To()], { type: "application/json" }), c = URL.createObjectURL(s), w = document.createElement("a");
8414
8414
  w.href = c, w.download = `${y.value.text || "mindmap"}.json`, w.click(), URL.revokeObjectURL(c);
8415
8415
  }
@@ -8418,8 +8418,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8418
8418
  addSibling: (s) => j(s),
8419
8419
  removeNode: (s) => vt(s),
8420
8420
  duplicateNode: (s) => ye(s),
8421
- setNodeText: (s, c) => gr(s, c),
8422
- moveNode: (s, c, w) => hr(s, c, w),
8421
+ setNodeText: (s, c) => vr(s, c),
8422
+ moveNode: (s, c, w) => yr(s, c, w),
8423
8423
  lineWidthForDepth: pn,
8424
8424
  endWidthForDepth: gn,
8425
8425
  getData: () => y.value,
@@ -8431,13 +8431,13 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8431
8431
  importData: _o,
8432
8432
  /** Serialize the current data tree as markdown. Always available
8433
8433
  * — the same serializer is used to emit `markdownChange`. */
8434
- getMarkdown: () => Xn(y.value),
8434
+ getMarkdown: () => Jn(y.value),
8435
8435
  /** Replace the data tree with the result of parsing `md`. The
8436
8436
  * flag `emitMarkdownChange` (default true) controls whether the
8437
8437
  * change is also echoed via `markdownChange` (use false when
8438
8438
  * the host just set the same value back from the prop). */
8439
8439
  setMarkdown: (s, c = !0) => {
8440
- const w = Zn(s || "");
8440
+ const w = Xn(s || "");
8441
8441
  c && (M.value = !0), _ = !c, xt.reset(), y.value = Wt(w), l.value = null, f.value = /* @__PURE__ */ new Set(), Me(), Ye(), Fe(() => {
8442
8442
  _ = !1, Ht();
8443
8443
  }), o("change", y.value);
@@ -8452,7 +8452,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8452
8452
  // Re-balance now: clear all manual drag offsets, re-run the balanced
8453
8453
  // layout, and re-center the view. This is the action tied to the
8454
8454
  // "balance" toolbar button.
8455
- balance: () => xr(),
8455
+ balance: () => Tr(),
8456
8456
  applyNodeStyle: (s, c) => L(s, c),
8457
8457
  getNodeStyle: (s) => q(s),
8458
8458
  applyNodeImage: (s, c) => ae(s, c),
@@ -8495,7 +8495,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8495
8495
  y.value = Wt(s), Me();
8496
8496
  },
8497
8497
  { deep: !1 }
8498
- ), Yn(() => {
8498
+ ), Zn(() => {
8499
8499
  Ye(), Fe(() => Ht());
8500
8500
  }), (s, c) => {
8501
8501
  var w, U, $, F, J, fe, ze;
@@ -8507,13 +8507,13 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8507
8507
  ref_key: "wrapperRef",
8508
8508
  ref: r,
8509
8509
  class: "zm-canvas",
8510
- onMousedown: br,
8510
+ onMousedown: xr,
8511
8511
  onContextmenu: I,
8512
8512
  onWheel: c[27] || (c[27] = //@ts-ignore
8513
8513
  (...O) => ve(le).onWheel && ve(le).onWheel(...O)),
8514
8514
  onMouseenter: c[28] || (c[28] = (O) => g.value = !0),
8515
8515
  onMouseleave: c[29] || (c[29] = (O) => g.value = !1),
8516
- onClick: vr
8516
+ onClick: wr
8517
8517
  }, [
8518
8518
  u("div", {
8519
8519
  class: "zm-svg-layer",
@@ -8531,15 +8531,15 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8531
8531
  width: Ze.value.vbW * ve(le).scale.value,
8532
8532
  height: Ze.value.vbH * ve(le).scale.value
8533
8533
  }, [
8534
- u("g", Aa, [
8534
+ u("g", Oa, [
8535
8535
  (b(!0), v(oe, null, tt(Dn.value, (O) => (b(), v("path", {
8536
8536
  key: O.key,
8537
8537
  d: Li(So(O.from, "out", O.to.side, O.to), So(O.to, "in"), pn(O.from.depth), gn(O.to.depth), 32, ie.lineStyle, O.to._dir),
8538
8538
  fill: qt(O.from, O.to),
8539
8539
  stroke: "none"
8540
- }, null, 8, Na))), 128))
8540
+ }, null, 8, Ia))), 128))
8541
8541
  ])
8542
- ], 8, Ca))
8542
+ ], 8, Ma))
8543
8543
  ], 4),
8544
8544
  ve(le).isMarquee.value ? (b(), v("div", {
8545
8545
  key: 0,
@@ -8580,13 +8580,13 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8580
8580
  height: O.height + "px",
8581
8581
  fontSize: O.fontSize + "px",
8582
8582
  background: Di(O),
8583
- color: ii(O),
8583
+ color: oi(O),
8584
8584
  borderColor: Ln(O),
8585
- fontWeight: oi(O),
8585
+ fontWeight: si(O),
8586
8586
  // Center the box on (x, y) with translate(-50%, -50%)
8587
8587
  transform: "translate(-50%, -50%)"
8588
8588
  }),
8589
- onClick: (Ee) => mr(Ee, O),
8589
+ onClick: (Ee) => kr(Ee, O),
8590
8590
  onDblclick: (Ee) => {
8591
8591
  Ee.stopPropagation(), e.previewMode || It(O.id);
8592
8592
  },
@@ -8604,13 +8604,13 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8604
8604
  height: O.image.height,
8605
8605
  alt: O.text,
8606
8606
  draggable: "false"
8607
- }, null, 8, Ma)) : V("", !0),
8607
+ }, null, 8, La)) : V("", !0),
8608
8608
  O.richContent && (O.richContent.kind === "code" || O.richContent.kind === "table") && a.value !== O.id ? (b(), v("div", {
8609
8609
  key: 1,
8610
8610
  class: Ce(["zm-rich zm-rich-above", { "zm-rich-no-overflow": O.richContent.kind === "table" || O.richContent.kind === "code" }]),
8611
8611
  onClick: c[1] || (c[1] = ge(() => {
8612
8612
  }, ["stop"])),
8613
- onDblclick: ge((Ee) => ai(O.id), ["stop"]),
8613
+ onDblclick: ge((Ee) => ci(O.id), ["stop"]),
8614
8614
  onMousedown: c[2] || (c[2] = ge(() => {
8615
8615
  }, ["stop"]))
8616
8616
  }, [
@@ -8619,16 +8619,16 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8619
8619
  "onUpdate:modelValue": c[0] || (c[0] = (Ee) => S.value = Ee),
8620
8620
  class: "zm-rich-edit",
8621
8621
  spellcheck: "false",
8622
- onBlur: ci,
8623
- onKeydown: di
8622
+ onBlur: ui,
8623
+ onKeydown: fi
8624
8624
  }, null, 544)), [
8625
8625
  [Nt, S.value]
8626
8626
  ]) : (b(), v(oe, { key: 1 }, [
8627
- O.richContent.kind === "code" ? (b(), v("pre", Ia, [
8627
+ O.richContent.kind === "code" ? (b(), v("pre", Da, [
8628
8628
  u("code", {
8629
8629
  innerHTML: ve(uo)(ve(Ji)(O.richContent.raw), ve(Rn)(O.richContent.raw))
8630
- }, null, 8, za)
8631
- ])) : O.richContent.kind === "table" ? (b(), v("table", La, [
8630
+ }, null, 8, Pa)
8631
+ ])) : O.richContent.kind === "table" ? (b(), v("table", Ba, [
8632
8632
  u("tbody", null, [
8633
8633
  (b(!0), v(oe, null, tt(Kt(O.id, ve(Zs)(O.richContent.raw)), (Ee, yt) => (b(), v("tr", { key: yt }, [
8634
8634
  yt === 0 ? (b(!0), v(oe, { key: 0 }, tt(Ee, (wt, st) => {
@@ -8643,8 +8643,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8643
8643
  onClick: ge((Co) => vn(O.id, st), ["stop"])
8644
8644
  }, [
8645
8645
  u("span", null, ce(wt), 1),
8646
- u("span", Da, ce(ne(O.id, st)), 1)
8647
- ], 10, $a);
8646
+ u("span", Ha, ce(ne(O.id, st)), 1)
8647
+ ], 10, Ua);
8648
8648
  }), 128)) : (b(!0), v(oe, { key: 1 }, tt(Ee, (wt, st) => (b(), v("td", {
8649
8649
  key: `c${st}`
8650
8650
  }, ce(wt), 1))), 128))
@@ -8652,9 +8652,9 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8652
8652
  ])
8653
8653
  ])) : V("", !0)
8654
8654
  ], 64))
8655
- ], 42, Oa)) : V("", !0),
8656
- a.value !== O.id ? (b(), v("span", Pa, [
8657
- u("span", Ba, ce(O.text), 1),
8655
+ ], 42, $a)) : V("", !0),
8656
+ a.value !== O.id ? (b(), v("span", Fa, [
8657
+ u("span", Wa, ce(O.text), 1),
8658
8658
  O.link && !a.value ? (b(), v("a", {
8659
8659
  key: 0,
8660
8660
  class: "zm-node-link",
@@ -8672,7 +8672,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8672
8672
  size: 11,
8673
8673
  stroke: 2
8674
8674
  })
8675
- ], 40, Ua)) : V("", !0),
8675
+ ], 40, Ga)) : V("", !0),
8676
8676
  O.note && !a.value ? (b(), v("button", {
8677
8677
  key: 1,
8678
8678
  class: "zm-node-note-btn",
@@ -8687,7 +8687,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8687
8687
  size: 11,
8688
8688
  stroke: 2
8689
8689
  })
8690
- ], 40, Ha)) : V("", !0)
8690
+ ], 40, ja)) : V("", !0)
8691
8691
  ])) : kt((b(), v("input", {
8692
8692
  key: 3,
8693
8693
  class: "zm-input",
@@ -8698,7 +8698,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8698
8698
  c[8] || (c[8] = Nn(ge((Ee) => mt({ addSibling: "after" }), ["exact"]), ["enter"])),
8699
8699
  c[9] || (c[9] = Nn(ge((Ee) => mt({ addSibling: "before" }), ["shift", "prevent", "exact"]), ["enter"])),
8700
8700
  c[10] || (c[10] = Nn(ge((Ee) => mt({ addChild: !0 }), ["prevent"]), ["tab"])),
8701
- Nn(li, ["esc"]),
8701
+ Nn(ai, ["esc"]),
8702
8702
  p
8703
8703
  ],
8704
8704
  onMousedown: c[11] || (c[11] = ge(() => {
@@ -8712,7 +8712,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8712
8712
  key: 4,
8713
8713
  class: "zm-order-badge",
8714
8714
  title: `数据顺序:第 ${Eo(O.id) + 1} 个`
8715
- }, ce(Eo(O.id) + 1), 9, Fa)) : V("", !0),
8715
+ }, ce(Eo(O.id) + 1), 9, qa)) : V("", !0),
8716
8716
  wo(O.id) && Pi(O.id) > 0 ? (b(), v("span", {
8717
8717
  key: 5,
8718
8718
  class: Ce(["zm-collapse-badge", { "is-on-left": O.side === -1 }]),
@@ -8721,8 +8721,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8721
8721
  onMousedown: c[13] || (c[13] = ge(() => {
8722
8722
  }, ["stop"])),
8723
8723
  onClick: ge((Ee) => yn(O.id), ["stop"])
8724
- }, ce(Pi(O.id)), 47, Wa)) : V("", !0),
8725
- kr(O) && !wo(O.id) ? (b(), v("button", {
8724
+ }, ce(Pi(O.id)), 47, Ka)) : V("", !0),
8725
+ Sr(O) && !wo(O.id) ? (b(), v("button", {
8726
8726
  key: 6,
8727
8727
  class: Ce(["zm-btn zm-collapse", { "is-on-left": O.side === -1 }]),
8728
8728
  style: Je({ color: $e.value.get(O.id) ?? "#64748b", borderColor: $e.value.get(O.id) ?? "#64748b" }),
@@ -8736,13 +8736,13 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8736
8736
  size: 10,
8737
8737
  stroke: 2.4
8738
8738
  })
8739
- ], 46, Ga)) : V("", !0),
8739
+ ], 46, Va)) : V("", !0),
8740
8740
  O.image && l.value === O.id && a.value !== O.id ? (b(), v("span", {
8741
8741
  key: 7,
8742
8742
  class: "zm-img-resize-handle",
8743
8743
  title: "拖动调整图片大小",
8744
8744
  onMousedown: ge((Ee) => G(Ee, O), ["stop"])
8745
- }, null, 40, ja)) : V("", !0),
8745
+ }, null, 40, Ya)) : V("", !0),
8746
8746
  O.image && l.value === O.id && a.value !== O.id ? (b(), v("button", {
8747
8747
  key: 8,
8748
8748
  class: "zm-img-remove-btn",
@@ -8756,15 +8756,15 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8756
8756
  size: 9,
8757
8757
  stroke: 2.2
8758
8758
  })
8759
- ], 40, qa)) : V("", !0)
8760
- ], 46, Ra))), 128))
8759
+ ], 40, Za)) : V("", !0)
8760
+ ], 46, za))), 128))
8761
8761
  ], 4),
8762
8762
  h.value ? (b(), v("div", {
8763
8763
  key: 1,
8764
8764
  class: Ce(["zm-tooltip", { "is-below": !h.value.above }]),
8765
8765
  style: Je({ left: h.value.x + "px", top: h.value.y + "px" })
8766
8766
  }, ce(h.value.text), 7)) : V("", !0),
8767
- te.value ? (b(), Zi(pl, {
8767
+ te.value ? (b(), Zi(bl, {
8768
8768
  key: 2,
8769
8769
  x: te.value.x,
8770
8770
  y: te.value.y,
@@ -8788,7 +8788,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8788
8788
  onRemoveTable: Be,
8789
8789
  onClose: D
8790
8790
  }, null, 8, ["x", "y", "container", "has-image", "has-link", "has-note", "has-code", "has-table"])) : V("", !0),
8791
- Se.value ? (b(), Zi(gl, {
8791
+ Se.value ? (b(), Zi(vl, {
8792
8792
  key: 3,
8793
8793
  x: Se.value.x,
8794
8794
  y: Se.value.y,
@@ -8807,7 +8807,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8807
8807
  name: i.previewMode ? "eye-off" : "eye",
8808
8808
  size: 16
8809
8809
  }, null, 8, ["name"])
8810
- ], 10, Ka),
8810
+ ], 10, Xa),
8811
8811
  u("button", {
8812
8812
  class: Ce(et.value),
8813
8813
  title: "显示大纲视图",
@@ -8821,7 +8821,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8821
8821
  u("div", {
8822
8822
  class: Ce(["zm-toolbar", { "is-preview-only": i.previewMode, "is-hovered": g.value }])
8823
8823
  }, [
8824
- u("span", Va, ce(Math.round(ve(le).scale.value * 100)) + "%", 1),
8824
+ u("span", Ja, ce(Math.round(ve(le).scale.value * 100)) + "%", 1),
8825
8825
  u("button", {
8826
8826
  class: "zm-tb-btn",
8827
8827
  title: "放大",
@@ -8849,7 +8849,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8849
8849
  u("button", {
8850
8850
  class: "zm-tb-btn",
8851
8851
  title: "全部收起",
8852
- onClick: fi
8852
+ onClick: pi
8853
8853
  }, [
8854
8854
  he(Oe, { name: "collapse-all" })
8855
8855
  ]),
@@ -8870,7 +8870,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8870
8870
  u("button", {
8871
8871
  class: "zm-tb-btn",
8872
8872
  title: "全部展开",
8873
- onClick: pr
8873
+ onClick: br
8874
8874
  }, [
8875
8875
  he(Oe, { name: "expand-all" })
8876
8876
  ]),
@@ -8878,7 +8878,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8878
8878
  u("button", {
8879
8879
  class: "zm-tb-btn",
8880
8880
  title: "导出 JSON",
8881
- onClick: Er
8881
+ onClick: Cr
8882
8882
  }, [
8883
8883
  he(Oe, { name: "export" })
8884
8884
  ]),
@@ -8895,7 +8895,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8895
8895
  height: "14",
8896
8896
  alt: "添加子节点",
8897
8897
  draggable: "false"
8898
- }, null, 8, Ya)
8898
+ }, null, 8, Qa)
8899
8899
  ]),
8900
8900
  u("button", {
8901
8901
  class: "zm-tb-btn",
@@ -8908,7 +8908,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8908
8908
  height: "14",
8909
8909
  alt: "添加同级",
8910
8910
  draggable: "false"
8911
- }, null, 8, Za)
8911
+ }, null, 8, ec)
8912
8912
  ]),
8913
8913
  c[31] || (c[31] = u("span", { class: "zm-tb-divider" }, null, -1)),
8914
8914
  u("button", {
@@ -8936,7 +8936,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8936
8936
  u("button", {
8937
8937
  class: "zm-tb-btn",
8938
8938
  title: "导入 JSON",
8939
- onClick: wr
8939
+ onClick: _r
8940
8940
  }, [
8941
8941
  he(Oe, { name: "import" })
8942
8942
  ])
@@ -8946,7 +8946,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8946
8946
  ], 4);
8947
8947
  };
8948
8948
  }
8949
- }), Xa = { class: "zm-outline-root" }, Ja = { class: "zm-outline-actions" }, Qa = {
8949
+ }), tc = { class: "zm-outline-root" }, nc = { class: "zm-outline-actions" }, ic = {
8950
8950
  width: "11",
8951
8951
  height: "11",
8952
8952
  viewBox: "0 0 24 24",
@@ -8955,17 +8955,17 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8955
8955
  "stroke-width": "2",
8956
8956
  "stroke-linecap": "round",
8957
8957
  "stroke-linejoin": "round"
8958
- }, ec = {
8958
+ }, oc = {
8959
8959
  key: 0,
8960
8960
  x: "9",
8961
8961
  y: "9",
8962
8962
  width: "13",
8963
8963
  height: "13",
8964
8964
  rx: "2"
8965
- }, tc = {
8965
+ }, sc = {
8966
8966
  key: 1,
8967
8967
  d: "M5 12 L10 17 L19 7"
8968
- }, nc = { class: "zm-outline" }, ic = ["onClick", "onDblclick", "onDragstart", "onDragover", "onDragleave", "onDrop"], oc = ["title", "onClick"], sc = {
8968
+ }, rc = { class: "zm-outline" }, lc = ["onClick", "onDblclick", "onDragstart", "onDragover", "onDragleave", "onDrop"], ac = ["title", "onClick"], cc = {
8969
8969
  width: "10",
8970
8970
  height: "10",
8971
8971
  viewBox: "0 0 24 24",
@@ -8974,19 +8974,19 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8974
8974
  "stroke-width": "3",
8975
8975
  "stroke-linecap": "round",
8976
8976
  "stroke-linejoin": "round"
8977
- }, rc = {
8977
+ }, uc = {
8978
8978
  key: 0,
8979
8979
  points: "6 9 12 15 18 9"
8980
- }, lc = {
8980
+ }, dc = {
8981
8981
  key: 1,
8982
8982
  points: "9 6 15 12 9 18"
8983
- }, ac = {
8983
+ }, fc = {
8984
8984
  key: 1,
8985
8985
  class: "zm-outline-dot"
8986
- }, cc = { class: "zm-outline-index" }, uc = {
8986
+ }, pc = { class: "zm-outline-index" }, gc = {
8987
8987
  key: 3,
8988
8988
  class: "zm-outline-text"
8989
- }, dc = ["onClick"], fc = ["src"], pc = ["onClick"], gc = ["src"], hc = ["title", "onClick"], mc = {
8989
+ }, hc = ["onClick"], mc = ["src"], bc = ["onClick"], vc = ["src"], yc = ["title", "onClick"], kc = {
8990
8990
  width: "11",
8991
8991
  height: "11",
8992
8992
  viewBox: "0 0 24 24",
@@ -8995,14 +8995,14 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
8995
8995
  "stroke-width": "2",
8996
8996
  "stroke-linecap": "round",
8997
8997
  "stroke-linejoin": "round"
8998
- }, bc = {
8998
+ }, xc = {
8999
8999
  key: 0,
9000
9000
  x: "9",
9001
9001
  y: "9",
9002
9002
  width: "13",
9003
9003
  height: "13",
9004
9004
  rx: "2"
9005
- }, vc = {
9005
+ }, wc = {
9006
9006
  key: 1,
9007
9007
  d: "M5 12 L10 17 L19 7"
9008
9008
  }, Js = /* @__PURE__ */ Tt({
@@ -9110,21 +9110,21 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9110
9110
  async function pe() {
9111
9111
  await L(ae.value) && (X.value = !0, re && clearTimeout(re), re = setTimeout(() => X.value = !1, 1200));
9112
9112
  }
9113
- return (Y, Q) => (b(), v("div", Xa, [
9114
- u("div", Ja, [
9113
+ return (Y, Q) => (b(), v("div", tc, [
9114
+ u("div", nc, [
9115
9115
  u("button", {
9116
9116
  class: Ce(["zm-outline-action-btn", { "is-success": X.value }]),
9117
9117
  title: "复制完整大纲为纯文本",
9118
9118
  onClick: pe
9119
9119
  }, [
9120
- (b(), v("svg", Qa, [
9121
- X.value ? (b(), v("path", tc)) : (b(), v("rect", ec)),
9120
+ (b(), v("svg", ic, [
9121
+ X.value ? (b(), v("path", sc)) : (b(), v("rect", oc)),
9122
9122
  Q[2] || (Q[2] = u("path", { d: "M5 15 H4 a2 2 0 0 1 -2 -2 V4 a2 2 0 0 1 2 -2 h9 a2 2 0 0 1 2 2 v1" }, null, -1))
9123
9123
  ])),
9124
9124
  u("span", null, ce(X.value ? "已复制" : "复制大纲"), 1)
9125
9125
  ], 2)
9126
9126
  ]),
9127
- u("ul", nc, [
9127
+ u("ul", rc, [
9128
9128
  (b(!0), v(oe, null, tt(o.value, (W) => (b(), v("li", {
9129
9129
  key: W.id,
9130
9130
  class: Ce(["zm-outline-row", {
@@ -9151,11 +9151,11 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9151
9151
  title: W.collapsed ? "展开" : "折叠",
9152
9152
  onClick: ge((T) => i("toggleCollapse", W.id), ["stop"])
9153
9153
  }, [
9154
- (b(), v("svg", sc, [
9155
- W.collapsed ? (b(), v("polyline", lc)) : (b(), v("polyline", rc))
9154
+ (b(), v("svg", cc, [
9155
+ W.collapsed ? (b(), v("polyline", dc)) : (b(), v("polyline", uc))
9156
9156
  ]))
9157
- ], 8, oc)) : (b(), v("span", ac)),
9158
- u("span", cc, ce(W.siblingIndex + 1) + ".", 1),
9157
+ ], 8, ac)) : (b(), v("span", fc)),
9158
+ u("span", pc, ce(W.siblingIndex + 1) + ".", 1),
9159
9159
  r.value === W.id ? kt((b(), v("input", {
9160
9160
  key: 2,
9161
9161
  "onUpdate:modelValue": Q[0] || (Q[0] = (T) => a.value = T),
@@ -9166,7 +9166,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9166
9166
  }, ["stop"]))
9167
9167
  }, null, 544)), [
9168
9168
  [Nt, a.value]
9169
- ]) : (b(), v("span", uc, ce(W.text), 1)),
9169
+ ]) : (b(), v("span", gc, ce(W.text), 1)),
9170
9170
  t.readonly ? V("", !0) : (b(), v("button", {
9171
9171
  key: 4,
9172
9172
  class: "zm-outline-row-action",
@@ -9179,8 +9179,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9179
9179
  height: "14",
9180
9180
  alt: "添加同级",
9181
9181
  draggable: "false"
9182
- }, null, 8, fc)
9183
- ], 8, dc)),
9182
+ }, null, 8, mc)
9183
+ ], 8, hc)),
9184
9184
  t.readonly ? V("", !0) : (b(), v("button", {
9185
9185
  key: 5,
9186
9186
  class: "zm-outline-row-action",
@@ -9193,29 +9193,29 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9193
9193
  height: "14",
9194
9194
  alt: "添加子节点",
9195
9195
  draggable: "false"
9196
- }, null, 8, gc)
9197
- ], 8, pc)),
9196
+ }, null, 8, vc)
9197
+ ], 8, bc)),
9198
9198
  u("button", {
9199
9199
  class: Ce(["zm-outline-row-copy", { "is-success": A.value === W.id }]),
9200
9200
  title: A.value === W.id ? "已复制" : "复制节点文本",
9201
9201
  onClick: (T) => q(T, W.text, W.id)
9202
9202
  }, [
9203
- (b(), v("svg", mc, [
9204
- A.value !== W.id ? (b(), v("rect", bc)) : (b(), v("path", vc)),
9203
+ (b(), v("svg", kc, [
9204
+ A.value !== W.id ? (b(), v("rect", xc)) : (b(), v("path", wc)),
9205
9205
  Q[3] || (Q[3] = u("path", { d: "M5 15 H4 a2 2 0 0 1 -2 -2 V4 a2 2 0 0 1 2 -2 h9 a2 2 0 0 1 2 2 v1" }, null, -1))
9206
9206
  ]))
9207
- ], 10, hc)
9208
- ], 46, ic))), 128))
9207
+ ], 10, yc)
9208
+ ], 46, lc))), 128))
9209
9209
  ])
9210
9210
  ]));
9211
9211
  }
9212
- }), yc = ["aria-hidden"], kc = {
9212
+ }), Ec = ["aria-hidden"], Sc = {
9213
9213
  key: 0,
9214
9214
  class: "zm-drawer-header"
9215
- }, xc = {
9215
+ }, Tc = {
9216
9216
  key: 0,
9217
9217
  class: "zm-drawer-title"
9218
- }, wc = { class: "zm-drawer-body" }, ki = /* @__PURE__ */ Tt({
9218
+ }, _c = { class: "zm-drawer-body" }, Kn = /* @__PURE__ */ Tt({
9219
9219
  __name: "Drawer",
9220
9220
  props: {
9221
9221
  side: { default: "left" },
@@ -9229,7 +9229,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9229
9229
  function i() {
9230
9230
  t("update:open", !1);
9231
9231
  }
9232
- return (o, r) => (b(), Zi(_r, { name: "zm-drawer" }, {
9232
+ return (o, r) => (b(), Zi(Rr, { name: "zm-drawer" }, {
9233
9233
  default: qn(() => [
9234
9234
  e.open ? (b(), v("aside", {
9235
9235
  key: 0,
@@ -9237,8 +9237,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9237
9237
  style: Je({ width: e.width + "px" }),
9238
9238
  "aria-hidden": !e.open
9239
9239
  }, [
9240
- e.title || o.$slots.header ? (b(), v("div", kc, [
9241
- e.title ? (b(), v("h3", xc, ce(e.title), 1)) : V("", !0),
9240
+ e.title || o.$slots.header ? (b(), v("div", Sc, [
9241
+ e.title ? (b(), v("h3", Tc, ce(e.title), 1)) : V("", !0),
9242
9242
  Ro(o.$slots, "header"),
9243
9243
  u("button", {
9244
9244
  class: "zm-drawer-close",
@@ -9258,42 +9258,42 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9258
9258
  ], -1)
9259
9259
  ])])
9260
9260
  ])) : V("", !0),
9261
- u("div", wc, [
9261
+ u("div", _c, [
9262
9262
  Ro(o.$slots, "default")
9263
9263
  ])
9264
- ], 14, yc)) : V("", !0)
9264
+ ], 14, Ec)) : V("", !0)
9265
9265
  ]),
9266
9266
  _: 3
9267
9267
  }));
9268
9268
  }
9269
- }), Ec = {
9269
+ }), Cc = {
9270
9270
  key: 0,
9271
9271
  class: "zm-jtv-root"
9272
- }, Sc = {
9272
+ }, Ac = {
9273
9273
  key: 0,
9274
9274
  class: "zm-jtv-key"
9275
- }, Tc = {
9275
+ }, Nc = {
9276
9276
  key: 1,
9277
9277
  class: "zm-jtv-colon"
9278
- }, _c = {
9278
+ }, Rc = {
9279
9279
  key: 2,
9280
9280
  class: "zm-jtv-key zm-jtv-bracket"
9281
- }, Cc = {
9281
+ }, Mc = {
9282
9282
  key: 3,
9283
9283
  class: "zm-jtv-size"
9284
- }, Ac = {
9284
+ }, Oc = {
9285
9285
  key: 4,
9286
9286
  class: "zm-jtv-bracket"
9287
- }, Nc = {
9287
+ }, Ic = {
9288
9288
  key: 5,
9289
9289
  class: "zm-jtv-brace"
9290
- }, Rc = {
9290
+ }, zc = {
9291
9291
  key: 0,
9292
9292
  class: "zm-jtv-children"
9293
- }, Mc = { class: "zm-jtv-key" }, Oc = {
9293
+ }, Lc = { class: "zm-jtv-key" }, $c = {
9294
9294
  key: 0,
9295
9295
  class: "zm-jtv-key"
9296
- }, Ic = ["src", "alt"], zc = ["href"], Lc = /* @__PURE__ */ Tt({
9296
+ }, Dc = ["src", "alt"], Pc = ["href"], Bc = /* @__PURE__ */ Tt({
9297
9297
  __name: "JsonTreeViewer",
9298
9298
  props: {
9299
9299
  value: {},
@@ -9351,8 +9351,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9351
9351
  }
9352
9352
  return (M, _) => {
9353
9353
  var A, m, L, q, ae, X;
9354
- const R = Cr("JsonTreeViewer", !0);
9355
- return e.isRoot ? (b(), v("div", Ec, [
9354
+ const R = Mr("JsonTreeViewer", !0);
9355
+ return e.isRoot ? (b(), v("div", Cc, [
9356
9356
  (b(!0), v(oe, null, tt(a.value, (re) => kt((b(), v("div", {
9357
9357
  key: re.key,
9358
9358
  class: "zm-jtv-row"
@@ -9381,14 +9381,14 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9381
9381
  u("span", {
9382
9382
  class: Ce(["zm-jtv-toggle", { "is-leaf": !1 }])
9383
9383
  }, ce(l.value ? "▶" : "▼"), 1),
9384
- o.value ? V("", !0) : (b(), v("span", Sc, ce(e.keyName), 1)),
9385
- o.value ? V("", !0) : (b(), v("span", Tc, ":")),
9386
- o.value ? (b(), v("span", _c, "[")) : V("", !0),
9387
- l.value ? (b(), v("span", Cc, ce(r.value), 1)) : V("", !0),
9388
- l.value && o.value ? (b(), v("span", Ac, "]")) : V("", !0),
9389
- l.value && i.value ? (b(), v("span", Nc, "}")) : V("", !0)
9384
+ o.value ? V("", !0) : (b(), v("span", Ac, ce(e.keyName), 1)),
9385
+ o.value ? V("", !0) : (b(), v("span", Nc, ":")),
9386
+ o.value ? (b(), v("span", Rc, "[")) : V("", !0),
9387
+ l.value ? (b(), v("span", Mc, ce(r.value), 1)) : V("", !0),
9388
+ l.value && o.value ? (b(), v("span", Oc, "]")) : V("", !0),
9389
+ l.value && i.value ? (b(), v("span", Ic, "}")) : V("", !0)
9390
9390
  ], 4),
9391
- l.value ? V("", !0) : (b(), v("div", Rc, [
9391
+ l.value ? V("", !0) : (b(), v("div", zc, [
9392
9392
  (b(!0), v(oe, null, tt(a.value, (re) => kt((b(), v("div", {
9393
9393
  key: re.key,
9394
9394
  class: "zm-jtv-row"
@@ -9422,9 +9422,9 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9422
9422
  style: Je({ paddingLeft: 6 + e.depth * 12 + "px" })
9423
9423
  }, [
9424
9424
  _[2] || (_[2] = u("span", { class: "zm-jtv-toggle is-leaf" }, "·", -1)),
9425
- u("span", Mc, ce(e.keyName), 1),
9425
+ u("span", Lc, ce(e.keyName), 1),
9426
9426
  _[3] || (_[3] = u("span", { class: "zm-jtv-colon" }, ":", -1)),
9427
- S(e.keyName) && E(e.keyName) ? (b(), v("span", Oc, [
9427
+ S(e.keyName) && E(e.keyName) ? (b(), v("span", $c, [
9428
9428
  u("span", null, ce((A = E(e.keyName)) == null ? void 0 : A.before), 1),
9429
9429
  u("mark", null, ce((m = E(e.keyName)) == null ? void 0 : m.match), 1),
9430
9430
  u("span", null, ce((L = E(e.keyName)) == null ? void 0 : L.after), 1)
@@ -9452,7 +9452,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9452
9452
  alt: e.keyName,
9453
9453
  loading: "lazy",
9454
9454
  referrerpolicy: "no-referrer"
9455
- }, null, 8, Ic),
9455
+ }, null, 8, Dc),
9456
9456
  u("a", {
9457
9457
  class: "zm-jtv-thumb-link",
9458
9458
  href: String(e.value),
@@ -9460,12 +9460,12 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9460
9460
  rel: "noopener noreferrer",
9461
9461
  onClick: _[0] || (_[0] = ge(() => {
9462
9462
  }, ["stop"]))
9463
- }, "open", 8, zc)
9463
+ }, "open", 8, Pc)
9464
9464
  ])) : V("", !0)
9465
9465
  ], 4));
9466
9466
  };
9467
9467
  }
9468
- }), $c = { class: "zm-data-panel" }, Dc = { class: "zm-data-header" }, Pc = { class: "zm-data-title" }, Bc = { class: "zm-data-title-meta" }, Uc = { class: "zm-data-toolbar" }, Hc = ["title"], Fc = {
9468
+ }), Uc = { class: "zm-data-panel" }, Hc = { class: "zm-data-header" }, Fc = { class: "zm-data-title" }, Wc = { class: "zm-data-title-meta" }, Gc = { class: "zm-data-toolbar" }, jc = ["title"], qc = {
9469
9469
  key: 0,
9470
9470
  width: "13",
9471
9471
  height: "13",
@@ -9475,7 +9475,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9475
9475
  "stroke-width": "2",
9476
9476
  "stroke-linecap": "round",
9477
9477
  "stroke-linejoin": "round"
9478
- }, Wc = {
9478
+ }, Kc = {
9479
9479
  key: 1,
9480
9480
  width: "13",
9481
9481
  height: "13",
@@ -9485,13 +9485,13 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9485
9485
  "stroke-width": "2.4",
9486
9486
  "stroke-linecap": "round",
9487
9487
  "stroke-linejoin": "round"
9488
- }, Gc = {
9488
+ }, Vc = {
9489
9489
  key: 0,
9490
9490
  class: "zm-data-paste"
9491
- }, jc = { class: "zm-data-tabs" }, qc = ["placeholder"], Kc = {
9491
+ }, Yc = { class: "zm-data-tabs" }, Zc = ["placeholder"], Xc = {
9492
9492
  key: 0,
9493
9493
  class: "zm-data-error"
9494
- }, Vc = { class: "zm-data-paste-actions" }, Yc = ["disabled"], Zc = { class: "zm-data-tree" }, Xc = /* @__PURE__ */ Tt({
9494
+ }, Jc = { class: "zm-data-paste-actions" }, Qc = ["disabled"], eu = { class: "zm-data-tree" }, Qs = /* @__PURE__ */ Tt({
9495
9495
  __name: "DataPanel",
9496
9496
  props: {
9497
9497
  data: {},
@@ -9530,7 +9530,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9530
9530
  if (_) {
9531
9531
  if (l.value === "markdown" || l.value === "txt") {
9532
9532
  try {
9533
- const R = Zn(_);
9533
+ const R = Xn(_);
9534
9534
  i("import", R), r.value = "", d.value = !1;
9535
9535
  } catch (R) {
9536
9536
  a.value = (l.value === "txt" ? "TXT 解析失败:" : "Markdown 解析失败:") + R.message;
@@ -9565,20 +9565,20 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9565
9565
  }, A.readAsText(R);
9566
9566
  }, _.click();
9567
9567
  }
9568
- return (_, R) => (b(), v("div", $c, [
9569
- u("div", Dc, [
9570
- u("div", Pc, [
9568
+ return (_, R) => (b(), v("div", Uc, [
9569
+ u("div", Hc, [
9570
+ u("div", Fc, [
9571
9571
  R[8] || (R[8] = u("span", { class: "zm-data-title-text" }, "数据 JSON", -1)),
9572
- u("span", Bc, ce(N.value) + " 节点 · " + ce(E.value) + " chars", 1)
9572
+ u("span", Wc, ce(N.value) + " 节点 · " + ce(E.value) + " chars", 1)
9573
9573
  ])
9574
9574
  ]),
9575
- u("div", Uc, [
9575
+ u("div", Gc, [
9576
9576
  u("button", {
9577
9577
  class: Ce(["zm-data-btn is-icon", { "is-success": f.value === "copied" }]),
9578
9578
  title: f.value === "copied" ? "已复制" : "复制 JSON 到剪贴板",
9579
9579
  onClick: x
9580
9580
  }, [
9581
- f.value === "idle" ? (b(), v("svg", Fc, [...R[9] || (R[9] = [
9581
+ f.value === "idle" ? (b(), v("svg", qc, [...R[9] || (R[9] = [
9582
9582
  u("rect", {
9583
9583
  x: "9",
9584
9584
  y: "9",
@@ -9587,11 +9587,11 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9587
9587
  rx: "2"
9588
9588
  }, null, -1),
9589
9589
  u("path", { d: "M5 15 H4 a2 2 0 0 1 -2 -2 V4 a2 2 0 0 1 2 -2 h9 a2 2 0 0 1 2 2 v1" }, null, -1)
9590
- ])])) : (b(), v("svg", Wc, [...R[10] || (R[10] = [
9590
+ ])])) : (b(), v("svg", Kc, [...R[10] || (R[10] = [
9591
9591
  u("polyline", { points: "5 12 10 17 19 7" }, null, -1)
9592
9592
  ])])),
9593
9593
  R[11] || (R[11] = u("span", { class: "zm-data-btn-label" }, "复制", -1))
9594
- ], 10, Hc),
9594
+ ], 10, jc),
9595
9595
  u("button", {
9596
9596
  class: "zm-data-btn is-icon",
9597
9597
  title: "导出为 JSON 文件",
@@ -9655,8 +9655,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9655
9655
  }, "×")) : V("", !0)
9656
9656
  ], 2)
9657
9657
  ]),
9658
- d.value ? (b(), v("div", Gc, [
9659
- u("div", jc, [
9658
+ d.value ? (b(), v("div", Vc, [
9659
+ u("div", Yc, [
9660
9660
  u("button", {
9661
9661
  class: Ce(["zm-data-tab", { "is-active": l.value === "json" }]),
9662
9662
  onClick: R[3] || (R[3] = (A) => l.value = "json")
@@ -9670,16 +9670,16 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9670
9670
  "onUpdate:modelValue": R[5] || (R[5] = (A) => r.value = A),
9671
9671
  placeholder: l.value === "json" ? "paste a JSON tree to replace current data" : "paste markdown - # / ## / ### become nodes",
9672
9672
  spellcheck: "false"
9673
- }, null, 8, qc), [
9673
+ }, null, 8, Zc), [
9674
9674
  [Nt, r.value]
9675
9675
  ]),
9676
- a.value ? (b(), v("div", Kc, ce(a.value), 1)) : V("", !0),
9677
- u("div", Vc, [
9676
+ a.value ? (b(), v("div", Xc, ce(a.value), 1)) : V("", !0),
9677
+ u("div", Jc, [
9678
9678
  u("button", {
9679
9679
  class: "zm-data-btn is-primary",
9680
9680
  disabled: !r.value,
9681
9681
  onClick: k
9682
- }, "应用", 8, Yc),
9682
+ }, "应用", 8, Qc),
9683
9683
  u("button", {
9684
9684
  class: "zm-data-btn",
9685
9685
  onClick: R[6] || (R[6] = (A) => {
@@ -9692,8 +9692,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9692
9692
  }, "关闭")
9693
9693
  ])
9694
9694
  ])) : V("", !0),
9695
- u("div", Zc, [
9696
- he(Lc, {
9695
+ u("div", eu, [
9696
+ he(Bc, {
9697
9697
  value: e.data,
9698
9698
  query: h.value,
9699
9699
  "collapsed-paths": g.value
@@ -9714,17 +9714,230 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9714
9714
  ], -1))
9715
9715
  ]));
9716
9716
  }
9717
- }), Jc = { class: "zm-settings-panel" }, Qc = {
9717
+ }), tu = { class: "zm-md-panel" }, nu = {
9718
+ key: 0,
9719
+ class: "zm-md-error"
9720
+ }, iu = { class: "zm-md-split" }, ou = { class: "zm-md-edit" }, su = { class: "zm-md-preview" }, ru = { class: "zm-md-preview-body" }, lu = { class: "zm-md-footer" }, au = ["disabled"], cu = `# flow-mindmap 思维导图
9721
+
9722
+ [GitHub 仓库](https://github.com/xz333221/flow-mindmap)
9723
+
9724
+ ![cover](https://placehold.co/600x300/3b82f6/ffffff?text=flow-mindmap+demo)
9725
+
9726
+ ## 项目概览
9727
+ 一个现代、极简的思维导图工具 — xmind 风格,可作为 Vue 组件嵌入。
9728
+
9729
+ \`\`\`note
9730
+ 这个 note 节点演示了多行笔记:
9731
+ - 节点旁的笔记图标
9732
+ - hover 显示 tooltip 预览
9733
+ - 点击图标进入内联编辑
9734
+ - 支持任意多行文本
9735
+ \`\`\`
9736
+
9737
+ ## 核心功能
9738
+
9739
+ ### 节点编辑
9740
+ - 增、删、改
9741
+ - 拖拽布局
9742
+
9743
+ ### 视图
9744
+ - 缩放与平移
9745
+ - 多种布局模式
9746
+
9747
+ ### 数据
9748
+ - 导入 / 导出 JSON
9749
+ - 撤销 / 重做
9750
+
9751
+ ## 技术栈
9752
+ - Vue 3 + Vite
9753
+ - TypeScript
9754
+ - 纯 SVG 渲染
9755
+ - 零第三方运行时依赖
9756
+
9757
+ ## 开源协议
9758
+ [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0)
9759
+ `, er = /* @__PURE__ */ Tt({
9760
+ __name: "MarkdownPanel",
9761
+ props: {
9762
+ data: {}
9763
+ },
9764
+ emits: ["import"],
9765
+ setup(e, { emit: n }) {
9766
+ const t = e, i = n, o = K(Jn(t.data)), r = K(null), a = K(null), d = ue(() => {
9767
+ try {
9768
+ const N = Xn(o.value || "");
9769
+ return r.value = null, N;
9770
+ } catch (N) {
9771
+ return r.value = N.message, { id: "preview_fallback", text: o.value || "(空)", children: [] };
9772
+ }
9773
+ }), l = ue(() => Wt(d.value));
9774
+ let f = null;
9775
+ ft(o, () => {
9776
+ f && clearTimeout(f), f = setTimeout(() => {
9777
+ var N;
9778
+ return (N = a.value) == null ? void 0 : N.resetView();
9779
+ }, 250);
9780
+ });
9781
+ function g() {
9782
+ try {
9783
+ const N = Xn(o.value || "");
9784
+ r.value = null, i("import", N);
9785
+ } catch (N) {
9786
+ r.value = N.message;
9787
+ }
9788
+ }
9789
+ function h() {
9790
+ o.value = Jn(t.data), r.value = null, Fe(() => {
9791
+ var N;
9792
+ return (N = a.value) == null ? void 0 : N.resetView();
9793
+ });
9794
+ }
9795
+ function x() {
9796
+ o.value = "", r.value = null, Fe(() => {
9797
+ var N;
9798
+ return (N = a.value) == null ? void 0 : N.resetView();
9799
+ });
9800
+ }
9801
+ function S() {
9802
+ const N = document.createElement("input");
9803
+ N.type = "file", N.accept = ".md,text/markdown,text/plain", N.onchange = () => {
9804
+ var _;
9805
+ const E = (_ = N.files) == null ? void 0 : _[0];
9806
+ if (!E) return;
9807
+ const M = new FileReader();
9808
+ M.onload = () => {
9809
+ typeof M.result == "string" && (o.value = M.result, r.value = null, Fe(() => {
9810
+ var R;
9811
+ return (R = a.value) == null ? void 0 : R.resetView();
9812
+ }));
9813
+ }, M.readAsText(E);
9814
+ }, N.click();
9815
+ }
9816
+ function k() {
9817
+ const N = new Blob([o.value], { type: "text/markdown;charset=utf-8" }), E = URL.createObjectURL(N), M = document.createElement("a");
9818
+ M.href = E;
9819
+ const _ = (t.data.text || "mindmap").trim() || "mindmap";
9820
+ M.download = `${_}.md`, M.click(), URL.revokeObjectURL(E);
9821
+ }
9822
+ function y() {
9823
+ o.value = cu, r.value = null, Fe(() => {
9824
+ var N;
9825
+ return (N = a.value) == null ? void 0 : N.resetView();
9826
+ });
9827
+ }
9828
+ return (N, E) => (b(), v("div", tu, [
9829
+ u("div", { class: "zm-md-toolbar" }, [
9830
+ u("button", {
9831
+ class: "zm-md-btn",
9832
+ title: "从 .md 文件加载",
9833
+ onClick: S
9834
+ }, [...E[1] || (E[1] = [
9835
+ u("svg", {
9836
+ width: "12",
9837
+ height: "12",
9838
+ viewBox: "0 0 24 24",
9839
+ fill: "none",
9840
+ stroke: "currentColor",
9841
+ "stroke-width": "2",
9842
+ "stroke-linecap": "round",
9843
+ "stroke-linejoin": "round"
9844
+ }, [
9845
+ u("path", { d: "M12 4 V15" }),
9846
+ u("polyline", { points: "7 9 12 4 17 9" }),
9847
+ u("path", { d: "M4 19 H20" })
9848
+ ], -1),
9849
+ u("span", null, "加载 .md", -1)
9850
+ ])]),
9851
+ u("button", {
9852
+ class: "zm-md-btn",
9853
+ title: "把当前导图导出为 .md",
9854
+ onClick: k
9855
+ }, [...E[2] || (E[2] = [
9856
+ u("svg", {
9857
+ width: "12",
9858
+ height: "12",
9859
+ viewBox: "0 0 24 24",
9860
+ fill: "none",
9861
+ stroke: "currentColor",
9862
+ "stroke-width": "2",
9863
+ "stroke-linecap": "round",
9864
+ "stroke-linejoin": "round"
9865
+ }, [
9866
+ u("path", { d: "M12 15 V4" }),
9867
+ u("polyline", { points: "7 9 12 4 17 9" }),
9868
+ u("path", { d: "M4 19 H20" })
9869
+ ], -1),
9870
+ u("span", null, "导出 .md", -1)
9871
+ ])]),
9872
+ E[3] || (E[3] = u("span", { class: "zm-md-spacer" }, null, -1)),
9873
+ u("button", {
9874
+ class: "zm-md-btn",
9875
+ title: "用示例内容填充",
9876
+ onClick: y
9877
+ }, "示例"),
9878
+ u("button", {
9879
+ class: "zm-md-btn",
9880
+ title: "覆盖为当前导图",
9881
+ onClick: h
9882
+ }, "同步"),
9883
+ u("button", {
9884
+ class: "zm-md-btn",
9885
+ title: "清空",
9886
+ onClick: x
9887
+ }, "清空")
9888
+ ]),
9889
+ r.value ? (b(), v("div", nu, ce(r.value), 1)) : V("", !0),
9890
+ u("div", iu, [
9891
+ u("div", ou, [
9892
+ E[4] || (E[4] = u("div", { class: "zm-md-pane-header" }, [
9893
+ u("span", null, "Markdown"),
9894
+ u("span", { class: "zm-md-hint" }, "# 根 · ## 一级 · ### 二级 …")
9895
+ ], -1)),
9896
+ kt(u("textarea", {
9897
+ "onUpdate:modelValue": E[0] || (E[0] = (M) => o.value = M),
9898
+ class: "zm-md-textarea",
9899
+ spellcheck: "false",
9900
+ placeholder: "# 标题…"
9901
+ }, null, 512), [
9902
+ [Nt, o.value]
9903
+ ])
9904
+ ]),
9905
+ u("div", su, [
9906
+ E[5] || (E[5] = u("div", { class: "zm-md-pane-header" }, [
9907
+ u("span", null, "导图预览"),
9908
+ u("span", { class: "zm-md-hint" }, "只读")
9909
+ ], -1)),
9910
+ u("div", ru, [
9911
+ he(fo, {
9912
+ ref_key: "previewRef",
9913
+ ref: a,
9914
+ data: l.value,
9915
+ readonly: "",
9916
+ "preview-mode": ""
9917
+ }, null, 8, ["data"])
9918
+ ])
9919
+ ])
9920
+ ]),
9921
+ u("div", lu, [
9922
+ u("button", {
9923
+ class: "zm-md-btn is-primary",
9924
+ disabled: !o.value.trim(),
9925
+ onClick: g
9926
+ }, "应用到导图", 8, au)
9927
+ ])
9928
+ ]));
9929
+ }
9930
+ }), uu = { class: "zm-settings-panel" }, du = {
9718
9931
  key: 0,
9719
9932
  class: "zm-settings-section"
9720
- }, eu = { class: "zm-settings-row" }, tu = ["value"], nu = { class: "zm-slider" }, iu = ["value"], ou = { class: "zm-settings-row" }, su = ["value"], ru = { class: "zm-slider" }, lu = ["value"], au = { class: "zm-settings-row" }, cu = { class: "zm-line-style-group" }, uu = ["title", "onClick"], du = ["viewBox"], fu = {
9933
+ }, fu = { class: "zm-settings-row" }, pu = ["value"], gu = { class: "zm-slider" }, hu = ["value"], mu = { class: "zm-settings-row" }, bu = ["value"], vu = { class: "zm-slider" }, yu = ["value"], ku = { class: "zm-settings-row" }, xu = { class: "zm-line-style-group" }, wu = ["title", "onClick"], Eu = ["viewBox"], Su = {
9721
9934
  key: 0,
9722
9935
  d: "M 0 12 C 8 0, 20 0, 28 12",
9723
9936
  fill: "none",
9724
9937
  stroke: "currentColor",
9725
9938
  "stroke-width": "2.2",
9726
9939
  "stroke-linecap": "round"
9727
- }, pu = {
9940
+ }, Tu = {
9728
9941
  key: 1,
9729
9942
  x1: "0",
9730
9943
  y1: "12",
@@ -9733,27 +9946,27 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9733
9946
  stroke: "currentColor",
9734
9947
  "stroke-width": "2.2",
9735
9948
  "stroke-linecap": "round"
9736
- }, gu = { class: "zm-line-style-label" }, hu = { class: "zm-settings-row" }, mu = {
9949
+ }, _u = { class: "zm-line-style-label" }, Cu = { class: "zm-settings-row" }, Au = {
9737
9950
  key: 0,
9738
9951
  class: "zm-palette-picker"
9739
- }, bu = { class: "zm-palette-grid" }, vu = ["title", "onClick"], yu = { class: "zm-palette-card-name" }, ku = { class: "zm-palette-card-swatches" }, xu = {
9952
+ }, Nu = { class: "zm-palette-grid" }, Ru = ["title", "onClick"], Mu = { class: "zm-palette-card-name" }, Ou = { class: "zm-palette-card-swatches" }, Iu = {
9740
9953
  key: 0,
9741
9954
  class: "zm-palette-customs"
9742
- }, wu = ["title", "onClick"], Eu = { class: "zm-palette-card-name" }, Su = { class: "zm-palette-card-swatches" }, Tu = ["value", "onInput"], _u = { class: "zm-palette-custom-actions" }, Cu = ["onClick"], Au = ["onClick"], Nu = { class: "zm-settings-row" }, Ru = { class: "zm-settings-row" }, Mu = { class: "zm-settings-preview" }, Ou = {
9955
+ }, zu = ["title", "onClick"], Lu = { class: "zm-palette-card-name" }, $u = { class: "zm-palette-card-swatches" }, Du = ["value", "onInput"], Pu = { class: "zm-palette-custom-actions" }, Bu = ["onClick"], Uu = ["onClick"], Hu = { class: "zm-settings-row" }, Fu = { class: "zm-settings-row" }, Wu = { class: "zm-settings-preview" }, Gu = {
9743
9956
  viewBox: "0 0 200 70",
9744
9957
  width: "100%",
9745
9958
  height: "70",
9746
9959
  preserveAspectRatio: "none"
9747
- }, Iu = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], zu = {
9960
+ }, ju = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], qu = {
9748
9961
  key: 1,
9749
9962
  class: "zm-settings-section"
9750
- }, Lu = { class: "zm-settings-row" }, $u = { class: "zm-settings-value-tag" }, Du = { class: "zm-settings-row" }, Pu = { class: "zm-settings-value-tag" }, Bu = { class: "zm-settings-row" }, Uu = { class: "zm-settings-value-tag" }, Hu = { class: "zm-settings-row" }, Fu = {
9963
+ }, Ku = { class: "zm-settings-row" }, Vu = { class: "zm-settings-value-tag" }, Yu = { class: "zm-settings-row" }, Zu = { class: "zm-settings-value-tag" }, Xu = { class: "zm-settings-row" }, Ju = { class: "zm-settings-value-tag" }, Qu = { class: "zm-settings-row" }, ed = {
9751
9964
  key: 2,
9752
9965
  class: "zm-settings-section"
9753
- }, Wu = { class: "zm-settings-section-title" }, Gu = {
9966
+ }, td = { class: "zm-settings-section-title" }, nd = {
9754
9967
  key: 0,
9755
9968
  class: "zm-settings-section-sub"
9756
- }, ju = { class: "zm-settings-row" }, qu = { class: "zm-settings-value-tag" }, Ku = { class: "zm-swatch-row" }, Vu = ["title", "onClick"], Yu = { class: "zm-settings-row" }, Zu = { class: "zm-settings-value-tag" }, Xu = { class: "zm-swatch-row" }, Ju = ["title", "onClick"], Qu = { class: "zm-settings-row" }, ed = { class: "zm-settings-section" }, td = /* @__PURE__ */ Tt({
9969
+ }, id = { class: "zm-settings-row" }, od = { class: "zm-settings-value-tag" }, sd = { class: "zm-swatch-row" }, rd = ["title", "onClick"], ld = { class: "zm-settings-row" }, ad = { class: "zm-settings-value-tag" }, cd = { class: "zm-swatch-row" }, ud = ["title", "onClick"], dd = { class: "zm-settings-row" }, fd = { class: "zm-settings-section" }, pd = /* @__PURE__ */ Tt({
9757
9970
  __name: "SettingsPanel",
9758
9971
  props: {
9759
9972
  settings: {},
@@ -9789,7 +10002,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9789
10002
  `)), f[A.id];
9790
10003
  }
9791
10004
  function h(A) {
9792
- const m = f[A.id] ?? "", L = Jr(m);
10005
+ const m = f[A.id] ?? "", L = nl(m);
9793
10006
  if (L.length === 0) {
9794
10007
  f[A.id] = A.colors.join(`
9795
10008
  `);
@@ -9855,22 +10068,22 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9855
10068
  };
9856
10069
  });
9857
10070
  });
9858
- return (A, m) => (b(), v("div", Jc, [
9859
- e.hasSelection ? (b(), v("section", zu, [
10071
+ return (A, m) => (b(), v("div", uu, [
10072
+ e.hasSelection ? (b(), v("section", qu, [
9860
10073
  m[32] || (m[32] = u("h4", { class: "zm-settings-section-title" }, "画布", -1)),
9861
- u("div", Lu, [
10074
+ u("div", Ku, [
9862
10075
  m[27] || (m[27] = u("span", { class: "zm-settings-label" }, "线条粗端", -1)),
9863
- u("span", $u, ce(e.settings.lineWidthStart.toFixed(1)), 1)
10076
+ u("span", Vu, ce(e.settings.lineWidthStart.toFixed(1)), 1)
9864
10077
  ]),
9865
- u("div", Du, [
10078
+ u("div", Yu, [
9866
10079
  m[28] || (m[28] = u("span", { class: "zm-settings-label" }, "线条细端", -1)),
9867
- u("span", Pu, ce(e.settings.lineWidthEnd.toFixed(1)), 1)
10080
+ u("span", Zu, ce(e.settings.lineWidthEnd.toFixed(1)), 1)
9868
10081
  ]),
9869
- u("div", Bu, [
10082
+ u("div", Xu, [
9870
10083
  m[29] || (m[29] = u("span", { class: "zm-settings-label" }, "线条类型", -1)),
9871
- u("span", Uu, ce(e.settings.lineStyle === "curve" ? "圆弧" : "直线"), 1)
10084
+ u("span", Ju, ce(e.settings.lineStyle === "curve" ? "圆弧" : "直线"), 1)
9872
10085
  ]),
9873
- u("label", Hu, [
10086
+ u("label", Qu, [
9874
10087
  m[31] || (m[31] = u("span", { class: "zm-settings-label" }, "一级分支彩虹色", -1)),
9875
10088
  u("button", {
9876
10089
  class: Ce(["zm-toggle", { "is-on": e.settings.rainbowBranch }]),
@@ -9880,9 +10093,9 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9880
10093
  ])], 2)
9881
10094
  ]),
9882
10095
  m[33] || (m[33] = u("p", { class: "zm-settings-hint" }, "画布级别的设置会影响整张图。", -1))
9883
- ])) : (b(), v("section", Qc, [
10096
+ ])) : (b(), v("section", du, [
9884
10097
  m[23] || (m[23] = u("h4", { class: "zm-settings-section-title" }, "画布", -1)),
9885
- u("div", eu, [
10098
+ u("div", fu, [
9886
10099
  m[12] || (m[12] = u("span", { class: "zm-settings-label" }, "线条粗端(根部)", -1)),
9887
10100
  u("input", {
9888
10101
  class: "zm-settings-number",
@@ -9890,9 +10103,9 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9890
10103
  step: "0.2",
9891
10104
  value: e.settings.lineWidthStart,
9892
10105
  onChange: m[0] || (m[0] = (L) => o("lineWidthStart", parseFloat(L.target.value) || 0))
9893
- }, null, 40, tu)
10106
+ }, null, 40, pu)
9894
10107
  ]),
9895
- u("div", nu, [
10108
+ u("div", gu, [
9896
10109
  u("input", {
9897
10110
  type: "range",
9898
10111
  min: "0.4",
@@ -9900,9 +10113,9 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9900
10113
  step: "0.2",
9901
10114
  value: e.settings.lineWidthStart,
9902
10115
  onInput: m[1] || (m[1] = (L) => o("lineWidthStart", parseFloat(L.target.value)))
9903
- }, null, 40, iu)
10116
+ }, null, 40, hu)
9904
10117
  ]),
9905
- u("div", ou, [
10118
+ u("div", mu, [
9906
10119
  m[13] || (m[13] = u("span", { class: "zm-settings-label" }, "线条细端(子端)", -1)),
9907
10120
  u("input", {
9908
10121
  class: "zm-settings-number",
@@ -9910,9 +10123,9 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9910
10123
  step: "0.2",
9911
10124
  value: e.settings.lineWidthEnd,
9912
10125
  onChange: m[2] || (m[2] = (L) => o("lineWidthEnd", parseFloat(L.target.value) || 0))
9913
- }, null, 40, su)
10126
+ }, null, 40, bu)
9914
10127
  ]),
9915
- u("div", ru, [
10128
+ u("div", vu, [
9916
10129
  u("input", {
9917
10130
  type: "range",
9918
10131
  min: "0.2",
@@ -9920,11 +10133,11 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9920
10133
  step: "0.1",
9921
10134
  value: e.settings.lineWidthEnd,
9922
10135
  onInput: m[3] || (m[3] = (L) => o("lineWidthEnd", parseFloat(L.target.value)))
9923
- }, null, 40, lu)
10136
+ }, null, 40, yu)
9924
10137
  ]),
9925
- u("div", au, [
10138
+ u("div", ku, [
9926
10139
  m[14] || (m[14] = u("span", { class: "zm-settings-label" }, "线条类型", -1)),
9927
- u("div", cu, [
10140
+ u("div", xu, [
9928
10141
  (b(), v(oe, null, tt(r, (L) => u("button", {
9929
10142
  key: L.value,
9930
10143
  class: Ce(["zm-line-style-btn", { "is-on": e.settings.lineStyle === L.value }]),
@@ -9937,13 +10150,13 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9937
10150
  height: "14",
9938
10151
  preserveAspectRatio: "none"
9939
10152
  }, [
9940
- L.value === "curve" ? (b(), v("path", fu)) : (b(), v("line", pu))
9941
- ], 8, du)),
9942
- u("span", gu, ce(L.label), 1)
9943
- ], 10, uu)), 64))
10153
+ L.value === "curve" ? (b(), v("path", Su)) : (b(), v("line", Tu))
10154
+ ], 8, Eu)),
10155
+ u("span", _u, ce(L.label), 1)
10156
+ ], 10, wu)), 64))
9944
10157
  ])
9945
10158
  ]),
9946
- u("label", hu, [
10159
+ u("label", Cu, [
9947
10160
  m[16] || (m[16] = u("span", { class: "zm-settings-label" }, "一级分支彩虹色", -1)),
9948
10161
  u("button", {
9949
10162
  class: Ce(["zm-toggle", { "is-on": e.settings.rainbowBranch }]),
@@ -9953,9 +10166,9 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9953
10166
  ])], 2)
9954
10167
  ]),
9955
10168
  m[24] || (m[24] = u("p", { class: "zm-settings-hint" }, "关闭时所有线条使用统一的 lineColor。", -1)),
9956
- e.settings.rainbowBranch ? (b(), v("div", mu, [
10169
+ e.settings.rainbowBranch ? (b(), v("div", Au, [
9957
10170
  m[17] || (m[17] = u("h5", { class: "zm-palette-picker-title" }, "配色方案", -1)),
9958
- u("div", bu, [
10171
+ u("div", Nu, [
9959
10172
  (b(!0), v(oe, null, tt(ve(Gt), (L) => (b(), v("button", {
9960
10173
  key: L.id,
9961
10174
  type: "button",
@@ -9963,17 +10176,17 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9963
10176
  title: L.name,
9964
10177
  onClick: (q) => o("branchPaletteId", L.id)
9965
10178
  }, [
9966
- u("span", yu, ce(L.name), 1),
9967
- u("span", ku, [
10179
+ u("span", Mu, ce(L.name), 1),
10180
+ u("span", Ou, [
9968
10181
  (b(!0), v(oe, null, tt(L.colors, (q, ae) => (b(), v("span", {
9969
10182
  key: ae,
9970
10183
  class: "zm-palette-card-swatch",
9971
10184
  style: Je({ background: q })
9972
10185
  }, null, 4))), 128))
9973
10186
  ])
9974
- ], 10, vu))), 128))
10187
+ ], 10, Ru))), 128))
9975
10188
  ]),
9976
- e.settings.customPalettes.length ? (b(), v("div", xu, [
10189
+ e.settings.customPalettes.length ? (b(), v("div", Iu, [
9977
10190
  (b(!0), v(oe, null, tt(e.settings.customPalettes, (L) => (b(), v("div", {
9978
10191
  key: L.id,
9979
10192
  class: "zm-palette-custom"
@@ -9984,15 +10197,15 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
9984
10197
  title: L.name,
9985
10198
  onClick: (q) => o("branchPaletteId", L.id)
9986
10199
  }, [
9987
- u("span", Eu, ce(L.name), 1),
9988
- u("span", Su, [
10200
+ u("span", Lu, ce(L.name), 1),
10201
+ u("span", $u, [
9989
10202
  (b(!0), v(oe, null, tt(L.colors, (q, ae) => (b(), v("span", {
9990
10203
  key: ae,
9991
10204
  class: "zm-palette-card-swatch",
9992
10205
  style: Je({ background: q })
9993
10206
  }, null, 4))), 128))
9994
10207
  ])
9995
- ], 10, wu),
10208
+ ], 10, zu),
9996
10209
  u("textarea", {
9997
10210
  class: "zm-palette-textarea",
9998
10211
  rows: "2",
@@ -10000,18 +10213,18 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
10000
10213
  placeholder: "一行一个 hex,例如 #f87171",
10001
10214
  value: g(L),
10002
10215
  onInput: (q) => f[L.id] = q.target.value
10003
- }, null, 40, Tu),
10004
- u("div", _u, [
10216
+ }, null, 40, Du),
10217
+ u("div", Pu, [
10005
10218
  u("button", {
10006
10219
  type: "button",
10007
10220
  class: "zm-data-btn is-primary",
10008
10221
  onClick: (q) => h(L)
10009
- }, "保存", 8, Cu),
10222
+ }, "保存", 8, Bu),
10010
10223
  u("button", {
10011
10224
  type: "button",
10012
10225
  class: "zm-data-btn",
10013
10226
  onClick: (q) => S(L)
10014
- }, "删除", 8, Au)
10227
+ }, "删除", 8, Uu)
10015
10228
  ])
10016
10229
  ]))), 128))
10017
10230
  ])) : V("", !0),
@@ -10021,7 +10234,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
10021
10234
  onClick: x
10022
10235
  }, "+ 新建配色")
10023
10236
  ])) : V("", !0),
10024
- u("label", Nu, [
10237
+ u("label", Hu, [
10025
10238
  m[19] || (m[19] = u("span", { class: "zm-settings-label" }, "每条连线独立渐变", -1)),
10026
10239
  u("button", {
10027
10240
  class: Ce(["zm-toggle", { "is-on": e.settings.taperedEdge }]),
@@ -10031,7 +10244,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
10031
10244
  ])], 2)
10032
10245
  ]),
10033
10246
  m[25] || (m[25] = u("p", { class: "zm-settings-hint" }, " 开启时每条边都从根部粗端收回到细端子端,父子边之间可能形成粗细跳变; 关闭时整棵树从最粗平滑过渡到最细,所有边连成一条带子。 ", -1)),
10034
- u("label", Ru, [
10247
+ u("label", Fu, [
10035
10248
  m[21] || (m[21] = u("span", { class: "zm-settings-label" }, "显示节点序号", -1)),
10036
10249
  u("button", {
10037
10250
  class: Ce(["zm-toggle", { "is-on": e.settings.showOrderBadge }]),
@@ -10041,8 +10254,8 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
10041
10254
  ])], 2)
10042
10255
  ]),
10043
10256
  m[26] || (m[26] = u("p", { class: "zm-settings-hint" }, " 在每个节点右上角标注它是同级中的第几个 (1, 2, 3, ...), 方便对比画布位置与数据顺序。 ", -1)),
10044
- u("div", Mu, [
10045
- (b(), v("svg", Ou, [
10257
+ u("div", Wu, [
10258
+ (b(), v("svg", Gu, [
10046
10259
  (b(!0), v(oe, null, tt(R.value, (L, q) => (b(), v("line", {
10047
10260
  key: q,
10048
10261
  x1: L.x1,
@@ -10052,7 +10265,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
10052
10265
  stroke: e.settings.rainbowBranch ? L.color : "#94a3b8",
10053
10266
  "stroke-width": L.w,
10054
10267
  "stroke-linecap": "butt"
10055
- }, null, 8, Iu))), 128))
10268
+ }, null, 8, ju))), 128))
10056
10269
  ])),
10057
10270
  m[22] || (m[22] = u("div", { class: "zm-settings-preview-labels" }, [
10058
10271
  u("span", null, "根"),
@@ -10062,48 +10275,48 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
10062
10275
  ], -1))
10063
10276
  ])
10064
10277
  ])),
10065
- e.hasSelection ? (b(), v("section", Fu, [
10066
- u("h4", Wu, [
10278
+ e.hasSelection ? (b(), v("section", ed, [
10279
+ u("h4", td, [
10067
10280
  m[34] || (m[34] = tn(" 节点 ", -1)),
10068
- e.selectedNodeText ? (b(), v("span", Gu, "“" + ce(e.selectedNodeText) + "”", 1)) : V("", !0)
10281
+ e.selectedNodeText ? (b(), v("span", nd, "“" + ce(e.selectedNodeText) + "”", 1)) : V("", !0)
10069
10282
  ]),
10070
- u("div", ju, [
10283
+ u("div", id, [
10071
10284
  m[35] || (m[35] = u("span", { class: "zm-settings-label" }, "背景颜色", -1)),
10072
- u("span", qu, ce(a.bg || "默认"), 1)
10285
+ u("span", od, ce(a.bg || "默认"), 1)
10073
10286
  ]),
10074
- u("div", Ku, [
10287
+ u("div", sd, [
10075
10288
  (b(), v(oe, null, tt(y, (L) => u("button", {
10076
10289
  key: "bg-" + L,
10077
10290
  class: "zm-swatch",
10078
10291
  style: Je({ background: L }),
10079
10292
  title: L,
10080
10293
  onClick: (q) => a.bg = L
10081
- }, null, 12, Vu)), 64)),
10294
+ }, null, 12, rd)), 64)),
10082
10295
  u("button", {
10083
10296
  class: "zm-swatch is-reset",
10084
10297
  title: "清除",
10085
10298
  onClick: m[8] || (m[8] = (L) => a.bg = void 0)
10086
10299
  }, "∅")
10087
10300
  ]),
10088
- u("div", Yu, [
10301
+ u("div", ld, [
10089
10302
  m[36] || (m[36] = u("span", { class: "zm-settings-label" }, "文字颜色", -1)),
10090
- u("span", Zu, ce(a.textColor || "默认"), 1)
10303
+ u("span", ad, ce(a.textColor || "默认"), 1)
10091
10304
  ]),
10092
- u("div", Xu, [
10305
+ u("div", cd, [
10093
10306
  (b(), v(oe, null, tt(y, (L) => u("button", {
10094
10307
  key: "fg-" + L,
10095
10308
  class: "zm-swatch",
10096
10309
  style: Je({ background: L }),
10097
10310
  title: L,
10098
10311
  onClick: (q) => a.textColor = L
10099
- }, null, 12, Ju)), 64)),
10312
+ }, null, 12, ud)), 64)),
10100
10313
  u("button", {
10101
10314
  class: "zm-swatch is-reset",
10102
10315
  title: "清除",
10103
10316
  onClick: m[9] || (m[9] = (L) => a.textColor = void 0)
10104
10317
  }, "∅")
10105
10318
  ]),
10106
- u("div", Qu, [
10319
+ u("div", dd, [
10107
10320
  m[38] || (m[38] = u("span", { class: "zm-settings-label" }, "字重", -1)),
10108
10321
  u("button", {
10109
10322
  class: Ce(["zm-toggle", { "is-on": a.fontWeight === 600 }]),
@@ -10124,7 +10337,7 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
10124
10337
  ]),
10125
10338
  m[39] || (m[39] = u("p", { class: "zm-settings-hint" }, "仅作用于当前节点,不影响子节点。", -1))
10126
10339
  ])) : V("", !0),
10127
- u("section", ed, [
10340
+ u("section", fd, [
10128
10341
  u("button", {
10129
10342
  class: "zm-settings-reset",
10130
10343
  onClick: m[11] || (m[11] = (L) => i("reset"))
@@ -10132,226 +10345,13 @@ const Ca = ["viewBox", "width", "height"], Aa = { class: "zm-edges" }, Na = ["d"
10132
10345
  ])
10133
10346
  ]));
10134
10347
  }
10135
- }), nd = (e, n) => {
10348
+ }), gd = (e, n) => {
10136
10349
  const t = e.__vccOpts || e;
10137
10350
  for (const [i, o] of n)
10138
10351
  t[i] = o;
10139
10352
  return t;
10140
- }, id = /* @__PURE__ */ nd(td, [["__scopeId", "data-v-17ef65d1"]]), od = { class: "zm-md-panel" }, sd = {
10141
- key: 0,
10142
- class: "zm-md-error"
10143
- }, rd = { class: "zm-md-split" }, ld = { class: "zm-md-edit" }, ad = { class: "zm-md-preview" }, cd = { class: "zm-md-preview-body" }, ud = { class: "zm-md-footer" }, dd = ["disabled"], fd = `# flow-mindmap 思维导图
10144
-
10145
- [GitHub 仓库](https://github.com/xz333221/flow-mindmap)
10146
-
10147
- ![cover](https://placehold.co/600x300/3b82f6/ffffff?text=flow-mindmap+demo)
10148
-
10149
- ## 项目概览
10150
- 一个现代、极简的思维导图工具 — xmind 风格,可作为 Vue 组件嵌入。
10151
-
10152
- \`\`\`note
10153
- 这个 note 节点演示了多行笔记:
10154
- - 节点旁的笔记图标
10155
- - hover 显示 tooltip 预览
10156
- - 点击图标进入内联编辑
10157
- - 支持任意多行文本
10158
- \`\`\`
10159
-
10160
- ## 核心功能
10161
-
10162
- ### 节点编辑
10163
- - 增、删、改
10164
- - 拖拽布局
10165
-
10166
- ### 视图
10167
- - 缩放与平移
10168
- - 多种布局模式
10169
-
10170
- ### 数据
10171
- - 导入 / 导出 JSON
10172
- - 撤销 / 重做
10173
-
10174
- ## 技术栈
10175
- - Vue 3 + Vite
10176
- - TypeScript
10177
- - 纯 SVG 渲染
10178
- - 零第三方运行时依赖
10179
-
10180
- ## 开源协议
10181
- [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0)
10182
- `, pd = /* @__PURE__ */ Tt({
10183
- __name: "MarkdownPanel",
10184
- props: {
10185
- data: {}
10186
- },
10187
- emits: ["import"],
10188
- setup(e, { emit: n }) {
10189
- const t = e, i = n, o = K(Xn(t.data)), r = K(null), a = K(null), d = ue(() => {
10190
- try {
10191
- const N = Zn(o.value || "");
10192
- return r.value = null, N;
10193
- } catch (N) {
10194
- return r.value = N.message, { id: "preview_fallback", text: o.value || "(空)", children: [] };
10195
- }
10196
- }), l = ue(() => Wt(d.value));
10197
- let f = null;
10198
- ft(o, () => {
10199
- f && clearTimeout(f), f = setTimeout(() => {
10200
- var N;
10201
- return (N = a.value) == null ? void 0 : N.resetView();
10202
- }, 250);
10203
- });
10204
- function g() {
10205
- try {
10206
- const N = Zn(o.value || "");
10207
- r.value = null, i("import", N);
10208
- } catch (N) {
10209
- r.value = N.message;
10210
- }
10211
- }
10212
- function h() {
10213
- o.value = Xn(t.data), r.value = null, Fe(() => {
10214
- var N;
10215
- return (N = a.value) == null ? void 0 : N.resetView();
10216
- });
10217
- }
10218
- function x() {
10219
- o.value = "", r.value = null, Fe(() => {
10220
- var N;
10221
- return (N = a.value) == null ? void 0 : N.resetView();
10222
- });
10223
- }
10224
- function S() {
10225
- const N = document.createElement("input");
10226
- N.type = "file", N.accept = ".md,text/markdown,text/plain", N.onchange = () => {
10227
- var _;
10228
- const E = (_ = N.files) == null ? void 0 : _[0];
10229
- if (!E) return;
10230
- const M = new FileReader();
10231
- M.onload = () => {
10232
- typeof M.result == "string" && (o.value = M.result, r.value = null, Fe(() => {
10233
- var R;
10234
- return (R = a.value) == null ? void 0 : R.resetView();
10235
- }));
10236
- }, M.readAsText(E);
10237
- }, N.click();
10238
- }
10239
- function k() {
10240
- const N = new Blob([o.value], { type: "text/markdown;charset=utf-8" }), E = URL.createObjectURL(N), M = document.createElement("a");
10241
- M.href = E;
10242
- const _ = (t.data.text || "mindmap").trim() || "mindmap";
10243
- M.download = `${_}.md`, M.click(), URL.revokeObjectURL(E);
10244
- }
10245
- function y() {
10246
- o.value = fd, r.value = null, Fe(() => {
10247
- var N;
10248
- return (N = a.value) == null ? void 0 : N.resetView();
10249
- });
10250
- }
10251
- return (N, E) => (b(), v("div", od, [
10252
- u("div", { class: "zm-md-toolbar" }, [
10253
- u("button", {
10254
- class: "zm-md-btn",
10255
- title: "从 .md 文件加载",
10256
- onClick: S
10257
- }, [...E[1] || (E[1] = [
10258
- u("svg", {
10259
- width: "12",
10260
- height: "12",
10261
- viewBox: "0 0 24 24",
10262
- fill: "none",
10263
- stroke: "currentColor",
10264
- "stroke-width": "2",
10265
- "stroke-linecap": "round",
10266
- "stroke-linejoin": "round"
10267
- }, [
10268
- u("path", { d: "M12 4 V15" }),
10269
- u("polyline", { points: "7 9 12 4 17 9" }),
10270
- u("path", { d: "M4 19 H20" })
10271
- ], -1),
10272
- u("span", null, "加载 .md", -1)
10273
- ])]),
10274
- u("button", {
10275
- class: "zm-md-btn",
10276
- title: "把当前导图导出为 .md",
10277
- onClick: k
10278
- }, [...E[2] || (E[2] = [
10279
- u("svg", {
10280
- width: "12",
10281
- height: "12",
10282
- viewBox: "0 0 24 24",
10283
- fill: "none",
10284
- stroke: "currentColor",
10285
- "stroke-width": "2",
10286
- "stroke-linecap": "round",
10287
- "stroke-linejoin": "round"
10288
- }, [
10289
- u("path", { d: "M12 15 V4" }),
10290
- u("polyline", { points: "7 9 12 4 17 9" }),
10291
- u("path", { d: "M4 19 H20" })
10292
- ], -1),
10293
- u("span", null, "导出 .md", -1)
10294
- ])]),
10295
- E[3] || (E[3] = u("span", { class: "zm-md-spacer" }, null, -1)),
10296
- u("button", {
10297
- class: "zm-md-btn",
10298
- title: "用示例内容填充",
10299
- onClick: y
10300
- }, "示例"),
10301
- u("button", {
10302
- class: "zm-md-btn",
10303
- title: "覆盖为当前导图",
10304
- onClick: h
10305
- }, "同步"),
10306
- u("button", {
10307
- class: "zm-md-btn",
10308
- title: "清空",
10309
- onClick: x
10310
- }, "清空")
10311
- ]),
10312
- r.value ? (b(), v("div", sd, ce(r.value), 1)) : V("", !0),
10313
- u("div", rd, [
10314
- u("div", ld, [
10315
- E[4] || (E[4] = u("div", { class: "zm-md-pane-header" }, [
10316
- u("span", null, "Markdown"),
10317
- u("span", { class: "zm-md-hint" }, "# 根 · ## 一级 · ### 二级 …")
10318
- ], -1)),
10319
- kt(u("textarea", {
10320
- "onUpdate:modelValue": E[0] || (E[0] = (M) => o.value = M),
10321
- class: "zm-md-textarea",
10322
- spellcheck: "false",
10323
- placeholder: "# 标题…"
10324
- }, null, 512), [
10325
- [Nt, o.value]
10326
- ])
10327
- ]),
10328
- u("div", ad, [
10329
- E[5] || (E[5] = u("div", { class: "zm-md-pane-header" }, [
10330
- u("span", null, "导图预览"),
10331
- u("span", { class: "zm-md-hint" }, "只读")
10332
- ], -1)),
10333
- u("div", cd, [
10334
- he(fo, {
10335
- ref_key: "previewRef",
10336
- ref: a,
10337
- data: l.value,
10338
- readonly: "",
10339
- "preview-mode": ""
10340
- }, null, 8, ["data"])
10341
- ])
10342
- ])
10343
- ]),
10344
- u("div", ud, [
10345
- u("button", {
10346
- class: "zm-md-btn is-primary",
10347
- disabled: !o.value.trim(),
10348
- onClick: g
10349
- }, "应用到导图", 8, dd)
10350
- ])
10351
- ]));
10352
- }
10353
- }), Jo = 20;
10354
- function gd(e, n) {
10353
+ }, tr = /* @__PURE__ */ gd(pd, [["__scopeId", "data-v-17ef65d1"]]), Jo = 20;
10354
+ function hd(e, n) {
10355
10355
  e.style.height = "auto";
10356
10356
  const t = n.minRows * Jo, i = n.maxRows > 0 ? n.maxRows * Jo : 1 / 0, o = Math.max(t, Math.min(i, e.scrollHeight));
10357
10357
  e.style.height = o + "px", e.style.overflowY = e.scrollHeight > i ? "auto" : "hidden";
@@ -10363,12 +10363,12 @@ function Gi(e, n = {}) {
10363
10363
  };
10364
10364
  function i() {
10365
10365
  const r = e.value;
10366
- r && gd(r, t);
10366
+ r && hd(r, t);
10367
10367
  }
10368
10368
  function o() {
10369
10369
  i();
10370
10370
  }
10371
- Yn(async () => {
10371
+ Zn(async () => {
10372
10372
  await Fe();
10373
10373
  const r = e.value;
10374
10374
  r && (r.addEventListener("input", o), i());
@@ -10387,7 +10387,7 @@ function po() {
10387
10387
  return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };
10388
10388
  }
10389
10389
  var an = po();
10390
- function Qs(e) {
10390
+ function nr(e) {
10391
10391
  an = e;
10392
10392
  }
10393
10393
  var nn = { exec: () => null };
@@ -10405,14 +10405,14 @@ function Ne(e, n = "") {
10405
10405
  }, getRegex: () => new RegExp(t, n) };
10406
10406
  return i;
10407
10407
  }
10408
- var hd = ((e = "") => {
10408
+ var md = ((e = "") => {
10409
10409
  try {
10410
10410
  return !!new RegExp("(?<=1)(?<!1)" + e);
10411
10411
  } catch {
10412
10412
  return !1;
10413
10413
  }
10414
- })(), ut = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (e) => new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: En((e) => new RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)), hrRegex: En((e) => new RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)), fencesBeginRegex: En((e) => new RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)), headingBeginRegex: En((e) => new RegExp(`^ {0,${e}}#`)), htmlBeginRegex: En((e) => new RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`, "i")), blockquoteBeginRegex: En((e) => new RegExp(`^ {0,${e}}>`)) }, md = /^(?:[ \t]*(?:\n|$))+/, bd = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, vd = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, ti = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, yd = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, go = / {0,3}(?:[*+-]|\d{1,9}[.)])/, er = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, tr = Ne(er).replace(/bull/g, go).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), kd = Ne(er).replace(/bull/g, go).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), ho = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, xd = /^[^\n]+/, mo = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, wd = Ne(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", mo).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Ed = Ne(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, go).getRegex(), Oi = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", bo = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Sd = Ne("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", bo).replace("tag", Oi).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), nr = Ne(ho).replace("hr", ti).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oi).getRegex(), Td = Ne(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", nr).getRegex(), vo = { blockquote: Td, code: bd, def: wd, fences: vd, heading: yd, hr: ti, html: Sd, lheading: tr, list: Ed, newline: md, paragraph: nr, table: nn, text: xd }, Qo = Ne("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", ti).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oi).getRegex(), _d = { ...vo, lheading: kd, table: Qo, paragraph: Ne(ho).replace("hr", ti).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Qo).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oi).getRegex() }, Cd = { ...vo, html: Ne(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", bo).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: nn, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: Ne(ho).replace("hr", ti).replace("heading", ` *#{1,6} *[^
10415
- ]`).replace("lheading", tr).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }, Ad = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Nd = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, ir = /^( {2,}|\\)\n(?!\s*$)/, Rd = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, In = /[\p{P}\p{S}]/u, Ii = /[\s\p{P}\p{S}]/u, yo = /[^\s\p{P}\p{S}]/u, Md = Ne(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Ii).getRegex(), or = /(?!~)[\p{P}\p{S}]/u, Od = /(?!~)[\s\p{P}\p{S}]/u, Id = /(?:[^\s\p{P}\p{S}]|~)/u, zd = Ne(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", hd ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), sr = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, Ld = Ne(sr, "u").replace(/punct/g, In).getRegex(), $d = Ne(sr, "u").replace(/punct/g, or).getRegex(), rr = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Dd = Ne(rr, "gu").replace(/notPunctSpace/g, yo).replace(/punctSpace/g, Ii).replace(/punct/g, In).getRegex(), Pd = Ne(rr, "gu").replace(/notPunctSpace/g, Id).replace(/punctSpace/g, Od).replace(/punct/g, or).getRegex(), Bd = Ne("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, yo).replace(/punctSpace/g, Ii).replace(/punct/g, In).getRegex(), Ud = Ne(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, In).getRegex(), Hd = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", Fd = Ne(Hd, "gu").replace(/notPunctSpace/g, yo).replace(/punctSpace/g, Ii).replace(/punct/g, In).getRegex(), Wd = Ne(/\\(punct)/, "gu").replace(/punct/g, In).getRegex(), Gd = Ne(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), jd = Ne(bo).replace("(?:-->|$)", "-->").getRegex(), qd = Ne("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", jd).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Ai = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, Kd = Ne(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", Ai).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), lr = Ne(/^!?\[(label)\]\[(ref)\]/).replace("label", Ai).replace("ref", mo).getRegex(), ar = Ne(/^!?\[(ref)\](?:\[\])?/).replace("ref", mo).getRegex(), Vd = Ne("reflink|nolink(?!\\()", "g").replace("reflink", lr).replace("nolink", ar).getRegex(), es = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, ko = { _backpedal: nn, anyPunctuation: Wd, autolink: Gd, blockSkip: zd, br: ir, code: Nd, del: nn, delLDelim: nn, delRDelim: nn, emStrongLDelim: Ld, emStrongRDelimAst: Dd, emStrongRDelimUnd: Bd, escape: Ad, link: Kd, nolink: ar, punctuation: Md, reflink: lr, reflinkSearch: Vd, tag: qd, text: Rd, url: nn }, Yd = { ...ko, link: Ne(/^!?\[(label)\]\((.*?)\)/).replace("label", Ai).getRegex(), reflink: Ne(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Ai).getRegex() }, Qi = { ...ko, emStrongRDelimAst: Pd, emStrongLDelim: $d, delLDelim: Ud, delRDelim: Fd, url: Ne(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", es).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: Ne(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", es).getRegex() }, Zd = { ...Qi, br: Ne(ir).replace("{2,}", "*").getRegex(), text: Ne(Qi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }, xi = { normal: vo, gfm: _d, pedantic: Cd }, Gn = { normal: ko, gfm: Qi, breaks: Zd, pedantic: Yd }, Xd = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }, ts = (e) => Xd[e];
10414
+ })(), ut = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (e) => new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: En((e) => new RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)), hrRegex: En((e) => new RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)), fencesBeginRegex: En((e) => new RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)), headingBeginRegex: En((e) => new RegExp(`^ {0,${e}}#`)), htmlBeginRegex: En((e) => new RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`, "i")), blockquoteBeginRegex: En((e) => new RegExp(`^ {0,${e}}>`)) }, bd = /^(?:[ \t]*(?:\n|$))+/, vd = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, yd = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, ni = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, kd = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, go = / {0,3}(?:[*+-]|\d{1,9}[.)])/, ir = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, or = Ne(ir).replace(/bull/g, go).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), xd = Ne(ir).replace(/bull/g, go).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), ho = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, wd = /^[^\n]+/, mo = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Ed = Ne(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", mo).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Sd = Ne(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, go).getRegex(), Oi = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", bo = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Td = Ne("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", bo).replace("tag", Oi).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), sr = Ne(ho).replace("hr", ni).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oi).getRegex(), _d = Ne(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", sr).getRegex(), vo = { blockquote: _d, code: vd, def: Ed, fences: yd, heading: kd, hr: ni, html: Td, lheading: or, list: Sd, newline: bd, paragraph: sr, table: nn, text: wd }, Qo = Ne("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", ni).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oi).getRegex(), Cd = { ...vo, lheading: xd, table: Qo, paragraph: Ne(ho).replace("hr", ni).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Qo).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Oi).getRegex() }, Ad = { ...vo, html: Ne(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", bo).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: nn, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: Ne(ho).replace("hr", ni).replace("heading", ` *#{1,6} *[^
10415
+ ]`).replace("lheading", or).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }, Nd = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Rd = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, rr = /^( {2,}|\\)\n(?!\s*$)/, Md = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, In = /[\p{P}\p{S}]/u, Ii = /[\s\p{P}\p{S}]/u, yo = /[^\s\p{P}\p{S}]/u, Od = Ne(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Ii).getRegex(), lr = /(?!~)[\p{P}\p{S}]/u, Id = /(?!~)[\s\p{P}\p{S}]/u, zd = /(?:[^\s\p{P}\p{S}]|~)/u, Ld = Ne(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", md ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), ar = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, $d = Ne(ar, "u").replace(/punct/g, In).getRegex(), Dd = Ne(ar, "u").replace(/punct/g, lr).getRegex(), cr = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Pd = Ne(cr, "gu").replace(/notPunctSpace/g, yo).replace(/punctSpace/g, Ii).replace(/punct/g, In).getRegex(), Bd = Ne(cr, "gu").replace(/notPunctSpace/g, zd).replace(/punctSpace/g, Id).replace(/punct/g, lr).getRegex(), Ud = Ne("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, yo).replace(/punctSpace/g, Ii).replace(/punct/g, In).getRegex(), Hd = Ne(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, In).getRegex(), Fd = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", Wd = Ne(Fd, "gu").replace(/notPunctSpace/g, yo).replace(/punctSpace/g, Ii).replace(/punct/g, In).getRegex(), Gd = Ne(/\\(punct)/, "gu").replace(/punct/g, In).getRegex(), jd = Ne(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), qd = Ne(bo).replace("(?:-->|$)", "-->").getRegex(), Kd = Ne("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", qd).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Ai = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, Vd = Ne(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", Ai).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), ur = Ne(/^!?\[(label)\]\[(ref)\]/).replace("label", Ai).replace("ref", mo).getRegex(), dr = Ne(/^!?\[(ref)\](?:\[\])?/).replace("ref", mo).getRegex(), Yd = Ne("reflink|nolink(?!\\()", "g").replace("reflink", ur).replace("nolink", dr).getRegex(), es = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, ko = { _backpedal: nn, anyPunctuation: Gd, autolink: jd, blockSkip: Ld, br: rr, code: Rd, del: nn, delLDelim: nn, delRDelim: nn, emStrongLDelim: $d, emStrongRDelimAst: Pd, emStrongRDelimUnd: Ud, escape: Nd, link: Vd, nolink: dr, punctuation: Od, reflink: ur, reflinkSearch: Yd, tag: Kd, text: Md, url: nn }, Zd = { ...ko, link: Ne(/^!?\[(label)\]\((.*?)\)/).replace("label", Ai).getRegex(), reflink: Ne(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Ai).getRegex() }, Qi = { ...ko, emStrongRDelimAst: Bd, emStrongLDelim: Dd, delLDelim: Hd, delRDelim: Wd, url: Ne(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", es).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: Ne(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", es).getRegex() }, Xd = { ...Qi, br: Ne(rr).replace("{2,}", "*").getRegex(), text: Ne(Qi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }, xi = { normal: vo, gfm: Cd, pedantic: Ad }, Gn = { normal: ko, gfm: Qi, breaks: Xd, pedantic: Zd }, Jd = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }, ts = (e) => Jd[e];
10416
10416
  function $t(e, n) {
10417
10417
  if (n) {
10418
10418
  if (ut.escapeTest.test(e)) return e.replace(ut.escapeReplace, ts);
@@ -10454,7 +10454,7 @@ function os(e) {
10454
10454
  return n.length - t <= 2 ? e : n.slice(0, t + 1).join(`
10455
10455
  `);
10456
10456
  }
10457
- function Jd(e, n) {
10457
+ function Qd(e, n) {
10458
10458
  if (e.indexOf(n[1]) === -1) return -1;
10459
10459
  let t = 0;
10460
10460
  for (let i = 0; i < e.length; i++) if (e[i] === "\\") i++;
@@ -10462,7 +10462,7 @@ function Jd(e, n) {
10462
10462
  else if (e[i] === n[1] && (t--, t < 0)) return i;
10463
10463
  return t > 0 ? -2 : -1;
10464
10464
  }
10465
- function Qd(e, n = 0) {
10465
+ function ef(e, n = 0) {
10466
10466
  let t = n, i = "";
10467
10467
  for (let o of e) if (o === " ") {
10468
10468
  let r = 4 - t % 4;
@@ -10476,7 +10476,7 @@ function ss(e, n, t, i, o) {
10476
10476
  let l = { type: e[0].charAt(0) === "!" ? "image" : "link", raw: t, href: r, title: a, text: d, tokens: i.inlineTokens(d) };
10477
10477
  return i.state.inLink = !1, l;
10478
10478
  }
10479
- function ef(e, n, t) {
10479
+ function tf(e, n, t) {
10480
10480
  let i = e.match(t.other.indentCodeCompensation);
10481
10481
  if (i === null) return n;
10482
10482
  let o = i[1];
@@ -10510,7 +10510,7 @@ var Ni = class {
10510
10510
  fences(e) {
10511
10511
  let n = this.rules.block.fences.exec(e);
10512
10512
  if (n) {
10513
- let t = n[0], i = ef(t, n[3] || "", this.rules);
10513
+ let t = n[0], i = tf(t, n[3] || "", this.rules);
10514
10514
  return { type: "code", raw: t, lang: n[2] ? n[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : n[2], text: i };
10515
10515
  }
10516
10516
  }
@@ -10581,7 +10581,7 @@ ${g}` : g;
10581
10581
  let l = !1, f = "", g = "";
10582
10582
  if (!(n = r.exec(e)) || this.rules.block.hr.test(e)) break;
10583
10583
  f = n[0], e = e.substring(f.length);
10584
- let h = Qd(n[2].split(`
10584
+ let h = ef(n[2].split(`
10585
10585
  `, 1)[0], n[1].length), x = e.split(`
10586
10586
  `, 1)[0], S = !h.trim(), k = 0;
10587
10587
  if (this.options.pedantic ? (k = 2, g = h.trimStart()) : S ? k = n[1].length + 1 : (k = h.search(this.rules.other.nonSpaceChar), k = k > 4 ? 1 : k, g = h.slice(k), k += n[1].length), S && this.rules.other.blankLine.test(x) && (f += x + `
@@ -10701,7 +10701,7 @@ ${g}` : g;
10701
10701
  let r = Yt(t.slice(0, -1), "\\");
10702
10702
  if ((t.length - r.length) % 2 === 0) return;
10703
10703
  } else {
10704
- let r = Jd(n[2], "()");
10704
+ let r = Qd(n[2], "()");
10705
10705
  if (r === -2) return;
10706
10706
  if (r > -1) {
10707
10707
  let a = (n[0].indexOf("!") === 0 ? 5 : 4) + n[1].length + r;
@@ -11031,7 +11031,7 @@ ${g}` : g;
11031
11031
  if (this.options.silent) console.error(t);
11032
11032
  else throw new Error(t);
11033
11033
  }
11034
- }, ei = class {
11034
+ }, ti = class {
11035
11035
  constructor(e) {
11036
11036
  De(this, "options");
11037
11037
  De(this, "parser");
@@ -11185,7 +11185,7 @@ ${e}</tr>
11185
11185
  De(this, "options");
11186
11186
  De(this, "renderer");
11187
11187
  De(this, "textRenderer");
11188
- this.options = n || an, this.options.renderer = this.options.renderer || new ei(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new xo();
11188
+ this.options = n || an, this.options.renderer = this.options.renderer || new ti(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new xo();
11189
11189
  }
11190
11190
  static parse(n, t) {
11191
11191
  return new to(t).parse(n);
@@ -11333,7 +11333,7 @@ ${e}</tr>
11333
11333
  }
11334
11334
  return i;
11335
11335
  }
11336
- }, Ei, Kn = (Ei = class {
11336
+ }, Ei, Vn = (Ei = class {
11337
11337
  constructor(e) {
11338
11338
  De(this, "options");
11339
11339
  De(this, "block");
@@ -11357,18 +11357,18 @@ ${e}</tr>
11357
11357
  provideParser(e = this.block) {
11358
11358
  return e ? At.parse : At.parseInline;
11359
11359
  }
11360
- }, De(Ei, "passThroughHooks", /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"])), De(Ei, "passThroughHooksRespectAsync", /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"])), Ei), cr = class {
11360
+ }, De(Ei, "passThroughHooks", /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"])), De(Ei, "passThroughHooksRespectAsync", /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"])), Ei), fr = class {
11361
11361
  constructor(...e) {
11362
11362
  De(this, "defaults", po());
11363
11363
  De(this, "options", this.setOptions);
11364
11364
  De(this, "parse", this.parseMarkdown(!0));
11365
11365
  De(this, "parseInline", this.parseMarkdown(!1));
11366
11366
  De(this, "Parser", At);
11367
- De(this, "Renderer", ei);
11367
+ De(this, "Renderer", ti);
11368
11368
  De(this, "TextRenderer", xo);
11369
11369
  De(this, "Lexer", Ct);
11370
11370
  De(this, "Tokenizer", Ni);
11371
- De(this, "Hooks", Kn);
11371
+ De(this, "Hooks", Vn);
11372
11372
  this.use(...e);
11373
11373
  }
11374
11374
  walkTokens(e, n) {
@@ -11416,7 +11416,7 @@ ${e}</tr>
11416
11416
  }
11417
11417
  "childTokens" in o && o.childTokens && (n.childTokens[o.name] = o.childTokens);
11418
11418
  }), i.extensions = n), t.renderer) {
11419
- let o = this.defaults.renderer || new ei(this.defaults);
11419
+ let o = this.defaults.renderer || new ti(this.defaults);
11420
11420
  for (let r in t.renderer) {
11421
11421
  if (!(r in o)) throw new Error(`renderer '${r}' does not exist`);
11422
11422
  if (["options", "parser"].includes(r)) continue;
@@ -11442,13 +11442,13 @@ ${e}</tr>
11442
11442
  i.tokenizer = o;
11443
11443
  }
11444
11444
  if (t.hooks) {
11445
- let o = this.defaults.hooks || new Kn();
11445
+ let o = this.defaults.hooks || new Vn();
11446
11446
  for (let r in t.hooks) {
11447
11447
  if (!(r in o)) throw new Error(`hook '${r}' does not exist`);
11448
11448
  if (["options", "block"].includes(r)) continue;
11449
11449
  let a = r, d = t.hooks[a], l = o[a];
11450
- Kn.passThroughHooks.has(r) ? o[a] = (f) => {
11451
- if (this.defaults.async && Kn.passThroughHooksRespectAsync.has(r)) return (async () => {
11450
+ Vn.passThroughHooks.has(r) ? o[a] = (f) => {
11451
+ if (this.defaults.async && Vn.passThroughHooksRespectAsync.has(r)) return (async () => {
11452
11452
  let h = await d.call(o, f);
11453
11453
  return l.call(o, h);
11454
11454
  })();
@@ -11518,17 +11518,17 @@ Please report this to https://github.com/markedjs/marked.`, e) {
11518
11518
  throw t;
11519
11519
  };
11520
11520
  }
11521
- }, rn = new cr();
11521
+ }, rn = new fr();
11522
11522
  function Pe(e, n) {
11523
11523
  return rn.parse(e, n);
11524
11524
  }
11525
11525
  Pe.options = Pe.setOptions = function(e) {
11526
- return rn.setOptions(e), Pe.defaults = rn.defaults, Qs(Pe.defaults), Pe;
11526
+ return rn.setOptions(e), Pe.defaults = rn.defaults, nr(Pe.defaults), Pe;
11527
11527
  };
11528
11528
  Pe.getDefaults = po;
11529
11529
  Pe.defaults = an;
11530
11530
  Pe.use = function(...e) {
11531
- return rn.use(...e), Pe.defaults = rn.defaults, Qs(Pe.defaults), Pe;
11531
+ return rn.use(...e), Pe.defaults = rn.defaults, nr(Pe.defaults), Pe;
11532
11532
  };
11533
11533
  Pe.walkTokens = function(e, n) {
11534
11534
  return rn.walkTokens(e, n);
@@ -11536,12 +11536,12 @@ Pe.walkTokens = function(e, n) {
11536
11536
  Pe.parseInline = rn.parseInline;
11537
11537
  Pe.Parser = At;
11538
11538
  Pe.parser = At.parse;
11539
- Pe.Renderer = ei;
11539
+ Pe.Renderer = ti;
11540
11540
  Pe.TextRenderer = xo;
11541
11541
  Pe.Lexer = Ct;
11542
11542
  Pe.lexer = Ct.lex;
11543
11543
  Pe.Tokenizer = Ni;
11544
- Pe.Hooks = Kn;
11544
+ Pe.Hooks = Vn;
11545
11545
  Pe.parse = Pe;
11546
11546
  Pe.options;
11547
11547
  Pe.setOptions;
@@ -11556,10 +11556,10 @@ function rs(e, n) {
11556
11556
  for (var t = 0, i = Array(n); t < n; t++) i[t] = e[t];
11557
11557
  return i;
11558
11558
  }
11559
- function tf(e) {
11559
+ function nf(e) {
11560
11560
  if (Array.isArray(e)) return e;
11561
11561
  }
11562
- function nf(e, n) {
11562
+ function of(e, n) {
11563
11563
  var t = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
11564
11564
  if (t != null) {
11565
11565
  var i, o, r, a, d = [], l = !0, f = !1;
@@ -11577,22 +11577,22 @@ function nf(e, n) {
11577
11577
  return d;
11578
11578
  }
11579
11579
  }
11580
- function of() {
11580
+ function sf() {
11581
11581
  throw new TypeError(`Invalid attempt to destructure non-iterable instance.
11582
11582
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
11583
11583
  }
11584
- function sf(e, n) {
11585
- return tf(e) || nf(e, n) || rf(e, n) || of();
11586
- }
11587
11584
  function rf(e, n) {
11585
+ return nf(e) || of(e, n) || lf(e, n) || sf();
11586
+ }
11587
+ function lf(e, n) {
11588
11588
  if (e) {
11589
11589
  if (typeof e == "string") return rs(e, n);
11590
11590
  var t = {}.toString.call(e).slice(8, -1);
11591
11591
  return t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set" ? Array.from(e) : t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? rs(e, n) : void 0;
11592
11592
  }
11593
11593
  }
11594
- const ur = Object.entries, ls = Object.setPrototypeOf, lf = Object.isFrozen, af = Object.getPrototypeOf, cf = Object.getOwnPropertyDescriptor;
11595
- let pt = Object.freeze, St = Object.seal, An = Object.create, dr = typeof Reflect < "u" && Reflect, no = dr.apply, io = dr.construct;
11594
+ const pr = Object.entries, ls = Object.setPrototypeOf, af = Object.isFrozen, cf = Object.getPrototypeOf, uf = Object.getOwnPropertyDescriptor;
11595
+ let pt = Object.freeze, St = Object.seal, An = Object.create, gr = typeof Reflect < "u" && Reflect, no = gr.apply, io = gr.construct;
11596
11596
  pt || (pt = function(n) {
11597
11597
  return n;
11598
11598
  });
@@ -11609,7 +11609,7 @@ io || (io = function(n) {
11609
11609
  i[o - 1] = arguments[o];
11610
11610
  return new n(...i);
11611
11611
  });
11612
- const en = Qe(Array.prototype.forEach), uf = Qe(Array.prototype.lastIndexOf), as = Qe(Array.prototype.pop), Sn = Qe(Array.prototype.push), df = Qe(Array.prototype.splice), dt = Array.isArray, Vn = Qe(String.prototype.toLowerCase), ji = Qe(String.prototype.toString), cs = Qe(String.prototype.match), Tn = Qe(String.prototype.replace), us = Qe(String.prototype.indexOf), ff = Qe(String.prototype.trim), pf = Qe(Number.prototype.toString), gf = Qe(Boolean.prototype.toString), ds = typeof BigInt > "u" ? null : Qe(BigInt.prototype.toString), fs = typeof Symbol > "u" ? null : Qe(Symbol.prototype.toString), qe = Qe(Object.prototype.hasOwnProperty), jn = Qe(Object.prototype.toString), rt = Qe(RegExp.prototype.test), _n = hf(TypeError);
11612
+ const en = Qe(Array.prototype.forEach), df = Qe(Array.prototype.lastIndexOf), as = Qe(Array.prototype.pop), Sn = Qe(Array.prototype.push), ff = Qe(Array.prototype.splice), dt = Array.isArray, Yn = Qe(String.prototype.toLowerCase), ji = Qe(String.prototype.toString), cs = Qe(String.prototype.match), Tn = Qe(String.prototype.replace), us = Qe(String.prototype.indexOf), pf = Qe(String.prototype.trim), gf = Qe(Number.prototype.toString), hf = Qe(Boolean.prototype.toString), ds = typeof BigInt > "u" ? null : Qe(BigInt.prototype.toString), fs = typeof Symbol > "u" ? null : Qe(Symbol.prototype.toString), qe = Qe(Object.prototype.hasOwnProperty), jn = Qe(Object.prototype.toString), rt = Qe(RegExp.prototype.test), _n = mf(TypeError);
11613
11613
  function Qe(e) {
11614
11614
  return function(n) {
11615
11615
  n instanceof RegExp && (n.lastIndex = 0);
@@ -11618,7 +11618,7 @@ function Qe(e) {
11618
11618
  return no(e, n, i);
11619
11619
  };
11620
11620
  }
11621
- function hf(e) {
11621
+ function mf(e) {
11622
11622
  return function() {
11623
11623
  for (var n = arguments.length, t = new Array(n), i = 0; i < n; i++)
11624
11624
  t[i] = arguments[i];
@@ -11626,7 +11626,7 @@ function hf(e) {
11626
11626
  };
11627
11627
  }
11628
11628
  function ke(e, n) {
11629
- let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Vn;
11629
+ let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Yn;
11630
11630
  if (ls && ls(e, null), !dt(n))
11631
11631
  return e;
11632
11632
  let i = n.length;
@@ -11634,34 +11634,34 @@ function ke(e, n) {
11634
11634
  let o = n[i];
11635
11635
  if (typeof o == "string") {
11636
11636
  const r = t(o);
11637
- r !== o && (lf(n) || (n[i] = r), o = r);
11637
+ r !== o && (af(n) || (n[i] = r), o = r);
11638
11638
  }
11639
11639
  e[o] = !0;
11640
11640
  }
11641
11641
  return e;
11642
11642
  }
11643
- function mf(e) {
11643
+ function bf(e) {
11644
11644
  for (let n = 0; n < e.length; n++)
11645
11645
  qe(e, n) || (e[n] = null);
11646
11646
  return e;
11647
11647
  }
11648
11648
  function at(e) {
11649
11649
  const n = An(null);
11650
- for (const i of ur(e)) {
11651
- var t = sf(i, 2);
11650
+ for (const i of pr(e)) {
11651
+ var t = rf(i, 2);
11652
11652
  const o = t[0], r = t[1];
11653
- qe(e, o) && (dt(r) ? n[o] = mf(r) : r && typeof r == "object" && r.constructor === Object ? n[o] = at(r) : n[o] = r);
11653
+ qe(e, o) && (dt(r) ? n[o] = bf(r) : r && typeof r == "object" && r.constructor === Object ? n[o] = at(r) : n[o] = r);
11654
11654
  }
11655
11655
  return n;
11656
11656
  }
11657
- function bf(e) {
11657
+ function vf(e) {
11658
11658
  switch (typeof e) {
11659
11659
  case "string":
11660
11660
  return e;
11661
11661
  case "number":
11662
- return pf(e);
11663
- case "boolean":
11664
11662
  return gf(e);
11663
+ case "boolean":
11664
+ return hf(e);
11665
11665
  case "bigint":
11666
11666
  return ds ? ds(e) : "0";
11667
11667
  case "symbol":
@@ -11685,34 +11685,34 @@ function bf(e) {
11685
11685
  }
11686
11686
  function Dt(e, n) {
11687
11687
  for (; e !== null; ) {
11688
- const i = cf(e, n);
11688
+ const i = uf(e, n);
11689
11689
  if (i) {
11690
11690
  if (i.get)
11691
11691
  return Qe(i.get);
11692
11692
  if (typeof i.value == "function")
11693
11693
  return Qe(i.value);
11694
11694
  }
11695
- e = af(e);
11695
+ e = cf(e);
11696
11696
  }
11697
11697
  function t() {
11698
11698
  return null;
11699
11699
  }
11700
11700
  return t;
11701
11701
  }
11702
- function vf(e) {
11702
+ function yf(e) {
11703
11703
  try {
11704
11704
  return rt(e, ""), !0;
11705
11705
  } catch {
11706
11706
  return !1;
11707
11707
  }
11708
11708
  }
11709
- const ps = pt(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), qi = pt(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), Ki = pt(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), yf = pt(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), Vi = pt(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]), kf = pt(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), gs = pt(["#text"]), hs = pt(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "command", "commandfor", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "exportparts", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inert", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "part", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "slot", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns"]), Yi = pt(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "mask-type", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), ms = pt(["accent", "accentunder", "align", "bevelled", "close", "columnalign", "columnlines", "columnspacing", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lquote", "lspace", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), wi = pt(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), xf = St(/{{[\w\W]*|^[\w\W]*}}/g), wf = St(/<%[\w\W]*|^[\w\W]*%>/g), Ef = St(/\${[\w\W]*/g), Sf = St(/^data-[\-\w.\u00B7-\uFFFF]+$/), Tf = St(/^aria-[\-\w]+$/), bs = St(
11709
+ const ps = pt(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), qi = pt(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), Ki = pt(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), kf = pt(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), Vi = pt(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]), xf = pt(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), gs = pt(["#text"]), hs = pt(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "command", "commandfor", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "exportparts", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inert", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "part", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "slot", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns"]), Yi = pt(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "mask-type", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), ms = pt(["accent", "accentunder", "align", "bevelled", "close", "columnalign", "columnlines", "columnspacing", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lquote", "lspace", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), wi = pt(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), wf = St(/{{[\w\W]*|^[\w\W]*}}/g), Ef = St(/<%[\w\W]*|^[\w\W]*%>/g), Sf = St(/\${[\w\W]*/g), Tf = St(/^data-[\-\w.\u00B7-\uFFFF]+$/), _f = St(/^aria-[\-\w]+$/), bs = St(
11710
11710
  /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
11711
11711
  // eslint-disable-line no-useless-escape
11712
- ), _f = St(/^(?:\w+script|data):/i), Cf = St(
11712
+ ), Cf = St(/^(?:\w+script|data):/i), Af = St(
11713
11713
  /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
11714
11714
  // eslint-disable-line no-control-regex
11715
- ), Af = St(/^html$/i), Nf = St(/^[a-z][.\w]*(-[.\w]+)+$/i), Lt = {
11715
+ ), Nf = St(/^html$/i), Rf = St(/^[a-z][.\w]*(-[.\w]+)+$/i), Lt = {
11716
11716
  element: 1,
11717
11717
  attribute: 2,
11718
11718
  text: 3,
@@ -11728,9 +11728,9 @@ const ps = pt(["a", "abbr", "acronym", "address", "area", "article", "aside", "a
11728
11728
  documentFragment: 11,
11729
11729
  notation: 12
11730
11730
  // Deprecated
11731
- }, Rf = function() {
11731
+ }, Mf = function() {
11732
11732
  return typeof window > "u" ? null : window;
11733
- }, Mf = function(n, t) {
11733
+ }, Of = function(n, t) {
11734
11734
  if (typeof n != "object" || typeof n.createPolicy != "function")
11735
11735
  return null;
11736
11736
  let i = null;
@@ -11762,9 +11762,9 @@ const ps = pt(["a", "abbr", "acronym", "address", "area", "article", "aside", "a
11762
11762
  uponSanitizeShadowNode: []
11763
11763
  };
11764
11764
  };
11765
- function fr() {
11766
- let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Rf();
11767
- const n = (ne) => fr(ne);
11765
+ function hr() {
11766
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Mf();
11767
+ const n = (ne) => hr(ne);
11768
11768
  if (n.version = "3.4.8", n.removed = [], !e || !e.document || e.document.nodeType !== Lt.document || !e.Element)
11769
11769
  return n.isSupported = !1, n;
11770
11770
  let t = e.document;
@@ -11789,8 +11789,8 @@ function fr() {
11789
11789
  }
11790
11790
  }, X = t, re = X.implementation, pe = X.createNodeIterator, Y = X.createDocumentFragment, Q = X.getElementsByTagName, W = i.importNode;
11791
11791
  let T = vs();
11792
- n.isSupported = typeof ur == "function" && typeof E == "function" && re && re.createHTMLDocument !== void 0;
11793
- const H = xf, P = wf, Z = Ef, te = Sf, Se = Tf, He = _f, et = Cf, Ke = Nf;
11792
+ n.isSupported = typeof pr == "function" && typeof E == "function" && re && re.createHTMLDocument !== void 0;
11793
+ const H = wf, P = Ef, Z = Sf, te = Tf, Se = _f, He = Cf, et = Af, Ke = Rf;
11794
11794
  let D = bs, I = null;
11795
11795
  const de = ke({}, [...ps, ...qi, ...Ki, ...Vi, ...gs]);
11796
11796
  let me = null;
@@ -11842,18 +11842,18 @@ function fr() {
11842
11842
  let hn = ke({}, ["mi", "mo", "mn", "ms", "mtext"]), zn = ke({}, ["annotation-xml"]);
11843
11843
  const Li = ke({}, ["title", "style", "font", "a", "script"]);
11844
11844
  let Ot = null;
11845
- const $i = ["application/xhtml+xml", "text/html"], ni = "text/html";
11845
+ const $i = ["application/xhtml+xml", "text/html"], ii = "text/html";
11846
11846
  let $e = null, qt = null;
11847
- const Di = t.createElement("form"), ii = function(p) {
11847
+ const Di = t.createElement("form"), oi = function(p) {
11848
11848
  return p instanceof RegExp || p instanceof Function;
11849
11849
  }, Ln = function() {
11850
11850
  let p = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
11851
11851
  if (qt && qt === p)
11852
11852
  return;
11853
11853
  (!p || typeof p != "object") && (p = {}), p = at(p), Ot = // eslint-disable-next-line unicorn/prefer-includes
11854
- $i.indexOf(p.PARSER_MEDIA_TYPE) === -1 ? ni : p.PARSER_MEDIA_TYPE, $e = Ot === "application/xhtml+xml" ? ji : Vn, I = qe(p, "ALLOWED_TAGS") && dt(p.ALLOWED_TAGS) ? ke({}, p.ALLOWED_TAGS, $e) : de, me = qe(p, "ALLOWED_ATTR") && dt(p.ALLOWED_ATTR) ? ke({}, p.ALLOWED_ATTR, $e) : B, gn = qe(p, "ALLOWED_NAMESPACES") && dt(p.ALLOWED_NAMESPACES) ? ke({}, p.ALLOWED_NAMESPACES, ji) : zi, xt = qe(p, "ADD_URI_SAFE_ATTR") && dt(p.ADD_URI_SAFE_ATTR) ? ke(at(Ye), p.ADD_URI_SAFE_ATTR, $e) : Ye, un = qe(p, "ADD_DATA_URI_TAGS") && dt(p.ADD_DATA_URI_TAGS) ? ke(at(dn), p.ADD_DATA_URI_TAGS, $e) : dn, ht = qe(p, "FORBID_CONTENTS") && dt(p.FORBID_CONTENTS) ? ke({}, p.FORBID_CONTENTS, $e) : Jt, xe = qe(p, "FORBID_TAGS") && dt(p.FORBID_TAGS) ? ke({}, p.FORBID_TAGS, $e) : at({}), we = qe(p, "FORBID_ATTR") && dt(p.FORBID_ATTR) ? ke({}, p.FORBID_ATTR, $e) : at({}), nt = qe(p, "USE_PROFILES") ? p.USE_PROFILES && typeof p.USE_PROFILES == "object" ? at(p.USE_PROFILES) : p.USE_PROFILES : !1, lt = p.ALLOW_ARIA_ATTR !== !1, it = p.ALLOW_DATA_ATTR !== !1, cn = p.ALLOW_UNKNOWN_PROTOCOLS || !1, Bt = p.ALLOW_SELF_CLOSE_IN_ATTR !== !1, se = p.SAFE_FOR_TEMPLATES || !1, _t = p.SAFE_FOR_XML !== !1, Be = p.WHOLE_DOCUMENT || !1, ot = p.RETURN_DOM || !1, gt = p.RETURN_DOM_FRAGMENT || !1, Mt = p.RETURN_TRUSTED_TYPE || !1, Rt = p.FORCE_BODY || !1, G = p.SANITIZE_DOM !== !1, ee = p.SANITIZE_NAMED_PROPS || !1, Te = p.KEEP_CONTENT !== !1, Ue = p.IN_PLACE || !1, D = vf(p.ALLOWED_URI_REGEXP) ? p.ALLOWED_URI_REGEXP : bs, ie = typeof p.NAMESPACE == "string" ? p.NAMESPACE : Ge, hn = qe(p, "MATHML_TEXT_INTEGRATION_POINTS") && p.MATHML_TEXT_INTEGRATION_POINTS && typeof p.MATHML_TEXT_INTEGRATION_POINTS == "object" ? at(p.MATHML_TEXT_INTEGRATION_POINTS) : ke({}, ["mi", "mo", "mn", "ms", "mtext"]), zn = qe(p, "HTML_INTEGRATION_POINTS") && p.HTML_INTEGRATION_POINTS && typeof p.HTML_INTEGRATION_POINTS == "object" ? at(p.HTML_INTEGRATION_POINTS) : ke({}, ["annotation-xml"]);
11854
+ $i.indexOf(p.PARSER_MEDIA_TYPE) === -1 ? ii : p.PARSER_MEDIA_TYPE, $e = Ot === "application/xhtml+xml" ? ji : Yn, I = qe(p, "ALLOWED_TAGS") && dt(p.ALLOWED_TAGS) ? ke({}, p.ALLOWED_TAGS, $e) : de, me = qe(p, "ALLOWED_ATTR") && dt(p.ALLOWED_ATTR) ? ke({}, p.ALLOWED_ATTR, $e) : B, gn = qe(p, "ALLOWED_NAMESPACES") && dt(p.ALLOWED_NAMESPACES) ? ke({}, p.ALLOWED_NAMESPACES, ji) : zi, xt = qe(p, "ADD_URI_SAFE_ATTR") && dt(p.ADD_URI_SAFE_ATTR) ? ke(at(Ye), p.ADD_URI_SAFE_ATTR, $e) : Ye, un = qe(p, "ADD_DATA_URI_TAGS") && dt(p.ADD_DATA_URI_TAGS) ? ke(at(dn), p.ADD_DATA_URI_TAGS, $e) : dn, ht = qe(p, "FORBID_CONTENTS") && dt(p.FORBID_CONTENTS) ? ke({}, p.FORBID_CONTENTS, $e) : Jt, xe = qe(p, "FORBID_TAGS") && dt(p.FORBID_TAGS) ? ke({}, p.FORBID_TAGS, $e) : at({}), we = qe(p, "FORBID_ATTR") && dt(p.FORBID_ATTR) ? ke({}, p.FORBID_ATTR, $e) : at({}), nt = qe(p, "USE_PROFILES") ? p.USE_PROFILES && typeof p.USE_PROFILES == "object" ? at(p.USE_PROFILES) : p.USE_PROFILES : !1, lt = p.ALLOW_ARIA_ATTR !== !1, it = p.ALLOW_DATA_ATTR !== !1, cn = p.ALLOW_UNKNOWN_PROTOCOLS || !1, Bt = p.ALLOW_SELF_CLOSE_IN_ATTR !== !1, se = p.SAFE_FOR_TEMPLATES || !1, _t = p.SAFE_FOR_XML !== !1, Be = p.WHOLE_DOCUMENT || !1, ot = p.RETURN_DOM || !1, gt = p.RETURN_DOM_FRAGMENT || !1, Mt = p.RETURN_TRUSTED_TYPE || !1, Rt = p.FORCE_BODY || !1, G = p.SANITIZE_DOM !== !1, ee = p.SANITIZE_NAMED_PROPS || !1, Te = p.KEEP_CONTENT !== !1, Ue = p.IN_PLACE || !1, D = yf(p.ALLOWED_URI_REGEXP) ? p.ALLOWED_URI_REGEXP : bs, ie = typeof p.NAMESPACE == "string" ? p.NAMESPACE : Ge, hn = qe(p, "MATHML_TEXT_INTEGRATION_POINTS") && p.MATHML_TEXT_INTEGRATION_POINTS && typeof p.MATHML_TEXT_INTEGRATION_POINTS == "object" ? at(p.MATHML_TEXT_INTEGRATION_POINTS) : ke({}, ["mi", "mo", "mn", "ms", "mtext"]), zn = qe(p, "HTML_INTEGRATION_POINTS") && p.HTML_INTEGRATION_POINTS && typeof p.HTML_INTEGRATION_POINTS == "object" ? at(p.HTML_INTEGRATION_POINTS) : ke({}, ["annotation-xml"]);
11855
11855
  const z = qe(p, "CUSTOM_ELEMENT_HANDLING") && p.CUSTOM_ELEMENT_HANDLING && typeof p.CUSTOM_ELEMENT_HANDLING == "object" ? at(p.CUSTOM_ELEMENT_HANDLING) : An(null);
11856
- if (C = An(null), qe(z, "tagNameCheck") && ii(z.tagNameCheck) && (C.tagNameCheck = z.tagNameCheck), qe(z, "attributeNameCheck") && ii(z.attributeNameCheck) && (C.attributeNameCheck = z.attributeNameCheck), qe(z, "allowCustomizedBuiltInElements") && typeof z.allowCustomizedBuiltInElements == "boolean" && (C.allowCustomizedBuiltInElements = z.allowCustomizedBuiltInElements), se && (it = !1), gt && (ot = !0), nt && (I = ke({}, gs), me = An(null), nt.html === !0 && (ke(I, ps), ke(me, hs)), nt.svg === !0 && (ke(I, qi), ke(me, Yi), ke(me, wi)), nt.svgFilters === !0 && (ke(I, Ki), ke(me, Yi), ke(me, wi)), nt.mathMl === !0 && (ke(I, Vi), ke(me, ms), ke(me, wi))), Ve.tagCheck = null, Ve.attributeCheck = null, qe(p, "ADD_TAGS") && (typeof p.ADD_TAGS == "function" ? Ve.tagCheck = p.ADD_TAGS : dt(p.ADD_TAGS) && (I === de && (I = at(I)), ke(I, p.ADD_TAGS, $e))), qe(p, "ADD_ATTR") && (typeof p.ADD_ATTR == "function" ? Ve.attributeCheck = p.ADD_ATTR : dt(p.ADD_ATTR) && (me === B && (me = at(me)), ke(me, p.ADD_ATTR, $e))), qe(p, "ADD_URI_SAFE_ATTR") && dt(p.ADD_URI_SAFE_ATTR) && ke(xt, p.ADD_URI_SAFE_ATTR, $e), qe(p, "FORBID_CONTENTS") && dt(p.FORBID_CONTENTS) && (ht === Jt && (ht = at(ht)), ke(ht, p.FORBID_CONTENTS, $e)), qe(p, "ADD_FORBID_CONTENTS") && dt(p.ADD_FORBID_CONTENTS) && (ht === Jt && (ht = at(ht)), ke(ht, p.ADD_FORBID_CONTENTS, $e)), Te && (I["#text"] = !0), Be && ke(I, ["html", "head", "body"]), I.table && (ke(I, ["tbody"]), delete xe.tbody), p.TRUSTED_TYPES_POLICY) {
11856
+ if (C = An(null), qe(z, "tagNameCheck") && oi(z.tagNameCheck) && (C.tagNameCheck = z.tagNameCheck), qe(z, "attributeNameCheck") && oi(z.attributeNameCheck) && (C.attributeNameCheck = z.attributeNameCheck), qe(z, "allowCustomizedBuiltInElements") && typeof z.allowCustomizedBuiltInElements == "boolean" && (C.allowCustomizedBuiltInElements = z.allowCustomizedBuiltInElements), se && (it = !1), gt && (ot = !0), nt && (I = ke({}, gs), me = An(null), nt.html === !0 && (ke(I, ps), ke(me, hs)), nt.svg === !0 && (ke(I, qi), ke(me, Yi), ke(me, wi)), nt.svgFilters === !0 && (ke(I, Ki), ke(me, Yi), ke(me, wi)), nt.mathMl === !0 && (ke(I, Vi), ke(me, ms), ke(me, wi))), Ve.tagCheck = null, Ve.attributeCheck = null, qe(p, "ADD_TAGS") && (typeof p.ADD_TAGS == "function" ? Ve.tagCheck = p.ADD_TAGS : dt(p.ADD_TAGS) && (I === de && (I = at(I)), ke(I, p.ADD_TAGS, $e))), qe(p, "ADD_ATTR") && (typeof p.ADD_ATTR == "function" ? Ve.attributeCheck = p.ADD_ATTR : dt(p.ADD_ATTR) && (me === B && (me = at(me)), ke(me, p.ADD_ATTR, $e))), qe(p, "ADD_URI_SAFE_ATTR") && dt(p.ADD_URI_SAFE_ATTR) && ke(xt, p.ADD_URI_SAFE_ATTR, $e), qe(p, "FORBID_CONTENTS") && dt(p.FORBID_CONTENTS) && (ht === Jt && (ht = at(ht)), ke(ht, p.FORBID_CONTENTS, $e)), qe(p, "ADD_FORBID_CONTENTS") && dt(p.ADD_FORBID_CONTENTS) && (ht === Jt && (ht = at(ht)), ke(ht, p.ADD_FORBID_CONTENTS, $e)), Te && (I["#text"] = !0), Be && ke(I, ["html", "head", "body"]), I.table && (ke(I, ["tbody"]), delete xe.tbody), p.TRUSTED_TYPES_POLICY) {
11857
11857
  if (typeof p.TRUSTED_TYPES_POLICY.createHTML != "function")
11858
11858
  throw _n('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
11859
11859
  if (typeof p.TRUSTED_TYPES_POLICY.createScriptURL != "function")
@@ -11866,16 +11866,16 @@ function fr() {
11866
11866
  throw m = j, Ae;
11867
11867
  }
11868
11868
  } else
11869
- m === void 0 && p.TRUSTED_TYPES_POLICY !== null && (m = Mf(h, o)), m && typeof L == "string" && (L = ae(""));
11869
+ m === void 0 && p.TRUSTED_TYPES_POLICY !== null && (m = Of(h, o)), m && typeof L == "string" && (L = ae(""));
11870
11870
  (T.uponSanitizeElement.length > 0 || T.uponSanitizeAttribute.length > 0) && I === de && (I = at(I)), T.uponSanitizeAttribute.length > 0 && me === B && (me = at(me)), pt && pt(p), qt = p;
11871
- }, oi = ke({}, [...qi, ...Ki, ...yf]), si = ke({}, [...Vi, ...kf]), ri = function(p) {
11871
+ }, si = ke({}, [...qi, ...Ki, ...kf]), ri = ke({}, [...Vi, ...xf]), li = function(p) {
11872
11872
  let z = E(p);
11873
11873
  (!z || !z.tagName) && (z = {
11874
11874
  namespaceURI: ie,
11875
11875
  tagName: "template"
11876
11876
  });
11877
- const j = Vn(p.tagName), Ae = Vn(z.tagName);
11878
- return gn[p.namespaceURI] ? p.namespaceURI === fn ? z.namespaceURI === Ge ? j === "svg" : z.namespaceURI === Me ? j === "svg" && (Ae === "annotation-xml" || hn[Ae]) : !!oi[j] : p.namespaceURI === Me ? z.namespaceURI === Ge ? j === "math" : z.namespaceURI === fn ? j === "math" && zn[Ae] : !!si[j] : p.namespaceURI === Ge ? z.namespaceURI === fn && !zn[Ae] || z.namespaceURI === Me && !hn[Ae] ? !1 : !si[j] && (Li[j] || !oi[j]) : !!(Ot === "application/xhtml+xml" && gn[p.namespaceURI]) : !1;
11877
+ const j = Yn(p.tagName), Ae = Yn(z.tagName);
11878
+ return gn[p.namespaceURI] ? p.namespaceURI === fn ? z.namespaceURI === Ge ? j === "svg" : z.namespaceURI === Me ? j === "svg" && (Ae === "annotation-xml" || hn[Ae]) : !!si[j] : p.namespaceURI === Me ? z.namespaceURI === Ge ? j === "math" : z.namespaceURI === fn ? j === "math" && zn[Ae] : !!ri[j] : p.namespaceURI === Ge ? z.namespaceURI === fn && !zn[Ae] || z.namespaceURI === Me && !hn[Ae] ? !1 : !ri[j] && (Li[j] || !si[j]) : !!(Ot === "application/xhtml+xml" && gn[p.namespaceURI]) : !1;
11879
11879
  }, le = function(p) {
11880
11880
  Sn(n.removed, {
11881
11881
  element: p
@@ -12009,7 +12009,7 @@ function fr() {
12009
12009
  j.call(n, p, z, qt);
12010
12010
  });
12011
12011
  }
12012
- const li = function(p) {
12012
+ const ai = function(p) {
12013
12013
  let z = null;
12014
12014
  if (mt(T.beforeSanitizeElements, p, null), bn(p))
12015
12015
  return le(p), !0;
@@ -12020,7 +12020,7 @@ function fr() {
12020
12020
  }), _t && p.hasChildNodes() && !It(p.firstElementChild) && rt(/<[/\w!]/g, p.innerHTML) && rt(/<[/\w!]/g, p.textContent) || _t && p.namespaceURI === Ge && j === "style" && It(p.firstElementChild) || p.nodeType === Lt.progressingInstruction || _t && p.nodeType === Lt.comment && rt(/<[/\w]/g, p.data))
12021
12021
  return le(p), !0;
12022
12022
  if (xe[j] || !(Ve.tagCheck instanceof Function && Ve.tagCheck(j)) && !I[j]) {
12023
- if (!xe[j] && ui(j) && (C.tagNameCheck instanceof RegExp && rt(C.tagNameCheck, j) || C.tagNameCheck instanceof Function && C.tagNameCheck(j)))
12023
+ if (!xe[j] && di(j) && (C.tagNameCheck instanceof RegExp && rt(C.tagNameCheck, j) || C.tagNameCheck instanceof Function && C.tagNameCheck(j)))
12024
12024
  return !1;
12025
12025
  if (Te && !ht[j]) {
12026
12026
  const ye = E(p), Ie = N(p);
@@ -12034,12 +12034,12 @@ function fr() {
12034
12034
  }
12035
12035
  return le(p), !0;
12036
12036
  }
12037
- return (R ? R(p) : p.nodeType) === Lt.element && !ri(p) || (j === "noscript" || j === "noembed" || j === "noframes") && rt(/<\/no(script|embed|frames)/i, p.innerHTML) ? (le(p), !0) : (se && p.nodeType === Lt.text && (z = p.textContent, en([H, P, Z], (ye) => {
12037
+ return (R ? R(p) : p.nodeType) === Lt.element && !li(p) || (j === "noscript" || j === "noembed" || j === "noframes") && rt(/<\/no(script|embed|frames)/i, p.innerHTML) ? (le(p), !0) : (se && p.nodeType === Lt.text && (z = p.textContent, en([H, P, Z], (ye) => {
12038
12038
  z = Tn(z, ye, " ");
12039
12039
  }), p.textContent !== z && (Sn(n.removed, {
12040
12040
  element: p.cloneNode()
12041
12041
  }), p.textContent = z)), mt(T.afterSanitizeElements, p, null), !1);
12042
- }, ai = function(p, z, j) {
12042
+ }, ci = function(p, z, j) {
12043
12043
  if (we[z] || G && (z === "id" || z === "name") && (j in t || j in Di))
12044
12044
  return !1;
12045
12045
  const Ae = me[z] || Ve.attributeCheck instanceof Function && Ve.attributeCheck(z, p);
@@ -12050,7 +12050,7 @@ function fr() {
12050
12050
  // First condition does a very basic check if a) it's basically a valid custom element tagname AND
12051
12051
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
12052
12052
  // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
12053
- !(ui(p) && (C.tagNameCheck instanceof RegExp && rt(C.tagNameCheck, p) || C.tagNameCheck instanceof Function && C.tagNameCheck(p)) && (C.attributeNameCheck instanceof RegExp && rt(C.attributeNameCheck, z) || C.attributeNameCheck instanceof Function && C.attributeNameCheck(z, p)) || // Alternative, second condition checks if it's an `is`-attribute, AND
12053
+ !(di(p) && (C.tagNameCheck instanceof RegExp && rt(C.tagNameCheck, p) || C.tagNameCheck instanceof Function && C.tagNameCheck(p)) && (C.attributeNameCheck instanceof RegExp && rt(C.attributeNameCheck, z) || C.attributeNameCheck instanceof Function && C.attributeNameCheck(z, p)) || // Alternative, second condition checks if it's an `is`-attribute, AND
12054
12054
  // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
12055
12055
  z === "is" && C.allowCustomizedBuiltInElements && (C.tagNameCheck instanceof RegExp && rt(C.tagNameCheck, j) || C.tagNameCheck instanceof Function && C.tagNameCheck(j)))
12056
12056
  ) return !1;
@@ -12067,9 +12067,9 @@ function fr() {
12067
12067
  }
12068
12068
  }
12069
12069
  return !0;
12070
- }, ci = ke({}, ["annotation-xml", "color-profile", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "missing-glyph"]), ui = function(p) {
12071
- return !ci[Vn(p)] && rt(Ke, p);
12072
- }, di = function(p) {
12070
+ }, ui = ke({}, ["annotation-xml", "color-profile", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "missing-glyph"]), di = function(p) {
12071
+ return !ui[Yn(p)] && rt(Ke, p);
12072
+ }, fi = function(p) {
12073
12073
  mt(T.beforeSanitizeAttributes, p, null);
12074
12074
  const z = p.attributes;
12075
12075
  if (!z || bn(p))
@@ -12084,7 +12084,7 @@ function fr() {
12084
12084
  let Ae = z.length;
12085
12085
  for (; Ae--; ) {
12086
12086
  const ye = z[Ae], Ie = ye.name, We = ye.namespaceURI, bt = ye.value, vt = $e(Ie), yn = bt;
12087
- let Xe = Ie === "value" ? yn : ff(yn);
12087
+ let Xe = Ie === "value" ? yn : pf(yn);
12088
12088
  if (j.attrName = vt, j.attrValue = Xe, j.keepAttr = !0, j.forceKeepAttr = void 0, mt(T.uponSanitizeAttribute, p, j), Xe = j.attrValue, ee && (vt === "id" || vt === "name") && us(Xe, be) !== 0 && (Ze(Ie, p), Xe = be + Xe), _t && rt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, Xe)) {
12089
12089
  Ze(Ie, p);
12090
12090
  continue;
@@ -12106,13 +12106,13 @@ function fr() {
12106
12106
  se && en([H, P, Z], (Pn) => {
12107
12107
  Xe = Tn(Xe, Pn, " ");
12108
12108
  });
12109
- const fi = $e(p.nodeName);
12110
- if (!ai(fi, vt, Xe)) {
12109
+ const pi = $e(p.nodeName);
12110
+ if (!ci(pi, vt, Xe)) {
12111
12111
  Ze(Ie, p);
12112
12112
  continue;
12113
12113
  }
12114
12114
  if (m && typeof h == "object" && typeof h.getAttributeType == "function" && !We)
12115
- switch (h.getAttributeType(fi, vt)) {
12115
+ switch (h.getAttributeType(pi, vt)) {
12116
12116
  case "TrustedHTML": {
12117
12117
  Xe = ae(Xe);
12118
12118
  break;
@@ -12134,7 +12134,7 @@ function fr() {
12134
12134
  let z = null;
12135
12135
  const j = mn(p);
12136
12136
  for (mt(T.beforeSanitizeShadowDOM, p, null); z = j.nextNode(); )
12137
- if (mt(T.uponSanitizeShadowNode, z, null), li(z), di(z), Ut(z.content) && vn(z.content), (R ? R(z) : z.nodeType) === Lt.element) {
12137
+ if (mt(T.uponSanitizeShadowNode, z, null), ai(z), fi(z), Ut(z.content) && vn(z.content), (R ? R(z) : z.nodeType) === Lt.element) {
12138
12138
  const ye = M ? M(z) : z.shadowRoot;
12139
12139
  Ut(ye) && (Kt(ye), vn(ye));
12140
12140
  }
@@ -12164,7 +12164,7 @@ function fr() {
12164
12164
  };
12165
12165
  return n.sanitize = function(ne) {
12166
12166
  let p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, z = null, j = null, Ae = null, ye = null;
12167
- if (pn = !ne, pn && (ne = "<!-->"), typeof ne != "string" && !It(ne) && (ne = bf(ne), typeof ne != "string"))
12167
+ if (pn = !ne, pn && (ne = "<!-->"), typeof ne != "string" && !It(ne) && (ne = vf(ne), typeof ne != "string"))
12168
12168
  throw _n("dirty is not a string, aborting");
12169
12169
  if (!n.isSupported)
12170
12170
  return ne;
@@ -12190,7 +12190,7 @@ function fr() {
12190
12190
  z && Rt && le(z.firstChild);
12191
12191
  const Ie = mn(Ue ? ne : z);
12192
12192
  for (; Ae = Ie.nextNode(); )
12193
- li(Ae), di(Ae), Ut(Ae.content) && vn(Ae.content);
12193
+ ai(Ae), fi(Ae), Ut(Ae.content) && vn(Ae.content);
12194
12194
  if (Ue)
12195
12195
  return se && Dn(ne), ne;
12196
12196
  if (ot) {
@@ -12202,7 +12202,7 @@ function fr() {
12202
12202
  return (me.shadowroot || me.shadowrootmode) && (ye = W.call(i, ye, !0)), ye;
12203
12203
  }
12204
12204
  let We = Be ? z.outerHTML : z.innerHTML;
12205
- return Be && I["!doctype"] && z.ownerDocument && z.ownerDocument.doctype && z.ownerDocument.doctype.name && rt(Af, z.ownerDocument.doctype.name) && (We = "<!DOCTYPE " + z.ownerDocument.doctype.name + `>
12205
+ return Be && I["!doctype"] && z.ownerDocument && z.ownerDocument.doctype && z.ownerDocument.doctype.name && rt(Nf, z.ownerDocument.doctype.name) && (We = "<!DOCTYPE " + z.ownerDocument.doctype.name + `>
12206
12206
  ` + We), se && en([H, P, Z], (bt) => {
12207
12207
  We = Tn(We, bt, " ");
12208
12208
  }), m && Mt ? ae(We) : We;
@@ -12214,13 +12214,13 @@ function fr() {
12214
12214
  }, n.isValidAttribute = function(ne, p, z) {
12215
12215
  qt || Ln({});
12216
12216
  const j = $e(ne), Ae = $e(p);
12217
- return ai(j, Ae, z);
12217
+ return ci(j, Ae, z);
12218
12218
  }, n.addHook = function(ne, p) {
12219
12219
  typeof p == "function" && Sn(T[ne], p);
12220
12220
  }, n.removeHook = function(ne, p) {
12221
12221
  if (p !== void 0) {
12222
- const z = uf(T[ne], p);
12223
- return z === -1 ? void 0 : df(T[ne], z, 1)[0];
12222
+ const z = df(T[ne], p);
12223
+ return z === -1 ? void 0 : ff(T[ne], z, 1)[0];
12224
12224
  }
12225
12225
  return as(T[ne]);
12226
12226
  }, n.removeHooks = function(ne) {
@@ -12229,19 +12229,19 @@ function fr() {
12229
12229
  T = vs();
12230
12230
  }, n;
12231
12231
  }
12232
- var Of = fr();
12233
- const If = new cr({
12232
+ var If = hr();
12233
+ const zf = new fr({
12234
12234
  gfm: !0,
12235
12235
  breaks: !0,
12236
12236
  pedantic: !1,
12237
12237
  renderer: (() => {
12238
- const e = new ei();
12238
+ const e = new ti();
12239
12239
  return e.code = ({ text: n, lang: t }) => {
12240
12240
  const i = (t ?? "").toLowerCase(), o = uo(n, i);
12241
12241
  return `<pre><code${i ? ` class="language-${i}"` : ""}>${o}</code></pre>`;
12242
12242
  }, e;
12243
12243
  })()
12244
- }), zf = [
12244
+ }), Lf = [
12245
12245
  "p",
12246
12246
  "br",
12247
12247
  "strong",
@@ -12272,7 +12272,7 @@ const If = new cr({
12272
12272
  "img",
12273
12273
  "span",
12274
12274
  "input"
12275
- ], Lf = [
12275
+ ], $f = [
12276
12276
  "href",
12277
12277
  "title",
12278
12278
  "target",
@@ -12283,56 +12283,56 @@ const If = new cr({
12283
12283
  "checked",
12284
12284
  "type",
12285
12285
  "disabled"
12286
- ], $f = /^(?:(?:https?|mailto|tel|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;
12287
- function Df(e) {
12286
+ ], Df = /^(?:(?:https?|mailto|tel|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;
12287
+ function Pf(e) {
12288
12288
  if (!e) return "";
12289
- const n = If.parse(e, { async: !1 });
12290
- return Of.sanitize(n, {
12291
- ALLOWED_TAGS: zf,
12292
- ALLOWED_ATTR: Lf,
12293
- ALLOWED_URI_REGEXP: $f
12289
+ const n = zf.parse(e, { async: !1 });
12290
+ return If.sanitize(n, {
12291
+ ALLOWED_TAGS: Lf,
12292
+ ALLOWED_ATTR: $f,
12293
+ ALLOWED_URI_REGEXP: Df
12294
12294
  });
12295
12295
  }
12296
- const Pf = { class: "zm-note-panel" }, Bf = {
12296
+ const Bf = { class: "zm-note-panel" }, Uf = {
12297
12297
  key: 0,
12298
12298
  class: "zm-note-empty"
12299
- }, Uf = { class: "zm-note-header" }, Hf = { class: "zm-note-title-row" }, Ff = { class: "zm-note-name" }, Wf = { class: "zm-note-meta" }, Gf = { class: "zm-note-scroll" }, jf = { class: "zm-note-section" }, qf = { class: "zm-note-section-head" }, Kf = { class: "zm-note-split" }, Vf = ["disabled"], Yf = {
12299
+ }, Hf = { class: "zm-note-header" }, Ff = { class: "zm-note-title-row" }, Wf = { class: "zm-note-name" }, Gf = { class: "zm-note-meta" }, jf = { class: "zm-note-scroll" }, qf = { class: "zm-note-section" }, Kf = { class: "zm-note-section-head" }, Vf = { class: "zm-note-split" }, Yf = ["disabled"], Zf = {
12300
12300
  key: 0,
12301
12301
  class: "zm-note-preview"
12302
- }, Zf = ["innerHTML"], Xf = {
12302
+ }, Xf = ["innerHTML"], Jf = {
12303
12303
  key: 1,
12304
12304
  class: "zm-note-preview-hint"
12305
- }, Jf = {
12305
+ }, Qf = {
12306
12306
  key: 0,
12307
12307
  class: "zm-note-section-actions"
12308
- }, Qf = {
12308
+ }, ep = {
12309
12309
  key: 0,
12310
12310
  class: "zm-note-add-row"
12311
- }, ep = {
12311
+ }, tp = {
12312
12312
  key: 1,
12313
12313
  class: "zm-note-section"
12314
- }, tp = ["disabled"], np = ["href", "title"], ip = {
12314
+ }, np = ["disabled"], ip = ["href", "title"], op = {
12315
12315
  key: 2,
12316
12316
  class: "zm-note-section"
12317
- }, op = ["disabled"], sp = ["src", "alt"], rp = {
12317
+ }, sp = ["disabled"], rp = ["src", "alt"], lp = {
12318
12318
  key: 3,
12319
12319
  class: "zm-note-section"
12320
- }, lp = { class: "zm-note-section-head" }, ap = {
12320
+ }, ap = { class: "zm-note-section-head" }, cp = {
12321
12321
  key: 0,
12322
12322
  class: "zm-note-section-tag"
12323
- }, cp = ["disabled"], up = {
12323
+ }, up = ["disabled"], dp = {
12324
12324
  key: 0,
12325
12325
  class: "zm-note-code"
12326
- }, dp = ["innerHTML"], fp = {
12326
+ }, fp = ["innerHTML"], pp = {
12327
12327
  key: 4,
12328
12328
  class: "zm-note-section"
12329
- }, pp = ["disabled"], gp = {
12329
+ }, gp = ["disabled"], hp = {
12330
12330
  key: 0,
12331
12331
  class: "zm-note-table"
12332
- }, hp = ["onClick"], mp = {
12332
+ }, mp = ["onClick"], bp = {
12333
12333
  class: "zm-note-table-sort-mark",
12334
12334
  "aria-hidden": "true"
12335
- }, bp = /* @__PURE__ */ Tt({
12335
+ }, mr = /* @__PURE__ */ Tt({
12336
12336
  __name: "NotePanel",
12337
12337
  props: {
12338
12338
  selectedNode: {},
@@ -12343,7 +12343,7 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12343
12343
  setup(e, { emit: n }) {
12344
12344
  const t = e, i = n, o = K(""), r = K(null);
12345
12345
  Gi(r, { minRows: 4, maxRows: 10 });
12346
- const a = ue(() => !o.value || o.value.trim() === ""), d = ue(() => Df(o.value)), l = K(!0);
12346
+ const a = ue(() => !o.value || o.value.trim() === ""), d = ue(() => Pf(o.value)), l = K(!0);
12347
12347
  function f() {
12348
12348
  l.value = !l.value;
12349
12349
  }
@@ -12500,18 +12500,18 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12500
12500
  });
12501
12501
  return (D, I) => {
12502
12502
  var de, me, B, C;
12503
- return b(), v("div", Pf, [
12503
+ return b(), v("div", Bf, [
12504
12504
  e.selectedNode ? (b(), v(oe, { key: 1 }, [
12505
- u("div", Uf, [
12506
- u("div", Hf, [
12505
+ u("div", Hf, [
12506
+ u("div", Ff, [
12507
12507
  I[12] || (I[12] = u("span", { class: "zm-note-label" }, "节点", -1)),
12508
- u("span", Ff, ce(e.selectedNode.text || "(无标题)"), 1)
12508
+ u("span", Wf, ce(e.selectedNode.text || "(无标题)"), 1)
12509
12509
  ]),
12510
- u("div", Wf, ce(Ke.value), 1)
12510
+ u("div", Gf, ce(Ke.value), 1)
12511
12511
  ]),
12512
- u("div", Gf, [
12513
- u("section", jf, [
12514
- u("header", qf, [
12512
+ u("div", jf, [
12513
+ u("section", qf, [
12514
+ u("header", Kf, [
12515
12515
  I[13] || (I[13] = u("span", { class: "zm-note-section-title" }, "笔记", -1)),
12516
12516
  I[14] || (I[14] = u("span", { class: "zm-note-section-hint" }, "Ctrl+Enter 提交, Esc 取消", -1)),
12517
12517
  e.readonly ? V("", !0) : (b(), v("button", {
@@ -12521,7 +12521,7 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12521
12521
  onClick: f
12522
12522
  }, ce(l.value ? "隐藏预览" : "显示预览"), 1))
12523
12523
  ]),
12524
- u("div", Kf, [
12524
+ u("div", Vf, [
12525
12525
  kt(u("textarea", {
12526
12526
  ref_key: "noteRef",
12527
12527
  ref: r,
@@ -12532,25 +12532,25 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12532
12532
  disabled: e.readonly,
12533
12533
  onBlur: g,
12534
12534
  onKeydown: h
12535
- }, null, 40, Vf), [
12535
+ }, null, 40, Yf), [
12536
12536
  [Nt, o.value]
12537
12537
  ]),
12538
- l.value ? (b(), v("div", Yf, [
12539
- a.value ? (b(), v("div", Xf, " 渲染后的 Markdown 仅在此面板显示,不会撑大节点框。 ")) : (b(), v("div", {
12538
+ l.value ? (b(), v("div", Zf, [
12539
+ a.value ? (b(), v("div", Jf, " 渲染后的 Markdown 仅在此面板显示,不会撑大节点框。 ")) : (b(), v("div", {
12540
12540
  key: 0,
12541
12541
  class: "zm-note-preview-body",
12542
12542
  innerHTML: d.value
12543
- }, null, 8, Zf))
12543
+ }, null, 8, Xf))
12544
12544
  ])) : V("", !0)
12545
12545
  ]),
12546
- !e.readonly && !a.value ? (b(), v("div", Jf, [
12546
+ !e.readonly && !a.value ? (b(), v("div", Qf, [
12547
12547
  u("button", {
12548
12548
  class: "zm-note-action-btn is-danger",
12549
12549
  onClick: x
12550
12550
  }, "移除笔记")
12551
12551
  ])) : V("", !0)
12552
12552
  ]),
12553
- e.readonly ? V("", !0) : (b(), v("div", Qf, [
12553
+ e.readonly ? V("", !0) : (b(), v("div", ep, [
12554
12554
  !S.value && !M.value ? (b(), v("button", {
12555
12555
  key: 0,
12556
12556
  class: "zm-note-add-chip",
@@ -12572,7 +12572,7 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12572
12572
  onClick: I[4] || (I[4] = (xe) => A.value = !0)
12573
12573
  }, "+ 表格")) : V("", !0)
12574
12574
  ])),
12575
- S.value || M.value ? (b(), v("section", ep, [
12575
+ S.value || M.value ? (b(), v("section", tp, [
12576
12576
  I[15] || (I[15] = u("header", { class: "zm-note-section-head" }, [
12577
12577
  u("span", { class: "zm-note-section-title" }, "链接")
12578
12578
  ], -1)),
@@ -12584,7 +12584,7 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12584
12584
  disabled: e.readonly,
12585
12585
  onBlur: L,
12586
12586
  onKeydown: I[6] || (I[6] = Nn(ge((xe) => xe.target.blur(), ["prevent"]), ["enter"]))
12587
- }, null, 40, tp), [
12587
+ }, null, 40, np), [
12588
12588
  [Nt, m.value]
12589
12589
  ]),
12590
12590
  S.value ? (b(), v("a", {
@@ -12594,9 +12594,9 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12594
12594
  target: "_blank",
12595
12595
  rel: "noopener noreferrer",
12596
12596
  title: (me = e.selectedNode.link) == null ? void 0 : me.url
12597
- }, ce((B = e.selectedNode.link) == null ? void 0 : B.url), 9, np)) : V("", !0)
12597
+ }, ce((B = e.selectedNode.link) == null ? void 0 : B.url), 9, ip)) : V("", !0)
12598
12598
  ])) : V("", !0),
12599
- k.value || _.value ? (b(), v("section", ip, [
12599
+ k.value || _.value ? (b(), v("section", op, [
12600
12600
  I[16] || (I[16] = u("header", { class: "zm-note-section-head" }, [
12601
12601
  u("span", { class: "zm-note-section-title" }, "图片")
12602
12602
  ], -1)),
@@ -12608,7 +12608,7 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12608
12608
  disabled: e.readonly,
12609
12609
  onBlur: ae,
12610
12610
  onKeydown: I[8] || (I[8] = Nn(ge((xe) => xe.target.blur(), ["prevent"]), ["enter"]))
12611
- }, null, 40, op), [
12611
+ }, null, 40, sp), [
12612
12612
  [Nt, q.value]
12613
12613
  ]),
12614
12614
  k.value ? (b(), v("img", {
@@ -12618,12 +12618,12 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12618
12618
  alt: e.selectedNode.text,
12619
12619
  onError: X,
12620
12620
  onLoad: re
12621
- }, null, 40, sp)) : V("", !0)
12621
+ }, null, 40, rp)) : V("", !0)
12622
12622
  ])) : V("", !0),
12623
- N.value || R.value ? (b(), v("section", rp, [
12624
- u("header", lp, [
12623
+ N.value || R.value ? (b(), v("section", lp, [
12624
+ u("header", ap, [
12625
12625
  I[17] || (I[17] = u("span", { class: "zm-note-section-title" }, "代码块", -1)),
12626
- ve(Rn)(pe.value) ? (b(), v("span", ap, ce(ve(Rn)(pe.value)), 1)) : V("", !0)
12626
+ ve(Rn)(pe.value) ? (b(), v("span", cp, ce(ve(Rn)(pe.value)), 1)) : V("", !0)
12627
12627
  ]),
12628
12628
  kt(u("textarea", {
12629
12629
  ref_key: "codeRef",
@@ -12634,14 +12634,14 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12634
12634
  spellcheck: "false",
12635
12635
  disabled: e.readonly,
12636
12636
  onBlur: W
12637
- }, null, 40, cp), [
12637
+ }, null, 40, up), [
12638
12638
  [Nt, pe.value]
12639
12639
  ]),
12640
- pe.value.trim() ? (b(), v("pre", up, [
12641
- u("code", { innerHTML: Q.value }, null, 8, dp)
12640
+ pe.value.trim() ? (b(), v("pre", dp, [
12641
+ u("code", { innerHTML: Q.value }, null, 8, fp)
12642
12642
  ])) : V("", !0)
12643
12643
  ])) : V("", !0),
12644
- E.value || A.value ? (b(), v("section", fp, [
12644
+ E.value || A.value ? (b(), v("section", pp, [
12645
12645
  I[18] || (I[18] = u("header", { class: "zm-note-section-head" }, [
12646
12646
  u("span", { class: "zm-note-section-title" }, "表格"),
12647
12647
  u("span", { class: "zm-note-section-hint" }, "点击表头排序")
@@ -12657,10 +12657,10 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12657
12657
  spellcheck: "false",
12658
12658
  disabled: e.readonly,
12659
12659
  onBlur: te
12660
- }, null, 40, pp), [
12660
+ }, null, 40, gp), [
12661
12661
  [Nt, T.value]
12662
12662
  ]),
12663
- Se.value.length ? (b(), v("table", gp, [
12663
+ Se.value.length ? (b(), v("table", hp, [
12664
12664
  u("tbody", null, [
12665
12665
  (b(!0), v(oe, null, tt(He.value, (xe, we) => (b(), v("tr", { key: we }, [
12666
12666
  we === 0 ? (b(!0), v(oe, { key: 0 }, tt(xe, (Ve, lt) => (b(), v("th", {
@@ -12673,8 +12673,8 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12673
12673
  onClick: (it) => et(lt)
12674
12674
  }, [
12675
12675
  u("span", null, ce(Ve), 1),
12676
- u("span", mp, ce(P.value === lt ? Z.value === "asc" ? "▲" : "▼" : "↕"), 1)
12677
- ], 10, hp))), 128)) : (b(!0), v(oe, { key: 1 }, tt(xe, (Ve, lt) => (b(), v("td", {
12676
+ u("span", bp, ce(P.value === lt ? Z.value === "asc" ? "▲" : "▼" : "↕"), 1)
12677
+ ], 10, mp))), 128)) : (b(!0), v(oe, { key: 1 }, tt(xe, (Ve, lt) => (b(), v("td", {
12678
12678
  key: `c${lt}`
12679
12679
  }, ce(Ve), 1))), 128))
12680
12680
  ]))), 128))
@@ -12682,7 +12682,7 @@ const Pf = { class: "zm-note-panel" }, Bf = {
12682
12682
  ])) : V("", !0)
12683
12683
  ])) : V("", !0)
12684
12684
  ])
12685
- ], 64)) : (b(), v("div", Bf, [...I[11] || (I[11] = [
12685
+ ], 64)) : (b(), v("div", Uf, [...I[11] || (I[11] = [
12686
12686
  u("p", null, "请先在画布上选中一个节点。", -1),
12687
12687
  u("p", { class: "zm-note-hint" }, " 选中节点后,会在这里展示并可编辑节点的笔记、链接、图片、代码块、表格。 ", -1)
12688
12688
  ])]))
@@ -12977,7 +12977,7 @@ function walk(n: Node) {
12977
12977
  y.value && (y.value = !1, B.stopPropagation());
12978
12978
  }
12979
12979
  }
12980
- Yn(() => {
12980
+ Zn(() => {
12981
12981
  var B;
12982
12982
  document.addEventListener("click", ae), document.addEventListener("keydown", X), window.addEventListener("hashchange", E), (B = N.value) == null || B.applySettings({
12983
12983
  rainbowBranch: A.rainbowBranch,
@@ -13071,7 +13071,7 @@ function walk(n: Node) {
13071
13071
  return (B, C) => {
13072
13072
  var xe;
13073
13073
  return b(), v("div", vp, [
13074
- he(ki, {
13074
+ he(Kn, {
13075
13075
  side: "left",
13076
13076
  width: 300,
13077
13077
  open: f.value,
@@ -13242,7 +13242,7 @@ function walk(n: Node) {
13242
13242
  }, null, 8, ["data", "preview-mode"])
13243
13243
  ])
13244
13244
  ]),
13245
- he(ki, {
13245
+ he(Kn, {
13246
13246
  side: "right",
13247
13247
  width: 360,
13248
13248
  open: g.value && !y.value,
@@ -13250,14 +13250,14 @@ function walk(n: Node) {
13250
13250
  "onUpdate:open": C[11] || (C[11] = (we) => g.value = we)
13251
13251
  }, {
13252
13252
  default: qn(() => [
13253
- he(Xc, {
13253
+ he(Qs, {
13254
13254
  data: r.value,
13255
13255
  onImport: C[10] || (C[10] = (we) => r.value = we)
13256
13256
  }, null, 8, ["data"])
13257
13257
  ]),
13258
13258
  _: 1
13259
13259
  }, 8, ["open"]),
13260
- he(ki, {
13260
+ he(Kn, {
13261
13261
  side: "right",
13262
13262
  width: 420,
13263
13263
  open: h.value && !y.value,
@@ -13265,14 +13265,14 @@ function walk(n: Node) {
13265
13265
  "onUpdate:open": C[13] || (C[13] = (we) => h.value = we)
13266
13266
  }, {
13267
13267
  default: qn(() => [
13268
- he(pd, {
13268
+ he(er, {
13269
13269
  data: r.value,
13270
13270
  onImport: C[12] || (C[12] = (we) => r.value = we)
13271
13271
  }, null, 8, ["data"])
13272
13272
  ]),
13273
13273
  _: 1
13274
13274
  }, 8, ["open"]),
13275
- he(ki, {
13275
+ he(Kn, {
13276
13276
  side: "right",
13277
13277
  width: 360,
13278
13278
  open: x.value && !y.value,
@@ -13280,7 +13280,7 @@ function walk(n: Node) {
13280
13280
  "onUpdate:open": C[14] || (C[14] = (we) => x.value = we)
13281
13281
  }, {
13282
13282
  default: qn(() => [
13283
- he(bp, {
13283
+ he(mr, {
13284
13284
  "selected-node": d.value,
13285
13285
  readonly: !1,
13286
13286
  "focus-tick": S.value,
@@ -13324,7 +13324,7 @@ function walk(n: Node) {
13324
13324
  ], -1)
13325
13325
  ])])
13326
13326
  ]),
13327
- he(id, {
13327
+ he(tr, {
13328
13328
  settings: A,
13329
13329
  "has-selection": d.value !== null,
13330
13330
  "selected-node-text": (xe = d.value) == null ? void 0 : xe.text,
@@ -13338,22 +13338,27 @@ function walk(n: Node) {
13338
13338
  }
13339
13339
  }), Np = {
13340
13340
  install(e) {
13341
- e.component("FlowMindMap", fo), e.component("FlowMindMapOutline", Js), e.component("FlowMindMapApp", Sp);
13341
+ e.component("FlowMindMap", fo), e.component("FlowMindMapOutline", Js), e.component("FlowMindMapDrawer", Kn), e.component("FlowMindMapDataPanel", Qs), e.component("FlowMindMapMarkdownPanel", er), e.component("FlowMindMapSettingsPanel", tr), e.component("FlowMindMapNotePanel", mr), e.component("FlowMindMapApp", Sp);
13342
13342
  }
13343
13343
  };
13344
13344
  export {
13345
+ Qs as DataPanel,
13346
+ Kn as Drawer,
13347
+ er as MarkdownPanel,
13345
13348
  fo as MindMap,
13346
13349
  Sp as MindMapApp,
13350
+ mr as NotePanel,
13347
13351
  Js as Outline,
13348
- ol as addChild,
13349
- sl as addSibling,
13352
+ tr as SettingsPanel,
13353
+ al as addChild,
13354
+ cl as addSibling,
13350
13355
  Wt as clone,
13351
13356
  Np as default,
13352
13357
  _e as findNode,
13353
13358
  Pt as findParent,
13354
- Zn as markdownToMindMap,
13359
+ Xn as markdownToMindMap,
13355
13360
  Cp as markdownToRichMindMap,
13356
- Xn as mindMapToMarkdown,
13361
+ Jn as mindMapToMarkdown,
13357
13362
  Ss as removeNode,
13358
13363
  Ap as richBlockToMarkdown,
13359
13364
  jt as uid