@templatical/editor 0.26.3 → 0.27.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 (284) hide show
  1. package/README.md +3 -1
  2. package/dist/{AiChatSidebar-CMBz6Wix.js → AiChatSidebar-iVJDzqjr.js} +60 -60
  3. package/dist/AiFeatureMenu-DvrK-dzj.js +57 -0
  4. package/dist/{BlockIssueBadge-Buk3_6QF.js → BlockIssueBadge-BHysq7XQ.js} +11 -11
  5. package/dist/BlockPreviewCanvas-GZbr0ph5.js +121 -0
  6. package/dist/CloudHeaderExtras-Cx8gFWu2.js +59 -0
  7. package/dist/CloudPanels-D0X449DD.js +227 -0
  8. package/dist/{CollaboratorBar-BGwbg9aN.js → CollaboratorBar-DMSWCrX3.js} +21 -21
  9. package/dist/ColorPicker-DCjFQCAg.js +501 -0
  10. package/dist/CommentsPanel-D5wQB1Kf.js +18 -0
  11. package/dist/CommentsSidebar-BoTIxpLE.js +481 -0
  12. package/dist/{cdn/chunks/CountdownBlock-vLTkTI9e.js → CountdownBlock-BFX8iU90.js} +19 -21
  13. package/dist/{cdn/chunks/CountdownToolbar-DPjcgcVR.js → CountdownToolbar-CSftc9Ma.js} +52 -53
  14. package/dist/{DesignReferenceSidebar-Bx96XFmK.js → DesignReferenceSidebar-DKsx2TiL.js} +72 -71
  15. package/dist/{IssuesPanel-Do7RLXsP.js → IssuesPanel-flKKwKpM.js} +38 -38
  16. package/dist/{LoadingTrack-BexpNuTV.js → LoadingTrack-C2T8ixEL.js} +3 -3
  17. package/dist/{MergeTagModeToggle-P-UguQHc.js → MergeTagModeToggle-PKCoKAoF.js} +43 -43
  18. package/dist/{MergeTagSuggestion-BJ43ihWR.js → MergeTagSuggestion-DGha0WRp.js} +46 -46
  19. package/dist/{cdn/chunks/NumberWithSuffix-BXrRdfq1.js → NumberWithSuffix-DdPCXfKf.js} +42 -44
  20. package/dist/{ParagraphEditor-6WN5jmXr.js → ParagraphEditor-vDU-5y6r.js} +200 -198
  21. package/dist/RestoreVersionDialog-DIn1muFD.js +86 -0
  22. package/dist/{RichTextEditorContent-fbYJXAio.js → RichTextEditorContent-I83k5DtQ.js} +44 -44
  23. package/dist/SaveBlockDialog-C_QvYAeL.js +266 -0
  24. package/dist/{SavedBlocksBrowserModal-GMrajvfV.js → SavedBlocksBrowserModal-CefWWcdT.js} +116 -115
  25. package/dist/{cdn/chunks/SavedBlocksPanels-CUtYoi5Z.js → SavedBlocksPanels-DnQwO-7O.js} +9 -11
  26. package/dist/{SavedBlocksPickBar-Dk_IaMO9.js → SavedBlocksPickBar-BsFubArH.js} +17 -17
  27. package/dist/{TemplateScoringPanel-BZUsb3FD.js → TemplateScoringPanel-Bv_bBsJi.js} +87 -87
  28. package/dist/TestEmailModal-STPWDP79.js +206 -0
  29. package/dist/{cdn/chunks/TestEmailPanel-B8y7JabA.js → TestEmailPanel-HYVjApKZ.js} +4 -6
  30. package/dist/TitleEditor-DnB0EJ_g.js +198 -0
  31. package/dist/TplModal-chvLhXmC.js +49 -0
  32. package/dist/VersionHistoryMenu-Cq4rH56t.js +155 -0
  33. package/dist/VersionHistoryPanels-D7k_F7-9.js +46 -0
  34. package/dist/VersionPreviewBanner-DthyHe6C.js +38 -0
  35. package/dist/{blockTypeIcons-C7wRSaT3.js → blockTypeIcons-B8r4jMBn.js} +6 -6
  36. package/dist/bundle-stats.json +8 -8
  37. package/dist/{ca-D1zgI9fQ.js → ca-Cqg9O8mx.js} +69 -6
  38. package/dist/cdn/chunks/{AiChatSidebar-CQ8KUmNB.js → AiChatSidebar-DTUoBH5a.js} +54 -54
  39. package/dist/cdn/chunks/AiChatSidebar-DTUoBH5a.js.map +1 -0
  40. package/dist/cdn/chunks/AiFeatureMenu-Dyh7mUMB.js +57 -0
  41. package/dist/cdn/chunks/AiFeatureMenu-Dyh7mUMB.js.map +1 -0
  42. package/dist/cdn/chunks/{BlockIssueBadge-BEEY9o2o.js → BlockIssueBadge-UzSSOM_2.js} +13 -13
  43. package/dist/cdn/chunks/{BlockIssueBadge-BEEY9o2o.js.map → BlockIssueBadge-UzSSOM_2.js.map} +1 -1
  44. package/dist/cdn/chunks/{BlockPreviewCanvas-msj619wT.js → BlockPreviewCanvas-DStQFo9P.js} +42 -42
  45. package/dist/cdn/chunks/{BlockPreviewCanvas-msj619wT.js.map → BlockPreviewCanvas-DStQFo9P.js.map} +1 -1
  46. package/dist/cdn/chunks/CloudHeaderExtras-BZVu7dnO.js +60 -0
  47. package/dist/cdn/chunks/CloudHeaderExtras-BZVu7dnO.js.map +1 -0
  48. package/dist/cdn/chunks/CloudPanels-CXbaBKHQ.js +227 -0
  49. package/dist/cdn/chunks/CloudPanels-CXbaBKHQ.js.map +1 -0
  50. package/dist/cdn/chunks/{CollaboratorBar-G_sZDZXw.js → CollaboratorBar-BH_lZlat.js} +22 -22
  51. package/dist/cdn/chunks/CollaboratorBar-BH_lZlat.js.map +1 -0
  52. package/dist/cdn/chunks/ColorPicker-CStXen0Y.js +502 -0
  53. package/dist/cdn/chunks/ColorPicker-CStXen0Y.js.map +1 -0
  54. package/dist/cdn/chunks/CommentsPanel-jzZ2X0P4.js +20 -0
  55. package/dist/cdn/chunks/CommentsPanel-jzZ2X0P4.js.map +1 -0
  56. package/dist/cdn/chunks/CommentsSidebar-Dxke-vUP.js +460 -0
  57. package/dist/cdn/chunks/CommentsSidebar-Dxke-vUP.js.map +1 -0
  58. package/dist/{CountdownBlock-DuyvGcr8.js → cdn/chunks/CountdownBlock-BYSrJWxg.js} +25 -23
  59. package/dist/cdn/chunks/{CountdownBlock-vLTkTI9e.js.map → CountdownBlock-BYSrJWxg.js.map} +1 -1
  60. package/dist/{CountdownToolbar-CBE9wRaV.js → cdn/chunks/CountdownToolbar-CZPtQIb8.js} +66 -63
  61. package/dist/cdn/chunks/{CountdownToolbar-DPjcgcVR.js.map → CountdownToolbar-CZPtQIb8.js.map} +1 -1
  62. package/dist/cdn/chunks/{DesignReferenceSidebar-B-HFXV0W.js → DesignReferenceSidebar-sZWciECR.js} +64 -64
  63. package/dist/cdn/chunks/DesignReferenceSidebar-sZWciECR.js.map +1 -0
  64. package/dist/cdn/chunks/{IssuesPanel-DKTS4QVb.js → IssuesPanel-CHtetM9i.js} +36 -36
  65. package/dist/cdn/chunks/IssuesPanel-CHtetM9i.js.map +1 -0
  66. package/dist/cdn/chunks/{LoadingTrack-C52ZGL5q.js → LoadingTrack-Dp_QZvAK.js} +3 -3
  67. package/dist/cdn/chunks/{LoadingTrack-C52ZGL5q.js.map → LoadingTrack-Dp_QZvAK.js.map} +1 -1
  68. package/dist/cdn/chunks/{MergeTagModeToggle-DQ79SqQc.js → MergeTagModeToggle-ZwW-5EeN.js} +39 -39
  69. package/dist/cdn/chunks/{MergeTagModeToggle-DQ79SqQc.js.map → MergeTagModeToggle-ZwW-5EeN.js.map} +1 -1
  70. package/dist/cdn/chunks/{MergeTagSuggestion-Dn8dExNa.js → MergeTagSuggestion-DhllqTA3.js} +47 -47
  71. package/dist/cdn/chunks/MergeTagSuggestion-DhllqTA3.js.map +1 -0
  72. package/dist/{NumberWithSuffix-D37ZWiZh.js → cdn/chunks/NumberWithSuffix-yeQLcCyH.js} +37 -35
  73. package/dist/cdn/chunks/NumberWithSuffix-yeQLcCyH.js.map +1 -0
  74. package/dist/cdn/chunks/{ParagraphEditor-CZ5Z6AgG.js → ParagraphEditor-BJJ925sx.js} +234 -233
  75. package/dist/cdn/chunks/ParagraphEditor-BJJ925sx.js.map +1 -0
  76. package/dist/cdn/chunks/RestoreVersionDialog-B0Jadu6F.js +87 -0
  77. package/dist/cdn/chunks/RestoreVersionDialog-B0Jadu6F.js.map +1 -0
  78. package/dist/cdn/chunks/{RichTextEditorContent-DtL49Jpo.js → RichTextEditorContent-CfSq2wPR.js} +44 -44
  79. package/dist/cdn/chunks/RichTextEditorContent-CfSq2wPR.js.map +1 -0
  80. package/dist/cdn/chunks/SaveBlockDialog-C1DXh6P9.js +265 -0
  81. package/dist/cdn/chunks/SaveBlockDialog-C1DXh6P9.js.map +1 -0
  82. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BkQXEUE2.js → SavedBlocksBrowserModal-BerMxAUt.js} +114 -113
  83. package/dist/cdn/chunks/SavedBlocksBrowserModal-BerMxAUt.js.map +1 -0
  84. package/dist/{SavedBlocksPanels-DEPmNhi6.js → cdn/chunks/SavedBlocksPanels-BUE4lzVP.js} +11 -9
  85. package/dist/cdn/chunks/{SavedBlocksPanels-CUtYoi5Z.js.map → SavedBlocksPanels-BUE4lzVP.js.map} +1 -1
  86. package/dist/cdn/chunks/{SavedBlocksPickBar-C80qJykl.js → SavedBlocksPickBar-4HrqQfvl.js} +17 -17
  87. package/dist/cdn/chunks/SavedBlocksPickBar-4HrqQfvl.js.map +1 -0
  88. package/dist/cdn/chunks/{TemplateScoringPanel-NucRtAP0.js → TemplateScoringPanel-Xdkp2EMY.js} +81 -81
  89. package/dist/cdn/chunks/TemplateScoringPanel-Xdkp2EMY.js.map +1 -0
  90. package/dist/cdn/chunks/TestEmailModal-yfmFiavR.js +206 -0
  91. package/dist/cdn/chunks/TestEmailModal-yfmFiavR.js.map +1 -0
  92. package/dist/{TestEmailPanel-DubocPxf.js → cdn/chunks/TestEmailPanel-DqTDh5ri.js} +6 -4
  93. package/dist/cdn/chunks/{TestEmailPanel-B8y7JabA.js.map → TestEmailPanel-DqTDh5ri.js.map} +1 -1
  94. package/dist/cdn/chunks/{TitleEditor-C8WDXf4P.js → TitleEditor-nUAF7fKr.js} +83 -83
  95. package/dist/cdn/chunks/TitleEditor-nUAF7fKr.js.map +1 -0
  96. package/dist/cdn/chunks/TplModal-C0IqikoV.js +50 -0
  97. package/dist/cdn/chunks/TplModal-C0IqikoV.js.map +1 -0
  98. package/dist/cdn/chunks/VersionHistoryMenu-_MAj3qZj.js +148 -0
  99. package/dist/cdn/chunks/VersionHistoryMenu-_MAj3qZj.js.map +1 -0
  100. package/dist/cdn/chunks/VersionHistoryPanels-6Hz9w20W.js +48 -0
  101. package/dist/cdn/chunks/VersionHistoryPanels-6Hz9w20W.js.map +1 -0
  102. package/dist/cdn/chunks/VersionPreviewBanner-D098_6_I.js +40 -0
  103. package/dist/cdn/chunks/VersionPreviewBanner-D098_6_I.js.map +1 -0
  104. package/dist/cdn/chunks/{blockTypeIcons-FXlMM3PL.js → blockTypeIcons-hX_W4dqo.js} +2 -2
  105. package/dist/cdn/chunks/{blockTypeIcons-FXlMM3PL.js.map → blockTypeIcons-hX_W4dqo.js.map} +1 -1
  106. package/dist/cdn/chunks/{ca-D1zgI9fQ.js → ca-Cqg9O8mx.js} +70 -7
  107. package/dist/cdn/chunks/ca-Cqg9O8mx.js.map +1 -0
  108. package/dist/{cloud-qINCmQbn.js → cdn/chunks/cloud-BA0OpRh-.js} +400 -609
  109. package/dist/cdn/chunks/cloud-BA0OpRh-.js.map +1 -0
  110. package/dist/cdn/chunks/createCloudRuntime-DmzV7OnU.js +344 -0
  111. package/dist/cdn/chunks/createCloudRuntime-DmzV7OnU.js.map +1 -0
  112. package/dist/{de-DHra3lvx.js → cdn/chunks/de-BXmeeFbX.js} +71 -6
  113. package/dist/cdn/chunks/de-BXmeeFbX.js.map +1 -0
  114. package/dist/{de-uVoSP1xF.js → cdn/chunks/de-Dbwm2cON.js} +3 -54
  115. package/dist/cdn/chunks/de-Dbwm2cON.js.map +1 -0
  116. package/dist/cdn/chunks/{dist-B2HKGHnc.js → dist-CM8TB0VD.js} +136 -136
  117. package/dist/cdn/chunks/{dist-B2HKGHnc.js.map → dist-CM8TB0VD.js.map} +1 -1
  118. package/dist/cdn/chunks/{dist-C6z8AjBC.js → dist-CYLJiSiH.js} +63 -63
  119. package/dist/cdn/chunks/{dist-C6z8AjBC.js.map → dist-CYLJiSiH.js.map} +1 -1
  120. package/dist/cdn/chunks/{draggable-DCs9qL-b.js → draggable-BfpsXFg7.js} +916 -905
  121. package/dist/cdn/chunks/{draggable-DCs9qL-b.js.map → draggable-BfpsXFg7.js.map} +1 -1
  122. package/dist/{en-DlqX2YWZ.js → cdn/chunks/en-DbBNy67B.js} +71 -6
  123. package/dist/cdn/chunks/en-DbBNy67B.js.map +1 -0
  124. package/dist/{en-CjhsJxb-.js → cdn/chunks/en-Dzw4EqNI.js} +3 -54
  125. package/dist/cdn/chunks/en-Dzw4EqNI.js.map +1 -0
  126. package/dist/cdn/chunks/{es-Cuss2snv.js → es-JUsAjxWu.js} +70 -7
  127. package/dist/cdn/chunks/es-JUsAjxWu.js.map +1 -0
  128. package/dist/cdn/chunks/{extensions-qhcN3RMT.js → extensions-CMcVw2uu.js} +53 -53
  129. package/dist/cdn/chunks/{extensions-qhcN3RMT.js.map → extensions-CMcVw2uu.js.map} +1 -1
  130. package/dist/{fr-Cm85vB2g.js → cdn/chunks/fr-J3qgXH4h.js} +71 -6
  131. package/dist/cdn/chunks/fr-J3qgXH4h.js.map +1 -0
  132. package/dist/cdn/chunks/{icons-CvYN6zrM.js → icons-C36Ha5VU.js} +11 -11
  133. package/dist/cdn/chunks/{icons-CvYN6zrM.js.map → icons-C36Ha5VU.js.map} +1 -1
  134. package/dist/{keys-fwF3qZax.js → cdn/chunks/keys-CbQuRX85.js} +6 -4
  135. package/dist/cdn/chunks/keys-CbQuRX85.js.map +1 -0
  136. package/dist/cdn/chunks/logger-ByvdoAwq.js +23 -0
  137. package/dist/cdn/chunks/logger-ByvdoAwq.js.map +1 -0
  138. package/dist/cdn/chunks/{nl-dmiIX7oT.js → nl-D_4DkqOi.js} +70 -7
  139. package/dist/cdn/chunks/nl-D_4DkqOi.js.map +1 -0
  140. package/dist/cdn/chunks/preRenderCustomBlocks-CbA3RcAy.js +23 -0
  141. package/dist/cdn/chunks/preRenderCustomBlocks-CbA3RcAy.js.map +1 -0
  142. package/dist/{pt-BR-CTzHTqJD.js → cdn/chunks/pt-BR-BxzQzWGJ.js} +3 -54
  143. package/dist/cdn/chunks/pt-BR-BxzQzWGJ.js.map +1 -0
  144. package/dist/cdn/chunks/{pt-BR-CaIG-7EM.js → pt-BR-KGURyEEQ.js} +70 -7
  145. package/dist/cdn/chunks/pt-BR-KGURyEEQ.js.map +1 -0
  146. package/dist/cdn/chunks/{src-BwbnXShT.js → src-BOjFLNf7.js} +148 -134
  147. package/dist/cdn/chunks/src-BOjFLNf7.js.map +1 -0
  148. package/dist/cdn/chunks/{src-xkGep9eN.js → src-Dq3fgSIx.js} +1448 -1458
  149. package/dist/cdn/chunks/src-Dq3fgSIx.js.map +1 -0
  150. package/dist/cdn/chunks/styleConstants-ByDqaYj_.js +61 -0
  151. package/dist/cdn/chunks/styleConstants-ByDqaYj_.js.map +1 -0
  152. package/dist/cdn/chunks/timeouts-DHPZQ0G3.js +6 -0
  153. package/dist/cdn/chunks/timeouts-DHPZQ0G3.js.map +1 -0
  154. package/dist/cdn/chunks/{tiptap-C44S1Cmh.js → tiptap-DmpGap5g.js} +40 -40
  155. package/dist/cdn/chunks/{tiptap-C44S1Cmh.js.map → tiptap-DmpGap5g.js.map} +1 -1
  156. package/dist/cdn/chunks/{useAliveFlag-Dxwgo6P4.js → useAliveFlag-Dtm174fG.js} +2 -2
  157. package/dist/cdn/chunks/{useAliveFlag-Dxwgo6P4.js.map → useAliveFlag-Dtm174fG.js.map} +1 -1
  158. package/dist/cdn/chunks/{useCloudI18n-8wkJtuJD.js → useCloudI18n-NVa1aeY8.js} +5 -5
  159. package/dist/cdn/chunks/{useCloudI18n-8wkJtuJD.js.map → useCloudI18n-NVa1aeY8.js.map} +1 -1
  160. package/dist/cdn/chunks/{useEditorCore-CcgxY-Gy.js → useEditorCore-CTu_qZ3W.js} +1434 -1147
  161. package/dist/cdn/chunks/useEditorCore-CTu_qZ3W.js.map +1 -0
  162. package/dist/cdn/chunks/{useI18n-UMs0F71x.js → useI18n-DVWCJJFH.js} +5 -5
  163. package/dist/cdn/chunks/{useI18n-UMs0F71x.js.map → useI18n-DVWCJJFH.js.map} +1 -1
  164. package/dist/cdn/chunks/{useMergeTag-JmXOtpln.js → useMergeTag-BfZBRPQp.js} +4 -4
  165. package/dist/cdn/chunks/{useMergeTag-JmXOtpln.js.map → useMergeTag-BfZBRPQp.js.map} +1 -1
  166. package/dist/cdn/chunks/{usePopoverPosition-cf8Y-ynK.js → usePopoverPosition-BC-HA7TK.js} +3 -3
  167. package/dist/cdn/chunks/{usePopoverPosition-cf8Y-ynK.js.map → usePopoverPosition-BC-HA7TK.js.map} +1 -1
  168. package/dist/cdn/editor.css +1 -1
  169. package/dist/cdn/editor.js +5103 -284
  170. package/dist/cdn/editor.js.map +1 -1
  171. package/dist/{check-On4TSac-.js → check-DZbmkMQe.js} +1 -1
  172. package/dist/{chevron-down-69EiBGoB.js → chevron-down-nYScOLeZ.js} +1 -1
  173. package/dist/{chevron-up-Dh3MG1Dw.js → chevron-up-CpYpDLnc.js} +1 -1
  174. package/dist/{circle-alert-cilwzafX.js → circle-alert-CuuK6thq.js} +1 -1
  175. package/dist/{clock-Dt0APH92.js → clock-DxkrtqOr.js} +1 -1
  176. package/dist/cloud-BAefVBb_.js +1444 -0
  177. package/dist/createCloudRuntime-Bt8W-ajI.js +342 -0
  178. package/dist/{createLucideIcon-C8WzBYCv.js → createLucideIcon-L-wQXW_R.js} +9 -9
  179. package/dist/{cdn/chunks/de-DHra3lvx.js → de-BXmeeFbX.js} +69 -8
  180. package/dist/{cdn/chunks/de-uVoSP1xF.js → de-Dbwm2cON.js} +1 -56
  181. package/dist/dist-B5iReTtK.js +251 -0
  182. package/dist/{dist-Cl8J0IES.js → dist-Ck9roB6K.js} +42 -42
  183. package/dist/{dist-BpKxrUi2.js → dist-CqcGTIiX.js} +46 -46
  184. package/dist/{cdn/chunks/en-DlqX2YWZ.js → en-DbBNy67B.js} +69 -8
  185. package/dist/{cdn/chunks/en-CjhsJxb-.js → en-Dzw4EqNI.js} +1 -56
  186. package/dist/{es-Cuss2snv.js → es-JUsAjxWu.js} +69 -6
  187. package/dist/{extensions-Cwg9S-0f.js → extensions-CX87G4aL.js} +42 -42
  188. package/dist/{cdn/chunks/fr-Cm85vB2g.js → fr-J3qgXH4h.js} +69 -8
  189. package/dist/{image-up-Ceggh_R3.js → image-up-DouZRGVt.js} +1 -1
  190. package/dist/index.d.ts +499 -23
  191. package/dist/{info-DO5odBcZ.js → info-puX5V6Iq.js} +1 -1
  192. package/dist/{cdn/chunks/keys-Cmc2Yl3D.js → keys-BxixS0TN.js} +4 -6
  193. package/dist/{list-checks-BSkPKbuI.js → list-checks-jw-ZlvWY.js} +1 -1
  194. package/dist/{loader-circle-bO7o7_HD.js → loader-circle-DqTxB7Kr.js} +1 -1
  195. package/dist/logger-BBlvSn6q.js +21 -0
  196. package/dist/{message-circle-BEkAk65X.js → message-circle-BZ7YpB22.js} +1 -1
  197. package/dist/{nl-dmiIX7oT.js → nl-D_4DkqOi.js} +69 -6
  198. package/dist/{pencil-t6m0EtKL.js → pencil-DmbRhTJu.js} +1 -1
  199. package/dist/preRenderCustomBlocks-BebjKtmw.js +21 -0
  200. package/dist/{cdn/chunks/pt-BR-CTzHTqJD.js → pt-BR-BxzQzWGJ.js} +1 -56
  201. package/dist/{pt-BR-CaIG-7EM.js → pt-BR-KGURyEEQ.js} +69 -6
  202. package/dist/{refresh-cw-CkOYVzK5.js → refresh-cw-OK_O-cL0.js} +1 -1
  203. package/dist/{runtime-dom.esm-bundler-CepEmvwF.js → runtime-dom.esm-bundler-BgKXIPLV.js} +144 -144
  204. package/dist/{scan-line-DwSVj25O.js → scan-line-DyaSTsJ5.js} +1 -1
  205. package/dist/{send-CWsWN8PQ.js → send-B-wasJJC.js} +1 -1
  206. package/dist/{shield-check-qje8Kufw.js → shield-check-DUIyRrTo.js} +1 -1
  207. package/dist/{sparkles-DumaWRW-.js → sparkles-DYEMATWC.js} +1 -1
  208. package/dist/style.css +1 -1
  209. package/dist/styleConstants-ByDqaYj_.js +59 -0
  210. package/dist/templatical-editor.js +5303 -289
  211. package/dist/{text-align-start-Ir8Ah4mT.js → text-align-start-CzjLeBLe.js} +1 -1
  212. package/dist/timeouts-DHPZQ0G3.js +4 -0
  213. package/dist/{trash-2-CklAFCmO.js → trash-2-C0shEPry.js} +1 -1
  214. package/dist/{triangle-alert-BBi4n93g.js → triangle-alert-Fw0ce8oQ.js} +1 -1
  215. package/dist/{upload-sVqqppuv.js → upload-D69C2CBx.js} +3 -4
  216. package/dist/{useAliveFlag-cvyBxHp7.js → useAliveFlag-BGIAZii_.js} +1 -1
  217. package/dist/{useCloudI18n-DKVm6PCa.js → useCloudI18n-CAZTZ9_a.js} +2 -2
  218. package/dist/{useEditorCore-P4UkhcyS.js → useEditorCore-B-kONNRw.js} +1604 -1320
  219. package/dist/{useI18n-DoVKdCTH.js → useI18n-BfXff_Sy.js} +2 -2
  220. package/dist/{useMergeTag-CYZk7dZD.js → useMergeTag-Dd4I7kge.js} +3 -3
  221. package/dist/usePopoverPosition-CxhCX3SQ.js +59 -0
  222. package/dist/{vue.runtime.esm-bundler-D1diBMsm.js → vue.runtime.esm-bundler-DzEsDRtY.js} +447 -436
  223. package/dist/{x-Mby7KlhS.js → x-BjTlFqRv.js} +1 -1
  224. package/package.json +7 -7
  225. package/dist/AiFeatureMenu-Cy-PVrNT.js +0 -63
  226. package/dist/BlockPreviewCanvas-BZKslwGI.js +0 -121
  227. package/dist/CloudEditor-CPRkQCRa.js +0 -1188
  228. package/dist/ColorPicker-ClETsjA3.js +0 -550
  229. package/dist/CommentsSidebar-CdRCCSDD.js +0 -435
  230. package/dist/SaveBlockDialog-21vDlEBS.js +0 -265
  231. package/dist/SnapshotHistory-Cb4WW2gf.js +0 -128
  232. package/dist/TestEmailModal-BHDKmd6B.js +0 -205
  233. package/dist/TitleEditor-Cy4B3UNe.js +0 -198
  234. package/dist/TplModal-Dv9zgSWI.js +0 -49
  235. package/dist/cdn/chunks/AiChatSidebar-CQ8KUmNB.js.map +0 -1
  236. package/dist/cdn/chunks/AiFeatureMenu-Cb9gaRBn.js +0 -63
  237. package/dist/cdn/chunks/AiFeatureMenu-Cb9gaRBn.js.map +0 -1
  238. package/dist/cdn/chunks/CloudEditor-DbyEsIxu.js +0 -1166
  239. package/dist/cdn/chunks/CloudEditor-DbyEsIxu.js.map +0 -1
  240. package/dist/cdn/chunks/CollaboratorBar-G_sZDZXw.js.map +0 -1
  241. package/dist/cdn/chunks/ColorPicker-W_UyiVGc.js +0 -552
  242. package/dist/cdn/chunks/ColorPicker-W_UyiVGc.js.map +0 -1
  243. package/dist/cdn/chunks/CommentsSidebar-BLRZRSSC.js +0 -412
  244. package/dist/cdn/chunks/CommentsSidebar-BLRZRSSC.js.map +0 -1
  245. package/dist/cdn/chunks/DesignReferenceSidebar-B-HFXV0W.js.map +0 -1
  246. package/dist/cdn/chunks/IssuesPanel-DKTS4QVb.js.map +0 -1
  247. package/dist/cdn/chunks/MergeTagSuggestion-Dn8dExNa.js.map +0 -1
  248. package/dist/cdn/chunks/NumberWithSuffix-BXrRdfq1.js.map +0 -1
  249. package/dist/cdn/chunks/ParagraphEditor-CZ5Z6AgG.js.map +0 -1
  250. package/dist/cdn/chunks/RichTextEditorContent-DtL49Jpo.js.map +0 -1
  251. package/dist/cdn/chunks/SaveBlockDialog-CVIVZEuy.js +0 -264
  252. package/dist/cdn/chunks/SaveBlockDialog-CVIVZEuy.js.map +0 -1
  253. package/dist/cdn/chunks/SavedBlocksBrowserModal-BkQXEUE2.js.map +0 -1
  254. package/dist/cdn/chunks/SavedBlocksPickBar-C80qJykl.js.map +0 -1
  255. package/dist/cdn/chunks/SnapshotHistory-DFinMrg_.js +0 -121
  256. package/dist/cdn/chunks/SnapshotHistory-DFinMrg_.js.map +0 -1
  257. package/dist/cdn/chunks/TemplateScoringPanel-NucRtAP0.js.map +0 -1
  258. package/dist/cdn/chunks/TestEmailModal-IxS-QjeH.js +0 -205
  259. package/dist/cdn/chunks/TestEmailModal-IxS-QjeH.js.map +0 -1
  260. package/dist/cdn/chunks/TitleEditor-C8WDXf4P.js.map +0 -1
  261. package/dist/cdn/chunks/TplModal-Ce0QuHyo.js +0 -50
  262. package/dist/cdn/chunks/TplModal-Ce0QuHyo.js.map +0 -1
  263. package/dist/cdn/chunks/ca-D1zgI9fQ.js.map +0 -1
  264. package/dist/cdn/chunks/cloud-DcC8bPwn.js +0 -1787
  265. package/dist/cdn/chunks/cloud-DcC8bPwn.js.map +0 -1
  266. package/dist/cdn/chunks/de-DHra3lvx.js.map +0 -1
  267. package/dist/cdn/chunks/de-uVoSP1xF.js.map +0 -1
  268. package/dist/cdn/chunks/en-CjhsJxb-.js.map +0 -1
  269. package/dist/cdn/chunks/en-DlqX2YWZ.js.map +0 -1
  270. package/dist/cdn/chunks/es-Cuss2snv.js.map +0 -1
  271. package/dist/cdn/chunks/fr-Cm85vB2g.js.map +0 -1
  272. package/dist/cdn/chunks/keys-Cmc2Yl3D.js.map +0 -1
  273. package/dist/cdn/chunks/nl-dmiIX7oT.js.map +0 -1
  274. package/dist/cdn/chunks/pt-BR-CTzHTqJD.js.map +0 -1
  275. package/dist/cdn/chunks/pt-BR-CaIG-7EM.js.map +0 -1
  276. package/dist/cdn/chunks/src-BwbnXShT.js.map +0 -1
  277. package/dist/cdn/chunks/src-xkGep9eN.js.map +0 -1
  278. package/dist/cdn/chunks/styles-DLAfU4Uf.js +0 -4140
  279. package/dist/cdn/chunks/styles-DLAfU4Uf.js.map +0 -1
  280. package/dist/cdn/chunks/timeouts-SsLMC4a3.js +0 -6
  281. package/dist/cdn/chunks/timeouts-SsLMC4a3.js.map +0 -1
  282. package/dist/cdn/chunks/useEditorCore-CcgxY-Gy.js.map +0 -1
  283. package/dist/styles-Dx__pP9O.js +0 -4318
  284. package/dist/usePopoverPosition-C0dPEF4X.js +0 -308
