@templatical/editor 0.33.0 → 0.34.0

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 (149) hide show
  1. package/dist/{AiChatSidebar-J7WsHRDS.js → AiChatSidebar-CkHJ28sf.js} +3 -3
  2. package/dist/{AiFeatureMenu-C9mxL_7U.js → AiFeatureMenu-DWdKguDN.js} +3 -3
  3. package/dist/{BlockIssueBadge-BI6v_eol.js → BlockIssueBadge-DcyHTAqw.js} +2 -2
  4. package/dist/{BlockPreviewCanvas-mZIr9mY2.js → BlockPreviewCanvas-B621ANn9.js} +4 -4
  5. package/dist/{CloudHeaderExtras-CLtTtK12.js → CloudHeaderExtras-BJ3Cebhv.js} +2 -2
  6. package/dist/{CloudPanels-BbLAX1jH.js → CloudPanels-BGz9ygo6.js} +6 -6
  7. package/dist/{CollaboratorBar-OBbLOhLK.js → CollaboratorBar-KphmSQeZ.js} +2 -2
  8. package/dist/{ColorPicker-Cs7iK01u.js → ColorPicker-C6EOwtHC.js} +5 -5
  9. package/dist/{CommentsPanel-G_uNzi1a.js → CommentsPanel-DmWh8f08.js} +1 -1
  10. package/dist/{CommentsSidebar-DlFlpfkU.js → CommentsSidebar-CL_tffzT.js} +4 -4
  11. package/dist/{CountdownBlock-Bdt8qZi1.js → CountdownBlock-D1fsNsyS.js} +1 -1
  12. package/dist/{CountdownToolbar-BWLYViOm.js → CountdownToolbar-B8J4i5Xp.js} +2 -2
  13. package/dist/{DesignReferenceSidebar-CK_xTLh2.js → DesignReferenceSidebar-BDhEeaAh.js} +4 -4
  14. package/dist/{IssuesPanel-DIbJ_jaa.js → IssuesPanel-CiOjeRFI.js} +4 -4
  15. package/dist/MergeTagInput-RytOlh1A.js +448 -0
  16. package/dist/{MergeTagModeToggle-DeI65T5k.js → MergeTagModeToggle-Bi-FydXj.js} +2 -2
  17. package/dist/{ParagraphEditor-Dr-u72hu.js → ParagraphEditor-C87tkmtE.js} +12 -12
  18. package/dist/{RestoreVersionDialog-6sBYYt9f.js → RestoreVersionDialog-Db5rZRMA.js} +2 -2
  19. package/dist/RichTextEditorContent-BmTcV2-a.js +152 -0
  20. package/dist/{SaveBlockDialog-DABN4-Jf.js → SaveBlockDialog-CDCzx6Bo.js} +16 -16
  21. package/dist/{SavedBlocksBrowserModal-BoylzTEq.js → SavedBlocksBrowserModal-DQR6kJB1.js} +101 -101
  22. package/dist/{SavedBlocksPanels-2np4Yu1H.js → SavedBlocksPanels-DFzV0CRD.js} +1 -1
  23. package/dist/{SavedBlocksPickBar-BM7aTSK2.js → SavedBlocksPickBar-XyXmnSnO.js} +2 -2
  24. package/dist/{TemplateScoringPanel-CzWoSM1V.js → TemplateScoringPanel-CpyEKMzC.js} +4 -4
  25. package/dist/{TestEmailModal-Cb0n7Dhj.js → TestEmailModal-DIfJy9eE.js} +8 -8
  26. package/dist/{TestEmailPanel-52HjvuU7.js → TestEmailPanel-C8Wx5yPS.js} +1 -1
  27. package/dist/{TitleEditor-_taBpBfB.js → TitleEditor-iNFOisr4.js} +11 -11
  28. package/dist/{TplModal-CEYnwBBk.js → TplModal-CowM3o_F.js} +5 -5
  29. package/dist/{VersionHistoryMenu-CsGlLSO8.js → VersionHistoryMenu-CV90OhXs.js} +2 -2
  30. package/dist/{VersionHistoryPanels-DPmYk00L.js → VersionHistoryPanels-BE3pplJG.js} +1 -1
  31. package/dist/{VersionPreviewBanner-VGJbEoXj.js → VersionPreviewBanner-BwUWBtlH.js} +1 -1
  32. package/dist/{blockTypeIcons-IhdBwbxp.js → blockTypeIcons-DQsKtHik.js} +1 -1
  33. package/dist/bundle-stats.json +6 -6
  34. package/dist/cdn/chunks/{AiChatSidebar-6S5LPyRW.js → AiChatSidebar-BEnIWn6s.js} +4 -4
  35. package/dist/cdn/chunks/AiChatSidebar-BEnIWn6s.js.map +1 -0
  36. package/dist/cdn/chunks/{AiFeatureMenu-BHCtjIfV.js → AiFeatureMenu-DMl23akc.js} +4 -4
  37. package/dist/cdn/chunks/{AiFeatureMenu-BHCtjIfV.js.map → AiFeatureMenu-DMl23akc.js.map} +1 -1
  38. package/dist/cdn/chunks/{BlockIssueBadge-2-os120N.js → BlockIssueBadge-CloK4k3M.js} +3 -3
  39. package/dist/cdn/chunks/{BlockIssueBadge-2-os120N.js.map → BlockIssueBadge-CloK4k3M.js.map} +1 -1
  40. package/dist/cdn/chunks/{BlockPreviewCanvas-CYNs-Yn-.js → BlockPreviewCanvas-DSiJFJa0.js} +5 -5
  41. package/dist/cdn/chunks/{BlockPreviewCanvas-CYNs-Yn-.js.map → BlockPreviewCanvas-DSiJFJa0.js.map} +1 -1
  42. package/dist/cdn/chunks/{CloudHeaderExtras-DrbFk6Fy.js → CloudHeaderExtras-b4KpVeUN.js} +3 -3
  43. package/dist/cdn/chunks/{CloudHeaderExtras-DrbFk6Fy.js.map → CloudHeaderExtras-b4KpVeUN.js.map} +1 -1
  44. package/dist/cdn/chunks/{CloudPanels-CpzYrAPQ.js → CloudPanels-DzwOq9lp.js} +7 -7
  45. package/dist/cdn/chunks/CloudPanels-DzwOq9lp.js.map +1 -0
  46. package/dist/cdn/chunks/{CollaboratorBar-VMTCYn_z.js → CollaboratorBar-WXKvpoGK.js} +3 -3
  47. package/dist/cdn/chunks/{CollaboratorBar-VMTCYn_z.js.map → CollaboratorBar-WXKvpoGK.js.map} +1 -1
  48. package/dist/cdn/chunks/{ColorPicker-B0l_UF8G.js → ColorPicker-BubTDiS1.js} +6 -6
  49. package/dist/cdn/chunks/{ColorPicker-B0l_UF8G.js.map → ColorPicker-BubTDiS1.js.map} +1 -1
  50. package/dist/cdn/chunks/{CommentsPanel-CXMMdLrO.js → CommentsPanel-DAA2VqX4.js} +2 -2
  51. package/dist/cdn/chunks/{CommentsPanel-CXMMdLrO.js.map → CommentsPanel-DAA2VqX4.js.map} +1 -1
  52. package/dist/cdn/chunks/{CommentsSidebar-CGkhAJUW.js → CommentsSidebar-Ci0M2ePp.js} +5 -5
  53. package/dist/cdn/chunks/CommentsSidebar-Ci0M2ePp.js.map +1 -0
  54. package/dist/cdn/chunks/{CountdownBlock-CPe1ulzk.js → CountdownBlock-rK055jpy.js} +2 -2
  55. package/dist/cdn/chunks/{CountdownBlock-CPe1ulzk.js.map → CountdownBlock-rK055jpy.js.map} +1 -1
  56. package/dist/cdn/chunks/{CountdownToolbar-D5xyNd5V.js → CountdownToolbar-CzZq26Vp.js} +3 -3
  57. package/dist/cdn/chunks/{CountdownToolbar-D5xyNd5V.js.map → CountdownToolbar-CzZq26Vp.js.map} +1 -1
  58. package/dist/cdn/chunks/{DesignReferenceSidebar-D1NH1WRv.js → DesignReferenceSidebar-C_ehdX5C.js} +5 -5
  59. package/dist/cdn/chunks/DesignReferenceSidebar-C_ehdX5C.js.map +1 -0
  60. package/dist/cdn/chunks/{IssuesPanel-07SBSZVN.js → IssuesPanel-BXAN2_al.js} +5 -5
  61. package/dist/cdn/chunks/{IssuesPanel-07SBSZVN.js.map → IssuesPanel-BXAN2_al.js.map} +1 -1
  62. package/dist/cdn/chunks/MergeTagInput-1vcI9uQH.js +419 -0
  63. package/dist/cdn/chunks/MergeTagInput-1vcI9uQH.js.map +1 -0
  64. package/dist/cdn/chunks/{MergeTagModeToggle-Bg8eO5nc.js → MergeTagModeToggle-B_mUYJo4.js} +3 -3
  65. package/dist/cdn/chunks/{MergeTagModeToggle-Bg8eO5nc.js.map → MergeTagModeToggle-B_mUYJo4.js.map} +1 -1
  66. package/dist/cdn/chunks/{ParagraphEditor-x2LTi6DN.js → ParagraphEditor-DCDHMcmx.js} +10 -10
  67. package/dist/cdn/chunks/ParagraphEditor-DCDHMcmx.js.map +1 -0
  68. package/dist/cdn/chunks/{RestoreVersionDialog--SjTV0_4.js → RestoreVersionDialog-BkSSwf-Q.js} +3 -3
  69. package/dist/cdn/chunks/{RestoreVersionDialog--SjTV0_4.js.map → RestoreVersionDialog-BkSSwf-Q.js.map} +1 -1
  70. package/dist/cdn/chunks/RichTextEditorContent-S4KogjIj.js +122 -0
  71. package/dist/cdn/chunks/RichTextEditorContent-S4KogjIj.js.map +1 -0
  72. package/dist/cdn/chunks/{SaveBlockDialog-CS1lqdsQ.js → SaveBlockDialog-BH774Nt0.js} +14 -14
  73. package/dist/cdn/chunks/{SaveBlockDialog-CS1lqdsQ.js.map → SaveBlockDialog-BH774Nt0.js.map} +1 -1
  74. package/dist/cdn/chunks/{SavedBlocksBrowserModal-D6nDZ4rq.js → SavedBlocksBrowserModal-CSUqw_dD.js} +6 -6
  75. package/dist/cdn/chunks/{SavedBlocksBrowserModal-D6nDZ4rq.js.map → SavedBlocksBrowserModal-CSUqw_dD.js.map} +1 -1
  76. package/dist/cdn/chunks/{SavedBlocksPanels-DdkwvYRR.js → SavedBlocksPanels-B6ApbCjG.js} +2 -2
  77. package/dist/cdn/chunks/{SavedBlocksPanels-DdkwvYRR.js.map → SavedBlocksPanels-B6ApbCjG.js.map} +1 -1
  78. package/dist/cdn/chunks/{SavedBlocksPickBar-BLQr_6WM.js → SavedBlocksPickBar-C9MXSRcR.js} +3 -3
  79. package/dist/cdn/chunks/{SavedBlocksPickBar-BLQr_6WM.js.map → SavedBlocksPickBar-C9MXSRcR.js.map} +1 -1
  80. package/dist/cdn/chunks/{TemplateScoringPanel-CDC-JC6C.js → TemplateScoringPanel-QVOxc9TZ.js} +50 -50
  81. package/dist/cdn/chunks/TemplateScoringPanel-QVOxc9TZ.js.map +1 -0
  82. package/dist/cdn/chunks/{TestEmailModal-B2LcU11Y.js → TestEmailModal-_CZvaO58.js} +9 -9
  83. package/dist/cdn/chunks/{TestEmailModal-B2LcU11Y.js.map → TestEmailModal-_CZvaO58.js.map} +1 -1
  84. package/dist/cdn/chunks/{TestEmailPanel-ByqDSx8B.js → TestEmailPanel-DXLxvyrD.js} +2 -2
  85. package/dist/cdn/chunks/{TestEmailPanel-ByqDSx8B.js.map → TestEmailPanel-DXLxvyrD.js.map} +1 -1
  86. package/dist/cdn/chunks/{TitleEditor-DCoulgN8.js → TitleEditor-BuCOahW3.js} +9 -9
  87. package/dist/cdn/chunks/TitleEditor-BuCOahW3.js.map +1 -0
  88. package/dist/cdn/chunks/{TplModal-CxQDl-tN.js → TplModal-CqY8R3hn.js} +6 -6
  89. package/dist/cdn/chunks/TplModal-CqY8R3hn.js.map +1 -0
  90. package/dist/cdn/chunks/{VersionHistoryMenu-BOy8aMB6.js → VersionHistoryMenu-DDjIBvad.js} +3 -3
  91. package/dist/cdn/chunks/{VersionHistoryMenu-BOy8aMB6.js.map → VersionHistoryMenu-DDjIBvad.js.map} +1 -1
  92. package/dist/cdn/chunks/{VersionHistoryPanels-BPLhzW9c.js → VersionHistoryPanels-BuTw04T5.js} +2 -2
  93. package/dist/cdn/chunks/{VersionHistoryPanels-BPLhzW9c.js.map → VersionHistoryPanels-BuTw04T5.js.map} +1 -1
  94. package/dist/cdn/chunks/{VersionPreviewBanner-CYC9qP2i.js → VersionPreviewBanner-fGAv20qI.js} +2 -2
  95. package/dist/cdn/chunks/{VersionPreviewBanner-CYC9qP2i.js.map → VersionPreviewBanner-fGAv20qI.js.map} +1 -1
  96. package/dist/cdn/chunks/{createCloudRuntime-CbSqoOba.js → createCloudRuntime-JFE-sxbT.js} +2 -2
  97. package/dist/cdn/chunks/{createCloudRuntime-CbSqoOba.js.map → createCloudRuntime-JFE-sxbT.js.map} +1 -1
  98. package/dist/cdn/chunks/{extensions-CeP0iOPC.js → extensions-7z04EIGg.js} +3 -3
  99. package/dist/cdn/chunks/{extensions-CeP0iOPC.js.map → extensions-7z04EIGg.js.map} +1 -1
  100. package/dist/cdn/chunks/{keys-O8clwJ41.js → keys-DQp8x7Nx.js} +4 -4
  101. package/dist/cdn/chunks/{keys-O8clwJ41.js.map → keys-DQp8x7Nx.js.map} +1 -1
  102. package/dist/cdn/chunks/{src-C1lP5sIe.js → src-CiAi5oRe.js} +2 -2
  103. package/dist/cdn/chunks/{src-C1lP5sIe.js.map → src-CiAi5oRe.js.map} +1 -1
  104. package/dist/cdn/chunks/{useCloudI18n-ZBEJvkf4.js → useCloudI18n-MxgHWrV6.js} +2 -2
  105. package/dist/cdn/chunks/{useCloudI18n-ZBEJvkf4.js.map → useCloudI18n-MxgHWrV6.js.map} +1 -1
  106. package/dist/cdn/chunks/{useEditorCore-CZxGbZmY.js → useEditorCore-ehUSEsbw.js} +503 -500
  107. package/dist/cdn/chunks/useEditorCore-ehUSEsbw.js.map +1 -0
  108. package/dist/cdn/chunks/{useEditorRoot-DVV-EsNI.js → useEditorRoot-CteADR3y.js} +2 -2
  109. package/dist/cdn/chunks/{useEditorRoot-DVV-EsNI.js.map → useEditorRoot-CteADR3y.js.map} +1 -1
  110. package/dist/cdn/chunks/{useI18n-DCbvHv6W.js → useI18n-Ct1VIFcf.js} +2 -2
  111. package/dist/cdn/chunks/{useI18n-DCbvHv6W.js.map → useI18n-Ct1VIFcf.js.map} +1 -1
  112. package/dist/cdn/chunks/useMergeTag-TLhF2fGK.js +46 -0
  113. package/dist/cdn/chunks/useMergeTag-TLhF2fGK.js.map +1 -0
  114. package/dist/cdn/chunks/{usePopoverPosition-Ozg5iU3y.js → usePopoverPosition-BxVWE5_0.js} +2 -2
  115. package/dist/cdn/chunks/{usePopoverPosition-Ozg5iU3y.js.map → usePopoverPosition-BxVWE5_0.js.map} +1 -1
  116. package/dist/cdn/chunks/{useScrollToBlock-CrUCYsIc.js → useScrollToBlock-Cz3fpgTK.js} +2 -2
  117. package/dist/cdn/chunks/{useScrollToBlock-CrUCYsIc.js.map → useScrollToBlock-Cz3fpgTK.js.map} +1 -1
  118. package/dist/cdn/editor.css +1 -1
  119. package/dist/cdn/editor.js +1672 -2075
  120. package/dist/cdn/editor.js.map +1 -1
  121. package/dist/{createCloudRuntime-j6a9Z-vL.js → createCloudRuntime-DbTFm1ES.js} +1 -1
  122. package/dist/{extensions-5xeZR9U9.js → extensions-Mf8iHey9.js} +2 -2
  123. package/dist/{keys-BJJ4hJ4z.js → keys-C3P1yxnr.js} +3 -3
  124. package/dist/style.css +1 -1
  125. package/dist/templatical-editor.js +1835 -2239
  126. package/dist/{useCloudI18n-DaKcDMDz.js → useCloudI18n-BKoiYsWZ.js} +1 -1
  127. package/dist/{useEditorCore-BWrxHVKW.js → useEditorCore-DdkQuTHl.js} +1068 -1065
  128. package/dist/{useEditorRoot-E-oxHaEI.js → useEditorRoot-DkRGTQRs.js} +1 -1
  129. package/dist/{useI18n-DUVIAju4.js → useI18n-CL6RfPzK.js} +1 -1
  130. package/dist/useMergeTag-gSuYus-M.js +44 -0
  131. package/dist/{usePopoverPosition-APlWgXoQ.js → usePopoverPosition-CWxaIWd3.js} +1 -1
  132. package/dist/{useScrollToBlock--AzCOzlg.js → useScrollToBlock-CdI8fGqt.js} +1 -1
  133. package/package.json +7 -7
  134. package/dist/RichTextEditorContent-DKLVe6Io.js +0 -153
  135. package/dist/cdn/chunks/AiChatSidebar-6S5LPyRW.js.map +0 -1
  136. package/dist/cdn/chunks/CloudPanels-CpzYrAPQ.js.map +0 -1
  137. package/dist/cdn/chunks/CommentsSidebar-CGkhAJUW.js.map +0 -1
  138. package/dist/cdn/chunks/DesignReferenceSidebar-D1NH1WRv.js.map +0 -1
  139. package/dist/cdn/chunks/ParagraphEditor-x2LTi6DN.js.map +0 -1
  140. package/dist/cdn/chunks/RichTextEditorContent-CzdMJ1c9.js +0 -123
  141. package/dist/cdn/chunks/RichTextEditorContent-CzdMJ1c9.js.map +0 -1
  142. package/dist/cdn/chunks/TemplateScoringPanel-CDC-JC6C.js.map +0 -1
  143. package/dist/cdn/chunks/TitleEditor-DCoulgN8.js.map +0 -1
  144. package/dist/cdn/chunks/TplModal-CxQDl-tN.js.map +0 -1
  145. package/dist/cdn/chunks/useEditorCore-CZxGbZmY.js.map +0 -1
  146. package/dist/cdn/chunks/useMergeTag-CbuagYNK.js +0 -46
  147. package/dist/cdn/chunks/useMergeTag-CbuagYNK.js.map +0 -1
  148. package/dist/scan-line-E7w4yQyv.js +0 -31
  149. package/dist/useMergeTag-CuZZeiSE.js +0 -44
