@templatical/editor 0.22.0 → 0.24.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 (201) hide show
  1. package/dist/{AiChatSidebar-K_AehWc-.js → AiChatSidebar-Nq-jrGaf.js} +2 -2
  2. package/dist/{AiFeatureMenu-CcqjRMFW.js → AiFeatureMenu-tg_zMKMK.js} +3 -3
  3. package/dist/{BlockIssueBadge-Dmj9rVra.js → BlockIssueBadge-Bd94kIiw.js} +2 -2
  4. package/dist/BlockPreviewCanvas-B34aMhHe.js +117 -0
  5. package/dist/{CloudEditor-BVH7D1Ka.js → CloudEditor-DjN_9Yso.js} +285 -284
  6. package/dist/{CollaboratorBar-C_1SF7Xf.js → CollaboratorBar-Bhazzcg-.js} +2 -2
  7. package/dist/{ColorPicker-s9GHXjZs.js → ColorPicker-DXGrcJxJ.js} +5 -5
  8. package/dist/{CommentsSidebar-DvNEdugN.js → CommentsSidebar-ku1kt10u.js} +3 -3
  9. package/dist/{CountdownBlock-J_Q9JRQM.js → CountdownBlock-CN9Lc23W.js} +1 -1
  10. package/dist/{CountdownToolbar-DPRcv3Fu.js → CountdownToolbar-VEsIyKV6.js} +3 -3
  11. package/dist/{DesignReferenceSidebar-DNmK3dxp.js → DesignReferenceSidebar-C4pTMzQE.js} +3 -3
  12. package/dist/{IssuesPanel-CEnEGFtd.js → IssuesPanel-CEfzOpS_.js} +2 -2
  13. package/dist/MergeTagModeToggle-C3V2xGAg.js +180 -0
  14. package/dist/{MergeTagSuggestion-D9eCryMC.js → MergeTagSuggestion-Dn8ww9nV.js} +2 -2
  15. package/dist/{NumberWithSuffix-CCPN_oCh.js → NumberWithSuffix-BGocZkj9.js} +1 -1
  16. package/dist/{ParagraphEditor-MKJYyWN9.js → ParagraphEditor-D-fz0kUb.js} +19 -19
  17. package/dist/{RichTextEditorContent-FbnWsh46.js → RichTextEditorContent-DydrqFts.js} +5 -5
  18. package/dist/{SaveBlockDialog-B_5KBaXW.js → SaveBlockDialog-BDDFbAWF.js} +100 -99
  19. package/dist/{SavedBlocksBrowserModal-DoJBoYPk.js → SavedBlocksBrowserModal-Djik_fJh.js} +6 -6
  20. package/dist/{SavedBlocksPanels-3Af5dMaf.js → SavedBlocksPanels-CxemyPxL.js} +1 -1
  21. package/dist/{SavedBlocksPickBar-C1FTJP-I.js → SavedBlocksPickBar-Dlhipmob.js} +2 -2
  22. package/dist/{SnapshotHistory-DWlQ3Eh0.js → SnapshotHistory-DPbM4ons.js} +4 -4
  23. package/dist/{TemplateScoringPanel-ifGGGWs5.js → TemplateScoringPanel-BFYgweDX.js} +2 -2
  24. package/dist/TestEmailModal-IZfwgya-.js +174 -0
  25. package/dist/TestEmailPanel-QEEx_PkN.js +33 -0
  26. package/dist/{TitleEditor-DzsPxKv4.js → TitleEditor-BB4YlIBF.js} +10 -10
  27. package/dist/{TplModal-CykwWFhF.js → TplModal-DPH4vV8M.js} +3 -3
  28. package/dist/{blockTypeIcons-CpKkI47V.js → blockTypeIcons-Wzd7W_2x.js} +1 -1
  29. package/dist/bundle-stats.json +7 -7
  30. package/dist/{ca-BBgad6y5.js → ca-CO4nq6TX.js} +22 -1
  31. package/dist/cdn/chunks/{AiChatSidebar-A1CuWGY0.js → AiChatSidebar-CN-0DIuA.js} +11 -11
  32. package/dist/cdn/chunks/{AiChatSidebar-A1CuWGY0.js.map → AiChatSidebar-CN-0DIuA.js.map} +1 -1
  33. package/dist/cdn/chunks/{AiFeatureMenu-hWgWQg11.js → AiFeatureMenu-B5pV6Iux.js} +8 -8
  34. package/dist/cdn/chunks/{AiFeatureMenu-hWgWQg11.js.map → AiFeatureMenu-B5pV6Iux.js.map} +1 -1
  35. package/dist/cdn/chunks/{BlockIssueBadge-Da4yR-mh.js → BlockIssueBadge-aanOjeyi.js} +4 -4
  36. package/dist/cdn/chunks/{BlockIssueBadge-Da4yR-mh.js.map → BlockIssueBadge-aanOjeyi.js.map} +1 -1
  37. package/dist/cdn/chunks/BlockPreviewCanvas-Dc4F4HzY.js +119 -0
  38. package/dist/cdn/chunks/BlockPreviewCanvas-Dc4F4HzY.js.map +1 -0
  39. package/dist/cdn/chunks/{CloudEditor-FCS53UcZ.js → CloudEditor-CeKaWWO5.js} +264 -263
  40. package/dist/cdn/chunks/CloudEditor-CeKaWWO5.js.map +1 -0
  41. package/dist/cdn/chunks/{CollaboratorBar-mkJVAkSh.js → CollaboratorBar-CEdKr0A2.js} +4 -4
  42. package/dist/cdn/chunks/{CollaboratorBar-mkJVAkSh.js.map → CollaboratorBar-CEdKr0A2.js.map} +1 -1
  43. package/dist/cdn/chunks/{ColorPicker-DZSzZ5ZP.js → ColorPicker-BckwEfcN.js} +7 -7
  44. package/dist/cdn/chunks/{ColorPicker-DZSzZ5ZP.js.map → ColorPicker-BckwEfcN.js.map} +1 -1
  45. package/dist/cdn/chunks/{CommentsSidebar-DHdRiGPX.js → CommentsSidebar-6PfpJKh-.js} +18 -18
  46. package/dist/cdn/chunks/{CommentsSidebar-DHdRiGPX.js.map → CommentsSidebar-6PfpJKh-.js.map} +1 -1
  47. package/dist/cdn/chunks/{CountdownBlock-Bffpoppw.js → CountdownBlock-CoBmvQKv.js} +2 -2
  48. package/dist/cdn/chunks/{CountdownBlock-Bffpoppw.js.map → CountdownBlock-CoBmvQKv.js.map} +1 -1
  49. package/dist/cdn/chunks/{CountdownToolbar-DAnmIZjq.js → CountdownToolbar-CdV8RTQu.js} +4 -4
  50. package/dist/cdn/chunks/{CountdownToolbar-DAnmIZjq.js.map → CountdownToolbar-CdV8RTQu.js.map} +1 -1
  51. package/dist/cdn/chunks/{DesignReferenceSidebar-Dre99DTH.js → DesignReferenceSidebar-BjlaP69l.js} +90 -90
  52. package/dist/cdn/chunks/{DesignReferenceSidebar-Dre99DTH.js.map → DesignReferenceSidebar-BjlaP69l.js.map} +1 -1
  53. package/dist/cdn/chunks/{IssuesPanel-D80JedOj.js → IssuesPanel-CkkEnhxZ.js} +9 -9
  54. package/dist/cdn/chunks/{IssuesPanel-D80JedOj.js.map → IssuesPanel-CkkEnhxZ.js.map} +1 -1
  55. package/dist/cdn/chunks/MergeTagModeToggle-DmtR300G.js +127 -0
  56. package/dist/cdn/chunks/MergeTagModeToggle-DmtR300G.js.map +1 -0
  57. package/dist/cdn/chunks/{MergeTagSuggestion-BM349_QH.js → MergeTagSuggestion-Cvlkw_PM.js} +2 -2
  58. package/dist/cdn/chunks/{MergeTagSuggestion-BM349_QH.js.map → MergeTagSuggestion-Cvlkw_PM.js.map} +1 -1
  59. package/dist/cdn/chunks/{NumberWithSuffix-CjlVNIEe.js → NumberWithSuffix-BOcMN26z.js} +2 -2
  60. package/dist/cdn/chunks/{NumberWithSuffix-CjlVNIEe.js.map → NumberWithSuffix-BOcMN26z.js.map} +1 -1
  61. package/dist/cdn/chunks/{ParagraphEditor-J-1RLyi7.js → ParagraphEditor-CX1yks4N.js} +35 -35
  62. package/dist/cdn/chunks/{ParagraphEditor-J-1RLyi7.js.map → ParagraphEditor-CX1yks4N.js.map} +1 -1
  63. package/dist/cdn/chunks/{RichTextEditorContent-BbdgJqWM.js → RichTextEditorContent-z9s7qxs3.js} +7 -7
  64. package/dist/cdn/chunks/{RichTextEditorContent-BbdgJqWM.js.map → RichTextEditorContent-z9s7qxs3.js.map} +1 -1
  65. package/dist/cdn/chunks/{SaveBlockDialog-CSeD3gn9.js → SaveBlockDialog-D2CtW4lC.js} +100 -99
  66. package/dist/cdn/chunks/SaveBlockDialog-D2CtW4lC.js.map +1 -0
  67. package/dist/cdn/chunks/{SavedBlocksBrowserModal-B2x5WRPN.js → SavedBlocksBrowserModal-DdUKJzzF.js} +8 -8
  68. package/dist/cdn/chunks/SavedBlocksBrowserModal-DdUKJzzF.js.map +1 -0
  69. package/dist/cdn/chunks/{SavedBlocksPanels-BzMTZxf2.js → SavedBlocksPanels-1kVbqdpc.js} +2 -2
  70. package/dist/cdn/chunks/{SavedBlocksPanels-BzMTZxf2.js.map → SavedBlocksPanels-1kVbqdpc.js.map} +1 -1
  71. package/dist/cdn/chunks/{SavedBlocksPickBar-CduR1Cpb.js → SavedBlocksPickBar--noDJIyN.js} +6 -6
  72. package/dist/cdn/chunks/{SavedBlocksPickBar-CduR1Cpb.js.map → SavedBlocksPickBar--noDJIyN.js.map} +1 -1
  73. package/dist/cdn/chunks/{SnapshotHistory-DO-gzr3i.js → SnapshotHistory-DFuNJRc9.js} +8 -8
  74. package/dist/cdn/chunks/{SnapshotHistory-DO-gzr3i.js.map → SnapshotHistory-DFuNJRc9.js.map} +1 -1
  75. package/dist/cdn/chunks/{TemplateScoringPanel-CTk8WwxU.js → TemplateScoringPanel-DG1dAjQk.js} +52 -52
  76. package/dist/cdn/chunks/{TemplateScoringPanel-CTk8WwxU.js.map → TemplateScoringPanel-DG1dAjQk.js.map} +1 -1
  77. package/dist/cdn/chunks/TestEmailModal-CiPfOn2v.js +174 -0
  78. package/dist/cdn/chunks/TestEmailModal-CiPfOn2v.js.map +1 -0
  79. package/dist/cdn/chunks/TestEmailPanel-saOfnpjz.js +35 -0
  80. package/dist/cdn/chunks/TestEmailPanel-saOfnpjz.js.map +1 -0
  81. package/dist/cdn/chunks/{TitleEditor-J1vgU_J6.js → TitleEditor-08KM_VzZ.js} +18 -18
  82. package/dist/cdn/chunks/{TitleEditor-J1vgU_J6.js.map → TitleEditor-08KM_VzZ.js.map} +1 -1
  83. package/dist/cdn/chunks/{TplModal-BN53d9Se.js → TplModal-Cu4tBBnF.js} +4 -4
  84. package/dist/cdn/chunks/{TplModal-BN53d9Se.js.map → TplModal-Cu4tBBnF.js.map} +1 -1
  85. package/dist/cdn/chunks/blockTypeIcons-DvohkXqi.js +21 -0
  86. package/dist/cdn/chunks/{blockTypeIcons-etMMQoVv.js.map → blockTypeIcons-DvohkXqi.js.map} +1 -1
  87. package/dist/cdn/chunks/{ca-BBgad6y5.js → ca-CO4nq6TX.js} +23 -2
  88. package/dist/cdn/chunks/{ca-BBgad6y5.js.map → ca-CO4nq6TX.js.map} +1 -1
  89. package/dist/cdn/chunks/{cloud-BJlbXGTJ.js → cloud-C2I0P9qj.js} +46 -42
  90. package/dist/cdn/chunks/cloud-C2I0P9qj.js.map +1 -0
  91. package/dist/{de-D7WbpFBR.js → cdn/chunks/de-CUeaFJph.js} +24 -1
  92. package/dist/cdn/chunks/{de-D7WbpFBR.js.map → de-CUeaFJph.js.map} +1 -1
  93. package/dist/{de-Bw6fB5JU.js → cdn/chunks/de-uVoSP1xF.js} +2 -9
  94. package/dist/cdn/chunks/de-uVoSP1xF.js.map +1 -0
  95. package/dist/cdn/chunks/emailFrameWidth-BmFCN2dp.js +8 -0
  96. package/dist/cdn/chunks/emailFrameWidth-BmFCN2dp.js.map +1 -0
  97. package/dist/{en-DAdHJz7h.js → cdn/chunks/en-CjhsJxb-.js} +2 -9
  98. package/dist/cdn/chunks/en-CjhsJxb-.js.map +1 -0
  99. package/dist/{en-BrZ0uGK2.js → cdn/chunks/en-zCYIPAL5.js} +24 -1
  100. package/dist/cdn/chunks/{en-BrZ0uGK2.js.map → en-zCYIPAL5.js.map} +1 -1
  101. package/dist/{es-tLSLysPs.js → cdn/chunks/es-BSiH7YkP.js} +24 -1
  102. package/dist/cdn/chunks/{es-tLSLysPs.js.map → es-BSiH7YkP.js.map} +1 -1
  103. package/dist/cdn/chunks/{extensions-C49c51P1.js → extensions-DBWF_lxx.js} +16 -16
  104. package/dist/cdn/chunks/{extensions-C49c51P1.js.map → extensions-DBWF_lxx.js.map} +1 -1
  105. package/dist/{fr-BMWOPztQ.js → cdn/chunks/fr-DTVJ3det.js} +24 -1
  106. package/dist/cdn/chunks/fr-DTVJ3det.js.map +1 -0
  107. package/dist/cdn/chunks/{icons-CYWw8Xfp.js → icons-Cqxvwgz7.js} +35 -14
  108. package/dist/cdn/chunks/icons-Cqxvwgz7.js.map +1 -0
  109. package/dist/cdn/chunks/keys-B5uoP9P7.js +12 -0
  110. package/dist/cdn/chunks/keys-B5uoP9P7.js.map +1 -0
  111. package/dist/{nl-Dhctu7JL.js → cdn/chunks/nl-BqSquFS3.js} +24 -1
  112. package/dist/cdn/chunks/nl-BqSquFS3.js.map +1 -0
  113. package/dist/cdn/chunks/{pt-BR-BWFokdTU.js → pt-BR-CMljK37h.js} +23 -2
  114. package/dist/cdn/chunks/{pt-BR-BWFokdTU.js.map → pt-BR-CMljK37h.js.map} +1 -1
  115. package/dist/{pt-BR-w2sGzHNX.js → cdn/chunks/pt-BR-CTzHTqJD.js} +2 -9
  116. package/dist/cdn/chunks/pt-BR-CTzHTqJD.js.map +1 -0
  117. package/dist/cdn/chunks/{src-BKI1x1k7.js → src-BCJna-6p.js} +183 -165
  118. package/dist/cdn/chunks/{src-BKI1x1k7.js.map → src-BCJna-6p.js.map} +1 -1
  119. package/dist/cdn/chunks/{src-MA8DWI8O.js → src-C45kfA2t.js} +17 -17
  120. package/dist/cdn/chunks/{src-MA8DWI8O.js.map → src-C45kfA2t.js.map} +1 -1
  121. package/dist/cdn/chunks/{src-ByWL5K1f.js → src-XQmI_Xs1.js} +48 -48
  122. package/dist/cdn/chunks/{src-ByWL5K1f.js.map → src-XQmI_Xs1.js.map} +1 -1
  123. package/dist/cdn/chunks/{src-CM0gCvAS.js → src-YVsPFLNJ.js} +251 -251
  124. package/dist/cdn/chunks/{src-CM0gCvAS.js.map → src-YVsPFLNJ.js.map} +1 -1
  125. package/dist/cdn/chunks/{styles-BkXzQ4-n.js → styles-BohMfIBd.js} +785 -746
  126. package/dist/cdn/chunks/styles-BohMfIBd.js.map +1 -0
  127. package/dist/cdn/chunks/{tiptap-DUTbZTeR.js → tiptap-DRKu__AX.js} +5 -5
  128. package/dist/cdn/chunks/{tiptap-DUTbZTeR.js.map → tiptap-DRKu__AX.js.map} +1 -1
  129. package/dist/cdn/chunks/{useCloudI18n-BjNENqkM.js → useCloudI18n-Bem8DUjH.js} +2 -2
  130. package/dist/cdn/chunks/{useCloudI18n-BjNENqkM.js.map → useCloudI18n-Bem8DUjH.js.map} +1 -1
  131. package/dist/cdn/chunks/{useEditorCore-CzMhD6Gd.js → useEditorCore-B_vwuKdI.js} +434 -414
  132. package/dist/cdn/chunks/useEditorCore-B_vwuKdI.js.map +1 -0
  133. package/dist/cdn/chunks/{useI18n-8Wd7G-cq.js → useI18n-graz19nI.js} +2 -2
  134. package/dist/cdn/chunks/{useI18n-8Wd7G-cq.js.map → useI18n-graz19nI.js.map} +1 -1
  135. package/dist/cdn/chunks/{useMergeTag-C7G31KV-.js → useMergeTag-rTzAFMlr.js} +4 -4
  136. package/dist/cdn/chunks/{useMergeTag-C7G31KV-.js.map → useMergeTag-rTzAFMlr.js.map} +1 -1
  137. package/dist/cdn/chunks/{usePopoverPosition-Bx0QewTv.js → usePopoverPosition-BaFxLP3w.js} +2 -2
  138. package/dist/cdn/chunks/{usePopoverPosition-Bx0QewTv.js.map → usePopoverPosition-BaFxLP3w.js.map} +1 -1
  139. package/dist/cdn/editor.css +1 -1
  140. package/dist/cdn/editor.js +172 -150
  141. package/dist/cdn/editor.js.map +1 -1
  142. package/dist/{cloud-Du7mnkz2.js → cloud-DsUct4Zq.js} +42 -40
  143. package/dist/{cdn/chunks/de-D7WbpFBR.js → de-CUeaFJph.js} +22 -3
  144. package/dist/{cdn/chunks/de-Bw6fB5JU.js → de-uVoSP1xF.js} +0 -11
  145. package/dist/{dist-CL_CfQ3Q.js → dist-9uhI32Q4.js} +2 -2
  146. package/dist/{dist-3DHaYEiT.js → dist-BAkGuPYm.js} +2 -2
  147. package/dist/dist-BIYm-U9x.js +5 -0
  148. package/dist/{dist-3HenmYIg.js → dist-ByJVlKWy.js} +1 -1
  149. package/dist/{dist-DKWoZJAV.js → dist-C5tigvDF.js} +2 -2
  150. package/dist/{dist-bivrM-nS.js → dist-CQiAZlTt.js} +2 -2
  151. package/dist/{dist-Ih7ejWzn.js → dist-C_kAE1sC.js} +2 -2
  152. package/dist/{dist-CclnU_v0.js → dist-CkCVlKj_.js} +2 -2
  153. package/dist/{dist-B_etKYyh.js → dist-DFO896yT.js} +5 -5
  154. package/dist/{dist-BJbqgyPn.js → dist-DPHqs0Yh.js} +105 -87
  155. package/dist/{dist-DOtLGnLr.js → dist-DWu9QWFl.js} +2 -2
  156. package/dist/{dist-BCnJcAQc.js → dist-IGetXrbO.js} +2 -2
  157. package/dist/dist-JXOq1hib.js +5 -0
  158. package/dist/emailFrameWidth-BmFCN2dp.js +6 -0
  159. package/dist/{cdn/chunks/en-DAdHJz7h.js → en-CjhsJxb-.js} +0 -11
  160. package/dist/{cdn/chunks/en-BrZ0uGK2.js → en-zCYIPAL5.js} +22 -3
  161. package/dist/{cdn/chunks/es-tLSLysPs.js → es-BSiH7YkP.js} +22 -3
  162. package/dist/{extensions-3870a_3R.js → extensions-C0DXnYdA.js} +13 -13
  163. package/dist/{cdn/chunks/fr-BMWOPztQ.js → fr-DTVJ3det.js} +22 -3
  164. package/dist/index.d.ts +74 -0
  165. package/dist/keys-BVlG5Ozc.js +10 -0
  166. package/dist/{cdn/chunks/nl-Dhctu7JL.js → nl-BqSquFS3.js} +22 -3
  167. package/dist/{pt-BR-BWFokdTU.js → pt-BR-CMljK37h.js} +22 -1
  168. package/dist/{cdn/chunks/pt-BR-w2sGzHNX.js → pt-BR-CTzHTqJD.js} +0 -11
  169. package/dist/style.css +1 -1
  170. package/dist/{styles-AxBd7CgB.js → styles-BTTD0Je4.js} +941 -935
  171. package/dist/templatical-editor.js +112 -89
  172. package/dist/{useCloudI18n-BmiygEM4.js → useCloudI18n-DGr3b2SX.js} +1 -1
  173. package/dist/{useEditorCore-CuMMIfiS.js → useEditorCore-DOrGex_t.js} +917 -897
  174. package/dist/{useI18n-D2L9Mkik.js → useI18n-BhAejA-x.js} +1 -1
  175. package/dist/{useMergeTag-BTdDq5DC.js → useMergeTag-Ce95YIOO.js} +3 -3
  176. package/dist/{usePopoverPosition-BO2LNy5n.js → usePopoverPosition-vjKJaqJf.js} +1 -1
  177. package/package.json +20 -20
  178. package/dist/SavedBlockPreviewCanvas-DXkGDYph.js +0 -109
  179. package/dist/TestEmailModal-DComAFpR.js +0 -95
  180. package/dist/cdn/chunks/CloudEditor-FCS53UcZ.js.map +0 -1
  181. package/dist/cdn/chunks/SaveBlockDialog-CSeD3gn9.js.map +0 -1
  182. package/dist/cdn/chunks/SavedBlockPreviewCanvas-DgLOKtR_.js +0 -111
  183. package/dist/cdn/chunks/SavedBlockPreviewCanvas-DgLOKtR_.js.map +0 -1
  184. package/dist/cdn/chunks/SavedBlocksBrowserModal-B2x5WRPN.js.map +0 -1
  185. package/dist/cdn/chunks/TestEmailModal-DT37w7i_.js +0 -96
  186. package/dist/cdn/chunks/TestEmailModal-DT37w7i_.js.map +0 -1
  187. package/dist/cdn/chunks/blockTypeIcons-etMMQoVv.js +0 -21
  188. package/dist/cdn/chunks/cloud-BJlbXGTJ.js.map +0 -1
  189. package/dist/cdn/chunks/de-Bw6fB5JU.js.map +0 -1
  190. package/dist/cdn/chunks/en-DAdHJz7h.js.map +0 -1
  191. package/dist/cdn/chunks/fr-BMWOPztQ.js.map +0 -1
  192. package/dist/cdn/chunks/icons-CYWw8Xfp.js.map +0 -1
  193. package/dist/cdn/chunks/keys-D7kUmfpE.js +0 -12
  194. package/dist/cdn/chunks/keys-D7kUmfpE.js.map +0 -1
  195. package/dist/cdn/chunks/nl-Dhctu7JL.js.map +0 -1
  196. package/dist/cdn/chunks/pt-BR-w2sGzHNX.js.map +0 -1
  197. package/dist/cdn/chunks/styles-BkXzQ4-n.js.map +0 -1
  198. package/dist/cdn/chunks/useEditorCore-CzMhD6Gd.js.map +0 -1
  199. package/dist/dist-CcQLJeWV.js +0 -5
  200. package/dist/dist-DerdmERj.js +0 -5
  201. package/dist/keys-CHPcp-Nz.js +0 -10
