@clubmed/trident-ui 2.1.0-beta.3 → 2.1.0-beta.5

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.
Files changed (160) hide show
  1. package/README.md +1 -0
  2. package/chunks/ChatMessage.js +282 -265
  3. package/chunks/ChatMessage.js.map +1 -1
  4. package/chunks/Layer.js +2022 -0
  5. package/chunks/Layer.js.map +1 -0
  6. package/chunks/useTransitionState.js +69 -0
  7. package/chunks/useTransitionState.js.map +1 -0
  8. package/examples/backdrop-demo.js +1 -1
  9. package/examples/chat-body-demo.js +4 -2
  10. package/examples/chat-body-demo.js.map +1 -1
  11. package/examples/chat-button-demo.js +2 -1
  12. package/examples/chat-button-demo.js.map +1 -1
  13. package/examples/chat-button-offset-demo.js +2 -1
  14. package/examples/chat-button-offset-demo.js.map +1 -1
  15. package/examples/chat-header-demo.js +2 -1
  16. package/examples/chat-header-demo.js.map +1 -1
  17. package/examples/chat-input-demo.js +2 -1
  18. package/examples/chat-input-demo.js.map +1 -1
  19. package/examples/chat-input-streaming-demo.d.ts +1 -0
  20. package/examples/chat-input-streaming-demo.js +30 -0
  21. package/examples/chat-input-streaming-demo.js.map +1 -0
  22. package/examples/chat-input-submit-on-enter-demo.d.ts +1 -0
  23. package/examples/chat-input-submit-on-enter-demo.js +23 -0
  24. package/examples/chat-input-submit-on-enter-demo.js.map +1 -0
  25. package/examples/chat-message-actions-demo.d.ts +1 -0
  26. package/examples/chat-message-actions-demo.js +29 -0
  27. package/examples/chat-message-actions-demo.js.map +1 -0
  28. package/examples/chat-message-demo.js +1 -0
  29. package/examples/chat-message-demo.js.map +1 -1
  30. package/examples/chat-message-editor-demo.d.ts +1 -0
  31. package/examples/chat-message-editor-demo.js +30 -0
  32. package/examples/chat-message-editor-demo.js.map +1 -0
  33. package/examples/chat-message-with-actions-demo.d.ts +1 -0
  34. package/examples/chat-message-with-actions-demo.js +26 -0
  35. package/examples/chat-message-with-actions-demo.js.map +1 -0
  36. package/examples/chat-typing-indicator-demo.js +2 -1
  37. package/examples/chat-typing-indicator-demo.js.map +1 -1
  38. package/examples/chat-window-csat-demo.js +2 -1
  39. package/examples/chat-window-csat-demo.js.map +1 -1
  40. package/examples/chat-window-csat-prompt-demo.js +2 -1
  41. package/examples/chat-window-csat-prompt-demo.js.map +1 -1
  42. package/examples/chat-window-demo.js +2 -1
  43. package/examples/chat-window-demo.js.map +1 -1
  44. package/examples/chat-window-quote-demo.js +2 -1
  45. package/examples/chat-window-quote-demo.js.map +1 -1
  46. package/examples/chat-window-quotes-demo.js +2 -1
  47. package/examples/chat-window-quotes-demo.js.map +1 -1
  48. package/examples/layer-buttons-demo.d.ts +1 -0
  49. package/examples/layer-buttons-demo.js +43 -0
  50. package/examples/layer-buttons-demo.js.map +1 -0
  51. package/examples/layer-demo.d.ts +1 -0
  52. package/examples/layer-demo.js +30 -0
  53. package/examples/layer-demo.js.map +1 -0
  54. package/examples/layer-header-demo.d.ts +1 -0
  55. package/examples/layer-header-demo.js +27 -0
  56. package/examples/layer-header-demo.js.map +1 -0
  57. package/examples/layer-nested-demo.d.ts +1 -0
  58. package/examples/layer-nested-demo.js +51 -0
  59. package/examples/layer-nested-demo.js.map +1 -0
  60. package/examples/layer-pinned-demo.d.ts +1 -0
  61. package/examples/layer-pinned-demo.js +36 -0
  62. package/examples/layer-pinned-demo.js.map +1 -0
  63. package/examples/layer-scale-demo.d.ts +1 -0
  64. package/examples/layer-scale-demo.js +34 -0
  65. package/examples/layer-scale-demo.js.map +1 -0
  66. package/examples/layer-use-layer-demo.d.ts +1 -0
  67. package/examples/layer-use-layer-demo.js +33 -0
  68. package/examples/layer-use-layer-demo.js.map +1 -0
  69. package/package.json +2 -1
  70. package/ui/Backdrop.d.ts +5 -0
  71. package/ui/Backdrop.js +54 -2
  72. package/ui/Backdrop.js.map +1 -0
  73. package/ui/ChatBody.d.ts +1 -25
  74. package/ui/ChatBody.js +2 -88
  75. package/ui/ChatButton.d.ts +1 -6
  76. package/ui/ChatButton.js +2 -33
  77. package/ui/ChatHeader.d.ts +1 -6
  78. package/ui/ChatHeader.js +2 -43
  79. package/ui/ChatInput.d.ts +1 -10
  80. package/ui/ChatInput.js +2 -148
  81. package/ui/ChatMessage.d.ts +1 -6
  82. package/ui/ChatMessage.js +1 -0
  83. package/ui/ChatTypingIndicator.d.ts +1 -2
  84. package/ui/ChatTypingIndicator.js +2 -30
  85. package/ui/ChatWindow.d.ts +1 -34
  86. package/ui/ChatWindow.js +2 -57
  87. package/ui/ChatWindowCsatPrompt.d.ts +1 -15
  88. package/ui/ChatWindowCsatPrompt.js +2 -70
  89. package/ui/ChatWindowCsatThankYou.d.ts +1 -9
  90. package/ui/ChatWindowCsatThankYou.js +2 -28
  91. package/ui/ChatWindowQuote.d.ts +1 -22
  92. package/ui/ChatWindowQuote.js +2 -140
  93. package/ui/Layer.d.ts +72 -0
  94. package/ui/Layer.js +2 -0
  95. package/ui/LayerHeader.d.ts +33 -0
  96. package/ui/LayerHeader.js +45 -0
  97. package/ui/LayerHeader.js.map +1 -0
  98. package/ui/Loader.js +2 -1
  99. package/ui/Loader.js.map +1 -1
  100. package/ui/Popin.d.ts +6 -0
  101. package/ui/Popin.js +11 -10
  102. package/ui/Popin.js.map +1 -1
  103. package/ui/chat/ChatBody.d.ts +31 -0
  104. package/ui/chat/ChatBody.js +92 -0
  105. package/ui/chat/ChatBody.js.map +1 -0
  106. package/ui/chat/ChatButton.d.ts +6 -0
  107. package/ui/chat/ChatButton.js +33 -0
  108. package/ui/chat/ChatButton.js.map +1 -0
  109. package/ui/chat/ChatHeader.d.ts +6 -0
  110. package/ui/chat/ChatHeader.js +43 -0
  111. package/ui/chat/ChatHeader.js.map +1 -0
  112. package/ui/chat/ChatInput.d.ts +28 -0
  113. package/ui/chat/ChatInput.js +165 -0
  114. package/ui/chat/ChatInput.js.map +1 -0
  115. package/ui/chat/ChatMessage.d.ts +17 -0
  116. package/ui/chat/ChatMessage.js +2 -0
  117. package/ui/chat/ChatMessageActions.d.ts +23 -0
  118. package/ui/chat/ChatMessageActions.js +69 -0
  119. package/ui/chat/ChatMessageActions.js.map +1 -0
  120. package/ui/chat/ChatMessageEditor.d.ts +9 -0
  121. package/ui/chat/ChatMessageEditor.js +57 -0
  122. package/ui/chat/ChatMessageEditor.js.map +1 -0
  123. package/ui/chat/ChatTypingIndicator.d.ts +2 -0
  124. package/ui/chat/ChatTypingIndicator.js +30 -0
  125. package/ui/chat/ChatTypingIndicator.js.map +1 -0
  126. package/ui/chat/ChatWindow.d.ts +37 -0
  127. package/ui/chat/ChatWindow.js +65 -0
  128. package/ui/chat/ChatWindow.js.map +1 -0
  129. package/ui/chat/ChatWindowCsatPrompt.d.ts +15 -0
  130. package/ui/chat/ChatWindowCsatPrompt.js +71 -0
  131. package/ui/chat/ChatWindowCsatPrompt.js.map +1 -0
  132. package/ui/chat/ChatWindowCsatThankYou.d.ts +9 -0
  133. package/ui/chat/ChatWindowCsatThankYou.js +29 -0
  134. package/ui/chat/ChatWindowCsatThankYou.js.map +1 -0
  135. package/ui/chat/ChatWindowQuote.d.ts +22 -0
  136. package/ui/chat/ChatWindowQuote.js +141 -0
  137. package/ui/chat/ChatWindowQuote.js.map +1 -0
  138. package/ui/hooks/useIsomorphicLayoutEffect.d.ts +6 -0
  139. package/ui/hooks/useIsomorphicLayoutEffect.js +7 -0
  140. package/ui/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  141. package/ui/hooks/useLayer.d.ts +13 -0
  142. package/ui/hooks/useLayer.js +31 -0
  143. package/ui/hooks/useLayer.js.map +1 -0
  144. package/ui/hooks/useTransitionState.d.ts +7 -0
  145. package/ui/hooks/useTransitionState.js +15 -0
  146. package/ui/hooks/useTransitionState.js.map +1 -0
  147. package/ui/hooks/useVisualViewportBox.d.ts +7 -0
  148. package/ui/hooks/useVisualViewportBox.js +22 -0
  149. package/ui/hooks/useVisualViewportBox.js.map +1 -0
  150. package/chunks/Backdrop.js +0 -105
  151. package/chunks/Backdrop.js.map +0 -1
  152. package/ui/ChatBody.js.map +0 -1
  153. package/ui/ChatButton.js.map +0 -1
  154. package/ui/ChatHeader.js.map +0 -1
  155. package/ui/ChatInput.js.map +0 -1
  156. package/ui/ChatTypingIndicator.js.map +0 -1
  157. package/ui/ChatWindow.js.map +0 -1
  158. package/ui/ChatWindowCsatPrompt.js.map +0 -1
  159. package/ui/ChatWindowCsatThankYou.js.map +0 -1
  160. package/ui/ChatWindowQuote.js.map +0 -1
@@ -1,9 +1,11 @@
1
1
  "use client";
2
2
  import { twMerge as e } from "../ui/helpers/twMerge.js";