@@ -0,0 +1,448 @@
1
+ import { Dt as e, G as t, S as n, T as r, U as i, X as a, c as o, d as s, g as c, h as l, j as u, k as d, kt as f, l as p, q as m, r as h, rt as g, s as _, u as v, v as y } from "./vue.runtime.esm-bundler-D9JUcKrV.js";
2
+ import { c as b, s as x } from "./runtime-dom.esm-bundler-BuG03jBM.js";
3
+ import { F as S, M as C, O as w, j as T } from "./dist-PL6vP4SC.js";
4
+ import { w as E } from "./useEditorCore-DdkQuTHl.js";
5
+ import { W as D } from "./keys-C3P1yxnr.js";
6
+ import { t as O } from "./useI18n-CL6RfPzK.js";
7
+ import { n as k } from "./usePopoverPosition-CWxaIWd3.js";
8
+ import { t as A } from "./createLucideIcon-Bvw1Zx56.js";
9
+ import { t as j } from "./x-DJOd1hS4.js";
10
+ import { t as M } from "./_plugin-vue_export-helper-B3ysoDQm.js";
11
+ import { t as N } from "./useMergeTag-gSuYus-M.js";
12
+ import { p as P } from "./styleConstants-C_YAPdQS.js";
13
+ import { n as F, r as I } from "./MergeTagSuggestion-CoCuzEmW.js";
14
+ var L = A("braces", [["path", {
15
+ d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",
16
+ key: "ezmyqa"
17
+ }], ["path", {
18
+ d: "M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",
19
+ key: "e1hn23"
20
+ }]]), R = A("scan-line", [
21
+ ["path", {
22
+ d: "M3 7V5a2 2 0 0 1 2-2h2",
23
+ key: "aa7l1z"
24
+ }],
25
+ ["path", {
26
+ d: "M17 3h2a2 2 0 0 1 2 2v2",
27
+ key: "4qcy5o"
28
+ }],
29
+ ["path", {
30
+ d: "M21 17v2a2 2 0 0 1-2 2h-2",
31
+ key: "6vwrx8"
32
+ }],
33
+ ["path", {
34
+ d: "M7 21H5a2 2 0 0 1-2-2v-2",
35
+ key: "ioqczr"
36
+ }],
37
+ ["path", {
38
+ d: "M7 12h10",
39
+ key: "b7w52i"
40
+ }]
41
+ ]);
42
+ //#endregion
43
+ //#region src/utils/mergeTagTrigger.ts
44
+ function z(e, t, n, r) {
45
+ if (!n) return null;
46
+ let i = e.slice(0, t), a = i.lastIndexOf(n);
47
+ if (a === -1) return null;
48
+ let o = i.slice(a + n.length);
49
+ return /\s/.test(o) || r && o.includes(r) ? null : {
50
+ triggerStart: a,
51
+ caret: t,
52
+ query: o
53
+ };
54
+ }
55
+ //#endregion
56
+ //#region src/utils/textFieldCaret.ts
57
+ var B = /* @__PURE__ */ "boxSizing.width.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.lineHeight.fontFamily.textAlign.textTransform.textIndent.letterSpacing.wordSpacing.tabSize.whiteSpace.wordWrap.wordBreak".split(".");
58
+ function V(e, t, n) {
59
+ return {
60
+ left: e,
61
+ top: t,
62
+ bottom: n,
63
+ right: e,
64
+ width: 0,
65
+ height: n - t,
66
+ x: e,
67
+ y: t,
68
+ toJSON: () => ({})
69
+ };
70
+ }
71
+ function H(e, t) {
72
+ let n = e.ownerDocument, r = n.defaultView;
73
+ if (!r) return null;
74
+ let i = e.tagName === "INPUT", a = r.getComputedStyle(e), o = n.createElement("div");
75
+ o.setAttribute("aria-hidden", "true");
76
+ let s = o.style;
77
+ s.position = "absolute", s.visibility = "hidden", s.top = "0", s.left = "0", s.overflow = "hidden", s.whiteSpace = i ? "pre" : "pre-wrap", s.wordWrap = i ? "normal" : "break-word";
78
+ let c = s, l = a;
79
+ for (let e of B) c[e] = l[e];
80
+ i && (s.width = "auto", s.whiteSpace = "pre");
81
+ let u = e.value, d = u.slice(0, t);
82
+ i && (d = d.replace(/\s/g, "\xA0")), o.textContent = d;
83
+ let f = n.createElement("span");
84
+ f.textContent = u.slice(t) || ".", o.appendChild(f), n.body.appendChild(o);
85
+ let p = f.offsetTop, m = f.offsetLeft;
86
+ n.body.removeChild(o);
87
+ let h = e.getBoundingClientRect(), g = parseFloat(a.borderTopWidth) || 0, _ = parseFloat(a.borderLeftWidth) || 0, v = parseFloat(a.lineHeight) || parseFloat(a.fontSize) || 0, y = h.left + m + _ - e.scrollLeft;
88
+ if (i) return V(y, h.top, h.bottom);
89
+ let b = h.top + p + g - e.scrollTop;
90
+ return V(y, b, b + v);
91
+ }
92
+ //#endregion
93
+ //#region src/composables/useMergeTagAutocomplete.ts
94
+ var U = /* @__PURE__ */ new Set([
95
+ "ArrowLeft",
96
+ "ArrowRight",
97
+ "Home",
98
+ "End"
99
+ ]);
100
+ function W(e) {
101
+ let { elementRef: a, modelValue: o, emit: s, mergeTags: c, syntax: l, enabled: u, onInsert: d } = e, f = C(l), p = T(l), h = u && f !== null && c.length > 0, g = n(D, null), _ = (t(g) ? g.value : g)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", v = k(), y = F(_, v), b = !1;
102
+ i() && m(() => {
103
+ b = !0, y.close();
104
+ });
105
+ function x(e) {
106
+ let t = e.value ?? "";
107
+ return z(t, e.selectionStart ?? t.length, f, p);
108
+ }
109
+ function S(e, t, n) {
110
+ let i = e.value ?? o(), c = i.slice(t.caret), l = p && c.startsWith(p) ? p.length : 0, u = i.slice(0, t.triggerStart), f = i.slice(t.caret + l), m = u + n.value + f, h = u.length + n.value.length;
111
+ d?.(), s(m), y.close(), r(() => {
112
+ if (b) return;
113
+ let e = a.value;
114
+ e?.focus(), e?.setSelectionRange(h, h);
115
+ });
116
+ }
117
+ function w() {
118
+ if (!h || b) return;
119
+ let e = a.value;
120
+ if (!e) {
121
+ y.close();
122
+ return;
123
+ }
124
+ let t = x(e);
125
+ if (!t) {
126
+ y.close();
127
+ return;
128
+ }
129
+ let n = I(c, t.query), r = () => H(e, t.triggerStart), i = (n) => S(e, t, n);
130
+ y.isOpen() ? y.update({
131
+ items: n,
132
+ getRect: r,
133
+ onCommand: i
134
+ }) : y.open({
135
+ items: n,
136
+ getRect: r,
137
+ anchorEl: e,
138
+ onCommand: i
139
+ });
140
+ }
141
+ function E(e) {
142
+ return y.isOpen() ? e.key === "Escape" ? (y.close(), !0) : U.has(e.key) ? (y.close(), !1) : y.handleKeyDown(e) : !1;
143
+ }
144
+ return {
145
+ available: h,
146
+ refresh: w,
147
+ handleKeydown: E,
148
+ close: () => y.close(),
149
+ isOpen: () => y.isOpen()
150
+ };
151
+ }
152
+ //#endregion
153
+ //#region src/composables/useMergeTagField.ts
154
+ function G(e) {
155
+ let { modelValue: t, emit: n, elementRef: o } = e, { mergeTags: s, canRequestMergeTag: c, isRequesting: l, isMergeTagValue: u, getMergeTagLabel: d, requestMergeTag: f, syntax: p, autocomplete: h } = N(), { canInsertLogicTag: g, isRequesting: v, requestLogicTag: y } = E(), b = a(!1), x = !1, C = !1;
156
+ i() && m(() => {
157
+ C = !0;
158
+ });
159
+ let T = W({
160
+ elementRef: o,
161
+ modelValue: t,
162
+ emit: n,
163
+ mergeTags: s,
164
+ syntax: p,
165
+ enabled: h,
166
+ onInsert: () => {
167
+ b.value = !0;
168
+ }
169
+ }), D = _(() => {
170
+ let e = t();
171
+ if (!e) return [];
172
+ let n = [], r = `(${p.value.source}|${p.logic.source})`, i = new RegExp(r, "g"), a = 0, o;
173
+ for (; (o = i.exec(e)) !== null;) {
174
+ o.index > a && n.push({
175
+ type: "text",
176
+ value: e.slice(a, o.index)
177
+ });
178
+ let t = o[0];
179
+ u(t) ? n.push({
180
+ type: "mergeTag",
181
+ value: t,
182
+ label: d(t)
183
+ }) : S(t, p) ? n.push({
184
+ type: "logicMergeTag",
185
+ value: t,
186
+ keyword: w(t, p)
187
+ }) : n.push({
188
+ type: "text",
189
+ value: t
190
+ }), a = o.index + t.length;
191
+ }
192
+ return a < e.length && n.push({
193
+ type: "text",
194
+ value: e.slice(a)
195
+ }), n;
196
+ }), O = _(() => D.value.some((e) => e.type === "mergeTag" || e.type === "logicMergeTag"));
197
+ function k() {
198
+ b.value = !0, r(() => {
199
+ o.value?.focus();
200
+ let e = t()?.length || 0;
201
+ o.value?.setSelectionRange(e, e);
202
+ });
203
+ }
204
+ function A() {
205
+ x || (b.value = !1);
206
+ }
207
+ function j(e) {
208
+ n(e.target.value), T.refresh();
209
+ }
210
+ function M(e) {
211
+ return T.handleKeydown(e) ? (e.preventDefault(), !0) : (e.key === "Escape" && A(), !1);
212
+ }
213
+ function P() {
214
+ T.refresh();
215
+ }
216
+ function F() {
217
+ T.close(), A();
218
+ }
219
+ function I() {
220
+ n("");
221
+ }
222
+ async function L() {
223
+ let e = b.value && o.value ? o.value.selectionStart ?? t().length : t().length;
224
+ x = !0;
225
+ let i;
226
+ try {
227
+ i = await f();
228
+ } finally {
229
+ x = !1;
230
+ }
231
+ if (!C && i) {
232
+ let a = t().slice(0, e), s = t().slice(e), c = a + i.value + s;
233
+ n(c), b.value = !0, r(() => {
234
+ if (C) return;
235
+ let t = e + i.value.length;
236
+ o.value?.focus(), o.value?.setSelectionRange(t, t);
237
+ });
238
+ }
239
+ }
240
+ async function R() {
241
+ let e = o.value, i = e?.selectionStart ?? t().length, a = e?.selectionEnd ?? i;
242
+ x = !0;
243
+ let s;
244
+ try {
245
+ s = await y();
246
+ } finally {
247
+ x = !1;
248
+ }
249
+ if (C || !s) return;
250
+ let c = t(), l, u;
251
+ "before" in s ? (l = c.slice(0, i) + s.before + c.slice(i, a) + s.after + c.slice(a), u = i + s.before.length + (a - i)) : (l = c.slice(0, i) + s.value + c.slice(i), u = i + s.value.length), n(l), b.value = !0, r(() => {
252
+ C || (o.value?.focus(), o.value?.setSelectionRange(u, u));
253
+ });
254
+ }
255
+ return {
256
+ segments: D,
257
+ hasMergeTags: O,
258
+ canRequestMergeTag: c,
259
+ isRequestingMergeTag: l,
260
+ canInsertLogicTag: g,
261
+ isRequestingLogicTag: v,
262
+ isEditing: b,
263
+ startEditing: k,
264
+ stopEditing: A,
265
+ handleInput: j,
266
+ handleKeydown: M,
267
+ handleClick: P,
268
+ handleBlur: F,
269
+ clearValue: I,
270
+ insertMergeTag: L,
271
+ insertLogicTag: R,
272
+ autocompleteAvailable: T.available
273
+ };
274
+ }
275
+ //#endregion
276
+ //#region src/components/MergeTagSegments.vue?vue&type=script&setup=true&lang.ts
277
+ var K = ["aria-label", "onKeydown"], q = ["data-tooltip"], J = ["data-tooltip"], Y = {
278
+ key: 2,
279
+ class: "tpl:text-sm tpl:text-[var(--tpl-text)]"
280
+ }, X = ["aria-label", "title"], Z = /* @__PURE__ */ y({
281
+ __name: "MergeTagSegments",
282
+ props: {
283
+ segments: {},
284
+ displayClass: {},
285
+ pulse: { type: Boolean }
286
+ },
287
+ emits: ["edit", "clear"],
288
+ setup(t, { emit: n }) {
289
+ let r = n, { t: i } = O();
290
+ function a() {
291
+ r("edit");
292
+ }
293
+ return (n, l) => (d(), s("div", {
294
+ role: "button",
295
+ tabindex: "0",
296
+ "aria-label": g(i).mergeTag.clickToEdit,
297
+ class: e([t.displayClass, { "tpl-pulse-fill": t.pulse }]),
298
+ onClick: a,
299
+ onKeydown: [x(a, ["enter"]), x(b(a, ["prevent"]), ["space"])]
300
+ }, [(d(!0), s(h, null, u(t.segments, (e, t) => (d(), s(h, { key: `${e.type}-${t}-${e.value}` }, [e.type === "mergeTag" ? (d(), s("span", {
301
+ key: 0,
302
+ class: "tpl-tooltip tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[0.9em] tpl:font-medium",
303
+ "data-tooltip": e.value,
304
+ style: {
305
+ "background-color": "color-mix(\n in srgb,\n var(--tpl-primary) 20%,\n transparent\n )",
306
+ color: "var(--tpl-primary)"
307
+ }
308
+ }, f(e.label), 9, q)) : e.type === "logicMergeTag" ? (d(), s("span", {
309
+ key: 1,
310
+ class: "tpl-tooltip tpl:inline-flex tpl:items-center tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[0.8em] tpl:font-bold tpl:tracking-wide tpl:uppercase",
311
+ "data-tooltip": e.value,
312
+ style: {
313
+ "background-color": "transparent",
314
+ border: "1.5px solid\n color-mix(in srgb, var(--tpl-primary) 50%, transparent)",
315
+ color: "var(--tpl-primary)"
316
+ }
317
+ }, f(e.keyword), 9, J)) : (d(), s("span", Y, f(e.value), 1))], 64))), 128)), o("button", {
318
+ type: "button",
319
+ class: "tpl:ml-auto tpl:flex tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-full tpl:border-none tpl:bg-transparent tpl:p-0 tpl:text-[var(--tpl-text-dim)] tpl:opacity-60 tpl:transition-all tpl:hover:text-[var(--tpl-danger)] tpl:hover:opacity-100",
320
+ "aria-label": g(i).mergeTag.remove,
321
+ title: g(i).mergeTag.remove,
322
+ onClick: l[0] ||= b((e) => r("clear"), ["stop"])
323
+ }, [c(g(j), {
324
+ size: 12,
325
+ "stroke-width": 2.5
326
+ })], 8, X)], 42, K));
327
+ }
328
+ }), ee = [
329
+ "aria-label",
330
+ "title",
331
+ "disabled"
332
+ ], te = "tpl:flex tpl:items-center tpl:justify-center tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:px-2 tpl:py-1 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] tpl:hover:bg-[var(--tpl-primary-light)] tpl:hover:text-[var(--tpl-primary)] tpl:hover:border-[var(--tpl-primary)]", Q = /* @__PURE__ */ y({
333
+ __name: "MergeTagInsertButton",
334
+ props: { disabled: { type: Boolean } },
335
+ emits: ["insert"],
336
+ setup(t) {
337
+ let { t: n } = O();
338
+ return (r, i) => (d(), s("button", {
339
+ type: "button",
340
+ class: e([te, "tpl:mt-1.5"]),
341
+ "aria-label": g(n).mergeTag.insert,
342
+ title: g(n).mergeTag.insert,
343
+ disabled: t.disabled,
344
+ onMousedown: i[0] ||= b(() => {}, ["prevent"]),
345
+ onClick: i[1] ||= (e) => r.$emit("insert")
346
+ }, [c(g(R), {
347
+ size: 12,
348
+ "stroke-width": 2
349
+ }), l(" " + f(g(n).mergeTag.insertShort), 1)], 42, ee));
350
+ }
351
+ }), ne = [
352
+ "aria-label",
353
+ "title",
354
+ "disabled"
355
+ ], re = "tpl:flex tpl:items-center tpl:justify-center tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:px-2 tpl:py-1 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] tpl:hover:bg-[var(--tpl-primary-light)] tpl:hover:text-[var(--tpl-primary)] tpl:hover:border-[var(--tpl-primary)]", $ = /* @__PURE__ */ y({
356
+ __name: "LogicTagInsertButton",
357
+ props: { disabled: { type: Boolean } },
358
+ emits: ["insert"],
359
+ setup(t) {
360
+ let { t: n } = O();
361
+ return (r, i) => (d(), s("button", {
362
+ type: "button",
363
+ class: e([re, "tpl:mt-1.5"]),
364
+ "aria-label": g(n).logicTag.insert,
365
+ title: g(n).logicTag.insert,
366
+ disabled: t.disabled,
367
+ "data-testid": "field-insert-logic-button",
368
+ onMousedown: i[0] ||= b(() => {}, ["prevent"]),
369
+ onClick: i[1] ||= (e) => r.$emit("insert")
370
+ }, [c(g(L), {
371
+ size: 12,
372
+ "stroke-width": 2
373
+ }), l(" " + f(g(n).logicTag.insertShort), 1)], 42, ne));
374
+ }
375
+ }), ie = { key: 0 }, ae = {
376
+ key: 0,
377
+ class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
378
+ }, oe = { key: 1 }, se = [
379
+ "type",
380
+ "value",
381
+ "placeholder"
382
+ ], ce = {
383
+ key: 0,
384
+ class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
385
+ }, le = "tpl:flex tpl:w-full tpl:min-h-10 tpl:cursor-pointer tpl:items-center tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-[var(--tpl-shadow-sm)] tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3.5 tpl:py-1.5 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", ue = /*#__PURE__*/ M(/* @__PURE__ */ y({
386
+ __name: "MergeTagInput",
387
+ props: {
388
+ modelValue: {},
389
+ type: { default: "text" },
390
+ placeholder: { default: "" },
391
+ pulse: {
392
+ type: Boolean,
393
+ default: !1
394
+ }
395
+ },
396
+ emits: ["update:modelValue", "keydown"],
397
+ setup(t, { emit: n }) {
398
+ let r = t, i = n, l = a(null), { segments: u, hasMergeTags: f, canRequestMergeTag: m, isRequestingMergeTag: h, canInsertLogicTag: _, isRequestingLogicTag: y, isEditing: b, startEditing: x, handleInput: S, handleKeydown: C, handleClick: w, handleBlur: T, clearValue: E, insertMergeTag: D, insertLogicTag: O } = G({
399
+ modelValue: () => r.modelValue,
400
+ emit: (e) => i("update:modelValue", e),
401
+ elementRef: l
402
+ });
403
+ function k(e) {
404
+ C(e) || i("keydown", e);
405
+ }
406
+ return (n, r) => g(f) && !g(b) ? (d(), s("div", ie, [c(Z, {
407
+ segments: g(u),
408
+ "display-class": le,
409
+ pulse: t.pulse,
410
+ onEdit: g(x),
411
+ onClear: g(E)
412
+ }, null, 8, [
413
+ "segments",
414
+ "pulse",
415
+ "onEdit",
416
+ "onClear"
417
+ ]), g(m) || g(_) ? (d(), s("div", ae, [g(m) ? (d(), p(Q, {
418
+ key: 0,
419
+ disabled: g(h),
420
+ onInsert: g(D)
421
+ }, null, 8, ["disabled", "onInsert"])) : v("", !0), g(_) ? (d(), p($, {
422
+ key: 1,
423
+ disabled: g(y),
424
+ onInsert: g(O)
425
+ }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : v("", !0)])) : (d(), s("div", oe, [o("input", {
426
+ ref_key: "inputRef",
427
+ ref: l,
428
+ type: t.type,
429
+ class: e([g(P), { "tpl-pulse-fill": t.pulse }]),
430
+ value: t.modelValue,
431
+ placeholder: t.placeholder,
432
+ onInput: r[0] ||= (...e) => g(S) && g(S)(...e),
433
+ onKeydown: k,
434
+ onClick: r[1] ||= (...e) => g(w) && g(w)(...e),
435
+ onBlur: r[2] ||= (...e) => g(T) && g(T)(...e)
436
+ }, null, 42, se), g(m) || g(_) ? (d(), s("div", ce, [g(m) ? (d(), p(Q, {
437
+ key: 0,
438
+ disabled: g(h),
439
+ onInsert: g(D)
440
+ }, null, 8, ["disabled", "onInsert"])) : v("", !0), g(_) ? (d(), p($, {
441
+ key: 1,
442
+ disabled: g(y),
443
+ onInsert: g(O)
444
+ }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : v("", !0)]));
445
+ }
446
+ }), [["__scopeId", "data-v-31b31866"]]);
447
+ //#endregion
448
+ export { G as a, Z as i, $ as n, R as o, Q as r, L as s, ue as t };
@@ -1,7 +1,7 @@
1
1
  import { Ot as e, S as t, c as n, d as r, j as i, k as a, kt as o, l as s, r as c, rt as l, s as u, u as d, v as f } from "./vue.runtime.esm-bundler-D9JUcKrV.js";
2
2
  import { N as p } from "./dist-PL6vP4SC.js";
3
- import { T as m } from "./keys-BJJ4hJ4z.js";
4
- import { t as h } from "./useI18n-DUVIAju4.js";
3
+ import { E as m } from "./keys-C3P1yxnr.js";
4
+ import { t as h } from "./useI18n-CL6RfPzK.js";
5
5
  import { t as g } from "./createLucideIcon-Bvw1Zx56.js";
6
6
  import { t as _ } from "./sparkles-Dy2BJjiX.js";
7
7
  var v = g("monitor", [
@@ -1,18 +1,18 @@
1
1
  import { Dt as e, G as t, Ot as n, P as r, S as i, X as a, c as o, d as s, g as c, h as l, i as u, j as d, k as f, kt as p, l as m, r as h, rt as g, s as _, u as v, v as y } from "./vue.runtime.esm-bundler-D9JUcKrV.js";
2
2
  import { c as b, s as x } from "./runtime-dom.esm-bundler-BuG03jBM.js";
3
- import { C as S, D as C, E as w, S as T } from "./useEditorCore-BWrxHVKW.js";
3
+ import { C as S, D as C, E as w, S as T } from "./useEditorCore-DdkQuTHl.js";
4
4
  import { t as E } from "./dist-dNiknO7j.js";
5
- import { D, K as O, V as k, W as ee, _ as te, h as ne, w as re } from "./keys-BJJ4hJ4z.js";
6
- import { t as A } from "./useI18n-DUVIAju4.js";
7
- import { n as j } from "./usePopoverPosition-APlWgXoQ.js";
5
+ import { J as D, K as O, O as k, U as ee, _ as te, h as ne, w as re } from "./keys-C3P1yxnr.js";
6
+ import { t as A } from "./useI18n-CL6RfPzK.js";
7
+ import { n as j } from "./usePopoverPosition-CWxaIWd3.js";
8
8
  import { t as M } from "./createLucideIcon-Bvw1Zx56.js";
9
- import { a as N, i as ie, n as P, r as ae, t as F } from "./RichTextEditorContent-DKLVe6Io.js";
10
- import { n as oe, t as se } from "./scan-line-E7w4yQyv.js";
9
+ import { a as N, i as ie, n as P, r as ae, t as F } from "./RichTextEditorContent-BmTcV2-a.js";
10
+ import { o as oe, s as se } from "./MergeTagInput-RytOlh1A.js";
11
11
  import { t as ce } from "./loader-circle-t-SVgmJ3.js";
12
12
  import { n as le, r as ue, t as de } from "./text-align-start-DrxjxvIy.js";
13
13
  import { t as I } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
14
  import { a as fe, n as pe, o as me, s as he } from "./styleConstants-C_YAPdQS.js";
15
- import { t as L } from "./ColorPicker-Cs7iK01u.js";
15
+ import { t as L } from "./ColorPicker-C6EOwtHC.js";
16
16
  var R = M("face-slightly-smiling", [
17
17
  ["path", {
18
18
  d: "M15 10V9",
@@ -314,7 +314,7 @@ var De = ["data-tpl-theme", "aria-label"], $ = { class: "tpl:flex tpl:items-cent
314
314
  "add-logic-tag"
315
315
  ],
316
316
  setup(e, { emit: t }) {
317
- let r = e, a = t, d = i(k, null), y = i(ee, null), b = O(te, "ParagraphToolbar"), x = j(), S = i(D, null), C = i(re, null), w = i(ne, null), T = _(() => (S?.isOpen.value ?? !1) || (C?.isOpen.value ?? !1)), { t: E } = A(), M = b.fonts;
317
+ let r = e, a = t, d = i(ee, null), y = i(O, null), b = D(te, "ParagraphToolbar"), x = j(), S = i(k, null), C = i(re, null), w = i(ne, null), T = _(() => (S?.isOpen.value ?? !1) || (C?.isOpen.value ?? !1)), { t: E } = A(), M = b.fonts;
318
318
  function P(e) {
319
319
  r.editor?.chain().focus().insertContent(e).run();
320
320
  }
@@ -371,7 +371,7 @@ var De = ["data-tpl-theme", "aria-label"], $ = { class: "tpl:flex tpl:items-cent
371
371
  "data-tpl-theme": g(y),
372
372
  role: "toolbar",
373
373
  "aria-label": g(E).paragraphEditor.toolbar,
374
- class: "tpl tpl-text-toolbar tpl:absolute tpl:z-popover tpl:flex tpl:gap-1 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:shadow-[var(--tpl-shadow-lg)]",
374
+ class: "tpl tpl-text-toolbar tpl:absolute tpl:flex tpl:gap-1 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:shadow-[var(--tpl-shadow-lg)]",
375
375
  style: n({
376
376
  ...g(d),
377
377
  top: `${e.toolbarPosition.top}px`,
@@ -608,7 +608,7 @@ var De = ["data-tpl-theme", "aria-label"], $ = { class: "tpl:flex tpl:items-cent
608
608
  "aria-label": g(E).mergeTag.insert,
609
609
  title: g(E).mergeTag.insert,
610
610
  onClick: r[14] ||= (e) => a("add-merge-tag")
611
- }, [c(g(se), {
611
+ }, [c(g(oe), {
612
612
  size: 16,
613
613
  "stroke-width": 2
614
614
  }), l(" " + p(g(E).mergeTag.insertShort), 1)], 8, ke)], 64)) : v("", !0),
@@ -619,7 +619,7 @@ var De = ["data-tpl-theme", "aria-label"], $ = { class: "tpl:flex tpl:items-cent
619
619
  title: g(E).logicTag.insert,
620
620
  "data-testid": "insert-logic-button",
621
621
  onClick: r[15] ||= (e) => a("add-logic-tag")
622
- }, [c(g(oe), {
622
+ }, [c(g(se), {
623
623
  size: 16,
624
624
  "stroke-width": 2
625
625
  }), l(" " + p(g(E).logicTag.insertShort), 1)], 8, Ae)], 64)) : v("", !0)
@@ -655,7 +655,7 @@ var De = ["data-tpl-theme", "aria-label"], $ = { class: "tpl:flex tpl:items-cent
655
655
  import("./dist-D08oVYhr.js"),
656
656
  import("./dist-DzdeVn-W.js"),
657
657
  import("./dist-f7HXo6j6.js"),
658
- import("./extensions-5xeZR9U9.js")
658
+ import("./extensions-Mf8iHey9.js")
659
659
  ]);
660
660
  return {
661
661
  TiptapEditor: o,
@@ -1,9 +1,9 @@
1
1
  import { Dt as e, c as t, d as n, g as r, h as i, k as a, kt as o, l as s, rt as c, u as l, v as u, z as d } from "./vue.runtime.esm-bundler-D9JUcKrV.js";
2
- import { t as f } from "./useI18n-DUVIAju4.js";
2
+ import { t as f } from "./useI18n-CL6RfPzK.js";
3
3
  import { t as p } from "./loader-circle-t-SVgmJ3.js";
4
4
  import { t as m } from "./triangle-alert-DxnFj4-B.js";
5
5
  import { d as h, v as g, x as _ } from "./styleConstants-C_YAPdQS.js";
6
- import { t as v } from "./TplModal-CEYnwBBk.js";
6
+ import { t as v } from "./TplModal-CowM3o_F.js";
7
7
  //#region src/components/RestoreVersionDialog.vue?vue&type=script&setup=true&lang.ts
8
8
  var y = ["aria-busy"], b = { class: "tpl:flex tpl:items-center tpl:gap-2" }, x = {
9
9
  id: "tpl-restore-version-title",