@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,26 +1,27 @@
1
1
  import { $ as e, A as t, H as n, J as r, M as i, N as a, P as o, V as s, Z as c, _ as l, b as u, ct as d, f, g as p, h as m, it as h, j as g, l as _, m as v, n as y, ot as b, p as x, s as S, st as C, u as w, v as T, x as E, y as D, z as O } from "./draggable-D840DIZB.js";
2
2
  import { t as k } from "./timeouts-Bmi_yePw.js";
3
- import { F as A } from "./src-BKI1x1k7.js";
4
- import { T as j, b as M, j as N, t as P } from "./useEditorCore-CzMhD6Gd.js";
5
- import { _ as F } from "./dist-CiBEt0VR.js";
6
- import { t as I } from "./dist-CxTt8FRE.js";
7
- import { A as L, F as R, c as z, r as B, s as V, t as H, u as ee } from "./keys-D7kUmfpE.js";
8
- import { t as U } from "./useI18n-8Wd7G-cq.js";
9
- import { At as W, Dt as G, F as te, Ft as K, P as q, et as J, j as ne, rt as Y, u as re, w as ie } from "./icons-CYWw8Xfp.js";
3
+ import { z as A } from "./src-BCJna-6p.js";
4
+ import { T as j, b as M, j as ee, t as N } from "./useEditorCore-B_vwuKdI.js";
5
+ import { _ as P } from "./dist-CiBEt0VR.js";
6
+ import { t as F } from "./dist-CxTt8FRE.js";
7
+ import { I, c as L, j as te, r as R, s as z, t as B, u as ne } from "./keys-B5uoP9P7.js";
8
+ import { t as V } from "./useI18n-graz19nI.js";
9
+ import { F as H, I as U, It as W, M as G, Ot as K, T as q, it as J, jt as Y, tt as re, u as ie } from "./icons-Cqxvwgz7.js";
10
10
  import { t as ae } from "./_plugin-vue_export-helper-B3ysoDQm.js";
