@templatical/editor 0.24.0 → 0.24.1

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 (198) hide show
  1. package/dist/{AiChatSidebar-Nq-jrGaf.js → AiChatSidebar-X4viKtvs.js} +14 -14
  2. package/dist/{AiFeatureMenu-tg_zMKMK.js → AiFeatureMenu-DDAamRaA.js} +7 -7
  3. package/dist/{BlockIssueBadge-Bd94kIiw.js → BlockIssueBadge-Qxrl7Ujl.js} +5 -5
  4. package/dist/{BlockPreviewCanvas-B34aMhHe.js → BlockPreviewCanvas-Cf-kxbEr.js} +3 -3
  5. package/dist/{CloudEditor-DjN_9Yso.js → CloudEditor-JIzhj1Xq.js} +26 -26
  6. package/dist/{CollaboratorBar-Bhazzcg-.js → CollaboratorBar-tC7AACTb.js} +4 -4
  7. package/dist/{ColorPicker-DXGrcJxJ.js → ColorPicker--_2PbzFk.js} +7 -9
  8. package/dist/{CommentsSidebar-ku1kt10u.js → CommentsSidebar-Ci2Ov8FG.js} +15 -15
  9. package/dist/{CountdownBlock-CN9Lc23W.js → CountdownBlock-aZIKfBWY.js} +3 -3
  10. package/dist/{CountdownToolbar-VEsIyKV6.js → CountdownToolbar-DHp6T0Q_.js} +4 -4
  11. package/dist/DesignReferenceSidebar-DQsC-3hB.js +264 -0
  12. package/dist/{IssuesPanel-CEfzOpS_.js → IssuesPanel-CoOfib44.js} +8 -8
  13. package/dist/{LoadingTrack-KIcREPlS.js → LoadingTrack-XK_eeUdq.js} +1 -1
  14. package/dist/{MergeTagModeToggle-C3V2xGAg.js → MergeTagModeToggle-CiFiSV0C.js} +6 -6
  15. package/dist/{MergeTagSuggestion-Dn8ww9nV.js → MergeTagSuggestion-D0OHRv7L.js} +8 -12
  16. package/dist/{NumberWithSuffix-BGocZkj9.js → NumberWithSuffix-CXFbUqsx.js} +2 -2
  17. package/dist/{ParagraphEditor-D-fz0kUb.js → ParagraphEditor-Cy-bpEjI.js} +44 -44
  18. package/dist/{RichTextEditorContent-DydrqFts.js → RichTextEditorContent-CYJko6id.js} +8 -8
  19. package/dist/{SaveBlockDialog-BDDFbAWF.js → SaveBlockDialog-CNTSaMEa.js} +10 -10
  20. package/dist/{SavedBlocksBrowserModal-Djik_fJh.js → SavedBlocksBrowserModal-CvxS5-YX.js} +11 -11
  21. package/dist/{SavedBlocksPanels-CxemyPxL.js → SavedBlocksPanels-CNdUxS89.js} +2 -2
  22. package/dist/{SavedBlocksPickBar-Dlhipmob.js → SavedBlocksPickBar-BvXKhblL.js} +4 -4
  23. package/dist/{SnapshotHistory-DPbM4ons.js → SnapshotHistory-BqPSIV9L.js} +10 -10
  24. package/dist/{TemplateScoringPanel-BFYgweDX.js → TemplateScoringPanel-CMEuz9yF.js} +15 -15
  25. package/dist/{TestEmailModal-IZfwgya-.js → TestEmailModal-BDhnnCBx.js} +10 -10
  26. package/dist/{TestEmailPanel-QEEx_PkN.js → TestEmailPanel--RwnwLn2.js} +2 -2
  27. package/dist/{TitleEditor-BB4YlIBF.js → TitleEditor-F7E_pU9H.js} +12 -12
  28. package/dist/TplModal-BIiS24Of.js +49 -0
  29. package/dist/{blockTypeIcons-Wzd7W_2x.js → blockTypeIcons-C6PnLMp7.js} +26 -26
  30. package/dist/bundle-stats.json +6 -6
  31. package/dist/cdn/chunks/{AiChatSidebar-CN-0DIuA.js → AiChatSidebar-UbF3ePzR.js} +8 -8
  32. package/dist/cdn/chunks/{AiChatSidebar-CN-0DIuA.js.map → AiChatSidebar-UbF3ePzR.js.map} +1 -1
  33. package/dist/cdn/chunks/{AiFeatureMenu-B5pV6Iux.js → AiFeatureMenu-OIwoJzHG.js} +6 -6
  34. package/dist/cdn/chunks/{AiFeatureMenu-B5pV6Iux.js.map → AiFeatureMenu-OIwoJzHG.js.map} +1 -1
  35. package/dist/cdn/chunks/{BlockIssueBadge-aanOjeyi.js → BlockIssueBadge-Bd2EuT1C.js} +5 -5
  36. package/dist/cdn/chunks/{BlockIssueBadge-aanOjeyi.js.map → BlockIssueBadge-Bd2EuT1C.js.map} +1 -1
  37. package/dist/cdn/chunks/{BlockPreviewCanvas-Dc4F4HzY.js → BlockPreviewCanvas-C-ut8GkJ.js} +5 -5
  38. package/dist/cdn/chunks/{BlockPreviewCanvas-Dc4F4HzY.js.map → BlockPreviewCanvas-C-ut8GkJ.js.map} +1 -1
  39. package/dist/cdn/chunks/{CloudEditor-CeKaWWO5.js → CloudEditor-D87qsqbZ.js} +20 -20
  40. package/dist/cdn/chunks/{CloudEditor-CeKaWWO5.js.map → CloudEditor-D87qsqbZ.js.map} +1 -1
  41. package/dist/cdn/chunks/{CollaboratorBar-CEdKr0A2.js → CollaboratorBar-Br4RvNrA.js} +5 -5
  42. package/dist/cdn/chunks/{CollaboratorBar-CEdKr0A2.js.map → CollaboratorBar-Br4RvNrA.js.map} +1 -1
  43. package/dist/cdn/chunks/{ColorPicker-BckwEfcN.js → ColorPicker-B-ymPPtU.js} +8 -10
  44. package/dist/cdn/chunks/{ColorPicker-BckwEfcN.js.map → ColorPicker-B-ymPPtU.js.map} +1 -1
  45. package/dist/cdn/chunks/{CommentsSidebar-6PfpJKh-.js → CommentsSidebar-Tv_WTcJv.js} +6 -6
  46. package/dist/cdn/chunks/{CommentsSidebar-6PfpJKh-.js.map → CommentsSidebar-Tv_WTcJv.js.map} +1 -1
  47. package/dist/cdn/chunks/{CountdownBlock-CoBmvQKv.js → CountdownBlock-cEcXSK91.js} +4 -4
  48. package/dist/cdn/chunks/{CountdownBlock-CoBmvQKv.js.map → CountdownBlock-cEcXSK91.js.map} +1 -1
  49. package/dist/cdn/chunks/{CountdownToolbar-CdV8RTQu.js → CountdownToolbar-CLp3_ebk.js} +5 -5
  50. package/dist/cdn/chunks/{CountdownToolbar-CdV8RTQu.js.map → CountdownToolbar-CLp3_ebk.js.map} +1 -1
  51. package/dist/cdn/chunks/DesignReferenceSidebar-YeqxSsxO.js +223 -0
  52. package/dist/cdn/chunks/{DesignReferenceSidebar-BjlaP69l.js.map → DesignReferenceSidebar-YeqxSsxO.js.map} +1 -1
  53. package/dist/cdn/chunks/{IssuesPanel-CkkEnhxZ.js → IssuesPanel-BhsvC3XQ.js} +5 -5
  54. package/dist/cdn/chunks/{IssuesPanel-CkkEnhxZ.js.map → IssuesPanel-BhsvC3XQ.js.map} +1 -1
  55. package/dist/cdn/chunks/{LoadingTrack-D-CW2tUa.js → LoadingTrack-G2tuXqCJ.js} +2 -2
  56. package/dist/cdn/chunks/{LoadingTrack-D-CW2tUa.js.map → LoadingTrack-G2tuXqCJ.js.map} +1 -1
  57. package/dist/cdn/chunks/{MergeTagModeToggle-DmtR300G.js → MergeTagModeToggle-DrdxQA0K.js} +6 -6
  58. package/dist/cdn/chunks/{MergeTagModeToggle-DmtR300G.js.map → MergeTagModeToggle-DrdxQA0K.js.map} +1 -1
  59. package/dist/cdn/chunks/{MergeTagSuggestion-Cvlkw_PM.js → MergeTagSuggestion-Ces5Ua78.js} +3 -3
  60. package/dist/cdn/chunks/{MergeTagSuggestion-Cvlkw_PM.js.map → MergeTagSuggestion-Ces5Ua78.js.map} +1 -1
  61. package/dist/cdn/chunks/{NumberWithSuffix-BOcMN26z.js → NumberWithSuffix-BK_Xh4w4.js} +3 -3
  62. package/dist/cdn/chunks/{NumberWithSuffix-BOcMN26z.js.map → NumberWithSuffix-BK_Xh4w4.js.map} +1 -1
  63. package/dist/cdn/chunks/{ParagraphEditor-CX1yks4N.js → ParagraphEditor-DKz4vTWB.js} +131 -131
  64. package/dist/cdn/chunks/{ParagraphEditor-CX1yks4N.js.map → ParagraphEditor-DKz4vTWB.js.map} +1 -1
  65. package/dist/cdn/chunks/{RichTextEditorContent-z9s7qxs3.js → RichTextEditorContent-CJ2WVicQ.js} +7 -7
  66. package/dist/cdn/chunks/{RichTextEditorContent-z9s7qxs3.js.map → RichTextEditorContent-CJ2WVicQ.js.map} +1 -1
  67. package/dist/cdn/chunks/{SaveBlockDialog-D2CtW4lC.js → SaveBlockDialog-DTemkKPX.js} +8 -8
  68. package/dist/cdn/chunks/{SaveBlockDialog-D2CtW4lC.js.map → SaveBlockDialog-DTemkKPX.js.map} +1 -1
  69. package/dist/cdn/chunks/{SavedBlocksBrowserModal-DdUKJzzF.js → SavedBlocksBrowserModal-DbMaIbeH.js} +9 -9
  70. package/dist/cdn/chunks/{SavedBlocksBrowserModal-DdUKJzzF.js.map → SavedBlocksBrowserModal-DbMaIbeH.js.map} +1 -1
  71. package/dist/cdn/chunks/{SavedBlocksPanels-1kVbqdpc.js → SavedBlocksPanels-CUffuDAC.js} +3 -3
  72. package/dist/cdn/chunks/{SavedBlocksPanels-1kVbqdpc.js.map → SavedBlocksPanels-CUffuDAC.js.map} +1 -1
  73. package/dist/cdn/chunks/{SavedBlocksPickBar--noDJIyN.js → SavedBlocksPickBar-D7SmNz2n.js} +5 -5
  74. package/dist/cdn/chunks/{SavedBlocksPickBar--noDJIyN.js.map → SavedBlocksPickBar-D7SmNz2n.js.map} +1 -1
  75. package/dist/cdn/chunks/{SnapshotHistory-DFuNJRc9.js → SnapshotHistory-m5Z8bTej.js} +7 -7
  76. package/dist/cdn/chunks/{SnapshotHistory-DFuNJRc9.js.map → SnapshotHistory-m5Z8bTej.js.map} +1 -1
  77. package/dist/cdn/chunks/{TemplateScoringPanel-DG1dAjQk.js → TemplateScoringPanel-DgRU5fty.js} +6 -6
  78. package/dist/cdn/chunks/{TemplateScoringPanel-DG1dAjQk.js.map → TemplateScoringPanel-DgRU5fty.js.map} +1 -1
  79. package/dist/cdn/chunks/{TestEmailModal-CiPfOn2v.js → TestEmailModal-Ce8-vzGh.js} +9 -9
  80. package/dist/cdn/chunks/{TestEmailModal-CiPfOn2v.js.map → TestEmailModal-Ce8-vzGh.js.map} +1 -1
  81. package/dist/cdn/chunks/{TestEmailPanel-saOfnpjz.js → TestEmailPanel-BlmIKKSL.js} +3 -3
  82. package/dist/cdn/chunks/{TestEmailPanel-saOfnpjz.js.map → TestEmailPanel-BlmIKKSL.js.map} +1 -1
  83. package/dist/cdn/chunks/{TitleEditor-08KM_VzZ.js → TitleEditor-C6_bQxYR.js} +12 -12
  84. package/dist/cdn/chunks/{TitleEditor-08KM_VzZ.js.map → TitleEditor-C6_bQxYR.js.map} +1 -1
  85. package/dist/cdn/chunks/TplModal-D6bFON2K.js +50 -0
  86. package/dist/cdn/chunks/TplModal-D6bFON2K.js.map +1 -0
  87. package/dist/cdn/chunks/{blockTypeIcons-DvohkXqi.js → blockTypeIcons-B8s3_ahs.js} +2 -2
  88. package/dist/cdn/chunks/{blockTypeIcons-DvohkXqi.js.map → blockTypeIcons-B8s3_ahs.js.map} +1 -1
  89. package/dist/cdn/chunks/{cloud-C2I0P9qj.js → cloud-CRlDc0Ev.js} +13 -17
  90. package/dist/cdn/chunks/{cloud-C2I0P9qj.js.map → cloud-CRlDc0Ev.js.map} +1 -1
  91. package/dist/cdn/chunks/{dist-CxTt8FRE.js → dist-B8AX9np4.js} +16 -12
  92. package/dist/cdn/chunks/dist-B8AX9np4.js.map +1 -0
  93. package/dist/cdn/chunks/{dist-CiBEt0VR.js → dist-lZgXNk4G.js} +36 -20
  94. package/dist/cdn/chunks/dist-lZgXNk4G.js.map +1 -0
  95. package/dist/cdn/chunks/{draggable-D840DIZB.js → draggable-JcMTNF3U.js} +14 -15
  96. package/dist/cdn/chunks/{draggable-D840DIZB.js.map → draggable-JcMTNF3U.js.map} +1 -1
  97. package/dist/cdn/chunks/{extensions-DBWF_lxx.js → extensions-CKMD_er_.js} +15 -11
  98. package/dist/cdn/chunks/{extensions-DBWF_lxx.js.map → extensions-CKMD_er_.js.map} +1 -1
  99. package/dist/cdn/chunks/{htmlparser-CZa2V5cF.js → htmlparser-CPhs2cYE.js} +3 -5
  100. package/dist/cdn/chunks/{htmlparser-CZa2V5cF.js.map → htmlparser-CPhs2cYE.js.map} +1 -1
  101. package/dist/cdn/chunks/{icons-Cqxvwgz7.js → icons-Cp4ZIJw-.js} +31 -31
  102. package/dist/cdn/chunks/{icons-Cqxvwgz7.js.map → icons-Cp4ZIJw-.js.map} +1 -1
  103. package/dist/cdn/chunks/{keys-B5uoP9P7.js → keys-CswSK7eb.js} +2 -2
  104. package/dist/cdn/chunks/{keys-B5uoP9P7.js.map → keys-CswSK7eb.js.map} +1 -1
  105. package/dist/cdn/chunks/{liquid.browser-BJOEu6Cg.js → liquid.browser-CZaQe87t.js} +756 -718
  106. package/dist/cdn/chunks/liquid.browser-CZaQe87t.js.map +1 -0
  107. package/dist/cdn/chunks/{pusher-R0v5p99W.js → pusher-kUlkqMvR.js} +21 -28
  108. package/dist/cdn/chunks/{pusher-R0v5p99W.js.map → pusher-kUlkqMvR.js.map} +1 -1
  109. package/dist/cdn/chunks/{rolldown-runtime-Dqa2HsxW.js → rolldown-runtime-B0aSnxlc.js} +2 -2
  110. package/dist/cdn/chunks/{src-C45kfA2t.js → src-B3HKHglu.js} +5 -9
  111. package/dist/cdn/chunks/{src-C45kfA2t.js.map → src-B3HKHglu.js.map} +1 -1
  112. package/dist/cdn/chunks/{src-YVsPFLNJ.js → src-B4UhYbI8.js} +4 -4
  113. package/dist/cdn/chunks/{src-YVsPFLNJ.js.map → src-B4UhYbI8.js.map} +1 -1
  114. package/dist/cdn/chunks/{src-XQmI_Xs1.js → src-CumZZNXZ.js} +523 -787
  115. package/dist/cdn/chunks/{src-XQmI_Xs1.js.map → src-CumZZNXZ.js.map} +1 -1
  116. package/dist/cdn/chunks/{src-BCJna-6p.js → src-D5mfLR4V.js} +2 -2
  117. package/dist/cdn/chunks/{src-BCJna-6p.js.map → src-D5mfLR4V.js.map} +1 -1
  118. package/dist/cdn/chunks/{styles-BohMfIBd.js → styles--m9OCb_Z.js} +530 -530
  119. package/dist/cdn/chunks/{styles-BohMfIBd.js.map → styles--m9OCb_Z.js.map} +1 -1
  120. package/dist/cdn/chunks/timeouts-SsLMC4a3.js +6 -0
  121. package/dist/cdn/chunks/{timeouts-Bmi_yePw.js.map → timeouts-SsLMC4a3.js.map} +1 -1
  122. package/dist/cdn/chunks/{tiptap-DRKu__AX.js → tiptap-rsib432n.js} +132 -119
  123. package/dist/cdn/chunks/tiptap-rsib432n.js.map +1 -0
  124. package/dist/cdn/chunks/{useAliveFlag-aanU8uqB.js → useAliveFlag-CseYNikC.js} +2 -2
  125. package/dist/cdn/chunks/{useAliveFlag-aanU8uqB.js.map → useAliveFlag-CseYNikC.js.map} +1 -1
  126. package/dist/cdn/chunks/{useCloudI18n-Bem8DUjH.js → useCloudI18n-sx1pqEbY.js} +3 -3
  127. package/dist/cdn/chunks/{useCloudI18n-Bem8DUjH.js.map → useCloudI18n-sx1pqEbY.js.map} +1 -1
  128. package/dist/cdn/chunks/{useEditorCore-B_vwuKdI.js → useEditorCore-ZqF7P99K.js} +201 -199
  129. package/dist/cdn/chunks/{useEditorCore-B_vwuKdI.js.map → useEditorCore-ZqF7P99K.js.map} +1 -1
  130. package/dist/cdn/chunks/{useI18n-graz19nI.js → useI18n-vD57BfVR.js} +3 -3
  131. package/dist/cdn/chunks/{useI18n-graz19nI.js.map → useI18n-vD57BfVR.js.map} +1 -1
  132. package/dist/cdn/chunks/{useMergeTag-rTzAFMlr.js → useMergeTag-HatzNGgc.js} +4 -4
  133. package/dist/cdn/chunks/{useMergeTag-rTzAFMlr.js.map → useMergeTag-HatzNGgc.js.map} +1 -1
  134. package/dist/cdn/chunks/{usePopoverPosition-BaFxLP3w.js → usePopoverPosition-BdQ3Sv4B.js} +3 -3
  135. package/dist/cdn/chunks/{usePopoverPosition-BaFxLP3w.js.map → usePopoverPosition-BdQ3Sv4B.js.map} +1 -1
  136. package/dist/cdn/editor.js +10 -10
  137. package/dist/cdn/editor.js.map +1 -1
  138. package/dist/{check-BpQDKiPz.js → check-CIhIDh4h.js} +1 -1
  139. package/dist/{chevron-down-j8GrdTyz.js → chevron-down-CZ0m6G3s.js} +1 -1
  140. package/dist/{chevron-up-BACyVhyC.js → chevron-up-BH_tJLeb.js} +1 -1
  141. package/dist/{circle-alert-CgtE46ND.js → circle-alert-DkEXnGPV.js} +1 -1
  142. package/dist/{clock-BzKLLW5L.js → clock-BDIJZUET.js} +1 -1
  143. package/dist/{cloud-DsUct4Zq.js → cloud-R8ci6yR1.js} +10 -14
  144. package/dist/{createLucideIcon-JWHwTI6N.js → createLucideIcon-AEltGIse.js} +3 -3
  145. package/dist/{dist-BAkGuPYm.js → dist-B6Px6GPj.js} +1 -1
  146. package/dist/{dist-DPHqs0Yh.js → dist-Ba5Q-UX1.js} +1 -1
  147. package/dist/{dist-9uhI32Q4.js → dist-BxbTVeY0.js} +1 -1
  148. package/dist/{dist-DWu9QWFl.js → dist-CIqhVQ1O.js} +5 -5
  149. package/dist/{dist-CkCVlKj_.js → dist-CRH880TV.js} +1 -1
  150. package/dist/{dist-ByJVlKWy.js → dist-CcQFPJMF.js} +116 -100
  151. package/dist/{dist-JXOq1hib.js → dist-CkPvZCld.js} +1 -1
  152. package/dist/{dist-IGetXrbO.js → dist-DSIgxp0v.js} +1 -1
  153. package/dist/{dist-DYv_Pttj.js → dist-DT1XnEnj.js} +33 -17
  154. package/dist/{dist-C_kAE1sC.js → dist-DX4x6mQ1.js} +3 -3
  155. package/dist/{dist-DFO896yT.js → dist-Dx71pluS.js} +16 -11
  156. package/dist/{dist-CQiAZlTt.js → dist-DyCHUyRR.js} +1 -1
  157. package/dist/{dist-BIYm-U9x.js → dist-iCEDH3cC.js} +1 -1
  158. package/dist/{dist-C5tigvDF.js → dist-nR6mxyqI.js} +1 -1
  159. package/dist/{extensions-C0DXnYdA.js → extensions-CGxj6-2o.js} +16 -12
  160. package/dist/{image-up-CQdtq8ge.js → image-up-8ktdYdaZ.js} +1 -1
  161. package/dist/{info-BUJBXoE6.js → info-CvrCgTLH.js} +1 -1
  162. package/dist/{keys-BVlG5Ozc.js → keys-uWpGv4Pq.js} +1 -1
  163. package/dist/{liquid.browser-DZLtv26k.js → liquid.browser-BECWFL5Z.js} +755 -717
  164. package/dist/{list-checks-BGHaCSD5.js → list-checks-yzGT93ZL.js} +1 -1
  165. package/dist/{loader-circle-C-Z6kgI6.js → loader-circle-B6euendB.js} +1 -1
  166. package/dist/{message-circle-CEm5qckV.js → message-circle-BMldLVcA.js} +1 -1
  167. package/dist/{pencil-DdwmkKLb.js → pencil-CkKkSd6N.js} +1 -1
  168. package/dist/{refresh-cw-maKlg0dl.js → refresh-cw-fBPgB97G.js} +1 -1
  169. package/dist/{runtime-dom.esm-bundler-GdMI8WqG.js → runtime-dom.esm-bundler-CBbDt7sw.js} +2 -2
  170. package/dist/{scan-line-BFgesTOY.js → scan-line-CRoEOUiK.js} +1 -1
  171. package/dist/{send-B70aQDrA.js → send-B9Tt2qBi.js} +1 -1
  172. package/dist/{shield-check-B7x5OKt5.js → shield-check-QfZkYeIo.js} +1 -1
  173. package/dist/{sparkles-DVlm1Ipp.js → sparkles-8UeMmZb8.js} +1 -1
  174. package/dist/{styles-BTTD0Je4.js → styles-C9AMvkJk.js} +541 -541
  175. package/dist/templatical-editor.js +11 -11
  176. package/dist/{text-align-start-Vay3Kvo2.js → text-align-start-Dn8uIheW.js} +1 -1
  177. package/dist/{trash-2-DE8CmxAG.js → trash-2-DDyvqj0E.js} +1 -1
  178. package/dist/{triangle-alert-Djg6IG8N.js → triangle-alert-B3PydLzl.js} +1 -1
  179. package/dist/{upload-BwwE0U6G.js → upload-hE8ItfyG.js} +2 -2
  180. package/dist/{useAliveFlag-C43EhZFY.js → useAliveFlag-AfoTE_AY.js} +1 -1
  181. package/dist/{useCloudI18n-DGr3b2SX.js → useCloudI18n-BC_QV2Z7.js} +2 -2
  182. package/dist/{useEditorCore-DOrGex_t.js → useEditorCore-Dojb-P2f.js} +655 -655
  183. package/dist/{useI18n-BhAejA-x.js → useI18n-DzOcl2wl.js} +2 -2
  184. package/dist/{useMergeTag-Ce95YIOO.js → useMergeTag-BFxXCv3p.js} +3 -3
  185. package/dist/{usePopoverPosition-vjKJaqJf.js → usePopoverPosition-Dtr1Mp1x.js} +13 -13
  186. package/dist/{vue.runtime.esm-bundler-B0xoGkDv.js → vue.runtime.esm-bundler-Xpz-L9Fn.js} +27 -22
  187. package/dist/{x-CkD6A1iB.js → x-C4lETLDx.js} +1 -1
  188. package/package.json +12 -12
  189. package/dist/DesignReferenceSidebar-C4pTMzQE.js +0 -264
  190. package/dist/TplModal-DPH4vV8M.js +0 -49
  191. package/dist/cdn/chunks/DesignReferenceSidebar-BjlaP69l.js +0 -223
  192. package/dist/cdn/chunks/TplModal-Cu4tBBnF.js +0 -50
  193. package/dist/cdn/chunks/TplModal-Cu4tBBnF.js.map +0 -1
  194. package/dist/cdn/chunks/dist-CiBEt0VR.js.map +0 -1
  195. package/dist/cdn/chunks/dist-CxTt8FRE.js.map +0 -1
  196. package/dist/cdn/chunks/liquid.browser-BJOEu6Cg.js.map +0 -1
  197. package/dist/cdn/chunks/timeouts-Bmi_yePw.js +0 -6
  198. package/dist/cdn/chunks/tiptap-DRKu__AX.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { W as e, x as t } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { z as n } from "./keys-BVlG5Ozc.js";
