@jboltai/tokui 0.2.3 → 0.2.4

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.
package/dist/tokui.mjs CHANGED
@@ -618,16 +618,20 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
618
618
  })), m = /* @__PURE__ */ o(((e, t) => {
619
619
  function n(e) {
620
620
  let t = !1;
621
- for (let n = 0; n < e.length; n++) if (e[n] === "\"") t = !t;
622
- else if (e[n] === "]" && !t) return n;
621
+ for (let n = 0; n < e.length; n++) if (e[n] === "\"") {
622
+ if (!t && e[n + 1] === "]") continue;
623
+ t = !t;
624
+ } else if (e[n] === "]" && !t) return n;
623
625
  return -1;
624
626
  }
625
627
  function r(e) {
626
628
  let t = !1, n = 0;
627
629
  for (let r = 0; r < e.length; r++) {
628
630
  let i = e[r];
629
- if (i === "\"") t = !t;
630
- else if (!t) {
631
+ if (i === "\"") {
632
+ if (!t && e[r + 1] === "]") continue;
633
+ t = !t;
634
+ } else if (!t) {
631
635
  if (i === "[") n++;
632
636
  else if (i === "]") {
633
637
  if (n === 0) return r;
@@ -637,7 +641,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
637
641
  }
638
642
  return -1;
639
643
  }
640
- var i = new Set(/* @__PURE__ */ "form.table.thead.tbody.card.ft.row.col.list.select.radio.checkbox.code.imgs.md.textarea.tabs.tab.accordion.collapse.dialog.btngroup.picker.timeline.steps.drawer.ol.ul.i.item.think.think-chain.think-step.bubble.toolbar.badge-box.dropdown.transfer.callout.cascader.tree.tn.desc.carousel.popover.input-tag.watermark.menu.print-area.chat-input.msg-actions.tool-call.diff.quick-reply.plan.file-tree.ft-folder.terminal.sandbox.test-result.quote.toggle-group.conversations.welcome.welcome-feature.suggestions.attachments.artifact.artifact-code.artifact-preview.scroll-area.sidebar.sidebar-content.sidebar-footer.command.command-group.hover-card.hover-trigger.hover-content.resizable.canvas.canvas-content.chart.ins.katex.mermaid.p.tour.affix.preview-group.segmented.anchor.float-button.masonry".split("."));
644
+ var i = new Set(/* @__PURE__ */ "form.table.thead.tbody.card.ft.row.col.list.grid.cell.select.radio.checkbox.code.imgs.md.textarea.tabs.tab.accordion.collapse.dialog.btngroup.picker.timeline.steps.drawer.ol.ul.i.item.think.think-chain.think-step.bubble.toolbar.badge-box.dropdown.transfer.callout.cascader.tree.tn.desc.carousel.popover.input-tag.watermark.menu.print-area.chat-input.msg-actions.tool-call.diff.quick-reply.plan.file-tree.ft-folder.terminal.sandbox.test-result.quote.toggle-group.conversations.welcome.welcome-feature.suggestions.attachments.artifact.artifact-code.artifact-preview.scroll-area.sidebar.sidebar-content.sidebar-footer.command.command-group.hover-card.hover-trigger.hover-content.resizable.canvas.canvas-content.chart.ins.katex.mermaid.p.tour.affix.preview-group.segmented.anchor.float-button.masonry".split("."));
641
645
  function a(e) {
642
646
  if (!e || e.type !== "chart") return !1;
643
647
  var t = e.attrs || {};
@@ -746,6 +750,20 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
746
750
  }
747
751
  }
748
752
  t.content = i.join(" ");
753
+ for (let e = 0; e < 4; e++) {
754
+ let e = !1;
755
+ for (let n of Object.keys(t.attrs)) {
756
+ let r = t.attrs[n];
757
+ if (typeof r != "string") continue;
758
+ let i = r.match(/^([\s\S]*?)\s+([a-zA-Z][a-zA-Z0-9]{0,6}):([\s\S]*)$/);
759
+ if (!i || !i[1] || !h.has(i[2]) || t.attrs[i[2]] !== void 0) continue;
760
+ t.attrs[n] = i[1];
761
+ let a = i[3];
762
+ !a && t.content && (a = t.content, t.content = ""), t.attrs[i[2]] = a.replace(/^"|"$/g, ""), t._lastRepairKey = i[2], e = !0;
763
+ }
764
+ if (!e) break;
765
+ }
766
+ t._lastRepairKey && t.content && t.content.endsWith("\"") && (t.attrs[t._lastRepairKey] += " " + t.content.slice(0, -1), t.content = ""), delete t._lastRepairKey;
749
767
  let a = {
750
768
  ol: "list",
751
769
  ul: "list",
@@ -836,7 +854,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
836
854
  this.reset(), this._dslText = e, this.buffer = e, this._tryParse(), this._flush();
837
855
  }
838
856
  _flush() {
839
- if (this.buffer.trim() && this._tryParse(), this.buffer.trim()) {
857
+ if (this._flushing = !0, this.buffer.trim() && this._tryParse(), this._flushing = !1, this.buffer.trim()) {
840
858
  let e;
841
859
  if (this._isRawContent()) {
842
860
  let t = this.stack[this.stack.length - 1], n = this.streaming && t && t._rawEmittedLen ? t._rawEmittedLen : 0;
@@ -948,7 +966,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
948
966
  continue;
949
967
  }
950
968
  let e = /^tr\b/.test(this.buffer) ? r(this.buffer) : n(this.buffer);
951
- if (e === -1) break;
969
+ if (e === -1 && this._flushing && (e = this.buffer.indexOf("]")), e === -1) break;
952
970
  let t = e, a = !0, o = this.buffer.slice(0, e), s = -1;
953
971
  {
954
972
  let e = !1;
@@ -1030,7 +1048,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1030
1048
  "input-tag",
1031
1049
  "watermark",
1032
1050
  "badge-box"
1033
- ]), r = i.has(e.type) && !n.has(e.type) && e.attrs.tx, l = e.type === "tn" && e.attrs.leaf !== void 0, d = e.type === "input-tag" && e.attrs.tags, f = e.type === "katex" && !!e.attrs.f, p = r || l || d || f || o(e) || s(e), m = e.attrs.cols && e.type !== "desc" && e.type !== "suggestions" && e.type !== "chart" && e.type !== "masonry", h = a(e);
1051
+ ]), r = i.has(e.type) && !n.has(e.type) && e.attrs.tx, l = e.type === "tn" && e.attrs.leaf !== void 0, d = e.type === "input-tag" && e.attrs.tags, f = e.type === "katex" && !!e.attrs.f, p = r || l || d || f || o(e) || s(e), m = e.attrs.cols && e.type !== "desc" && e.type !== "suggestions" && e.type !== "chart" && e.type !== "masonry" && e.type !== "grid", h = a(e);
1034
1052
  h && (e._previewKey = e._dslStart), i.has(e.type) && !m && !p && !h ? this.stack.length >= this.maxDepth ? (console.warn("TokUI Parser: 嵌套深度超过 maxDepth (" + this.maxDepth + "),按自闭合处理"), this.stack.length > 0 && this.stack[this.stack.length - 1].children.push(e), this.onNode(e)) : (e._stream = "open", this.stack.push(e), this.onNode(e)) : (this.stack.length > 0 && this.stack[this.stack.length - 1].children.push(e), this.onNode(e));
1035
1053
  }
1036
1054
  _emitBuffered(e) {
@@ -1049,7 +1067,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1049
1067
  "input-tag",
1050
1068
  "watermark",
1051
1069
  "badge-box"
1052
- ]), r = i.has(e.type) && !n.has(e.type) && e.attrs.tx, c = e.type === "tn" && e.attrs.leaf !== void 0, l = e.type === "input-tag" && e.attrs.tags, d = e.type === "katex" && !!e.attrs.f, f = r || c || l || d || o(e) || s(e), p = e.attrs.cols && e.type !== "desc" && e.type !== "suggestions" && e.type !== "chart" && e.type !== "masonry", m = a(e);
1070
+ ]), r = i.has(e.type) && !n.has(e.type) && e.attrs.tx, c = e.type === "tn" && e.attrs.leaf !== void 0, l = e.type === "input-tag" && e.attrs.tags, d = e.type === "katex" && !!e.attrs.f, f = r || c || l || d || o(e) || s(e), p = e.attrs.cols && e.type !== "desc" && e.type !== "suggestions" && e.type !== "chart" && e.type !== "masonry" && e.type !== "grid", m = a(e);
1053
1071
  m && (e._previewKey = e._dslStart), i.has(e.type) && !p && !f && !m ? this.stack.length >= this.maxDepth ? (console.warn("TokUI Parser: 嵌套深度超过 maxDepth (" + this.maxDepth + "),按自闭合处理"), this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(e) : this.onNode(e)) : this.stack.push(e) : this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(e) : this.onNode(e);
1054
1072
  }
1055
1073
  startStream() {
@@ -1333,6 +1351,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1333
1351
  "right",
1334
1352
  "inline"
1335
1353
  ]),
1354
+ grid: new Set(["dense", "flush"]),
1336
1355
  dv: new Set([
1337
1356
  "dashed",
1338
1357
  "dotted",
@@ -1450,7 +1469,12 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1450
1469
  var f = s("div", { class: "tokui-error__detail" });
1451
1470
  f.textContent = String(t.message || t), u.appendChild(f), l = u;
1452
1471
  }
1453
- return this._applyVariants(l, e), l && l.nodeType === 1 && e.type && e.type !== "_text" && l.setAttribute("data-tokui-tag", e.type), l;
1472
+ if (this._applyVariants(l, e), l && l.nodeType === 1 && e.type && e.type !== "_text") {
1473
+ l.setAttribute("data-tokui-tag", e.type), l._tokuiType ||= e.type;
1474
+ var p = e.attrs && e.attrs.id != null && e.attrs.id !== "" ? String(e.attrs.id) : null;
1475
+ p && !l.getAttribute("id") && !(typeof l.querySelector == "function" && l.querySelector("[id=\"" + p.replace(/"/g, "\\\"") + "\"]")) && l.setAttribute("id", p);
1476
+ }
1477
+ return l;
1454
1478
  }
