@templatical/editor 0.27.3 → 0.27.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/dist/{AiChatSidebar-inzMb2Vi.js → AiChatSidebar-LstHjwBU.js} +7 -7
  2. package/dist/{AiFeatureMenu-BTdgjwdx.js → AiFeatureMenu-YE9qqElA.js} +4 -4
  3. package/dist/{BlockIssueBadge-a7jENlL4.js → BlockIssueBadge-DKaFQNxW.js} +2 -2
  4. package/dist/{BlockPreviewCanvas-CMuRmhQg.js → BlockPreviewCanvas-CF7r-mw4.js} +1 -1
  5. package/dist/{CloudHeaderExtras-Bgr-Ox9M.js → CloudHeaderExtras-msYo6uhq.js} +5 -5
  6. package/dist/{CloudPanels-oFNlTOO5.js → CloudPanels-DCeNSwXy.js} +3 -3
  7. package/dist/{CollaboratorBar-BHja900c.js → CollaboratorBar-D1Tx8cds.js} +2 -2
  8. package/dist/{ColorPicker-ClUa_hMj.js → ColorPicker-BNfy9BdG.js} +2 -2
  9. package/dist/{CommentsPanel-CB1-poNb.js → CommentsPanel-c5LmzlNN.js} +1 -1
  10. package/dist/{CommentsSidebar-B6mV8ft4.js → CommentsSidebar-Bm1DxFb5.js} +10 -10
  11. package/dist/{CountdownToolbar-BpnKUXN_.js → CountdownToolbar-D-o_hwsO.js} +3 -3
  12. package/dist/{DesignReferenceSidebar-BC5UxrJl.js → DesignReferenceSidebar-C8WTApc5.js} +5 -5
  13. package/dist/{IssuesPanel-BFczwZkL.js → IssuesPanel-D49aJjLS.js} +5 -5
  14. package/dist/{MergeTagModeToggle-koHNtEJe.js → MergeTagModeToggle-CVzJY9b2.js} +2 -2
  15. package/dist/{MergeTagSuggestion-DGha0WRp.js → MergeTagSuggestion-DflUPfkT.js} +2 -2
  16. package/dist/{NumberWithSuffix-D9mPtMJB.js → NumberWithSuffix-DZAktKby.js} +1 -1
  17. package/dist/{ParagraphEditor-cKosDi_l.js → ParagraphEditor-CoN76ofC.js} +20 -20
  18. package/dist/{RestoreVersionDialog-DpZmcFuf.js → RestoreVersionDialog-DUXGp-Nw.js} +4 -4
  19. package/dist/{RichTextEditorContent-Br3WBNOs.js → RichTextEditorContent-DxicfnPf.js} +3 -3
  20. package/dist/{SaveBlockDialog-C7mSGScN.js → SaveBlockDialog-D0B9SKf9.js} +16 -16
  21. package/dist/{SavedBlocksBrowserModal-D7MYzuVP.js → SavedBlocksBrowserModal-vdci8i18.js} +8 -8
  22. package/dist/{SavedBlocksPanels-D5T63WyR.js → SavedBlocksPanels-CTmlYwIT.js} +1 -1
  23. package/dist/{SavedBlocksPickBar-BluJS58M.js → SavedBlocksPickBar-DMtV1UKQ.js} +2 -2
  24. package/dist/{TemplateScoringPanel-C0z27t2p.js → TemplateScoringPanel-BFsUqnXR.js} +10 -10
  25. package/dist/{TestEmailModal-DoSIuHXe.js → TestEmailModal-4pHgNCmg.js} +7 -7
  26. package/dist/{TestEmailPanel-3Y6uUX3Z.js → TestEmailPanel-kp84Z0hs.js} +1 -1
  27. package/dist/{TitleEditor-D9IWtoH3.js → TitleEditor-BdRlIm67.js} +8 -8
  28. package/dist/{TplModal-CyBCFn5s.js → TplModal-CUV1Sd-2.js} +1 -1
  29. package/dist/{VersionHistoryMenu-8nd_aOnh.js → VersionHistoryMenu-CrIVG_SN.js} +10 -10
  30. package/dist/{VersionHistoryPanels-Cm7MxfrI.js → VersionHistoryPanels-dyV9JP5G.js} +1 -1
  31. package/dist/{VersionPreviewBanner-B9w773jz.js → VersionPreviewBanner-Bb1cnMZ3.js} +2 -2
  32. package/dist/{blockTypeIcons-BRCuWioG.js → blockTypeIcons-B13kXe55.js} +2 -2
  33. package/dist/bundle-stats.json +6 -6
  34. package/dist/cdn/chunks/{AiChatSidebar-BIvQg9Q5.js → AiChatSidebar-tZqbhmuJ.js} +2 -2
  35. package/dist/cdn/chunks/{AiChatSidebar-BIvQg9Q5.js.map → AiChatSidebar-tZqbhmuJ.js.map} +1 -1
  36. package/dist/cdn/chunks/{AiFeatureMenu-BMvcmvDZ.js → AiFeatureMenu-CS62uVuh.js} +3 -3
  37. package/dist/cdn/chunks/{AiFeatureMenu-BMvcmvDZ.js.map → AiFeatureMenu-CS62uVuh.js.map} +1 -1
  38. package/dist/cdn/chunks/{BlockIssueBadge-Drrmjqd7.js → BlockIssueBadge-D9L8j7Db.js} +2 -2
  39. package/dist/cdn/chunks/{BlockIssueBadge-Drrmjqd7.js.map → BlockIssueBadge-D9L8j7Db.js.map} +1 -1
  40. package/dist/cdn/chunks/{BlockPreviewCanvas-CuWJLv8h.js → BlockPreviewCanvas-DcCqg909.js} +2 -2
  41. package/dist/cdn/chunks/{BlockPreviewCanvas-CuWJLv8h.js.map → BlockPreviewCanvas-DcCqg909.js.map} +1 -1
  42. package/dist/cdn/chunks/{CloudHeaderExtras-Ctat5U0M.js → CloudHeaderExtras-d_8bZemh.js} +6 -6
  43. package/dist/cdn/chunks/CloudHeaderExtras-d_8bZemh.js.map +1 -0
  44. package/dist/cdn/chunks/{CloudPanels-YRYmXE9O.js → CloudPanels-DVtJkWsj.js} +4 -4
  45. package/dist/cdn/chunks/{CloudPanels-YRYmXE9O.js.map → CloudPanels-DVtJkWsj.js.map} +1 -1
  46. package/dist/cdn/chunks/{CollaboratorBar-DgdxBCkN.js → CollaboratorBar-CpHDWa9D.js} +3 -3
  47. package/dist/cdn/chunks/{CollaboratorBar-DgdxBCkN.js.map → CollaboratorBar-CpHDWa9D.js.map} +1 -1
  48. package/dist/cdn/chunks/{ColorPicker-B-we7_bC.js → ColorPicker-QPBbkWAs.js} +3 -3
  49. package/dist/cdn/chunks/{ColorPicker-B-we7_bC.js.map → ColorPicker-QPBbkWAs.js.map} +1 -1
  50. package/dist/cdn/chunks/{CommentsPanel-D7Y-74Nj.js → CommentsPanel-COhQMagD.js} +2 -2
  51. package/dist/cdn/chunks/{CommentsPanel-D7Y-74Nj.js.map → CommentsPanel-COhQMagD.js.map} +1 -1
  52. package/dist/cdn/chunks/{CommentsSidebar-DxTobvYS.js → CommentsSidebar-vzLX-_h3.js} +2 -2
  53. package/dist/cdn/chunks/{CommentsSidebar-DxTobvYS.js.map → CommentsSidebar-vzLX-_h3.js.map} +1 -1
  54. package/dist/cdn/chunks/{CountdownToolbar-D8QWL-jK.js → CountdownToolbar-CMJVzd97.js} +4 -4
  55. package/dist/cdn/chunks/{CountdownToolbar-D8QWL-jK.js.map → CountdownToolbar-CMJVzd97.js.map} +1 -1
  56. package/dist/cdn/chunks/{DesignReferenceSidebar-D9Lm4Al0.js → DesignReferenceSidebar-npLxDRJI.js} +2 -2
  57. package/dist/cdn/chunks/{DesignReferenceSidebar-D9Lm4Al0.js.map → DesignReferenceSidebar-npLxDRJI.js.map} +1 -1
  58. package/dist/cdn/chunks/{IssuesPanel-Dz90c1C6.js → IssuesPanel-CTGlv7HF.js} +2 -2
  59. package/dist/cdn/chunks/{IssuesPanel-Dz90c1C6.js.map → IssuesPanel-CTGlv7HF.js.map} +1 -1
  60. package/dist/cdn/chunks/{MergeTagModeToggle-CfFrfYNC.js → MergeTagModeToggle-CkpKFx9N.js} +2 -2
  61. package/dist/cdn/chunks/{MergeTagModeToggle-CfFrfYNC.js.map → MergeTagModeToggle-CkpKFx9N.js.map} +1 -1
  62. package/dist/cdn/chunks/{MergeTagSuggestion-DhllqTA3.js → MergeTagSuggestion-Df7jcLpS.js} +2 -2
  63. package/dist/cdn/chunks/{MergeTagSuggestion-DhllqTA3.js.map → MergeTagSuggestion-Df7jcLpS.js.map} +1 -1
  64. package/dist/cdn/chunks/{NumberWithSuffix-mm6AfIv4.js → NumberWithSuffix-DNBrbl4H.js} +2 -2
  65. package/dist/cdn/chunks/{NumberWithSuffix-mm6AfIv4.js.map → NumberWithSuffix-DNBrbl4H.js.map} +1 -1
  66. package/dist/cdn/chunks/{ParagraphEditor-Be-BO5hD.js → ParagraphEditor-CbP_rcqb.js} +18 -18
  67. package/dist/cdn/chunks/{ParagraphEditor-Be-BO5hD.js.map → ParagraphEditor-CbP_rcqb.js.map} +1 -1
  68. package/dist/cdn/chunks/{RestoreVersionDialog-CKtz_FEz.js → RestoreVersionDialog-DYI-M27i.js} +4 -4
  69. package/dist/cdn/chunks/{RestoreVersionDialog-CKtz_FEz.js.map → RestoreVersionDialog-DYI-M27i.js.map} +1 -1
  70. package/dist/cdn/chunks/{RichTextEditorContent-D3eWZ793.js → RichTextEditorContent-C-kbbKaq.js} +3 -3
  71. package/dist/cdn/chunks/{RichTextEditorContent-D3eWZ793.js.map → RichTextEditorContent-C-kbbKaq.js.map} +1 -1
  72. package/dist/cdn/chunks/{SaveBlockDialog-C5nT7Fxi.js → SaveBlockDialog-BBwDyRpC.js} +15 -15
  73. package/dist/cdn/chunks/{SaveBlockDialog-C5nT7Fxi.js.map → SaveBlockDialog-BBwDyRpC.js.map} +1 -1
  74. package/dist/cdn/chunks/{SavedBlocksBrowserModal-Cvyewimb.js → SavedBlocksBrowserModal-B_zqSoWl.js} +7 -7
  75. package/dist/cdn/chunks/{SavedBlocksBrowserModal-Cvyewimb.js.map → SavedBlocksBrowserModal-B_zqSoWl.js.map} +1 -1
  76. package/dist/cdn/chunks/{SavedBlocksPanels-B7aBlxKW.js → SavedBlocksPanels-B_XNxwzs.js} +2 -2
  77. package/dist/cdn/chunks/{SavedBlocksPanels-B7aBlxKW.js.map → SavedBlocksPanels-B_XNxwzs.js.map} +1 -1
  78. package/dist/cdn/chunks/{SavedBlocksPickBar-D0opM9P9.js → SavedBlocksPickBar-C3BP5941.js} +3 -3
  79. package/dist/cdn/chunks/{SavedBlocksPickBar-D0opM9P9.js.map → SavedBlocksPickBar-C3BP5941.js.map} +1 -1
  80. package/dist/cdn/chunks/{TemplateScoringPanel-DEsNZlHe.js → TemplateScoringPanel-MvdrkgqL.js} +2 -2
  81. package/dist/cdn/chunks/{TemplateScoringPanel-DEsNZlHe.js.map → TemplateScoringPanel-MvdrkgqL.js.map} +1 -1
  82. package/dist/cdn/chunks/{TestEmailModal-BANpGbEP.js → TestEmailModal-CnoOTm5c.js} +7 -7
  83. package/dist/cdn/chunks/{TestEmailModal-BANpGbEP.js.map → TestEmailModal-CnoOTm5c.js.map} +1 -1
  84. package/dist/cdn/chunks/{TestEmailPanel-DItZMP3B.js → TestEmailPanel-BcvY4bL7.js} +2 -2
  85. package/dist/cdn/chunks/{TestEmailPanel-DItZMP3B.js.map → TestEmailPanel-BcvY4bL7.js.map} +1 -1
  86. package/dist/cdn/chunks/{TitleEditor-D_NJ4Ww8.js → TitleEditor-5Ytpa9n2.js} +8 -8
  87. package/dist/cdn/chunks/{TitleEditor-D_NJ4Ww8.js.map → TitleEditor-5Ytpa9n2.js.map} +1 -1
  88. package/dist/cdn/chunks/{TplModal-C51W8LTn.js → TplModal-pGADKFOL.js} +2 -2
  89. package/dist/cdn/chunks/{TplModal-C51W8LTn.js.map → TplModal-pGADKFOL.js.map} +1 -1
  90. package/dist/cdn/chunks/{VersionHistoryMenu-Cv23A0uu.js → VersionHistoryMenu-BNYSIjVj.js} +4 -4
  91. package/dist/cdn/chunks/{VersionHistoryMenu-Cv23A0uu.js.map → VersionHistoryMenu-BNYSIjVj.js.map} +1 -1
  92. package/dist/cdn/chunks/{VersionHistoryPanels-DHDN1owI.js → VersionHistoryPanels-CSryv5rE.js} +2 -2
  93. package/dist/cdn/chunks/{VersionHistoryPanels-DHDN1owI.js.map → VersionHistoryPanels-CSryv5rE.js.map} +1 -1
  94. package/dist/cdn/chunks/{VersionPreviewBanner-Dw4kFkrh.js → VersionPreviewBanner-C4mr6y2u.js} +3 -3
  95. package/dist/cdn/chunks/{VersionPreviewBanner-Dw4kFkrh.js.map → VersionPreviewBanner-C4mr6y2u.js.map} +1 -1
  96. package/dist/cdn/chunks/{blockTypeIcons-hX_W4dqo.js → blockTypeIcons-A9qFb1cR.js} +2 -2
  97. package/dist/cdn/chunks/{blockTypeIcons-hX_W4dqo.js.map → blockTypeIcons-A9qFb1cR.js.map} +1 -1
  98. package/dist/cdn/chunks/{createCloudRuntime-D75oJ9j-.js → createCloudRuntime-DYDf_-rN.js} +2 -2
  99. package/dist/cdn/chunks/{createCloudRuntime-D75oJ9j-.js.map → createCloudRuntime-DYDf_-rN.js.map} +1 -1
  100. package/dist/cdn/chunks/{extensions-Byo2sA1r.js → extensions-P0lpi6k8.js} +3 -3
  101. package/dist/cdn/chunks/{extensions-Byo2sA1r.js.map → extensions-P0lpi6k8.js.map} +1 -1
  102. package/dist/cdn/chunks/{icons-C36Ha5VU.js → icons-Dl5bcXmT.js} +7 -7
  103. package/dist/cdn/chunks/{icons-C36Ha5VU.js.map → icons-Dl5bcXmT.js.map} +1 -1
  104. package/dist/cdn/chunks/{src-CoHDh8Ua.js → src-BDUi-9js.js} +15 -15
  105. package/dist/cdn/chunks/{src-CoHDh8Ua.js.map → src-BDUi-9js.js.map} +1 -1
  106. package/dist/cdn/chunks/{src-B_pCqXyM.js → src-DNhD7a2v.js} +3 -3
  107. package/dist/cdn/chunks/{src-B_pCqXyM.js.map → src-DNhD7a2v.js.map} +1 -1
  108. package/dist/cdn/chunks/{styleConstants-9oK5kn21.js → styleConstants-C_YAPdQS.js} +8 -8
  109. package/dist/cdn/chunks/{styleConstants-9oK5kn21.js.map → styleConstants-C_YAPdQS.js.map} +1 -1
  110. package/dist/cdn/chunks/{tiptap-DmpGap5g.js → tiptap-DWeSx_P8.js} +1012 -987
  111. package/dist/cdn/chunks/tiptap-DWeSx_P8.js.map +1 -0
  112. package/dist/cdn/chunks/{useEditorCore-BtEO1qms.js → useEditorCore-DTpSiO4S.js} +5 -5
  113. package/dist/cdn/chunks/{useEditorCore-BtEO1qms.js.map → useEditorCore-DTpSiO4S.js.map} +1 -1
  114. package/dist/cdn/editor.css +1 -1
  115. package/dist/cdn/editor.js +948 -939
  116. package/dist/cdn/editor.js.map +1 -1
  117. package/dist/{check-DZbmkMQe.js → check-GRcTaHlZ.js} +1 -1
  118. package/dist/{chevron-down-nYScOLeZ.js → chevron-down-NUIAa2Qf.js} +1 -1
  119. package/dist/{chevron-up-CpYpDLnc.js → chevron-up-Bjf2BQtL.js} +1 -1
  120. package/dist/{circle-alert-CuuK6thq.js → circle-alert-FpQ8ykQL.js} +1 -1
  121. package/dist/{clock-DxkrtqOr.js → clock-CaOM1DC-.js} +1 -1
  122. package/dist/{createLucideIcon-L-wQXW_R.js → createLucideIcon-CAmDKr5Z.js} +2 -2
  123. package/dist/{dist-Ck9roB6K.js → dist-BLVvhIFj.js} +2 -2
  124. package/dist/{dist-DMJRSouD.js → dist-C145btxT.js} +255 -250
  125. package/dist/{dist-C27SeFL5.js → dist-CLc1cpN2.js} +2 -2
  126. package/dist/{dist-M7m1lYRe.js → dist-CQQNoHxz.js} +2 -2
  127. package/dist/{dist-g6cbzhZW.js → dist-CclsUQ7r.js} +2 -2
  128. package/dist/{dist-CYx-E82k.js → dist-CgXIMxZc.js} +2 -2
  129. package/dist/dist-D-ulkdvF.js +5 -0
  130. package/dist/{dist-BImfm-46.js → dist-D4Jb08yv.js} +2 -2
  131. package/dist/{dist-ChYLhoJ4.js → dist-DUn6jY0n.js} +35 -18
  132. package/dist/{dist-DfpeSdmE.js → dist-Dx-KOuOj.js} +2 -2
  133. package/dist/{dist-C08jiemd.js → dist-Dz7KUOSg.js} +2 -2
  134. package/dist/dist-Kf9u4ULN.js +5 -0
  135. package/dist/{extensions-BV9qfsYr.js → extensions-DWp4eXoE.js} +3 -3
  136. package/dist/{image-up-DouZRGVt.js → image-up-CIGT4cSb.js} +1 -1
  137. package/dist/{info-puX5V6Iq.js → info-9YwKinXj.js} +1 -1
  138. package/dist/{loader-circle-DqTxB7Kr.js → loader-circle-QyURl47g.js} +1 -1
  139. package/dist/{message-circle-BZ7YpB22.js → message-circle-C9pycEzV.js} +1 -1
  140. package/dist/{pencil-DmbRhTJu.js → pencil-BvW86jVn.js} +1 -1
  141. package/dist/{refresh-cw-OK_O-cL0.js → refresh-cw-BDAUomac.js} +1 -1
  142. package/dist/{scan-line-DyaSTsJ5.js → scan-line-B5EvAPSG.js} +1 -1
  143. package/dist/{send-B-wasJJC.js → send-BAUn7DLp.js} +1 -1
  144. package/dist/{shield-check-DUIyRrTo.js → shield-check-CLGywlg0.js} +1 -1
  145. package/dist/{sparkles-DYEMATWC.js → sparkles-X6C0spo6.js} +1 -1
  146. package/dist/style.css +1 -1
  147. package/dist/{styleConstants-9oK5kn21.js → styleConstants-C_YAPdQS.js} +7 -7
  148. package/dist/templatical-editor.js +943 -934
  149. package/dist/{text-align-start-CzjLeBLe.js → text-align-start-C6FXOoEj.js} +1 -1
  150. package/dist/{trash-2-C0shEPry.js → trash-2-balHkQP4.js} +1 -1
  151. package/dist/{triangle-alert-Fw0ce8oQ.js → triangle-alert-D2JBEr6k.js} +1 -1
  152. package/dist/{upload-D69C2CBx.js → upload-D70OYprI.js} +1 -1
  153. package/dist/{useEditorCore-DoKDh27o.js → useEditorCore--_kmTxxX.js} +9 -9
  154. package/dist/{useScrollToBlock-KA65jhQ_.js → useScrollToBlock-DcImB73T.js} +1 -1
  155. package/dist/{x-BjTlFqRv.js → x-DTUPbuwx.js} +1 -1
  156. package/package.json +22 -22
  157. package/dist/cdn/chunks/CloudHeaderExtras-Ctat5U0M.js.map +0 -1
  158. package/dist/cdn/chunks/tiptap-DmpGap5g.js.map +0 -1
  159. package/dist/dist-6YJAWMuf.js +0 -5
  160. package/dist/dist-8vlm9kfO.js +0 -5
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-L-wQXW_R.js";
1
+ import { t as e } from "./createLucideIcon-CAmDKr5Z.js";
2
2
  var t = e("text-align-center", [
3
3
  ["path", {
4
4
  d: "M21 5H3",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-L-wQXW_R.js";
1
+ import { t as e } from "./createLucideIcon-CAmDKr5Z.js";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-L-wQXW_R.js";
1
+ import { t as e } from "./createLucideIcon-CAmDKr5Z.js";
2
2
  var t = e("triangle-alert", [
3
3
  ["path", {
4
4
  d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-L-wQXW_R.js";
1
+ import { t as e } from "./createLucideIcon-CAmDKr5Z.js";
2
2
  var t = e("upload", [
3
3
  ["path", {
4
4
  d: "M12 3v12",
@@ -7,12 +7,12 @@ import { A as Qe, B as $e, C as et, D as tt, E as nt, F as rt, H as it, I as at,
7
7
  import { t as Lt } from "./useI18n-CvYvat9_.js";
8
8
  import { t as Rt } from "./logger-BBlvSn6q.js";
9
9
  import { a as zt, i as Bt, o as Vt, r as Ht, t as Ut } from "./usePopoverPosition-WslxM_PU.js";
10
- import { t as Wt } from "./createLucideIcon-L-wQXW_R.js";
11
- import { t as Gt } from "./loader-circle-DqTxB7Kr.js";
12
- import { t as Kt } from "./message-circle-BZ7YpB22.js";
13
- import { t as qt } from "./trash-2-C0shEPry.js";
14
- import { t as Jt } from "./triangle-alert-Fw0ce8oQ.js";
15
- import { t as Yt } from "./upload-D69C2CBx.js";
10
+ import { t as Wt } from "./createLucideIcon-CAmDKr5Z.js";
11
+ import { t as Gt } from "./loader-circle-QyURl47g.js";
12
+ import { t as Kt } from "./message-circle-C9pycEzV.js";
13
+ import { t as qt } from "./trash-2-balHkQP4.js";
14
+ import { t as Jt } from "./triangle-alert-D2JBEr6k.js";
15
+ import { t as Yt } from "./upload-D70OYprI.js";
16
16
  import { t as Xt } from "./LoadingTrack-C2T8ixEL.js";
17
17
  import { t as Zt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
18
18
  import { t as Qt } from "./useEditorRoot-DKyG95pb.js";
@@ -2677,7 +2677,7 @@ var wi = ["innerHTML"], Ti = /* @__PURE__ */ L({
2677
2677
  viewport: {}
2678
2678
  },
2679
2679
  setup(e) {
2680
- let t = e, n = y(() => import("./ParagraphEditor-cKosDi_l.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ci(() => t.block.content);
2680
+ let t = e, n = y(() => import("./ParagraphEditor-CoN76ofC.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ci(() => t.block.content);
2681
2681
  return (t, l) => (O(), S("div", {
2682
2682
  ref_key: "blockRef",
2683
2683
  ref: i,
@@ -2755,7 +2755,7 @@ var Ai = [
2755
2755
  },
2756
2756
  emits: ["select"],
2757
2757
  setup(e, { emit: t }) {
2758
- let n = y(() => import("./BlockIssueBadge-a7jENlL4.js")), i = e, a = t, { t: o, format: s } = Lt(), l = p(Pt, null), d = _(null), f = F(() => l?.liftedBlockId.value === i.block.id), h = F(() => f.value ? s(o.blockActions.dragLifted, { block: i.block.type }) : o.blockActions.drag);
2758
+ let n = y(() => import("./BlockIssueBadge-DKaFQNxW.js")), i = e, a = t, { t: o, format: s } = Lt(), l = p(Pt, null), d = _(null), f = F(() => l?.liftedBlockId.value === i.block.id), h = F(() => f.value ? s(o.blockActions.dragLifted, { block: i.block.type }) : o.blockActions.drag);
2759
2759
  async function g() {
2760
2760
  await m(), d.value?.focus();
2761
2761
  }
@@ -2917,7 +2917,7 @@ var Wi = /* @__PURE__ */ L({
2917
2917
  viewport: {}
2918
2918
  },
2919
2919
  setup(e) {
2920
- let t = e, n = y(() => import("./TitleEditor-D9IWtoH3.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ci(() => t.block.content), l = F(() => {
2920
+ let t = e, n = y(() => import("./TitleEditor-BdRlIm67.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ci(() => t.block.content), l = F(() => {
2921
2921
  let e = {
2922
2922
  fontSize: `${Ie[t.block.level]}px`,
2923
2923
  textAlign: t.block.textAlign
@@ -1,5 +1,5 @@
1
1
  import { T as e } from "./vue.runtime.esm-bundler-DzEsDRtY.js";
2
- import { t } from "./createLucideIcon-L-wQXW_R.js";
2
+ import { t } from "./createLucideIcon-CAmDKr5Z.js";
3
3
  import { t as n } from "./useEditorRoot-DKyG95pb.js";
4
4
  var r = t("list-checks", [
5
5
  ["path", {
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-L-wQXW_R.js";
1
+ import { t as e } from "./createLucideIcon-CAmDKr5Z.js";
2
2
  var t = e("x", [["path", {
3
3
  d: "M18 6 6 18",
4
4
  key: "1bl5f8"
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@templatical/editor",
3
3
  "description": "Vue 3 visual drag-and-drop email editor powered by Templatical",
4
- "version": "0.27.3",
4
+ "version": "0.27.5",
5
5
  "bugs": "https://github.com/templatical/sdk/issues",
6
6
  "devDependencies": {
7
- "@lucide/vue": "^1.31.0",
8
- "@tiptap/core": "^3.30.1",
9
- "@tiptap/extension-color": "^3.30.1",
10
- "@tiptap/extension-font-family": "^3.30.1",
11
- "@tiptap/extension-highlight": "^3.30.1",
12
- "@tiptap/extension-link": "^3.30.1",
13
- "@tiptap/extension-subscript": "^3.30.1",
14
- "@tiptap/extension-superscript": "^3.30.1",
15
- "@tiptap/extension-text-align": "^3.30.1",
16
- "@tiptap/extension-text-style": "^3.30.1",
17
- "@tiptap/extension-underline": "^3.30.1",
18
- "@tiptap/starter-kit": "^3.30.1",
19
- "@tiptap/suggestion": "^3.30.1",
20
- "@tiptap/vue-3": "^3.30.1",
7
+ "@lucide/vue": "^1.32.0",
8
+ "@tiptap/core": "^3.30.2",
9
+ "@tiptap/extension-color": "^3.30.2",
10
+ "@tiptap/extension-font-family": "^3.30.2",
11
+ "@tiptap/extension-highlight": "^3.30.2",
12
+ "@tiptap/extension-link": "^3.30.2",
13
+ "@tiptap/extension-subscript": "^3.30.2",
14
+ "@tiptap/extension-superscript": "^3.30.2",
15
+ "@tiptap/extension-text-align": "^3.30.2",
16
+ "@tiptap/extension-text-style": "^3.30.2",
17
+ "@tiptap/extension-underline": "^3.30.2",
18
+ "@tiptap/starter-kit": "^3.30.2",
19
+ "@tiptap/suggestion": "^3.30.2",
20
+ "@tiptap/vue-3": "^3.30.2",
21
21
  "@vitejs/plugin-vue": "^6.0.8",
22
22
  "@vue/test-utils": "^2.4.11",
23
23
  "@vueuse/core": "^14.4.0",
@@ -29,13 +29,13 @@
29
29
  "typescript": "^6.0.3",
30
30
  "vanilla-colorful": "^0.7.2",
31
31
  "vite": "^8.2.1",
32
- "vitest": "^4.1.10",
32
+ "vitest": "^4.1.11",
33
33
  "vue": "^3.5.41",
34
34
  "vue-draggable-plus": "^0.6.1",
35
35
  "vue-tsc": "^3.3.10",
36
- "@templatical/core": "0.27.3",
37
- "@templatical/quality": "0.27.3",
38
- "@templatical/types": "0.27.3"
36
+ "@templatical/core": "0.27.5",
37
+ "@templatical/types": "0.27.5",
38
+ "@templatical/quality": "0.27.5"
39
39
  },
40
40
  "exports": {
41
41
  ".": {
@@ -63,9 +63,9 @@
63
63
  "license": "SEE LICENSE IN LICENSE",
64
64
  "module": "./dist/templatical-editor.js",
65
65
  "peerDependencies": {
66
- "@templatical/quality": "0.27.3",
67
- "@templatical/media-library": "0.27.3",
68
- "@templatical/renderer": "0.27.3"
66
+ "@templatical/media-library": "0.27.5",
67
+ "@templatical/quality": "0.27.5",
68
+ "@templatical/renderer": "0.27.5"
69
69
  },
70
70
  "peerDependenciesMeta": {
71
71
  "@templatical/renderer": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"CloudHeaderExtras-Ctat5U0M.js","names":[],"sources":["../../../src/cloud/components/CloudHeaderExtras.vue","../../../src/cloud/components/CloudHeaderExtras.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { defineAsyncComponent } from \"vue\";\nimport { Sparkles } from \"@lucide/vue\";\n\nimport { useCloudI18nStrict } from \"../../composables/useCloudI18n\";\nimport type { CloudAttachment } from \"../runtime\";\n\nconst CollaboratorBar = defineAsyncComponent(\n () => import(\"./CollaboratorBar.vue\"),\n);\nconst AiFeatureMenu = defineAsyncComponent(() => import(\"./AiFeatureMenu.vue\"));\n\n/**\n * The Cloud-only header controls, filled into `EditorHeader`'s three\n * `*-extras` slots.\n *\n * One component with a `part` prop rather than three: the three regions share\n * this file's lazy chunk, so a Cloud session pays one round-trip for all of them\n * and an OSS session pays none.\n *\n * The plan-usage readout and the AI button live here rather than in the shared\n * header because they render **cloud-chunk** strings; OSS translators never see\n * them. Comments are deliberately not here: that feature is shared and\n * provider-backed, so its trigger and its strings belong to the shared header and\n * the OSS chunk.\n */\ndefineProps<{\n part: \"left\" | \"center\" | \"right\";\n cloud: CloudAttachment;\n}>();\n\nconst { t: cloudT, format: cloudFormat } = useCloudI18nStrict();\n</script>\n\n<template>\n <!-- Left: templates used / allowed. A plan *limit*, not a templates concern,\n which is why it sits here and its string stays in the cloud chunk. -->\n <span\n v-if=\"part === 'left' && cloud.featureFlags.templateLimit.value !== null\"\n data-testid=\"cloud-template-usage\"\n class=\"tpl:text-xs tpl:opacity-60 tpl:text-[var(--tpl-text-muted)]\"\n >\n {{\n cloudFormat(cloudT.header.templatesUsed, {\n used: cloud.featureFlags.templateCount.value,\n max: cloud.featureFlags.templateLimit.value,\n })\n }}\n </span>\n\n <!-- Center: who else is in the template right now. -->\n <CollaboratorBar\n v-else-if=\"\n part === 'center' &&\n cloud.collaboration &&\n cloud.isCollaborationEnabled.value\n \"\n :collaborators=\"cloud.collaboration.collaborators.value\"\n :is-connected=\"cloud.websocket.isConnected.value\"\n />\n\n <!-- Right: AI — after the shared header's Comments button and before the\n test-email button, so the shared header is a superset of the OSS one rather\n than a rearrangement. -->\n <template v-else-if=\"part === 'right'\">\n <div\n v-if=\"\n cloud.featureFlags.canUseAiGeneration.value &&\n cloud.featureFlags.hasTemplateSaved.value\n \"\n :ref=\"\n (el) => (cloud.panelState.aiMenuRef.value = el as HTMLElement | null)\n \"\n class=\"tpl:relative\"\n >\n <button\n type=\"button\"\n data-testid=\"ai-menu-trigger\"\n :aria-expanded=\"cloud.panelState.aiMenuOpen.value\"\n class=\"tpl-ai-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:whitespace-nowrap tpl:transition-all tpl:duration-200\"\n :class=\"\n cloud.panelState.aiButtonActive.value\n ? 'tpl-ai-btn--active'\n : 'tpl-ai-btn--idle'\n \"\n @click.stop=\"cloud.panelState.toggleAiMenu\"\n >\n <Sparkles :size=\"16\" :stroke-width=\"2\" class=\"tpl-ai-btn-icon\" />\n {{ cloudT.aiChat.button }}\n </button>\n <Transition\n enter-active-class=\"tpl:transition-all tpl:ease-out\"\n enter-from-class=\"tpl:scale-95 tpl:opacity-0\"\n enter-to-class=\"tpl:scale-100 tpl:opacity-100\"\n leave-active-class=\"tpl:transition-all tpl:duration-100 tpl:ease-in\"\n leave-from-class=\"tpl:scale-100 tpl:opacity-100\"\n leave-to-class=\"tpl:scale-95 tpl:opacity-0\"\n >\n <div\n v-if=\"cloud.panelState.aiMenuOpen.value\"\n class=\"tpl:absolute tpl:right-0 tpl:top-full tpl:z-50 tpl:mt-1 tpl:origin-top-right\"\n >\n <AiFeatureMenu\n :active-feature=\"cloud.panelState.activeAiFeature.value\"\n @select=\"cloud.panelState.handleAiFeatureSelect\"\n />\n </div>\n </Transition>\n </div>\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport { defineAsyncComponent } from \"vue\";\nimport { Sparkles } from \"@lucide/vue\";\n\nimport { useCloudI18nStrict } from \"../../composables/useCloudI18n\";\nimport type { CloudAttachment } from \"../runtime\";\n\nconst CollaboratorBar = defineAsyncComponent(\n () => import(\"./CollaboratorBar.vue\"),\n);\nconst AiFeatureMenu = defineAsyncComponent(() => import(\"./AiFeatureMenu.vue\"));\n\n/**\n * The Cloud-only header controls, filled into `EditorHeader`'s three\n * `*-extras` slots.\n *\n * One component with a `part` prop rather than three: the three regions share\n * this file's lazy chunk, so a Cloud session pays one round-trip for all of them\n * and an OSS session pays none.\n *\n * The plan-usage readout and the AI button live here rather than in the shared\n * header because they render **cloud-chunk** strings; OSS translators never see\n * them. Comments are deliberately not here: that feature is shared and\n * provider-backed, so its trigger and its strings belong to the shared header and\n * the OSS chunk.\n */\ndefineProps<{\n part: \"left\" | \"center\" | \"right\";\n cloud: CloudAttachment;\n}>();\n\nconst { t: cloudT, format: cloudFormat } = useCloudI18nStrict();\n</script>\n\n<template>\n <!-- Left: templates used / allowed. A plan *limit*, not a templates concern,\n which is why it sits here and its string stays in the cloud chunk. -->\n <span\n v-if=\"part === 'left' && cloud.featureFlags.templateLimit.value !== null\"\n data-testid=\"cloud-template-usage\"\n class=\"tpl:text-xs tpl:opacity-60 tpl:text-[var(--tpl-text-muted)]\"\n >\n {{\n cloudFormat(cloudT.header.templatesUsed, {\n used: cloud.featureFlags.templateCount.value,\n max: cloud.featureFlags.templateLimit.value,\n })\n }}\n </span>\n\n <!-- Center: who else is in the template right now. -->\n <CollaboratorBar\n v-else-if=\"\n part === 'center' &&\n cloud.collaboration &&\n cloud.isCollaborationEnabled.value\n \"\n :collaborators=\"cloud.collaboration.collaborators.value\"\n :is-connected=\"cloud.websocket.isConnected.value\"\n />\n\n <!-- Right: AI — after the shared header's Comments button and before the\n test-email button, so the shared header is a superset of the OSS one rather\n than a rearrangement. -->\n <template v-else-if=\"part === 'right'\">\n <div\n v-if=\"\n cloud.featureFlags.canUseAiGeneration.value &&\n cloud.featureFlags.hasTemplateSaved.value\n \"\n :ref=\"\n (el) => (cloud.panelState.aiMenuRef.value = el as HTMLElement | null)\n \"\n class=\"tpl:relative\"\n >\n <button\n type=\"button\"\n data-testid=\"ai-menu-trigger\"\n :aria-expanded=\"cloud.panelState.aiMenuOpen.value\"\n class=\"tpl-ai-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:whitespace-nowrap tpl:transition-all tpl:duration-200\"\n :class=\"\n cloud.panelState.aiButtonActive.value\n ? 'tpl-ai-btn--active'\n : 'tpl-ai-btn--idle'\n \"\n @click.stop=\"cloud.panelState.toggleAiMenu\"\n >\n <Sparkles :size=\"16\" :stroke-width=\"2\" class=\"tpl-ai-btn-icon\" />\n {{ cloudT.aiChat.button }}\n </button>\n <Transition\n enter-active-class=\"tpl:transition-all tpl:ease-out\"\n enter-from-class=\"tpl:scale-95 tpl:opacity-0\"\n enter-to-class=\"tpl:scale-100 tpl:opacity-100\"\n leave-active-class=\"tpl:transition-all tpl:duration-100 tpl:ease-in\"\n leave-from-class=\"tpl:scale-100 tpl:opacity-100\"\n leave-to-class=\"tpl:scale-95 tpl:opacity-0\"\n >\n <div\n v-if=\"cloud.panelState.aiMenuOpen.value\"\n class=\"tpl:absolute tpl:right-0 tpl:top-full tpl:z-50 tpl:mt-1 tpl:origin-top-right\"\n >\n <AiFeatureMenu\n :active-feature=\"cloud.panelState.activeAiFeature.value\"\n @select=\"cloud.panelState.handleAiFeatureSelect\"\n />\n </div>\n </Transition>\n </div>\n </template>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;EAOA,IAAM,IAAkB,QAChB,OAAO,gCACf,GACM,IAAgB,QAA2B,OAAO,8BAAsB,GAqBxE,EAAE,GAAG,GAAQ,QAAQ,MAAgB,EAAmB;mBAOpD,EAAA,SAAI,UAAe,EAAA,MAAM,aAAa,cAAc,UAAK,QADjE,EAAA,GAAA,EAWO,QAXP,GAWO,EALH,EAAA,CAAA,CAAW,CAAC,EAAA,CAAA,CAAM,CAAC,OAAO,eAAa;GAAkB,MAAA,EAAA,MAAM,aAAa,cAAc;GAAoB,KAAA,EAAA,MAAM,aAAa,cAAc;EAS/H,CAAA,CAAA,GAAA,CAAA,KAAA,EAAA,SAAI,YAAuB,EAAA,MAAM,iBAAuB,EAAA,MAAM,uBAAuB,SADzG,EAAA,GAAA,EAQE,EAAA,CAAA,GAAA;;GAFC,eAAe,EAAA,MAAM,cAAc,cAAc;GACjD,gBAAc,EAAA,MAAM,UAAU,YAAY;EAMxB,GAAA,MAAA,GAAA,CAAA,iBAAA,cAAA,CAAA,KAAA,EAAA,SAAI,WAAzB,EAAA,GAAA,EA6CW,GAAA,EAAA,KAAA,EAAA,GAAA,CA3CQ,EAAA,MAAM,aAAa,mBAAmB,SAAiB,EAAA,MAAM,aAAa,iBAAiB,SAD5G,EAAA,GAAA,EA2CM,OAAA;;GAtCH,MAAe,MAAQ,EAAA,MAAM,WAAW,UAAU,QAAQ;GAG3D,OAAM;EAEN,GAAA,CAAA,EAcS,UAAA;GAbP,MAAK;GACL,eAAY;GACX,iBAAe,EAAA,MAAM,WAAW,WAAW;GAC5C,OAAK,EAAA,CAAC,wNACa,EAAA,MAAM,WAAW,eAAe,QAAA,uBAAA,kBAAA,CAAA;GAKlD,SAAK,AAAA,EAAA,OAAA,GAAO,GAAA,MAAA,EAAA,MAAM,WAAW,gBAAjB,EAAA,MAAM,WAAW,aAAY,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA;EAE1C,GAAA,CAAA,EAAiE,EAAA,CAAA,GAAA;GAAtD,MAAM;GAAK,gBAAc;GAAG,OAAM;EAAoB,CAAA,GAAA,EAAA,MACjE,EAAG,EAAA,CAAA,CAAM,CAAC,OAAO,MAAM,GAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAEzB,EAiBa,GAAA;GAhBX,sBAAmB;GACnB,oBAAiB;GACjB,kBAAe;GACf,sBAAmB;GACnB,oBAAiB;GACjB,kBAAe;;GAEf,SAAA,QAQM,CAPE,EAAA,MAAM,WAAW,WAAW,SADpC,EAAA,GAAA,EAQM,OARN,GAQM,CAJJ,EAGE,EAAA,CAAA,GAAA;IAFC,kBAAgB,EAAA,MAAM,WAAW,gBAAgB;IACjD,UAAQ,EAAA,MAAM,WAAW"}