@@ -1,27 +1,28 @@
1
1
  import { A as e, D as t, Dt as n, E as r, Et as i, I as a, K as o, O as s, Ot as c, R as l, Y as u, Z as d, _ as f, c as p, d as m, g as h, h as g, k as _, l as v, m as y, nt as b, p as x, r as S, s as C, u as w, z as T } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  import { c as E, o as D, t as O } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
3
  import { n as k } from "./upload-BwwE0U6G.js";
4
- import { A } from "./dist-BJbqgyPn.js";
5
- import { E as j, V as M, t as N, x as P } from "./useEditorCore-CuMMIfiS.js";
4
+ import { M as A } from "./dist-DPHqs0Yh.js";
5
+ import { E as j, V as M, t as N, x as P } from "./useEditorCore-DOrGex_t.js";
6
6
  import { m as F } from "./dist-DYv_Pttj.js";
7
- import { s as I } from "./usePopoverPosition-BO2LNy5n.js";
8
- import { A as L, F as R, c as z, r as B, s as V, t as H, u as ee } from "./keys-CHPcp-Nz.js";
9
- import { t as U } from "./useI18n-D2L9Mkik.js";
10
- import { t as W } from "./createLucideIcon-JWHwTI6N.js";
11
- import { t as G } from "./check-BpQDKiPz.js";
12
- import { t as K } from "./circle-alert-CgtE46ND.js";
13
- import { a as q, c as te, d as ne, f as re, i as ie, l as ae, m as oe, n as se, o as ce, p as le, r as ue, s as de, t as fe, u as pe } from "./styles-AxBd7CgB.js";
7
+ import { s as I } from "./usePopoverPosition-vjKJaqJf.js";
8
+ import { I as L, c as R, j as ee, r as z, s as B, t as V, u as te } from "./keys-BVlG5Ozc.js";
9
+ import { t as H } from "./useI18n-BhAejA-x.js";
10
+ import { t as U } from "./createLucideIcon-JWHwTI6N.js";
11
+ import { t as W } from "./check-BpQDKiPz.js";
12
+ import { t as G } from "./circle-alert-CgtE46ND.js";
13
+ import { a as K, c as ne, d as q, f as re, h as ie, i as J, l as ae, m as oe, n as se, o as ce, p as le, r as ue, s as de, t as fe, u as pe } from "./styles-BTTD0Je4.js";
14
14
  import { t as me } from "./clock-BzKLLW5L.js";