3
- import { memo as t, useEffect as n, useRef as r, useState as i } from "react";
4
- import { jsx as a } from "react/jsx-runtime";
3
+ import { ChatMessageActions as t } from "../ui/chat/ChatMessageActions.js";
4
+ import { ChatMessageEditor as n } from "../ui/chat/ChatMessageEditor.js";
5
+ import { memo as r, useEffect as i, useRef as a, useState as o } from "react";
6
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
7
  //#region ../../node_modules/.pnpm/@chenglou+pretext@0.0.7/node_modules/@chenglou/pretext/dist/generated/bidi-data.js
6
- var o = /* @__PURE__ */ "BN.BN.BN.BN.BN.BN.BN.BN.BN.S.B.S.WS.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.B.B.B.S.WS.ON.ON.ET.ET.ET.ON.ON.ON.ON.ON.ES.CS.ES.CS.CS.EN.EN.EN.EN.EN.EN.EN.EN.EN.EN.CS.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.BN.BN.BN.BN.BN.BN.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.CS.ON.ET.ET.ET.ET.ON.ON.ON.ON.L.ON.ON.BN.ON.ON.ET.ET.EN.EN.ON.L.ON.ON.ON.EN.L.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L".split("."), s = [
8
+ var l = /* @__PURE__ */ "BN.BN.BN.BN.BN.BN.BN.BN.BN.S.B.S.WS.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.B.B.B.S.WS.ON.ON.ET.ET.ET.ON.ON.ON.ON.ON.ES.CS.ES.CS.CS.EN.EN.EN.EN.EN.EN.EN.EN.EN.EN.CS.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.BN.BN.BN.BN.BN.BN.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.CS.ON.ET.ET.ET.ET.ON.ON.ON.ON.L.ON.ON.BN.ON.ON.ET.ET.EN.EN.ON.L.ON.ON.ON.EN.L.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L".split("."), u = [
7
9
  [
8
10
  697,
9
11
  698,
@@ -3577,11 +3579,11 @@ var o = /* @__PURE__ */ "BN.BN.BN.BN.BN.BN.BN.BN.BN.S.B.S.WS.B.BN.BN.BN.BN.BN.BN
3577
3579
  ];
3578
3580
  //#endregion
3579
3581
  //#region ../../node_modules/.pnpm/@chenglou+pretext@0.0.7/node_modules/@chenglou/pretext/dist/bidi.js
3580
- function c(e) {
3581
- if (e <= 255) return o[e];
3582
- let t = 0, n = s.length - 1;
3582
+ function d(e) {
3583
+ if (e <= 255) return l[e];
3584
+ let t = 0, n = u.length - 1;
3583
3585
  for (; t <= n;) {
3584
- let r = t + n >> 1, i = s[r];
3586
+ let r = t + n >> 1, i = u[r];
3585
3587
  if (e < i[0]) {
3586
3588
  n = r - 1;
3587
3589
  continue;
@@ -3594,7 +3596,7 @@ function c(e) {
3594
3596
  }
3595
3597
  return "L";
3596
3598
  }
3597
- function l(e) {
3599
+ function f(e) {
3598
3600
  let t = e.length;
3599
3601
  if (t === 0) return null;
3600
3602
  let n = Array(t), r = !1;
@@ -3604,9 +3606,9 @@ function l(e) {
3604
3606
  let t = e.charCodeAt(i + 1);
3605
3607
  t >= 56320 && t <= 57343 && (o = (a - 55296 << 10) + (t - 56320) + 65536, s = 2);
3606
3608
  }
3607
- let l = c(o);
3608
- (l === "R" || l === "AL" || l === "AN") && (r = !0);
3609
- for (let e = 0; e < s; e++) n[i + e] = l;
3609
+ let c = d(o);
3610
+ (c === "R" || c === "AL" || c === "AN") && (r = !0);
3611
+ for (let e = 0; e < s; e++) n[i + e] = c;
3610
3612
  i += s;
3611
3613
  }
3612
3614
  if (!r) return null;
@@ -3624,12 +3626,12 @@ function l(e) {
3624
3626
  }
3625
3627
  let a = new Int8Array(t);
3626
3628
  for (let e = 0; e < t; e++) a[e] = i;
3627
- let o = i & 1 ? "R" : "L", s = o, l = s;
3628
- for (let e = 0; e < t; e++) n[e] === "NSM" ? n[e] = l : l = n[e];
3629
- l = s;
3629
+ let o = i & 1 ? "R" : "L", s = o, c = s;
3630
+ for (let e = 0; e < t; e++) n[e] === "NSM" ? n[e] = c : c = n[e];
3631
+ c = s;
3630
3632
  for (let e = 0; e < t; e++) {
3631
3633
  let t = n[e];
3632
- t === "EN" ? n[e] = l === "AL" ? "AN" : "EN" : (t === "R" || t === "L" || t === "AL") && (l = t);
3634
+ t === "EN" ? n[e] = c === "AL" ? "AN" : "EN" : (t === "R" || t === "L" || t === "AL") && (c = t);
3633
3635
  }
3634
3636
  for (let e = 0; e < t; e++) n[e] === "AL" && (n[e] = "R");
3635
3637
  for (let e = 1; e < t - 1; e++) n[e] === "ES" && n[e - 1] === "EN" && n[e + 1] === "EN" && (n[e] = "EN"), n[e] === "CS" && (n[e - 1] === "EN" || n[e - 1] === "AN") && n[e + 1] === n[e - 1] && (n[e] = n[e - 1]);
@@ -3643,10 +3645,10 @@ function l(e) {
3643
3645
  let t = n[e];
3644
3646
  (t === "WS" || t === "ES" || t === "ET" || t === "CS") && (n[e] = "ON");
3645
3647
  }
3646
- l = s;
3648
+ c = s;
3647
3649
  for (let e = 0; e < t; e++) {
3648
3650
  let t = n[e];
3649
- t === "EN" ? n[e] = l === "L" ? "L" : "EN" : (t === "R" || t === "L") && (l = t);
3651
+ t === "EN" ? n[e] = c === "L" ? "L" : "EN" : (t === "R" || t === "L") && (c = t);
3650
3652
  }
3651
3653
  for (let e = 0; e < t; e++) {
3652
3654
  if (n[e] !== "ON") continue;
@@ -3663,8 +3665,8 @@ function l(e) {
3663
3665
  }
3664
3666
  return a;
3665
3667
  }
3666
- function u(e, t) {
3667
- let n = l(e);
3668
+ function p(e, t) {
3669
+ let n = f(e);
3668
3670
  if (n === null) return null;
3669
3671
  let r = new Int8Array(t.length);
3670
3672
  for (let e = 0; e < t.length; e++) r[e] = n[t[e]];
@@ -3672,8 +3674,8 @@ function u(e, t) {
3672
3674
  }
3673
3675
  //#endregion
3674
3676
  //#region ../../node_modules/.pnpm/@chenglou+pretext@0.0.7/node_modules/@chenglou/pretext/dist/analysis.js
3675
- var d = /[ \t\n\r\f]+/g, f = /[\t\n\r\f]| {2,}|^ | $/;
3676
- function p(e) {
3677
+ var m = /[ \t\n\r\f]+/g, h = /[\t\n\r\f]| {2,}|^ | $/;
3678
+ function g(e) {
3677
3679
  let t = e ?? "normal";
3678
3680
  return t === "pre-wrap" ? {
3679
3681
  mode: t,
@@ -3685,67 +3687,67 @@ function p(e) {
3685
3687
  preserveHardBreaks: !1
3686
3688
  };
3687
3689
  }
3688
- function m(e) {
3689
- if (!f.test(e)) return e;
3690
- let t = e.replace(d, " ");
3690
+ function _(e) {
3691
+ if (!h.test(e)) return e;
3692
+ let t = e.replace(m, " ");
3691
3693
  return t.charCodeAt(0) === 32 && (t = t.slice(1)), t.length > 0 && t.charCodeAt(t.length - 1) === 32 && (t = t.slice(0, -1)), t;
3692
3694
  }
3693
- function h(e) {
3695
+ function v(e) {
3694
3696
  return /[\r\f]/.test(e) ? e.replace(/\r\n/g, "\n").replace(/[\r\f]/g, "\n") : e;
3695
3697
  }
3696
- var g = null, _;
3697
- function v() {
3698
- return g === null && (g = new Intl.Segmenter(_, { granularity: "word" })), g;
3698
+ var y = null, b;
3699
+ function x() {
3700
+ return y === null && (y = new Intl.Segmenter(b, { granularity: "word" })), y;
3699
3701
  }
3700
- var y = /\p{Script=Arabic}/u, b = /\p{M}/u, x = /\p{Nd}/u;
3701
- function S(e) {
3702
- return y.test(e);
3702
+ var S = /\p{Script=Arabic}/u, C = /\p{M}/u, w = /\p{Nd}/u;
3703
+ function T(e) {
3704
+ return S.test(e);
3703
3705
  }
3704
- function C(e) {
3706
+ function E(e) {
3705
3707
  return e >= 19968 && e <= 40959 || e >= 13312 && e <= 19903 || e >= 131072 && e <= 173791 || e >= 173824 && e <= 177983 || e >= 177984 && e <= 178207 || e >= 178208 && e <= 183983 || e >= 183984 && e <= 191471 || e >= 191472 && e <= 192093 || e >= 194560 && e <= 195103 || e >= 196608 && e <= 201551 || e >= 201552 && e <= 205743 || e >= 205744 && e <= 210041 || e >= 63744 && e <= 64255 || e >= 12288 && e <= 12351 || e >= 12352 && e <= 12447 || e >= 12448 && e <= 12543 || e >= 12592 && e <= 12687 || e >= 44032 && e <= 55215 || e >= 65280 && e <= 65519;
3706
3708
  }
3707
- function w(e) {
3709
+ function D(e) {
3708
3710
  for (let t = 0; t < e.length; t++) {
3709
3711
  let n = e.charCodeAt(t);
3710
3712
  if (!(n < 12288)) {
3711
3713
  if (n >= 55296 && n <= 56319 && t + 1 < e.length) {
3712
3714
  let r = e.charCodeAt(t + 1);
3713
3715
  if (r >= 56320 && r <= 57343) {
3714
- if (C((n - 55296 << 10) + (r - 56320) + 65536)) return !0;
3716
+ if (E((n - 55296 << 10) + (r - 56320) + 65536)) return !0;
3715
3717
  t++;
3716
3718
  continue;
3717
3719
  }
3718
3720
  }
3719
- if (C(n)) return !0;
3721
+ if (E(n)) return !0;
3720
3722
  }
3721
3723
  }
3722
3724
  return !1;
3723
3725
  }
3724
- function T(e) {
3726
+ function O(e) {
3725
3727
  let t = L(e);
3726
3728
  return t !== null && (j.has(t) || P.has(t));
3727
3729
  }
3728
- var E = new Set([
3730
+ var k = new Set([
3729
3731
  "\xA0",
3730
3732
  " ",
3731
3733
  "⁠",
3732
3734
  ""
3733
- ]), D = new Set([
3735
+ ]), ee = new Set([
3734
3736
  "-",
3735
3737
  "‐",
3736
3738
  "–",
3737
3739
  "—"
3738
3740
  ]);
3739
- function O(e) {
3741
+ function te(e) {
3740
3742
  let t = L(e);
3741
- return t !== null && E.has(t);
3743
+ return t !== null && k.has(t);
3742
3744
  }
3743
- function k(e) {
3745
+ function ne(e) {
3744
3746
  let t = L(e);
3745
- return t !== null && D.has(t);
3747
+ return t !== null && ee.has(t);
3746
3748
  }
3747
3749
  function A(e, t) {
3748
- return O(e) ? !1 : t ? !(T(e) || k(e)) : !0;
3750
+ return te(e) ? !1 : t ? !(O(e) || ne(e)) : !0;
3749
3751
  }
3750
3752
  var j = new Set(/* @__PURE__ */ ",...!.:.;.?.、.。.・.).〕.〉.》.」.』.】.〗.〙.〛.ー.々.〻.ゝ.ゞ.ヽ.ヾ".split(".")), M = new Set([
3751
3753
  "\"",
@@ -3771,12 +3773,12 @@ var j = new Set(/* @__PURE__ */ ",...!.:.;.?.、.。.・.).〕.〉
3771
3773
  "〖",
3772
3774
  "〘",
3773
3775
  "〚"
3774
- ]), N = new Set(["'", "’"]), P = new Set(/* @__PURE__ */ ".(,(!(?(:(;(،(؛(؟(।(॥(၊(။(၌(၍(၏()(](}(%(\"(”(’(»(›(…".split("(")), ee = new Set([
3776
+ ]), N = new Set(["'", "’"]), P = new Set(/* @__PURE__ */ ".(,(!(?(:(;(،(؛(؟(।(॥(၊(။(၌(၍(၏()(](}(%(\"(”(’(»(›(…".split("(")), re = new Set([
3775
3777
  ":",
3776
3778
  ".",
3777
3779
  "،",
3778
3780
  "؛"
3779
- ]), te = new Set(["၏"]), ne = new Set([
3781
+ ]), ie = new Set(["၏"]), ae = new Set([
3780
3782
  "”",
3781
3783
  "’",
3782
3784
  "»",
@@ -3789,7 +3791,7 @@ var j = new Set(/* @__PURE__ */ ",...!.:.;.?.、.。.・.).〕.〉
3789
3791
  "〕",
3790
3792
  ")"
3791
3793
  ]);
3792
- function re(e) {
3794
+ function oe(e) {
3793
3795
  if (F(e)) return !0;
3794
3796
  let t = !1;
3795
3797
  for (let n of e) {
@@ -3797,22 +3799,22 @@ function re(e) {
3797
3799
  t = !0;
3798
3800
  continue;
3799
3801
  }
3800
- if (!(t && b.test(n))) return !1;
3802
+ if (!(t && C.test(n))) return !1;
3801
3803
  }
3802
3804
  return t;
3803
3805
  }
3804
- function ie(e) {
3806
+ function se(e) {
3805
3807
  for (let t of e) if (!j.has(t) && !P.has(t)) return !1;
3806
3808
  return e.length > 0;
3807
3809
  }
3808
- function ae(e) {
3810
+ function ce(e) {
3809
3811
  if (F(e)) return !0;
3810
- for (let t of e) if (!M.has(t) && !N.has(t) && !b.test(t) && !R(t)) return !1;
3812
+ for (let t of e) if (!M.has(t) && !N.has(t) && !C.test(t) && !R(t)) return !1;
3811
3813
  return e.length > 0;
3812
3814
  }
3813
3815
  function F(e) {
3814
3816
  let t = !1;
3815
- for (let n of e) if (!(n === "\\" || b.test(n))) {
3817
+ for (let n of e) if (!(n === "\\" || C.test(n))) {
3816
3818
  if (M.has(n) || P.has(n) || N.has(n)) {
3817
3819
  t = !0;
3818
3820
  continue;
@@ -3836,19 +3838,19 @@ function L(e) {
3836
3838
  let t = I(e, e.length);
3837
3839
  return e.slice(t);
3838
3840
  }
3839
- function oe(e) {
3840
- for (let t of e) if (!b.test(t)) return t;
3841
+ function le(e) {
3842
+ for (let t of e) if (!C.test(t)) return t;
3841
3843
  return null;
3842
3844
  }
3843
- function se(e) {
3845
+ function ue(e) {
3844
3846
  for (let t = e.length; t > 0;) {
3845
3847
  let n = I(e, t), r = e.slice(n, t);
3846
- if (!b.test(r)) return r;
3848
+ if (!C.test(r)) return r;
3847
3849
  t = n;
3848
3850
  }
3849
3851
  return null;
3850
3852
  }
3851
- var ce = [
3853
+ var de = [
3852
3854
  36,
3853
3855
  37,
3854
3856
  43,
@@ -3916,27 +3918,27 @@ var ce = [
3916
3918
  126128,
3917
3919
  126128
3918
3920
  ];
3919
- function le(e, t) {
3921
+ function fe(e, t) {
3920
3922
  for (let n = 0; n < t.length; n += 2) if (e >= t[n] && e <= t[n + 1]) return !0;
3921
3923
  return !1;
3922
3924
  }
3923
3925
  function R(e) {
3924
3926
  let t = e.codePointAt(0);
3925
- return t !== void 0 && le(t, ce);
3927
+ return t !== void 0 && fe(t, de);
3926
3928
  }
3927
- function ue(e) {
3928
- let t = se(e);
3929
+ function pe(e) {
3930
+ let t = ue(e);
3929
3931
  return t !== null && R(t);
3930
3932
  }
3931
- function de(e) {
3932
- let t = oe(e);
3933
- return t !== null && x.test(t);
3933
+ function me(e) {
3934
+ let t = le(e);
3935
+ return t !== null && w.test(t);
3934
3936
  }
3935
- function fe(e) {
3937
+ function he(e) {
3936
3938
  let t = Array.from(e), n = t.length;
3937
3939
  for (; n > 0;) {
3938
3940
  let e = t[n - 1];
3939
- if (b.test(e)) {
3941
+ if (C.test(e)) {
3940
3942
  n--;
3941
3943
  continue;
3942
3944
  }
@@ -3951,10 +3953,10 @@ function fe(e) {
3951
3953
  tail: t.slice(n).join("")
3952
3954
  };
3953
3955
  }
3954
- function pe(e, t, n) {
3956
+ function ge(e, t, n) {
3955
3957
  return n === "text" && !t && e.length === 1 && e !== "-" && e !== "—" ? e : null;
3956
3958
  }
3957
- function me(e, t, n, r) {
3959
+ function _e(e, t, n, r) {
3958
3960
  let i = t[r], a = e[r];
3959
3961
  if (i == null) return a;
3960
3962
  let o = n[r];
@@ -3962,14 +3964,14 @@ function me(e, t, n, r) {
3962
3964
  let s = i.repeat(o);
3963
3965
  return e[r] = s, s;
3964
3966
  }
3965
- function he(e, t) {
3966
- return e && t !== null && ee.has(t);
3967
+ function ve(e, t) {
3968
+ return e && t !== null && re.has(t);
3967
3969
  }
3968
- function ge(e) {
3970
+ function ye(e) {
3969
3971
  let t = L(e);
3970
- return t !== null && te.has(t);
3972
+ return t !== null && ie.has(t);
3971
3973
  }
3972
- function _e(e) {
3974
+ function be(e) {
3973
3975
  if (e.length < 2 || e[0] !== " ") return null;
3974
3976
  let t = e.slice(1);
3975
3977
  return /^\p{M}+$/u.test(t) ? {
@@ -3981,13 +3983,13 @@ function z(e) {
3981
3983
  let t = e.length;
3982
3984
  for (; t > 0;) {
3983
3985
  let n = I(e, t), r = e.slice(n, t);
3984
- if (ne.has(r)) return !0;
3986
+ if (ae.has(r)) return !0;
3985
3987
  if (!P.has(r)) return !1;
3986
3988
  t = n;
3987
3989
  }
3988
3990
  return !1;
3989
3991
  }
3990
- function ve(e, t) {
3992
+ function xe(e, t) {
3991
3993
  if (t.preserveOrdinarySpaces || t.preserveHardBreaks) {
3992
3994
  if (e === " ") return "preserved-space";
3993
3995
  if (e === " ") return "tab";
@@ -3995,17 +3997,17 @@ function ve(e, t) {
3995
3997
  }
3996
3998
  return e === " " ? "space" : e === "\xA0" || e === " " || e === "⁠" || e === "" ? "glue" : e === "​" ? "zero-width-break" : e === "­" ? "soft-hyphen" : "text";
3997
3999
  }
3998
- var ye = /[\x20\t\n\xA0\xAD\u200B\u202F\u2060\uFEFF]/;
4000
+ var Se = /[\x20\t\n\xA0\xAD\u200B\u202F\u2060\uFEFF]/;
3999
4001
  function B(e) {
4000
4002
  return e.length === 1 ? e[0] : e.join("");
4001
4003
  }
4002
- function be(e, t) {
4004
+ function Ce(e, t) {
4003
4005
  let n = [];
4004
4006
  for (let t = e.length - 1; t >= 0; t--) n.push(e[t]);
4005
4007
  return n.push(t), B(n);
4006
4008
  }
4007
- function xe(e, t, n, r) {
4008
- if (!ye.test(e)) return [{
4009
+ function we(e, t, n, r) {
4010
+ if (!Se.test(e)) return [{
4009
4011
  text: e,
4010
4012
  isWordLike: t,
4011
4013
  kind: "text",
@@ -4013,7 +4015,7 @@ function xe(e, t, n, r) {
4013
4015
  }];
4014
4016
  let i = [], a = null, o = [], s = n, c = !1, l = 0;
4015
4017
  for (let u of e) {
4016
- let e = ve(u, r), d = e === "text" && t;
4018
+ let e = xe(u, r), d = e === "text" && t;
4017
4019
  if (a !== null && e === a && d === c) {
4018
4020
  o.push(u), l += u.length;
4019
4021
  continue;
@@ -4035,18 +4037,18 @@ function xe(e, t, n, r) {
4035
4037
  function V(e) {
4036
4038
  return e === "space" || e === "preserved-space" || e === "zero-width-break" || e === "hard-break";
4037
4039
  }
4038
- var Se = /^[A-Za-z][A-Za-z0-9+.-]*:$/;
4039
- function Ce(e, t) {
4040
+ var Te = /^[A-Za-z][A-Za-z0-9+.-]*:$/;
4041
+ function Ee(e, t) {
4040
4042
  let n = e.texts[t];
4041
- return n.startsWith("www.") ? !0 : Se.test(n) && t + 1 < e.len && e.kinds[t + 1] === "text" && e.texts[t + 1] === "//";
4043
+ return n.startsWith("www.") ? !0 : Te.test(n) && t + 1 < e.len && e.kinds[t + 1] === "text" && e.texts[t + 1] === "//";
4042
4044
  }
4043
- function we(e) {
4045
+ function De(e) {
4044
4046
  return e.includes("?") && (e.includes("://") || e.startsWith("www."));
4045
4047
  }
4046
- function Te(e) {
4048
+ function Oe(e) {
4047
4049
  let t = e.texts.slice(), n = e.isWordLike.slice(), r = e.kinds.slice(), i = e.starts.slice();
4048
4050
  for (let i = 0; i < e.len; i++) {
4049
- if (r[i] !== "text" || !Ce(e, i)) continue;
4051
+ if (r[i] !== "text" || !Ee(e, i)) continue;
4050
4052
  let a = [t[i]], o = i + 1;
4051
4053
  for (; o < e.len && !V(r[o]);) {
4052
4054
  a.push(t[o]), n[i] = !0;
@@ -4068,11 +4070,11 @@ function Te(e) {
4068
4070
  starts: i
4069
4071
  };
4070
4072
  }
4071
- function Ee(e) {
4073
+ function ke(e) {
4072
4074
  let t = [], n = [], r = [], i = [];
4073
4075
  for (let a = 0; a < e.len; a++) {
4074
4076
  let o = e.texts[a];
4075
- if (t.push(o), n.push(e.isWordLike[a]), r.push(e.kinds[a]), i.push(e.starts[a]), !we(o)) continue;
4077
+ if (t.push(o), n.push(e.isWordLike[a]), r.push(e.kinds[a]), i.push(e.starts[a]), !De(o)) continue;
4076
4078
  let s = a + 1;
4077
4079
  if (s >= e.len || V(e.kinds[s])) continue;
4078
4080
  let c = [], l = e.starts[s], u = s;
@@ -4087,7 +4089,7 @@ function Ee(e) {
4087
4089
  starts: i
4088
4090
  };
4089
4091
  }
4090
- var De = new Set([
4092
+ var Ae = new Set([
4091
4093
  ":",
4092
4094
  "-",
4093
4095
  "/",
@@ -4097,7 +4099,7 @@ var De = new Set([
4097
4099
  "+",
4098
4100
  "–",
4099
4101
  "—"
4100
- ]), Oe = new Set([
4102
+ ]), je = new Set([
4101
4103
  ".",
4102
4104
  ",",
4103
4105
  ":",
@@ -4106,27 +4108,27 @@ var De = new Set([
4106
4108
  function H(e) {
4107
4109
  for (let t = e.length; t > 0;) {
4108
4110
  let n = I(e, t), r = e.slice(n, t);
4109
- if (b.test(r)) {
4111
+ if (C.test(r)) {
4110
4112
  t = n;
4111
4113
  continue;
4112
4114
  }
4113
- return Oe.has(r) || R(r);
4115
+ return je.has(r) || R(r);
4114
4116
  }
4115
4117
  return !1;
4116
4118
  }
4117
- function ke(e, t) {
4118
- return t && !w(e);
4119
+ function Me(e, t) {
4120
+ return t && !D(e);
4119
4121
  }
4120
4122
  function U(e) {
4121
- for (let t of e) if (x.test(t)) return !0;
4123
+ for (let t of e) if (w.test(t)) return !0;
4122
4124
  return !1;
4123
4125
  }
4124
4126
  function W(e) {
4125
4127
  if (e.length === 0) return !1;
4126
- for (let t of e) if (!(x.test(t) || De.has(t))) return !1;
4128
+ for (let t of e) if (!(w.test(t) || Ae.has(t))) return !1;
4127
4129
  return !0;
4128
4130
  }
4129
- function Ae(e) {
4131
+ function Ne(e) {
4130
4132
  let t = [], n = [], r = [], i = [];
4131
4133
  for (let a = 0; a < e.len; a++) {
4132
4134
  let o = e.texts[a], s = e.kinds[a];
@@ -4146,13 +4148,13 @@ function Ae(e) {
4146
4148
  starts: i
4147
4149
  };
4148
4150
  }
4149
- function je(e) {
4151
+ function Pe(e) {
4150
4152
  let t = [], n = [], r = [], i = [];
4151
4153
  for (let a = 0; a < e.len; a++) {
4152
4154
  let o = e.texts[a], s = e.kinds[a], c = e.isWordLike[a];
4153
- if (s === "text" && H(o) && (c || ue(o)) && !w(o)) {
4155
+ if (s === "text" && H(o) && (c || pe(o)) && !D(o)) {
4154
4156
  let s = [o], c = !0, l = a + 1;
4155
- for (; c && l < e.len && e.kinds[l] === "text" && ke(e.texts[l], e.isWordLike[l]);) {
4157
+ for (; c && l < e.len && e.kinds[l] === "text" && Me(e.texts[l], e.isWordLike[l]);) {
4156
4158
  let t = e.texts[l];
4157
4159
  s.push(t), c = H(t), l++;
4158
4160
  }
@@ -4169,7 +4171,7 @@ function je(e) {
4169
4171
  starts: i
4170
4172
  };
4171
4173
  }
4172
- function Me(e) {
4174
+ function Fe(e) {
4173
4175
  let t = [], n = [], r = [], i = [];
4174
4176
  for (let a = 0; a < e.len; a++) {
4175
4177
  let o = e.texts[a];
@@ -4199,7 +4201,7 @@ function Me(e) {
4199
4201
  starts: i
4200
4202
  };
4201
4203
  }
4202
- function Ne(e) {
4204
+ function Ie(e) {
4203
4205
  let t = [], n = [], r = [], i = [], a = 0;
4204
4206
  for (; a < e.len;) {
4205
4207
  let o = [e.texts[a]], s = e.isWordLike[a], c = e.kinds[a], l = e.starts[a];
@@ -4233,11 +4235,11 @@ function Ne(e) {
4233
4235
  starts: i
4234
4236
  };
4235
4237
  }
4236
- function Pe(e) {
4238
+ function Le(e) {
4237
4239
  let t = e.texts.slice(), n = e.isWordLike.slice(), r = e.kinds.slice(), i = e.starts.slice();
4238
4240
  for (let e = 0; e < t.length - 1; e++) {
4239
- if (r[e] !== "text" || r[e + 1] !== "text" || !w(t[e]) || !w(t[e + 1])) continue;
4240
- let n = fe(t[e]);
4241
+ if (r[e] !== "text" || r[e + 1] !== "text" || !D(t[e]) || !D(t[e + 1])) continue;
4242
+ let n = he(t[e]);
4241
4243
  n !== null && (t[e] = n.head, t[e + 1] = n.tail + t[e + 1], i[e + 1] = i[e] + n.head.length);
4242
4244
  }
4243
4245
  return {
@@ -4248,59 +4250,59 @@ function Pe(e) {
4248
4250
  starts: i
4249
4251
  };
4250
4252
  }
4251
- function Fe(e, t, n) {
4252
- let r = v(), i = 0, a = [], o = [], s = [], c = [], l = [], u = [], d = [], f = [], p = [], m = [], h = [], g = [];
4253
- for (let _ of r.segment(e)) for (let e of xe(_.segment, _.isWordLike ?? !1, _.index, n)) {
4254
- let n = e.kind === "text", r = pe(e.text, e.isWordLike, e.kind), _ = w(e.text), v = S(e.text), y = L(e.text), b = z(e.text), x = ge(e.text), C = i - 1;
4255
- function T() {
4256
- u[C] !== null && (o[C] = [me(a, u, d, C)], u[C] = null), o[C].push(e.text), s[C] = s[C] || e.isWordLike, f[C] = f[C] || _, p[C] = p[C] || v, m[C] = b, h[C] = x, g[C] = he(p[C], y);
4253
+ function Re(e, t, n) {
4254
+ let r = x(), i = 0, a = [], o = [], s = [], c = [], l = [], u = [], d = [], f = [], p = [], m = [], h = [], g = [];
4255
+ for (let _ of r.segment(e)) for (let e of we(_.segment, _.isWordLike ?? !1, _.index, n)) {
4256
+ let n = e.kind === "text", r = ge(e.text, e.isWordLike, e.kind), _ = D(e.text), v = T(e.text), y = L(e.text), b = z(e.text), x = ye(e.text), S = i - 1;
4257
+ function C() {
4258
+ u[S] !== null && (o[S] = [_e(a, u, d, S)], u[S] = null), o[S].push(e.text), s[S] = s[S] || e.isWordLike, f[S] = f[S] || _, p[S] = p[S] || v, m[S] = b, h[S] = x, g[S] = ve(p[S], y);
4257
4259
  }
4258
- t.carryCJKAfterClosingQuote && n && i > 0 && c[C] === "text" && _ && f[C] && m[C] || n && i > 0 && c[C] === "text" && ie(e.text) && f[C] || n && i > 0 && c[C] === "text" && h[C] ? T() : n && i > 0 && c[C] === "text" && e.isWordLike && v && g[C] ? (T(), s[C] = !0) : r !== null && i > 0 && c[C] === "text" && u[C] === r ? d[C] = (d[C] ?? 1) + 1 : n && !e.isWordLike && i > 0 && c[C] === "text" && !f[C] && (re(e.text) || e.text === "-" && s[C]) ? T() : (a[i] = e.text, o[i] = [e.text], s[i] = e.isWordLike, c[i] = e.kind, l[i] = e.start, u[i] = r, d[i] = r === null ? 0 : 1, f[i] = _, p[i] = v, m[i] = b, h[i] = x, g[i] = he(v, y), i++);
4260
+ t.carryCJKAfterClosingQuote && n && i > 0 && c[S] === "text" && _ && f[S] && m[S] || n && i > 0 && c[S] === "text" && se(e.text) && f[S] || n && i > 0 && c[S] === "text" && h[S] ? C() : n && i > 0 && c[S] === "text" && e.isWordLike && v && g[S] ? (C(), s[S] = !0) : r !== null && i > 0 && c[S] === "text" && u[S] === r ? d[S] = (d[S] ?? 1) + 1 : n && !e.isWordLike && i > 0 && c[S] === "text" && !f[S] && (oe(e.text) || e.text === "-" && s[S]) ? C() : (a[i] = e.text, o[i] = [e.text], s[i] = e.isWordLike, c[i] = e.kind, l[i] = e.start, u[i] = r, d[i] = r === null ? 0 : 1, f[i] = _, p[i] = v, m[i] = b, h[i] = x, g[i] = ve(v, y), i++);
4259
4261
  }
4260
4262
  for (let e = 0; e < i; e++) {
4261
4263
  if (u[e] !== null) {
4262
- a[e] = me(a, u, d, e);
4264
+ a[e] = _e(a, u, d, e);
4263
4265
  continue;
4264
4266
  }
4265
4267
  a[e] = B(o[e]);
4266
4268
  }
4267
4269
  for (let e = 1; e < i; e++) c[e] === "text" && !s[e] && F(a[e]) && c[e - 1] === "text" && !f[e - 1] && (a[e - 1] += a[e], s[e - 1] = s[e - 1] || s[e], a[e] = "");
4268
- let _ = Array.from({ length: i }, () => null), y = -1;
4270
+ let _ = Array.from({ length: i }, () => null), v = -1;
4269
4271
  for (let e = i - 1; e >= 0; e--) {
4270
4272
  let t = a[e];
4271
4273
  if (t.length !== 0) {
4272
- if (c[e] === "text" && !s[e] && y >= 0 && c[y] === "text" && (ae(t) || t === "-" && de(a[y]))) {
4273
- let n = _[y] ?? [];
4274
- n.push(t), _[y] = n, l[y] = l[e], a[e] = "";
4274
+ if (c[e] === "text" && !s[e] && v >= 0 && c[v] === "text" && (ce(t) || t === "-" && me(a[v]))) {
4275
+ let n = _[v] ?? [];
4276
+ n.push(t), _[v] = n, l[v] = l[e], a[e] = "";
4275
4277
  continue;
4276
4278
  }
4277
- y = e;
4279
+ v = e;
4278
4280
  }
4279
4281
  }
4280
4282
  for (let e = 0; e < i; e++) {
4281
4283
  let t = _[e];
4282
- t != null && (a[e] = be(t, a[e]));
4284
+ t != null && (a[e] = Ce(t, a[e]));
4283
4285
  }
4284
- let b = 0;
4286
+ let y = 0;
4285
4287
  for (let e = 0; e < i; e++) {
4286
4288
  let t = a[e];
4287
- t.length !== 0 && (b !== e && (a[b] = t, s[b] = s[e], c[b] = c[e], l[b] = l[e]), b++);
4289
+ t.length !== 0 && (y !== e && (a[y] = t, s[y] = s[e], c[y] = c[e], l[y] = l[e]), y++);
4288
4290
  }
4289
- a.length = b, s.length = b, c.length = b, l.length = b;
4290
- let x = Pe(je(Me(Ae(Ee(Te(Ne({
4291
- len: b,
4291
+ a.length = y, s.length = y, c.length = y, l.length = y;
4292
+ let b = Le(Pe(Fe(Ne(ke(Oe(Ie({
4293
+ len: y,
4292
4294
  texts: a,
4293
4295
  isWordLike: s,
4294
4296
  kinds: c,
4295
4297
  starts: l
4296
4298
  })))))));
4297
- for (let e = 0; e < x.len - 1; e++) {
4298
- let t = _e(x.texts[e]);
4299
- t !== null && (x.kinds[e] !== "space" && x.kinds[e] !== "preserved-space" || x.kinds[e + 1] !== "text" || !S(x.texts[e + 1]) || (x.texts[e] = t.space, x.isWordLike[e] = !1, x.kinds[e] = x.kinds[e] === "preserved-space" ? "preserved-space" : "space", x.texts[e + 1] = t.marks + x.texts[e + 1], x.starts[e + 1] = x.starts[e] + t.space.length));
4299
+ for (let e = 0; e < b.len - 1; e++) {
4300
+ let t = be(b.texts[e]);
4301
+ t !== null && (b.kinds[e] !== "space" && b.kinds[e] !== "preserved-space" || b.kinds[e + 1] !== "text" || !T(b.texts[e + 1]) || (b.texts[e] = t.space, b.isWordLike[e] = !1, b.kinds[e] = b.kinds[e] === "preserved-space" ? "preserved-space" : "space", b.texts[e + 1] = t.marks + b.texts[e + 1], b.starts[e + 1] = b.starts[e] + t.space.length));
4300
4302
  }
4301
- return x;
4303
+ return b;
4302
4304
  }
4303
- function Ie(e, t) {
4305
+ function ze(e, t) {
4304
4306
  if (e.len === 0) return [];
4305
4307
  if (!t.preserveHardBreaks) return [{
4306
4308
  startSegmentIndex: 0,
@@ -4319,7 +4321,7 @@ function Ie(e, t) {
4319
4321
  consumedEndSegmentIndex: e.len
4320
4322
  }), n;
4321
4323
  }
4322
- function Le(e, t, n) {
4324
+ function Be(e, t, n) {
4323
4325
  if (t.len <= 1) return t;
4324
4326
  let r = [], i = [], a = [], o = [], s = -1, c = !1;
4325
4327
  function l(e) {
@@ -4341,7 +4343,7 @@ function Le(e, t, n) {
4341
4343
  for (let e = 0; e < t.len; e++) {
4342
4344
  let l = t.texts[e], u = t.kinds[e];
4343
4345
  if (u === "text") {
4344
- s >= 0 && !A(t.texts[e - 1], n) && d(e), s < 0 && (s = e), c ||= w(l);
4346
+ s >= 0 && !A(t.texts[e - 1], n) && d(e), s < 0 && (s = e), c ||= D(l);
4345
4347
  continue;
4346
4348
  }
4347
4349
  d(e), r.push(l), i.push(t.isWordLike[e]), a.push(u), o.push(t.starts[e]);
@@ -4354,8 +4356,8 @@ function Le(e, t, n) {
4354
4356
  starts: o
4355
4357
  };
4356
4358
  }
4357
- function Re(e, t, n = "normal", r = "normal") {
4358
- let i = p(n), a = i.mode === "pre-wrap" ? h(e) : m(e);
4359
+ function Ve(e, t, n = "normal", r = "normal") {
4360
+ let i = g(n), a = i.mode === "pre-wrap" ? v(e) : _(e);
4359
4361
  if (a.length === 0) return {
4360
4362
  normalized: a,
4361
4363
  chunks: [],
@@ -4365,31 +4367,31 @@ function Re(e, t, n = "normal", r = "normal") {
4365
4367
  kinds: [],
4366
4368
  starts: []
4367
4369
  };
4368
- let o = Fe(a, t, i), s = r === "keep-all" ? Le(a, o, t.breakKeepAllAfterPunctuation) : o;
4370
+ let o = Re(a, t, i), s = r === "keep-all" ? Be(a, o, t.breakKeepAllAfterPunctuation) : o;
4369
4371
  return {
4370
4372
  normalized: a,
4371
- chunks: Ie(s, i),
4373
+ chunks: ze(s, i),
4372
4374
  ...s
4373
4375
  };
4374
4376
  }
4375
4377
  //#endregion
4376
4378
  //#region ../../node_modules/.pnpm/@chenglou+pretext@0.0.7/node_modules/@chenglou/pretext/dist/measurement.js
4377
- var G = null, ze = /* @__PURE__ */ new Map(), K = null, Be = 96, Ve = /\p{Emoji_Presentation}/u, He = /[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u, q = null, Ue = /* @__PURE__ */ new Map();
4379
+ var G = null, He = /* @__PURE__ */ new Map(), K = null, Ue = 96, We = /\p{Emoji_Presentation}/u, Ge = /[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u, q = null, Ke = /* @__PURE__ */ new Map();
4378
4380
  function J() {
4379
4381
  if (G !== null) return G;
4380
4382
  if (typeof OffscreenCanvas < "u") return G = new OffscreenCanvas(1, 1).getContext("2d"), G;
4381
4383
  if (typeof document < "u") return G = document.createElement("canvas").getContext("2d"), G;
4382
4384
  throw Error("Text measurement requires OffscreenCanvas or a DOM canvas context.");
4383
4385
  }
4384
- function We(e) {
4385
- let t = ze.get(e);
4386
- return t || (t = /* @__PURE__ */ new Map(), ze.set(e, t)), t;
4386
+ function qe(e) {
4387
+ let t = He.get(e);
4388
+ return t || (t = /* @__PURE__ */ new Map(), He.set(e, t)), t;
4387
4389
  }
4388
4390
  function Y(e, t) {
4389
4391
  let n = t.get(e);
4390
4392
  return n === void 0 && (n = {
4391
4393
  width: J().measureText(e).width,
4392
- containsCJK: w(e)
4394
+ containsCJK: D(e)
4393
4395
  }, t.set(e, n)), n;
4394
4396
  }
4395
4397
  function X() {
@@ -4410,21 +4412,21 @@ function X() {
4410
4412
  preferEarlySoftHyphenBreak: t
4411
4413
  }, K;
4412
4414
  }
4413
- function Ge(e) {
4415
+ function Je(e) {
4414
4416
  let t = e.match(/(\d+(?:\.\d+)?)\s*px/);
4415
4417
  return t ? parseFloat(t[1]) : 16;
4416
4418
  }
4417
- function Ke() {
4419
+ function Ye() {
4418
4420
  return q === null && (q = new Intl.Segmenter(void 0, { granularity: "grapheme" })), q;
4419
4421
  }
4420
- function qe(e) {
4421
- return Ve.test(e) || e.includes("️");
4422
+ function Xe(e) {
4423
+ return We.test(e) || e.includes("️");
4422
4424
  }
4423
- function Je(e) {
4424
- return He.test(e);
4425
+ function Ze(e) {
4426
+ return Ge.test(e);
4425
4427
  }
4426
- function Ye(e, t) {
4427
- let n = Ue.get(e);
4428
+ function Qe(e, t) {
4429
+ let n = Ke.get(e);
4428
4430
  if (n !== void 0) return n;
4429
4431
  let r = J();
4430
4432
  r.font = e;
@@ -4435,23 +4437,23 @@ function Ye(e, t) {
4435
4437
  let r = t.getBoundingClientRect().width;
4436
4438
  document.body.removeChild(t), i - r > .5 && (n = i - r);
4437
4439
  }
4438
- return Ue.set(e, n), n;
4440
+ return Ke.set(e, n), n;
4439
4441
  }
4440
- function Xe(e) {
4441
- let t = 0, n = Ke();
4442
- for (let r of n.segment(e)) qe(r.segment) && t++;
4442
+ function $e(e) {
4443
+ let t = 0, n = Ye();
4444
+ for (let r of n.segment(e)) Xe(r.segment) && t++;
4443
4445
  return t;
4444
4446
  }
4445
- function Ze(e, t) {
4446
- return t.emojiCount === void 0 && (t.emojiCount = Xe(e)), t.emojiCount;
4447
+ function et(e, t) {
4448
+ return t.emojiCount === void 0 && (t.emojiCount = $e(e)), t.emojiCount;
4447
4449
  }
4448
4450
  function Z(e, t, n) {
4449
- return n === 0 ? t.width : t.width - Ze(e, t) * n;
4451
+ return n === 0 ? t.width : t.width - et(e, t) * n;
4450
4452
  }
4451
- function Qe(e, t, n, r, i) {
4453
+ function tt(e, t, n, r, i) {
4452
4454
  if (t.breakableFitAdvances !== void 0 && t.breakableFitMode === i) return t.breakableFitAdvances;
4453
4455
  t.breakableFitMode = i;
4454
- let a = Ke(), o = [];
4456
+ let a = Ye(), o = [];
4455
4457
  for (let t of a.segment(e)) o.push(t.segment);
4456
4458
  if (o.length <= 1) return t.breakableFitAdvances = null, t.breakableFitAdvances;
4457
4459
  if (i === "sum-graphemes") {
@@ -4462,7 +4464,7 @@ function Qe(e, t, n, r, i) {
4462
4464
  }
4463
4465
  return t.breakableFitAdvances = e, t.breakableFitAdvances;
4464
4466
  }
4465
- if (i === "pair-context" || o.length > Be) {
4467
+ if (i === "pair-context" || o.length > Ue) {
4466
4468
  let e = [], i = null, a = 0;
4467
4469
  for (let t of o) {
4468
4470
  let o = Z(t, Y(t, n), r);
@@ -4483,62 +4485,62 @@ function Qe(e, t, n, r, i) {
4483
4485
  }
4484
4486
  return t.breakableFitAdvances = s, t.breakableFitAdvances;
4485
4487
  }
4486
- function $e(e, t) {
4488
+ function nt(e, t) {
4487
4489
  let n = J();
4488
4490
  n.font = e;
4489
- let r = We(e), i = Ge(e);
4491
+ let r = qe(e), i = Je(e);
4490
4492
  return {
4491
4493
  cache: r,
4492
4494
  fontSize: i,
4493
- emojiCorrection: t ? Ye(e, i) : 0
4495
+ emojiCorrection: t ? Qe(e, i) : 0
4494
4496
  };
4495
4497
  }
4496
4498
  //#endregion
4497
4499
  //#region ../../node_modules/.pnpm/@chenglou+pretext@0.0.7/node_modules/@chenglou/pretext/dist/line-break.js
4498
- function et(e) {
4500
+ function rt(e) {
4499
4501
  return e === "space" || e === "zero-width-break" || e === "soft-hyphen";
4500
4502
  }
4501
- function tt(e) {
4503
+ function it(e) {
4502
4504
  return e === "space" || e === "preserved-space" || e === "tab" || e === "zero-width-break" || e === "soft-hyphen";
4503
4505
  }
4504
- function nt(e, t, n = e.widths.length) {
4506
+ function at(e, t, n = e.widths.length) {
4505
4507
  for (; t < n;) {
4506
4508
  let n = e.kinds[t];
4507
- if (!et(n)) break;
4509
+ if (!rt(n)) break;
4508
4510
  t++;
4509
4511
  }
4510
4512
  return t;
4511
4513
  }
4512
- function rt(e, t) {
4514
+ function ot(e, t) {
4513
4515
  if (t <= 0) return 0;
4514
4516
  let n = e % t;
4515
4517
  return Math.abs(n) <= 1e-6 ? t : t - n;
4516
4518
  }
4517
- function it(e, t, n) {
4519
+ function st(e, t, n) {
4518
4520
  return e.letterSpacing !== 0 && t && e.spacingGraphemeCounts[n] > 0 ? e.letterSpacing : 0;
4519
4521
  }
4520
4522
  function Q(e, t) {
4521
4523
  return t === 0 ? 0 : e + t;
4522
4524
  }
4523
- function at(e, t) {
4525
+ function ct(e, t) {
4524
4526
  return e.letterSpacing !== 0 && e.spacingGraphemeCounts[t] > 0 ? e.letterSpacing : 0;
4525
4527
  }
4526
- function ot(e, t, n, r, i) {
4527
- return Q(r, t === "tab" ? i + at(e, n) : e.lineEndFitAdvances[n]);
4528
+ function lt(e, t, n, r, i) {
4529
+ return Q(r, t === "tab" ? i + ct(e, n) : e.lineEndFitAdvances[n]);
4528
4530
  }
4529
- function st(e, t, n, r) {
4531
+ function ut(e, t, n, r) {
4530
4532
  return Q(r, t === "tab" ? 0 : e.lineEndFitAdvances[n]);
4531
4533
  }
4532
- function ct(e, t, n, r, i) {
4534
+ function dt(e, t, n, r, i) {
4533
4535
  return Q(r, t === "tab" ? i : e.lineEndPaintAdvances[n]);
4534
4536
  }
4535
- function lt(e, t, n) {
4537
+ function ft(e, t, n) {
4536
4538
  return e.letterSpacing !== 0 && t ? n + e.letterSpacing : n;
4537
4539
  }
4538
- function ut(e, t) {
4540
+ function pt(e, t) {
4539
4541
  return e.letterSpacing === 0 ? t : t + e.letterSpacing;
4540
4542
  }
4541
- function dt(e, t, n, r, i) {
4543
+ function mt(e, t, n, r, i) {
4542
4544
  if (e.letterSpacing === 0) return 0;
4543
4545
  if (i > 0) return e.spacingGraphemeCounts[r] > 0 ? e.letterSpacing : 0;
4544
4546
  for (let i = r - 1; i >= t; i--) {
@@ -4553,10 +4555,10 @@ function dt(e, t, n, r, i) {
4553
4555
  }
4554
4556
  return 0;
4555
4557
  }
4556
- function ft(e, t, n, r, i, a) {
4557
- return t + dt(e, n, r, i, a);
4558
+ function ht(e, t, n, r, i, a) {
4559
+ return t + mt(e, n, r, i, a);
4558
4560
  }
4559
- function pt(e, t) {
4561
+ function gt(e, t) {
4560
4562
  let n = 0, r = e.chunks.length;
4561
4563
  for (; n < r;) {
4562
4564
  let i = Math.floor((n + r) / 2);
@@ -4564,24 +4566,24 @@ function pt(e, t) {
4564
4566
  }
4565
4567
  return n < e.chunks.length ? n : -1;
4566
4568
  }
4567
- function mt(e, t, n) {
4569
+ function _t(e, t, n) {
4568
4570
  let r = n.segmentIndex;
4569
4571
  if (n.graphemeIndex > 0) return t;
4570
4572
  let i = e.chunks[t];
4571
- return i.startSegmentIndex === i.endSegmentIndex && r === i.startSegmentIndex || (r < i.startSegmentIndex && (r = i.startSegmentIndex), r = nt(e, r, i.endSegmentIndex), r < i.endSegmentIndex) ? (n.segmentIndex = r, n.graphemeIndex = 0, t) : i.consumedEndSegmentIndex >= e.widths.length ? -1 : (n.segmentIndex = i.consumedEndSegmentIndex, n.graphemeIndex = 0, t + 1);
4573
+ return i.startSegmentIndex === i.endSegmentIndex && r === i.startSegmentIndex || (r < i.startSegmentIndex && (r = i.startSegmentIndex), r = at(e, r, i.endSegmentIndex), r < i.endSegmentIndex) ? (n.segmentIndex = r, n.graphemeIndex = 0, t) : i.consumedEndSegmentIndex >= e.widths.length ? -1 : (n.segmentIndex = i.consumedEndSegmentIndex, n.graphemeIndex = 0, t + 1);
4572
4574
  }
4573
- function ht(e, t) {
4575
+ function vt(e, t) {
4574
4576
  if (t.segmentIndex >= e.widths.length) return -1;
4575
- let n = pt(e, t.segmentIndex);
4576
- return n < 0 ? -1 : mt(e, n, t);
4577
+ let n = gt(e, t.segmentIndex);
4578
+ return n < 0 ? -1 : _t(e, n, t);
4577
4579
  }
4578
- function gt(e, t, n) {
4580
+ function yt(e, t, n) {
4579
4581
  if (n.segmentIndex >= e.widths.length) return -1;
4580
4582
  let r = t;
4581
4583
  for (; r < e.chunks.length && n.segmentIndex >= e.chunks[r].consumedEndSegmentIndex;) r++;
4582
- return r >= e.chunks.length ? -1 : mt(e, r, n);
4584
+ return r >= e.chunks.length ? -1 : _t(e, r, n);
4583
4585
  }
4584
- function _t(e, t, n, r) {
4586
+ function bt(e, t, n, r) {
4585
4587
  let i = e.chunks[n];
4586
4588
  if (i.startSegmentIndex === i.endSegmentIndex) return t.segmentIndex = i.consumedEndSegmentIndex, t.graphemeIndex = 0, 0;
4587
4589
  let { widths: a, kinds: o, breakableFitAdvances: s, discretionaryHyphenWidth: c } = e, l = X(), u = r + l.lineFitEpsilon, d = t.segmentIndex, f = t.graphemeIndex, p = 0, m = !1, h = t.segmentIndex, g = t.graphemeIndex, _ = -1, v = 0, y = 0, b = null;
@@ -4589,7 +4591,7 @@ function _t(e, t, n, r) {
4589
4591
  return b === "soft-hyphen" && _ === h && g === 0 ? y : p;
4590
4592
  }
4591
4593
  function S(n = h, r = g, i = x()) {
4592
- return m ? (t.segmentIndex = n, t.graphemeIndex = r, ft(e, i, d, f, n, r)) : null;
4594
+ return m ? (t.segmentIndex = n, t.graphemeIndex = r, ht(e, i, d, f, n, r)) : null;
4593
4595
  }
4594
4596
  function C(e, t) {
4595
4597
  m = !0, h = e + 1, g = 0, p = t;
@@ -4606,7 +4608,7 @@ function _t(e, t, n, r) {
4606
4608
  }
4607
4609
  function E(t, n, r, i, a, o) {
4608
4610
  if (!n) return;
4609
- let s = st(e, t, r, a), c = ct(e, t, r, a, i);
4611
+ let s = ut(e, t, r, a), c = dt(e, t, r, a, i);
4610
4612
  _ = r + 1, v = p - o + s, y = p - o + c, b = t;
4611
4613
  }
4612
4614
  function D(t, n) {
@@ -4615,8 +4617,8 @@ function _t(e, t, n, r) {
4615
4617
  let n = r[i];
4616
4618
  if (!m) w(t, i, n);
4617
4619
  else {
4618
- let r = lt(e, !0, n), a = p + r;
4619
- if (ut(e, a) > u) return S();
4620
+ let r = ft(e, !0, n), a = p + r;
4621
+ if (pt(e, a) > u) return S();
4620
4622
  p = a, h = t, g = i + 1;
4621
4623
  }
4622
4624
  }
@@ -4626,7 +4628,7 @@ function _t(e, t, n, r) {
4626
4628
  return b !== "soft-hyphen" || _ < 0 ? null : v <= u ? S(_, 0, y) : null;
4627
4629
  }
4628
4630
  for (let n = t.segmentIndex; n < i.endSegmentIndex; n++) {
4629
- let r = o[n], i = tt(r), d = n === t.segmentIndex ? t.graphemeIndex : 0, f = it(e, m, n), x = r === "tab" ? rt(p + f, e.tabStopAdvance) : a[n], w = f + x, k = ot(e, r, n, f, x);
4631
+ let r = o[n], i = it(r), d = n === t.segmentIndex ? t.graphemeIndex : 0, f = st(e, m, n), x = r === "tab" ? ot(p + f, e.tabStopAdvance) : a[n], w = f + x, k = lt(e, r, n, f, x);
4630
4632
  if (r === "soft-hyphen" && d === 0) {
4631
4633
  m && (h = n + 1, g = 0, _ = n + 1, v = p + c, y = p + c, b = r);
4632
4634
  continue;
@@ -4643,7 +4645,7 @@ function _t(e, t, n, r) {
4643
4645
  continue;
4644
4646
  }
4645
4647
  if (p + k > u) {
4646
- let t = p + st(e, r, n, f), a = p + ct(e, r, n, f, x);
4648
+ let t = p + ut(e, r, n, f), a = p + dt(e, r, n, f, x);
4647
4649
  if (b === "soft-hyphen" && l.preferEarlySoftHyphenBreak && v <= u) return S(_, 0, y);
4648
4650
  let o = O();
4649
4651
  if (o !== null) return o;
@@ -4661,10 +4663,10 @@ function _t(e, t, n, r) {
4661
4663
  }
4662
4664
  return _ === i.consumedEndSegmentIndex && g === 0 ? S(i.consumedEndSegmentIndex, 0, y) : S(i.consumedEndSegmentIndex, 0, p);
4663
4665
  }
4664
- function vt(e, t, n) {
4666
+ function xt(e, t, n) {
4665
4667
  let { widths: r, kinds: i, breakableFitAdvances: a } = e, o = n + X().lineFitEpsilon, s = 0, c = !1, l = t.segmentIndex, u = t.graphemeIndex, d = -1, f = 0;
4666
4668
  for (let e = t.segmentIndex; e < r.length; e++) {
4667
- let n = i[e], p = tt(n), m = e === t.segmentIndex ? t.graphemeIndex : 0, h = a[e], g = r[e];
4669
+ let n = i[e], p = it(n), m = e === t.segmentIndex ? t.graphemeIndex : 0, h = a[e], g = r[e];
4668
4670
  if (!c) {
4669
4671
  if (m > 0 || g > o && h !== null) {
4670
4672
  let n = h, r = n[m];
@@ -4684,14 +4686,14 @@ function vt(e, t, n) {
4684
4686
  }
4685
4687
  return c ? (t.segmentIndex = l, t.graphemeIndex = u, s) : null;
4686
4688
  }
4687
- function yt(e, t, n, r) {
4688
- return e.simpleLineWalkFastPath ? vt(e, t, r) : _t(e, t, n, r);
4689
+ function St(e, t, n, r) {
4690
+ return e.simpleLineWalkFastPath ? xt(e, t, r) : bt(e, t, n, r);
4689
4691
  }
4690
- function bt(e, t, n) {
4691
- let r = ht(e, t);
4692
- return r < 0 ? null : yt(e, t, r, n);
4692
+ function Ct(e, t, n) {
4693
+ let r = vt(e, t);
4694
+ return r < 0 ? null : St(e, t, r, n);
4693
4695
  }
4694
- function xt(e, t) {
4696
+ function wt(e, t) {
4695
4697
  if (e.widths.length === 0) return {
4696
4698
  lineCount: 0,
4697
4699
  maxLineWidth: 0
@@ -4701,14 +4703,14 @@ function xt(e, t) {
4701
4703
  graphemeIndex: 0
4702
4704
  }, r = 0, i = 0;
4703
4705
  if (!e.simpleLineWalkFastPath) {
4704
- let a = ht(e, n);
4706
+ let a = vt(e, n);
4705
4707
  for (; a >= 0;) {
4706
- let o = _t(e, n, a, t);
4708
+ let o = bt(e, n, a, t);
4707
4709
  if (o === null) return {
4708
4710
  lineCount: r,
4709
4711
  maxLineWidth: i
4710
4712
  };
4711
- r++, o > i && (i = o), a = gt(e, a, n);
4713
+ r++, o > i && (i = o), a = yt(e, a, n);
4712
4714
  }
4713
4715
  return {
4714
4716
  lineCount: r,
@@ -4716,7 +4718,7 @@ function xt(e, t) {
4716
4718
  };
4717
4719
  }
4718
4720
  for (;;) {
4719
- let a = bt(e, n, t);
4721
+ let a = Ct(e, n, t);
4720
4722
  if (a === null) return {
4721
4723
  lineCount: r,
4722
4724
  maxLineWidth: i
@@ -4727,10 +4729,10 @@ function xt(e, t) {
4727
4729
  //#endregion
4728
4730
  //#region ../../node_modules/.pnpm/@chenglou+pretext@0.0.7/node_modules/@chenglou/pretext/dist/layout.js
4729
4731
  var $ = null;
4730
- function St() {
4732
+ function Tt() {
4731
4733
  return $ === null && ($ = new Intl.Segmenter(void 0, { granularity: "grapheme" })), $;
4732
4734
  }
4733
- function Ct(e) {
4735
+ function Et(e) {
4734
4736
  return e ? {
4735
4737
  widths: [],
4736
4738
  lineEndFitAdvances: [],
@@ -4760,7 +4762,7 @@ function Ct(e) {
4760
4762
  chunks: []
4761
4763
  };
4762
4764
  }
4763
- function wt(e, t) {
4765
+ function Dt(e, t) {
4764
4766
  let n = [], r = [], i = 0, a = !1, o = !1, s = !1;
4765
4767
  function c() {
4766
4768
  r.length !== 0 && (n.push({
@@ -4776,8 +4778,8 @@ function wt(e, t) {
4776
4778
  let n = z(e);
4777
4779
  e.length === 1 && P.has(e) ? o ||= n : o = n, s = !1;
4778
4780
  }
4779
- for (let n of St().segment(e)) {
4780
- let e = n.segment, i = w(e);
4781
+ for (let n of Tt().segment(e)) {
4782
+ let e = n.segment, i = D(e);
4781
4783
  if (r.length === 0) {
4782
4784
  l(e, n.index, i);
4783
4785
  continue;
@@ -4794,7 +4796,7 @@ function wt(e, t) {
4794
4796
  }
4795
4797
  return c(), n;
4796
4798
  }
4797
- function Tt(e, t, n) {
4799
+ function Ot(e, t, n) {
4798
4800
  if (t.length <= 1) return t;
4799
4801
  let r = [], i = -1, a = !1;
4800
4802
  function o(n, i) {
@@ -4813,38 +4815,38 @@ function Tt(e, t, n) {
4813
4815
  }
4814
4816
  for (let e = 0; e < t.length; e++) {
4815
4817
  let r = t[e];
4816
- i >= 0 && !A(t[e - 1].text, n) && s(e), i < 0 && (i = e), a ||= w(r.text);
4818
+ i >= 0 && !A(t[e - 1].text, n) && s(e), i < 0 && (i = e), a ||= D(r.text);
4817
4819
  }
4818
4820
  return s(t.length), r;
4819
4821
  }
4820
- function Et(e, t) {
4822
+ function kt(e, t) {
4821
4823
  if (t === "zero-width-break" || t === "soft-hyphen" || t === "hard-break") return 0;
4822
4824
  if (t === "tab") return 1;
4823
- let n = 0, r = St();
4825
+ let n = 0, r = Tt();
4824
4826
  for (let t of r.segment(e)) n++;
4825
4827
  return n;
4826
4828
  }
4827
- function Dt(e, t, n) {
4829
+ function At(e, t, n) {
4828
4830
  return t > 1 ? e + (t - 1) * n : e;
4829
4831
  }
4830
- function Ot(e, t, n, r, i) {
4831
- let a = X(), { cache: o, emojiCorrection: s } = $e(t, Je(e.normalized)), c = Z("-", Y("-", o), s) + (i === 0 ? 0 : i * 2), l = Z(" ", Y(" ", o), s) * 8, d = i !== 0;
4832
- if (e.len === 0) return Ct(n);
4833
- let f = [], p = [], m = [], h = [], g = e.chunks.length <= 1 && !d, _ = n ? [] : null, v = [], y = [], b = n ? [] : null, x = Array.from({ length: e.len });
4832
+ function jt(e, t, n, r, i) {
4833
+ let a = X(), { cache: o, emojiCorrection: s } = nt(t, Ze(e.normalized)), c = Z("-", Y("-", o), s) + (i === 0 ? 0 : i * 2), l = Z(" ", Y(" ", o), s) * 8, u = i !== 0;
4834
+ if (e.len === 0) return Et(n);
4835
+ let d = [], f = [], m = [], h = [], g = e.chunks.length <= 1 && !u, _ = n ? [] : null, v = [], y = [], b = n ? [] : null, x = Array.from({ length: e.len });
4834
4836
  function S(e, t, n, r, i, a, o, s) {
4835
- i !== "text" && i !== "space" && i !== "zero-width-break" && (g = !1), f.push(t), p.push(n), m.push(r), h.push(i), _?.push(a), v.push(o), d && y.push(s), b !== null && b.push(e);
4837
+ i !== "text" && i !== "space" && i !== "zero-width-break" && (g = !1), d.push(t), f.push(n), m.push(r), h.push(i), _?.push(a), v.push(o), u && y.push(s), b !== null && b.push(e);
4836
4838
  }
4837
4839
  function C(e, t, n, r, c) {
4838
- let l = Y(e, o), u = d ? Et(e, t) : 0, f = Dt(Z(e, l, s), u, i), p = t === "space" || t === "preserved-space" || t === "zero-width-break" ? 0 : f, m = p === 0 ? 0 : p + (u > 0 ? i : 0), h = t === "space" || t === "zero-width-break" ? 0 : f;
4840
+ let l = Y(e, o), d = u ? kt(e, t) : 0, f = At(Z(e, l, s), d, i), p = t === "space" || t === "preserved-space" || t === "zero-width-break" ? 0 : f, m = p === 0 ? 0 : p + (d > 0 ? i : 0), h = t === "space" || t === "zero-width-break" ? 0 : f;
4839
4841
  if (c && r && e.length > 1) {
4840
4842
  let r = "sum-graphemes";
4841
- i === 0 ? W(e) ? r = "pair-context" : a.preferPrefixWidthsForBreakableRuns && (r = "segment-prefixes") : r = "segment-prefixes", S(e, f, m, h, t, n, Qe(e, l, o, s, r), u);
4843
+ i === 0 ? W(e) ? r = "pair-context" : a.preferPrefixWidthsForBreakableRuns && (r = "segment-prefixes") : r = "segment-prefixes", S(e, f, m, h, t, n, tt(e, l, o, s, r), d);
4842
4844
  return;
4843
4845
  }
4844
- S(e, f, m, h, t, n, null, u);
4846
+ S(e, f, m, h, t, n, null, d);
4845
4847
  }
4846
4848
  for (let t = 0; t < e.len; t++) {
4847
- x[t] = f.length;
4849
+ x[t] = d.length;
4848
4850
  let n = e.texts[t], i = e.isWordLike[t], s = e.kinds[t], l = e.starts[t];
4849
4851
  if (s === "soft-hyphen") {
4850
4852
  S(n, 0, c, c, s, l, null, 0);
@@ -4855,51 +4857,51 @@ function Ot(e, t, n, r, i) {
4855
4857
  continue;
4856
4858
  }
4857
4859
  if (s === "tab") {
4858
- S(n, 0, 0, 0, s, l, null, d ? Et(n, s) : 0);
4860
+ S(n, 0, 0, 0, s, l, null, u ? kt(n, s) : 0);
4859
4861
  continue;
4860
4862
  }
4861
- let u = Y(n, o);
4862
- if (s === "text" && u.containsCJK) {
4863
- let e = wt(n, a), t = r === "keep-all" ? Tt(n, e, a.breakKeepAllAfterPunctuation) : e;
4863
+ let f = Y(n, o);
4864
+ if (s === "text" && f.containsCJK) {
4865
+ let e = Dt(n, a), t = r === "keep-all" ? Ot(n, e, a.breakKeepAllAfterPunctuation) : e;
4864
4866
  for (let e = 0; e < t.length; e++) {
4865
4867
  let n = t[e];
4866
- C(n.text, "text", l + n.start, i, r === "keep-all" || !w(n.text));
4868
+ C(n.text, "text", l + n.start, i, r === "keep-all" || !D(n.text));
4867
4869
  }
4868
4870
  continue;
4869
4871
  }
4870
4872
  C(n, s, l, i, !0);
4871
4873
  }
4872
- let T = kt(e.chunks, x, f.length), E = _ === null ? null : u(e.normalized, _);
4874
+ let w = Mt(e.chunks, x, d.length), T = _ === null ? null : p(e.normalized, _);
4873
4875
  return b === null ? {
4874
- widths: f,
4875
- lineEndFitAdvances: p,
4876
+ widths: d,
4877
+ lineEndFitAdvances: f,
4876
4878
  lineEndPaintAdvances: m,
4877
4879
  kinds: h,
4878
4880
  simpleLineWalkFastPath: g,
4879
- segLevels: E,
4881
+ segLevels: T,
4880
4882
  breakableFitAdvances: v,
4881
4883
  letterSpacing: i,
4882
4884
  spacingGraphemeCounts: y,
4883
4885
  discretionaryHyphenWidth: c,
4884
4886
  tabStopAdvance: l,
4885
- chunks: T
4887
+ chunks: w
4886
4888
  } : {
4887
- widths: f,
4888
- lineEndFitAdvances: p,
4889
+ widths: d,
4890
+ lineEndFitAdvances: f,
4889
4891
  lineEndPaintAdvances: m,
4890
4892
  kinds: h,
4891
4893
  simpleLineWalkFastPath: g,
4892
- segLevels: E,
4894
+ segLevels: T,
4893
4895
  breakableFitAdvances: v,
4894
4896
  letterSpacing: i,
4895
4897
  spacingGraphemeCounts: y,
4896
4898
  discretionaryHyphenWidth: c,
4897
4899
  tabStopAdvance: l,
4898
- chunks: T,
4900
+ chunks: w,
4899
4901
  segments: b
4900
4902
  };
4901
4903
  }
4902
- function kt(e, t, n) {
4904
+ function Mt(e, t, n) {
4903
4905
  let r = [];
4904
4906
  for (let i = 0; i < e.length; i++) {
4905
4907
  let a = e[i], o = a.startSegmentIndex < t.length ? t[a.startSegmentIndex] : n, s = a.endSegmentIndex < t.length ? t[a.endSegmentIndex] : n, c = a.consumedEndSegmentIndex < t.length ? t[a.consumedEndSegmentIndex] : n;
@@ -4911,48 +4913,63 @@ function kt(e, t, n) {
4911
4913
  }
4912
4914
  return r;
4913
4915
  }
4914
- function At(e, t, n, r) {
4916
+ function Nt(e, t, n, r) {
4915
4917
  let i = r?.wordBreak ?? "normal", a = r?.letterSpacing ?? 0;
4916
- return Ot(Re(e, X(), r?.whiteSpace, i), t, n, i, a);
4918
+ return jt(Ve(e, X(), r?.whiteSpace, i), t, n, i, a);
4917
4919
  }
4918
- function jt(e, t, n) {
4919
- return At(e, t, !0, n);
4920
+ function Pt(e, t, n) {
4921
+ return Nt(e, t, !0, n);
4920
4922
  }
4921
- function Mt(e) {
4923
+ function Ft(e) {
4922
4924
  return e;
4923
4925
  }
4924
- function Nt(e, t) {
4925
- return xt(Mt(e), t);
4926
+ function It(e, t) {
4927
+ return wt(Ft(e), t);
4926
4928
  }
4927
4929
  //#endregion
4928
- //#region lib/ui/ChatMessage.tsx
4929
- var Pt = "16px Inter", Ft = .7, It = 48;
4930
- function Lt(e, t) {
4931
- let [r, a] = i(void 0);
4932
- return n(() => {
4930
+ //#region lib/ui/chat/ChatMessage.tsx
4931
+ var Lt = "16px Inter", Rt = .7, zt = 48;
4932
+ function Bt(e, t) {
4933
+ let [n, r] = o(void 0);
4934
+ return i(() => {
4933
4935
  let n = t.current;
4934
4936
  if (!(!n || !e)) try {
4935
- let t = n.offsetWidth * Ft, { maxLineWidth: r } = Nt(jt(e, Pt), t - It);
4936
- a(r + It);
4937
+ let t = n.offsetWidth * Rt, { maxLineWidth: i } = It(Pt(e, Lt), t - zt);
4938
+ r(i + zt);
4937
4939
  } catch {}
4938
- }, [e]), r;
4940
+ }, [e]), n;
4939
4941
  }
4940
- var Rt = t(function({ sender: t, children: n, className: i, ...o }) {
4941
- let s = t === "user", c = r(null), l = typeof n == "string" ? "p" : "div", u = Lt(s && typeof n == "string" ? n : "", c);
4942
- return /* @__PURE__ */ a("div", {
4943
- ref: c,
4942
+ var Vt = r(function({ sender: r, children: i, className: l, onReplay: u, onEdit: d, onCopy: f, labels: p, ...m }) {
4943
+ let h = r === "user", g = a(null), _ = typeof i == "string" ? "p" : "div", [v, y] = o(!1), b = !!d && typeof i == "string", x = h && !!(u || b || f), S = Bt(h && typeof i == "string" ? i : "", g), C = /* @__PURE__ */ s(_, {
4944
+ style: S === void 0 ? void 0 : { maxWidth: S },
4945
+ className: e("text-b3", h ? "bg-lightSand max-w-[70%] rounded-32 px-24 py-12 text-black" : "text-black", x && "max-w-full"),
4946
+ children: i
4947
+ });
4948
+ return /* @__PURE__ */ s("div", {
4949
+ ref: g,
4944
4950
  role: "article",
4945
- "aria-label": s ? "Your message" : "Assistant message",
4946
- ...o,
4947
- className: e("flex w-full px-20", s ? "justify-end" : "justify-start", i),
4948
- children: /* @__PURE__ */ a(l, {
4949
- style: u === void 0 ? void 0 : { maxWidth: u },
4950
- className: e("text-b3", s ? "bg-lightSand max-w-[70%] rounded-32 px-24 py-12 text-black" : "text-black"),
4951
- children: n
4952
- })
4951
+ "aria-label": h ? "Your message" : "Assistant message",
4952
+ ...m,
4953
+ className: e("flex w-full px-20", h ? "justify-end" : "justify-start", l),
4954
+ children: v && typeof i == "string" ? /* @__PURE__ */ s(n, {
4955
+ value: i,
4956
+ labels: p,
4957
+ onCancel: () => y(!1),
4958
+ onSubmit: (e) => {
4959
+ y(!1), d?.(e);
4960
+ }
4961
+ }) : x ? /* @__PURE__ */ c("div", {
4962
+ className: "group/message flex max-w-[70%] flex-col items-end gap-4",
4963
+ children: [C, /* @__PURE__ */ s(t, {
4964
+ onReplay: u,
4965
+ onEdit: b ? () => y(!0) : void 0,
4966
+ onCopy: f,
4967
+ labels: p
4968
+ })]
4969
+ }) : C
4953
4970
  });
4954
4971
  });
4955
4972
  //#endregion
4956
- export { Rt as t };
4973
+ export { Vt as t };
4957
4974
 
4958
4975
  //# sourceMappingURL=ChatMessage.js.map