11
- import { n as X } from "./useCloudI18n-BjNENqkM.js";
12
- import { a as Z, c as oe, d as se, f as Q, i as ce, l as le, n as ue, o as de, p as fe, r as pe, s as me, t as he, u as ge } from "./styles-BkXzQ4-n.js";
13
- import { d as $ } from "./ColorPicker-DZSzZ5ZP.js";
14
- import { S as _e, _ as ve, a as ye, c as be, d as xe, f as Se, h as Ce, i as we, l as Te, m as Ee, n as De, o as Oe, r as ke, s as Ae, t as je, u as Me, v as Ne } from "./cloud-BJlbXGTJ.js";
11
+ import { n as X } from "./useCloudI18n-Bem8DUjH.js";
12
+ import { a as Z, c as oe, d as Q, f as se, i as ce, l as le, m as ue, n as de, o as fe, p as pe, r as me, s as he, t as ge, u as _e } from "./styles-BohMfIBd.js";
13
+ import { d as $ } from "./ColorPicker-BckwEfcN.js";
14
+ import { n as ve, t as ye } from "./MergeTagModeToggle-DmtR300G.js";
15
+ import { C as be, a as xe, c as Se, d as Ce, f as we, g as Te, h as Ee, i as De, l as Oe, n as ke, o 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-C2I0P9qj.js";
15
16
  //#region src/cloud/composables/useSnapshotPreview.ts
16
- function Pe(t) {
17
+ function Re(t) {
17
18
  let { authManager: n, editor: i, history: a, conditionPreview: o, autoSave: s, onError: l } = t, u = e(null), d = c(null), p = c(null), m = !1;
18
19
  r(() => {
19
20
  m = !0;
20
21
  });
21
22
  let h = f(() => d.value !== null), g = f(() => u.value?.snapshots.value ?? []), _ = f(() => u.value?.isLoading.value ?? !1), v = f(() => u.value?.isRestoring.value ?? !1);
22
23
  function y() {
23
- i.state.template?.id && !u.value && (u.value = Oe({
24
+ i.state.template?.id && !u.value && (u.value = Ne({
24
25
  authManager: n,
25
26
  templateId: i.state.template.id,
26
27
  onRestore: b,
@@ -72,7 +73,7 @@ function Pe(t) {
72
73
  }
73
74
  //#endregion
74
75
  //#region src/cloud/composables/useCloudPanelState.ts
75
- function Fe() {
76
+ function ze() {
76
77
  let e = c(null), t = f({
77
78
  get: () => e.value === "ai-chat",
78
79
  set: (t) => e.value = t ? "ai-chat" : null
@@ -85,40 +86,39 @@ function Fe() {
85
86
  }), i = f({
86
87
  get: () => e.value === "comments",
87
88
  set: (t) => e.value = t ? "comments" : null
88
- }), a = c(!1), o = c(!1), s = c(void 0), l = c(!1), u = c(null), d = f(() => e.value !== null), p = f(() => {
89
+ }), a = c(!1), o = c(void 0), s = c(!1), l = c(null), u = f(() => e.value !== null), d = f(() => {
89
90
  let t = e.value;
90
91
  return t === "ai-chat" || t === "design-reference" || t === "scoring" ? t : null;
91
- }), m = f(() => l.value || e.value === "ai-chat" || e.value === "design-reference" || e.value === "scoring");
92
- function h() {
93
- l.value = !l.value;
92
+ }), p = f(() => s.value || e.value === "ai-chat" || e.value === "design-reference" || e.value === "scoring");
93
+ function m() {
94
+ s.value = !s.value;
94
95
  }
95
- function g(t) {
96
- l.value = !1, e.value = e.value === t ? null : t;
96
+ function h(t) {
97
+ s.value = !1, e.value = e.value === t ? null : t;
97
98
  }
98
- return I(u, () => {
99
- l.value = !1;
99
+ return F(l, () => {
100
+ s.value = !1;
100
101
  }), {
101
102
  activePanel: e,
102
103
  aiChatOpen: t,
103
104
  scoringPanelOpen: n,
104
105
  designReferenceOpen: r,
105
106
  commentsOpen: i,
106
- testEmailModalOpen: a,
107
- mediaLibraryOpen: o,
108
- mediaLibraryAccept: s,
109
- aiMenuOpen: l,
110
- aiMenuRef: u,
111
- rightPanelOpen: d,
112
- activeAiFeature: p,
113
- aiButtonActive: m,
114
- toggleAiMenu: h,
115
- handleAiFeatureSelect: g
107
+ mediaLibraryOpen: a,
108
+ mediaLibraryAccept: o,
109
+ aiMenuOpen: s,
110
+ aiMenuRef: l,
111
+ rightPanelOpen: u,
112
+ activeAiFeature: d,
113
+ aiButtonActive: p,
114
+ toggleAiMenu: m,
115
+ handleAiFeatureSelect: h
116
116
  };
117
117
  }
118
118
  //#endregion
119
119
  //#region src/cloud/composables/useCollabUndoWarning.ts
120
- function Ie(e) {
121
- let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = c(!1), a = c(!1), { start: o } = F(() => {
120
+ function Be(e) {
121
+ let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = c(!1), a = c(!1), { start: o } = P(() => {
122
122
  a.value = !1;
123
123
  }, k, { immediate: !1 });
124
124
  function s() {
@@ -131,8 +131,8 @@ function Ie(e) {
131
131
  }
132
132
  //#endregion
133
133
  //#region src/cloud/composables/useCloudFeatureFlags.ts
134
- function Le(e) {
135
- let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = f(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = f(() => t.hasFeature("test_email")), o = f(() => !!r.state.template?.id), s = f(() => t.hasFeature("white_label")), l = f(() => t.config.value?.limits.max_templates ?? null), u = f(() => t.config.value?.template_count ?? 0), d = c(!1), p = c("idle"), m = c(""), { start: h } = F(() => {
134
+ function Ve(e) {
135
+ let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = f(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = f(() => t.hasFeature("test_email")), o = f(() => !!r.state.template?.id), s = f(() => t.hasFeature("white_label")), l = f(() => t.config.value?.limits.max_templates ?? null), u = f(() => t.config.value?.template_count ?? 0), d = c(!1), p = c("idle"), m = c(""), { start: h } = P(() => {
136
136
  p.value = "idle";
137
137
  }, 3e3, { immediate: !1 });
138
138
  return {
@@ -150,7 +150,7 @@ function Le(e) {
150
150
  }
151
151
  //#endregion
152
152
  //#region src/cloud/composables/useCloudMediaLibrary.ts
153
- function Re(e) {
153
+ function He(e) {
154
154
  let { onRequestMedia: t, mediaLibraryOpen: n, mediaLibraryAccept: i, authManager: a, getMediaConfig: o, onError: s } = e, c = null;
155
155
  function l(e) {
156
156
  return {
@@ -184,7 +184,7 @@ function Re(e) {
184
184
  let t = f(e);
185
185
  if (t) return s?.(t), null;
186
186
  try {
187
- let { MediaApiClient: t } = await import("./src-ByWL5K1f.js");
187
+ let { MediaApiClient: t } = await import("./src-XQmI_Xs1.js");
188
188
  return l(await new t(a).uploadMedia(e));
189
189
  } catch (e) {
190
190
  return s?.(e), null;
@@ -212,30 +212,30 @@ function Re(e) {
212
212
  }
213
213
  //#endregion
214
214
  //#region src/cloud/composables/useCloudInitialization.ts
215
- function ze(e) {
216
- let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = c(!0), l = c(!1), u = c(null), d = !1, p = { value: null }, m = null, h = null, g = new _e({
215
+ function Ue(e) {
216
+ let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = c(!0), l = c(!1), u = c(null), d = !1, p = { value: null }, m = null, h = null, g = new be({
217
217
  ...t.auth,
218
218
  onError: t.onError
219
- }), _ = ke({
219
+ }), _ = Me({
220
220
  authManager: g,
221
221
  onError: t.onError
222
- }), v = c(/* @__PURE__ */ new Map()), y = ve({
222
+ }), v = c(/* @__PURE__ */ new Map()), y = Ie({
223
223
  authManager: g,
224
224
  defaultFontFamily: t.fonts?.defaultFont,
225
225
  templateDefaults: t.templateDefaults,
226
226
  onError: t.onError,
227
227
  lockedBlocks: v
228
- }), b = be({
228
+ }), b = Oe({
229
229
  authManager: g,
230
230
  onError: t.onError
231
231
  });
232
- t.mcp?.enabled && je({
232
+ t.mcp?.enabled && Pe({
233
233
  editor: y,
234
234
  channel: b.channel,
235
235
  onOperation: t.mcp.onOperation
236
236
  });
237
237
  let x = null;
238
- t.collaboration?.enabled && (x = Me({
238
+ t.collaboration?.enabled && (x = Ce({
239
239
  authManager: g,
240
240
  editor: y,
241
241
  channel: b.channel,
@@ -246,8 +246,8 @@ function ze(e) {
246
246
  onBlockUnlocked: t.collaboration.onBlockUnlocked
247
247
  }), O(() => x.lockedBlocks.value, (e) => {
248
248
  v.value = e;
249
- }, { immediate: !0 }), Te(y, x));
250
- let S = f(() => !!t.collaboration?.enabled && _.hasFeature("collaboration")), C = P({
249
+ }, { immediate: !0 }), Fe(y, x));
250
+ let S = f(() => !!t.collaboration?.enabled && _.hasFeature("collaboration")), C = N({
251
251
  editor: y,
252
252
  config: {
253
253
  uiTheme: t.uiTheme,
@@ -283,13 +283,13 @@ function ze(e) {
283
283
  keyboardOptions: { onBeforeUndo: () => h?.showCollabUndoWarning() },
284
284
  editorRoot: e.editorRoot,
285
285
  containerEl: e.containerEl
286
- }), w = Ie({
286
+ }), w = Be({
287
287
  isCollaborationEnabled: S,
288
288
  getCollaboratorCount: () => x?.collaborators.value.length ?? 0,
289
289
  canUndo: C.history.canUndo
290
290
  });
291
291
  h = w;
292
- let T = Pe({
292
+ let T = Re({
293
293
  authManager: g,
294
294
  editor: y,
295
295
  history: C.history,
@@ -298,11 +298,11 @@ function ze(e) {
298
298
  onError: t.onError
299
299
  });
300
300
  m = T;
301
- let E = Fe(), D = Ce(t.ai), k = Le({
301
+ let E = ze(), D = Te(t.ai), k = Ve({
302
302
  planConfigInstance: _,
303
303
  aiConfig: D,
304
304
  editor: y
305
- }), A = Re({
305
+ }), A = He({
306
306
  onRequestMedia: t.onRequestMedia,
307
307
  mediaLibraryOpen: E.mediaLibraryOpen,
308
308
  mediaLibraryAccept: E.mediaLibraryAccept,
@@ -314,19 +314,32 @@ function ze(e) {
314
314
  onBlockMove: y.moveBlock,
315
315
  onBlockAdd: y.addBlock
316
316
  });
317
- let M = we({
317
+ let M = De({
318
318
  authManager: g,
319
319
  getFontsConfig: () => t.fonts,
320
320
  canUseCustomFonts: () => _.hasFeature("custom_fonts")
321
- }), F = ye({
321
+ }), P = Ae({
322
322
  authManager: g,
323
- getTemplateId: () => y.state.template?.id ?? null,
324
- save: () => y.save(),
325
- exportHtml: (e) => M.exportHtml(e),
323
+ isAuthReady: l
324
+ }), F = t.testEmail ?? null, L = se({
325
+ provider: F ?? xe({
326
+ authManager: g,
327
+ getTemplateId: () => y.state.template?.id ?? null,
328
+ save: () => y.save(),
329
+ exportHtml: (e) => M.exportHtml(e),
330
+ allowedEmails: P.allowedEmails,
331
+ getSignature: P.getSignature,
332
+ onBeforeTestEmail: t.onBeforeTestEmail
333
+ }),
334
+ getContent: () => y.content.value,
335
+ renderMjml: () => pe({
336
+ getContent: () => y.content.value,
337
+ renderCustomBlock: C.registry.renderCustomBlock,
338
+ getCustomBlockStylesheet: (e) => C.registry.getDefinition(e)?.stylesheet
339
+ }),
326
340
  onError: t.onError,
327
- isAuthReady: l,
328
- onBeforeTestEmail: t.onBeforeTestEmail
329
- }), I = Se({
341
+ isAvailable: F ? () => !0 : () => P.isEnabled.value && k.canSendTestEmail.value && k.hasTemplateSaved.value
342
+ }), V = je({
330
343
  authManager: g,
331
344
  getTemplateId: () => y.state.template?.id ?? null,
332
345
  getSocketId: () => b.getSocketId(),
@@ -335,15 +348,15 @@ function ze(e) {
335
348
  isAuthReady: l,
336
349
  hasCommentingFeature: () => t.commenting !== !1 && _.hasFeature("commenting")
337
350
  });
338
- xe({
339
- comments: I,
351
+ we({
352
+ comments: V,
340
353
  channel: b.channel
341
354
  });
342
- let z = typeof t.savedBlocks == "object" && t.savedBlocks !== null ? t.savedBlocks : null, U = fe({
343
- provider: z ?? Ae(g),
355
+ let H = typeof t.savedBlocks == "object" && t.savedBlocks !== null ? t.savedBlocks : null, U = ue({
356
+ provider: H ?? Se(g),
344
357
  editor: y,
345
358
  onError: t.onError,
346
- isAvailable: z ? () => !0 : () => t.savedBlocks !== !1 && _.hasFeature("saved_modules")
359
+ isAvailable: H ? () => !0 : () => t.savedBlocks !== !1 && _.hasFeature("saved_modules")
347
360
  }), W = Ee({
348
361
  authManager: g,
349
362
  getTemplateId: () => y.state.template?.id ?? null
@@ -353,31 +366,32 @@ function ze(e) {
353
366
  o()?.filterByBlock(e);
354
367
  });
355
368
  }
356
- a(L, A.handleRequestMedia), a(B, g), a(H, D), a(ee, I), a(R, W), a(V, {
369
+ a(te, A.handleRequestMedia), a(R, g), a(B, D), a(ne, V), a(I, W), a(z, {
357
370
  plan: _,
358
371
  ai: D,
359
372
  comments: {
360
- getBlockCount: (e) => I.commentCountByBlock.value.get(e) ?? 0,
373
+ getBlockCount: (e) => V.commentCountByBlock.value.get(e) ?? 0,
361
374
  openForBlock: G
362
375
  },
363
- savedBlocks: U.capability
376
+ savedBlocks: U.capability,
377
+ testEmail: L.capability
364
378
  });
365
- function te(e) {
379
+ function K(e) {
366
380
  _.hasFeature("theme_customization") && (C.themeOverrides.value = e);
367
381
  }
368
- function K(e) {
382
+ function q(e) {
369
383
  y.setUiTheme(e);
370
384
  }
371
- async function q() {
385
+ async function J() {
372
386
  s.value = !0, u.value = null;
373
387
  try {
374
388
  if (await g.initialize(), d) return;
375
389
  l.value = !0;
376
- let e = await De({ authManager: g });
390
+ let e = await ke({ authManager: g });
377
391
  if (d) return;
378
392
  if (!e.api.ok) throw Error("Health check failed: API is not reachable");
379
393
  if (!e.auth.ok) throw Error(`Health check failed: authentication error${e.auth.error ? ` - ${e.auth.error}` : ""}`);
380
- if (e.websocket.ok || N.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await _.fetchConfig(), d) return;
394
+ if (e.websocket.ok || ee.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await _.fetchConfig(), d) return;
381
395
  r.setCustomFontsEnabled(_.hasFeature("custom_fonts")), t.customBlocks?.length && _.hasFeature("custom_blocks") && C.registerCustomBlocks(t.customBlocks), t.theme && _.hasFeature("theme_customization") && (C.themeOverrides.value = t.theme), i("ready");
382
396
  } catch (e) {
383
397
  if (d) return;
@@ -387,7 +401,7 @@ function ze(e) {
387
401
  d || (s.value = !1);
388
402
  }
389
403
  }
390
- function J() {
404
+ function Y() {
391
405
  d = !0, r.cleanupFontLinks(), b.disconnect(), C.destroy(), t.onUnmount?.();
392
406
  }
393
407
  return {
@@ -406,24 +420,24 @@ function ze(e) {
406
420
  featureFlags: k,
407
421
  mediaLib: A,
408
422
  exporter: M,
409
- testEmail: F,
410
- commentsInstance: I,
423
+ testEmail: L,
424
+ commentsInstance: V,
411
425
  savedBlocks: U,
412
426
  scoringInstance: W,
413
427
  panelState: E,
414
428
  snapshotPreview: T,
415
429
  collabWarning: w,
416
430
  onSaveHook: p,
417
- initialize: q,
418
- destroy: J,
419
- setThemeOverrides: te,
420
- setUiTheme: K,
431
+ initialize: J,
432
+ destroy: Y,
433
+ setThemeOverrides: K,
434
+ setUiTheme: q,
421
435
  openCommentsForBlock: G
422
436
  };
423
437
  }
424
438
  //#endregion
425
439
  //#region src/utils/preRenderCustomBlocks.ts
426
- async function Be(e, t) {
440
+ async function We(e, t) {
427
441
  let n = async (e) => {
428
442
  if (A(e)) {
429
443
  let n = e;
@@ -442,10 +456,10 @@ async function Be(e, t) {
442
456
  }
443
457
  //#endregion
444
458
  //#region src/cloud/composables/useCloudLifecycle.ts
445
- function Ve(e) {
459
+ function Ge(e) {
446
460
  let { config: t, editor: n, websocket: r, planConfigInstance: i, snapshotPreview: a, core: o, exporter: s, featureFlags: c, isDestroyed: l } = e;
447
461
  function u() {
448
- return Ne(i.config.value.websocket);
462
+ return Le(i.config.value.websocket);
449
463
  }
450
464
  async function d(e) {
451
465
  let i = await n.create(e);
@@ -458,7 +472,7 @@ function Ve(e) {
458
472
  async function p() {
459
473
  c.isSaveExporting.value = !0, c.saveStatus.value = "idle";
460
474
  try {
461
- if (await Be(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
475
+ if (await We(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
462
476
  let e = await n.save();
463
477
  if (l()) throw Error("Component unmounted during save");
464
478
  a.initSnapshotHistory(), a.snapshotHistoryInstance.value?.loadSnapshots();
@@ -485,7 +499,7 @@ function Ve(e) {
485
499
  }
486
500
  //#endregion
487
501
  //#region src/cloud/composables/useCloudSaveGate.ts
488
- function He(e) {
502
+ function Ke(e) {
489
503
  let t = c(!1), n = null, r = f(() => e.planConfig.value?.accessibility?.blockOnError === !0), i = f(() => r.value ? e.issues.value.filter((e) => e.severity === "error") : []), a = f(() => i.value.length > 0);
490
504
  async function o(e) {
491
505
  return a.value ? (n = e, t.value = !0, !1) : (await e(), !0);
@@ -508,7 +522,7 @@ function He(e) {
508
522
  }
509
523
  //#endregion
510
524
  //#region src/cloud/components/CloudSaveGateModal.vue?vue&type=script&setup=true&lang.ts
511
- var Ue = ["aria-label"], We = { 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)]" }, Ge = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ke = { 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)]" }, Je = { 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" }, Ye = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, Xe = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Ze = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Qe = /* @__PURE__ */ E({
525
+ var qe = ["aria-label"], Je = { 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)]" }, Ye = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Xe = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ze = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Qe = { 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" }, $e = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, et = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, tt = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, nt = /* @__PURE__ */ E({
512
526
  __name: "CloudSaveGateModal",
513
527
  props: {
514
528
  open: { type: Boolean },
@@ -530,18 +544,18 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
530
544
  "aria-label": h(r).saveGate.title,
531
545
  class: "tpl:fixed tpl:inset-0 tpl:z-50 tpl:flex tpl:items-center tpl:justify-center tpl:bg-black/40 tpl:p-6",
532
546
  onClick: a[2] ||= _((e) => n("cancel"), ["self"])
533
- }, [x("div", We, [
534
- x("header", Ge, [D(h(re), {
547
+ }, [x("div", Je, [
548
+ x("header", Ye, [D(h(ie), {
535
549
  size: 18,
536
550
  "stroke-width": 2,
537
551
  class: "tpl:text-[var(--tpl-warning)]"
538
- }), x("h2", Ke, d(h(r).saveGate.title), 1)]),
539
- x("p", qe, d(h(r).saveGate.body), 1),
540
- x("ul", Je, [(i(!0), p(w, null, o(e.issues, (e) => (i(), p("li", {
552
+ }), x("h2", Xe, d(h(r).saveGate.title), 1)]),
553
+ x("p", Ze, d(h(r).saveGate.body), 1),
554
+ x("ul", Qe, [(i(!0), p(w, null, o(e.issues, (e) => (i(), p("li", {
541
555
  key: `${e.ruleId}-${e.blockId ?? "template"}`,
542
556
  class: "tpl:flex tpl:flex-col tpl:gap-0.5 tpl:rounded tpl:px-2 tpl:py-1.5"
543
- }, [x("span", Ye, d(e.message), 1), x("span", Xe, d(e.ruleId), 1)]))), 128))]),
544
- x("footer", Ze, [x("button", {
557
+ }, [x("span", $e, d(e.message), 1), x("span", et, d(e.ruleId), 1)]))), 128))]),
558
+ x("footer", tt, [x("button", {
545
559
  type: "button",
546
560
  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)]",
547
561
  onClick: a[0] ||= (e) => n("cancel")
@@ -550,11 +564,11 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
550
564
  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",
551
565
  onClick: a[1] ||= (e) => n("confirm")
552
566
  }, d(h(r).saveGate.confirm), 1)])
553
- ])], 8, Ue)) : m("", !0)]),
567
+ ])], 8, qe)) : m("", !0)]),
554
568
  _: 1
555
569
  }));
556
570
  }
557
- }), $e = {
571
+ }), rt = {
558
572
  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",
559
573
  style: {
560
574
  "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)",
@@ -563,24 +577,24 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
563
577
  "box-shadow": "var(--tpl-shadow-md)",
564
578
  "border-bottom": "1px solid var(--tpl-border)"
565
579
  }
566
- }, et = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, tt = {
580
+ }, it = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, at = {
567
581
  key: 0,
568
582
  class: "tpl:text-xs tpl:opacity-60 tpl:text-[var(--tpl-text-muted)]"
569
- }, nt = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, rt = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, it = ["data-tooltip"], at = {
583
+ }, ot = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, st = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, ct = ["data-tooltip"], lt = {
570
584
  key: 1,
571
585
  "aria-live": "polite",
572
586
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success)]"
573
- }, ot = {
587
+ }, ut = {
574
588
  key: 2,
575
589
  "aria-live": "polite",
576
590
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
577
- }, st = ["aria-label", "aria-expanded"], ct = {
591
+ }, dt = ["aria-label", "aria-expanded"], ft = {
578
592
  key: 0,
579
593
  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)]"
580
- }, lt = ["aria-expanded"], ut = {
594
+ }, pt = ["aria-expanded"], mt = {
581
595
  key: 0,
582
596
  class: "tpl:absolute tpl:right-0 tpl:top-full tpl:z-50 tpl:mt-1 tpl:origin-top-right"
583
- }, dt = ["disabled"], ft = ["disabled"], pt = /* @__PURE__ */ E({
597
+ }, ht = ["disabled"], gt = ["disabled"], _t = /* @__PURE__ */ E({
584
598
  __name: "CloudHeader",
585
599
  props: {
586
600
  editor: {},
@@ -598,14 +612,14 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
598
612
  },
599
613
  emits: ["save"],
600
614
  setup(e) {
601
- let t = u(() => import("./CollaboratorBar-mkJVAkSh.js")), n = u(() => import("./SnapshotHistory-DO-gzr3i.js")), r = u(() => import("./AiFeatureMenu-hWgWQg11.js")), { t: a, format: o } = X();
602
- return (c, l) => (i(), p("header", $e, [
603
- x("div", et, [e.featureFlags.templateLimit.value === null ? m("", !0) : (i(), p("span", tt, d(h(o)(h(a).header.templatesUsed, {
615
+ let t = u(() => import("./CollaboratorBar-CEdKr0A2.js")), n = u(() => import("./SnapshotHistory-DFuNJRc9.js")), r = u(() => import("./AiFeatureMenu-B5pV6Iux.js")), { t: a } = V(), { t: o, format: c } = X();
616
+ return (l, u) => (i(), p("header", rt, [
617
+ x("div", it, [e.featureFlags.templateLimit.value === null ? m("", !0) : (i(), p("span", at, d(h(c)(h(o).header.templatesUsed, {
604
618
  used: e.featureFlags.templateCount.value,
605
619
  max: e.featureFlags.templateLimit.value
606
620
  })), 1))]),
607
- x("div", nt, [
608
- D(de, {
621
+ x("div", ot, [
622
+ D(ve, {
609
623
  viewport: e.editor.state.viewport,
610
624
  onChange: e.editor.setViewport
611
625
  }, null, 8, ["viewport", "onChange"]),
@@ -617,13 +631,18 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
617
631
  "preview-mode": e.editor.state.previewMode,
618
632
  onChange: e.editor.setPreviewMode
619
633
  }, null, 8, ["preview-mode", "onChange"]),
620
- e.collaboration && e.isCollaborationEnabled ? (i(), v(h(t), {
634
+ e.editor.state.previewMode ? (i(), v(ye, {
621
635
  key: 0,
636
+ "sample-mode": e.core.mergeTagSampleMode.value,
637
+ onChange: u[0] ||= (t) => e.core.mergeTagSampleMode.value = t
638
+ }, null, 8, ["sample-mode"])) : m("", !0),
639
+ e.collaboration && e.isCollaborationEnabled ? (i(), v(h(t), {
640
+ key: 1,
622
641
  collaborators: e.collaboration.collaborators.value,
623
642
  "is-connected": e.websocket.isConnected.value
624
643
  }, null, 8, ["collaborators", "is-connected"])) : m("", !0),
625
644
  e.snapshotPreview.snapshotHistoryInstance.value ? (i(), v(h(n), {
626
- key: 1,
645
+ key: 2,
627
646
  snapshots: e.snapshotPreview.snapshotHistorySnapshots.value,
628
647
  "is-loading": e.snapshotPreview.snapshotHistoryIsLoading.value,
629
648
  "is-restoring": e.snapshotPreview.snapshotHistoryIsRestoring.value,
@@ -637,22 +656,22 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
637
656
  "onNavigate"
638
657
  ])) : m("", !0)
639
658
  ]),
640
- x("div", rt, [
659
+ x("div", st, [
641
660
  e.featureFlags.saveStatus.value === "error" ? (i(), p("div", {
642
661
  key: 0,
643
662
  "aria-live": "assertive",
644
663
  class: "tpl-tooltip tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]",
645
664
  "data-tooltip": e.featureFlags.saveErrorMessage.value
646
- }, [D(h(W), {
665
+ }, [D(h(Y), {
647
666
  size: 12,
648
667
  "stroke-width": 2.5
649
- }), T(" " + d(h(a).header.saveFailed), 1)], 8, it)) : e.featureFlags.saveStatus.value === "saved" ? (i(), p("div", at, [D(h(K), {
668
+ }), T(" " + d(h(o).header.saveFailed), 1)], 8, ct)) : e.featureFlags.saveStatus.value === "saved" ? (i(), p("div", lt, [D(h(W), {
650
669
  size: 12,
651
670
  "stroke-width": 2.5
652
- }), T(" " + d(h(a).header.saved), 1)])) : e.editor.state.isDirty ? (i(), p("div", ot, [l[4] ||= x("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), T(" " + d(h(a).header.unsaved), 1)])) : m("", !0),
671
+ }), T(" " + d(h(o).header.saved), 1)])) : e.editor.state.isDirty ? (i(), p("div", ut, [u[5] ||= x("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), T(" " + d(h(o).header.unsaved), 1)])) : m("", !0),
653
672
  e.commentsInstance.isEnabled.value && e.featureFlags.hasTemplateSaved.value ? (i(), p("button", {
654
673
  key: 3,
655
- "aria-label": e.commentsInstance.unresolvedCount.value > 0 ? `${h(a).comments.button} (${e.commentsInstance.unresolvedCount.value})` : h(a).comments.button,
674
+ "aria-label": e.commentsInstance.unresolvedCount.value > 0 ? `${h(o).comments.button} (${e.commentsInstance.unresolvedCount.value})` : h(o).comments.button,
656
675
  "aria-expanded": e.panelState.commentsOpen.value,
657
676
  class: b(h($)),
658
677
  style: C({
@@ -660,15 +679,15 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
660
679
  color: e.panelState.commentsOpen.value ? "var(--tpl-bg)" : "var(--tpl-primary)",
661
680
  borderColor: "var(--tpl-primary)"
662
681
  }),
663
- onClick: l[0] ||= (t) => e.panelState.commentsOpen.value = !e.panelState.commentsOpen.value
682
+ onClick: u[1] ||= (t) => e.panelState.commentsOpen.value = !e.panelState.commentsOpen.value
664
683
  }, [
665
- D(h(J), {
684
+ D(h(re), {
666
685
  size: 16,
667
686
  "stroke-width": 2
668
687
  }),
669
- T(" " + d(h(a).comments.button) + " ", 1),
670
- e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (i(), p("span", ct, d(e.commentsInstance.unresolvedCount.value), 1)) : m("", !0)
671
- ], 14, st)) : m("", !0),
688
+ T(" " + d(h(o).comments.button) + " ", 1),
689
+ e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (i(), p("span", ft, d(e.commentsInstance.unresolvedCount.value), 1)) : m("", !0)
690
+ ], 14, dt)) : m("", !0),
672
691
  e.featureFlags.canUseAiGeneration.value && e.featureFlags.hasTemplateSaved.value ? (i(), p("div", {
673
692
  key: 4,
674
693
  ref: (t) => e.panelState.aiMenuRef.value = t,
@@ -676,12 +695,12 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
676
695
  }, [x("button", {
677
696
  "aria-expanded": e.panelState.aiMenuOpen.value,
678
697
  class: b(["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"]),
679
- onClick: l[1] ||= _((...t) => e.panelState.toggleAiMenu && e.panelState.toggleAiMenu(...t), ["stop"])
680
- }, [D(h(ie), {
698
+ onClick: u[2] ||= _((...t) => e.panelState.toggleAiMenu && e.panelState.toggleAiMenu(...t), ["stop"])
699
+ }, [D(h(q), {
681
700
  size: 16,
682
701
  "stroke-width": 2,
683
702
  class: "tpl-ai-btn-icon"
684
- }), T(" " + d(h(a).aiChat.button), 1)], 10, lt), D(y, {
703
+ }), T(" " + d(h(o).aiChat.button), 1)], 10, pt), D(y, {
685
704
  "enter-active-class": "tpl:transition-all tpl:duration-150 tpl:ease-out",
686
705
  "enter-from-class": "tpl:scale-95 tpl:opacity-0",
687
706
  "enter-to-class": "tpl:scale-100 tpl:opacity-100",
@@ -689,32 +708,33 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
689
708
  "leave-from-class": "tpl:scale-100 tpl:opacity-100",
690
709
  "leave-to-class": "tpl:scale-95 tpl:opacity-0"
691
710
  }, {
692
- default: s(() => [e.panelState.aiMenuOpen.value ? (i(), p("div", ut, [D(h(r), {
711
+ default: s(() => [e.panelState.aiMenuOpen.value ? (i(), p("div", mt, [D(h(r), {
693
712
  "active-feature": e.panelState.activeAiFeature.value,
694
713
  onSelect: e.panelState.handleAiFeatureSelect
695
714
  }, null, 8, ["active-feature", "onSelect"])])) : m("", !0)]),
696
715
  _: 1
697
716
  })], 512)) : m("", !0),
698
- e.testEmail.isEnabled.value && e.featureFlags.canSendTestEmail.value ? (i(), p("button", {
717
+ e.testEmail.isAvailable.value ? (i(), p("button", {
699
718
  key: 5,
700
719
  class: b(h($)),
720
+ "data-testid": "test-email-trigger",
701
721
  style: {
702
722
  "background-color": "transparent",
703
723
  color: "var(--tpl-primary)",
704
724
  "border-color": "var(--tpl-primary)"
705
725
  },
706
- disabled: e.testEmail.isSending.value || !e.featureFlags.hasTemplateSaved.value,
707
- onClick: l[2] ||= (t) => e.panelState.testEmailModalOpen.value = !0
708
- }, [e.testEmail.isSending.value ? (i(), v(h(Y), {
726
+ disabled: e.testEmail.isSending.value,
727
+ onClick: u[3] ||= (t) => e.testEmail.open()
728
+ }, [e.testEmail.isSending.value ? (i(), v(h(J), {
709
729
  key: 1,
710
730
  class: "tpl-spinner",
711
731
  size: 16,
712
732
  "stroke-width": 2
713
- })) : (i(), v(h(ne), {
733
+ })) : (i(), v(h(G), {
714
734
  key: 0,
715
735
  size: 16,
716
736
  "stroke-width": 2
717
- })), T(" " + d(h(a).testEmail.button), 1)], 10, dt)) : m("", !0),
737
+ })), T(" " + d(h(a).testEmail.button), 1)], 10, ht)) : m("", !0),
718
738
  x("button", {
719
739
  class: b(h($)),
720
740
  style: {
@@ -723,21 +743,21 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
723
743
  "border-color": "var(--tpl-primary)"
724
744
  },
725
745
  disabled: e.isSaveDisabled,
726
- onClick: l[3] ||= (e) => c.$emit("save")
727
- }, [e.isSaving ? (i(), v(h(Y), {
746
+ onClick: u[4] ||= (e) => l.$emit("save")
747
+ }, [e.isSaving ? (i(), v(h(J), {
728
748
  key: 1,
729
749
  class: "tpl-spinner",
730
750
  size: 16,
731
751
  "stroke-width": 2
732
- })) : (i(), v(h(q), {
752
+ })) : (i(), v(h(H), {
733
753
  key: 0,
734
754
  size: 16,
735
755
  "stroke-width": 2
736
- })), T(" " + d(e.isSaving ? h(a).header.saving : h(a).header.save), 1)], 10, ft)
756
+ })), T(" " + d(e.isSaving ? h(o).header.saving : h(o).header.save), 1)], 10, gt)
737
757
  ])
738
758
  ]));
739
759
  }
740
- }), mt = /* @__PURE__ */ E({
760
+ }), vt = /* @__PURE__ */ E({
741
761
  __name: "CloudPanels",
742
762
  props: {
743
763
  config: {},
@@ -745,61 +765,46 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
745
765
  core: {},
746
766
  panelState: {},
747
767
  planConfigInstance: {},
748
- testEmail: {},
749
768
  mediaLib: {}
750
769
  },
751
- emits: ["send-test-email"],
752
- setup(e, { expose: t, emit: n }) {
753
- let r = u(() => import("./AiChatSidebar-A1CuWGY0.js")), a = u(() => import("./CommentsSidebar-DHdRiGPX.js")), o = u(() => import("./DesignReferenceSidebar-Dre99DTH.js")), s = u(() => import("./TemplateScoringPanel-CTk8WwxU.js")), l = u(() => import("./TestEmailModal-DT37w7i_.js")), d = u(async () => {
770
+ setup(e, { expose: t }) {
771
+ let n = u(() => import("./AiChatSidebar-CN-0DIuA.js")), r = u(() => import("./CommentsSidebar-6PfpJKh-.js")), a = u(() => import("./DesignReferenceSidebar-BjlaP69l.js")), o = u(() => import("./TemplateScoringPanel-DG1dAjQk.js")), s = u(async () => {
754
772
  try {
755
- return (await import("./src-ByWL5K1f.js")).MediaLibraryModal;
773
+ return (await import("./src-XQmI_Xs1.js")).MediaLibraryModal;
756
774
  } catch {
757
775
  throw Error("[Templatical] Cloud media library requires the optional peer dependency '@templatical/media-library'. Please install it.");
758
776
  }
759
- }), f = n;
760
- function m(e, t, n) {
777
+ });
778
+ function l(e, t, n) {
761
779
  t.history.record(), n.setContent(e), t.conditionPreview.reset();
762
780
  }
763
- let g = c(null);
764
- function _(e) {
765
- g.value?.filterByBlock(e);
781
+ let d = c(null);
782
+ function f(e) {
783
+ d.value?.filterByBlock(e);
766
784
  }
767
- return t({ filterCommentsByBlock: _ }), (t, n) => (i(), p(w, null, [
768
- D(h(r), {
785
+ return t({ filterCommentsByBlock: f }), (t, c) => (i(), p(w, null, [
786
+ D(h(n), {
769
787
  visible: e.panelState.aiChatOpen.value,
770
- "on-apply": (t) => m(t, e.core, e.editor),
771
- onClose: n[0] ||= (t) => e.panelState.aiChatOpen.value = !1
788
+ "on-apply": (t) => l(t, e.core, e.editor),
789
+ onClose: c[0] ||= (t) => e.panelState.aiChatOpen.value = !1
772
790
  }, null, 8, ["visible", "on-apply"]),
773
- D(h(s), {
791
+ D(h(o), {
774
792
  visible: e.panelState.scoringPanelOpen.value,
775
- onClose: n[1] ||= (t) => e.panelState.scoringPanelOpen.value = !1
793
+ onClose: c[1] ||= (t) => e.panelState.scoringPanelOpen.value = !1
776
794
  }, null, 8, ["visible"]),
777
- D(h(o), {
795
+ D(h(a), {
778
796
  visible: e.panelState.designReferenceOpen.value,
779
797
  "has-existing-blocks": e.editor.content.value.blocks.length > 0,
780
- onClose: n[2] ||= (t) => e.panelState.designReferenceOpen.value = !1,
781
- onApply: n[3] ||= (t) => m(t, e.core, e.editor)
798
+ onClose: c[2] ||= (t) => e.panelState.designReferenceOpen.value = !1,
799
+ onApply: c[3] ||= (t) => l(t, e.core, e.editor)
782
800
  }, null, 8, ["visible", "has-existing-blocks"]),
783
- D(h(a), {
801
+ D(h(r), {
784
802
  ref_key: "commentsSidebar",
785
- ref: g,
803
+ ref: d,
786
804
  visible: e.panelState.commentsOpen.value,
787
- onClose: n[4] ||= (t) => e.panelState.commentsOpen.value = !1
805
+ onClose: c[4] ||= (t) => e.panelState.commentsOpen.value = !1
788
806
  }, null, 8, ["visible"]),
789
- D(h(l), {
790
- visible: e.panelState.testEmailModalOpen.value,
791
- "allowed-emails": e.testEmail.allowedEmails.value,
792
- "is-sending": e.testEmail.isSending.value,
793
- error: e.testEmail.error.value,
794
- onSend: n[5] ||= (e) => f("send-test-email", e),
795
- onClose: n[6] ||= (t) => e.panelState.testEmailModalOpen.value = !1
796
- }, null, 8, [
797
- "visible",
798
- "allowed-emails",
799
- "is-sending",
800
- "error"
801
- ]),
802
- D(h(d), {
807
+ D(h(s), {
803
808
  visible: e.panelState.mediaLibraryOpen.value,
804
809
  accept: e.panelState.mediaLibraryAccept.value,
805
810
  "popover-target": e.core.popoverRoot.value,
@@ -814,23 +819,23 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
814
819
  ])
815
820
  ], 64));
816
821
  }
817
- }), ht = {
822
+ }), yt = {
818
823
  key: 0,
819
824
  class: "tpl-loading tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:bg-[var(--tpl-bg)]"
820
- }, gt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, _t = { 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)]" }, vt = /* @__PURE__ */ E({
825
+ }, bt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, xt = { 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)]" }, St = /* @__PURE__ */ E({
821
826
  __name: "CloudLoadingOverlay",
822
827
  props: { visible: { type: Boolean } },
823
828
  setup(e) {
824
- return (t, n) => e.visible ? (i(), p("div", ht, [n[1] ||= l("<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), x("div", gt, [x("div", _t, [(i(), p(w, null, o(5, (e) => x("div", {
829
+ return (t, n) => e.visible ? (i(), p("div", yt, [n[1] ||= l("<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), x("div", bt, [x("div", xt, [(i(), p(w, null, o(5, (e) => x("div", {
825
830
  key: e,
826
831
  class: "tpl-shimmer tpl:size-7 tpl:rounded-[var(--tpl-radius-sm)]"
827
832
  })), 64))]), n[0] ||= l("<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)])])) : m("", !0);
828
833
  }
829
- }), yt = {
834
+ }), Ct = {
830
835
  key: 0,
831
836
  role: "alert",
832
837
  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)]"
833
- }, bt = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, xt = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, St = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ct = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, wt = /* @__PURE__ */ E({
838
+ }, wt = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, Tt = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, Et = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Dt = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ot = /* @__PURE__ */ E({
834
839
  __name: "CloudErrorOverlay",
835
840
  props: {
836
841
  error: {},
@@ -845,13 +850,13 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
845
850
  function o(e) {
846
851
  return "isNotFound" in e && !!e.isNotFound;
847
852
  }
848
- return (t, s) => e.visible && e.error ? (i(), p("div", yt, [
849
- x("div", bt, [D(h(W), {
853
+ return (t, s) => e.visible && e.error ? (i(), p("div", Ct, [
854
+ x("div", wt, [D(h(Y), {
850
855
  size: 32,
851
856
  "stroke-width": 1.5,
852
857
  class: "tpl:text-[var(--tpl-danger)]"
853
858
  })]),
854
- x("div", xt, [x("h2", St, d(h(r).error.title), 1), x("p", Ct, d(a(e.error)), 1)]),
859
+ x("div", Tt, [x("h2", Et, d(h(r).error.title), 1), x("p", Dt, d(a(e.error)), 1)]),
855
860
  o(e.error) ? m("", !0) : (i(), p("button", {
856
861
  key: 0,
857
862
  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)]",
@@ -859,20 +864,20 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
859
864
  }, d(h(r).error.retry), 1))
860
865
  ])) : m("", !0);
861
866
  }
862
- }), Tt = {
867
+ }), kt = {
863
868
  key: 0,
864
869
  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)]"
865
- }, Et = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, Dt = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ot = /* @__PURE__ */ E({
870
+ }, At = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, jt = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Mt = /* @__PURE__ */ E({
866
871
  __name: "SnapshotPreviewBanner",
867
872
  props: { visible: { type: Boolean } },
868
873
  emits: ["cancel", "confirm"],
869
874
  setup(e, { emit: t }) {
870
875
  let n = t, { t: r } = X();
871
- return (t, a) => e.visible ? (i(), p("div", Tt, [x("div", Et, [D(h(G), {
876
+ return (t, a) => e.visible ? (i(), p("div", kt, [x("div", At, [D(h(K), {
872
877
  size: 18,
873
878
  "stroke-width": 2,
874
879
  class: "tpl:text-[var(--tpl-primary)]"
875
- }), x("span", null, d(h(r).snapshotPreview.message), 1)]), x("div", Dt, [x("button", {
880
+ }), x("span", null, d(h(r).snapshotPreview.message), 1)]), x("div", jt, [x("button", {
876
881
  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)]",
877
882
  style: { "background-color": "transparent" },
878
883
  onClick: a[0] ||= (e) => n("cancel")
@@ -881,7 +886,7 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
881
886
  onClick: a[1] ||= (e) => n("confirm")
882
887
  }, d(h(r).snapshotPreview.restore), 1)])])) : m("", !0);
883
888
  }
884
- }), kt = {
889
+ }), Nt = {
885
890
  key: 0,
886
891
  role: "status",
887
892
  "aria-live": "polite",
@@ -891,14 +896,14 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
891
896
  color: "var(--tpl-text)",
892
897
  border: "1px solid var(--tpl-warning)"
893
898
  }
894
- }, At = /* @__PURE__ */ E({
899
+ }, Pt = /* @__PURE__ */ E({
895
900
  __name: "CollabUndoToast",
896
901
  props: { visible: { type: Boolean } },
897
902
  setup(e) {
898
- let { t } = U();
899
- return (n, r) => e.visible ? (i(), p("div", kt, d(h(t).history.collabWarning), 1)) : m("", !0);
903
+ let { t } = V();
904
+ return (n, r) => e.visible ? (i(), p("div", Nt, d(h(t).history.collabWarning), 1)) : m("", !0);
900
905
  }
901
- }), jt = ["data-tpl-theme"], Mt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Nt = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, Pt = ["aria-label"], Ft = /*#__PURE__*/ ae(/* @__PURE__ */ E({
906
+ }), Ft = ["data-tpl-theme"], It = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Lt = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, Rt = ["aria-label"], zt = /*#__PURE__*/ ae(/* @__PURE__ */ E({
902
907
  __name: "CloudEditor",
903
908
  props: {
904
909
  config: {},
@@ -909,67 +914,62 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
909
914
  },
910
915
  emits: ["ready"],
911
916
  setup(e, { expose: r, emit: o }) {
912
- let l = u(() => import("./SavedBlocksPanels-BzMTZxf2.js")), f = e;
913
- a(z, f.cloudTranslations);
914
- let w = o, E = c(null), O = c(null), k = ze({
915
- config: f.config,
916
- translations: f.translations,
917
- fontsManager: f.fontsManager,
918
- emit: w,
919
- getCommentsSidebar: () => E.value ? { filterByBlock: E.value.filterCommentsByBlock } : null,
920
- editorRoot: f.shadowRoot,
921
- containerEl: O
922
- }), { isInitializing: A, isAuthReady: j, initError: N, planConfigInstance: P, 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: J, setThemeOverrides: ne, setUiTheme: Y } = k, { showNotice: re } = M(() => f.config.smallScreenNotice);
923
- async function ie(e) {
924
- try {
925
- await U.sendTestEmail(e), K.testEmailModalOpen.value = !1;
926
- } catch {}
927
- }
917
+ let l = u(() => import("./SavedBlocksPanels-1kVbqdpc.js")), f = u(() => import("./TestEmailPanel-saOfnpjz.js")), w = e;
918
+ a(L, w.cloudTranslations);
919
+ let E = o, O = c(null), k = c(null), A = Ue({
920
+ config: w.config,
921
+ translations: w.translations,
922
+ fontsManager: w.fontsManager,
923
+ emit: E,
924
+ getCommentsSidebar: () => O.value ? { filterByBlock: O.value.filterCommentsByBlock } : null,
925
+ editorRoot: w.shadowRoot,
926
+ containerEl: k
927
+ }), { isInitializing: j, isAuthReady: ee, initError: N, planConfigInstance: P, websocket: F, collaboration: I, isCollaborationEnabled: te, editor: R, core: z, featureFlags: B, mediaLib: ne, exporter: V, testEmail: H, commentsInstance: W, savedBlocks: G, panelState: K, snapshotPreview: q, collabWarning: J, setThemeOverrides: Y, setUiTheme: re } = A, { showNotice: ie } = M(() => w.config.smallScreenNotice);
928
928
  async function ae() {
929
929
  try {
930
930
  await q.confirmRestoreSnapshot();
931
931
  } catch {}
932
932
  }
933
- let X = Ve({
934
- config: f.config,
933
+ let X = Ge({
934
+ config: w.config,
935
935
  editor: R,
936
936
  websocket: F,
937
937
  planConfigInstance: P,
938
938
  snapshotPreview: q,
939
- core: B,
940
- exporter: ee,
941
- featureFlags: V,
942
- isDestroyed: k.isDestroyed
943
- }), Z = He({
944
- issues: B.templateLint ? B.templateLint.issues : c([]),
939
+ core: z,
940
+ exporter: V,
941
+ featureFlags: B,
942
+ isDestroyed: A.isDestroyed
943
+ }), Z = Ke({
944
+ issues: z.templateLint ? z.templateLint.issues : c([]),
945
945
  planConfig: P.config
946
946
  });
947
947
  async function Q() {
948
- await Z.tryRunSave(() => X.saveTemplate().catch((e) => f.config.onError?.(e)));
948
+ await Z.tryRunSave(() => X.saveTemplate().catch((e) => w.config.onError?.(e)));
949
949
  }
950
- return k.onSaveHook.value = Q, t(() => {
951
- k.initialize();
950
+ return A.onSaveHook.value = Q, t(() => {
951
+ A.initialize();
952
952
  }), g(() => {
953
- k.destroy();
953
+ A.destroy();
954
954
  }), r({
955
955
  getContent: () => R.content.value,
956
956
  setContent: (e) => R.setContent(e),
957
- setTheme: Y,
958
- setThemeOverrides: ne,
957
+ setTheme: re,
958
+ setThemeOverrides: Y,
959
959
  create: X.createTemplate,
960
960
  load: X.loadTemplate,
961
961
  save: X.saveTemplate,
962
- sendTestEmail: U.sendTestEmail
962
+ sendTestEmail: (e) => H.send(e)
963
963
  }), (t, r) => (i(), p("div", {
964
964
  ref_key: "rootEl",
965
- ref: O,
965
+ ref: k,
966
966
  class: b(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": h(R).state.darkMode }]),
967
- "data-tpl-theme": h(B).resolvedTheme.value,
968
- style: C(h(B).themeStyles.value),
967
+ "data-tpl-theme": h(z).resolvedTheme.value,
968
+ style: C(h(z).themeStyles.value),
969
969
  onDragover: r[6] ||= _(() => {}, ["prevent"]),
970
970
  onDrop: r[7] ||= _(() => {}, ["prevent"])
971
971
  }, [
972
- D(ge),
972
+ D(le),
973
973
  D(y, {
974
974
  "enter-active-class": "tpl:transition-opacity tpl:duration-200",
975
975
  "enter-from-class": "tpl:opacity-100",
@@ -978,7 +978,7 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
978
978
  "leave-from-class": "tpl:opacity-100",
979
979
  "leave-to-class": "tpl:opacity-0"
980
980
  }, {
981
- default: s(() => [D(vt, { visible: h(A) || h(R).state.isLoading }, null, 8, ["visible"])]),
981
+ default: s(() => [D(St, { visible: h(j) || h(R).state.isLoading }, null, 8, ["visible"])]),
982
982
  _: 1
983
983
  }),
984
984
  D(y, {
@@ -989,10 +989,10 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
989
989
  "leave-from-class": "tpl:opacity-100",
990
990
  "leave-to-class": "tpl:opacity-0"
991
991
  }, {
992
- default: s(() => [D(wt, {
992
+ default: s(() => [D(Ot, {
993
993
  error: h(N),
994
- visible: !!h(N) && !h(A),
995
- onRetry: h(k).initialize
994
+ visible: !!h(N) && !h(j),
995
+ onRetry: h(A).initialize
996
996
  }, null, 8, [
997
997
  "error",
998
998
  "visible",
@@ -1000,19 +1000,19 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1000
1000
  ])]),
1001
1001
  _: 1
1002
1002
  }),
1003
- D(pt, {
1003
+ D(_t, {
1004
1004
  editor: h(R),
1005
- core: h(B),
1006
- "feature-flags": h(V),
1005
+ core: h(z),
1006
+ "feature-flags": h(B),
1007
1007
  "panel-state": h(K),
1008
1008
  "snapshot-preview": h(q),
1009
1009
  "comments-instance": h(W),
1010
- "test-email": h(U),
1010
+ "test-email": h(H),
1011
1011
  websocket: h(F),
1012
1012
  collaboration: h(I),
1013
- "is-collaboration-enabled": h(L),
1014
- "is-saving": h(R).state.isSaving || h(V).isSaveExporting.value,
1015
- "is-save-disabled": h(R).state.isSaving || h(V).isSaveExporting.value || !h(R).state.isDirty,
1013
+ "is-collaboration-enabled": h(te),
1014
+ "is-saving": h(R).state.isSaving || h(B).isSaveExporting.value,
1015
+ "is-save-disabled": h(R).state.isSaving || h(B).isSaveExporting.value || !h(R).state.isDirty,
1016
1016
  onSave: Q
1017
1017
  }, null, 8, [
1018
1018
  "editor",
@@ -1028,7 +1028,7 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1028
1028
  "is-saving",
1029
1029
  "is-save-disabled"
1030
1030
  ]),
1031
- D(Qe, {
1031
+ D(nt, {
1032
1032
  open: h(Z).modalOpen.value,
1033
1033
  issues: h(Z).blockingIssues.value,
1034
1034
  onCancel: h(Z).cancel,
@@ -1039,7 +1039,7 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1039
1039
  "onCancel",
1040
1040
  "onConfirm"
1041
1041
  ]),
1042
- D(Ot, {
1042
+ D(Mt, {
1043
1043
  visible: h(q).isPreviewingSnapshot.value,
1044
1044
  onCancel: h(q).cancelPreview,
1045
1045
  onConfirm: ae
@@ -1052,18 +1052,18 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1052
1052
  "leave-from-class": "tpl:translate-y-0 tpl:opacity-100",
1053
1053
  "leave-to-class": "tpl:translate-y-[-8px] tpl:opacity-0"
1054
1054
  }, {
1055
- default: s(() => [D(At, { visible: h(J).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1055
+ default: s(() => [D(Pt, { visible: h(J).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
1056
1056
  _: 1
1057
1057
  }),
1058
- n(D(le, null, null, 512), [[S, !h(R).state.previewMode]]),
1058
+ n(D(oe, null, null, 512), [[S, !h(R).state.previewMode]]),
1059
1059
  x("div", {
1060
1060
  class: b(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [h(R).state.previewMode ? "tpl:left-0 tpl:right-0" : h(K).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", h(q).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
1061
1061
  style: {
1062
1062
  transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)",
1063
1063
  "background-color": "var(--tpl-canvas-bg)"
1064
1064
  }
1065
- }, [x("div", Mt, [D(y, { name: "tpl-restore-btn" }, {
1066
- default: s(() => [h(B).conditionPreview.hasHiddenBlocks.value ? (i(), p("button", {
1065
+ }, [x("div", It, [D(y, { name: "tpl-restore-btn" }, {
1066
+ default: s(() => [h(z).conditionPreview.hasHiddenBlocks.value ? (i(), p("button", {
1067
1067
  key: 0,
1068
1068
  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",
1069
1069
  style: {
@@ -1072,13 +1072,13 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1072
1072
  "border-color": "var(--tpl-warning)",
1073
1073
  "backdrop-filter": "blur(8px)"
1074
1074
  },
1075
- onClick: r[0] ||= (e) => h(B).conditionPreview.reset()
1076
- }, [D(h(te), {
1075
+ onClick: r[0] ||= (e) => h(z).conditionPreview.reset()
1076
+ }, [D(h(U), {
1077
1077
  size: 13,
1078
1078
  "stroke-width": 2
1079
- }), T(" " + d(h(B).t.blockSettings.restoreHiddenBlocks), 1)])) : m("", !0)]),
1079
+ }), T(" " + d(h(z).t.blockSettings.restoreHiddenBlocks), 1)])) : m("", !0)]),
1080
1080
  _: 1
1081
- })]), x("main", Nt, [D(se, {
1081
+ })]), x("main", Lt, [D(_e, {
1082
1082
  viewport: h(R).state.viewport,
1083
1083
  content: h(R).content.value,
1084
1084
  "selected-block-id": h(R).state.selectedBlockId,
@@ -1097,7 +1097,7 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1097
1097
  "locked-blocks",
1098
1098
  "onSelectBlock"
1099
1099
  ])])], 2),
1100
- e.config.branding !== !1 && !h(V).isWhiteLabeled.value ? (i(), v(pe, {
1100
+ e.config.branding !== !1 && !h(B).isWhiteLabeled.value ? (i(), v(me, {
1101
1101
  key: 0,
1102
1102
  "position-class": [h(R).state.previewMode ? "tpl:left-0 tpl:right-0" : h(K).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
1103
1103
  }, null, 8, ["position-class"])) : m("", !0),
@@ -1106,15 +1106,15 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1106
1106
  role: "status",
1107
1107
  "aria-live": "polite",
1108
1108
  "aria-atomic": "true",
1109
- "aria-label": h(B).t.landmarks.reorderAnnouncements
1110
- }, d(h(B).keyboardReorder.announcement.value), 9, Pt),
1111
- n(D(oe, {
1109
+ "aria-label": h(z).t.landmarks.reorderAnnouncements
1110
+ }, d(h(z).keyboardReorder.announcement.value), 9, Rt),
1111
+ n(D(he, {
1112
1112
  "selected-block": h(R).selectedBlock.value,
1113
1113
  settings: h(R).content.value.settings,
1114
1114
  "shifted-left": h(K).rightPanelOpen.value,
1115
1115
  onUpdateBlock: r[3] ||= (e) => h(R).updateBlock(h(R).selectedBlock.value.id, e),
1116
- onDeleteBlock: r[4] ||= (e) => h(B).blockActions.deleteBlock(h(R).selectedBlock.value.id),
1117
- onDuplicateBlock: r[5] ||= (e) => h(B).blockActions.duplicateBlock(h(R).selectedBlock.value),
1116
+ onDeleteBlock: r[4] ||= (e) => h(z).blockActions.deleteBlock(h(R).selectedBlock.value.id),
1117
+ onDuplicateBlock: r[5] ||= (e) => h(z).blockActions.duplicateBlock(h(R).selectedBlock.value),
1118
1118
  onUpdateSettings: h(R).updateSettings
1119
1119
  }, null, 8, [
1120
1120
  "selected-block",
@@ -1122,42 +1122,43 @@ var Ue = ["aria-label"], We = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
1122
1122
  "shifted-left",
1123
1123
  "onUpdateSettings"
1124
1124
  ]), [[S, !h(R).state.previewMode]]),
1125
- !h(A) && h(j) ? (i(), v(mt, {
1125
+ !h(j) && h(ee) ? (i(), v(vt, {
1126
1126
  key: 1,
1127
1127
  ref_key: "cloudPanelsRef",
1128
- ref: E,
1129
- config: f.config,
1128
+ ref: O,
1129
+ config: w.config,
1130
1130
  editor: h(R),
1131
- core: h(B),
1131
+ core: h(z),
1132
1132
  "panel-state": h(K),
1133
1133
  "plan-config-instance": h(P),
1134
- "test-email": h(U),
1135
- "media-lib": h(H),
1136
- onSendTestEmail: ie
1134
+ "media-lib": h(ne)
1137
1135
  }, null, 8, [
1138
1136
  "config",
1139
1137
  "editor",
1140
1138
  "core",
1141
1139
  "panel-state",
1142
1140
  "plan-config-instance",
1143
- "test-email",
1144
1141
  "media-lib"
1145
1142
  ])) : m("", !0),
1146
1143
  h(G).isAvailable.value ? (i(), v(h(l), {
1147
1144
  key: 2,
1148
1145
  feature: h(G)
1149
1146
  }, null, 8, ["feature"])) : m("", !0),
1147
+ h(H).isAvailable.value ? (i(), v(h(f), {
1148
+ key: 3,
1149
+ feature: h(H)
1150
+ }, null, 8, ["feature"])) : m("", !0),
1150
1151
  x("div", {
1151
- ref: (e) => h(B).popoverRoot.value = e,
1152
+ ref: (e) => h(z).popoverRoot.value = e,
1152
1153
  class: "tpl-popover-root"
1153
1154
  }, null, 512),
1154
- D(ue),
1155
- D(he),
1156
- h(re) ? (i(), v(me, { key: 3 })) : m("", !0)
1157
- ], 46, jt));
1155
+ D(de),
1156
+ D(ge),
1157
+ h(ie) ? (i(), v(fe, { key: 4 })) : m("", !0)
1158
+ ], 46, Ft));
1158
1159
  }
1159
- }), [["__scopeId", "data-v-04940787"]]);
1160
+ }), [["__scopeId", "data-v-d606cf3a"]]);
1160
1161
  //#endregion
1161
- export { Ft as default };
1162
+ export { zt as default };
1162
1163
 
1163
- //# sourceMappingURL=CloudEditor-FCS53UcZ.js.map
1164
+ //# sourceMappingURL=CloudEditor-CeKaWWO5.js.map