@@ -0,0 +1,198 @@
1
+ import { Dt as e, G as t, Ot as n, S as r, c as i, d as a, g as o, h as s, i as c, k as l, kt as u, l as d, r as f, rt as p, s as m, u as h, v as g } from "./vue.runtime.esm-bundler-DzEsDRtY.js";
2
+ import { C as ee, S as te } from "./useEditorCore-B-kONNRw.js";
3
+ import { B as ne, D as re, H as _, w as v } from "./keys-BxixS0TN.js";
4
+ import { t as y } from "./useI18n-BfXff_Sy.js";
5
+ import { n as b } from "./usePopoverPosition-CxhCX3SQ.js";
6
+ import { a as ie, i as x, n as S, r as ae, t as oe } from "./RichTextEditorContent-I83k5DtQ.js";
7
+ import { n as se, t as ce } from "./scan-line-DyaSTsJ5.js";
8
+ import { t as le } from "./loader-circle-DqTxB7Kr.js";
9
+ //#region src/components/blocks/TitleEditor.vue?vue&type=script&setup=true&lang.ts
10
+ var C = { class: "tpl-text-editor-wrapper tpl:relative" }, w = ["data-tpl-theme", "aria-label"], T = ["aria-label", "title"], E = ["aria-label", "title"], D = ["aria-label", "title"], O = {
11
+ key: 0,
12
+ class: "tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]"
13
+ }, k = ["aria-label", "title"], A = {
14
+ key: 2,
15
+ class: "tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]"
16
+ }, j = ["aria-label", "title"], M = {
17
+ key: 1,
18
+ class: "tpl:flex tpl:items-center tpl:gap-2 tpl:px-2 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
19
+ }, N = /* @__PURE__ */ g({
20
+ __name: "TitleEditor",
21
+ props: {
22
+ block: {},
23
+ toolbarPosition: {}
24
+ },
25
+ emits: ["done"],
26
+ setup(g, { emit: N }) {
27
+ let P = g, F = N, I = r(ne, null), L = r(_, null), R = b(), z = r(re, null), B = r(v, null), V = m(() => (z?.isOpen.value ?? !1) || (B?.isOpen.value ?? !1)), { t: H } = y(), { editor: U, EditorContent: W, isLoading: G, initError: ue, retry: de, showLinkDialog: fe, linkUrl: K, linkColor: q, linkDialogRef: J, canRequestMergeTag: Y, canInsertLogicTag: X, openLinkDialog: Z, insertLink: pe, removeLink: me, closeLinkDialog: he, handleLinkKeydown: ge, handleAddMergeTag: Q, handleAddLogicTag: $ } = te({
28
+ blockId: () => P.block.id,
29
+ blockContent: () => P.block.content,
30
+ onDone: () => F("done"),
31
+ editorName: "TitleEditor",
32
+ async loadExtensions({ mergeTags: e, syntax: t, triggerChar: n, autocompleteEnabled: r, suggestionEmptyText: i }) {
33
+ let [{ Editor: a, EditorContent: o }, { default: s }, { default: c }, { MergeTagNode: l, MergeTagSuggestion: u, LogicMergeTagNode: d, LineBoundaryKeys: f }] = await Promise.all([
34
+ import("./dist-Ck9roB6K.js").then((e) => e.r),
35
+ import("./dist-DMJRSouD.js"),
36
+ import("./dist-M7m1lYRe.js"),
37
+ import("./extensions-CX87G4aL.js")
38
+ ]);
39
+ return {
40
+ TiptapEditor: a,
41
+ EC: o,
42
+ extensions: [
43
+ s.configure({
44
+ heading: !1,
45
+ codeBlock: !1,
46
+ blockquote: !1,
47
+ horizontalRule: !1,
48
+ bulletList: !1,
49
+ orderedList: !1,
50
+ listItem: !1,
51
+ strike: !1,
52
+ link: !1
53
+ }),
54
+ ee(c).configure({
55
+ openOnClick: !1,
56
+ HTMLAttributes: {
57
+ target: "_blank",
58
+ rel: "noopener noreferrer"
59
+ }
60
+ }),
61
+ l.configure({
62
+ mergeTags: e,
63
+ syntax: t
64
+ }),
65
+ d.configure({ syntax: t }),
66
+ f,
67
+ ...r && n && e.length > 0 ? [u.configure({
68
+ mergeTags: e,
69
+ char: n,
70
+ emptyText: i,
71
+ popoverRoot: R
72
+ })] : []
73
+ ]
74
+ };
75
+ }
76
+ });
77
+ return (r, m) => (l(), a("div", C, [
78
+ p(R) && !V.value ? (l(), d(c, {
79
+ key: 0,
80
+ to: p(R)
81
+ }, [i("div", {
82
+ "data-tpl-theme": p(L),
83
+ role: "toolbar",
84
+ "aria-label": p(H).titleEditor.toolbar,
85
+ class: "tpl tpl-text-toolbar tpl:absolute tpl:z-popover tpl:flex tpl:items-center 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)]",
86
+ style: n({
87
+ ...p(I),
88
+ top: `${g.toolbarPosition.top}px`,
89
+ left: `${g.toolbarPosition.left}px`,
90
+ transform: "translateY(-100%)"
91
+ })
92
+ }, [!p(G) && p(U) ? (l(), a(f, { key: 0 }, [
93
+ i("button", {
94
+ type: "button",
95
+ class: e(["tpl-text-toolbar-btn", { "tpl-text-toolbar-btn--active": p(U)?.isActive("bold") }]),
96
+ "aria-label": p(H).titleEditor.bold,
97
+ title: p(H).titleEditor.bold,
98
+ onClick: m[0] ||= (e) => p(U)?.chain().focus().toggleBold().run()
99
+ }, [o(p(ie), {
100
+ size: 16,
101
+ "stroke-width": 2.5
102
+ })], 10, T),
103
+ i("button", {
104
+ type: "button",
105
+ class: e(["tpl-text-toolbar-btn", { "tpl-text-toolbar-btn--active": p(U)?.isActive("italic") }]),
106
+ "aria-label": p(H).titleEditor.italic,
107
+ title: p(H).titleEditor.italic,
108
+ onClick: m[1] ||= (e) => p(U)?.chain().focus().toggleItalic().run()
109
+ }, [o(p(x), {
110
+ size: 16,
111
+ "stroke-width": 2
112
+ })], 10, E),
113
+ m[8] ||= i("span", {
114
+ class: "tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]",
115
+ "aria-hidden": "true"
116
+ }, null, -1),
117
+ i("button", {
118
+ type: "button",
119
+ class: e(["tpl-text-toolbar-btn", { "tpl-text-toolbar-btn--active": p(U)?.isActive("link") }]),
120
+ "aria-label": p(H).titleEditor.addLink,
121
+ title: p(H).titleEditor.addLink,
122
+ onClick: m[2] ||= (...e) => p(Z) && p(Z)(...e)
123
+ }, [o(p(ae), {
124
+ size: 16,
125
+ "stroke-width": 2
126
+ })], 10, D),
127
+ p(Y) ? (l(), a("span", O)) : h("", !0),
128
+ p(Y) ? (l(), a("button", {
129
+ key: 1,
130
+ type: "button",
131
+ class: "tpl:flex tpl:h-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-2.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:hover:bg-[var(--tpl-bg-active)]",
132
+ "aria-label": p(H).mergeTag.insert,
133
+ title: p(H).mergeTag.insert,
134
+ onClick: m[3] ||= (...e) => p(Q) && p(Q)(...e)
135
+ }, [o(p(ce), {
136
+ size: 16,
137
+ "stroke-width": 2
138
+ }), s(" " + u(p(H).mergeTag.insertShort), 1)], 8, k)) : h("", !0),
139
+ p(X) ? (l(), a("span", A)) : h("", !0),
140
+ p(X) ? (l(), a("button", {
141
+ key: 3,
142
+ type: "button",
143
+ class: "tpl:flex tpl:h-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-2.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:hover:bg-[var(--tpl-bg-active)]",
144
+ "aria-label": p(H).logicTag.insert,
145
+ title: p(H).logicTag.insert,
146
+ "data-testid": "insert-logic-button",
147
+ onClick: m[4] ||= (...e) => p($) && p($)(...e)
148
+ }, [o(p(se), {
149
+ size: 16,
150
+ "stroke-width": 2
151
+ }), s(" " + u(p(H).logicTag.insertShort), 1)], 8, j)) : h("", !0)
152
+ ], 64)) : (l(), a("div", M, [o(p(le), {
153
+ class: "tpl-spinner",
154
+ size: 14,
155
+ "stroke-width": 2
156
+ }), s(" " + u(p(H).errors.editorLoading), 1)]))], 12, w)], 8, ["to"])) : h("", !0),
157
+ o(oe, {
158
+ editor: p(U),
159
+ "editor-content": p(W),
160
+ "is-loading": p(G),
161
+ "init-error": p(ue),
162
+ onRetry: p(de)
163
+ }, null, 8, [
164
+ "editor",
165
+ "editor-content",
166
+ "is-loading",
167
+ "init-error",
168
+ "onRetry"
169
+ ]),
170
+ o(S, {
171
+ visible: p(fe),
172
+ "is-editing-link": p(U)?.isActive("link") ?? !1,
173
+ "dialog-ref": p(J),
174
+ "onUpdate:dialogRef": m[5] ||= (e) => t(J) ? J.value = e : null,
175
+ "link-url": p(K),
176
+ "onUpdate:linkUrl": m[6] ||= (e) => t(K) ? K.value = e : null,
177
+ "link-color": p(q),
178
+ "onUpdate:linkColor": m[7] ||= (e) => t(q) ? q.value = e : null,
179
+ onClose: p(he),
180
+ onInsert: p(pe),
181
+ onRemove: p(me),
182
+ onKeydown: p(ge)
183
+ }, null, 8, [
184
+ "visible",
185
+ "is-editing-link",
186
+ "dialog-ref",
187
+ "link-url",
188
+ "link-color",
189
+ "onClose",
190
+ "onInsert",
191
+ "onRemove",
192
+ "onKeydown"
193
+ ])
194
+ ]));
195
+ }
196
+ });
197
+ //#endregion
198
+ export { N as default };
@@ -0,0 +1,49 @@
1
+ import { M as e, Ot as t, S as n, X as r, c as i, d as a, g as o, i as s, k as c, l, rt as u, s as d, u as f, v as p, z as m } from "./vue.runtime.esm-bundler-DzEsDRtY.js";
2
+ import { c as h, t as g } from "./runtime-dom.esm-bundler-BgKXIPLV.js";
3
+ import { D as _ } from "./useEditorCore-B-kONNRw.js";
4
+ import { B as v, H as y } from "./keys-BxixS0TN.js";
5
+ import { n as b } from "./usePopoverPosition-CxhCX3SQ.js";
6
+ //#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
7
+ var x = ["data-tpl-theme"], S = /* @__PURE__ */ p({
8
+ __name: "TplModal",
9
+ props: { visible: { type: Boolean } },
10
+ emits: ["close", "keydown"],
11
+ setup(p, { emit: S }) {
12
+ let C = p, w = S, T = r(null), E = d(() => C.visible);
13
+ _(T, E);
14
+ let D = n(y), O = n(v, null), k = b();
15
+ function A(e) {
16
+ e.key === "Escape" && w("close"), w("keydown", e);
17
+ }
18
+ return (n, r) => u(k) ? (c(), l(s, {
19
+ key: 0,
20
+ to: u(k)
21
+ }, [o(g, {
22
+ "enter-active-class": "tpl:transition",
23
+ "enter-from-class": "tpl:opacity-0",
24
+ "enter-to-class": "tpl:opacity-100",
25
+ "leave-active-class": "tpl:transition tpl:duration-100",
26
+ "leave-from-class": "tpl:opacity-100",
27
+ "leave-to-class": "tpl:opacity-0"
28
+ }, {
29
+ default: m(() => [p.visible ? (c(), a("div", {
30
+ key: 0,
31
+ "data-tpl-theme": u(D),
32
+ class: "tpl tpl:fixed tpl:inset-0 tpl:z-modal tpl:flex tpl:items-center tpl:justify-center",
33
+ style: t([{
34
+ "background-color": "var(--tpl-overlay)",
35
+ "backdrop-filter": "blur(8px)",
36
+ "-webkit-backdrop-filter": "blur(8px)"
37
+ }, u(O)]),
38
+ onClick: r[0] ||= h((e) => w("close"), ["self"]),
39
+ onKeydown: A
40
+ }, [i("div", {
41
+ ref_key: "dialogRef",
42
+ ref: T
43
+ }, [e(n.$slots, "default")], 512)], 44, x)) : f("", !0)]),
44
+ _: 3
45
+ })], 8, ["to"])) : f("", !0);
46
+ }
47
+ });
48
+ //#endregion
49
+ export { S as t };
@@ -0,0 +1,155 @@
1
+ import { Dt as e, X as t, c as n, d as r, g as i, h as a, j as o, k as s, kt as c, r as l, rt as u, s as d, u as f, v as p, z as m } from "./vue.runtime.esm-bundler-DzEsDRtY.js";
2
+ import { c as h, t as g } from "./runtime-dom.esm-bundler-BgKXIPLV.js";
3
+ import { t as _ } from "./dist-B5iReTtK.js";
4
+ import { t as v } from "./useI18n-BfXff_Sy.js";
5
+ import { t as y } from "./createLucideIcon-L-wQXW_R.js";
6
+ import { t as b } from "./chevron-down-nYScOLeZ.js";
7
+ import { t as x } from "./clock-DxkrtqOr.js";
8
+ import { t as S } from "./loader-circle-DqTxB7Kr.js";
9
+ import { t as C } from "./formatRelativeTime-CtUU-QZ8.js";
10
+ var w = y("chevron-left", [["path", {
11
+ d: "m15 18-6-6 6-6",
12
+ key: "1wnfg3"
13
+ }]]), T = y("chevron-right", [["path", {
14
+ d: "m9 18 6-6-6-6",
15
+ key: "mthhwq"
16
+ }]]), E = [
17
+ "disabled",
18
+ "title",
19
+ "aria-label"
20
+ ], D = [
21
+ "aria-expanded",
22
+ "title",
23
+ "aria-label"
24
+ ], O = {
25
+ key: 0,
26
+ class: "tpl-scale-in tpl:absolute tpl:top-full tpl:left-1/2 tpl:z-50 tpl:mt-2 tpl:w-72 tpl:-translate-x-1/2 tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:bg-[var(--tpl-bg)] tpl:border tpl:border-[var(--tpl-border)] tpl:shadow-[var(--tpl-shadow-lg)]",
27
+ "data-testid": "version-history-dropdown"
28
+ }, k = { class: "tpl:border-b tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)] tpl:border-[var(--tpl-border)]" }, A = {
29
+ key: 0,
30
+ class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8",
31
+ role: "status",
32
+ "aria-busy": "true"
33
+ }, j = {
34
+ key: 1,
35
+ class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]",
36
+ "data-testid": "version-history-empty"
37
+ }, M = {
38
+ key: 2,
39
+ class: "tpl:max-h-64 tpl:overflow-y-auto"
40
+ }, N = [
41
+ "data-version-id",
42
+ "disabled",
43
+ "onClick"
44
+ ], P = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, F = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, I = {
45
+ key: 0,
46
+ class: "tpl:rounded tpl:px-1 tpl:py-0.5 tpl:text-xs tpl:font-normal tpl:bg-[var(--tpl-bg-active)] tpl:text-[var(--tpl-text-muted)]"
47
+ }, L = {
48
+ key: 0,
49
+ class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
50
+ }, R = [
51
+ "disabled",
52
+ "title",
53
+ "aria-label"
54
+ ], z = /* @__PURE__ */ p({
55
+ __name: "VersionHistoryMenu",
56
+ props: {
57
+ versions: {},
58
+ isLoading: { type: Boolean },
59
+ isRestoring: { type: Boolean },
60
+ previewingId: {}
61
+ },
62
+ emits: ["open", "navigate"],
63
+ setup(p, { emit: y }) {
64
+ let z = p, B = y, { t: V, format: H } = v(), U = t(!1), W = t(null), G = d(() => z.previewingId === null ? -1 : z.versions.findIndex((e) => e.id === z.previewingId)), K = d(() => G.value > 0 && !z.isRestoring && !z.isLoading), q = d(() => G.value < z.versions.length - 1 && z.versions.length > 0 && !z.isRestoring && !z.isLoading);
65
+ function J() {
66
+ K.value && B("navigate", z.versions[G.value - 1]);
67
+ }
68
+ function Y() {
69
+ q.value && B("navigate", z.versions[G.value + 1]);
70
+ }
71
+ function X() {
72
+ U.value = !U.value, U.value && B("open");
73
+ }
74
+ function Z(e) {
75
+ B("navigate", e), U.value = !1;
76
+ }
77
+ function Q(e) {
78
+ let t = C(e, V.time, H, 7);
79
+ return t === null ? new Date(e).toLocaleDateString(void 0, {
80
+ month: "short",
81
+ day: "numeric",
82
+ hour: "2-digit",
83
+ minute: "2-digit"
84
+ }) : t;
85
+ }
86
+ return _(W, () => {
87
+ U.value = !1;
88
+ }), (t, d) => (s(), r("div", {
89
+ ref_key: "dropdownRef",
90
+ ref: W,
91
+ class: "tpl:relative tpl:flex tpl:items-center tpl:gap-0.5",
92
+ "data-testid": "version-history"
93
+ }, [
94
+ n("button", {
95
+ class: "tpl:flex tpl:size-7 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:disabled:cursor-not-allowed tpl:disabled:opacity-30 tpl:disabled:hover:bg-transparent tpl:text-[var(--tpl-text-muted)]",
96
+ "data-testid": "version-history-older",
97
+ disabled: !q.value,
98
+ title: u(V).versionHistory.olderVersion,
99
+ "aria-label": u(V).versionHistory.olderVersion,
100
+ onClick: h(Y, ["stop"])
101
+ }, [i(u(w), {
102
+ size: 14,
103
+ "stroke-width": 2
104
+ })], 8, E),
105
+ n("button", {
106
+ class: "tpl:flex tpl:h-7 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-0.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-1.5 tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
107
+ "data-testid": "version-history-toggle",
108
+ "aria-expanded": U.value,
109
+ title: u(V).versionHistory.tooltip,
110
+ "aria-label": u(V).versionHistory.tooltip,
111
+ onClick: h(X, ["stop"])
112
+ }, [i(u(x), {
113
+ size: 16,
114
+ "stroke-width": 1.5
115
+ }), i(u(b), {
116
+ class: e(["tpl:transition-transform", { "tpl:rotate-180": U.value }]),
117
+ size: 10,
118
+ "stroke-width": 2
119
+ }, null, 8, ["class"])], 8, D),
120
+ i(g, { name: "tpl-dropdown" }, {
121
+ default: m(() => [U.value ? (s(), r("div", O, [n("div", k, c(u(V).versionHistory.dropdownTitle), 1), p.isLoading && p.versions.length === 0 ? (s(), r("div", A, [i(u(S), {
122
+ class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
123
+ size: 20,
124
+ "stroke-width": 2
125
+ })])) : p.versions.length === 0 ? (s(), r("div", j, c(u(V).versionHistory.empty), 1)) : (s(), r("div", M, [(s(!0), r(l, null, o(p.versions, (t) => (s(), r("button", {
126
+ key: t.id,
127
+ class: e(["tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:border-l-2 tpl:px-3 tpl:py-2.5 tpl:text-left tpl:transition-all tpl:hover:border-l-[var(--tpl-primary)] tpl:hover:bg-[var(--tpl-bg-hover)]", t.id === p.previewingId ? "tpl:border-l-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg-active)]" : "tpl:border-l-transparent"]),
128
+ style: { "background-color": "transparent" },
129
+ "data-testid": "version-history-entry",
130
+ "data-version-id": t.id,
131
+ disabled: p.isRestoring,
132
+ onClick: (e) => Z(t)
133
+ }, [n("div", P, [n("div", F, [n("span", null, c(t.label ?? Q(t.createdAt)), 1), t.isAutomatic ? (s(), r("span", I, c(u(V).versionHistory.auto), 1)) : f("", !0)]), t.label || t.author?.name ? (s(), r("div", L, [
134
+ t.label ? (s(), r(l, { key: 0 }, [a(c(Q(t.createdAt)), 1)], 64)) : f("", !0),
135
+ t.label && t.author?.name ? (s(), r(l, { key: 1 }, [a(" · ")], 64)) : f("", !0),
136
+ t.author?.name ? (s(), r(l, { key: 2 }, [a(c(t.author.name), 1)], 64)) : f("", !0)
137
+ ])) : f("", !0)])], 10, N))), 128))]))])) : f("", !0)]),
138
+ _: 1
139
+ }),
140
+ n("button", {
141
+ class: "tpl:flex tpl:size-7 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:disabled:cursor-not-allowed tpl:disabled:opacity-30 tpl:disabled:hover:bg-transparent tpl:text-[var(--tpl-text-muted)]",
142
+ "data-testid": "version-history-newer",
143
+ disabled: !K.value,
144
+ title: u(V).versionHistory.newerVersion,
145
+ "aria-label": u(V).versionHistory.newerVersion,
146
+ onClick: h(J, ["stop"])
147
+ }, [i(u(T), {
148
+ size: 14,
149
+ "stroke-width": 2
150
+ })], 8, R)
151
+ ], 512));
152
+ }
153
+ });
154
+ //#endregion
155
+ export { z as default };
@@ -0,0 +1,46 @@
1
+ import { _ as e, d as t, k as n, l as r, r as i, rt as a, u as o, v as s } from "./vue.runtime.esm-bundler-DzEsDRtY.js";
2
+ //#endregion
3
+ //#region src/components/VersionHistoryPanels.vue
4
+ var c = /* @__PURE__ */ s({
5
+ __name: "VersionHistoryPanels",
6
+ props: { feature: {} },
7
+ setup(s) {
8
+ let c = s, l = e(() => import("./VersionPreviewBanner-DthyHe6C.js")), u = e(() => import("./RestoreVersionDialog-DIn1muFD.js"));
9
+ async function d() {
10
+ try {
11
+ await c.feature.requestRestore();
12
+ } catch {}
13
+ }
14
+ async function f() {
15
+ try {
16
+ await c.feature.saveAndRestore();
17
+ } catch {}
18
+ }
19
+ async function p() {
20
+ try {
21
+ await c.feature.discardAndRestore();
22
+ } catch {}
23
+ }
24
+ return (e, c) => (n(), t(i, null, [s.feature.isPreviewing.value ? (n(), r(a(l), {
25
+ key: 0,
26
+ visible: s.feature.isPreviewing.value,
27
+ "can-restore": s.feature.canRestore.value,
28
+ onCancel: c[0] ||= (e) => s.feature.cancelPreview(),
29
+ onConfirm: d
30
+ }, null, 8, ["visible", "can-restore"])) : o("", !0), s.feature.isConfirmingRestore.value ? (n(), r(a(u), {
31
+ key: 1,
32
+ visible: s.feature.isConfirmingRestore.value,
33
+ "can-save": s.feature.canSaveBeforeRestore.value,
34
+ "is-busy": s.feature.isConfirmBusy.value,
35
+ onCancel: c[1] ||= (e) => s.feature.cancelRestoreConfirm(),
36
+ onSaveAndRestore: f,
37
+ onDiscardAndRestore: p
38
+ }, null, 8, [
39
+ "visible",
40
+ "can-save",
41
+ "is-busy"
42
+ ])) : o("", !0)], 64));
43
+ }
44
+ });
45
+ //#endregion
46
+ export { c as default };
@@ -0,0 +1,38 @@
1
+ import { Dt as e, c as t, d as n, g as r, k as i, kt as a, rt as o, u as s, v as c } from "./vue.runtime.esm-bundler-DzEsDRtY.js";
2
+ import { t as l } from "./useI18n-BfXff_Sy.js";
3
+ import { t as u } from "./clock-DxkrtqOr.js";
4
+ import { f as d, v as f } from "./styleConstants-ByDqaYj_.js";
5
+ //#region src/components/VersionPreviewBanner.vue?vue&type=script&setup=true&lang.ts
6
+ var p = {
7
+ key: 0,
8
+ class: "tpl-preview-banner tpl:absolute tpl:top-14 tpl:right-0 tpl:left-0 tpl:z-40 tpl:flex tpl:items-center tpl:justify-center tpl:gap-4 tpl:px-4 tpl:py-3 tpl:bg-[var(--tpl-primary-light)] tpl:border-b tpl:border-[var(--tpl-primary)]",
9
+ "data-testid": "version-preview-banner",
10
+ role: "status"
11
+ }, m = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, h = { class: "tpl:flex tpl:items-center tpl:gap-2" }, g = /* @__PURE__ */ c({
12
+ __name: "VersionPreviewBanner",
13
+ props: {
14
+ visible: { type: Boolean },
15
+ canRestore: { type: Boolean }
16
+ },
17
+ emits: ["cancel", "confirm"],
18
+ setup(c, { emit: g }) {
19
+ let _ = g, { t: v } = l();
20
+ return (l, g) => c.visible ? (i(), n("div", p, [t("div", m, [r(o(u), {
21
+ size: 18,
22
+ "stroke-width": 2,
23
+ class: "tpl:text-[var(--tpl-primary)]"
24
+ }), t("span", null, a(o(v).versionPreview.message), 1)]), t("div", h, [t("button", {
25
+ class: e(o(d)),
26
+ style: { "background-color": "transparent" },
27
+ "data-testid": "version-preview-cancel",
28
+ onClick: g[0] ||= (e) => _("cancel")
29
+ }, a(o(v).versionPreview.cancel), 3), c.canRestore ? (i(), n("button", {
30
+ key: 0,
31
+ class: e(o(f)),
32
+ "data-testid": "version-preview-restore",
33
+ onClick: g[1] ||= (e) => _("confirm")
34
+ }, a(o(v).versionPreview.restore), 3)) : s("", !0)])])) : s("", !0);
35
+ }
36
+ });
37
+ //#endregion
38
+ export { g as default };
@@ -1,5 +1,5 @@
1
- import { A as e, L as t, M as n, N as r, j as i } from "./useEditorCore-P4UkhcyS.js";
2
- import { t as a } from "./createLucideIcon-C8WzBYCv.js";
1
+ import { A as e, I as t, M as n, j as r, k as i } from "./useEditorCore-B-kONNRw.js";
2
+ import { t as a } from "./createLucideIcon-L-wQXW_R.js";
3
3
  var o = a("columns-3", [
4
4
  ["rect", {
5
5
  width: "18",
@@ -119,13 +119,13 @@ var o = a("columns-3", [
119
119
  section: o,
120
120
  title: s,
121
121
  paragraph: d,
122
- image: r,
122
+ image: n,
123
123
  button: p,
124
124
  divider: c,
125
125
  video: f,
126
- social: i,
127
- menu: n,
128
- table: e,
126
+ social: e,
127
+ menu: r,
128
+ table: i,
129
129
  spacer: l,
130
130
  countdown: h,
131
131
  html: t
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "0.26.3",
3
- "initialGzipBytes": 297148,
4
- "initialRawBytes": 1068314,
5
- "initialFileCount": 41,
6
- "lazyGzipBytes": 210277,
7
- "lazyRawBytes": 686125,
8
- "lazyFileCount": 54,
9
- "generatedAt": "2026-08-19T15:22:31.506Z"
2
+ "version": "0.27.0",
3
+ "initialGzipBytes": 304909,
4
+ "initialRawBytes": 1099925,
5
+ "initialFileCount": 46,
6
+ "lazyGzipBytes": 211010,
7
+ "lazyRawBytes": 678013,
8
+ "lazyFileCount": 59,
9
+ "generatedAt": "2026-08-19T15:54:22.639Z"
10
10
  }
@@ -4,6 +4,27 @@ var e = {
4
4
  poweredBy: "Amb la tecnologia de",
5
5
  openSource: "Codi obert"
6
6
  },
7
+ header: {
8
+ save: "Desa",
9
+ saving: "S'està desant...",
10
+ saved: "Desat",
11
+ unsaved: "Sense desar",
12
+ saveFailed: "No s'ha pogut desar",
13
+ saveNoTemplate: "Primer carrega o crea una plantilla",
14
+ templateName: "Nom de la plantilla",
15
+ rename: "Canvia el nom de la plantilla",
16
+ untitled: "Sense títol",
17
+ updatedAt: "Actualitzat {time}",
18
+ createdAt: "Creat {time}",
19
+ updatedJustNow: "Actualitzat ara mateix",
20
+ createdJustNow: "Creat ara mateix"
21
+ },
22
+ time: {
23
+ justNow: "Ara mateix",
24
+ minutesAgo: "fa {minutes} min",
25
+ hoursAgo: "fa {hours} h",
26
+ daysAgo: "fa {days} d"
27
+ },
7
28
  history: {
8
29
  undo: "Desfer",
9
30
  redo: "Refer",
@@ -563,12 +584,54 @@ var e = {
563
584
  expand: "Amplia",
564
585
  collapse: "Redueix",
565
586
  expandPreview: "Amplia la vista prèvia de {block}",
566
- collapsePreview: "Redueix la vista prèvia de {block}",
567
- time: {
568
- justNow: "Ara mateix",
569
- minutesAgo: "fa {minutes} min",
570
- hoursAgo: "fa {hours} h",
571
- daysAgo: "fa {days} d"
587
+ collapsePreview: "Redueix la vista prèvia de {block}"
588
+ },
589
+ comments: {
590
+ button: "Comentaris",
591
+ title: "Comentaris",
592
+ placeholder: "Escriu un comentari...",
593
+ replyPlaceholder: "Escriu una resposta...",
594
+ reply: "Respondre",
595
+ resolve: "Resoldre",
596
+ unresolve: "Reobrir",
597
+ delete: "Eliminar",
598
+ edit: "Editar",
599
+ cancel: "Cancel·lar",
600
+ save: "Desar",
601
+ noComments: "Encara no hi ha comentaris",
602
+ noCommentsHint: "Comença una conversa afegint un comentari a la plantilla o a un bloc concret.",
603
+ deleteConfirm: "Vols eliminar aquest comentari?",
604
+ filterAll: "Tots",
605
+ filterUnresolved: "Sense resoldre",
606
+ filterBlock: "Aquest bloc",
607
+ jumpToBlock: "Bloc",
608
+ ownedByYou: "Tu",
609
+ edited: "editat",
610
+ resolvedBy: "Resolt per {name}",
611
+ replyOne: "{count} resposta",
612
+ replyMany: "{count} respostes",
613
+ missingBlock: "Bloc no trobat",
614
+ saveTemplateFirst: "Desa la plantilla abans de comentar en aquest bloc."
615
+ },
616
+ versionHistory: {
617
+ tooltip: "Historial de versions",
618
+ dropdownTitle: "Historial de versions",
619
+ empty: "Encara no hi ha versions",
620
+ auto: "auto",
621
+ olderVersion: "Versió anterior",
622
+ newerVersion: "Versió més recent"
623
+ },
624
+ versionPreview: {
625
+ message: "Estàs veient una versió anterior d’aquesta plantilla.",
626
+ cancel: "Cancel·la",
627
+ restore: "Restaura aquesta versió",
628
+ restoreConfirm: {
629
+ title: "Vols restaurar aquesta versió?",
630
+ unsavedWithSave: "Tens canvis sense desar. Desa’ls primer i es mantindran a l’historial; si restaures sense desar, es perdran.",
631
+ unsavedNoSave: "Tens canvis sense desar i cap lloc on desar-los. Si restaures aquesta versió, es perdran.",
632
+ saveAndRestore: "Desa i restaura",
633
+ restoreAnyway: "Restaura igualment",
634
+ cancel: "Cancel·la"
572
635
  }
573
636
  },
574
637
  previewResolution: {