1
+ import { W as e, x as t } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { z as n } from "./keys-uWpGv4Pq.js";
3
3
  //#region src/composables/useI18n.ts
4
4
  function r(r) {
5
5
  let i = r ?? t(n, null);
@@ -1,6 +1,6 @@
1
- import { Y as e, x as t } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { D as n, P as r, a as i } from "./dist-DPHqs0Yh.js";
3
- import { D as a, E as o, M as s, T as c, k as l } from "./keys-BVlG5Ozc.js";
1
+ import { Y as e, x as t } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { D as n, P as r, a as i } from "./dist-Ba5Q-UX1.js";
3
+ import { D as a, E as o, M as s, T as c, k as l } from "./keys-uWpGv4Pq.js";
4
4
  //#region src/composables/useMergeTag.ts
5
5
  function u() {
6
6
  let u = t(c, []), d = t(l, i.liquid), f = t(s, null), p = t(o, !0), m = t(a, null), h = e(!1);
@@ -1,7 +1,7 @@
1
- import { E as e, I as t, L as n, Y as r, Z as i, b as a, et as o, nt as s, s as c, v as l, x as u } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { _ as d, a as f, d as p, i as m, l as h, n as g, o as _, r as v, s as y, t as b, u as x } from "./dist-DYv_Pttj.js";
3
- import { P as S } from "./keys-BVlG5Ozc.js";
4
- //#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.40_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
1
+ import { E as e, I as t, L as n, Y as r, Z as i, b as a, et as o, nt as s, s as c, v as l, x as u } from "./vue.runtime.esm-bundler-Xpz-L9Fn.js";
2
+ import { _ as d, a as f, d as p, i as m, l as h, n as g, o as _, r as v, s as y, t as b, u as x } from "./dist-DT1XnEnj.js";
3
+ import { P as S } from "./keys-uWpGv4Pq.js";
4
+ //#region ../../node_modules/.pnpm/@vueuse+core@14.4.0_vue@3.5.40_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
5
5
  var C = g ? window : void 0;
6
6
  g && window.document, g && window.navigator, g && window.location;
7
7
  function w(e) {
@@ -135,7 +135,9 @@ function N(e, t = {}) {
135
135
  let { window: r = C, ssrWidth: a = /* @__PURE__ */ M() } = t, s = /* @__PURE__ */ k(() => r && "matchMedia" in r && typeof r.matchMedia == "function"), l = i(typeof a == "number"), u = i(), d = i(!1);
136
136
  return n(() => {
137
137
  if (l.value) {
138
- l.value = !s.value, d.value = o(e).split(",").some((e) => {
138
+ l.value = !s.value;
139
+ let t = o(e).split(",");
140
+ d.value = t.some((e) => {
139
141
  let t = e.includes("not all"), n = e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), r = e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), i = !!(n || r);
140
142
  return n && i && (i = a >= y(n[1])), r && i && (i = a <= y(r[1])), t ? !i : i;
141
143
  });
@@ -157,8 +159,8 @@ function P(e, t = {}) {
157
159
  return typeof t == "function" ? t(e) : !t?.length || e.length !== 0 && e.every((e) => t.some((t) => e.includes(t)));
158
160
  }, f = (e) => {
159
161
  if (i.checkValidity) return i.checkValidity(e);
160
- let t = d(Array.from(e ?? []).map((e) => e.type)), n = c || e.length <= 1;
161
- return t && n;
162
+ let t = Array.from(e ?? []).map((e) => e.type), n = d(t), r = c || e.length <= 1;
163
+ return n && r;
162
164
  }, p = () => /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent) && !("chrome" in window), m = (e, t) => {
163
165
  let s = e.dataTransfer?.items;
164
166
  if (o = (s && f(s)) ?? !1, l && e.preventDefault(), !p() && !o) {
@@ -180,12 +182,10 @@ function P(e, t = {}) {
180
182
  var h;
181
183
  --a, a === 0 && (n.value = !1), (h = i.onLeave) == null || h.call(i, null, e);
182
184
  break;
183
- case "drop":
184
- if (a = 0, n.value = !1, o) {
185
- var g;
186
- r.value = c, (g = i.onDrop) == null || g.call(i, c, e);
187
- }
188
- break;
185
+ case "drop": if (a = 0, n.value = !1, o) {
186
+ var g;
187
+ r.value = c, (g = i.onDrop) == null || g.call(i, c, e);
188
+ }
189
189
  }
190
190
  };
191
191
  T(e, "dragenter", (e) => m(e, "enter")), T(e, "dragover", (e) => m(e, "over")), T(e, "dragleave", (e) => m(e, "leave")), T(e, "drop", (e) => m(e, "drop"));
@@ -35,7 +35,8 @@ function ue(e) {
35
35
  if (i) for (let e in i) t[e] = i[e];
36
36
  }
37
37
  return t;
38
- } else if (g(e) || v(e)) return e;
38
+ }
39
+ if (g(e) || v(e)) return e;
39
40
  }
40
41
  var de = /;(?![^(]*\))/g, fe = /:([^]+)/, pe = /\/\*[^]*?\*\//g;
41
42
  function me(e) {
@@ -94,7 +95,7 @@ function M(e, ...t) {
94
95
  }
95
96
  var N, je = class {
96
97
  constructor(e = !1) {
97
- this.detached = e, this._active = !0, this._on = 0, this.effects = [], this.cleanups = [], this._isPaused = !1, this._warnOnRun = !0, this.__v_skip = !0, !e && N && (N.active ? (this.parent = N, this.index = (N.scopes ||= []).push(this) - 1) : (this._active = !1, this._warnOnRun = !1));
98
+ this.detached = e, this._active = !0, this._on = 0, this.effects = [], this.cleanups = [], this._isPaused = !1, this._warnOnRun = !0, this.__v_skip = !0, !e && N && (N.active ? (this.parent = N, this.index = (N.scopes || (N.scopes = [])).push(this) - 1) : (this._active = !1, this._warnOnRun = !1));
98
99
  }
99
100
  get active() {
100
101
  return this._active;
@@ -130,7 +131,8 @@ var N, je = class {
130
131
  } finally {
131
132
  N = t;
132
133
  }
133
- } else process.env.NODE_ENV !== "production" && this._warnOnRun && M("cannot run an inactive effect scope.");
134
+ }
135
+ process.env.NODE_ENV !== "production" && this._warnOnRun && M("cannot run an inactive effect scope.");
134
136
  }
135
137
  on() {
136
138
  ++this._on === 1 && (this.prevScope = N, N = this);
@@ -398,9 +400,7 @@ function at(e, t, n, r, i, a) {
398
400
  case "delete":
399
401
  i || (s(o.get(nt)), f(e) && s(o.get(rt)));
400
402
  break;
401
- case "set":
402
- f(e) && s(o.get(nt));
403
- break;
403
+ case "set": f(e) && s(o.get(nt));
404
404
  }
405
405
  }
406
406
  Ve();
@@ -1122,7 +1122,8 @@ function Fn(e, t, n, r) {
1122
1122
  let i = [];
1123
1123
  for (let a = 0; a < e.length; a++) i.push(Fn(e[a], t, n, r));
1124
1124
  return i;
1125
- } else process.env.NODE_ENV !== "production" && V(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`);
1125
+ }
1126
+ process.env.NODE_ENV !== "production" && V(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`);
1126
1127
  }
1127
1128
  function In(e, n, r, i = !0) {
1128
1129
  let a = n ? n.vnode : null, { errorHandler: o, throwUnhandledErrorInProduction: s } = n && n.appContext.config || t;
@@ -1251,7 +1252,7 @@ function ar(e) {
1251
1252
  rr.get(e.type.__hmrId).instances.delete(e);
1252
1253
  }
1253
1254
  function or(e, t) {
1254
- return rr.has(e) ? !1 : (rr.set(e, {
1255
+ return !rr.has(e) && (rr.set(e, {
1255
1256
  initialDef: sr(t),
1256
1257
  instances: /* @__PURE__ */ new Set()
1257
1258
  }), !0);
@@ -1473,7 +1474,7 @@ var Gr = /* @__PURE__ */ new WeakMap(), Kr = /* @__PURE__ */ Symbol("_vte"), qr
1473
1474
  let r = t(n);
1474
1475
  return process.env.NODE_ENV !== "production" && !r && !Jr(e) && V(`Failed to locate Teleport target with selector "${n}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`), r;
1475
1476
  } else return process.env.NODE_ENV !== "production" && V("Current renderer does not support string target for Teleports. (missing querySelector renderer option)"), null;
1476
- else return process.env.NODE_ENV !== "production" && !n && !Jr(e) && V(`Invalid Teleport target: ${n}`), n;
1477
+ return process.env.NODE_ENV !== "production" && !n && !Jr(e) && V(`Invalid Teleport target: ${n}`), n;
1477
1478
  }, $r = {
1478
1479
  name: "Teleport",
1479
1480
  __isTeleport: !0,
@@ -1923,7 +1924,8 @@ function Fi(e, t, n = $, r = !1) {
1923
1924
  return i(), Ye(), a;
1924
1925
  };
1925
1926
  return r ? i.unshift(a) : i.push(a), a;
1926
- } else process.env.NODE_ENV !== "production" && V(`${ie(Nn[e].replace(/ hook$/, ""))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`);
1927
+ }
1928
+ process.env.NODE_ENV !== "production" && V(`${ie(Nn[e].replace(/ hook$/, ""))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`);
1927
1929
  }
1928
1930
  var Ii = (e) => (t, n = $) => {
1929
1931
  (!Os || e === "sp") && Fi(e, (...e) => t(...e), n);
@@ -1954,7 +1956,8 @@ function Zi(e, t, n = !0, r = !1) {
1954
1956
  V(`Failed to resolve ${e.slice(0, -1)}: ${t}${n}`);
1955
1957
  }
1956
1958
  return o;
1957
- } else process.env.NODE_ENV !== "production" && V(`resolve${O(e.slice(0, -1))} can only be used in render() or setup().`);
1959
+ }
1960
+ process.env.NODE_ENV !== "production" && V(`resolve${O(e.slice(0, -1))} can only be used in render() or setup().`);
1958
1961
  }
1959
1962
  function Qi(e, t) {
1960
1963
  return e && (e[t] || e[E(t)] || e[O(E(t))]);
@@ -2570,7 +2573,7 @@ function Qa(e, t, n, r = !1) {
2570
2573
  let i = {}, a = Xa();
2571
2574
  e.propsDefaults = /* @__PURE__ */ Object.create(null), to(e, t, i, a);
2572
2575
  for (let t in e.propsOptions[0]) t in i || (i[t] = void 0);
2573
- process.env.NODE_ENV !== "production" && so(t || {}, i, e), n ? e.props = r ? i : /* @__PURE__ */ Wt(i) : e.type.props ? e.props = i : e.props = a, e.attrs = a;
2576
+ process.env.NODE_ENV !== "production" && so(t || {}, i, e), e.props = n ? r ? i : /* @__PURE__ */ Wt(i) : e.type.props ? i : a, e.attrs = a;
2574
2577
  }
2575
2578
  function $a(e) {
2576
2579
  for (; e;) {
@@ -2669,7 +2672,8 @@ function io(e, r, i = !1) {
2669
2672
  if (n === "Boolean") {
2670
2673
  a = !0;
2671
2674
  break;
2672
- } else n === "String" && (o = !1);
2675
+ }
2676
+ n === "String" && (o = !1);
2673
2677
  }
2674
2678
  else a = h(i) && i.name === "Boolean";
2675
2679
  r[0] = a, r[1] = o, (a || u(r, "default")) && f.push(t);
@@ -2680,7 +2684,7 @@ function io(e, r, i = !1) {
2680
2684
  return v(e) && a.set(e, m), m;
2681
2685
  }
2682
2686
  function ao(e) {
2683
- return e[0] !== "$" && !T(e) ? !0 : (process.env.NODE_ENV !== "production" && V(`Invalid prop name: "${e}" is a reserved property.`), !1);
2687
+ return e[0] !== "$" && !T(e) || (process.env.NODE_ENV !== "production" && V(`Invalid prop name: "${e}" is a reserved property.`), !1);
2684
2688
  }
2685
2689
  function oo(e) {
2686
2690
  return e === null ? "null" : typeof e == "function" ? e.name || "" : typeof e == "object" && e.constructor && e.constructor.name || "";
@@ -3011,7 +3015,8 @@ function jo(e, i) {
3011
3015
  if (f & 128) {
3012
3016
  pe(l, d, n, r, i, a, o, s, c);
3013
3017
  return;
3014
- } else if (f & 256) {
3018
+ }
3019
+ if (f & 256) {
3015
3020
  fe(l, d, n, r, i, a, o, s, c);
3016
3021
  return;
3017
3022
  }
@@ -3480,7 +3485,7 @@ function ys(e, n, r) {
3480
3485
  ec: null,
3481
3486
  sp: null
3482
3487
  };
3483
- return process.env.NODE_ENV === "production" ? o.ctx = { _: o } : o.ctx = sa(o), o.root = n ? n.root : o, o.emit = Na.bind(null, o), e.ce && e.ce(o), o;
3488
+ return o.ctx = process.env.NODE_ENV === "production" ? { _: o } : sa(o), o.root = n ? n.root : o, o.emit = Na.bind(null, o), e.ce && e.ce(o), o;
3484
3489
  }
3485
3490
  var $ = null, bs = () => $ || W, xs, Ss;
3486
3491
  {
@@ -3613,7 +3618,8 @@ function Rs(e) {
3613
3618
  },
3614
3619
  expose: t
3615
3620
  });
3616
- } else return {
3621
+ }
3622
+ return {
3617
3623
  attrs: new Proxy(e.attrs, Is),
3618
3624
  slots: e.slots,
3619
3625
  emit: e.emit,
@@ -3695,7 +3701,8 @@ function qs() {
3695
3701
  l(n),
3696
3702
  ">"
3697
3703
  ];
3698
- } else if (/* @__PURE__ */ Jt(t)) return [
3704
+ }
3705
+ return /* @__PURE__ */ Jt(t) ? [
3699
3706
  "div",
3700
3707
  {},
3701
3708
  [
@@ -3706,8 +3713,7 @@ function qs() {
3706
3713
  "<",
3707
3714
  l(t),
3708
3715
  `>${/* @__PURE__ */ Yt(t) ? " (readonly)" : ""}`
3709
- ];
3710
- else if (/* @__PURE__ */ Yt(t)) return [
3716
+ ] : /* @__PURE__ */ Yt(t) ? [
3711
3717
  "div",
3712
3718
  {},
3713
3719
  [
@@ -3718,8 +3724,7 @@ function qs() {
3718
3724
  "<",
3719
3725
  l(t),
3720
3726
  ">"
3721
- ];
3722
- return null;
3727
+ ] : null;
3723
3728
  },
3724
3729
  hasBody(e) {
3725
3730
  return e && e.__isVue;
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-JWHwTI6N.js";
1
+ import { t as e } from "./createLucideIcon-AEltGIse.js";
2
2
  var t = e("x", [["path", {
3
3
  d: "M18 6 6 18",
4
4
  key: "1bl5f8"
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@templatical/editor",
3
3
  "description": "Vue 3 visual drag-and-drop email editor powered by Templatical",
4
- "version": "0.24.0",
4
+ "version": "0.24.1",
5
5
  "bugs": "https://github.com/templatical/sdk/issues",
6
6
  "devDependencies": {
7
- "@lucide/vue": "^1.27.0",
7
+ "@lucide/vue": "^1.28.0",
8
8
  "@tiptap/core": "^3.29.2",
9
9
  "@tiptap/extension-color": "^3.29.2",
10
10
  "@tiptap/extension-font-family": "^3.29.2",
@@ -20,21 +20,21 @@
20
20
  "@tiptap/vue-3": "^3.29.2",
21
21
  "@vitejs/plugin-vue": "^6.0.8",
22
22
  "@vue/test-utils": "^2.4.11",
23
- "@vueuse/core": "^14.3.0",
23
+ "@vueuse/core": "^14.4.0",
24
24
  "es-module-lexer": "^2.3.1",
25
25
  "happy-dom": "^20.11.1",
26
- "liquidjs": "^10.27.2",
26
+ "liquidjs": "^10.28.0",
27
27
  "tailwindcss": "^4.3.3",
28
28
  "typescript": "^6.0.3",
29
29
  "vanilla-colorful": "^0.7.2",
30
- "vite": "^8.1.5",
30
+ "vite": "^8.2.0",
31
31
  "vitest": "^4.1.10",
32
32
  "vue": "^3.5.40",
33
33
  "vue-draggable-plus": "^0.6.1",
34
- "vue-tsc": "^3.3.8",
35
- "@templatical/core": "0.24.0",
36
- "@templatical/quality": "0.24.0",
37
- "@templatical/types": "0.24.0"
34
+ "vue-tsc": "^3.3.9",
35
+ "@templatical/core": "0.24.1",
36
+ "@templatical/quality": "0.24.1",
37
+ "@templatical/types": "0.24.1"
38
38
  },
39
39
  "exports": {
40
40
  ".": {
@@ -62,9 +62,9 @@
62
62
  "license": "SEE LICENSE IN LICENSE",
63
63
  "module": "./dist/templatical-editor.js",
64
64
  "peerDependencies": {
65
- "@templatical/media-library": "0.24.0",
66
- "@templatical/quality": "0.24.0",
67
- "@templatical/renderer": "0.24.0"
65
+ "@templatical/media-library": "0.24.1",
66
+ "@templatical/quality": "0.24.1",
67
+ "@templatical/renderer": "0.24.1"
68
68
  },
69
69
  "peerDependenciesMeta": {
70
70
  "@templatical/renderer": {
@@ -1,264 +0,0 @@
1
- import { Dt as e, Et as t, I as n, O as r, Ot as i, R as ee, T as a, Y as o, _ as s, c, d as l, h as u, l as te, m as d, nt as f, s as ne, u as p, z as re } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { a as ie, t as ae } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
- import { t as oe } from "./upload-BwwE0U6G.js";
4
- import { H as m, h, r as se } from "./keys-BVlG5Ozc.js";
5
- import { t as g } from "./createLucideIcon-JWHwTI6N.js";
6
- import { t as ce } from "./circle-alert-CgtE46ND.js";
7
- import { t as _ } from "./image-up-CQdtq8ge.js";
8
- import { t as v } from "./x-CkD6A1iB.js";
9
- import { t as le } from "./LoadingTrack-KIcREPlS.js";
10
- import { t as y } from "./_plugin-vue_export-helper-B3ysoDQm.js";
11
- import { n as ue } from "./useCloudI18n-DGr3b2SX.js";
12
- import { f as de } from "./cloud-DsUct4Zq.js";
13
- var fe = g("file-image", [
14
- ["path", {
15
- d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
16
- key: "1oefj6"
17
- }],
18
- ["path", {
19
- d: "M14 2v5a1 1 0 0 0 1 1h5",
20
- key: "wfsgrz"
21
- }],
22
- ["circle", {
23
- cx: "10",
24
- cy: "12",
25
- r: "2",
26
- key: "737tya"
27
- }],
28
- ["path", {
29
- d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",
30
- key: "wt3hpn"
31
- }]
32
- ]), b = g("file-text", [
33
- ["path", {
34
- d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
35
- key: "1oefj6"
36
- }],
37
- ["path", {
38
- d: "M14 2v5a1 1 0 0 0 1 1h5",
39
- key: "wfsgrz"
40
- }],
41
- ["path", {
42
- d: "M10 9H8",
43
- key: "b1mrlr"
44
- }],
45
- ["path", {
46
- d: "M16 13H8",
47
- key: "t4e002"
48
- }],
49
- ["path", {
50
- d: "M16 17H8",
51
- key: "z1uh3a"
52
- }]
53
- ]), pe = {
54
- key: 0,
55
- class: "tpl-design-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
56
- }, me = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, he = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, x = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, S = {
57
- key: 0,
58
- class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
59
- }, C = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, w = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, T = {
60
- key: 1,
61
- class: "tpl:flex tpl:flex-col tpl:gap-4"
62
- }, E = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, D = {
63
- key: 0,
64
- class: "tpl:flex tpl:flex-col tpl:gap-2"
65
- }, O = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, k = ["src", "alt"], A = {
66
- key: 1,
67
- class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
68
- }, j = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, M = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, N = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, P = ["accept"], F = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, I = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, L = ["placeholder"], R = {
69
- key: 0,
70
- class: "tpl:flex tpl:flex-col tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:px-3 tpl:py-3 tpl:bg-[var(--tpl-warning-light)] tpl:border tpl:border-[var(--tpl-warning)]"
71
- }, ge = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, _e = { class: "tpl:flex tpl:gap-2" }, ve = {
72
- key: 1,
73
- class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
74
- }, ye = ["disabled"], be = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, z = /*#__PURE__*/ y(/* @__PURE__ */ s({
75
- __name: "DesignReferenceSidebar",
76
- props: {
77
- visible: { type: Boolean },
78
- hasExistingBlocks: { type: Boolean }
79
- },
80
- emits: ["close", "apply"],
81
- setup(s, { emit: g }) {
82
- let y = s, z = g, { t: B } = ue(), xe = m(h, "DesignReferenceSidebar"), V = de({
83
- authManager: m(se, "DesignReferenceSidebar"),
84
- getTemplateId: () => xe.state.template?.id ?? null,
85
- onApply: (e) => z("apply", e)
86
- }), H = o(null), U = o("image"), W = o(null), G = o(""), K = o(null), q = o(!1), J = o(!1), Y = ne(() => !V.isGenerating.value && W.value !== null);
87
- function X(e) {
88
- U.value = e, Q();
89
- }
90
- function Se(e) {
91
- let t = e.target, n = t.files?.[0];
92
- n && Z(n), t.value = "";
93
- }
94
- function Z(e) {
95
- if (e.size > 10485760) {
96
- V.error.value = B.designReference.fileTooLarge;
97
- return;
98
- }
99
- if (U.value === "image") {
100
- if (![
101
- "image/png",
102
- "image/jpeg",
103
- "image/jpg",
104
- "image/webp"
105
- ].includes(e.type)) {
106
- V.error.value = B.designReference.invalidFileType;
107
- return;
108
- }
109
- } else if (U.value === "pdf" && e.type !== "application/pdf") {
110
- V.error.value = B.designReference.invalidFileType;
111
- return;
112
- }
113
- W.value = e, V.error.value = null, K.value && URL.revokeObjectURL(K.value), e.type.startsWith("image/") ? K.value = URL.createObjectURL(e) : K.value = null;
114
- }
115
- function Q() {
116
- K.value &&= (URL.revokeObjectURL(K.value), null), W.value = null;
117
- }
118
- function Ce(e) {
119
- e.preventDefault(), J.value = !0;
120
- }
121
- function we() {
122
- J.value = !1;
123
- }
124
- function Te(e) {
125
- e.preventDefault(), J.value = !1;
126
- let t = e.dataTransfer?.files?.[0];
127
- t && Z(t);
128
- }
129
- function $() {
130
- if (!Y.value) return;
131
- if (y.hasExistingBlocks && !q.value) {
132
- q.value = !0;
133
- return;
134
- }
135
- q.value = !1;
136
- let e = {};
137
- G.value.trim() && (e.prompt = G.value.trim()), U.value === "image" && W.value ? e.imageUpload = W.value : U.value === "pdf" && W.value && (e.pdfUpload = W.value), V.generate(e);
138
- }
139
- function Ee() {
140
- q.value = !1;
141
- }
142
- return n(() => y.visible, (e) => {
143
- e || (q.value = !1);
144
- }), a(() => {
145
- K.value &&= (URL.revokeObjectURL(K.value), null);
146
- }), (n, a) => (r(), te(ae, {
147
- "enter-active-class": "tpl-design-slide-enter-active",
148
- "enter-from-class": "tpl:translate-x-full",
149
- "enter-to-class": "tpl:translate-x-0",
150
- "leave-active-class": "tpl-design-slide-leave-active",
151
- "leave-from-class": "tpl:translate-x-0",
152
- "leave-to-class": "tpl:translate-x-full"
153
- }, {
154
- default: ee(() => [s.visible ? (r(), l("div", pe, [c("div", me, [c("div", he, [u(f(_), {
155
- size: 13,
156
- "stroke-width": 2
157
- }), c("span", null, i(f(B).designReference.title), 1)]), c("button", {
158
- class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
159
- onClick: a[0] ||= (e) => z("close")
160
- }, [u(f(v), {
161
- size: 14,
162
- "stroke-width": 2
163
- })])]), c("div", x, [f(V).isGenerating.value ? (r(), l("div", S, [c("div", C, [u(le), c("p", w, i(f(B).designReference.generating), 1)])])) : (r(), l("div", T, [
164
- c("div", E, [c("button", {
165
- class: "tpl:flex tpl:flex-1 tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-2 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
166
- style: e({
167
- backgroundColor: U.value === "image" ? "var(--tpl-bg)" : "transparent",
168
- color: U.value === "image" ? "var(--tpl-primary)" : "var(--tpl-text-muted)",
169
- boxShadow: U.value === "image" ? "var(--tpl-shadow)" : "none"
170
- }),
171
- onClick: a[1] ||= (e) => X("image")
172
- }, [u(f(fe), {
173
- size: 12,
174
- "stroke-width": 2
175
- }), d(" " + i(f(B).designReference.uploadImage), 1)], 4), c("button", {
176
- class: "tpl:flex tpl:flex-1 tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-2 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
177
- style: e({
178
- backgroundColor: U.value === "pdf" ? "var(--tpl-bg)" : "transparent",
179
- color: U.value === "pdf" ? "var(--tpl-primary)" : "var(--tpl-text-muted)",
180
- boxShadow: U.value === "pdf" ? "var(--tpl-shadow)" : "none"
181
- }),
182
- onClick: a[2] ||= (e) => X("pdf")
183
- }, [u(f(b), {
184
- size: 12,
185
- "stroke-width": 2
186
- }), d(" " + i(f(B).designReference.uploadPdf), 1)], 4)]),
187
- c("div", null, [W.value ? (r(), l("div", D, [c("div", O, [K.value ? (r(), l("img", {
188
- key: 0,
189
- src: K.value,
190
- alt: W.value.name,
191
- class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
192
- }, null, 8, k)) : (r(), l("div", A, [u(f(b), {
193
- size: 32,
194
- "stroke-width": 1.5,
195
- class: "tpl:text-[var(--tpl-text-dim)]"
196
- }), c("span", j, i(W.value.name), 1)])), c("button", {
197
- class: "tpl:absolute tpl:top-2 tpl:right-2 tpl:rounded-full tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow)]",
198
- onClick: Q
199
- }, [u(f(v), {
200
- size: 12,
201
- "stroke-width": 2
202
- })])])])) : (r(), l("div", {
203
- key: 1,
204
- class: "tpl-design-dropzone tpl:flex tpl:cursor-pointer tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border-2 tpl:border-dashed tpl:px-4 tpl:py-8 tpl:transition-colors tpl:duration-150",
205
- style: e({
206
- borderColor: J.value ? "var(--tpl-primary)" : "var(--tpl-border-light)",
207
- backgroundColor: J.value ? "var(--tpl-primary-light)" : "var(--tpl-bg)"
208
- }),
209
- onClick: a[3] ||= (e) => H.value?.click(),
210
- onDragover: Ce,
211
- onDragleave: we,
212
- onDrop: Te
213
- }, [
214
- u(f(oe), {
215
- size: 24,
216
- "stroke-width": 1.5,
217
- class: "tpl:text-[var(--tpl-text-dim)]"
218
- }),
219
- c("span", M, i(f(B).designReference.dropHint), 1),
220
- c("span", N, i(U.value === "image" ? f(B).designReference.acceptedImages : f(B).designReference.acceptedPdf), 1)
221
- ], 36)), c("input", {
222
- ref_key: "fileInput",
223
- ref: H,
224
- type: "file",
225
- class: "tpl:hidden",
226
- accept: U.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
227
- onChange: Se
228
- }, null, 40, P)]),
229
- c("div", F, [c("label", I, i(f(B).designReference.promptLabel), 1), re(c("textarea", {
230
- "onUpdate:modelValue": a[4] ||= (e) => G.value = e,
231
- class: t(["tpl:min-h-[72px] tpl:w-full tpl:resize-none tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:font-sans tpl:text-sm tpl:outline-none tpl:transition-colors tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", ["tpl-design-prompt-input"]]),
232
- placeholder: f(B).designReference.promptPlaceholder,
233
- rows: "3"
234
- }, null, 8, L), [[ie, G.value]])]),
235
- q.value ? (r(), l("div", R, [c("p", ge, i(f(B).designReference.replaceWarning), 1), c("div", _e, [c("button", {
236
- class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
237
- style: { "background-color": "transparent" },
238
- onClick: Ee
239
- }, i(f(B).designReference.replaceCancel), 1), c("button", {
240
- class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
241
- onClick: $
242
- }, i(f(B).designReference.replaceConfirm), 1)])])) : p("", !0),
243
- f(V).error.value ? (r(), l("div", ve, [u(f(ce), {
244
- size: 14,
245
- "stroke-width": 2,
246
- class: "tpl:mt-0.5 tpl:shrink-0"
247
- }), c("span", null, i(f(B).designReference.error), 1)])) : p("", !0),
248
- q.value ? p("", !0) : (r(), l("button", {
249
- key: 2,
250
- class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-4 tpl:py-2.5 tpl:text-sm tpl:font-medium 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)]",
251
- disabled: !Y.value,
252
- onClick: $
253
- }, [u(f(_), {
254
- size: 16,
255
- "stroke-width": 2
256
- }), d(" " + i(f(B).designReference.generate), 1)], 8, ye)),
257
- c("p", be, i(f(B).aiMenu.disclaimer), 1)
258
- ]))])])) : p("", !0)]),
259
- _: 1
260
- }));
261
- }
262
- }), [["__scopeId", "data-v-bdbf8d0d"]]);
263
- //#endregion
264
- export { z as default };
@@ -1,49 +0,0 @@
1
- import { O as e, R as t, Y as n, _ as r, c as i, d as a, h as o, i as s, j as c, l, nt as u, s as d, u as f, x as p } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { c as m, t as h } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
- import { O as g } from "./useEditorCore-DOrGex_t.js";
4
- import { n as _ } from "./usePopoverPosition-vjKJaqJf.js";
5
- import { B as v } from "./keys-BVlG5Ozc.js";
6
- //#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
7
- var y = ["data-tpl-theme"], b = /* @__PURE__ */ r({
8
- __name: "TplModal",
9
- props: { visible: { type: Boolean } },
10
- emits: ["close", "keydown"],
11
- setup(r, { emit: b }) {
12
- let x = r, S = b, C = n(null);
13
- g(C, d(() => x.visible));
14
- let w = p(v), T = _();
15
- function E(e) {
16
- e.key === "Escape" && S("close"), S("keydown", e);
17
- }
18
- return (n, d) => u(T) ? (e(), l(s, {
19
- key: 0,
20
- to: u(T)
21
- }, [o(h, {
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: t(() => [r.visible ? (e(), a("div", {
30
- key: 0,
31
- "data-tpl-theme": u(w),
32
- class: "tpl tpl:fixed tpl:inset-0 tpl:z-modal tpl:flex tpl:items-center tpl:justify-center",
33
- style: {
34
- "background-color": "var(--tpl-overlay)",
35
- "backdrop-filter": "blur(8px)",
36
- "-webkit-backdrop-filter": "blur(8px)"
37
- },
38
- onClick: d[0] ||= m((e) => S("close"), ["self"]),
39
- onKeydown: E
40
- }, [i("div", {
41
- ref_key: "dialogRef",
42
- ref: C
43
- }, [c(n.$slots, "default")], 512)], 40, y)) : f("", !0)]),
44
- _: 3
45
- })], 8, ["to"])) : f("", !0);
46
- }
47
- });
48
- //#endregion
49
- export { b as t };