@templatical/editor 0.24.0 → 0.25.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 (231) hide show
  1. package/dist/{AiChatSidebar-Nq-jrGaf.js → AiChatSidebar-CIkS8DsO.js} +15 -15
  2. package/dist/{AiFeatureMenu-tg_zMKMK.js → AiFeatureMenu-Cji1LBJJ.js} +7 -7
  3. package/dist/{BlockIssueBadge-Bd94kIiw.js → BlockIssueBadge-BQiT0FML.js} +5 -5
  4. package/dist/{BlockPreviewCanvas-B34aMhHe.js → BlockPreviewCanvas-DAnwZofk.js} +11 -7
  5. package/dist/{CloudEditor-DjN_9Yso.js → CloudEditor-CXaft6Ej.js} +73 -71
  6. package/dist/{CollaboratorBar-Bhazzcg-.js → CollaboratorBar-BR-rL2wG.js} +4 -4
  7. package/dist/{ColorPicker-DXGrcJxJ.js → ColorPicker-B4ArSUhy.js} +7 -9
  8. package/dist/{CommentsSidebar-ku1kt10u.js → CommentsSidebar-Bm5GLDts.js} +16 -16
  9. package/dist/{CountdownBlock-CN9Lc23W.js → CountdownBlock-CIVAQDVu.js} +3 -3
  10. package/dist/{CountdownToolbar-VEsIyKV6.js → CountdownToolbar-DBmb3tlb.js} +4 -4
  11. package/dist/DesignReferenceSidebar-CnyJ8L-j.js +264 -0
  12. package/dist/{IssuesPanel-CEfzOpS_.js → IssuesPanel-D3XgmYCt.js} +8 -8
  13. package/dist/{LoadingTrack-KIcREPlS.js → LoadingTrack-XK_eeUdq.js} +1 -1
  14. package/dist/{MergeTagModeToggle-C3V2xGAg.js → MergeTagModeToggle-BK0fI3P2.js} +6 -6
  15. package/dist/{MergeTagSuggestion-Dn8ww9nV.js → MergeTagSuggestion-D0OHRv7L.js} +8 -12
  16. package/dist/{NumberWithSuffix-BGocZkj9.js → NumberWithSuffix-Cjj9UNIp.js} +2 -2
  17. package/dist/{ParagraphEditor-D-fz0kUb.js → ParagraphEditor-jGnbJEA2.js} +45 -45
  18. package/dist/{RichTextEditorContent-DydrqFts.js → RichTextEditorContent-DaaKdzjb.js} +8 -8
  19. package/dist/{SaveBlockDialog-BDDFbAWF.js → SaveBlockDialog-B3ngEldp.js} +12 -12
  20. package/dist/{SavedBlocksBrowserModal-Djik_fJh.js → SavedBlocksBrowserModal-DawN3XaB.js} +11 -11
  21. package/dist/{SavedBlocksPanels-CxemyPxL.js → SavedBlocksPanels-eDC9Y46N.js} +2 -2
  22. package/dist/{SavedBlocksPickBar-Dlhipmob.js → SavedBlocksPickBar-CQbbXmzj.js} +4 -4
  23. package/dist/{SnapshotHistory-DPbM4ons.js → SnapshotHistory-COxKtHM-.js} +10 -10
  24. package/dist/{TemplateScoringPanel-BFYgweDX.js → TemplateScoringPanel-bUuqOO1z.js} +16 -16
  25. package/dist/{TestEmailModal-IZfwgya-.js → TestEmailModal-CytkbZVQ.js} +89 -58
  26. package/dist/{TestEmailPanel-QEEx_PkN.js → TestEmailPanel-CHUY7VZn.js} +2 -2
  27. package/dist/{TitleEditor-BB4YlIBF.js → TitleEditor-aMR1bOyY.js} +13 -13
  28. package/dist/TplModal-fmYNYdyp.js +49 -0
  29. package/dist/{blockTypeIcons-Wzd7W_2x.js → blockTypeIcons-C6b9rg88.js} +26 -26
  30. package/dist/bundle-stats.json +6 -6
  31. package/dist/{ca-CO4nq6TX.js → ca-8Dvbwo50.js} +5 -0
  32. package/dist/cdn/chunks/{AiChatSidebar-CN-0DIuA.js → AiChatSidebar-bkBKpNgE.js} +9 -9
  33. package/dist/cdn/chunks/{AiChatSidebar-CN-0DIuA.js.map → AiChatSidebar-bkBKpNgE.js.map} +1 -1
  34. package/dist/cdn/chunks/{AiFeatureMenu-B5pV6Iux.js → AiFeatureMenu-CI4SYTq2.js} +6 -6
  35. package/dist/cdn/chunks/{AiFeatureMenu-B5pV6Iux.js.map → AiFeatureMenu-CI4SYTq2.js.map} +1 -1
  36. package/dist/cdn/chunks/{BlockIssueBadge-aanOjeyi.js → BlockIssueBadge-CRnx8Dv9.js} +5 -5
  37. package/dist/cdn/chunks/{BlockIssueBadge-aanOjeyi.js.map → BlockIssueBadge-CRnx8Dv9.js.map} +1 -1
  38. package/dist/cdn/chunks/{BlockPreviewCanvas-Dc4F4HzY.js → BlockPreviewCanvas-CXCWhqbp.js} +13 -9
  39. package/dist/cdn/chunks/BlockPreviewCanvas-CXCWhqbp.js.map +1 -0
  40. package/dist/cdn/chunks/{CloudEditor-CeKaWWO5.js → CloudEditor-D-t7RyDh.js} +67 -65
  41. package/dist/cdn/chunks/CloudEditor-D-t7RyDh.js.map +1 -0
  42. package/dist/cdn/chunks/{CollaboratorBar-CEdKr0A2.js → CollaboratorBar-DcXYo47v.js} +5 -5
  43. package/dist/cdn/chunks/{CollaboratorBar-CEdKr0A2.js.map → CollaboratorBar-DcXYo47v.js.map} +1 -1
  44. package/dist/cdn/chunks/{ColorPicker-BckwEfcN.js → ColorPicker-_1O7YU2z.js} +8 -10
  45. package/dist/cdn/chunks/{ColorPicker-BckwEfcN.js.map → ColorPicker-_1O7YU2z.js.map} +1 -1
  46. package/dist/cdn/chunks/{CommentsSidebar-6PfpJKh-.js → CommentsSidebar-BEgLBYX-.js} +7 -7
  47. package/dist/cdn/chunks/{CommentsSidebar-6PfpJKh-.js.map → CommentsSidebar-BEgLBYX-.js.map} +1 -1
  48. package/dist/cdn/chunks/{CountdownBlock-CoBmvQKv.js → CountdownBlock-CPnQA44g.js} +4 -4
  49. package/dist/cdn/chunks/{CountdownBlock-CoBmvQKv.js.map → CountdownBlock-CPnQA44g.js.map} +1 -1
  50. package/dist/cdn/chunks/{CountdownToolbar-CdV8RTQu.js → CountdownToolbar-Cdo-30U4.js} +5 -5
  51. package/dist/cdn/chunks/{CountdownToolbar-CdV8RTQu.js.map → CountdownToolbar-Cdo-30U4.js.map} +1 -1
  52. package/dist/cdn/chunks/DesignReferenceSidebar-DPqBr-ut.js +223 -0
  53. package/dist/cdn/chunks/{DesignReferenceSidebar-BjlaP69l.js.map → DesignReferenceSidebar-DPqBr-ut.js.map} +1 -1
  54. package/dist/cdn/chunks/{IssuesPanel-CkkEnhxZ.js → IssuesPanel-DoQWb23r.js} +5 -5
  55. package/dist/cdn/chunks/{IssuesPanel-CkkEnhxZ.js.map → IssuesPanel-DoQWb23r.js.map} +1 -1
  56. package/dist/cdn/chunks/{LoadingTrack-D-CW2tUa.js → LoadingTrack-G2tuXqCJ.js} +2 -2
  57. package/dist/cdn/chunks/{LoadingTrack-D-CW2tUa.js.map → LoadingTrack-G2tuXqCJ.js.map} +1 -1
  58. package/dist/cdn/chunks/{MergeTagModeToggle-DmtR300G.js → MergeTagModeToggle-CWuVC3MU.js} +6 -6
  59. package/dist/cdn/chunks/{MergeTagModeToggle-DmtR300G.js.map → MergeTagModeToggle-CWuVC3MU.js.map} +1 -1
  60. package/dist/cdn/chunks/{MergeTagSuggestion-Cvlkw_PM.js → MergeTagSuggestion-Ces5Ua78.js} +3 -3
  61. package/dist/cdn/chunks/{MergeTagSuggestion-Cvlkw_PM.js.map → MergeTagSuggestion-Ces5Ua78.js.map} +1 -1
  62. package/dist/cdn/chunks/{NumberWithSuffix-BOcMN26z.js → NumberWithSuffix-DQ4sgvt5.js} +3 -3
  63. package/dist/cdn/chunks/{NumberWithSuffix-BOcMN26z.js.map → NumberWithSuffix-DQ4sgvt5.js.map} +1 -1
  64. package/dist/cdn/chunks/{ParagraphEditor-CX1yks4N.js → ParagraphEditor-Uv5LPF3W.js} +131 -131
  65. package/dist/cdn/chunks/{ParagraphEditor-CX1yks4N.js.map → ParagraphEditor-Uv5LPF3W.js.map} +1 -1
  66. package/dist/cdn/chunks/{RichTextEditorContent-z9s7qxs3.js → RichTextEditorContent-Bt3s09qY.js} +7 -7
  67. package/dist/cdn/chunks/{RichTextEditorContent-z9s7qxs3.js.map → RichTextEditorContent-Bt3s09qY.js.map} +1 -1
  68. package/dist/cdn/chunks/{SaveBlockDialog-D2CtW4lC.js → SaveBlockDialog-BAew6EFd.js} +10 -10
  69. package/dist/cdn/chunks/{SaveBlockDialog-D2CtW4lC.js.map → SaveBlockDialog-BAew6EFd.js.map} +1 -1
  70. package/dist/cdn/chunks/{SavedBlocksBrowserModal-DdUKJzzF.js → SavedBlocksBrowserModal-Dn4IJDJW.js} +9 -9
  71. package/dist/cdn/chunks/{SavedBlocksBrowserModal-DdUKJzzF.js.map → SavedBlocksBrowserModal-Dn4IJDJW.js.map} +1 -1
  72. package/dist/cdn/chunks/{SavedBlocksPanels-1kVbqdpc.js → SavedBlocksPanels-B62U5DYW.js} +3 -3
  73. package/dist/cdn/chunks/{SavedBlocksPanels-1kVbqdpc.js.map → SavedBlocksPanels-B62U5DYW.js.map} +1 -1
  74. package/dist/cdn/chunks/{SavedBlocksPickBar--noDJIyN.js → SavedBlocksPickBar-CyRKZg2T.js} +5 -5
  75. package/dist/cdn/chunks/{SavedBlocksPickBar--noDJIyN.js.map → SavedBlocksPickBar-CyRKZg2T.js.map} +1 -1
  76. package/dist/cdn/chunks/{SnapshotHistory-DFuNJRc9.js → SnapshotHistory-QQt0DKey.js} +7 -7
  77. package/dist/cdn/chunks/{SnapshotHistory-DFuNJRc9.js.map → SnapshotHistory-QQt0DKey.js.map} +1 -1
  78. package/dist/cdn/chunks/{TemplateScoringPanel-DG1dAjQk.js → TemplateScoringPanel-BwyCMcit.js} +67 -67
  79. package/dist/cdn/chunks/{TemplateScoringPanel-DG1dAjQk.js.map → TemplateScoringPanel-BwyCMcit.js.map} +1 -1
  80. package/dist/cdn/chunks/{TestEmailModal-CiPfOn2v.js → TestEmailModal-B5UQkDJp.js} +89 -58
  81. package/dist/cdn/chunks/TestEmailModal-B5UQkDJp.js.map +1 -0
  82. package/dist/cdn/chunks/{TestEmailPanel-saOfnpjz.js → TestEmailPanel-CvuBq4RA.js} +3 -3
  83. package/dist/cdn/chunks/{TestEmailPanel-saOfnpjz.js.map → TestEmailPanel-CvuBq4RA.js.map} +1 -1
  84. package/dist/cdn/chunks/{TitleEditor-08KM_VzZ.js → TitleEditor-B9W954u9.js} +13 -13
  85. package/dist/cdn/chunks/{TitleEditor-08KM_VzZ.js.map → TitleEditor-B9W954u9.js.map} +1 -1
  86. package/dist/cdn/chunks/TplModal-B8UsvWc8.js +50 -0
  87. package/dist/cdn/chunks/TplModal-B8UsvWc8.js.map +1 -0
  88. package/dist/cdn/chunks/{blockTypeIcons-DvohkXqi.js → blockTypeIcons-B8s3_ahs.js} +2 -2
  89. package/dist/cdn/chunks/{blockTypeIcons-DvohkXqi.js.map → blockTypeIcons-B8s3_ahs.js.map} +1 -1
  90. package/dist/cdn/chunks/{ca-CO4nq6TX.js → ca-8Dvbwo50.js} +6 -1
  91. package/dist/cdn/chunks/{ca-CO4nq6TX.js.map → ca-8Dvbwo50.js.map} +1 -1
  92. package/dist/cdn/chunks/{cloud-C2I0P9qj.js → cloud-DOaGUdR0.js} +13 -17
  93. package/dist/cdn/chunks/{cloud-C2I0P9qj.js.map → cloud-DOaGUdR0.js.map} +1 -1
  94. package/dist/{de-CUeaFJph.js → cdn/chunks/de-CieSMCUp.js} +7 -0
  95. package/dist/cdn/chunks/{de-CUeaFJph.js.map → de-CieSMCUp.js.map} +1 -1
  96. package/dist/cdn/chunks/{dist-CxTt8FRE.js → dist-B8AX9np4.js} +16 -12
  97. package/dist/cdn/chunks/dist-B8AX9np4.js.map +1 -0
  98. package/dist/cdn/chunks/{dist-CiBEt0VR.js → dist-lZgXNk4G.js} +36 -20
  99. package/dist/cdn/chunks/dist-lZgXNk4G.js.map +1 -0
  100. package/dist/cdn/chunks/{draggable-D840DIZB.js → draggable-JcMTNF3U.js} +14 -15
  101. package/dist/cdn/chunks/{draggable-D840DIZB.js.map → draggable-JcMTNF3U.js.map} +1 -1
  102. package/dist/{en-zCYIPAL5.js → cdn/chunks/en-D0t_2Fq_.js} +7 -0
  103. package/dist/cdn/chunks/{en-zCYIPAL5.js.map → en-D0t_2Fq_.js.map} +1 -1
  104. package/dist/cdn/chunks/{es-BSiH7YkP.js → es-DwDoNuLM.js} +6 -1
  105. package/dist/cdn/chunks/{es-BSiH7YkP.js.map → es-DwDoNuLM.js.map} +1 -1
  106. package/dist/cdn/chunks/{extensions-DBWF_lxx.js → extensions-5jgtarD-.js} +30 -26
  107. package/dist/cdn/chunks/{extensions-DBWF_lxx.js.map → extensions-5jgtarD-.js.map} +1 -1
  108. package/dist/{fr-DTVJ3det.js → cdn/chunks/fr-CSEEzv1_.js} +7 -0
  109. package/dist/cdn/chunks/{fr-DTVJ3det.js.map → fr-CSEEzv1_.js.map} +1 -1
  110. package/dist/cdn/chunks/{htmlparser-CZa2V5cF.js → htmlparser-CPhs2cYE.js} +3 -5
  111. package/dist/cdn/chunks/{htmlparser-CZa2V5cF.js.map → htmlparser-CPhs2cYE.js.map} +1 -1
  112. package/dist/cdn/chunks/{icons-Cqxvwgz7.js → icons-Cp4ZIJw-.js} +31 -31
  113. package/dist/cdn/chunks/{icons-Cqxvwgz7.js.map → icons-Cp4ZIJw-.js.map} +1 -1
  114. package/dist/cdn/chunks/keys-BxPCfHBH.js +12 -0
  115. package/dist/cdn/chunks/keys-BxPCfHBH.js.map +1 -0
  116. package/dist/cdn/chunks/{liquid.browser-BJOEu6Cg.js → liquid.browser-CZaQe87t.js} +756 -718
  117. package/dist/cdn/chunks/liquid.browser-CZaQe87t.js.map +1 -0
  118. package/dist/cdn/chunks/{nl-BqSquFS3.js → nl-xyk1T2mA.js} +6 -1
  119. package/dist/cdn/chunks/{nl-BqSquFS3.js.map → nl-xyk1T2mA.js.map} +1 -1
  120. package/dist/{pt-BR-CMljK37h.js → cdn/chunks/pt-BR-yr6uOJgn.js} +7 -0
  121. package/dist/cdn/chunks/{pt-BR-CMljK37h.js.map → pt-BR-yr6uOJgn.js.map} +1 -1
  122. package/dist/cdn/chunks/{pusher-R0v5p99W.js → pusher-kUlkqMvR.js} +21 -28
  123. package/dist/cdn/chunks/{pusher-R0v5p99W.js.map → pusher-kUlkqMvR.js.map} +1 -1
  124. package/dist/cdn/chunks/{rolldown-runtime-Dqa2HsxW.js → rolldown-runtime-B0aSnxlc.js} +2 -2
  125. package/dist/cdn/chunks/{src-YVsPFLNJ.js → src-B8W42vT-.js} +153 -153
  126. package/dist/cdn/chunks/{src-YVsPFLNJ.js.map → src-B8W42vT-.js.map} +1 -1
  127. package/dist/cdn/chunks/{src-C45kfA2t.js → src-C417zeUg.js} +22 -26
  128. package/dist/cdn/chunks/{src-C45kfA2t.js.map → src-C417zeUg.js.map} +1 -1
  129. package/dist/cdn/chunks/{src-BCJna-6p.js → src-CZjSXPYq.js} +9 -4
  130. package/dist/cdn/chunks/src-CZjSXPYq.js.map +1 -0
  131. package/dist/cdn/chunks/{src-XQmI_Xs1.js → src-Dpj0x27M.js} +523 -787
  132. package/dist/cdn/chunks/{src-XQmI_Xs1.js.map → src-Dpj0x27M.js.map} +1 -1
  133. package/dist/cdn/chunks/{styles-BohMfIBd.js → styles-DANwMzW2.js} +770 -751
  134. package/dist/cdn/chunks/styles-DANwMzW2.js.map +1 -0
  135. package/dist/cdn/chunks/timeouts-SsLMC4a3.js +6 -0
  136. package/dist/cdn/chunks/{timeouts-Bmi_yePw.js.map → timeouts-SsLMC4a3.js.map} +1 -1
  137. package/dist/cdn/chunks/{tiptap-DRKu__AX.js → tiptap-rsib432n.js} +132 -119
  138. package/dist/cdn/chunks/tiptap-rsib432n.js.map +1 -0
  139. package/dist/cdn/chunks/{useAliveFlag-aanU8uqB.js → useAliveFlag-CseYNikC.js} +2 -2
  140. package/dist/cdn/chunks/{useAliveFlag-aanU8uqB.js.map → useAliveFlag-CseYNikC.js.map} +1 -1
  141. package/dist/cdn/chunks/{useCloudI18n-Bem8DUjH.js → useCloudI18n-CjVzv11v.js} +3 -3
  142. package/dist/cdn/chunks/{useCloudI18n-Bem8DUjH.js.map → useCloudI18n-CjVzv11v.js.map} +1 -1
  143. package/dist/cdn/chunks/{useEditorCore-B_vwuKdI.js → useEditorCore-DfW-thCr.js} +484 -411
  144. package/dist/cdn/chunks/useEditorCore-DfW-thCr.js.map +1 -0
  145. package/dist/cdn/chunks/{useI18n-graz19nI.js → useI18n-DniEFeIl.js} +3 -3
  146. package/dist/cdn/chunks/{useI18n-graz19nI.js.map → useI18n-DniEFeIl.js.map} +1 -1
  147. package/dist/cdn/chunks/{useMergeTag-rTzAFMlr.js → useMergeTag-Bk9_f5cc.js} +7 -7
  148. package/dist/cdn/chunks/{useMergeTag-rTzAFMlr.js.map → useMergeTag-Bk9_f5cc.js.map} +1 -1
  149. package/dist/cdn/chunks/{usePopoverPosition-BaFxLP3w.js → usePopoverPosition-C4xFJCJ2.js} +3 -3
  150. package/dist/cdn/chunks/{usePopoverPosition-BaFxLP3w.js.map → usePopoverPosition-C4xFJCJ2.js.map} +1 -1
  151. package/dist/cdn/editor.css +1 -1
  152. package/dist/cdn/editor.js +24 -22
  153. package/dist/cdn/editor.js.map +1 -1
  154. package/dist/{check-BpQDKiPz.js → check-CIhIDh4h.js} +1 -1
  155. package/dist/{chevron-down-j8GrdTyz.js → chevron-down-CZ0m6G3s.js} +1 -1
  156. package/dist/{chevron-up-BACyVhyC.js → chevron-up-BH_tJLeb.js} +1 -1
  157. package/dist/{circle-alert-CgtE46ND.js → circle-alert-DkEXnGPV.js} +1 -1
  158. package/dist/{clock-BzKLLW5L.js → clock-BDIJZUET.js} +1 -1
  159. package/dist/{cloud-DsUct4Zq.js → cloud-BZn3jqoL.js} +10 -14
  160. package/dist/{createLucideIcon-JWHwTI6N.js → createLucideIcon-AEltGIse.js} +3 -3
  161. package/dist/{cdn/chunks/de-CUeaFJph.js → de-CieSMCUp.js} +5 -2
  162. package/dist/{dist-BAkGuPYm.js → dist-B6Px6GPj.js} +1 -1
  163. package/dist/{dist-9uhI32Q4.js → dist-BxbTVeY0.js} +1 -1
  164. package/dist/{dist-DWu9QWFl.js → dist-CIqhVQ1O.js} +5 -5
  165. package/dist/{dist-DPHqs0Yh.js → dist-CQ0fVBQ3.js} +8 -3
  166. package/dist/{dist-CkCVlKj_.js → dist-CRH880TV.js} +1 -1
  167. package/dist/{dist-ByJVlKWy.js → dist-CcQFPJMF.js} +116 -100
  168. package/dist/{dist-JXOq1hib.js → dist-CkPvZCld.js} +1 -1
  169. package/dist/{dist-IGetXrbO.js → dist-DSIgxp0v.js} +1 -1
  170. package/dist/{dist-DYv_Pttj.js → dist-DT1XnEnj.js} +33 -17
  171. package/dist/{dist-C_kAE1sC.js → dist-DX4x6mQ1.js} +3 -3
  172. package/dist/{dist-DFO896yT.js → dist-Dx71pluS.js} +16 -11
  173. package/dist/{dist-CQiAZlTt.js → dist-DyCHUyRR.js} +1 -1
  174. package/dist/{dist-BIYm-U9x.js → dist-iCEDH3cC.js} +1 -1
  175. package/dist/{dist-C5tigvDF.js → dist-nR6mxyqI.js} +1 -1
  176. package/dist/{cdn/chunks/en-zCYIPAL5.js → en-D0t_2Fq_.js} +5 -2
  177. package/dist/{es-BSiH7YkP.js → es-DwDoNuLM.js} +5 -0
  178. package/dist/{extensions-C0DXnYdA.js → extensions-BjvyU9Ea.js} +16 -12
  179. package/dist/{cdn/chunks/fr-DTVJ3det.js → fr-CSEEzv1_.js} +5 -2
  180. package/dist/{image-up-CQdtq8ge.js → image-up-8ktdYdaZ.js} +1 -1
  181. package/dist/index.d.ts +26 -0
  182. package/dist/{info-BUJBXoE6.js → info-CvrCgTLH.js} +1 -1
  183. package/dist/keys-BFPiNAIn.js +10 -0
  184. package/dist/{liquid.browser-DZLtv26k.js → liquid.browser-BECWFL5Z.js} +755 -717
  185. package/dist/{list-checks-BGHaCSD5.js → list-checks-yzGT93ZL.js} +1 -1
  186. package/dist/{loader-circle-C-Z6kgI6.js → loader-circle-B6euendB.js} +1 -1
  187. package/dist/{message-circle-CEm5qckV.js → message-circle-BMldLVcA.js} +1 -1
  188. package/dist/{nl-BqSquFS3.js → nl-xyk1T2mA.js} +5 -0
  189. package/dist/{pencil-DdwmkKLb.js → pencil-CkKkSd6N.js} +1 -1
  190. package/dist/{cdn/chunks/pt-BR-CMljK37h.js → pt-BR-yr6uOJgn.js} +5 -2
  191. package/dist/{refresh-cw-maKlg0dl.js → refresh-cw-fBPgB97G.js} +1 -1
  192. package/dist/{runtime-dom.esm-bundler-GdMI8WqG.js → runtime-dom.esm-bundler-CBbDt7sw.js} +2 -2
  193. package/dist/{scan-line-BFgesTOY.js → scan-line-CRoEOUiK.js} +1 -1
  194. package/dist/{send-B70aQDrA.js → send-B9Tt2qBi.js} +1 -1
  195. package/dist/{shield-check-B7x5OKt5.js → shield-check-QfZkYeIo.js} +1 -1
  196. package/dist/{sparkles-DVlm1Ipp.js → sparkles-8UeMmZb8.js} +1 -1
  197. package/dist/style.css +1 -1
  198. package/dist/{styles-BTTD0Je4.js → styles-C9GM-bBC.js} +913 -894
  199. package/dist/templatical-editor.js +96 -94
  200. package/dist/{text-align-start-Vay3Kvo2.js → text-align-start-Dn8uIheW.js} +1 -1
  201. package/dist/{trash-2-DE8CmxAG.js → trash-2-DDyvqj0E.js} +1 -1
  202. package/dist/{triangle-alert-Djg6IG8N.js → triangle-alert-B3PydLzl.js} +1 -1
  203. package/dist/{upload-BwwE0U6G.js → upload-hE8ItfyG.js} +2 -2
  204. package/dist/{useAliveFlag-C43EhZFY.js → useAliveFlag-AfoTE_AY.js} +1 -1
  205. package/dist/{useCloudI18n-DGr3b2SX.js → useCloudI18n-B2lItQ6O.js} +2 -2
  206. package/dist/{useEditorCore-DOrGex_t.js → useEditorCore-Ck_hBiGA.js} +986 -915
  207. package/dist/{useI18n-BhAejA-x.js → useI18n-C1KcdX_K.js} +2 -2
  208. package/dist/{useMergeTag-Ce95YIOO.js → useMergeTag-DHCwRMfH.js} +4 -4
  209. package/dist/{usePopoverPosition-vjKJaqJf.js → usePopoverPosition-ClnEh_Cp.js} +13 -13
  210. package/dist/{vue.runtime.esm-bundler-B0xoGkDv.js → vue.runtime.esm-bundler-Xpz-L9Fn.js} +27 -22
  211. package/dist/{x-CkD6A1iB.js → x-C4lETLDx.js} +1 -1
  212. package/package.json +12 -12
  213. package/dist/DesignReferenceSidebar-C4pTMzQE.js +0 -264
  214. package/dist/TplModal-DPH4vV8M.js +0 -49
  215. package/dist/cdn/chunks/BlockPreviewCanvas-Dc4F4HzY.js.map +0 -1
  216. package/dist/cdn/chunks/CloudEditor-CeKaWWO5.js.map +0 -1
  217. package/dist/cdn/chunks/DesignReferenceSidebar-BjlaP69l.js +0 -223
  218. package/dist/cdn/chunks/TestEmailModal-CiPfOn2v.js.map +0 -1
  219. package/dist/cdn/chunks/TplModal-Cu4tBBnF.js +0 -50
  220. package/dist/cdn/chunks/TplModal-Cu4tBBnF.js.map +0 -1
  221. package/dist/cdn/chunks/dist-CiBEt0VR.js.map +0 -1
  222. package/dist/cdn/chunks/dist-CxTt8FRE.js.map +0 -1
  223. package/dist/cdn/chunks/keys-B5uoP9P7.js +0 -12
  224. package/dist/cdn/chunks/keys-B5uoP9P7.js.map +0 -1
  225. package/dist/cdn/chunks/liquid.browser-BJOEu6Cg.js.map +0 -1
  226. package/dist/cdn/chunks/src-BCJna-6p.js.map +0 -1
  227. package/dist/cdn/chunks/styles-BohMfIBd.js.map +0 -1
  228. package/dist/cdn/chunks/timeouts-Bmi_yePw.js +0 -6
  229. package/dist/cdn/chunks/tiptap-DRKu__AX.js.map +0 -1
  230. package/dist/cdn/chunks/useEditorCore-B_vwuKdI.js.map +0 -1
  231. package/dist/keys-BVlG5Ozc.js +0 -10