1455
1479
  _applyVariants(e, t) {
1456
1480
  var n = t.attrs && t.attrs.v;
@@ -1469,7 +1493,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1469
1493
  mount(e, t) {
1470
1494
  this._mountRoot = t;
1471
1495
  let n = this.render(e);
1472
- return n.nodeType === 1 && n.classList.add("tokui-fade-in"), t.appendChild(n), this.bindEvents(n), n._streamCloseHook && n._streamCloseHook(), n;
1496
+ return !n || !n.nodeType ? null : (n.nodeType === 1 && n.classList.add("tokui-fade-in"), t.appendChild(n), this.bindEvents(n), n._streamCloseHook && n._streamCloseHook(), n);
1473
1497
  }
1474
1498
  mountStreaming(e, t) {
1475
1499
  return this._mountRoot = t, e._stream === "skeleton-pending" ? this._streamSkeletonPending(e, t) : e._stream === "skeleton-finalize" ? this._streamSkeletonFinalize(e, t) : e._streamPreview ? this._streamChartPreview(e, t) : e.type === "tr" && e._stream === "open" ? this._streamTrOpen(e, t) : e.type === "tr" && e._stream === "preview" ? this._streamTrPreview(e) : e.type === "tr" && e._stream === "finalize" ? this._streamTrFinalize(e, t) : e._stream === "open" ? this._streamOpen(e, t) : e._stream === "close" ? this._streamClose(e) : e.type === "chart" && e._previewKey !== void 0 ? this._streamChartFinalize(e, t) : this._streamChild(e, t);
@@ -1566,7 +1590,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1566
1590
  let t = this.slotStack.pop();
1567
1591
  if (this.bindEvents(t.el), t.el._streamCloseHook && t.el._streamCloseHook(), t.el._tokuiType === e.type || this._getNodeType(t.el) === e.type) break;
1568
1592
  }
1569
- return null;
1593
+ return this._flushPendingDels && this._flushPendingDels(), null;
1570
1594
  }
1571
1595
  _streamChild(e, t) {
1572
1596
  var n = this.slotStack.length > 0 ? this.slotStack[this.slotStack.length - 1] : null, r = n ? n.containerType : void 0, i = n ? n.slot : t;
@@ -1659,13 +1683,16 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1659
1683
  e.listeners.forEach(function(t) {
1660
1684
  e.element.removeEventListener(t.type, t.fn);
1661
1685
  }), delete e.element._tokuiBound, delete e.element._tokuiClickBound;
1662
- }), this._boundElements = [], this.slotStack = [];
1686
+ }), this._boundElements = [], this.slotStack = [], (this._delTimers || []).forEach(function(e) {
1687
+ clearTimeout(e);
1688
+ }), this._delTimers = [], this._pendingDels = [];
1663
1689
  }
1664
1690
  resetSlotStack() {
1665
1691
  for (; this.slotStack.length > 0;) {
1666
1692
  let e = this.slotStack.pop();
1667
1693
  this.bindEvents(e.el);
1668
1694
  }
1695
+ this._flushPendingDels && this._flushPendingDels();
1669
1696
  }
1670
1697
  bindEvents(e) {
1671
1698
  if (!this.eventBus || e.nodeType !== 1 || e._tokuiBound) return;
@@ -8484,17 +8511,44 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
8484
8511
  });
8485
8512
  }
8486
8513
  return document.createTextNode("");
8487
- }), e.register("del", (t) => {
8488
- var n = (t.attrs || {}).id;
8489
- if (n && typeof document < "u") {
8490
- var r = !1, i = v(n);
8491
- if (i) {
8492
- var a = x(i);
8493
- (e.slotStack || []).some(function(e) {
8494
- return e.el === a || typeof a.contains == "function" && a.contains(e.el);
8495
- }) ? console.warn("TokUI: del 目标 \"" + n + "\" 正在流式输出中(未闭合),已跳过;请在容器闭合后再发 del") : a.parentNode && (a.parentNode.removeChild(a), r = !0);
8496
- }
8497
- S("del", String(n), { removed: r });
8514
+ });
8515
+ function C(t) {
8516
+ var n = !1, r = v(t);
8517
+ if (!r) {
8518
+ console.warn("TokUI: del 目标 \"" + t + "\" 不存在(组件未渲染或 id 拼写有误),已跳过"), S("del", t, { removed: !1 });
8519
+ return;
8520
+ }
8521
+ var i = x(r);
8522
+ if ((e.slotStack || []).some(function(e) {
8523
+ return e.el === i || typeof i.contains == "function" && i.contains(e.el);
8524
+ })) {
8525
+ e._pendingDels = e._pendingDels || [], e._pendingDels.indexOf(t) === -1 && (e._pendingDels.push(t), console.warn("TokUI: del 目标 \"" + t + "\" 正在流式输出中(未闭合),已排队,容器闭合后自动执行")), S("del", t, {
8526
+ removed: !1,
8527
+ queued: !0
8528
+ });
8529
+ return;
8530
+ }
8531
+ i.parentNode && (i.parentNode.removeChild(i), n = !0), S("del", t, { removed: n });
8532
+ }
8533
+ e._flushPendingDels = function() {
8534
+ var t = e._pendingDels;
8535
+ !t || !t.length || (e._pendingDels = [], t.forEach(function(e) {
8536
+ C(e);
8537
+ }));
8538
+ }, e.register("del", (t) => {
8539
+ var n = t.attrs || {}, r = n.id;
8540
+ if (r && typeof document < "u") {
8541
+ var i = String(r), a = parseInt(n.delay, 10);
8542
+ if (a > 0) {
8543
+ var o = setTimeout(function() {
8544
+ var t = e._delTimers || [], n = t.indexOf(o);
8545
+ n !== -1 && t.splice(n, 1), C(i);
8546
+ }, a);
8547
+ e._delTimers = e._delTimers || [], e._delTimers.push(o), S("del", i, {
8548
+ removed: !1,
8549
+ delayed: a
8550
+ });
8551
+ } else C(i);
8498
8552
  }
8499
8553
  return document.createTextNode("");
8500
8554
  }), e.register("ins", (n, r) => {
@@ -8560,7 +8614,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
8560
8614
  l(), u.parentNode && u.parentNode.removeChild(u);
8561
8615
  }, n.children && n.children.length && l(), u;
8562
8616
  });