15
- import { t as J } from "./loader-circle-C-Z6kgI6.js";
16
- import { t as Y } from "./message-circle-CEm5qckV.js";
17
- import { t as X } from "./send-B70aQDrA.js";
18
- import { t as Z } from "./sparkles-DVlm1Ipp.js";
19
- import { t as he } from "./triangle-alert-Djg6IG8N.js";
20
- import { t as ge } from "./_plugin-vue_export-helper-B3ysoDQm.js";
21
- import { n as Q } from "./useCloudI18n-BmiygEM4.js";
22
- import { d as $ } from "./ColorPicker-s9GHXjZs.js";
23
- import { _ as _e, c as ve, f as ye, g as be, h as xe, i as Se, l as Ce, m as we, n as Te, o as Ee, p as De, r as Oe, s as ke, t as Ae, u as je, v as Me, y as Ne } from "./cloud-Du7mnkz2.js";
24
- var Pe = W("save", [
15
+ import { t as Y } from "./loader-circle-C-Z6kgI6.js";
16
+ import { t as X } from "./message-circle-CEm5qckV.js";
17
+ import { n as Z, t as he } from "./MergeTagModeToggle-C3V2xGAg.js";
18
+ import { t as ge } from "./send-B70aQDrA.js";
19
+ import { t as _e } from "./sparkles-DVlm1Ipp.js";
20
+ import { t as ve } from "./triangle-alert-Djg6IG8N.js";
21
+ import { t as ye } from "./_plugin-vue_export-helper-B3ysoDQm.js";
22
+ import { n as Q } from "./useCloudI18n-DGr3b2SX.js";
23
+ import { d as $ } from "./ColorPicker-DXGrcJxJ.js";
24
+ import { _ as be, a as xe, b as Se, c as Ce, d as we, g as Te, h as Ee, i as De, l as Oe, m as ke, n as Ae, p as je, r as Me, s as Ne, t as Pe, u as Fe, v as Ie, y as Le } from "./cloud-DsUct4Zq.js";
25
+ var Re = U("save", [
25
26
  ["path", {
26
27
  d: "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",
27
28
  key: "1c8476"
@@ -37,7 +38,7 @@ var Pe = W("save", [
37
38
  ]);
38
39
  //#endregion
39
40
  //#region src/cloud/composables/useSnapshotPreview.ts
40
- function Fe(e) {
41
+ function ze(e) {
41
42
  let { authManager: t, editor: n, history: r, conditionPreview: i, autoSave: a, onError: s } = e, c = d(null), l = u(null), f = u(null), p = !1;
42
43
  o(() => {
43
44
  p = !0;
@@ -96,7 +97,7 @@ function Fe(e) {
96
97
  }
97
98
  //#endregion
98
99
  //#region src/cloud/composables/useCloudPanelState.ts
99
- function Ie() {
100
+ function Be() {
100
101
  let e = u(null), t = C({
101
102
  get: () => e.value === "ai-chat",
102
103
  set: (t) => e.value = t ? "ai-chat" : null
@@ -109,39 +110,38 @@ function Ie() {
109
110
  }), i = C({
110
111
  get: () => e.value === "comments",
111
112
  set: (t) => e.value = t ? "comments" : null
112
- }), a = u(!1), o = u(!1), s = u(void 0), c = u(!1), l = u(null), d = C(() => e.value !== null), f = C(() => {
113
+ }), a = u(!1), o = u(void 0), s = u(!1), c = u(null), l = C(() => e.value !== null), d = C(() => {
113
114
  let t = e.value;
114
115
  return t === "ai-chat" || t === "design-reference" || t === "scoring" ? t : null;
115
- }), p = C(() => c.value || e.value === "ai-chat" || e.value === "design-reference" || e.value === "scoring");
116
- function m() {
117
- c.value = !c.value;
116
+ }), f = C(() => s.value || e.value === "ai-chat" || e.value === "design-reference" || e.value === "scoring");
117
+ function p() {
118
+ s.value = !s.value;
118
119
  }
119
- function h(t) {
120
- c.value = !1, e.value = e.value === t ? null : t;
120
+ function m(t) {
121
+ s.value = !1, e.value = e.value === t ? null : t;
121
122
  }
122
- return I(l, () => {
123
- c.value = !1;
123
+ return I(c, () => {
124
+ s.value = !1;
124
125
  }), {
125
126
  activePanel: e,
126
127
  aiChatOpen: t,
127
128
  scoringPanelOpen: n,
128
129
  designReferenceOpen: r,
129
130
  commentsOpen: i,
130
- testEmailModalOpen: a,
131
- mediaLibraryOpen: o,
132
- mediaLibraryAccept: s,
133
- aiMenuOpen: c,
134
- aiMenuRef: l,
135
- rightPanelOpen: d,
136
- activeAiFeature: f,
137
- aiButtonActive: p,
138
- toggleAiMenu: m,
139
- handleAiFeatureSelect: h
131
+ mediaLibraryOpen: a,
132
+ mediaLibraryAccept: o,
133
+ aiMenuOpen: s,
134
+ aiMenuRef: c,
135
+ rightPanelOpen: l,
136
+ activeAiFeature: d,
137
+ aiButtonActive: f,
138
+ toggleAiMenu: p,
139
+ handleAiFeatureSelect: m
140
140
  };
141
141
  }
142
142
  //#endregion
143
143
  //#region src/cloud/composables/useCollabUndoWarning.ts
144
- function Le(e) {
144
+ function Ve(e) {
145
145
  let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = u(!1), a = u(!1), { start: o } = F(() => {
146
146
  a.value = !1;
147
147
  }, k, { immediate: !1 });
@@ -155,7 +155,7 @@ function Le(e) {
155
155
  }
156
156
  //#endregion
157
157
  //#region src/cloud/composables/useCloudFeatureFlags.ts
158
- function Re(e) {
158
+ function He(e) {
159
159
  let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = C(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = C(() => t.hasFeature("test_email")), o = C(() => !!r.state.template?.id), s = C(() => t.hasFeature("white_label")), c = C(() => t.config.value?.limits.max_templates ?? null), l = C(() => t.config.value?.template_count ?? 0), d = u(!1), f = u("idle"), p = u(""), { start: m } = F(() => {
160
160
  f.value = "idle";
161
161
  }, 3e3, { immediate: !1 });
@@ -174,7 +174,7 @@ function Re(e) {
174
174
  }
175
175
  //#endregion
176
176
  //#region src/cloud/composables/useCloudMediaLibrary.ts
177
- function ze(e) {
177
+ function Ue(e) {
178
178
  let { onRequestMedia: t, mediaLibraryOpen: n, mediaLibraryAccept: r, authManager: i, getMediaConfig: a, onError: s } = e, c = null;
179
179
  function l(e) {
180
180
  return {
@@ -236,30 +236,30 @@ function ze(e) {
236
236
  }
237
237
  //#endregion
238
238
  //#region src/cloud/composables/useCloudInitialization.ts
239
- function Be(e) {
240
- let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = u(!0), c = u(!1), l = u(null), d = !1, f = { value: null }, p = null, m = null, h = new Ae({
239
+ function We(e) {
240
+ let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = u(!0), c = u(!1), l = u(null), d = !1, f = { value: null }, p = null, m = null, h = new Pe({
241
241
  ...t.auth,
242
242
  onError: t.onError
243
- }), g = xe({
243
+ }), g = Te({
244
244
  authManager: h,
245
245
  onError: t.onError
246
- }), v = u(/* @__PURE__ */ new Map()), y = ye({
246
+ }), v = u(/* @__PURE__ */ new Map()), y = je({
247
247
  authManager: h,
248
248
  defaultFontFamily: t.fonts?.defaultFont,
249
249
  templateDefaults: t.templateDefaults,
250
250
  onError: t.onError,
251
251
  lockedBlocks: v
252
- }), b = Ne({
252
+ }), b = Se({
253
253
  authManager: h,
254
254
  onError: t.onError
255
255
  });
256
- t.mcp?.enabled && we({
256
+ t.mcp?.enabled && Ee({
257
257
  editor: y,
258
258
  channel: b.channel,
259
259
  onOperation: t.mcp.onOperation
260
260
  });
261
261
  let x = null;
262
- t.collaboration?.enabled && (x = ke({
262
+ t.collaboration?.enabled && (x = Ce({
263
263
  authManager: h,
264
264
  editor: y,
265
265
  channel: b.channel,
@@ -270,7 +270,7 @@ function Be(e) {
270
270
  onBlockUnlocked: t.collaboration.onBlockUnlocked
271
271
  }), a(() => x.lockedBlocks.value, (e) => {
272
272
  v.value = e;
273
- }, { immediate: !0 }), ve(y, x));
273
+ }, { immediate: !0 }), Oe(y, x));
274
274
  let S = C(() => !!t.collaboration?.enabled && g.hasFeature("collaboration")), w = N({
275
275
  editor: y,
276
276
  config: {
@@ -286,7 +286,7 @@ function Be(e) {
286
286
  logicTags: t.logicTags,
287
287
  displayConditions: t.displayConditions,
288
288
  onRequestMedia: null,
289
- lint: re(t),
289
+ lint: q(t),
290
290
  onSave: () => {
291
291
  f.value?.().catch((e) => {
292
292
  t.onError?.(e);
@@ -307,13 +307,13 @@ function Be(e) {
307
307
  keyboardOptions: { onBeforeUndo: () => m?.showCollabUndoWarning() },
308
308
  editorRoot: e.editorRoot,
309
309
  containerEl: e.containerEl
310
- }), T = Le({
310
+ }), T = Ve({
311
311
  isCollaborationEnabled: S,
312
312
  getCollaboratorCount: () => x?.collaborators.value.length ?? 0,
313
313
  canUndo: w.history.canUndo
314
314
  });
315
315
  m = T;
316
- let E = Fe({
316
+ let E = ze({
317
317
  authManager: h,
318
318
  editor: y,
319
319
  history: w.history,
@@ -322,11 +322,11 @@ function Be(e) {
322
322
  onError: t.onError
323
323
  });
324
324
  p = E;
325
- let D = Ie(), O = Ee(t.ai), k = Re({
325
+ let D = Be(), O = Ne(t.ai), k = He({
326
326
  planConfigInstance: g,
327
327
  aiConfig: O,
328
328
  editor: y
329
- }), A = ze({
329
+ }), A = Ue({
330
330
  onRequestMedia: t.onRequestMedia,
331
331
  mediaLibraryOpen: D.mediaLibraryOpen,
332
332
  mediaLibraryAccept: D.mediaLibraryAccept,
@@ -338,19 +338,32 @@ function Be(e) {
338
338
  onBlockMove: y.moveBlock,
339
339
  onBlockAdd: y.addBlock
340
340
  });
341
- let P = De({
341
+ let P = ke({
342
342
  authManager: h,
343
343
  getFontsConfig: () => t.fonts,
344
344
  canUseCustomFonts: () => g.hasFeature("custom_fonts")
345
- }), F = Me({
345
+ }), F = Le({
346
346
  authManager: h,
347
- getTemplateId: () => y.state.template?.id ?? null,
348
- save: () => y.save(),
349
- exportHtml: (e) => P.exportHtml(e),
347
+ isAuthReady: c
348
+ }), I = t.testEmail ?? null, R = re({
349
+ provider: I ?? Me({
350
+ authManager: h,
351
+ getTemplateId: () => y.state.template?.id ?? null,
352
+ save: () => y.save(),
353
+ exportHtml: (e) => P.exportHtml(e),
354
+ allowedEmails: F.allowedEmails,
355
+ getSignature: F.getSignature,
356
+ onBeforeTestEmail: t.onBeforeTestEmail
357
+ }),
358
+ getContent: () => y.content.value,
359
+ renderMjml: () => le({
360
+ getContent: () => y.content.value,
361
+ renderCustomBlock: w.registry.renderCustomBlock,
362
+ getCustomBlockStylesheet: (e) => w.registry.getDefinition(e)?.stylesheet
363
+ }),
350
364
  onError: t.onError,
351
- isAuthReady: c,
352
- onBeforeTestEmail: t.onBeforeTestEmail
353
- }), I = je({
365
+ isAvailable: I ? () => !0 : () => F.isEnabled.value && k.canSendTestEmail.value && k.hasTemplateSaved.value
366
+ }), H = we({
354
367
  authManager: h,
355
368
  getTemplateId: () => y.state.template?.id ?? null,
356
369
  getSocketId: () => b.getSocketId(),
@@ -359,45 +372,46 @@ function Be(e) {
359
372
  isAuthReady: c,
360
373
  hasCommentingFeature: () => t.commenting !== !1 && g.hasFeature("commenting")
361
374
  });
362
- Ce({
363
- comments: I,
375
+ Fe({
376
+ comments: H,
364
377
  channel: b.channel
365
378
  });
366
- let z = typeof t.savedBlocks == "object" && t.savedBlocks !== null ? t.savedBlocks : null, U = le({
367
- provider: z ?? Te(h),
379
+ let U = typeof t.savedBlocks == "object" && t.savedBlocks !== null ? t.savedBlocks : null, W = oe({
380
+ provider: U ?? Ae(h),
368
381
  editor: y,
369
382
  onError: t.onError,
370
- isAvailable: z ? () => !0 : () => t.savedBlocks !== !1 && g.hasFeature("saved_modules")
371
- }), W = _e({
383
+ isAvailable: U ? () => !0 : () => t.savedBlocks !== !1 && g.hasFeature("saved_modules")
384
+ }), G = Ie({
372
385
  authManager: h,
373
386
  getTemplateId: () => y.state.template?.id ?? null
374
387
  });
375
- function G(e) {
388
+ function K(e) {
376
389
  D.commentsOpen.value = !0, queueMicrotask(() => {
377
390
  o()?.filterByBlock(e);
378
391
  });
379
392
  }
380
- _(L, A.handleRequestMedia), _(B, h), _(H, O), _(ee, I), _(R, W), _(V, {
393
+ _(ee, A.handleRequestMedia), _(z, h), _(V, O), _(te, H), _(L, G), _(B, {
381
394
  plan: g,
382
395
  ai: O,
383
396
  comments: {
384
- getBlockCount: (e) => I.commentCountByBlock.value.get(e) ?? 0,
385
- openForBlock: G
397
+ getBlockCount: (e) => H.commentCountByBlock.value.get(e) ?? 0,
398
+ openForBlock: K
386
399
  },
387
- savedBlocks: U.capability
400
+ savedBlocks: W.capability,
401
+ testEmail: R.capability
388
402
  });
389
- function K(e) {
403
+ function ne(e) {
390
404
  g.hasFeature("theme_customization") && (w.themeOverrides.value = e);
391
405
  }
392
- function q(e) {
406
+ function ie(e) {
393
407
  y.setUiTheme(e);
394
408
  }
395
- async function te() {
409
+ async function J() {
396
410
  s.value = !0, l.value = null;
397
411
  try {
398
412
  if (await h.initialize(), d) return;
399
413
  c.value = !0;
400
- let e = await Oe({ authManager: h });
414
+ let e = await De({ authManager: h });
401
415
  if (d) return;
402
416
  if (!e.api.ok) throw Error("Health check failed: API is not reachable");
403
417
  if (!e.auth.ok) throw Error(`Health check failed: authentication error${e.auth.error ? ` - ${e.auth.error}` : ""}`);
@@ -411,7 +425,7 @@ function Be(e) {
411
425
  d || (s.value = !1);
412
426
  }
413
427
  }
414
- function ne() {
428
+ function ae() {
415
429
  d = !0, r.cleanupFontLinks(), b.disconnect(), w.destroy(), t.onUnmount?.();
416
430
  }
417
431
  return {
@@ -430,24 +444,24 @@ function Be(e) {
430
444
  featureFlags: k,
431
445
  mediaLib: A,
432
446
  exporter: P,
433
- testEmail: F,
434
- commentsInstance: I,
435
- savedBlocks: U,
436
- scoringInstance: W,
447
+ testEmail: R,
448
+ commentsInstance: H,
449
+ savedBlocks: W,
450
+ scoringInstance: G,
437
451
  panelState: D,
438
452
  snapshotPreview: E,
439
453
  collabWarning: T,
440
454
  onSaveHook: f,
441
- initialize: te,
442
- destroy: ne,
443
- setThemeOverrides: K,
444
- setUiTheme: q,
445
- openCommentsForBlock: G
455
+ initialize: J,
456
+ destroy: ae,
457
+ setThemeOverrides: ne,
458
+ setUiTheme: ie,
459
+ openCommentsForBlock: K
446
460
  };
447
461
  }
448
462
  //#endregion
449
463
  //#region src/utils/preRenderCustomBlocks.ts
450
- async function Ve(e, t) {
464
+ async function Ge(e, t) {
451
465
  let n = async (e) => {
452
466
  if (A(e)) {
453
467
  let n = e;
@@ -466,10 +480,10 @@ async function Ve(e, t) {
466
480
  }
467
481
  //#endregion
468
482
  //#region src/cloud/composables/useCloudLifecycle.ts
469
- function He(e) {
483
+ function Ke(e) {
470
484
  let { config: t, editor: n, websocket: r, planConfigInstance: i, snapshotPreview: a, core: o, exporter: s, featureFlags: c, isDestroyed: l } = e;
471
485
  function u() {
472
- return Se(i.config.value.websocket);
486
+ return xe(i.config.value.websocket);
473
487
  }
474
488
  async function d(e) {
475
489
  let i = await n.create(e);
@@ -482,7 +496,7 @@ function He(e) {
482
496
  async function p() {
483
497
  c.isSaveExporting.value = !0, c.saveStatus.value = "idle";
484
498
  try {
485
- if (await Ve(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
499
+ if (await Ge(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
486
500
  let e = await n.save();
487
501
  if (l()) throw Error("Component unmounted during save");
488
502
  a.initSnapshotHistory(), a.snapshotHistoryInstance.value?.loadSnapshots();
@@ -509,7 +523,7 @@ function He(e) {
509
523
  }
510
524
  //#endregion
511
525
  //#region src/cloud/composables/useCloudSaveGate.ts
512
- function Ue(e) {
526
+ function qe(e) {
513
527
  let t = u(!1), n = null, r = C(() => e.planConfig.value?.accessibility?.blockOnError === !0), i = C(() => r.value ? e.issues.value.filter((e) => e.severity === "error") : []), a = C(() => i.value.length > 0);
514
528
  async function o(e) {
515
529
  return a.value ? (n = e, t.value = !0, !1) : (await e(), !0);
@@ -532,7 +546,7 @@ function Ue(e) {
532
546
  }
533
547
  //#endregion
534
548
  //#region src/cloud/components/CloudSaveGateModal.vue?vue&type=script&setup=true&lang.ts
535
- var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl:max-w-md tpl:flex-col tpl:gap-4 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:p-5 tpl:shadow-[var(--tpl-shadow-md)]" }, Ke = { class: "tpl:flex tpl:items-center tpl:gap-2" }, qe = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Je = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ye = { class: "tpl:m-0 tpl:flex tpl:max-h-64 tpl:list-none tpl:flex-col tpl:gap-1.5 tpl:overflow-y-auto tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-2" }, Xe = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, Ze = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Qe = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, $e = /* @__PURE__ */ f({
549
+ var Je = ["aria-label"], Ye = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl:max-w-md tpl:flex-col tpl:gap-4 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:p-5 tpl:shadow-[var(--tpl-shadow-md)]" }, Xe = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ze = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Qe = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, $e = { class: "tpl:m-0 tpl:flex tpl:max-h-64 tpl:list-none tpl:flex-col tpl:gap-1.5 tpl:overflow-y-auto tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-2" }, et = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, tt = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, nt = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, rt = /* @__PURE__ */ f({
536
550
  __name: "CloudSaveGateModal",
537
551
  props: {
538
552
  open: { type: Boolean },
@@ -554,18 +568,18 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
554
568
  "aria-label": b(i).saveGate.title,
555
569
  class: "tpl:fixed tpl:inset-0 tpl:z-50 tpl:flex tpl:items-center tpl:justify-center tpl:bg-black/40 tpl:p-6",
556
570
  onClick: a[2] ||= E((e) => r("cancel"), ["self"])
557
- }, [p("div", Ge, [
558
- p("header", Ke, [g(b(he), {
571
+ }, [p("div", Ye, [
572
+ p("header", Xe, [g(b(ve), {
559
573
  size: 18,
560
574
  "stroke-width": 2,
561
575
  class: "tpl:text-[var(--tpl-warning)]"
562
- }), p("h2", qe, c(b(i).saveGate.title), 1)]),
563
- p("p", Je, c(b(i).saveGate.body), 1),
564
- p("ul", Ye, [(s(!0), m(S, null, e(t.issues, (e) => (s(), m("li", {
576
+ }), p("h2", Ze, c(b(i).saveGate.title), 1)]),
577
+ p("p", Qe, c(b(i).saveGate.body), 1),
578
+ p("ul", $e, [(s(!0), m(S, null, e(t.issues, (e) => (s(), m("li", {
565
579
  key: `${e.ruleId}-${e.blockId ?? "template"}`,
566
580
  class: "tpl:flex tpl:flex-col tpl:gap-0.5 tpl:rounded tpl:px-2 tpl:py-1.5"
567
- }, [p("span", Xe, c(e.message), 1), p("span", Ze, c(e.ruleId), 1)]))), 128))]),
568
- p("footer", Qe, [p("button", {
581
+ }, [p("span", et, c(e.message), 1), p("span", tt, c(e.ruleId), 1)]))), 128))]),
582
+ p("footer", nt, [p("button", {
569
583
  type: "button",
570
584
  class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]",
571
585
  onClick: a[0] ||= (e) => r("cancel")
@@ -574,11 +588,11 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
574
588
  class: "tpl:rounded-md tpl:bg-[var(--tpl-danger)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white",
575
589
  onClick: a[1] ||= (e) => r("confirm")
576
590
  }, c(b(i).saveGate.confirm), 1)])
577
- ])], 8, We)) : w("", !0)]),
591
+ ])], 8, Je)) : w("", !0)]),
578
592
  _: 1
579
593
  }));
580
594
  }
581
- }), et = {
595
+ }), it = {
582
596
  class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4",
583
597
  style: {
584
598
  "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)",
@@ -587,24 +601,24 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
587
601
  "box-shadow": "var(--tpl-shadow-md)",
588
602
  "border-bottom": "1px solid var(--tpl-border)"
589
603
  }
590
- }, tt = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, nt = {
604
+ }, at = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, ot = {
591
605
  key: 0,
592
606
  class: "tpl:text-xs tpl:opacity-60 tpl:text-[var(--tpl-text-muted)]"
593
- }, rt = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, it = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, at = ["data-tooltip"], ot = {
607
+ }, st = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, ct = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, lt = ["data-tooltip"], ut = {
594
608
  key: 1,
595
609
  "aria-live": "polite",
596
610
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success)]"
597
- }, st = {
611
+ }, dt = {
598
612
  key: 2,
599
613
  "aria-live": "polite",
600
614
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
601
- }, ct = ["aria-label", "aria-expanded"], lt = {
615
+ }, ft = ["aria-label", "aria-expanded"], pt = {
602
616
  key: 0,
603
617
  class: "tpl:inline-flex tpl:size-4.5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-semibold tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]"
604
- }, ut = ["aria-expanded"], dt = {
618
+ }, mt = ["aria-expanded"], ht = {
605
619
  key: 0,
606
620
  class: "tpl:absolute tpl:right-0 tpl:top-full tpl:z-50 tpl:mt-1 tpl:origin-top-right"
607
- }, ft = ["disabled"], pt = ["disabled"], mt = /* @__PURE__ */ f({
621
+ }, gt = ["disabled"], _t = ["disabled"], vt = /* @__PURE__ */ f({
608
622
  __name: "CloudHeader",
609
623
  props: {
610
624
  editor: {},
@@ -622,32 +636,37 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
622
636
  },
623
637
  emits: ["save"],
624
638
  setup(e) {
625
- let t = h(() => import("./CollaboratorBar-C_1SF7Xf.js")), r = h(() => import("./SnapshotHistory-DWlQ3Eh0.js")), a = h(() => import("./AiFeatureMenu-CcqjRMFW.js")), { t: o, format: u } = Q();
626
- return (d, f) => (s(), m("header", et, [
627
- p("div", tt, [e.featureFlags.templateLimit.value === null ? w("", !0) : (s(), m("span", nt, c(b(u)(b(o).header.templatesUsed, {
639
+ let t = h(() => import("./CollaboratorBar-Bhazzcg-.js")), r = h(() => import("./SnapshotHistory-DPbM4ons.js")), a = h(() => import("./AiFeatureMenu-tg_zMKMK.js")), { t: o } = H(), { t: u, format: d } = Q();
640
+ return (f, h) => (s(), m("header", it, [
641
+ p("div", at, [e.featureFlags.templateLimit.value === null ? w("", !0) : (s(), m("span", ot, c(b(d)(b(u).header.templatesUsed, {
628
642
  used: e.featureFlags.templateCount.value,
629
643
  max: e.featureFlags.templateLimit.value
630
644
  })), 1))]),
631
- p("div", rt, [
632
- g(ce, {
645
+ p("div", st, [
646
+ g(Z, {
633
647
  viewport: e.editor.state.viewport,
634
648
  onChange: e.editor.setViewport
635
649
  }, null, 8, ["viewport", "onChange"]),
636
- g(ie, {
650
+ g(J, {
637
651
  "dark-mode": e.editor.state.darkMode,
638
652
  onChange: e.editor.setDarkMode
639
653
  }, null, 8, ["dark-mode", "onChange"]),
640
- g(q, {
654
+ g(K, {
641
655
  "preview-mode": e.editor.state.previewMode,
642
656
  onChange: e.editor.setPreviewMode
643
657
  }, null, 8, ["preview-mode", "onChange"]),
644
- e.collaboration && e.isCollaborationEnabled ? (s(), v(b(t), {
658
+ e.editor.state.previewMode ? (s(), v(he, {
645
659
  key: 0,
660
+ "sample-mode": e.core.mergeTagSampleMode.value,
661
+ onChange: h[0] ||= (t) => e.core.mergeTagSampleMode.value = t
662
+ }, null, 8, ["sample-mode"])) : w("", !0),
663
+ e.collaboration && e.isCollaborationEnabled ? (s(), v(b(t), {
664
+ key: 1,
646
665
  collaborators: e.collaboration.collaborators.value,
647
666
  "is-connected": e.websocket.isConnected.value
648
667
  }, null, 8, ["collaborators", "is-connected"])) : w("", !0),
649
668
  e.snapshotPreview.snapshotHistoryInstance.value ? (s(), v(b(r), {
650
- key: 1,
669
+ key: 2,
651
670
  snapshots: e.snapshotPreview.snapshotHistorySnapshots.value,
652
671
  "is-loading": e.snapshotPreview.snapshotHistoryIsLoading.value,
653
672
  "is-restoring": e.snapshotPreview.snapshotHistoryIsRestoring.value,
@@ -661,22 +680,22 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
661
680
  "onNavigate"
662
681
  ])) : w("", !0)
663
682
  ]),
664
- p("div", it, [
683
+ p("div", ct, [
665
684
  e.featureFlags.saveStatus.value === "error" ? (s(), m("div", {
666
685
  key: 0,
667
686
  "aria-live": "assertive",
668
687
  class: "tpl-tooltip tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]",
669
688
  "data-tooltip": e.featureFlags.saveErrorMessage.value
670
- }, [g(b(K), {
689
+ }, [g(b(G), {
671
690
  size: 12,
672
691
  "stroke-width": 2.5
673
- }), y(" " + c(b(o).header.saveFailed), 1)], 8, at)) : e.featureFlags.saveStatus.value === "saved" ? (s(), m("div", ot, [g(b(G), {
692
+ }), y(" " + c(b(u).header.saveFailed), 1)], 8, lt)) : e.featureFlags.saveStatus.value === "saved" ? (s(), m("div", ut, [g(b(W), {
674
693
  size: 12,
675
694
  "stroke-width": 2.5
676
- }), y(" " + c(b(o).header.saved), 1)])) : e.editor.state.isDirty ? (s(), m("div", st, [f[4] ||= p("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), y(" " + c(b(o).header.unsaved), 1)])) : w("", !0),
695
+ }), y(" " + c(b(u).header.saved), 1)])) : e.editor.state.isDirty ? (s(), m("div", dt, [h[5] ||= p("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), y(" " + c(b(u).header.unsaved), 1)])) : w("", !0),
677
696
  e.commentsInstance.isEnabled.value && e.featureFlags.hasTemplateSaved.value ? (s(), m("button", {
678
697
  key: 3,
679
- "aria-label": e.commentsInstance.unresolvedCount.value > 0 ? `${b(o).comments.button} (${e.commentsInstance.unresolvedCount.value})` : b(o).comments.button,
698
+ "aria-label": e.commentsInstance.unresolvedCount.value > 0 ? `${b(u).comments.button} (${e.commentsInstance.unresolvedCount.value})` : b(u).comments.button,
680
699
  "aria-expanded": e.panelState.commentsOpen.value,
681
700
  class: i(b($)),
682
701
  style: n({
@@ -684,15 +703,15 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
684
703
  color: e.panelState.commentsOpen.value ? "var(--tpl-bg)" : "var(--tpl-primary)",
685
704
  borderColor: "var(--tpl-primary)"
686
705
  }),
687
- onClick: f[0] ||= (t) => e.panelState.commentsOpen.value = !e.panelState.commentsOpen.value
706
+ onClick: h[1] ||= (t) => e.panelState.commentsOpen.value = !e.panelState.commentsOpen.value
688
707
  }, [
689
- g(b(Y), {
708
+ g(b(X), {
690
709
  size: 16,
691
710
  "stroke-width": 2
692
711
  }),
693
- y(" " + c(b(o).comments.button) + " ", 1),
694
- e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (s(), m("span", lt, c(e.commentsInstance.unresolvedCount.value), 1)) : w("", !0)
695
- ], 14, ct)) : w("", !0),
712
+ y(" " + c(b(u).comments.button) + " ", 1),
713
+ e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (s(), m("span", pt, c(e.commentsInstance.unresolvedCount.value), 1)) : w("", !0)
714
+ ], 14, ft)) : w("", !0),
696
715
  e.featureFlags.canUseAiGeneration.value && e.featureFlags.hasTemplateSaved.value ? (s(), m("div", {
697
716
  key: 4,
698
717
  ref: (t) => e.panelState.aiMenuRef.value = t,
@@ -700,12 +719,12 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
700
719
  }, [p("button", {
701
720
  "aria-expanded": e.panelState.aiMenuOpen.value,
702
721
  class: i(["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", e.panelState.aiButtonActive.value ? "tpl-ai-btn--active" : "tpl-ai-btn--idle"]),
703
- onClick: f[1] ||= E((...t) => e.panelState.toggleAiMenu && e.panelState.toggleAiMenu(...t), ["stop"])
704
- }, [g(b(Z), {
722
+ onClick: h[2] ||= E((...t) => e.panelState.toggleAiMenu && e.panelState.toggleAiMenu(...t), ["stop"])
723
+ }, [g(b(_e), {
705
724
  size: 16,
706
725
  "stroke-width": 2,
707
726
  class: "tpl-ai-btn-icon"
708
- }), y(" " + c(b(o).aiChat.button), 1)], 10, ut), g(O, {
727
+ }), y(" " + c(b(u).aiChat.button), 1)], 10, mt), g(O, {
709
728
  "enter-active-class": "tpl:transition-all tpl:duration-150 tpl:ease-out",
710
729
  "enter-from-class": "tpl:scale-95 tpl:opacity-0",
711
730
  "enter-to-class": "tpl:scale-100 tpl:opacity-100",
@@ -713,32 +732,33 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
713
732
  "leave-from-class": "tpl:scale-100 tpl:opacity-100",
714
733
  "leave-to-class": "tpl:scale-95 tpl:opacity-0"
715
734
  }, {
716
- default: l(() => [e.panelState.aiMenuOpen.value ? (s(), m("div", dt, [g(b(a), {
735
+ default: l(() => [e.panelState.aiMenuOpen.value ? (s(), m("div", ht, [g(b(a), {
717
736
  "active-feature": e.panelState.activeAiFeature.value,
718
737
  onSelect: e.panelState.handleAiFeatureSelect
719
738
  }, null, 8, ["active-feature", "onSelect"])])) : w("", !0)]),
720
739
  _: 1
721
740
  })], 512)) : w("", !0),
722
- e.testEmail.isEnabled.value && e.featureFlags.canSendTestEmail.value ? (s(), m("button", {
741
+ e.testEmail.isAvailable.value ? (s(), m("button", {
723
742
  key: 5,
724
743
  class: i(b($)),
744
+ "data-testid": "test-email-trigger",
725
745
  style: {
726
746
  "background-color": "transparent",
727
747
  color: "var(--tpl-primary)",
728
748
  "border-color": "var(--tpl-primary)"
729
749
  },
730
- disabled: e.testEmail.isSending.value || !e.featureFlags.hasTemplateSaved.value,
731
- onClick: f[2] ||= (t) => e.panelState.testEmailModalOpen.value = !0
732
- }, [e.testEmail.isSending.value ? (s(), v(b(J), {
750
+ disabled: e.testEmail.isSending.value,
751
+ onClick: h[3] ||= (t) => e.testEmail.open()
752
+ }, [e.testEmail.isSending.value ? (s(), v(b(Y), {
733
753
  key: 1,
734
754
  class: "tpl-spinner",
735
755
  size: 16,
736
756
  "stroke-width": 2
737
- })) : (s(), v(b(X), {
757
+ })) : (s(), v(b(ge), {
738
758
  key: 0,
739
759
  size: 16,
740
760
  "stroke-width": 2
741
- })), y(" " + c(b(o).testEmail.button), 1)], 10, ft)) : w("", !0),
761
+ })), y(" " + c(b(o).testEmail.button), 1)], 10, gt)) : w("", !0),
742
762
  p("button", {
743
763
  class: i(b($)),
744
764
  style: {
@@ -747,21 +767,21 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
747
767
  "border-color": "var(--tpl-primary)"
748
768
  },
749
769
  disabled: e.isSaveDisabled,
750
- onClick: f[3] ||= (e) => d.$emit("save")
751
- }, [e.isSaving ? (s(), v(b(J), {
770
+ onClick: h[4] ||= (e) => f.$emit("save")
771
+ }, [e.isSaving ? (s(), v(b(Y), {
752
772
  key: 1,
753
773
  class: "tpl-spinner",
754
774
  size: 16,
755
775
  "stroke-width": 2
756
- })) : (s(), v(b(Pe), {
776
+ })) : (s(), v(b(Re), {
757
777
  key: 0,
758
778
  size: 16,
759
779
  "stroke-width": 2
760
- })), y(" " + c(e.isSaving ? b(o).header.saving : b(o).header.save), 1)], 10, pt)
780
+ })), y(" " + c(e.isSaving ? b(u).header.saving : b(u).header.save), 1)], 10, _t)
761
781
  ])
762
782
  ]));
763
783
  }
764
- }), ht = /* @__PURE__ */ f({
784
+ }), yt = /* @__PURE__ */ f({
765
785
  __name: "CloudPanels",
766
786
  props: {
767
787
  config: {},
@@ -769,61 +789,46 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
769
789
  core: {},
770
790
  panelState: {},
771
791
  planConfigInstance: {},
772
- testEmail: {},
773
792
  mediaLib: {}
774
793
  },
775
- emits: ["send-test-email"],
776
- setup(e, { expose: t, emit: n }) {
777
- let r = h(() => import("./AiChatSidebar-K_AehWc-.js")), i = h(() => import("./CommentsSidebar-DvNEdugN.js")), a = h(() => import("./DesignReferenceSidebar-DNmK3dxp.js")), o = h(() => import("./TemplateScoringPanel-ifGGGWs5.js")), c = h(() => import("./TestEmailModal-DComAFpR.js")), l = h(async () => {
794
+ setup(e, { expose: t }) {
795
+ let n = h(() => import("./AiChatSidebar-Nq-jrGaf.js")), r = h(() => import("./CommentsSidebar-ku1kt10u.js")), i = h(() => import("./DesignReferenceSidebar-C4pTMzQE.js")), a = h(() => import("./TemplateScoringPanel-BFYgweDX.js")), o = h(async () => {
778
796
  try {
779
797
  return (await import("@templatical/media-library")).MediaLibraryModal;
780
798
  } catch {
781
799
  throw Error("[Templatical] Cloud media library requires the optional peer dependency '@templatical/media-library'. Please install it.");
782
800
  }
783
- }), d = n;
784
- function f(e, t, n) {
801
+ });
802
+ function c(e, t, n) {
785
803
  t.history.record(), n.setContent(e), t.conditionPreview.reset();
786
804
  }
787
- let p = u(null);
788
- function _(e) {
789
- p.value?.filterByBlock(e);
805
+ let l = u(null);
806
+ function d(e) {
807
+ l.value?.filterByBlock(e);
790
808
  }
791
- return t({ filterCommentsByBlock: _ }), (t, n) => (s(), m(S, null, [
792
- g(b(r), {
809
+ return t({ filterCommentsByBlock: d }), (t, u) => (s(), m(S, null, [
810
+ g(b(n), {
793
811
  visible: e.panelState.aiChatOpen.value,
794
- "on-apply": (t) => f(t, e.core, e.editor),
795
- onClose: n[0] ||= (t) => e.panelState.aiChatOpen.value = !1
812
+ "on-apply": (t) => c(t, e.core, e.editor),
813
+ onClose: u[0] ||= (t) => e.panelState.aiChatOpen.value = !1
796
814
  }, null, 8, ["visible", "on-apply"]),
797
- g(b(o), {
815
+ g(b(a), {
798
816
  visible: e.panelState.scoringPanelOpen.value,
799
- onClose: n[1] ||= (t) => e.panelState.scoringPanelOpen.value = !1
817
+ onClose: u[1] ||= (t) => e.panelState.scoringPanelOpen.value = !1
800
818
  }, null, 8, ["visible"]),
801
- g(b(a), {
819
+ g(b(i), {
802
820
  visible: e.panelState.designReferenceOpen.value,
803
821
  "has-existing-blocks": e.editor.content.value.blocks.length > 0,
804
- onClose: n[2] ||= (t) => e.panelState.designReferenceOpen.value = !1,
805
- onApply: n[3] ||= (t) => f(t, e.core, e.editor)
822
+ onClose: u[2] ||= (t) => e.panelState.designReferenceOpen.value = !1,
823
+ onApply: u[3] ||= (t) => c(t, e.core, e.editor)
806
824
  }, null, 8, ["visible", "has-existing-blocks"]),
807
- g(b(i), {
825
+ g(b(r), {
808
826
  ref_key: "commentsSidebar",
809
- ref: p,
827
+ ref: l,
810
828
  visible: e.panelState.commentsOpen.value,
811
- onClose: n[4] ||= (t) => e.panelState.commentsOpen.value = !1
829
+ onClose: u[4] ||= (t) => e.panelState.commentsOpen.value = !1
812
830
  }, null, 8, ["visible"]),
813
- g(b(c), {
814
- visible: e.panelState.testEmailModalOpen.value,
815
- "allowed-emails": e.testEmail.allowedEmails.value,
816
- "is-sending": e.testEmail.isSending.value,
817
- error: e.testEmail.error.value,
818
- onSend: n[5] ||= (e) => d("send-test-email", e),
819
- onClose: n[6] ||= (t) => e.panelState.testEmailModalOpen.value = !1
820
- }, null, 8, [
821
- "visible",
822
- "allowed-emails",
823
- "is-sending",
824
- "error"
825
- ]),
826
- g(b(l), {
831
+ g(b(o), {
827
832
  visible: e.panelState.mediaLibraryOpen.value,
828
833
  accept: e.panelState.mediaLibraryAccept.value,
829
834
  "popover-target": e.core.popoverRoot.value,
@@ -838,23 +843,23 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
838
843
  ])
839
844
  ], 64));
840
845
  }
841
- }), gt = {
846
+ }), bt = {
842
847
  key: 0,
843
848
  class: "tpl-loading tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:bg-[var(--tpl-bg)]"
844
- }, _t = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, vt = { class: "tpl:flex tpl:w-12 tpl:shrink-0 tpl:flex-col tpl:items-center tpl:gap-4 tpl:py-5 tpl:border-r tpl:border-[var(--tpl-border)]" }, yt = /* @__PURE__ */ f({
849
+ }, xt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, St = { class: "tpl:flex tpl:w-12 tpl:shrink-0 tpl:flex-col tpl:items-center tpl:gap-4 tpl:py-5 tpl:border-r tpl:border-[var(--tpl-border)]" }, Ct = /* @__PURE__ */ f({
845
850
  __name: "CloudLoadingOverlay",
846
851
  props: { visible: { type: Boolean } },
847
852
  setup(t) {
848
- return (n, r) => t.visible ? (s(), m("div", gt, [r[1] ||= x("<div class=\"tpl:flex tpl:h-14 tpl:shrink-0 tpl:items-center tpl:justify-between tpl:px-4 tpl:border-b tpl:border-[var(--tpl-border)]\"><div class=\"tpl-shimmer tpl:h-5 tpl:w-28 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl:flex tpl:gap-3\"><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div></div></div>", 1), p("div", _t, [p("div", vt, [(s(), m(S, null, e(5, (e) => p("div", {
853
+ return (n, r) => t.visible ? (s(), m("div", bt, [r[1] ||= x("<div class=\"tpl:flex tpl:h-14 tpl:shrink-0 tpl:items-center tpl:justify-between tpl:px-4 tpl:border-b tpl:border-[var(--tpl-border)]\"><div class=\"tpl-shimmer tpl:h-5 tpl:w-28 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl:flex tpl:gap-3\"><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div></div></div>", 1), p("div", xt, [p("div", St, [(s(), m(S, null, e(5, (e) => p("div", {
849
854
  key: e,
850
855
  class: "tpl-shimmer tpl:size-7 tpl:rounded-[var(--tpl-radius-sm)]"
851
856
  })), 64))]), r[0] ||= x("<div class=\"tpl:flex tpl:flex-1 tpl:items-start tpl:justify-center tpl:overflow-auto tpl:p-8 tpl:bg-[var(--tpl-canvas-bg)]\"><div class=\"tpl:w-full tpl:max-w-[600px] tpl:rounded-[var(--tpl-radius)] tpl:p-6 tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)]\"><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:h-3 tpl:w-3/4 tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-full tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-5/6 tpl:rounded\"></div></div><div class=\"tpl:py-4\"><div class=\"tpl-shimmer tpl:h-44 tpl:w-full tpl:rounded-[var(--tpl-radius-sm)]\"></div></div><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:h-3 tpl:w-full tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-2/3 tpl:rounded\"></div></div><div class=\"tpl:flex tpl:justify-center tpl:py-4\"><div class=\"tpl-shimmer tpl:h-10 tpl:w-36 tpl:rounded-[var(--tpl-radius-sm)]\"></div></div><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:mx-auto tpl:h-2.5 tpl:w-1/2 tpl:rounded\"></div><div class=\"tpl-shimmer tpl:mx-auto tpl:h-2.5 tpl:w-1/3 tpl:rounded\"></div></div></div></div><div class=\"tpl:flex tpl:w-[320px] tpl:shrink-0 tpl:flex-col tpl:gap-4 tpl:p-4 tpl:border-l tpl:border-[var(--tpl-border)]\"><div class=\"tpl-shimmer tpl:h-8 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl-shimmer tpl:h-32 tpl:rounded-[var(--tpl-radius)]\"></div><div class=\"tpl-shimmer tpl:h-32 tpl:rounded-[var(--tpl-radius)]\"></div></div>", 2)])])) : w("", !0);
852
857
  }
853
- }), bt = {
858
+ }), wt = {
854
859
  key: 0,
855
860
  role: "alert",
856
861
  class: "tpl-error tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-6 tpl:px-8 tpl:bg-[var(--tpl-bg)]"
857
- }, xt = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, St = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, Ct = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, wt = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Tt = /* @__PURE__ */ f({
862
+ }, Tt = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, Et = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, Dt = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ot = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, kt = /* @__PURE__ */ f({
858
863
  __name: "CloudErrorOverlay",
859
864
  props: {
860
865
  error: {},
@@ -869,13 +874,13 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
869
874
  function a(e) {
870
875
  return "isNotFound" in e && !!e.isNotFound;
871
876
  }
872
- return (t, o) => e.visible && e.error ? (s(), m("div", bt, [
873
- p("div", xt, [g(b(K), {
877
+ return (t, o) => e.visible && e.error ? (s(), m("div", wt, [
878
+ p("div", Tt, [g(b(G), {
874
879
  size: 32,
875
880
  "stroke-width": 1.5,
876
881
  class: "tpl:text-[var(--tpl-danger)]"
877
882
  })]),
878
- p("div", St, [p("h2", Ct, c(b(r).error.title), 1), p("p", wt, c(i(e.error)), 1)]),
883
+ p("div", Et, [p("h2", Dt, c(b(r).error.title), 1), p("p", Ot, c(i(e.error)), 1)]),
879
884
  a(e.error) ? w("", !0) : (s(), m("button", {
880
885
  key: 0,
881
886
  class: "tpl-btn tpl-btn-primary tpl:inline-flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-4 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
@@ -883,20 +888,20 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
883
888
  }, c(b(r).error.retry), 1))
884
889
  ])) : w("", !0);
885
890
  }
886
- }), Et = {
891
+ }), At = {
887
892
  key: 0,
888
893
  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)]"
889
- }, Dt = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, Ot = { class: "tpl:flex tpl:items-center tpl:gap-2" }, kt = /* @__PURE__ */ f({
894
+ }, jt = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, Mt = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Nt = /* @__PURE__ */ f({
890
895
  __name: "SnapshotPreviewBanner",
891
896
  props: { visible: { type: Boolean } },
892
897
  emits: ["cancel", "confirm"],
893
898
  setup(e, { emit: t }) {
894
899
  let n = t, { t: r } = Q();
895
- return (t, i) => e.visible ? (s(), m("div", Et, [p("div", Dt, [g(b(me), {
900
+ return (t, i) => e.visible ? (s(), m("div", At, [p("div", jt, [g(b(me), {
896
901
  size: 18,
897
902
  "stroke-width": 2,
898
903
  class: "tpl:text-[var(--tpl-primary)]"
899
- }), p("span", null, c(b(r).snapshotPreview.message), 1)]), p("div", Ot, [p("button", {
904
+ }), p("span", null, c(b(r).snapshotPreview.message), 1)]), p("div", Mt, [p("button", {
900
905
  class: "tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
901
906
  style: { "background-color": "transparent" },
902
907
  onClick: i[0] ||= (e) => n("cancel")
@@ -905,7 +910,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
905
910
  onClick: i[1] ||= (e) => n("confirm")
906
911
  }, c(b(r).snapshotPreview.restore), 1)])])) : w("", !0);
907
912
  }
908
- }), At = {
913
+ }), Pt = {
909
914
  key: 0,
910
915
  role: "status",
911
916
  "aria-live": "polite",
@@ -915,14 +920,14 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
915
920
  color: "var(--tpl-text)",
916
921
  border: "1px solid var(--tpl-warning)"
917
922
  }
918
- }, jt = /* @__PURE__ */ f({
923
+ }, Ft = /* @__PURE__ */ f({
919
924
  __name: "CollabUndoToast",
920
925
  props: { visible: { type: Boolean } },
921
926
  setup(e) {
922
- let { t } = U();
923
- return (n, r) => e.visible ? (s(), m("div", At, c(b(t).history.collabWarning), 1)) : w("", !0);
927
+ let { t } = H();
928
+ return (n, r) => e.visible ? (s(), m("div", Pt, c(b(t).history.collabWarning), 1)) : w("", !0);
924
929
  }
925
- }), Mt = ["data-tpl-theme"], Nt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Pt = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, Ft = ["aria-label"], It = /*#__PURE__*/ ge(/* @__PURE__ */ f({
930
+ }), It = ["data-tpl-theme"], Lt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Rt = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, zt = ["aria-label"], Bt = /*#__PURE__*/ ye(/* @__PURE__ */ f({
926
931
  __name: "CloudEditor",
927
932
  props: {
928
933
  config: {},
@@ -933,67 +938,62 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
933
938
  },
934
939
  emits: ["ready"],
935
940
  setup(e, { expose: a, emit: o }) {
936
- let d = h(() => import("./SavedBlocksPanels-3Af5dMaf.js")), f = e;
937
- _(z, f.cloudTranslations);
938
- let x = o, S = u(null), C = u(null), k = Be({
939
- config: f.config,
940
- translations: f.translations,
941
- fontsManager: f.fontsManager,
942
- emit: x,
943
- getCommentsSidebar: () => S.value ? { filterByBlock: S.value.filterCommentsByBlock } : null,
944
- editorRoot: f.shadowRoot,
945
- containerEl: C
946
- }), { isInitializing: A, isAuthReady: j, initError: M, planConfigInstance: N, websocket: F, collaboration: I, isCollaborationEnabled: L, editor: R, core: B, featureFlags: V, mediaLib: H, exporter: ee, testEmail: U, commentsInstance: W, savedBlocks: G, panelState: K, snapshotPreview: q, collabWarning: re, setThemeOverrides: ie, setUiTheme: ce } = k, { showNotice: le } = P(() => f.config.smallScreenNotice);
947
- async function me(e) {
948
- try {
949
- await U.sendTestEmail(e), K.testEmailModalOpen.value = !1;
950
- } catch {}
951
- }
952
- async function J() {
941
+ let d = h(() => import("./SavedBlocksPanels-CxemyPxL.js")), f = h(() => import("./TestEmailPanel-QEEx_PkN.js")), x = e;
942
+ _(R, x.cloudTranslations);
943
+ let S = o, C = u(null), k = u(null), A = We({
944
+ config: x.config,
945
+ translations: x.translations,
946
+ fontsManager: x.fontsManager,
947
+ emit: S,
948
+ getCommentsSidebar: () => C.value ? { filterByBlock: C.value.filterCommentsByBlock } : null,
949
+ editorRoot: x.shadowRoot,
950
+ containerEl: k
951
+ }), { isInitializing: j, isAuthReady: M, initError: N, planConfigInstance: F, websocket: I, collaboration: L, isCollaborationEnabled: ee, editor: z, core: B, featureFlags: V, mediaLib: te, exporter: H, testEmail: U, commentsInstance: W, savedBlocks: G, panelState: K, snapshotPreview: q, collabWarning: re, setThemeOverrides: J, setUiTheme: oe } = A, { showNotice: le } = P(() => x.config.smallScreenNotice);
952
+ async function me() {
953
953
  try {
954
954
  await q.confirmRestoreSnapshot();
955
955
  } catch {}
956
956
  }
957
- let Y = He({
958
- config: f.config,
959
- editor: R,
960
- websocket: F,
961
- planConfigInstance: N,
957
+ let Y = Ke({
958
+ config: x.config,
959
+ editor: z,
960
+ websocket: I,
961
+ planConfigInstance: F,
962
962
  snapshotPreview: q,
963
963
  core: B,
964
- exporter: ee,
964
+ exporter: H,
965
965
  featureFlags: V,
966
- isDestroyed: k.isDestroyed
967
- }), X = Ue({
966
+ isDestroyed: A.isDestroyed
967
+ }), X = qe({
968
968
  issues: B.templateLint ? B.templateLint.issues : u([]),
969
- planConfig: N.config
969
+ planConfig: F.config
970
970
  });
971
971
  async function Z() {
972
- await X.tryRunSave(() => Y.saveTemplate().catch((e) => f.config.onError?.(e)));
972
+ await X.tryRunSave(() => Y.saveTemplate().catch((e) => x.config.onError?.(e)));
973
973
  }
974
- return k.onSaveHook.value = Z, r(() => {
975
- k.initialize();
974
+ return A.onSaveHook.value = Z, r(() => {
975
+ A.initialize();
976
976
  }), t(() => {
977
- k.destroy();
977
+ A.destroy();
978
978
  }), a({
979
- getContent: () => R.content.value,
980
- setContent: (e) => R.setContent(e),
981
- setTheme: ce,
982
- setThemeOverrides: ie,
979
+ getContent: () => z.content.value,
980
+ setContent: (e) => z.setContent(e),
981
+ setTheme: oe,
982
+ setThemeOverrides: J,
983
983
  create: Y.createTemplate,
984
984
  load: Y.loadTemplate,
985
985
  save: Y.saveTemplate,
986
- sendTestEmail: U.sendTestEmail
986
+ sendTestEmail: (e) => U.send(e)
987
987
  }), (t, r) => (s(), m("div", {
988
988
  ref_key: "rootEl",
989
- ref: C,
990
- class: i(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": b(R).state.darkMode }]),
989
+ ref: k,
990
+ class: i(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": b(z).state.darkMode }]),
991
991
  "data-tpl-theme": b(B).resolvedTheme.value,
992
992
  style: n(b(B).themeStyles.value),
993
993
  onDragover: r[6] ||= E(() => {}, ["prevent"]),
994
994
  onDrop: r[7] ||= E(() => {}, ["prevent"])
995
995
  }, [
996
- g(pe),
996
+ g(ae),
997
997
  g(O, {
998
998
  "enter-active-class": "tpl:transition-opacity tpl:duration-200",
999
999
  "enter-from-class": "tpl:opacity-100",
@@ -1002,7 +1002,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1002
1002
  "leave-from-class": "tpl:opacity-100",
1003
1003
  "leave-to-class": "tpl:opacity-0"
1004
1004
  }, {
1005
- default: l(() => [g(yt, { visible: b(A) || b(R).state.isLoading }, null, 8, ["visible"])]),
1005
+ default: l(() => [g(Ct, { visible: b(j) || b(z).state.isLoading }, null, 8, ["visible"])]),
1006
1006
  _: 1
1007
1007
  }),
1008
1008
  g(O, {
@@ -1013,10 +1013,10 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1013
1013
  "leave-from-class": "tpl:opacity-100",
1014
1014
  "leave-to-class": "tpl:opacity-0"
1015
1015
  }, {
1016
- default: l(() => [g(Tt, {
1017
- error: b(M),
1018
- visible: !!b(M) && !b(A),
1019
- onRetry: b(k).initialize
1016
+ default: l(() => [g(kt, {
1017
+ error: b(N),
1018
+ visible: !!b(N) && !b(j),
1019
+ onRetry: b(A).initialize
1020
1020
  }, null, 8, [
1021
1021
  "error",
1022
1022
  "visible",
@@ -1024,19 +1024,19 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1024
1024
  ])]),
1025
1025
  _: 1
1026
1026
  }),
1027
- g(mt, {
1028
- editor: b(R),
1027
+ g(vt, {
1028
+ editor: b(z),
1029
1029
  core: b(B),
1030
1030
  "feature-flags": b(V),
1031
1031
  "panel-state": b(K),
1032
1032
  "snapshot-preview": b(q),
1033
1033
  "comments-instance": b(W),
1034
1034
  "test-email": b(U),
1035
- websocket: b(F),
1036
- collaboration: b(I),
1037
- "is-collaboration-enabled": b(L),
1038
- "is-saving": b(R).state.isSaving || b(V).isSaveExporting.value,
1039
- "is-save-disabled": b(R).state.isSaving || b(V).isSaveExporting.value || !b(R).state.isDirty,
1035
+ websocket: b(I),
1036
+ collaboration: b(L),
1037
+ "is-collaboration-enabled": b(ee),
1038
+ "is-saving": b(z).state.isSaving || b(V).isSaveExporting.value,
1039
+ "is-save-disabled": b(z).state.isSaving || b(V).isSaveExporting.value || !b(z).state.isDirty,
1040
1040
  onSave: Z
1041
1041
  }, null, 8, [
1042
1042
  "editor",
@@ -1052,7 +1052,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1052
1052
  "is-saving",
1053
1053
  "is-save-disabled"
1054
1054
  ]),
1055
- g($e, {
1055
+ g(rt, {
1056
1056
  open: b(X).modalOpen.value,
1057
1057
  issues: b(X).blockingIssues.value,
1058
1058
  onCancel: b(X).cancel,
@@ -1063,10 +1063,10 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1063
1063
  "onCancel",
1064
1064
  "onConfirm"
1065
1065
  ]),
1066
- g(kt, {
1066
+ g(Nt, {
1067
1067
  visible: b(q).isPreviewingSnapshot.value,
1068
1068
  onCancel: b(q).cancelPreview,
1069
- onConfirm: J
1069
+ onConfirm: me
1070
1070
  }, null, 8, ["visible", "onCancel"]),
1071
1071
  g(O, {
1072
1072
  "enter-active-class": "tpl:transition-all tpl:duration-200 tpl:ease-out",
@@ -1076,17 +1076,17 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1076
1076
  "leave-from-class": "tpl:translate-y-0 tpl:opacity-100",
1077
1077
  "leave-to-class": "tpl:translate-y-[-8px] tpl:opacity-0"
1078
1078
  }, {
1079
- default: l(() => [g(jt, { visible: b(re).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1079
+ default: l(() => [g(Ft, { visible: b(re).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1080
1080
  _: 1
1081
1081
  }),
1082
- T(g(ae, null, null, 512), [[D, !b(R).state.previewMode]]),
1082
+ T(g(ne, null, null, 512), [[D, !b(z).state.previewMode]]),
1083
1083
  p("div", {
1084
- class: i(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [b(R).state.previewMode ? "tpl:left-0 tpl:right-0" : b(K).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", b(q).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1084
+ class: i(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [b(z).state.previewMode ? "tpl:left-0 tpl:right-0" : b(K).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", b(q).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1085
1085
  style: {
1086
1086
  transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)",
1087
1087
  "background-color": "var(--tpl-canvas-bg)"
1088
1088
  }
1089
- }, [p("div", Nt, [g(O, { name: "tpl-restore-btn" }, {
1089
+ }, [p("div", Lt, [g(O, { name: "tpl-restore-btn" }, {
1090
1090
  default: l(() => [b(B).conditionPreview.hasHiddenBlocks.value ? (s(), m("button", {
1091
1091
  key: 0,
1092
1092
  class: "tpl:absolute tpl:left-1/2 tpl:top-2 tpl:-translate-x-1/2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-full tpl:border tpl:px-3.5 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:whitespace-nowrap tpl:shadow-md tpl:hover:opacity-80",
@@ -1097,19 +1097,19 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1097
1097
  "backdrop-filter": "blur(8px)"
1098
1098
  },
1099
1099
  onClick: r[0] ||= (e) => b(B).conditionPreview.reset()
1100
- }, [g(b(oe), {
1100
+ }, [g(b(ie), {
1101
1101
  size: 13,
1102
1102
  "stroke-width": 2
1103
1103
  }), y(" " + c(b(B).t.blockSettings.restoreHiddenBlocks), 1)])) : w("", !0)]),
1104
1104
  _: 1
1105
- })]), p("main", Pt, [g(ne, {
1106
- viewport: b(R).state.viewport,
1107
- content: b(R).content.value,
1108
- "selected-block-id": b(R).state.selectedBlockId,
1109
- "dark-mode": b(R).state.darkMode,
1110
- "preview-mode": b(R).state.previewMode,
1111
- "locked-blocks": b(I)?.lockedBlocks.value ?? void 0,
1112
- onSelectBlock: b(R).selectBlock,
1105
+ })]), p("main", Rt, [g(pe, {
1106
+ viewport: b(z).state.viewport,
1107
+ content: b(z).content.value,
1108
+ "selected-block-id": b(z).state.selectedBlockId,
1109
+ "dark-mode": b(z).state.darkMode,
1110
+ "preview-mode": b(z).state.previewMode,
1111
+ "locked-blocks": b(L)?.lockedBlocks.value ?? void 0,
1112
+ onSelectBlock: b(z).selectBlock,
1113
1113
  onOpenAiChat: r[1] ||= (e) => b(K).aiChatOpen.value = !0,
1114
1114
  onOpenDesignReference: r[2] ||= (e) => b(K).designReferenceOpen.value = !0
1115
1115
  }, null, 8, [
@@ -1123,7 +1123,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1123
1123
  ])])], 2),
1124
1124
  e.config.branding !== !1 && !b(V).isWhiteLabeled.value ? (s(), v(ue, {
1125
1125
  key: 0,
1126
- "position-class": [b(R).state.previewMode ? "tpl:left-0 tpl:right-0" : b(K).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
1126
+ "position-class": [b(z).state.previewMode ? "tpl:left-0 tpl:right-0" : b(K).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
1127
1127
  }, null, 8, ["position-class"])) : w("", !0),
1128
1128
  p("div", {
1129
1129
  class: "tpl-sr-only",
@@ -1131,55 +1131,56 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1131
1131
  "aria-live": "polite",
1132
1132
  "aria-atomic": "true",
1133
1133
  "aria-label": b(B).t.landmarks.reorderAnnouncements
1134
- }, c(b(B).keyboardReorder.announcement.value), 9, Ft),
1135
- T(g(te, {
1136
- "selected-block": b(R).selectedBlock.value,
1137
- settings: b(R).content.value.settings,
1134
+ }, c(b(B).keyboardReorder.announcement.value), 9, zt),
1135
+ T(g(de, {
1136
+ "selected-block": b(z).selectedBlock.value,
1137
+ settings: b(z).content.value.settings,
1138
1138
  "shifted-left": b(K).rightPanelOpen.value,
1139
- onUpdateBlock: r[3] ||= (e) => b(R).updateBlock(b(R).selectedBlock.value.id, e),
1140
- onDeleteBlock: r[4] ||= (e) => b(B).blockActions.deleteBlock(b(R).selectedBlock.value.id),
1141
- onDuplicateBlock: r[5] ||= (e) => b(B).blockActions.duplicateBlock(b(R).selectedBlock.value),
1142
- onUpdateSettings: b(R).updateSettings
1139
+ onUpdateBlock: r[3] ||= (e) => b(z).updateBlock(b(z).selectedBlock.value.id, e),
1140
+ onDeleteBlock: r[4] ||= (e) => b(B).blockActions.deleteBlock(b(z).selectedBlock.value.id),
1141
+ onDuplicateBlock: r[5] ||= (e) => b(B).blockActions.duplicateBlock(b(z).selectedBlock.value),
1142
+ onUpdateSettings: b(z).updateSettings
1143
1143
  }, null, 8, [
1144
1144
  "selected-block",
1145
1145
  "settings",
1146
1146
  "shifted-left",
1147
1147
  "onUpdateSettings"
1148
- ]), [[D, !b(R).state.previewMode]]),
1149
- !b(A) && b(j) ? (s(), v(ht, {
1148
+ ]), [[D, !b(z).state.previewMode]]),
1149
+ !b(j) && b(M) ? (s(), v(yt, {
1150
1150
  key: 1,
1151
1151
  ref_key: "cloudPanelsRef",
1152
- ref: S,
1153
- config: f.config,
1154
- editor: b(R),
1152
+ ref: C,
1153
+ config: x.config,
1154
+ editor: b(z),
1155
1155
  core: b(B),
1156
1156
  "panel-state": b(K),
1157
- "plan-config-instance": b(N),
1158
- "test-email": b(U),
1159
- "media-lib": b(H),
1160
- onSendTestEmail: me
1157
+ "plan-config-instance": b(F),
1158
+ "media-lib": b(te)
1161
1159
  }, null, 8, [
1162
1160
  "config",
1163
1161
  "editor",
1164
1162
  "core",
1165
1163
  "panel-state",
1166
1164
  "plan-config-instance",
1167
- "test-email",
1168
1165
  "media-lib"
1169
1166
  ])) : w("", !0),
1170
1167
  b(G).isAvailable.value ? (s(), v(b(d), {
1171
1168
  key: 2,
1172
1169
  feature: b(G)
1173
1170
  }, null, 8, ["feature"])) : w("", !0),
1171
+ b(U).isAvailable.value ? (s(), v(b(f), {
1172
+ key: 3,
1173
+ feature: b(U)
1174
+ }, null, 8, ["feature"])) : w("", !0),
1174
1175
  p("div", {
1175
1176
  ref: (e) => b(B).popoverRoot.value = e,
1176
1177
  class: "tpl-popover-root"
1177
1178
  }, null, 512),
1178
1179
  g(se),
1179
1180
  g(fe),
1180
- b(le) ? (s(), v(de, { key: 3 })) : w("", !0)
1181
- ], 46, Mt));
1181
+ b(le) ? (s(), v(ce, { key: 4 })) : w("", !0)
1182
+ ], 46, It));
1182
1183
  }
1183
- }), [["__scopeId", "data-v-04940787"]]);
1184
+ }), [["__scopeId", "data-v-d606cf3a"]]);
1184
1185
  //#endregion
1185
- export { It as default };
1186
+ export { Bt as default };