@@ -1,7 +1,7 @@
1
- import { O as e, Ot as t, _ as n, c as r, d as i, h as a, m as o, nt as s } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { R as c } from "./useEditorCore-DOrGex_t.js";
3
- import { t as l } from "./useI18n-BhAejA-x.js";
4
- import { t as u } from "./x-CkD6A1iB.js";
1
+ import { O as e, Ot as t, _ as n, c as r, d as i, h as a, m as o, nt as s } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { R as c } from "./useEditorCore-Ck_hBiGA.js";
3
+ import { t as l } from "./useI18n-C1KcdX_K.js";
4
+ import { t as u } from "./x-C4lETLDx.js";
5
5
  //#region src/components/SavedBlocksPickBar.vue?vue&type=script&setup=true&lang.ts
6
6
  var d = {
7
7
  "data-testid": "saved-blocks-pick-bar",
@@ -1,13 +1,13 @@
1
- import { A as e, Et as t, I as n, O as r, Ot as i, R as a, Y as o, _ as s, c, d as l, h as u, nt as d, r as f, s as p, u as m } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { c as h, t as g } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
- import "./useEditorCore-DOrGex_t.js";
4
- import { s as _ } from "./usePopoverPosition-vjKJaqJf.js";
5
- import { t as v } from "./useI18n-BhAejA-x.js";
6
- import { t as y } from "./createLucideIcon-JWHwTI6N.js";
7
- import { t as b } from "./chevron-down-j8GrdTyz.js";
8
- import { t as x } from "./clock-BzKLLW5L.js";
9
- import { t as S } from "./loader-circle-C-Z6kgI6.js";
10
- import { n as C } from "./useCloudI18n-DGr3b2SX.js";
1
+ import { A as e, Et as t, I as n, O as r, Ot as i, R as a, Y as o, _ as s, c, d as l, h as u, nt as d, r as f, s as p, u as m } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { c as h, t as g } from "./runtime-dom.esm-bundler-CBbDt7sw.js";
3
+ import "./useEditorCore-Ck_hBiGA.js";
4
+ import { s as _ } from "./usePopoverPosition-ClnEh_Cp.js";
5
+ import { t as v } from "./useI18n-C1KcdX_K.js";
6
+ import { t as y } from "./createLucideIcon-AEltGIse.js";
7
+ import { t as b } from "./chevron-down-CZ0m6G3s.js";
8
+ import { t as x } from "./clock-BDIJZUET.js";
9
+ import { t as S } from "./loader-circle-B6euendB.js";
10
+ import { n as C } from "./useCloudI18n-B2lItQ6O.js";
11
11
  import { t as w } from "./formatRelativeTime-CtUU-QZ8.js";
12
12
  var T = y("chevron-left", [["path", {
13
13
  d: "m15 18-6-6 6-6",
@@ -1,19 +1,19 @@
1
- import { A as e, Dt as t, Et as n, I as r, N as i, O as a, Ot as o, R as ee, Y as s, _ as c, c as l, d as u, h as d, l as f, m as p, nt as m, r as h, u as g, x as te } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { t as ne } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
- import { H as _, I as re, T as ie, h as v } from "./keys-BVlG5Ozc.js";
4
- import { t as y } from "./createLucideIcon-JWHwTI6N.js";
5
- import { t as b } from "./chevron-down-j8GrdTyz.js";
6
- import { t as x } from "./circle-alert-CgtE46ND.js";
7
- import { n as S, t as C } from "./refresh-cw-maKlg0dl.js";
8
- import { t as ae } from "./info-BUJBXoE6.js";
9
- import { t as w } from "./loader-circle-C-Z6kgI6.js";
10
- import { t as T } from "./shield-check-B7x5OKt5.js";
11
- import { t as E } from "./sparkles-DVlm1Ipp.js";
12
- import { t as oe } from "./triangle-alert-Djg6IG8N.js";
13
- import { t as se } from "./x-CkD6A1iB.js";
14
- import { t as ce } from "./LoadingTrack-KIcREPlS.js";
1
+ import { A as e, Dt as t, Et as n, I as r, N as i, O as a, Ot as o, R as ee, Y as s, _ as c, c as l, d as u, h as d, l as f, m as p, nt as m, r as h, u as g, x as te } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { t as ne } from "./runtime-dom.esm-bundler-CBbDt7sw.js";
3
+ import { E as re, G as _, g as ie, z as v } from "./keys-BFPiNAIn.js";
4
+ import { t as y } from "./createLucideIcon-AEltGIse.js";
5
+ import { t as b } from "./chevron-down-CZ0m6G3s.js";
6
+ import { t as x } from "./circle-alert-DkEXnGPV.js";
7
+ import { n as S, t as C } from "./refresh-cw-fBPgB97G.js";
8
+ import { t as ae } from "./info-CvrCgTLH.js";
9
+ import { t as w } from "./loader-circle-B6euendB.js";
10
+ import { t as T } from "./shield-check-QfZkYeIo.js";
11
+ import { t as E } from "./sparkles-8UeMmZb8.js";
12
+ import { t as oe } from "./triangle-alert-B3PydLzl.js";
13
+ import { t as se } from "./x-C4lETLDx.js";
14
+ import { t as ce } from "./LoadingTrack-XK_eeUdq.js";
15
15
  import { t as D } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
- import { n as le } from "./useCloudI18n-DGr3b2SX.js";
16
+ import { n as le } from "./useCloudI18n-B2lItQ6O.js";
17
17
  var O = y("shield-x", [
18
18
  ["path", {
19
19
  d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
@@ -91,7 +91,7 @@ var P = {
91
91
  props: { visible: { type: Boolean } },
92
92
  emits: ["close"],
93
93
  setup(c, { emit: y }) {
94
- let D = c, G = y, { t: K } = le(), q = _(v, "TemplateScoringPanel"), J = _(re, "TemplateScoringPanel"), Y = te(ie, []), X = s({
94
+ let D = c, G = y, { t: K } = le(), q = _(ie, "TemplateScoringPanel"), J = _(v, "TemplateScoringPanel"), Y = te(re, []), X = s({
95
95
  spam: !0,
96
96
  readability: !0,
97
97
  accessibility: !0,
@@ -1,28 +1,29 @@
1
- import { A as e, Et as t, I as n, O as r, Ot as i, R as a, Y as o, _ as s, c, d as l, h as u, l as ee, m as d, nt as f, r as te, s as p, u as m, x as h, z as g } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { a as ne, i as re } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
- import { j as ie } from "./dist-DPHqs0Yh.js";
4
- import { O as ae, T as oe, h as se } from "./keys-BVlG5Ozc.js";
5
- import { t as ce } from "./useI18n-BhAejA-x.js";
6
- import { t as le } from "./check-BpQDKiPz.js";
7
- import { t as ue } from "./loader-circle-C-Z6kgI6.js";
8
- import { n as de, t as fe } from "./MergeTagModeToggle-C3V2xGAg.js";
9
- import { t as pe } from "./TplModal-DPH4vV8M.js";
10
- import { t as me } from "./BlockPreviewCanvas-B34aMhHe.js";
1
+ import { A as e, Et as t, I as n, O as r, Ot as i, R as a, Y as o, _ as s, c, d as l, h as u, l as d, m as f, nt as p, r as m, s as h, u as g, x as _, z as v } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { a as ee, i as te } from "./runtime-dom.esm-bundler-CBbDt7sw.js";
3
+ import { j as ne } from "./dist-CQ0fVBQ3.js";
4
+ import { W as re } from "./useEditorCore-Ck_hBiGA.js";
5
+ import { E as ie, L as ae, g as oe, k as se } from "./keys-BFPiNAIn.js";
6
+ import { t as ce } from "./useI18n-C1KcdX_K.js";
7
+ import { t as le } from "./check-CIhIDh4h.js";
8
+ import { t as ue } from "./loader-circle-B6euendB.js";
9
+ import { n as de, t as fe } from "./MergeTagModeToggle-BK0fI3P2.js";
10
+ import { t as pe } from "./TplModal-fmYNYdyp.js";
11
+ import { t as me } from "./BlockPreviewCanvas-DAnwZofk.js";
11
12
  //#region src/utils/validateEmailShape.ts
12
- var _ = /[,;<>()[\]\\"'`|/?#@!$%^&*+=~{}]/;
13
- function v(e) {
13
+ var y = /[,;<>()[\]\\"'`|/?#@!$%^&*+=~{}]/;
14
+ function he(e) {
14
15
  let t = e.trim();
15
16
  if (t.length === 0 || /\s/.test(t)) return !1;
16
17
  let n = t.split("@");
17
18
  if (n.length !== 2) return !1;
18
19
  let [r, i] = n;
19
- if (r.length === 0 || _.test(i)) return !1;
20
+ if (r.length === 0 || y.test(i)) return !1;
20
21
  let a = i.indexOf(".");
21
22
  return a > 0 && a < i.length - 1;
22
23
  }
23
24
  //#endregion
24
25
  //#region src/components/TestEmailModal.vue?vue&type=script&setup=true&lang.ts
25
- var y = ["aria-busy"], b = {
26
+ var ge = ["aria-busy"], b = {
26
27
  id: "tpl-test-email-title",
27
28
  class: "tpl:mb-4 tpl:shrink-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
28
29
  }, x = { class: "tpl:mb-3 tpl:shrink-0" }, S = {
@@ -39,19 +40,30 @@ var y = ["aria-busy"], b = {
39
40
  "data-testid": "test-email-preview",
40
41
  class: "tpl:mb-3 tpl:min-h-0 tpl:flex-1 tpl:overflow-y-auto tpl:rounded-[var(--tpl-radius-sm)] tpl:p-3 tpl:bg-[var(--tpl-canvas-bg)]"
41
42
  }, P = {
43
+ key: 0,
44
+ role: "status",
45
+ "aria-busy": "true",
46
+ "data-testid": "preview-resolution-loading",
47
+ class: "tpl:flex tpl:flex-col tpl:gap-3"
48
+ }, F = { class: "tpl:sr-only" }, I = {
49
+ key: 1,
50
+ role: "status",
51
+ "data-testid": "preview-resolution-failed",
52
+ class: "tpl:mb-2 tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg-hover)]"
53
+ }, L = {
42
54
  key: 0,
43
55
  role: "status",
44
56
  "data-testid": "test-email-success",
45
57
  class: "tpl:mb-3 tpl:flex tpl:shrink-0 tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success,var(--tpl-primary))]"
46
- }, F = {
58
+ }, _e = {
47
59
  key: 1,
48
60
  role: "alert",
49
61
  "data-testid": "test-email-error",
50
62
  class: "tpl:mb-3 tpl:shrink-0 tpl:text-xs tpl:text-[var(--tpl-danger)]"
51
- }, I = { class: "tpl:flex tpl:shrink-0 tpl:justify-end tpl:gap-2" }, L = ["disabled"], he = ["disabled"], R = {
63
+ }, ve = { class: "tpl:flex tpl:shrink-0 tpl:justify-end tpl:gap-2" }, ye = ["disabled"], be = ["disabled"], xe = {
52
64
  key: 0,
53
65
  class: "tpl:flex tpl:items-center tpl:gap-1.5"
54
- }, ge = { key: 1 }, z = /* @__PURE__ */ s({
66
+ }, Se = { key: 1 }, R = /* @__PURE__ */ s({
55
67
  __name: "TestEmailModal",
56
68
  props: {
57
69
  visible: { type: Boolean },
@@ -62,30 +74,38 @@ var y = ["aria-busy"], b = {
62
74
  error: {}
63
75
  },
64
76
  emits: ["send", "close"],
65
- setup(s, { emit: _ }) {
66
- let z = s, B = _, { t: V } = ce(), _e = h(se, null), H = o(""), U = o("desktop"), W = h(ae, null), G = o(ie(h(oe, []))), K = p({
67
- get: () => W?.value ?? G.value,
77
+ setup(s, { emit: y }) {
78
+ let R = s, z = y, { t: B } = ce(), Ce = _(oe, null), V = o(""), H = o("desktop"), we = _(ae, void 0), U = re({
79
+ resolvePreview: we ?? void 0,
80
+ getContent: () => Ce?.content.value ?? {
81
+ blocks: [],
82
+ settings: {}
83
+ },
84
+ isActive: () => R.visible,
85
+ getRecipient: () => V.value || void 0
86
+ }), W = _(se, null), G = o(ne(_(ie, []))), K = h({
87
+ get: () => U.isConfigured ? !1 : W?.value ?? G.value,
68
88
  set: (e) => {
69
89
  W ? W.value = e : G.value = e;
70
90
  }
71
- }), ve = p(() => _e?.content.value.blocks ?? []), q = p(() => z.allowedRecipients !== void 0 && z.allowedRecipients.length > 0), ye = p(() => z.allowedRecipients?.length === 1);
72
- n(() => z.visible, (e) => {
73
- e && (H.value = z.defaultRecipient ?? z.allowedRecipients?.[0] ?? "");
91
+ }), Te = h(() => U.content.value.blocks ?? []), q = h(() => R.allowedRecipients !== void 0 && R.allowedRecipients.length > 0), Ee = h(() => R.allowedRecipients?.length === 1);
92
+ n(() => R.visible, (e) => {
93
+ e && (V.value = R.defaultRecipient ?? R.allowedRecipients?.[0] ?? "");
74
94
  }, { immediate: !0 });
75
- let J = p(() => q.value ? H.value.length > 0 : v(H.value)), Y = p(() => J.value && !z.isSending && !z.justSent), X = p(() => !q.value && H.value.trim().length > 0 && !J.value), Z = p(() => z.error ? z.error.kind === "provider" ? z.error.message : V.testEmail.recipientNotAllowed : null);
95
+ let J = h(() => q.value ? V.value.length > 0 : he(V.value)), Y = h(() => J.value && !R.isSending && !R.justSent), X = h(() => !q.value && V.value.trim().length > 0 && !J.value), Z = h(() => R.error ? R.error.kind === "provider" ? R.error.message : B.testEmail.recipientNotAllowed : null);
76
96
  function Q() {
77
- Y.value && B("send", H.value.trim());
97
+ Y.value && z("send", V.value.trim());
78
98
  }
79
99
  function $() {
80
- z.isSending || B("close");
100
+ R.isSending || z("close");
81
101
  }
82
- function be(e) {
102
+ function De(e) {
83
103
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), Q()), e.key === "Escape" && $();
84
104
  }
85
- return (n, o) => (r(), ee(pe, {
105
+ return (n, o) => (r(), d(pe, {
86
106
  visible: s.visible,
87
107
  onClose: $,
88
- onKeydown: be
108
+ onKeydown: De
89
109
  }, {
90
110
  default: a(() => [c("div", {
91
111
  role: "dialog",
@@ -98,77 +118,88 @@ var y = ["aria-busy"], b = {
98
118
  "box-shadow": "var(--tpl-shadow-xl)"
99
119
  }
100
120
  }, [
101
- c("h3", b, i(f(V).testEmail.title), 1),
121
+ c("h3", b, i(p(B).testEmail.title), 1),
102
122
  c("div", x, [
103
- c("label", S, i(f(V).testEmail.recipientLabel), 1),
104
- ye.value ? (r(), l("input", {
123
+ c("label", S, i(p(B).testEmail.recipientLabel), 1),
124
+ Ee.value ? (r(), l("input", {
105
125
  key: 0,
106
126
  id: "tpl-test-email-recipient",
107
127
  type: "text",
108
- value: H.value,
128
+ value: V.value,
109
129
  disabled: "",
110
130
  "data-testid": "test-email-recipient",
111
131
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:opacity-70 tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
112
- }, null, 8, C)) : q.value ? g((r(), l("select", {
132
+ }, null, 8, C)) : q.value ? v((r(), l("select", {
113
133
  key: 1,
114
134
  id: "tpl-test-email-recipient",
115
- "onUpdate:modelValue": o[0] ||= (e) => H.value = e,
135
+ "onUpdate:modelValue": o[0] ||= (e) => V.value = e,
116
136
  disabled: s.isSending || s.justSent,
117
137
  "data-testid": "test-email-recipient",
118
138
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
119
- }, [(r(!0), l(te, null, e(s.allowedRecipients, (e) => (r(), l("option", {
139
+ }, [(r(!0), l(m, null, e(s.allowedRecipients, (e) => (r(), l("option", {
120
140
  key: e,
121
141
  value: e
122
- }, i(e), 9, T))), 128))], 8, w)), [[re, H.value]]) : g((r(), l("input", {
142
+ }, i(e), 9, T))), 128))], 8, w)), [[te, V.value]]) : v((r(), l("input", {
123
143
  key: 2,
124
144
  id: "tpl-test-email-recipient",
125
- "onUpdate:modelValue": o[1] ||= (e) => H.value = e,
145
+ "onUpdate:modelValue": o[1] ||= (e) => V.value = e,
126
146
  type: "email",
127
147
  autocomplete: "email",
128
148
  spellcheck: "false",
129
- placeholder: f(V).testEmail.recipientPlaceholder,
149
+ placeholder: p(B).testEmail.recipientPlaceholder,
130
150
  disabled: s.isSending || s.justSent,
131
151
  "data-testid": "test-email-recipient",
132
152
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
133
- }, null, 8, E)), [[ne, H.value]]),
134
- X.value ? (r(), l("p", D, i(f(V).testEmail.invalidAddress), 1)) : m("", !0)
153
+ }, null, 8, E)), [[ee, V.value]]),
154
+ X.value ? (r(), l("p", D, i(p(B).testEmail.invalidAddress), 1)) : g("", !0)
135
155
  ]),
136
- c("div", O, [c("div", k, [c("span", A, i(f(V).testEmail.preview), 1), c("div", j, [u(fe, {
156
+ c("div", O, [c("div", k, [c("span", A, i(p(B).testEmail.preview), 1), c("div", j, [p(U).supersedesSamples.value ? g("", !0) : (r(), d(fe, {
157
+ key: 0,
137
158
  "sample-mode": K.value,
138
159
  onChange: o[2] ||= (e) => K.value = e
139
- }, null, 8, ["sample-mode"]), u(de, {
140
- viewport: U.value,
141
- onChange: o[3] ||= (e) => U.value = e
142
- }, null, 8, ["viewport"])])]), c("p", M, i(K.value ? f(V).testEmail.previewHintSample : f(V).testEmail.previewHint), 1)]),
143
- c("div", N, [u(me, {
144
- blocks: ve.value,
145
- viewport: U.value
146
- }, null, 8, ["blocks", "viewport"])]),
147
- s.justSent ? (r(), l("p", P, [u(f(le), {
160
+ }, null, 8, ["sample-mode"])), u(de, {
161
+ viewport: H.value,
162
+ onChange: o[3] ||= (e) => H.value = e
163
+ }, null, 8, ["viewport"])])]), c("p", M, i(p(U).supersedesSamples.value ? p(B).previewResolution.hint : K.value ? p(B).testEmail.previewHintSample : p(B).testEmail.previewHint), 1)]),
164
+ c("div", N, [p(U).isInitialResolve.value ? (r(), l("div", P, [c("span", F, i(p(B).previewResolution.resolving), 1), (r(), l(m, null, e(3, (e) => c("div", {
165
+ key: e,
166
+ "aria-hidden": "true",
167
+ class: "tpl-pulse tpl:h-16 tpl:rounded-md tpl:bg-[var(--tpl-bg-hover)]"
168
+ })), 64))])) : p(U).hasFailed.value ? (r(), l("p", I, i(p(B).previewResolution.failed), 1)) : g("", !0), p(U).isInitialResolve.value ? g("", !0) : (r(), d(me, {
169
+ key: 2,
170
+ blocks: Te.value,
171
+ viewport: H.value,
172
+ "apply-condition-filter": !p(U).isConfigured
173
+ }, null, 8, [
174
+ "blocks",
175
+ "viewport",
176
+ "apply-condition-filter"
177
+ ]))]),
178
+ s.justSent ? (r(), l("p", L, [u(p(le), {
148
179
  size: 13,
149
180
  "stroke-width": 2.5
150
- }), d(" " + i(f(V).testEmail.success), 1)])) : Z.value ? (r(), l("p", F, i(Z.value), 1)) : m("", !0),
151
- c("div", I, [c("button", {
181
+ }), f(" " + i(p(B).testEmail.success), 1)])) : Z.value ? (r(), l("p", _e, i(Z.value), 1)) : g("", !0),
182
+ c("div", ve, [c("button", {
152
183
  type: "button",
153
184
  "data-testid": "test-email-cancel",
154
185
  class: t(["tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", { "tpl:cursor-not-allowed tpl:opacity-50": s.isSending }]),
155
186
  disabled: s.isSending,
156
187
  onClick: $
157
- }, i(f(V).testEmail.cancel), 11, L), c("button", {
188
+ }, i(p(B).testEmail.cancel), 11, ye), c("button", {
158
189
  type: "button",
159
190
  "data-testid": "test-email-send",
160
191
  class: "tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
161
192
  disabled: !Y.value,
162
193
  onClick: Q
163
- }, [s.isSending ? (r(), l("span", R, [u(f(ue), {
194
+ }, [s.isSending ? (r(), l("span", xe, [u(p(ue), {
164
195
  class: "tpl:animate-spin",
165
196
  size: 12,
166
197
  "stroke-width": 2
167
- }), d(" " + i(f(V).testEmail.sending), 1)])) : (r(), l("span", ge, i(f(V).testEmail.send), 1))], 8, he)])
168
- ], 8, y)]),
198
+ }), f(" " + i(p(B).testEmail.sending), 1)])) : (r(), l("span", Se, i(p(B).testEmail.send), 1))], 8, be)])
199
+ ], 8, ge)]),
169
200
  _: 1
170
201
  }, 8, ["visible"]));
171
202
  }
172
203
  });
173
204
  //#endregion
174
- export { z as default };
205
+ export { R as default };
@@ -1,11 +1,11 @@
1
- import { O as e, _ as t, g as n, l as r, nt as i, u as a } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
1
+ import { O as e, _ as t, g as n, l as r, nt as i, u as a } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
2
  //#endregion
3
3
  //#region src/components/TestEmailPanel.vue
4
4
  var o = /* @__PURE__ */ t({
5
5
  __name: "TestEmailPanel",
6
6
  props: { feature: {} },
7
7
  setup(t) {
8
- let o = t, s = n(() => import("./TestEmailModal-IZfwgya-.js"));
8
+ let o = t, s = n(() => import("./TestEmailModal-CytkbZVQ.js"));
9
9
  function c(e) {
10
10
  o.feature.send(e);
11
11
  }
@@ -1,11 +1,11 @@
1
- import { Dt as e, Et as t, O as n, Ot as r, W as i, _ as a, c as o, d as s, h as c, i as l, l as u, m as d, nt as f, r as p, s as m, u as h, x as g } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { C as ee, S as te } from "./useEditorCore-DOrGex_t.js";
3
- import { n as ne } from "./usePopoverPosition-vjKJaqJf.js";
4
- import { B as _, D as v, R as y, w as b } from "./keys-BVlG5Ozc.js";
5
- import { t as re } from "./useI18n-BhAejA-x.js";
6
- import { a as ie, i as ae, n as oe, r as se, t as ce } from "./RichTextEditorContent-DydrqFts.js";
7
- import { n as x, t as S } from "./scan-line-BFgesTOY.js";
8
- import { t as C } from "./loader-circle-C-Z6kgI6.js";
1
+ import { Dt as e, Et as t, O as n, Ot as r, W as i, _ as a, c as o, d as s, h as c, i as l, l as u, m as d, nt as f, r as p, s as m, u as h, x as g } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { C as ee, S as te } from "./useEditorCore-Ck_hBiGA.js";
3
+ import { n as ne } from "./usePopoverPosition-ClnEh_Cp.js";
4
+ import { O as _, T as v, U as y, V as b } from "./keys-BFPiNAIn.js";
5
+ import { t as re } from "./useI18n-C1KcdX_K.js";
6
+ import { a as ie, i as ae, n as oe, r as se, t as ce } from "./RichTextEditorContent-DaaKdzjb.js";
7
+ import { n as x, t as S } from "./scan-line-CRoEOUiK.js";
8
+ import { t as C } from "./loader-circle-B6euendB.js";
9
9
  //#region src/components/blocks/TitleEditor.vue?vue&type=script&setup=true&lang.ts
10
10
  var w = { class: "tpl-text-editor-wrapper tpl:relative" }, T = ["data-tpl-theme", "aria-label"], E = ["aria-label", "title"], D = ["aria-label", "title"], O = ["aria-label", "title"], k = {
11
11
  key: 0,
@@ -24,17 +24,17 @@ var w = { class: "tpl-text-editor-wrapper tpl:relative" }, T = ["data-tpl-theme"
24
24
  },
25
25
  emits: ["done"],
26
26
  setup(a, { emit: P }) {
27
- let F = a, I = P, L = g(y, null), R = g(_, null), z = ne(), B = g(v, null), le = g(b, null), V = m(() => (B?.isOpen.value ?? !1) || (le?.isOpen.value ?? !1)), { t: H } = re(), { editor: U, EditorContent: W, isLoading: G, initError: ue, retry: de, showLinkDialog: fe, linkUrl: K, linkColor: q, linkDialogRef: J, canRequestMergeTag: Y, canInsertLogicTag: X, openLinkDialog: Z, insertLink: pe, removeLink: me, closeLinkDialog: he, handleLinkKeydown: ge, handleAddMergeTag: Q, handleAddLogicTag: $ } = te({
27
+ let F = a, I = P, L = g(b, null), R = g(y, null), z = ne(), B = g(_, null), le = g(v, null), V = m(() => (B?.isOpen.value ?? !1) || (le?.isOpen.value ?? !1)), { t: H } = re(), { editor: U, EditorContent: W, isLoading: G, initError: ue, retry: de, showLinkDialog: fe, linkUrl: K, linkColor: q, linkDialogRef: J, canRequestMergeTag: Y, canInsertLogicTag: X, openLinkDialog: Z, insertLink: pe, removeLink: me, closeLinkDialog: he, handleLinkKeydown: ge, handleAddMergeTag: Q, handleAddLogicTag: $ } = te({
28
28
  blockId: () => F.block.id,
29
29
  blockContent: () => F.block.content,
30
30
  onDone: () => I("done"),
31
31
  editorName: "TitleEditor",
32
32
  async loadExtensions({ mergeTags: e, syntax: t, triggerChar: n, autocompleteEnabled: r, suggestionEmptyText: i }) {
33
33
  let [{ Editor: a, EditorContent: o }, { default: s }, { default: c }, { MergeTagNode: l, MergeTagSuggestion: u, LogicMergeTagNode: d }] = await Promise.all([
34
- import("./dist-DWu9QWFl.js").then((e) => e.r),
35
- import("./dist-DFO896yT.js"),
36
- import("./dist-C_kAE1sC.js"),
37
- import("./extensions-C0DXnYdA.js")
34
+ import("./dist-CIqhVQ1O.js").then((e) => e.r),
35
+ import("./dist-Dx71pluS.js"),
36
+ import("./dist-DX4x6mQ1.js"),
37
+ import("./extensions-BjvyU9Ea.js")
38
38
  ]);
39
39
  return {
40
40
  TiptapEditor: a,
@@ -0,0 +1,49 @@
1
+ import { Dt as e, O as t, R as n, Y as r, _ as i, c as a, d as o, h as s, i as c, j as l, l as u, nt as d, s as f, u as p, x as m } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { c as h, t as g } from "./runtime-dom.esm-bundler-CBbDt7sw.js";
3
+ import { O as _ } from "./useEditorCore-Ck_hBiGA.js";
4
+ import { n as v } from "./usePopoverPosition-ClnEh_Cp.js";
5
+ import { U as y, V as b } from "./keys-BFPiNAIn.js";
6
+ //#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
7
+ var x = ["data-tpl-theme"], S = /* @__PURE__ */ i({
8
+ __name: "TplModal",
9
+ props: { visible: { type: Boolean } },
10
+ emits: ["close", "keydown"],
11
+ setup(i, { emit: S }) {
12
+ let C = i, w = S, T = r(null), E = f(() => C.visible);
13
+ _(T, E);
14
+ let D = m(y), O = m(b, null), k = v();
15
+ function A(e) {
16
+ e.key === "Escape" && w("close"), w("keydown", e);
17
+ }
18
+ return (r, f) => d(k) ? (t(), u(c, {
19
+ key: 0,
20
+ to: d(k)
21
+ }, [s(g, {
22
+ "enter-active-class": "tpl:transition tpl:duration-150",
23
+ "enter-from-class": "tpl:opacity-0",
24
+ "enter-to-class": "tpl:opacity-100",
25
+ "leave-active-class": "tpl:transition tpl:duration-100",
26
+ "leave-from-class": "tpl:opacity-100",
27
+ "leave-to-class": "tpl:opacity-0"
28
+ }, {
29
+ default: n(() => [i.visible ? (t(), o("div", {
30
+ key: 0,
31
+ "data-tpl-theme": d(D),
32
+ class: "tpl tpl:fixed tpl:inset-0 tpl:z-modal tpl:flex tpl:items-center tpl:justify-center",
33
+ style: e([{
34
+ "background-color": "var(--tpl-overlay)",
35
+ "backdrop-filter": "blur(8px)",
36
+ "-webkit-backdrop-filter": "blur(8px)"
37
+ }, d(O)]),
38
+ onClick: f[0] ||= h((e) => w("close"), ["self"]),
39
+ onKeydown: A
40
+ }, [a("div", {
41
+ ref_key: "dialogRef",
42
+ ref: T
43
+ }, [l(r.$slots, "default")], 512)], 44, x)) : p("", !0)]),
44
+ _: 3
45
+ })], 8, ["to"])) : p("", !0);
46
+ }
47
+ });
48
+ //#endregion
49
+ export { S as t };
@@ -1,5 +1,5 @@
1
- import { A as e, L as t, M as n, N as r, j as i } from "./useEditorCore-DOrGex_t.js";
2
- import { t as a } from "./createLucideIcon-JWHwTI6N.js";
1
+ import { A as e, L as t, M as n, N as r, j as i } from "./useEditorCore-Ck_hBiGA.js";
2
+ import { t as a } from "./createLucideIcon-AEltGIse.js";
3
3
  var o = a("columns-3", [
4
4
  ["rect", {
5
5
  width: "18",
@@ -94,7 +94,28 @@ var o = a("columns-3", [
94
94
  cy: "11",
95
95
  r: "8",
96
96
  key: "4ej97u"
97
- }]]), h = {
97
+ }]]), h = a("timer", [
98
+ ["line", {
99
+ x1: "10",
100
+ x2: "14",
101
+ y1: "2",
102
+ y2: "2",
103
+ key: "14vaq8"
104
+ }],
105
+ ["line", {
106
+ x1: "12",
107
+ x2: "15",
108
+ y1: "14",
109
+ y2: "11",
110
+ key: "17fdiu"
111
+ }],
112
+ ["circle", {
113
+ cx: "12",
114
+ cy: "14",
115
+ r: "8",
116
+ key: "1e1u0o"
117
+ }]
118
+ ]), g = {
98
119
  section: o,
99
120
  title: s,
100
121
  paragraph: d,
@@ -106,29 +127,8 @@ var o = a("columns-3", [
106
127
  menu: n,
107
128
  table: e,
108
129
  spacer: l,
109
- countdown: a("timer", [
110
- ["line", {
111
- x1: "10",
112
- x2: "14",
113
- y1: "2",
114
- y2: "2",
115
- key: "14vaq8"
116
- }],
117
- ["line", {
118
- x1: "12",
119
- x2: "15",
120
- y1: "14",
121
- y2: "11",
122
- key: "17fdiu"
123
- }],
124
- ["circle", {
125
- cx: "12",
126
- cy: "14",
127
- r: "8",
128
- key: "1e1u0o"
129
- }]
130
- ]),
130
+ countdown: h,
131
131
  html: t
132
132
  };
133
133
  //#endregion
134
- export { c as i, m as n, u as r, h as t };
134
+ export { c as i, m as n, u as r, g as t };
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "0.24.0",
3
- "initialGzipBytes": 290119,
4
- "initialRawBytes": 1043056,
2
+ "version": "0.25.0",
3
+ "initialGzipBytes": 291288,
4
+ "initialRawBytes": 1046807,
5
5
  "initialFileCount": 41,
6
- "lazyGzipBytes": 207422,
7
- "lazyRawBytes": 675772,
6
+ "lazyGzipBytes": 208764,
7
+ "lazyRawBytes": 680768,
8
8
  "lazyFileCount": 54,
9
- "generatedAt": "2026-07-31T20:30:30.244Z"
9
+ "generatedAt": "2026-08-05T21:33:15.982Z"
10
10
  }
@@ -570,6 +570,11 @@ var e = {
570
570
  daysAgo: "fa {days} d"
571
571
  }
572
572
  },
573
+ previewResolution: {
574
+ resolving: "S’està resolent la vista prèvia…",
575
+ failed: "No s’ha pogut resoldre la vista prèvia; es mostra la plantilla sense resoldre.",
576
+ hint: "La vista prèvia utilitza dades resoltes pel teu backend."
577
+ },
573
578
  mergeTagPreview: {
574
579
  label: "Vista d’etiquetes de combinació",
575
580
  sample: "Exemple",
@@ -1,11 +1,11 @@
1
- import { H as e, M as t, O as n, P as r, T as i, V as ee, Z as a, ct as o, g as s, h as c, it as l, m as u, n as d, o as te, ot as ne, p as f, u as p, v as m, x as h, y as g, z as _ } from "./draggable-D840DIZB.js";
2
- import { _ as re, g as ie } from "./dist-CiBEt0VR.js";
3
- import { H as v, T as ae, c as oe, h as se, r as ce } from "./keys-B5uoP9P7.js";
4
- import { B as le, M as y, T as b, c as ue, d as de, it as fe, jt as pe, n as me } from "./icons-Cqxvwgz7.js";
5
- import { t as x } from "./LoadingTrack-D-CW2tUa.js";
1
+ import { H as e, M as t, O as n, P as r, T as i, V as ee, Z as a, ct as o, g as s, h as c, it as l, m as u, n as d, o as te, ot as ne, p as f, u as p, v as m, x as h, y as g, z as _ } from "./draggable-JcMTNF3U.js";
2
+ import { _ as re, g as ie } from "./dist-lZgXNk4G.js";
3
+ import { E as ae, G as v, g as oe, i as se, l as ce } from "./keys-BxPCfHBH.js";
4
+ import { B as le, M as y, T as b, c as ue, d as de, it as fe, jt as pe, n as me } from "./icons-Cp4ZIJw-.js";
5
+ import { t as x } from "./LoadingTrack-G2tuXqCJ.js";
6
6
  import { t as S } from "./_plugin-vue_export-helper-B3ysoDQm.js";
7
- import { t as C } from "./useAliveFlag-aanU8uqB.js";
8
- import { _ as w } from "./cloud-C2I0P9qj.js";
7
+ import { t as C } from "./useAliveFlag-CseYNikC.js";
8
+ import { _ as w } from "./cloud-DOaGUdR0.js";
9
9
  //#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
10
10
  var T = {
11
11
  key: 0,
@@ -62,7 +62,7 @@ var T = {
62
62
  },
63
63
  emits: ["close"],
64
64
  setup(h, { emit: S }) {
65
- let B = h, Ce = S, V = v(oe, "AiChatSidebar"), H = v(se, "AiChatSidebar"), we = v(ce, "AiChatSidebar"), U = i(ae, []), W = C(), G = w({
65
+ let B = h, Ce = S, V = v(ce, "AiChatSidebar"), H = v(oe, "AiChatSidebar"), we = v(se, "AiChatSidebar"), U = i(ae, []), W = C(), G = w({
66
66
  authManager: we,
67
67
  getTemplateId: () => H.state.template?.id ?? null,
68
68
  onApply: B.onApply,
@@ -200,4 +200,4 @@ var T = {
200
200
  //#endregion
201
201
  export { B as default };
202
202
 
203
- //# sourceMappingURL=AiChatSidebar-CN-0DIuA.js.map
203
+ //# sourceMappingURL=AiChatSidebar-bkBKpNgE.js.map