8563
- function C(e, t) {
8617
+ function w(e, t) {
8564
8618
  var n = _("mermaid");
8565
8619
  if (!(!n || !e) && (typeof t == "string" ? /```mermaid\n/.test(t) || typeof e.querySelector == "function" && e.querySelector(".tokui-md__mermaid") : String(e.innerHTML || "").indexOf("tokui-md__mermaid") !== -1 || typeof e.querySelector == "function" && e.querySelector(".tokui-md__mermaid"))) {
8566
8620
  var r = typeof e.querySelectorAll == "function" ? Array.prototype.slice.call(e.querySelectorAll(".tokui-md__mermaid")) : [], i = [];
@@ -8578,12 +8632,12 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
8578
8632
  } catch {}
8579
8633
  }
8580
8634
  }
8581
- typeof window < "u" && window.TokUI && window.TokUI._internal && (window.TokUI._internal.runMdMermaid = C, window.TokUI._internal.simpleMarkdown = b, window.TokUI._internal.renderKatexHtml = y), e.register("md", (e) => {
8635
+ typeof window < "u" && window.TokUI && window.TokUI._internal && (window.TokUI._internal.runMdMermaid = w, window.TokUI._internal.simpleMarkdown = b, window.TokUI._internal.renderKatexHtml = y), e.register("md", (e) => {
8582
8636
  let n = t("div", { class: "tokui-md" }), r = "";
8583
- return r = e.children && e.children.length > 0 ? e.children.map((e) => e.content || "").join("") : e.content || "", r && (n._rawMd = r, n.innerHTML = b(r), m(n), C(n, r)), n._streamCloseHook = function() {
8637
+ return r = e.children && e.children.length > 0 ? e.children.map((e) => e.content || "").join("") : e.content || "", r && (n._rawMd = r, n.innerHTML = b(r), m(n), w(n, r)), n._streamCloseHook = function() {
8584
8638
  let e = "";
8585
8639
  for (let t of Array.from(n.childNodes)) t.nodeType === 3 && (e += t.textContent);
8586
- e && (n._rawMd = e, n.innerHTML = b(e), m(n), C(n, e));
8640
+ e && (n._rawMd = e, n.innerHTML = b(e), m(n), w(n, e));
8587
8641
  }, n._tokuiType = "md", n;
8588
8642
  }), e.register("katex", (e) => {
8589
8643
  var n = e.attrs && e.attrs.f, r = !n, i = t("div", { class: "tokui-katex" + (r ? " tokui-katex--block" : " tokui-katex--inline") }), a = function() {
@@ -8604,7 +8658,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
8604
8658
  }, i = function(e) {
8605
8659
  n.innerHTML = "";
8606
8660
  var r = t("div", { class: "tokui-md__mermaid" }), i = t("pre", { class: "tokui-code" }), a = t("code", { class: "language-mermaid" }, e);
8607
- i.appendChild(a), r.appendChild(i), n.appendChild(r), n._rawMd = e, C(n);
8661
+ i.appendChild(a), r.appendChild(i), n.appendChild(r), n._rawMd = e, w(n);
8608
8662
  }, a = r();
8609
8663
  return a && i(a), n._streamCloseHook = function() {
8610
8664
  var e = "";
@@ -8612,10 +8666,10 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
8612
8666
  e && i(e);
8613
8667
  }, n._slot = n, n._tokuiType = "mermaid", n;
8614
8668
  });
8615
- function w(e) {
8669
+ function T(e) {
8616
8670
  return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
8617
8671
  }
8618
- function T(e) {
8672
+ function E(e) {
8619
8673
  return e.split("\n").map(function(e) {
8620
8674
  return "<span class=\"code-line\">" + (e || " ") + "</span>";
8621
8675
  }).join("");
@@ -8626,7 +8680,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
8626
8680
  u = r.children && r.children.length > 0 ? r.children.map((e) => e.content || "").join("") : r.content || "";
8627
8681
  var d = c !== "text" && a[c];
8628
8682
  function f() {
8629
- l.innerHTML = T(d ? o(u, c) : w(u)), l._codeLineEls = null;
8683
+ l.innerHTML = E(d ? o(u, c) : T(u)), l._codeLineEls = null;
8630
8684
  }
8631
8685
  f(), i.appendChild(l), i._slot = l, i._tokuiType = "code";
8632
8686
  var p = s(c), m = 0, h = 0, g = !1;
@@ -8636,7 +8690,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
8636
8690
  return;
8637
8691
  }
8638
8692
  for (var e = u.split("\n"), n = e.length - 1, r = h; m < n;) p.feed(e[m]), m++, p.st.mode === "default" && (h = m);
8639
- var i = e.slice(r).join("\n"), a = (d ? o(i, c) : w(i)).split("\n");
8693
+ var i = e.slice(r).join("\n"), a = (d ? o(i, c) : T(i)).split("\n");
8640
8694
  if (a.length !== e.length - r) {
8641
8695
  g = !0, f();
8642
8696
  return;
@@ -8994,11 +9048,11 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
8994
9048
  }
8995
9049
  return s;
8996
9050
  });
8997
- var E = null;
9051
+ var D = null;
8998
9052
  e.register("toast", (e) => {
8999
9053
  var n = e.attrs || {}, r = n.id || "", i = n.t || "info", a = n.tx || "", o = parseInt(n.duration, 10) || 2e3, s = n.pos || "top";
9000
- (!E || !E.parentNode) && (E = document.querySelector(".tokui-toast-container"), E || (E = t("div", { class: "tokui-toast-container" }), document.body.appendChild(E)));
9001
- var c = E, l = t("div", {
9054
+ (!D || !D.parentNode) && (D = document.querySelector(".tokui-toast-container"), D || (D = t("div", { class: "tokui-toast-container" }), document.body.appendChild(D)));
9055
+ var c = D, l = t("div", {
9002
9056
  class: "tokui-toast tokui-toast--" + i + (s === "bottom" ? " tokui-toast--bottom" : ""),
9003
9057
  role: "alert",
9004
9058
  "aria-live": "polite"
@@ -9312,7 +9366,11 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
9312
9366
  requestAnimationFrame(e);
9313
9367
  } else m.textContent = i;
9314
9368
  } else m.textContent = i;
9315
- return u.appendChild(f), u._update = function(e) {
9369
+ if (u.appendChild(f), n.l) {
9370
+ var x = t("div", { class: "tokui-stat__label" });
9371
+ x.textContent = n.l, u.appendChild(x);
9372
+ }
9373
+ return u._update = function(e) {
9316
9374
  if (e.v !== void 0) {
9317
9375
  var t = u.querySelector(".tokui-stat__number");
9318
9376
  t && (t.textContent = e.v);
@@ -10386,30 +10444,30 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
10386
10444
  }
10387
10445
  return c.appendChild(u), c;
10388
10446
  });
10389
- function D(e, n) {
10447
+ function O(e, n) {
10390
10448
  var r = t("div", { class: "tokui-diff__line" }), i = t("span", { class: "tokui-diff__num" }), a = t("span", { class: "tokui-diff__code" });
10391
10449
  return e.startsWith("+") ? (r.classList.add("tokui-diff__line--add"), n.newLine++, i.textContent = n.newLine, a.textContent = e) : e.startsWith("-") ? (r.classList.add("tokui-diff__line--remove"), n.oldLine++, i.textContent = n.oldLine, a.textContent = e) : (r.classList.add("tokui-diff__line--context"), n.oldLine++, n.newLine++, i.textContent = n.oldLine, a.textContent = e || " "), r.appendChild(i), r.appendChild(a), r;
10392
10450
  }
10393
- function O(e, t) {
10451
+ function k(e, t) {
10394
10452
  e.innerHTML = "";
10395
10453
  for (var n = t.split("\n"), r = n.length - 1, i = {
10396
10454
  oldLine: 0,
10397
10455
  newLine: 0
10398
- }, a = 0; a < r; a++) e.appendChild(D(n[a], i));
10399
- var o = D(n[r], {
10456
+ }, a = 0; a < r; a++) e.appendChild(O(n[a], i));
10457
+ var o = O(n[r], {
10400
10458
  oldLine: i.oldLine,
10401
10459
  newLine: i.newLine
10402
10460
  });
10403
10461
  e.appendChild(o), e._diffFrozenCount = r, e._diffState = i, e._diffGrowingEl = o;
10404
10462
  }
10405
- function k(e, t) {
10463
+ function A(e, t) {
10406
10464
  if (typeof e._diffFrozenCount != "number" || !e._diffState) {
10407
- O(e, t);
10465
+ k(e, t);
10408
10466
  return;
10409
10467
  }
10410
- for (var n = t.split("\n"), r = n.length - 1, i = e._diffState, a = e._diffGrowingEl, o = e._diffFrozenCount; o < r; o++) e.insertBefore(D(n[o], i), a || null);
10468
+ for (var n = t.split("\n"), r = n.length - 1, i = e._diffState, a = e._diffGrowingEl, o = e._diffFrozenCount; o < r; o++) e.insertBefore(O(n[o], i), a || null);
10411
10469
  e._diffFrozenCount = r;
10412
- var s = D(n[r], {
10470
+ var s = O(n[r], {
10413
10471
  oldLine: i.oldLine,
10414
10472
  newLine: i.newLine
10415
10473
  });
@@ -10441,10 +10499,10 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
10441
10499
  return e.content || "";
10442
10500
  }).join("") : e.content || "";
10443
10501
  function d() {
10444
- O(l, u);
10502
+ k(l, u);
10445
10503
  }
10446
10504
  return d(), a.appendChild(l), a._slot = l, a._tokuiType = "diff", a._streamAppendHook = function(e) {
10447
- e && e.type === "_text" && e.content && (u += e.content, k(l, u));
10505
+ e && e.type === "_text" && e.content && (u += e.content, A(l, u));
10448
10506
  }, a._streamCloseHook = d, a;
10449
10507
  }), e.register("plan", (e, n) => {
10450
10508
  var r = e.attrs || {}, i = t("div", { class: "tokui-plan" });
@@ -10805,7 +10863,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
10805
10863
  e && e.nodeType && l.appendChild(e);
10806
10864
  }), a.appendChild(l), a._slot = l, a._tokuiType = "test-result", a;
10807
10865
  });
10808
- function A(e) {
10866
+ function j(e) {
10809
10867
  var n = e.attrs || {}, r = n.status || "pass", i = t("div", {
10810
10868
  class: "tokui-test-case tokui-test-case--" + r,
10811
10869
  "data-tokui-tag": e.type
@@ -10826,7 +10884,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
10826
10884
  }
10827
10885
  return i;
10828
10886
  }
10829
- e.register("test-case", (e) => A(e)), e.register("case", (e) => A(e)), e.register("conversations", (r, i) => {
10887
+ e.register("test-case", (e) => j(e)), e.register("case", (e) => j(e)), e.register("conversations", (r, i) => {
10830
10888
  var a = r.attrs || {}, o = a.clk || "", s = a.act || "", c = t("div", {
10831
10889
  class: "tokui-conversations",
10832
10890
  role: "list"
@@ -10834,30 +10892,30 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
10834
10892
  return e.type === "conv";
10835
10893
  }), d = null;
10836
10894
  if (u.length === 0) return d = t("div", { class: "tokui-conversations__empty" }), d.textContent = n("chat.emptySessions"), c.appendChild(d), c._slot = c, c._tokuiType = "conversations", c._convHandlerName = o, c._convActiveAct = s, c._renderConvChild = function(t) {
10837
- return N(t, o, s, c, l, e.eventBus);
10895
+ return P(t, o, s, c, l, e.eventBus);
10838
10896
  }, c._streamCloseHook = function() {
10839
10897
  c.querySelector(".tokui-conv") && d && d.parentNode && d.parentNode.removeChild(d);
10840
10898
  }, c;
10841
- var f = M(u);
10899
+ var f = N(u);
10842
10900
  return f.forEach(function(n) {
10843
10901
  if (f.length > 1) {
10844
10902
  var r = t("div", { class: "tokui-conversations__group-header" });
10845
10903
  r.textContent = n.label, c.appendChild(r);
10846
10904
  }
10847
10905
  n.items.forEach(function(t) {
10848
- var n = N(t, o, s, c, l, e.eventBus);
10906
+ var n = P(t, o, s, c, l, e.eventBus);
10849
10907
  c.appendChild(n);
10850
10908
  });
10851
10909
  }), c._slot = c, c._tokuiType = "conversations", c;
10852
- }), e.register("conv", (t) => N(t, "", "", null, null, e.eventBus));
10853
- function j(e) {
10910
+ }), e.register("conv", (t) => P(t, "", "", null, null, e.eventBus));
10911
+ function M(e) {
10854
10912
  return /^\d{1,2}:\d{2}$/.test(e);
10855
10913
  }
10856
- function M(e) {
10914
+ function N(e) {
10857
10915
  var t = [], r = [], i = [];
10858
10916
  e.forEach(function(e) {
10859
10917
  var a = e.attrs && e.attrs.time || "";
10860
- j(a) ? t.push(e) : a === n("time.yesterday") ? r.push(e) : i.push(e);
10918
+ M(a) ? t.push(e) : a === n("time.yesterday") ? r.push(e) : i.push(e);
10861
10919
  });
10862
10920
  var a = [];
10863
10921
  return t.length && a.push({
@@ -10874,7 +10932,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
10874
10932
  items: e
10875
10933
  }];
10876
10934
  }
10877
- function N(e, r, i, a, o, s) {
10935
+ function P(e, r, i, a, o, s) {
10878
10936
  var c = e.attrs || {}, l = c.tt || "", u = c.time || "", d = c.id || l, f = c.active === !0 || c.active === "true";
10879
10937
  !f && i && c.act && c.act === i && (f = !0);
10880
10938
  var p = ["tokui-conv"];
@@ -10947,7 +11005,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
10947
11005
  }
10948
11006
  return l._slot = h, l._tokuiType = "welcome", l;
10949
11007
  });
10950
- function P(n) {
11008
+ function F(n) {
10951
11009
  var r = n.attrs || {}, i = r.tt || "", a = r.tx || "", o = r.i || "code", s = r.clk || "", c = {
10952
11010
  code: "<svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"16 18 22 12 16 6\"/><polyline points=\"8 6 2 12 8 18\"/></svg>",
10953
11011
  chart: "<svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"/><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"/><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"/></svg>",
@@ -10983,7 +11041,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
10983
11041
  h("select", { value: i || a });
10984
11042
  }), u._tokuiType = "welcome-feature", u;
10985
11043
  }
10986
- e.register("welcome-feature", (e) => P(e)), e.register("feature", (e) => P(e)), e.register("attachments", (e, n) => {
11044
+ e.register("welcome-feature", (e) => F(e)), e.register("feature", (e) => F(e)), e.register("attachments", (e, n) => {
10987
11045
  var r = (e.attrs || {}).clk || "", i = t("div", { class: "tokui-attachments" });
10988
11046
  return r && i.setAttribute("data-tokui-clk", r), n(e.children || []).forEach(function(e) {
10989
11047
  e && e.nodeType && i.appendChild(e);
@@ -11085,13 +11143,13 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
11085
11143
  return e.content || "";
11086
11144
  }).join(""));
11087
11145
  var x = t("pre", { class: "tokui-code" }), S = t("code", { class: "language-" + l });
11088
- l !== "text" && a[l] ? S.innerHTML = T(o(y, l)) : S.innerHTML = T(w(y)), x.appendChild(S), v.appendChild(x);
11089
- var C = y, E = e.createReporter("artifact", s, d), D = t("button", {
11146
+ l !== "text" && a[l] ? S.innerHTML = E(o(y, l)) : S.innerHTML = E(T(y)), x.appendChild(S), v.appendChild(x);
11147
+ var C = y, w = e.createReporter("artifact", s, d), D = t("button", {
11090
11148
  class: "tokui-artifact__code-copy",
11091
11149
  type: "button"
11092
11150
  });
11093
11151
  D.textContent = n("common.copy"), D.addEventListener("click", function() {
11094
- typeof navigator < "u" && navigator.clipboard && navigator.clipboard.writeText(C), E("copy", {}), D.textContent = n("common.copied"), D.classList.add("tokui-artifact__code-copy--done"), setTimeout(function() {
11152
+ typeof navigator < "u" && navigator.clipboard && navigator.clipboard.writeText(C), w("copy", {}), D.textContent = n("common.copied"), D.classList.add("tokui-artifact__code-copy--done"), setTimeout(function() {
11095
11153
  D.textContent = n("common.copy"), D.classList.remove("tokui-artifact__code-copy--done");
11096
11154
  }, 2e3);
11097
11155
  }), v.appendChild(D), d.appendChild(v);
@@ -11110,7 +11168,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
11110
11168
  }), g.addEventListener("click", function() {
11111
11169
  v.style.display = "none", O.style.display = "", g.classList.add("tokui-artifact__tab--active"), h.classList.remove("tokui-artifact__tab--active"), g.setAttribute("aria-selected", "true"), h.setAttribute("aria-selected", "false");
11112
11170
  }), _.addEventListener("click", function() {
11113
- if (E("close", {}), typeof CustomEvent == "function" && typeof d.dispatchEvent == "function") {
11171
+ if (w("close", {}), typeof CustomEvent == "function" && typeof d.dispatchEvent == "function") {
11114
11172
  var e = new CustomEvent("tokui-artifact-close", {
11115
11173
  bubbles: !0,
11116
11174
  detail: { artifact: d }
@@ -11161,7 +11219,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
11161
11219
  }
11162
11220
  t ||= C || d._artifactCode || "";
11163
11221
  }
11164
- l !== "text" && a[l] ? S.innerHTML = T(o(t, l)) : S.innerHTML = T(w(t)), d._artifactCode = t, C = t;
11222
+ l !== "text" && a[l] ? S.innerHTML = E(o(t, l)) : S.innerHTML = E(T(t)), d._artifactCode = t, C = t;
11165
11223
  var c = "";
11166
11224
  c = l === "html" ? t : "<pre style=\"margin:0;padding:16px;font-family:monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;\">" + t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;") + "</pre>", k.setAttribute("srcdoc", c);
11167
11225
  var u = d.querySelector(".tokui-artifact-preview-standalone");
@@ -11347,7 +11405,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
11347
11405
  v(), x(p.value || "");
11348
11406
  }, s;
11349
11407
  });
11350
- function F(e) {
11408
+ function I(e) {
11351
11409
  var n = e.attrs || {}, r = n.tx || "", i = t("div", {
11352
11410
  class: "tokui-command__item",
11353
11411
  role: "option",
@@ -11370,7 +11428,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
11370
11428
  e && typeof e._hoverSelectItem == "function" && e._hoverSelectItem(i);
11371
11429
  }), i;
11372
11430
  }
11373
- typeof window < "u" && window.TokUI && window.TokUI._internal && (window.TokUI._internal.buildCommandItem = F), e.register("command-group", (e, n) => {
11431
+ typeof window < "u" && window.TokUI && window.TokUI._internal && (window.TokUI._internal.buildCommandItem = I), e.register("command-group", (e, n) => {
11374
11432
  var r = (e.attrs || {}).tt || "", i = t("div", {
11375
11433
  class: "tokui-command__group",
11376
11434
  role: "group"
@@ -11383,7 +11441,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
11383
11441
  return n(e.children || []).forEach(function(e) {
11384
11442
  e && e.nodeType && i.appendChild(e);
11385
11443
  }), i._slot = i, i._tokuiType = "command-group", i;
11386
- }), e.register("command-item", (e) => F(e)), e.register("canvas", (e, r) => {
11444
+ }), e.register("command-item", (e) => I(e)), e.register("canvas", (e, r) => {
11387
11445
  var i = e.attrs || {}, a = i.tt || n("canvas.title"), o = i.pos || "right", s = parseInt(i.w) || 400, c = i.open !== void 0, l = i.closable === void 0 || i.closable === !0, u = ["tokui-canvas", "tokui-canvas--" + o];
11388
11446
  c && u.push("tokui-canvas--open");
11389
11447
  var d = t("div", { class: u.join(" ") });
@@ -14889,7 +14947,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
14889
14947
  var i = a(e.attrs.style);
14890
14948
  i && (r.style = i);
14891
14949
  let o = t("div", r);
14892
- if (e.attrs.w && (o.style.width = /^\d+$/.test(e.attrs.w) ? e.attrs.w + "px" : e.attrs.w), e.attrs.tt) {
14950
+ if (u(o, e.attrs), e.attrs.w && (o.style.width = /^\d+$/.test(e.attrs.w) ? e.attrs.w + "px" : e.attrs.w), e.attrs.tt) {
14893
14951
  var s = "tokui-card-header", c = e.attrs.hc || "";
14894
14952
  e.attrs.ht && (s += " tokui-card-header--" + e.attrs.ht), c && [
14895
14953
  "primary",
@@ -14912,21 +14970,21 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
14912
14970
  "info",
14913
14971
  "dark"
14914
14972
  ].indexOf(c) === -1) {
14915
- var u = e.attrs.ht || "", d = /^(#[0-9a-fA-F]{3,8}|rgba?\([\d\s.,%]+\)|[a-zA-Z]+)$/.test(c) ? c : "";
14916
- u === "fill" || u === "pill" ? d && (l.style.background = "color-mix(in srgb, " + d + " 10%, transparent)", l.style.color = d, u === "fill" ? l.style.borderBottom = "1px solid color-mix(in srgb, " + d + " 22%, transparent)" : l.style.borderColor = "color-mix(in srgb, " + d + " 22%, transparent)") : u === "accent" ? l.style.borderLeftColor = c : u === "underline" ? l.style.setProperty("--tokui-card-header-underline-color", c) : u === "dot" && l.style.setProperty("--tokui-card-header-dot-color", c);
14973
+ var d = e.attrs.ht || "", f = /^(#[0-9a-fA-F]{3,8}|rgba?\([\d\s.,%]+\)|[a-zA-Z]+)$/.test(c) ? c : "";
14974
+ d === "fill" || d === "pill" ? f && (l.style.background = "color-mix(in srgb, " + f + " 10%, transparent)", l.style.color = f, d === "fill" ? l.style.borderBottom = "1px solid color-mix(in srgb, " + f + " 22%, transparent)" : l.style.borderColor = "color-mix(in srgb, " + f + " 22%, transparent)") : d === "accent" ? l.style.borderLeftColor = c : d === "underline" ? l.style.setProperty("--tokui-card-header-underline-color", c) : d === "dot" && l.style.setProperty("--tokui-card-header-dot-color", c);
14917
14975
  }
14918
14976
  o.appendChild(l);
14919
14977
  }
14920
- let f = [], p = [];
14978
+ let p = [], m = [];
14921
14979
  (e.children || []).forEach((e) => {
14922
- e.type === "ft" ? p.push(e) : f.push(e);
14980
+ e.type === "ft" ? m.push(e) : p.push(e);
14923
14981
  });
14924
- let m = t("div", { class: "tokui-card-body" });
14925
- return e.attrs.tx && (m.textContent = e.attrs.tx), n(f).forEach((e) => {
14926
- e && e.nodeType && m.appendChild(e);
14927
- }), o.appendChild(m), n(p).forEach((e) => {
14982
+ let h = t("div", { class: "tokui-card-body" });
14983
+ return e.attrs.tx && (h.textContent = e.attrs.tx), n(p).forEach((e) => {
14984
+ e && e.nodeType && h.appendChild(e);
14985
+ }), o.appendChild(h), n(m).forEach((e) => {
14928
14986
  e && e.nodeType && o.appendChild(e);
14929
- }), o._slot = m, o._tokuiType = "card", o._update = function(e) {
14987
+ }), o._slot = h, o._tokuiType = "card", o._update = function(e) {
14930
14988
  if (e.tt !== void 0) {
14931
14989
  var t = o.querySelector(".tokui-card-header");
14932
14990
  t && (t.textContent = e.tt);
@@ -14944,27 +15002,143 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
14944
15002
  }), e._stream !== "open" && !i.childNodes.length && !r ? null : (i._slot = i, i._tokuiType = "ft", i._streamCloseHook = function() {
14945
15003
  !i.childNodes.length && !r && i.parentNode && i.parentNode.removeChild(i);
14946
15004
  }, i);
14947
- }), e.register("row", (e, n) => {
15005
+ });
15006
+ var o = /^\d+(\.\d+)?(px|%|em|rem|vw|vh)$/;
15007
+ function s(e) {
15008
+ if (e == null) return null;
15009
+ var t = String(e).trim();
15010
+ return /^\d+(\.\d+)?$/.test(t) ? t + "px" : o.test(t) ? t : null;
15011
+ }
15012
+ var c = {
15013
+ default: 1,
15014
+ dark: 1,
15015
+ modern: 1,
15016
+ "modern-dark": 1
15017
+ };
15018
+ function u(e, t) {
15019
+ var n = t && t.theme;
15020
+ n && c[n] && e.setAttribute("data-tokui-theme", n);
15021
+ }
15022
+ function d(e) {
15023
+ if (o.test(e) || /^\d+(\.\d+)?fr$/.test(e) || e === "auto" || e === "min-content" || e === "max-content") return e;
15024
+ var t = e.match(/^minmax\(([^,]+),([^)]+)\)$/);
15025
+ if (t) {
15026
+ var n = t[1].trim(), r = t[2].trim(), i = o.test(n) || n === "auto" || n === "min-content" || n === "max-content", a = o.test(r) || /^\d+(\.\d+)?fr$/.test(r) || r === "auto" || r === "min-content" || r === "max-content";
15027
+ return i && a ? "minmax(" + n + ", " + r + ")" : null;
15028
+ }
15029
+ var s = e.match(/^fit-content\(([^)]+)\)$/);
15030
+ return s && o.test(s[1].trim()) ? "fit-content(" + s[1].trim() + ")" : null;
15031
+ }
15032
+ function f(e) {
15033
+ if (!e) return null;
15034
+ var t = String(e).trim();
15035
+ if (!t) return null;
15036
+ if (/^\d{1,2}$/.test(t)) {
15037
+ var n = parseInt(t);
15038
+ return n >= 1 && n <= 24 ? "repeat(" + n + ", 1fr)" : null;
15039
+ }
15040
+ var r = t.match(/^auto:(.+)$/);
15041
+ if (r) {
15042
+ var i = s(r[1]);
15043
+ return i ? "repeat(auto-fill, minmax(" + i + ", 1fr))" : null;
15044
+ }
15045
+ var a = t.split(/\s+/);
15046
+ if (a.length > 24) return null;
15047
+ for (var o = [], c = 0; c < a.length; c++) {
15048
+ var l = d(a[c]);
15049
+ if (!l) return null;
15050
+ o.push(l);
15051
+ }
15052
+ return o.join(" ");
15053
+ }
15054
+ var p = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
15055
+ function m(e) {
15056
+ if (!e) return null;
15057
+ var t = String(e).split("|");
15058
+ if (t.length > 24) return null;
15059
+ for (var n = [], r = 0; r < t.length; r++) {
15060
+ var i = t[r].trim().split(/\s+/).filter(Boolean);
15061
+ if (!i.length || i.length > 24) return null;
15062
+ for (var a = 0; a < i.length; a++) if (i[a] !== "." && !p.test(i[a])) return null;
15063
+ n.push("\"" + i.join(" ") + "\"");
15064
+ }
15065
+ return n.join(" ");
15066
+ }
15067
+ e.register("row", (e, n) => {
14948
15068
  let r = t("div", { class: "tokui-row" });
15069
+ if (e.attrs) {
15070
+ let t = s(e.attrs.gutter);
15071
+ t && (r.style.gap = t);
15072
+ let n = s(e.attrs.gy);
15073
+ n && (r.style.rowGap = n);
15074
+ }
14949
15075
  return n(e.children).forEach((e) => {
14950
15076
  e && e.nodeType && r.appendChild(e);
14951
15077
  }), r._slot = r, r._tokuiType = "row", r;
14952
15078
  }), e.register("col", (e, n) => {
14953
- let r = e.attrs && (e.attrs.span || e.attrs.cols), i = t("div", { class: "tokui-col" });
15079
+ let r = e.attrs && (e.attrs.span || e.attrs.cols), i = t("div", { class: "tokui-col" }), a = 0;
14954
15080
  if (r) {
14955
- let e = parseInt(r), t = isNaN(e) ? 1 : Math.min(12, Math.max(1, e));
14956
- i.classList.add("tokui-col--" + t), i.style.gridColumn = `span ${t}`;
15081
+ let e = parseInt(r);
15082
+ a = isNaN(e) ? 1 : Math.min(12, Math.max(1, e)), i.classList.add("tokui-col--" + a), i.style.gridColumn = `span ${a}`;
15083
+ }
15084
+ if (e.attrs && e.attrs.offset) {
15085
+ let t = parseInt(e.attrs.offset);
15086
+ if (!isNaN(t) && t >= 1 && t <= 11) {
15087
+ let e = a || 1, n = Math.min(t + 1, 13 - e);
15088
+ i.style.gridColumn = `${n} / span ${e}`;
15089
+ }
15090
+ }
15091
+ if (e.attrs && e.attrs.rspan) {
15092
+ let t = parseInt(e.attrs.rspan);
15093
+ !isNaN(t) && t >= 1 && t <= 12 && (i.style.gridRow = `span ${t}`);
14957
15094
  }
14958
15095
  return e.content && (i.textContent = e.content), n(e.children).forEach((e) => {
14959
15096
  e && e.nodeType && i.appendChild(e);
14960
15097
  }), i._slot = i, i._tokuiType = "col", i;
15098
+ }), e.register("grid", (e, n) => {
15099
+ let r = e.attrs || {}, i = t("div", { class: "tokui-grid" });
15100
+ u(i, r);
15101
+ let a = f(r.cols);
15102
+ a && (i.style.gridTemplateColumns = a);
15103
+ let o = f(r.rows);
15104
+ o && (i.style.gridTemplateRows = o);
15105
+ let c = m(r.areas);
15106
+ c && (i.style.gridTemplateAreas = c);
15107
+ let l = s(r.gap);
15108
+ l && (i.style.gap = l);
15109
+ let d = s(r.gx);
15110
+ d && (i.style.columnGap = d);
15111
+ let p = s(r.gy);
15112
+ p && (i.style.rowGap = p);
15113
+ let h = s(r.h);
15114
+ h && (i.style.height = h);
15115
+ let g = s(r.minh);
15116
+ return g && (i.style.minHeight = g), n(e.children).forEach((e) => {
15117
+ e && e.nodeType && i.appendChild(e);
15118
+ }), i._slot = i, i._tokuiType = "grid", i;
15119
+ }), e.register("cell", (e, n) => {
15120
+ let r = e.attrs || {}, i = t("div", { class: "tokui-cell" });
15121
+ if (u(i, r), r.area && p.test(String(r.area)) && (i.style.gridArea = String(r.area)), r.c) {
15122
+ let e = String(r.c).trim();
15123
+ if (/^\d{1,2}$/.test(e)) {
15124
+ let t = Math.min(24, Math.max(1, parseInt(e)));
15125
+ i.style.gridColumn = "span " + t;
15126
+ } else /^\d{1,2}\s*\/\s*-?\d{1,2}$/.test(e) && (i.style.gridColumn = e.replace(/\s+/g, " "));
15127
+ }
15128
+ if (r.r) {
15129
+ let e = parseInt(r.r);
15130
+ !isNaN(e) && e >= 1 && e <= 24 && (i.style.gridRow = "span " + e);
15131
+ }
15132
+ return /^(start|center|end|stretch)$/.test(r.align || "") && (i.style.alignSelf = r.align), /^(start|center|end|stretch)$/.test(r.justify || "") && (i.style.justifySelf = r.justify), e.content && (i.textContent = e.content), n(e.children).forEach((e) => {
15133
+ e && e.nodeType && i.appendChild(e);
15134
+ }), i._slot = i, i._tokuiType = "cell", i;
14961
15135
  }), e.register("list", (e, n) => {
14962
15136
  let r = t(e.attrs && e.attrs.t === "ol" ? "ol" : "ul", { class: e.attrs && e.attrs.plain ? "tokui-list tokui-list--plain" : "tokui-list" });
14963
15137
  return n(e.children).forEach((e) => {
14964
15138
  e && e.nodeType && r.appendChild(e);
14965
15139
  }), r._slot = r, r._tokuiType = "list", r;
14966
15140
  });
14967
- function o(e, n) {
15141
+ function _(e, n) {
14968
15142
  var r = e.attrs || {}, i = parseInt(r.span) || 1, a = t("div", {
14969
15143
  class: "tokui-desc__item",
14970
15144
  "data-tokui-tag": e.type
@@ -14980,16 +15154,16 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
14980
15154
  }
14981
15155
  e.register("item", (e, n, r) => {
14982
15156
  var i;
14983
- if (r === "desc") i = o(e);
14984
- else if (r === "carousel") i = d(e, n);
15157
+ if (r === "desc") i = _(e);
15158
+ else if (r === "carousel") i = x(e, n);
14985
15159
  else if (r === "command-group") {
14986
15160
  var a = typeof window < "u" && window.TokUI && window.TokUI._internal && window.TokUI._internal.buildCommandItem || null;
14987
15161
  a && (i = a(e));
14988
15162
  }
14989
15163
  if (!i) {
14990
15164
  i = t("li", { class: "tokui-list-item" });
14991
- var s = e.content || e.attrs && e.attrs.tx || "";
14992
- s && (i.textContent = s), n(e.children || []).forEach((e) => {
15165
+ var o = e.content || e.attrs && e.attrs.tx || "";
15166
+ o && (i.textContent = o), n(e.children || []).forEach((e) => {
14993
15167
  e && e.nodeType && i.appendChild(e);
14994
15168
  }), i._slot = i;
14995
15169
  }
@@ -15004,28 +15178,28 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15004
15178
  i._tabId = a, i._tabCount = 0;
15005
15179
  var o = e.createReporter("tabs", n.attrs, i);
15006
15180
  (n.children || []).forEach((e, t) => {
15007
- e.type === "tab" && (s(i, e, r, a, t), i._tabCount = t + 1);
15181
+ e.type === "tab" && (v(i, e, r, a, t), i._tabCount = t + 1);
15008
15182
  }), i._slot = i, i._tokuiType = "tabs";
15009
- function c(e) {
15183
+ function s(e) {
15010
15184
  i.querySelectorAll(".tokui-tabs-label").forEach(function(t) {
15011
15185
  var n = t.getAttribute("data-index") === String(e);
15012
15186
  t.setAttribute("aria-selected", String(n)), t.setAttribute("tabindex", n ? "0" : "-1");
15013
15187
  });
15014
15188
  }
15015
- return i._syncTabAria = c, i.addEventListener("keydown", function(e) {
15189
+ return i._syncTabAria = s, i.addEventListener("keydown", function(e) {
15016
15190
  if (!(e.key !== "ArrowRight" && e.key !== "ArrowLeft")) {
15017
15191
  var t = Array.from(i.querySelectorAll(".tokui-tabs-label")), n = t.indexOf(e.target);
15018
15192
  if (n !== -1) {
15019
15193
  e.preventDefault();
15020
15194
  var r = e.key === "ArrowRight" ? (n + 1) % t.length : (n - 1 + t.length) % t.length, a = i.querySelector("#" + t[r].getAttribute("for"));
15021
- a && (a.checked = !0, c(r), t[r].focus());
15195
+ a && (a.checked = !0, s(r), t[r].focus());
15022
15196
  }
15023
15197
  }
15024
15198
  }), i.addEventListener("change", function(e) {
15025
15199
  var t = e.target;
15026
15200
  if (!(!t || !t.classList || !t.classList.contains("tokui-tabs-input"))) {
15027
15201
  var n = parseInt(t.getAttribute("data-index"), 10);
15028
- c(n);
15202
+ s(n);
15029
15203
  var r = i.querySelector(".tokui-tabs-label[data-index=\"" + n + "\"]");
15030
15204
  o("change", {
15031
15205
  index: n,
@@ -15035,16 +15209,16 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15035
15209
  }), i._update = function(e) {
15036
15210
  if (e.v !== void 0) {
15037
15211
  var t = i.querySelector("input[data-index=\"" + e.v + "\"]");
15038
- t && (t.checked = !0, c(e.v));
15212
+ t && (t.checked = !0, s(e.v));
15039
15213
  }
15040
15214
  }, i._streamCloseHook = function() {
15041
15215
  if (i._tokuiStreamActive) {
15042
15216
  var e = i.querySelector("input[data-index=\"0\"]");
15043
- e && (e.checked = !0, c(0));
15217
+ e && (e.checked = !0, s(0));
15044
15218
  }
15045
15219
  }, i;
15046
15220
  });
15047
- function s(e, n, r, i, a) {
15221
+ function v(e, n, r, i, a) {
15048
15222
  var o = {
15049
15223
  type: "radio",
15050
15224
  name: i,
@@ -15535,7 +15709,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15535
15709
  }
15536
15710
  return r.appendChild(a), r;
15537
15711
  });
15538
- function c(e) {
15712
+ function y(e) {
15539
15713
  for (var t = e.querySelectorAll(".tokui-desc__item--last-row"), n = 0; n < t.length; n++) t[n].classList.remove("tokui-desc__item--last-row");
15540
15714
  var r = e.querySelectorAll(".tokui-desc__item");
15541
15715
  if (r.length) {
@@ -15554,14 +15728,14 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15554
15728
  if (!o) for (var u = (Math.ceil(r.length / a) - 1) * a; u < r.length; u++) r[u].classList.add("tokui-desc__item--last-row");
15555
15729
  }
15556
15730
  }
15557
- function u(e) {
15558
- if (c(e), typeof MutationObserver > "u") return;
15731
+ function b(e) {
15732
+ if (y(e), typeof MutationObserver > "u") return;
15559
15733
  var t = !1;
15560
15734
  function n() {
15561
15735
  t || (t = !0, (typeof requestAnimationFrame == "function" ? requestAnimationFrame : function(e) {
15562
15736
  e();
15563
15737
  })(function() {
15564
- t = !1, e.isConnected && c(e);
15738
+ t = !1, e.isConnected && y(e);
15565
15739
  }));
15566
15740
  }
15567
15741
  var r = new MutationObserver(function() {
@@ -15572,22 +15746,22 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15572
15746
  n();
15573
15747
  });
15574
15748
  r.observe(e, { childList: !0 }), typeof requestAnimationFrame == "function" && requestAnimationFrame(function() {
15575
- e.isConnected && c(e);
15749
+ e.isConnected && y(e);
15576
15750
  });
15577
15751
  }
15578
15752
  e.register("desc", (e, n) => {
15579
15753
  var r = e.attrs || {}, i = parseInt(r.cols) || 3, a = ["tokui-desc"];
15580
15754
  r.stripe !== void 0 && a.push("tokui-desc--stripe"), r.bordered !== void 0 && a.push("tokui-desc--bordered"), (r.v === "horizontal" || r.v === "h") && a.push("tokui-desc--horizontal");
15581
- var s = t("div", { class: a.join(" ") });
15582
- s.style.setProperty("--tokui-desc-cols", String(i)), r.lw && s.style.setProperty("--tokui-desc-label-w", r.lw);
15583
- var c = (e.children || []).filter(function(e) {
15755
+ var o = t("div", { class: a.join(" ") });
15756
+ o.style.setProperty("--tokui-desc-cols", String(i)), r.lw && o.style.setProperty("--tokui-desc-label-w", r.lw);
15757
+ var s = (e.children || []).filter(function(e) {
15584
15758
  return e.type === "desc-item" || e.type === "item";
15585
15759
  });
15586
- return c.length > 0 && c.forEach(function(e) {
15587
- s.appendChild(o(e, i));
15588
- }), u(s), s._slot = s, s._tokuiType = "desc", s;
15589
- }), e.register("desc-item", (e) => o(e));
15590
- function d(e, n) {
15760
+ return s.length > 0 && s.forEach(function(e) {
15761
+ o.appendChild(_(e, i));
15762
+ }), b(o), o._slot = o, o._tokuiType = "desc", o;
15763
+ }), e.register("desc-item", (e) => _(e));
15764
+ function x(e, n) {
15591
15765
  var r = e.attrs || {}, i = t("div", {
15592
15766
  class: "tokui-carousel__slide",
15593
15767
  "data-tokui-tag": e.type
@@ -15610,11 +15784,11 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15610
15784
  e.register("carousel", (r, i) => {
15611
15785
  var a = r.attrs || {}, o = a.thumb !== void 0, s = { class: "tokui-carousel" + (o ? " tokui-carousel--thumb" : "") };
15612
15786
  a.id && (s.id = a.id), s["data-carousel"] = a.id || "carousel-" + Math.random().toString(36).slice(2, 8);
15613
- var c = t("div", s), l = e.createReporter("carousel", a, c), u = t("div", { class: "tokui-carousel__viewport" }), f = t("div", { class: "tokui-carousel__track" });
15614
- function p(e) {
15787
+ var c = t("div", s), l = e.createReporter("carousel", a, c), u = t("div", { class: "tokui-carousel__viewport" }), d = t("div", { class: "tokui-carousel__track" });
15788
+ function f(e) {
15615
15789
  return e = String(e).trim(), /^\d+(\.\d+)?$/.test(e) ? e + "px" : e;
15616
15790
  }
15617
- function m(e) {
15791
+ function p(e) {
15618
15792
  var t = String(e).split(":");
15619
15793
  if (t.length === 2) {
15620
15794
  var n = parseFloat(t[0]), r = parseFloat(t[1]);
@@ -15623,45 +15797,45 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15623
15797
  var i = parseFloat(e);
15624
15798
  return i > 0 ? i : 0;
15625
15799
  }
15626
- if (a.w && (c.style.width = p(a.w)), a.h) u.style.height = p(a.h), c.classList.add("tokui-carousel--sized");
15800
+ if (a.w && (c.style.width = f(a.w)), a.h) u.style.height = f(a.h), c.classList.add("tokui-carousel--sized");
15627
15801
  else if (a.ratio) {
15628
- var h = m(a.ratio);
15629
- h && (u.style.aspectRatio = String(h), c.classList.add("tokui-carousel--sized"));
15802
+ var m = p(a.ratio);
15803
+ m && (u.style.aspectRatio = String(m), c.classList.add("tokui-carousel--sized"));
15630
15804
  }
15631
- var g = (r.children || []).filter(function(e) {
15805
+ var h = (r.children || []).filter(function(e) {
15632
15806
  return e.type === "carousel-item" || e.type === "item" || e.type === "img";
15633
15807
  });
15634
- g.forEach(function(e) {
15635
- if (e.type === "carousel-item" || e.type === "item") f.appendChild(d(e, i));
15808
+ h.forEach(function(e) {
15809
+ if (e.type === "carousel-item" || e.type === "item") d.appendChild(x(e, i));
15636
15810
  else if (e.type === "img") {
15637
15811
  var n = t("div", { class: "tokui-carousel__slide" });
15638
15812
  i([e]).forEach(function(e) {
15639
15813
  e && e.nodeType && n.appendChild(e);
15640
- }), f.appendChild(n);
15814
+ }), d.appendChild(n);
15641
15815
  }
15642
- }), u.appendChild(f);
15643
- var _ = t("button", {
15816
+ }), u.appendChild(d);
15817
+ var g = t("button", {
15644
15818
  class: "tokui-carousel__arrow tokui-carousel__arrow--prev",
15645
15819
  "aria-label": n("layout.carouselPrev"),
15646
15820
  "data-dir": "prev"
15647
15821
  });
15648
- _.innerHTML = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"/></svg>", u.appendChild(_);
15649
- var v = t("button", {
15822
+ g.innerHTML = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"/></svg>", u.appendChild(g);
15823
+ var _ = t("button", {
15650
15824
  class: "tokui-carousel__arrow tokui-carousel__arrow--next",
15651
15825
  "aria-label": n("layout.carouselNext"),
15652
15826
  "data-dir": "next"
15653
15827
  });
15654
- v.innerHTML = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 6 15 12 9 18\"/></svg>", u.appendChild(v), c.appendChild(u);
15655
- var y = null, b = null, x = !1;
15828
+ _.innerHTML = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 6 15 12 9 18\"/></svg>", u.appendChild(_), c.appendChild(u);
15829
+ var v = null, y = null, b = !1;
15656
15830
  function S() {
15657
- return Array.prototype.filter.call(f.children, function(e) {
15831
+ return Array.prototype.filter.call(d.children, function(e) {
15658
15832
  return e && e.nodeType === 1 && /\btokui-carousel__slide\b/.test(e.className || "");
15659
15833
  });
15660
15834
  }
15661
15835
  function C() {
15662
- if (!x) {
15836
+ if (!b) {
15663
15837
  var e = S();
15664
- e.length && (x = !0, o ? (b = t("div", { class: "tokui-carousel__thumbs" }), e.forEach(function(e, r) {
15838
+ e.length && (b = !0, o ? (y = t("div", { class: "tokui-carousel__thumbs" }), e.forEach(function(e, r) {
15665
15839
  var i = e.querySelector("img"), a = i ? i.getAttribute("src") : "", o = e.querySelector(".tokui-carousel__slide-title"), s = o ? (o.textContent || "").trim() : "", c = t("button", {
15666
15840
  class: "tokui-carousel__thumb" + (r === 0 ? " tokui-carousel__thumb--active" : ""),
15667
15841
  "aria-label": n("layout.carouselIndex", { n: r + 1 }),
@@ -15674,21 +15848,21 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15674
15848
  });
15675
15849
  l.style.width = "100%", l.style.height = "100%", l.style.objectFit = "cover", c.appendChild(l);
15676
15850
  } else c.textContent = String(r + 1);
15677
- b.appendChild(c);
15678
- }), c.appendChild(b)) : (y = t("div", { class: "tokui-carousel__dots" }), e.forEach(function(e, r) {
15851
+ y.appendChild(c);
15852
+ }), c.appendChild(y)) : (v = t("div", { class: "tokui-carousel__dots" }), e.forEach(function(e, r) {
15679
15853
  var i = t("button", {
15680
15854
  class: "tokui-carousel__dot" + (r === 0 ? " tokui-carousel__dot--active" : ""),
15681
15855
  "aria-label": n("layout.carouselIndex", { n: r + 1 }),
15682
15856
  "data-index": String(r)
15683
15857
  });
15684
- y.appendChild(i);
15685
- }), u.appendChild(y)));
15858
+ v.appendChild(i);
15859
+ }), u.appendChild(v)));
15686
15860
  }
15687
15861
  }
15688
- c._slot = f, c._tokuiType = "carousel";
15862
+ c._slot = d, c._tokuiType = "carousel";
15689
15863
  function w() {
15690
15864
  C();
15691
- var e = 0, t = S(), r = y ? y.querySelectorAll(".tokui-carousel__dot") : [], i = b ? b.querySelectorAll(".tokui-carousel__thumb") : [], o = null;
15865
+ var e = 0, t = S(), r = v ? v.querySelectorAll(".tokui-carousel__dot") : [], i = y ? y.querySelectorAll(".tokui-carousel__thumb") : [], o = null;
15692
15866
  function s() {
15693
15867
  r.forEach && r.forEach(function(t, n) {
15694
15868
  n === e ? (t.classList.add("tokui-carousel__dot--active"), t.setAttribute("aria-current", "true")) : (t.classList.remove("tokui-carousel__dot--active"), t.removeAttribute("aria-current"));
@@ -15701,20 +15875,20 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15701
15875
  });
15702
15876
  }
15703
15877
  function u(n, r) {
15704
- n < 0 && (n = t.length - 1), n >= t.length && (n = 0), e = n, f.style.transform = "translateX(-" + e * 100 + "%)", s(), r && l("change", { index: e });
15878
+ n < 0 && (n = t.length - 1), n >= t.length && (n = 0), e = n, d.style.transform = "translateX(-" + e * 100 + "%)", s(), r && l("change", { index: e });
15705
15879
  }
15706
- _.addEventListener("click", function() {
15880
+ g.addEventListener("click", function() {
15707
15881
  u(e - 1, !0), p();
15708
- }), v.addEventListener("click", function() {
15882
+ }), _.addEventListener("click", function() {
15709
15883
  u(e + 1, !0), p();
15710
- }), y && y.addEventListener("click", function(e) {
15884
+ }), v && v.addEventListener("click", function(e) {
15711
15885
  var t = e.target.closest(".tokui-carousel__dot");
15712
15886
  t && (u(parseInt(t.getAttribute("data-index")), !0), p());
15713
- }), b && b.addEventListener("click", function(e) {
15887
+ }), y && y.addEventListener("click", function(e) {
15714
15888
  var t = e.target.closest(".tokui-carousel__thumb");
15715
15889
  t && (u(parseInt(t.getAttribute("data-index")), !0), p());
15716
15890
  });
15717
- function d() {
15891
+ function f() {
15718
15892
  if (!o) {
15719
15893
  var t = parseInt(a.auto);
15720
15894
  t && t > 0 && (o = setInterval(function() {
@@ -15723,30 +15897,30 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15723
15897
  }
15724
15898
  }
15725
15899
  function p() {
15726
- o && clearInterval(o), d();
15900
+ o && clearInterval(o), f();
15727
15901
  }
15728
15902
  function m() {
15729
15903
  o &&= (clearInterval(o), null);
15730
15904
  }
15731
- d(), c.addEventListener("mouseenter", m), c.addEventListener("mouseleave", d), c.addEventListener("focusin", m), c.addEventListener("focusout", d), c.setAttribute("tabindex", "0"), c.setAttribute("role", "region"), c.setAttribute("aria-roledescription", "carousel"), c.setAttribute("aria-label", n("carousel.aria")), c.addEventListener("keydown", function(t) {
15905
+ f(), c.addEventListener("mouseenter", m), c.addEventListener("mouseleave", f), c.addEventListener("focusin", m), c.addEventListener("focusout", f), c.setAttribute("tabindex", "0"), c.setAttribute("role", "region"), c.setAttribute("aria-roledescription", "carousel"), c.setAttribute("aria-label", n("carousel.aria")), c.addEventListener("keydown", function(t) {
15732
15906
  t.key === "ArrowLeft" ? (u(e - 1, !0), p()) : t.key === "ArrowRight" && (u(e + 1, !0), p());
15733
15907
  });
15734
- var h = 0, g = 0, x = 0, w = !1, T = 0, E = null, D = typeof window < "u" && window.requestAnimationFrame ? function(e) {
15908
+ var h = 0, b = 0, x = 0, w = !1, T = 0, E = null, D = typeof window < "u" && window.requestAnimationFrame ? function(e) {
15735
15909
  window.requestAnimationFrame(e);
15736
15910
  } : function(e) {
15737
15911
  e();
15738
15912
  };
15739
15913
  function O(t) {
15740
- g = t - h;
15741
- var n = -(e * x) + g;
15742
- f.style.transform = "translateX(" + n + "px)";
15914
+ b = t - h;
15915
+ var n = -(e * x) + b;
15916
+ d.style.transform = "translateX(" + n + "px)";
15743
15917
  }
15744
15918
  function k(e) {
15745
- w = !0, h = e, g = 0, E = null, x = c.offsetWidth, f.style.transition = "none", p();
15919
+ w = !0, h = e, b = 0, E = null, x = c.offsetWidth, d.style.transition = "none", p();
15746
15920
  }
15747
- f.addEventListener("mousedown", function(e) {
15921
+ d.addEventListener("mousedown", function(e) {
15748
15922
  k(e.clientX);
15749
- }), f.addEventListener("touchstart", function(e) {
15923
+ }), d.addEventListener("touchstart", function(e) {
15750
15924
  k(e.touches[0].clientX);
15751
15925
  }, { passive: !0 });
15752
15926
  function A(e) {
@@ -15761,17 +15935,17 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15761
15935
  }, { passive: !0 }));
15762
15936
  function j() {
15763
15937
  if (w) {
15764
- w = !1, E !== null && (O(E), E = null), f.style.transition = "";
15938
+ w = !1, E !== null && (O(E), E = null), d.style.transition = "";
15765
15939
  var t = x * .2;
15766
- g < -t ? u(e + 1, !0) : g > t ? u(e - 1, !0) : u(e);
15940
+ b < -t ? u(e + 1, !0) : b > t ? u(e - 1, !0) : u(e);
15767
15941
  }
15768
15942
  }
15769
15943
  typeof document < "u" && document.addEventListener && (document.addEventListener("mouseup", j), document.addEventListener("touchend", j));
15770
15944
  }
15771
- return g.length > 0 && w(), c._streamCloseHook = function() {
15945
+ return h.length > 0 && w(), c._streamCloseHook = function() {
15772
15946
  w();
15773
15947
  }, c;
15774
- }), e.register("carousel-item", (e, t) => d(e, t)), e.register("tn", (e, n) => {
15948
+ }), e.register("carousel-item", (e, t) => x(e, t)), e.register("tn", (e, n) => {
15775
15949
  var r = e.attrs.leaf !== void 0, i = e.attrs.open !== void 0, a = e.attrs.dis !== void 0, o = e.attrs.load && !(e.children && e.children.length) ? String(e.attrs.load) : null, s = t("div", {
15776
15950
  class: "tokui-tree-node" + (r ? " tokui-tree-node--leaf" : "") + (i ? " tokui-tree-node--open" : "") + (a ? " tokui-tree-node--disabled" : ""),
15777
15951
  role: "treeitem",
@@ -15959,12 +16133,12 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15959
16133
  return (n.children || []).filter(function(e) {
15960
16134
  return e.type === "menu-item";
15961
16135
  }).forEach(function(e) {
15962
- var t = m(e, s);
16136
+ var t = w(e, s);
15963
16137
  o.appendChild(t);
15964
16138
  }), o._slot = o, o._tokuiType = "menu", o._activeClk = s, o._report = e.createReporter("menu", i, o), o._update = function(e) {
15965
16139
  if (!(e.act !== "activate" || e.v === void 0)) {
15966
- for (var t = o.querySelectorAll(".tokui-menu__item"), n = 0; n < t.length; n++) if (f(t[n]) === String(e.v)) {
15967
- p(t[n], !0);
16140
+ for (var t = o.querySelectorAll(".tokui-menu__item"), n = 0; n < t.length; n++) if (S(t[n]) === String(e.v)) {
16141
+ C(t[n], !0);
15968
16142
  break;
15969
16143
  }
15970
16144
  }
@@ -15976,18 +16150,18 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
15976
16150
  }
15977
16151
  }), o;
15978
16152
  });
15979
- function f(e) {
16153
+ function S(e) {
15980
16154
  if (e._menuValue !== void 0) return e._menuValue;
15981
16155
  var t = e.querySelector(".tokui-menu__text");
15982
16156
  return t ? t.textContent : e.textContent;
15983
16157
  }
15984
- function p(e, t) {
16158
+ function C(e, t) {
15985
16159
  var n = e.closest(".tokui-menu");
15986
16160
  n && n.querySelectorAll(".tokui-menu__item--active").forEach(function(e) {
15987
16161
  e.classList.remove("tokui-menu__item--active"), e.removeAttribute("aria-current");
15988
- }), e.classList.add("tokui-menu__item--active"), e.setAttribute("aria-current", "true"), !t && n && n._report && n._report("change", { value: f(e) });
16162
+ }), e.classList.add("tokui-menu__item--active"), e.setAttribute("aria-current", "true"), !t && n && n._report && n._report("change", { value: S(e) });
15989
16163
  }
15990
- function m(e, n) {
16164
+ function w(e, n) {
15991
16165
  var r = e.attrs || {}, i = ["tokui-menu__item"], a = r.dis !== void 0;
15992
16166
  a && i.push("tokui-menu__item--disabled"), n && r.clk === n && i.push("tokui-menu__item--active");
15993
16167
  var o = {
@@ -16003,7 +16177,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
16003
16177
  }
16004
16178
  var l = t("span", { class: "tokui-menu__text" }, r.tx || e.content || "");
16005
16179
  return s.appendChild(l), s._menuValue = r.id || r.v || r.tx || e.content || "", r.dis === void 0 && (r.clk && s.setAttribute("data-tokui-clk", r.clk), s.addEventListener("click", function() {
16006
- p(s);
16180
+ C(s);
16007
16181
  })), s;
16008
16182
  }
16009
16183
  e.register("menu-item", (e) => {
@@ -16017,15 +16191,15 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
16017
16191
  i && (a["aria-disabled"] = "true"), n.act !== void 0 && (a["aria-current"] = "true");
16018
16192
  var o = t("div", a);
16019
16193
  return o._tokuiKeySelf = !0, n.i && o.appendChild(t("span", { class: "tokui-menu__icon" }, n.i)), o.appendChild(t("span", { class: "tokui-menu__text" }, n.tx || e.content || "")), o._menuValue = n.id || n.v || n.tx || e.content || "", n.dis === void 0 && (n.clk && o.setAttribute("data-tokui-clk", n.clk), o.addEventListener("click", function() {
16020
- p(o);
16194
+ C(o);
16021
16195
  })), o;
16022
16196
  }), e.register("anchor", (r, i) => {
16023
16197
  var a = r.attrs || {}, o = t("nav", {
16024
16198
  class: "tokui-anchor",
16025
16199
  "aria-label": n("anchor.aria")
16026
16200
  });
16027
- a.id && (o.id = a.id), o._anchorOffset = parseInt(a.top) || 12, o._report = e.createReporter("anchor", a, o), v(a.opt).forEach(function(e) {
16028
- o.appendChild(_(o, e.v, e.tx, 0));
16201
+ a.id && (o.id = a.id), o._anchorOffset = parseInt(a.top) || 12, o._report = e.createReporter("anchor", a, o), E(a.opt).forEach(function(e) {
16202
+ o.appendChild(T(o, e.v, e.tx, 0));
16029
16203
  }), i(r.children || []).forEach(function(e) {
16030
16204
  e && e.nodeType && o.appendChild(e);
16031
16205
  }), o._slot = o, o._tokuiType = "anchor";
@@ -16038,7 +16212,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
16038
16212
  if (s(), o._streamCloseHook = s, o._update = function(e) {
16039
16213
  if (e.v !== void 0) {
16040
16214
  for (var t = String(e.v).replace(/^#/, ""), n = o.querySelectorAll(".tokui-anchor__item"), r = 0; r < n.length; r++) if (n[r]._anchorValue === t) {
16041
- y(o, n[r], !0), o._spySuppressUntil = Date.now() + 900;
16215
+ D(o, n[r], !0), o._spySuppressUntil = Date.now() + 900;
16042
16216
  break;
16043
16217
  }
16044
16218
  }
@@ -16069,7 +16243,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
16069
16243
  var l = document.getElementById(i[0]._anchorValue);
16070
16244
  l && typeof l.getBoundingClientRect == "function" && (a = i[0]);
16071
16245
  }
16072
- a && y(o, a, !0);
16246
+ a && D(o, a, !0);
16073
16247
  }
16074
16248
  }, r = !1, i = function() {
16075
16249
  r || (r = !0, c(function() {
@@ -16095,13 +16269,13 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
16095
16269
  a._anchorValue = r;
16096
16270
  function o() {
16097
16271
  var e = a.closest(".tokui-anchor");
16098
- e && (y(e, a, !1), e._spySuppressUntil = Date.now() + 900, b(r));
16272
+ e && (D(e, a, !1), e._spySuppressUntil = Date.now() + 900, O(r));
16099
16273
  }
16100
16274
  return a.addEventListener("click", o), a.addEventListener("keydown", function(e) {
16101
16275
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), o());
16102
16276
  }), a;
16103
16277
  });
16104
- function _(e, n, r, i) {
16278
+ function T(e, n, r, i) {
16105
16279
  i = Math.min(i || 0, 3);
16106
16280
  var a = t("div", {
16107
16281
  class: "tokui-anchor__item" + (i > 0 ? " tokui-anchor__item--depth-" + i : ""),
@@ -16111,13 +16285,13 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
16111
16285
  }, r);
16112
16286
  a._anchorValue = n;
16113
16287
  function o() {
16114
- y(e, a, !1), e._spySuppressUntil = Date.now() + 900, b(n);
16288
+ D(e, a, !1), e._spySuppressUntil = Date.now() + 900, O(n);
16115
16289
  }
16116
16290
  return a.addEventListener("click", o), a.addEventListener("keydown", function(e) {
16117
16291
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), o());
16118
16292
  }), a;
16119
16293
  }
16120
- function v(e) {
16294
+ function E(e) {
16121
16295
  return !e || typeof e != "string" ? [] : e.split(";").map(function(e) {
16122
16296
  return e.trim();
16123
16297
  }).filter(Boolean).map(function(e) {
@@ -16131,12 +16305,12 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
16131
16305
  };
16132
16306
  });
16133
16307
  }
16134
- function y(e, t, n) {
16308
+ function D(e, t, n) {
16135
16309
  e.querySelectorAll(".tokui-anchor__item--active").forEach(function(e) {
16136
16310
  e.classList.remove("tokui-anchor__item--active"), e.removeAttribute("aria-current");
16137
16311
  }), t.classList.add("tokui-anchor__item--active"), t.setAttribute("aria-current", "true"), !n && e._report && e._report("change", { value: t._anchorValue });
16138
16312
  }
16139
- function b(e) {
16313
+ function O(e) {
16140
16314
  var t = document.getElementById(e);
16141
16315
  t && typeof t.scrollIntoView == "function" && t.scrollIntoView({
16142
16316
  behavior: "smooth",