@templatical/editor 0.26.3 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/README.md +3 -1
  2. package/dist/{AiChatSidebar-CMBz6Wix.js → AiChatSidebar-iVJDzqjr.js} +60 -60
  3. package/dist/AiFeatureMenu-DvrK-dzj.js +57 -0
  4. package/dist/{BlockIssueBadge-Buk3_6QF.js → BlockIssueBadge-BHysq7XQ.js} +11 -11
  5. package/dist/BlockPreviewCanvas-GZbr0ph5.js +121 -0
  6. package/dist/CloudHeaderExtras-Cx8gFWu2.js +59 -0
  7. package/dist/CloudPanels-D0X449DD.js +227 -0
  8. package/dist/{CollaboratorBar-BGwbg9aN.js → CollaboratorBar-DMSWCrX3.js} +21 -21
  9. package/dist/ColorPicker-DCjFQCAg.js +501 -0
  10. package/dist/CommentsPanel-D5wQB1Kf.js +18 -0
  11. package/dist/CommentsSidebar-BoTIxpLE.js +481 -0
  12. package/dist/{cdn/chunks/CountdownBlock-vLTkTI9e.js → CountdownBlock-BFX8iU90.js} +19 -21
  13. package/dist/{cdn/chunks/CountdownToolbar-DPjcgcVR.js → CountdownToolbar-CSftc9Ma.js} +52 -53
  14. package/dist/{DesignReferenceSidebar-Bx96XFmK.js → DesignReferenceSidebar-DKsx2TiL.js} +72 -71
  15. package/dist/{IssuesPanel-Do7RLXsP.js → IssuesPanel-flKKwKpM.js} +38 -38
  16. package/dist/{LoadingTrack-BexpNuTV.js → LoadingTrack-C2T8ixEL.js} +3 -3
  17. package/dist/{MergeTagModeToggle-P-UguQHc.js → MergeTagModeToggle-PKCoKAoF.js} +43 -43
  18. package/dist/{MergeTagSuggestion-BJ43ihWR.js → MergeTagSuggestion-DGha0WRp.js} +46 -46
  19. package/dist/{cdn/chunks/NumberWithSuffix-BXrRdfq1.js → NumberWithSuffix-DdPCXfKf.js} +42 -44
  20. package/dist/{ParagraphEditor-6WN5jmXr.js → ParagraphEditor-vDU-5y6r.js} +200 -198
  21. package/dist/RestoreVersionDialog-DIn1muFD.js +86 -0
  22. package/dist/{RichTextEditorContent-fbYJXAio.js → RichTextEditorContent-I83k5DtQ.js} +44 -44
  23. package/dist/SaveBlockDialog-C_QvYAeL.js +266 -0
  24. package/dist/{SavedBlocksBrowserModal-GMrajvfV.js → SavedBlocksBrowserModal-CefWWcdT.js} +116 -115
  25. package/dist/{cdn/chunks/SavedBlocksPanels-CUtYoi5Z.js → SavedBlocksPanels-DnQwO-7O.js} +9 -11
  26. package/dist/{SavedBlocksPickBar-Dk_IaMO9.js → SavedBlocksPickBar-BsFubArH.js} +17 -17
  27. package/dist/{TemplateScoringPanel-BZUsb3FD.js → TemplateScoringPanel-Bv_bBsJi.js} +87 -87
  28. package/dist/TestEmailModal-STPWDP79.js +206 -0
  29. package/dist/{cdn/chunks/TestEmailPanel-B8y7JabA.js → TestEmailPanel-HYVjApKZ.js} +4 -6
  30. package/dist/TitleEditor-DnB0EJ_g.js +198 -0
  31. package/dist/TplModal-chvLhXmC.js +49 -0
  32. package/dist/VersionHistoryMenu-Cq4rH56t.js +155 -0
  33. package/dist/VersionHistoryPanels-D7k_F7-9.js +46 -0
  34. package/dist/VersionPreviewBanner-DthyHe6C.js +38 -0
  35. package/dist/{blockTypeIcons-C7wRSaT3.js → blockTypeIcons-B8r4jMBn.js} +6 -6
  36. package/dist/bundle-stats.json +8 -8
  37. package/dist/{ca-D1zgI9fQ.js → ca-Cqg9O8mx.js} +69 -6
  38. package/dist/cdn/chunks/{AiChatSidebar-CQ8KUmNB.js → AiChatSidebar-DTUoBH5a.js} +54 -54
  39. package/dist/cdn/chunks/AiChatSidebar-DTUoBH5a.js.map +1 -0
  40. package/dist/cdn/chunks/AiFeatureMenu-Dyh7mUMB.js +57 -0
  41. package/dist/cdn/chunks/AiFeatureMenu-Dyh7mUMB.js.map +1 -0
  42. package/dist/cdn/chunks/{BlockIssueBadge-BEEY9o2o.js → BlockIssueBadge-UzSSOM_2.js} +13 -13
  43. package/dist/cdn/chunks/{BlockIssueBadge-BEEY9o2o.js.map → BlockIssueBadge-UzSSOM_2.js.map} +1 -1
  44. package/dist/cdn/chunks/{BlockPreviewCanvas-msj619wT.js → BlockPreviewCanvas-DStQFo9P.js} +42 -42
  45. package/dist/cdn/chunks/{BlockPreviewCanvas-msj619wT.js.map → BlockPreviewCanvas-DStQFo9P.js.map} +1 -1
  46. package/dist/cdn/chunks/CloudHeaderExtras-BZVu7dnO.js +60 -0
  47. package/dist/cdn/chunks/CloudHeaderExtras-BZVu7dnO.js.map +1 -0
  48. package/dist/cdn/chunks/CloudPanels-CXbaBKHQ.js +227 -0
  49. package/dist/cdn/chunks/CloudPanels-CXbaBKHQ.js.map +1 -0
  50. package/dist/cdn/chunks/{CollaboratorBar-G_sZDZXw.js → CollaboratorBar-BH_lZlat.js} +22 -22
  51. package/dist/cdn/chunks/CollaboratorBar-BH_lZlat.js.map +1 -0
  52. package/dist/cdn/chunks/ColorPicker-CStXen0Y.js +502 -0
  53. package/dist/cdn/chunks/ColorPicker-CStXen0Y.js.map +1 -0
  54. package/dist/cdn/chunks/CommentsPanel-jzZ2X0P4.js +20 -0
  55. package/dist/cdn/chunks/CommentsPanel-jzZ2X0P4.js.map +1 -0
  56. package/dist/cdn/chunks/CommentsSidebar-Dxke-vUP.js +460 -0
  57. package/dist/cdn/chunks/CommentsSidebar-Dxke-vUP.js.map +1 -0
  58. package/dist/{CountdownBlock-DuyvGcr8.js → cdn/chunks/CountdownBlock-BYSrJWxg.js} +25 -23
  59. package/dist/cdn/chunks/{CountdownBlock-vLTkTI9e.js.map → CountdownBlock-BYSrJWxg.js.map} +1 -1
  60. package/dist/{CountdownToolbar-CBE9wRaV.js → cdn/chunks/CountdownToolbar-CZPtQIb8.js} +66 -63
  61. package/dist/cdn/chunks/{CountdownToolbar-DPjcgcVR.js.map → CountdownToolbar-CZPtQIb8.js.map} +1 -1
  62. package/dist/cdn/chunks/{DesignReferenceSidebar-B-HFXV0W.js → DesignReferenceSidebar-sZWciECR.js} +64 -64
  63. package/dist/cdn/chunks/DesignReferenceSidebar-sZWciECR.js.map +1 -0
  64. package/dist/cdn/chunks/{IssuesPanel-DKTS4QVb.js → IssuesPanel-CHtetM9i.js} +36 -36
  65. package/dist/cdn/chunks/IssuesPanel-CHtetM9i.js.map +1 -0
  66. package/dist/cdn/chunks/{LoadingTrack-C52ZGL5q.js → LoadingTrack-Dp_QZvAK.js} +3 -3
  67. package/dist/cdn/chunks/{LoadingTrack-C52ZGL5q.js.map → LoadingTrack-Dp_QZvAK.js.map} +1 -1
  68. package/dist/cdn/chunks/{MergeTagModeToggle-DQ79SqQc.js → MergeTagModeToggle-ZwW-5EeN.js} +39 -39
  69. package/dist/cdn/chunks/{MergeTagModeToggle-DQ79SqQc.js.map → MergeTagModeToggle-ZwW-5EeN.js.map} +1 -1
  70. package/dist/cdn/chunks/{MergeTagSuggestion-Dn8dExNa.js → MergeTagSuggestion-DhllqTA3.js} +47 -47
  71. package/dist/cdn/chunks/MergeTagSuggestion-DhllqTA3.js.map +1 -0
  72. package/dist/{NumberWithSuffix-D37ZWiZh.js → cdn/chunks/NumberWithSuffix-yeQLcCyH.js} +37 -35
  73. package/dist/cdn/chunks/NumberWithSuffix-yeQLcCyH.js.map +1 -0
  74. package/dist/cdn/chunks/{ParagraphEditor-CZ5Z6AgG.js → ParagraphEditor-BJJ925sx.js} +234 -233
  75. package/dist/cdn/chunks/ParagraphEditor-BJJ925sx.js.map +1 -0
  76. package/dist/cdn/chunks/RestoreVersionDialog-B0Jadu6F.js +87 -0
  77. package/dist/cdn/chunks/RestoreVersionDialog-B0Jadu6F.js.map +1 -0
  78. package/dist/cdn/chunks/{RichTextEditorContent-DtL49Jpo.js → RichTextEditorContent-CfSq2wPR.js} +44 -44
  79. package/dist/cdn/chunks/RichTextEditorContent-CfSq2wPR.js.map +1 -0
  80. package/dist/cdn/chunks/SaveBlockDialog-C1DXh6P9.js +265 -0
  81. package/dist/cdn/chunks/SaveBlockDialog-C1DXh6P9.js.map +1 -0
  82. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BkQXEUE2.js → SavedBlocksBrowserModal-BerMxAUt.js} +114 -113
  83. package/dist/cdn/chunks/SavedBlocksBrowserModal-BerMxAUt.js.map +1 -0
  84. package/dist/{SavedBlocksPanels-DEPmNhi6.js → cdn/chunks/SavedBlocksPanels-BUE4lzVP.js} +11 -9
  85. package/dist/cdn/chunks/{SavedBlocksPanels-CUtYoi5Z.js.map → SavedBlocksPanels-BUE4lzVP.js.map} +1 -1
  86. package/dist/cdn/chunks/{SavedBlocksPickBar-C80qJykl.js → SavedBlocksPickBar-4HrqQfvl.js} +17 -17
  87. package/dist/cdn/chunks/SavedBlocksPickBar-4HrqQfvl.js.map +1 -0
  88. package/dist/cdn/chunks/{TemplateScoringPanel-NucRtAP0.js → TemplateScoringPanel-Xdkp2EMY.js} +81 -81
  89. package/dist/cdn/chunks/TemplateScoringPanel-Xdkp2EMY.js.map +1 -0
  90. package/dist/cdn/chunks/TestEmailModal-yfmFiavR.js +206 -0
  91. package/dist/cdn/chunks/TestEmailModal-yfmFiavR.js.map +1 -0
  92. package/dist/{TestEmailPanel-DubocPxf.js → cdn/chunks/TestEmailPanel-DqTDh5ri.js} +6 -4
  93. package/dist/cdn/chunks/{TestEmailPanel-B8y7JabA.js.map → TestEmailPanel-DqTDh5ri.js.map} +1 -1
  94. package/dist/cdn/chunks/{TitleEditor-C8WDXf4P.js → TitleEditor-nUAF7fKr.js} +83 -83
  95. package/dist/cdn/chunks/TitleEditor-nUAF7fKr.js.map +1 -0
  96. package/dist/cdn/chunks/TplModal-C0IqikoV.js +50 -0
  97. package/dist/cdn/chunks/TplModal-C0IqikoV.js.map +1 -0
  98. package/dist/cdn/chunks/VersionHistoryMenu-_MAj3qZj.js +148 -0
  99. package/dist/cdn/chunks/VersionHistoryMenu-_MAj3qZj.js.map +1 -0
  100. package/dist/cdn/chunks/VersionHistoryPanels-6Hz9w20W.js +48 -0
  101. package/dist/cdn/chunks/VersionHistoryPanels-6Hz9w20W.js.map +1 -0
  102. package/dist/cdn/chunks/VersionPreviewBanner-D098_6_I.js +40 -0
  103. package/dist/cdn/chunks/VersionPreviewBanner-D098_6_I.js.map +1 -0
  104. package/dist/cdn/chunks/{blockTypeIcons-FXlMM3PL.js → blockTypeIcons-hX_W4dqo.js} +2 -2
  105. package/dist/cdn/chunks/{blockTypeIcons-FXlMM3PL.js.map → blockTypeIcons-hX_W4dqo.js.map} +1 -1
  106. package/dist/cdn/chunks/{ca-D1zgI9fQ.js → ca-Cqg9O8mx.js} +70 -7
  107. package/dist/cdn/chunks/ca-Cqg9O8mx.js.map +1 -0
  108. package/dist/{cloud-qINCmQbn.js → cdn/chunks/cloud-BA0OpRh-.js} +400 -609
  109. package/dist/cdn/chunks/cloud-BA0OpRh-.js.map +1 -0
  110. package/dist/cdn/chunks/createCloudRuntime-DmzV7OnU.js +344 -0
  111. package/dist/cdn/chunks/createCloudRuntime-DmzV7OnU.js.map +1 -0
  112. package/dist/{de-DHra3lvx.js → cdn/chunks/de-BXmeeFbX.js} +71 -6
  113. package/dist/cdn/chunks/de-BXmeeFbX.js.map +1 -0
  114. package/dist/{de-uVoSP1xF.js → cdn/chunks/de-Dbwm2cON.js} +3 -54
  115. package/dist/cdn/chunks/de-Dbwm2cON.js.map +1 -0
  116. package/dist/cdn/chunks/{dist-B2HKGHnc.js → dist-CM8TB0VD.js} +136 -136
  117. package/dist/cdn/chunks/{dist-B2HKGHnc.js.map → dist-CM8TB0VD.js.map} +1 -1
  118. package/dist/cdn/chunks/{dist-C6z8AjBC.js → dist-CYLJiSiH.js} +63 -63
  119. package/dist/cdn/chunks/{dist-C6z8AjBC.js.map → dist-CYLJiSiH.js.map} +1 -1
  120. package/dist/cdn/chunks/{draggable-DCs9qL-b.js → draggable-BfpsXFg7.js} +916 -905
  121. package/dist/cdn/chunks/{draggable-DCs9qL-b.js.map → draggable-BfpsXFg7.js.map} +1 -1
  122. package/dist/{en-DlqX2YWZ.js → cdn/chunks/en-DbBNy67B.js} +71 -6
  123. package/dist/cdn/chunks/en-DbBNy67B.js.map +1 -0
  124. package/dist/{en-CjhsJxb-.js → cdn/chunks/en-Dzw4EqNI.js} +3 -54
  125. package/dist/cdn/chunks/en-Dzw4EqNI.js.map +1 -0
  126. package/dist/cdn/chunks/{es-Cuss2snv.js → es-JUsAjxWu.js} +70 -7
  127. package/dist/cdn/chunks/es-JUsAjxWu.js.map +1 -0
  128. package/dist/cdn/chunks/{extensions-qhcN3RMT.js → extensions-CMcVw2uu.js} +53 -53
  129. package/dist/cdn/chunks/{extensions-qhcN3RMT.js.map → extensions-CMcVw2uu.js.map} +1 -1
  130. package/dist/{fr-Cm85vB2g.js → cdn/chunks/fr-J3qgXH4h.js} +71 -6
  131. package/dist/cdn/chunks/fr-J3qgXH4h.js.map +1 -0
  132. package/dist/cdn/chunks/{icons-CvYN6zrM.js → icons-C36Ha5VU.js} +11 -11
  133. package/dist/cdn/chunks/{icons-CvYN6zrM.js.map → icons-C36Ha5VU.js.map} +1 -1
  134. package/dist/{keys-fwF3qZax.js → cdn/chunks/keys-CbQuRX85.js} +6 -4
  135. package/dist/cdn/chunks/keys-CbQuRX85.js.map +1 -0
  136. package/dist/cdn/chunks/logger-ByvdoAwq.js +23 -0
  137. package/dist/cdn/chunks/logger-ByvdoAwq.js.map +1 -0
  138. package/dist/cdn/chunks/{nl-dmiIX7oT.js → nl-D_4DkqOi.js} +70 -7
  139. package/dist/cdn/chunks/nl-D_4DkqOi.js.map +1 -0
  140. package/dist/cdn/chunks/preRenderCustomBlocks-CbA3RcAy.js +23 -0
  141. package/dist/cdn/chunks/preRenderCustomBlocks-CbA3RcAy.js.map +1 -0
  142. package/dist/{pt-BR-CTzHTqJD.js → cdn/chunks/pt-BR-BxzQzWGJ.js} +3 -54
  143. package/dist/cdn/chunks/pt-BR-BxzQzWGJ.js.map +1 -0
  144. package/dist/cdn/chunks/{pt-BR-CaIG-7EM.js → pt-BR-KGURyEEQ.js} +70 -7
  145. package/dist/cdn/chunks/pt-BR-KGURyEEQ.js.map +1 -0
  146. package/dist/cdn/chunks/{src-BwbnXShT.js → src-BOjFLNf7.js} +148 -134
  147. package/dist/cdn/chunks/src-BOjFLNf7.js.map +1 -0
  148. package/dist/cdn/chunks/{src-xkGep9eN.js → src-Dq3fgSIx.js} +1448 -1458
  149. package/dist/cdn/chunks/src-Dq3fgSIx.js.map +1 -0
  150. package/dist/cdn/chunks/styleConstants-ByDqaYj_.js +61 -0
  151. package/dist/cdn/chunks/styleConstants-ByDqaYj_.js.map +1 -0
  152. package/dist/cdn/chunks/timeouts-DHPZQ0G3.js +6 -0
  153. package/dist/cdn/chunks/timeouts-DHPZQ0G3.js.map +1 -0
  154. package/dist/cdn/chunks/{tiptap-C44S1Cmh.js → tiptap-DmpGap5g.js} +40 -40
  155. package/dist/cdn/chunks/{tiptap-C44S1Cmh.js.map → tiptap-DmpGap5g.js.map} +1 -1
  156. package/dist/cdn/chunks/{useAliveFlag-Dxwgo6P4.js → useAliveFlag-Dtm174fG.js} +2 -2
  157. package/dist/cdn/chunks/{useAliveFlag-Dxwgo6P4.js.map → useAliveFlag-Dtm174fG.js.map} +1 -1
  158. package/dist/cdn/chunks/{useCloudI18n-8wkJtuJD.js → useCloudI18n-NVa1aeY8.js} +5 -5
  159. package/dist/cdn/chunks/{useCloudI18n-8wkJtuJD.js.map → useCloudI18n-NVa1aeY8.js.map} +1 -1
  160. package/dist/cdn/chunks/{useEditorCore-CcgxY-Gy.js → useEditorCore-CTu_qZ3W.js} +1434 -1147
  161. package/dist/cdn/chunks/useEditorCore-CTu_qZ3W.js.map +1 -0
  162. package/dist/cdn/chunks/{useI18n-UMs0F71x.js → useI18n-DVWCJJFH.js} +5 -5
  163. package/dist/cdn/chunks/{useI18n-UMs0F71x.js.map → useI18n-DVWCJJFH.js.map} +1 -1
  164. package/dist/cdn/chunks/{useMergeTag-JmXOtpln.js → useMergeTag-BfZBRPQp.js} +4 -4
  165. package/dist/cdn/chunks/{useMergeTag-JmXOtpln.js.map → useMergeTag-BfZBRPQp.js.map} +1 -1
  166. package/dist/cdn/chunks/{usePopoverPosition-cf8Y-ynK.js → usePopoverPosition-BC-HA7TK.js} +3 -3
  167. package/dist/cdn/chunks/{usePopoverPosition-cf8Y-ynK.js.map → usePopoverPosition-BC-HA7TK.js.map} +1 -1
  168. package/dist/cdn/editor.css +1 -1
  169. package/dist/cdn/editor.js +5103 -284
  170. package/dist/cdn/editor.js.map +1 -1
  171. package/dist/{check-On4TSac-.js → check-DZbmkMQe.js} +1 -1
  172. package/dist/{chevron-down-69EiBGoB.js → chevron-down-nYScOLeZ.js} +1 -1
  173. package/dist/{chevron-up-Dh3MG1Dw.js → chevron-up-CpYpDLnc.js} +1 -1
  174. package/dist/{circle-alert-cilwzafX.js → circle-alert-CuuK6thq.js} +1 -1
  175. package/dist/{clock-Dt0APH92.js → clock-DxkrtqOr.js} +1 -1
  176. package/dist/cloud-BAefVBb_.js +1444 -0
  177. package/dist/createCloudRuntime-Bt8W-ajI.js +342 -0
  178. package/dist/{createLucideIcon-C8WzBYCv.js → createLucideIcon-L-wQXW_R.js} +9 -9
  179. package/dist/{cdn/chunks/de-DHra3lvx.js → de-BXmeeFbX.js} +69 -8
  180. package/dist/{cdn/chunks/de-uVoSP1xF.js → de-Dbwm2cON.js} +1 -56
  181. package/dist/dist-B5iReTtK.js +251 -0
  182. package/dist/{dist-Cl8J0IES.js → dist-Ck9roB6K.js} +42 -42
  183. package/dist/{dist-BpKxrUi2.js → dist-CqcGTIiX.js} +46 -46
  184. package/dist/{cdn/chunks/en-DlqX2YWZ.js → en-DbBNy67B.js} +69 -8
  185. package/dist/{cdn/chunks/en-CjhsJxb-.js → en-Dzw4EqNI.js} +1 -56
  186. package/dist/{es-Cuss2snv.js → es-JUsAjxWu.js} +69 -6
  187. package/dist/{extensions-Cwg9S-0f.js → extensions-CX87G4aL.js} +42 -42
  188. package/dist/{cdn/chunks/fr-Cm85vB2g.js → fr-J3qgXH4h.js} +69 -8
  189. package/dist/{image-up-Ceggh_R3.js → image-up-DouZRGVt.js} +1 -1
  190. package/dist/index.d.ts +499 -23
  191. package/dist/{info-DO5odBcZ.js → info-puX5V6Iq.js} +1 -1
  192. package/dist/{cdn/chunks/keys-Cmc2Yl3D.js → keys-BxixS0TN.js} +4 -6
  193. package/dist/{list-checks-BSkPKbuI.js → list-checks-jw-ZlvWY.js} +1 -1
  194. package/dist/{loader-circle-bO7o7_HD.js → loader-circle-DqTxB7Kr.js} +1 -1
  195. package/dist/logger-BBlvSn6q.js +21 -0
  196. package/dist/{message-circle-BEkAk65X.js → message-circle-BZ7YpB22.js} +1 -1
  197. package/dist/{nl-dmiIX7oT.js → nl-D_4DkqOi.js} +69 -6
  198. package/dist/{pencil-t6m0EtKL.js → pencil-DmbRhTJu.js} +1 -1
  199. package/dist/preRenderCustomBlocks-BebjKtmw.js +21 -0
  200. package/dist/{cdn/chunks/pt-BR-CTzHTqJD.js → pt-BR-BxzQzWGJ.js} +1 -56
  201. package/dist/{pt-BR-CaIG-7EM.js → pt-BR-KGURyEEQ.js} +69 -6
  202. package/dist/{refresh-cw-CkOYVzK5.js → refresh-cw-OK_O-cL0.js} +1 -1
  203. package/dist/{runtime-dom.esm-bundler-CepEmvwF.js → runtime-dom.esm-bundler-BgKXIPLV.js} +144 -144
  204. package/dist/{scan-line-DwSVj25O.js → scan-line-DyaSTsJ5.js} +1 -1
  205. package/dist/{send-CWsWN8PQ.js → send-B-wasJJC.js} +1 -1
  206. package/dist/{shield-check-qje8Kufw.js → shield-check-DUIyRrTo.js} +1 -1
  207. package/dist/{sparkles-DumaWRW-.js → sparkles-DYEMATWC.js} +1 -1
  208. package/dist/style.css +1 -1
  209. package/dist/styleConstants-ByDqaYj_.js +59 -0
  210. package/dist/templatical-editor.js +5303 -289
  211. package/dist/{text-align-start-Ir8Ah4mT.js → text-align-start-CzjLeBLe.js} +1 -1
  212. package/dist/timeouts-DHPZQ0G3.js +4 -0
  213. package/dist/{trash-2-CklAFCmO.js → trash-2-C0shEPry.js} +1 -1
  214. package/dist/{triangle-alert-BBi4n93g.js → triangle-alert-Fw0ce8oQ.js} +1 -1
  215. package/dist/{upload-sVqqppuv.js → upload-D69C2CBx.js} +3 -4
  216. package/dist/{useAliveFlag-cvyBxHp7.js → useAliveFlag-BGIAZii_.js} +1 -1
  217. package/dist/{useCloudI18n-DKVm6PCa.js → useCloudI18n-CAZTZ9_a.js} +2 -2
  218. package/dist/{useEditorCore-P4UkhcyS.js → useEditorCore-B-kONNRw.js} +1604 -1320
  219. package/dist/{useI18n-DoVKdCTH.js → useI18n-BfXff_Sy.js} +2 -2
  220. package/dist/{useMergeTag-CYZk7dZD.js → useMergeTag-Dd4I7kge.js} +3 -3
  221. package/dist/usePopoverPosition-CxhCX3SQ.js +59 -0
  222. package/dist/{vue.runtime.esm-bundler-D1diBMsm.js → vue.runtime.esm-bundler-DzEsDRtY.js} +447 -436
  223. package/dist/{x-Mby7KlhS.js → x-BjTlFqRv.js} +1 -1
  224. package/package.json +7 -7
  225. package/dist/AiFeatureMenu-Cy-PVrNT.js +0 -63
  226. package/dist/BlockPreviewCanvas-BZKslwGI.js +0 -121
  227. package/dist/CloudEditor-CPRkQCRa.js +0 -1188
  228. package/dist/ColorPicker-ClETsjA3.js +0 -550
  229. package/dist/CommentsSidebar-CdRCCSDD.js +0 -435
  230. package/dist/SaveBlockDialog-21vDlEBS.js +0 -265
  231. package/dist/SnapshotHistory-Cb4WW2gf.js +0 -128
  232. package/dist/TestEmailModal-BHDKmd6B.js +0 -205
  233. package/dist/TitleEditor-Cy4B3UNe.js +0 -198
  234. package/dist/TplModal-Dv9zgSWI.js +0 -49
  235. package/dist/cdn/chunks/AiChatSidebar-CQ8KUmNB.js.map +0 -1
  236. package/dist/cdn/chunks/AiFeatureMenu-Cb9gaRBn.js +0 -63
  237. package/dist/cdn/chunks/AiFeatureMenu-Cb9gaRBn.js.map +0 -1
  238. package/dist/cdn/chunks/CloudEditor-DbyEsIxu.js +0 -1166
  239. package/dist/cdn/chunks/CloudEditor-DbyEsIxu.js.map +0 -1
  240. package/dist/cdn/chunks/CollaboratorBar-G_sZDZXw.js.map +0 -1
  241. package/dist/cdn/chunks/ColorPicker-W_UyiVGc.js +0 -552
  242. package/dist/cdn/chunks/ColorPicker-W_UyiVGc.js.map +0 -1
  243. package/dist/cdn/chunks/CommentsSidebar-BLRZRSSC.js +0 -412
  244. package/dist/cdn/chunks/CommentsSidebar-BLRZRSSC.js.map +0 -1
  245. package/dist/cdn/chunks/DesignReferenceSidebar-B-HFXV0W.js.map +0 -1
  246. package/dist/cdn/chunks/IssuesPanel-DKTS4QVb.js.map +0 -1
  247. package/dist/cdn/chunks/MergeTagSuggestion-Dn8dExNa.js.map +0 -1
  248. package/dist/cdn/chunks/NumberWithSuffix-BXrRdfq1.js.map +0 -1
  249. package/dist/cdn/chunks/ParagraphEditor-CZ5Z6AgG.js.map +0 -1
  250. package/dist/cdn/chunks/RichTextEditorContent-DtL49Jpo.js.map +0 -1
  251. package/dist/cdn/chunks/SaveBlockDialog-CVIVZEuy.js +0 -264
  252. package/dist/cdn/chunks/SaveBlockDialog-CVIVZEuy.js.map +0 -1
  253. package/dist/cdn/chunks/SavedBlocksBrowserModal-BkQXEUE2.js.map +0 -1
  254. package/dist/cdn/chunks/SavedBlocksPickBar-C80qJykl.js.map +0 -1
  255. package/dist/cdn/chunks/SnapshotHistory-DFinMrg_.js +0 -121
  256. package/dist/cdn/chunks/SnapshotHistory-DFinMrg_.js.map +0 -1
  257. package/dist/cdn/chunks/TemplateScoringPanel-NucRtAP0.js.map +0 -1
  258. package/dist/cdn/chunks/TestEmailModal-IxS-QjeH.js +0 -205
  259. package/dist/cdn/chunks/TestEmailModal-IxS-QjeH.js.map +0 -1
  260. package/dist/cdn/chunks/TitleEditor-C8WDXf4P.js.map +0 -1
  261. package/dist/cdn/chunks/TplModal-Ce0QuHyo.js +0 -50
  262. package/dist/cdn/chunks/TplModal-Ce0QuHyo.js.map +0 -1
  263. package/dist/cdn/chunks/ca-D1zgI9fQ.js.map +0 -1
  264. package/dist/cdn/chunks/cloud-DcC8bPwn.js +0 -1787
  265. package/dist/cdn/chunks/cloud-DcC8bPwn.js.map +0 -1
  266. package/dist/cdn/chunks/de-DHra3lvx.js.map +0 -1
  267. package/dist/cdn/chunks/de-uVoSP1xF.js.map +0 -1
  268. package/dist/cdn/chunks/en-CjhsJxb-.js.map +0 -1
  269. package/dist/cdn/chunks/en-DlqX2YWZ.js.map +0 -1
  270. package/dist/cdn/chunks/es-Cuss2snv.js.map +0 -1
  271. package/dist/cdn/chunks/fr-Cm85vB2g.js.map +0 -1
  272. package/dist/cdn/chunks/keys-Cmc2Yl3D.js.map +0 -1
  273. package/dist/cdn/chunks/nl-dmiIX7oT.js.map +0 -1
  274. package/dist/cdn/chunks/pt-BR-CTzHTqJD.js.map +0 -1
  275. package/dist/cdn/chunks/pt-BR-CaIG-7EM.js.map +0 -1
  276. package/dist/cdn/chunks/src-BwbnXShT.js.map +0 -1
  277. package/dist/cdn/chunks/src-xkGep9eN.js.map +0 -1
  278. package/dist/cdn/chunks/styles-DLAfU4Uf.js +0 -4140
  279. package/dist/cdn/chunks/styles-DLAfU4Uf.js.map +0 -1
  280. package/dist/cdn/chunks/timeouts-SsLMC4a3.js +0 -6
  281. package/dist/cdn/chunks/timeouts-SsLMC4a3.js.map +0 -1
  282. package/dist/cdn/chunks/useEditorCore-CcgxY-Gy.js.map +0 -1
  283. package/dist/styles-Dx__pP9O.js +0 -4318
  284. package/dist/usePopoverPosition-C0dPEF4X.js +0 -308
@@ -0,0 +1,481 @@
1
+ import { B as e, Dt as t, L as n, Ot as r, T as i, X as a, c as o, d as s, g as c, h as ee, j as l, k as u, kt as d, l as f, r as p, rt as m, s as h, u as g, v as _, z as v } from "./vue.runtime.esm-bundler-DzEsDRtY.js";
2
+ import { a as y, t as b } from "./runtime-dom.esm-bundler-BgKXIPLV.js";
3
+ import { W as te, h as ne } from "./keys-BxixS0TN.js";
4
+ import { t as re } from "./useI18n-BfXff_Sy.js";
5
+ import { t as x } from "./createLucideIcon-L-wQXW_R.js";
6
+ import { t as ie } from "./check-DZbmkMQe.js";
7
+ import { t as ae } from "./chevron-down-nYScOLeZ.js";
8
+ import { t as oe } from "./chevron-up-CpYpDLnc.js";
9
+ import { t as S } from "./loader-circle-DqTxB7Kr.js";
10
+ import { t as C } from "./message-circle-BZ7YpB22.js";
11
+ import { t as w } from "./pencil-DmbRhTJu.js";
12
+ import { t as T } from "./send-B-wasJJC.js";
13
+ import { t as E } from "./trash-2-C0shEPry.js";
14
+ import { t as D } from "./x-BjTlFqRv.js";
15
+ import { t as O } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
+ import { t as se } from "./formatRelativeTime-CtUU-QZ8.js";
17
+ var ce = x("circle-check", [["circle", {
18
+ cx: "12",
19
+ cy: "12",
20
+ r: "10",
21
+ key: "1mglay"
22
+ }], ["path", {
23
+ d: "m9 12 2 2 4-4",
24
+ key: "dzmm74"
25
+ }]]), le = x("reply", [["path", {
26
+ d: "M20 18v-2a4 4 0 0 0-4-4H4",
27
+ key: "5vmcpk"
28
+ }], ["path", {
29
+ d: "m9 17-5-5 5-5",
30
+ key: "nvlc11"
31
+ }]]), ue = {
32
+ key: 0,
33
+ "data-testid": "comments-sidebar",
34
+ class: "tpl-comments-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)]"
35
+ }, de = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, fe = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, pe = {
36
+ key: 0,
37
+ class: "tpl:ml-1 tpl:inline-flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-semibold tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-on-primary)]"
38
+ }, me = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, he = { class: "tpl:flex-1 tpl:overflow-y-auto" }, ge = {
39
+ key: 0,
40
+ class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
41
+ }, _e = {
42
+ key: 1,
43
+ class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
44
+ }, ve = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ye = {
45
+ key: 2,
46
+ class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
47
+ }, be = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, xe = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Se = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Ce = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, we = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Te = {
48
+ key: 0,
49
+ class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
50
+ }, Ee = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, De = ["title", "onClick"], Oe = ["title", "onClick"], ke = ["title", "onClick"], Ae = {
51
+ key: 0,
52
+ class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
53
+ }, je = {
54
+ key: 0,
55
+ class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
56
+ }, Me = ["onClick"], Ne = {
57
+ key: 2,
58
+ class: "tpl:mt-2"
59
+ }, Pe = ["onKeydown"], Fe = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Ie = ["disabled", "onClick"], Le = {
60
+ key: 3,
61
+ class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
62
+ }, Re = {
63
+ key: 4,
64
+ class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
65
+ }, ze = { class: "tpl:flex-1" }, Be = ["onClick"], Ve = {
66
+ key: 5,
67
+ class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
68
+ }, He = ["title", "onClick"], Ue = ["onClick"], We = {
69
+ key: 0,
70
+ class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
71
+ }, Ge = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Ke = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, qe = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Je = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Ye = {
72
+ key: 0,
73
+ class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
74
+ }, Xe = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Ze = ["title", "onClick"], Qe = ["title", "onClick"], $e = {
75
+ key: 0,
76
+ class: "tpl:mt-1.5"
77
+ }, et = ["onKeydown"], tt = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, nt = ["disabled", "onClick"], rt = {
78
+ key: 1,
79
+ class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
80
+ }, it = {
81
+ key: 2,
82
+ class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
83
+ }, at = { class: "tpl:flex-1" }, ot = ["onClick"], st = {
84
+ key: 0,
85
+ class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
86
+ }, ct = { class: "tpl-comments-input-wrapper tpl-focus-ring-host tpl:flex tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, lt = ["placeholder", "onKeydown"], ut = ["disabled", "onClick"], dt = {
87
+ key: 0,
88
+ class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]"
89
+ }, ft = {
90
+ key: 0,
91
+ class: "tpl:flex tpl:min-h-[68px] tpl:items-center tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
92
+ }, pt = {
93
+ key: 1,
94
+ class: "tpl-comments-input-wrapper tpl-focus-ring-host tpl:flex tpl:min-h-[68px] tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]"
95
+ }, mt = ["placeholder", "disabled"], ht = ["disabled"], k = /*#__PURE__*/ O(/* @__PURE__ */ _({
96
+ __name: "CommentsSidebar",
97
+ props: {
98
+ visible: { type: Boolean },
99
+ feature: {}
100
+ },
101
+ emits: ["close"],
102
+ setup(_, { expose: x, emit: O }) {
103
+ let k = _, gt = O, { t: A, format: j } = re(), M = te(ne, "CommentsSidebar"), N = h(() => k.feature.headless), P = a("unresolved"), F = a(""), I = a(null), L = a(""), R = a(null), z = a(""), B = a(/* @__PURE__ */ new Set()), V = a(null), H = a(null), U = h(() => k.feature.filterBlockId.value);
104
+ n(U, (e) => {
105
+ e && (P.value = "block");
106
+ }, { immediate: !0 });
107
+ let _t = h(() => N.value.isLoading.value && N.value.comments.value.length === 0), vt = h(() => {
108
+ let e = /* @__PURE__ */ new Set();
109
+ for (let t of M.content.value.blocks) if (e.add(t.id), t.type === "section") for (let n of t.children) for (let t of n) e.add(t.id);
110
+ return e;
111
+ });
112
+ function yt(e) {
113
+ return e ? !vt.value.has(e) : !1;
114
+ }
115
+ let bt = h(() => P.value !== "block" || !U.value ? !1 : k.feature.capability.isBlockSaved(U.value) === !1), W = h(() => {
116
+ let e = N.value.comments.value;
117
+ return P.value === "unresolved" ? e = e.filter((e) => !e.resolvedAt) : P.value === "block" && U.value && (e = e.filter((e) => e.blockId === U.value)), e;
118
+ });
119
+ n(() => M.state.selectedBlockId, (e) => {
120
+ P.value === "block" && e && (k.feature.filterBlockId.value = e);
121
+ });
122
+ function G(e, t) {
123
+ P.value = e, k.feature.filterBlockId.value = e === "block" ? t ?? null : null;
124
+ }
125
+ function xt(e) {
126
+ G("block", e);
127
+ }
128
+ function St(e) {
129
+ B.value.has(e) ? B.value.delete(e) : B.value.add(e);
130
+ }
131
+ function Ct(e) {
132
+ I.value = e, L.value = "", R.value = null, B.value.has(e) || B.value.add(e);
133
+ }
134
+ function wt() {
135
+ I.value = null, L.value = "";
136
+ }
137
+ function K(e) {
138
+ R.value = e.id, z.value = e.body, I.value = null;
139
+ }
140
+ function q() {
141
+ R.value = null, z.value = "";
142
+ }
143
+ function J(e) {
144
+ V.value = e;
145
+ }
146
+ function Y() {
147
+ V.value = null;
148
+ }
149
+ async function X() {
150
+ let e = F.value.trim();
151
+ if (!e || !N.value.canCreate.value) return;
152
+ let t = P.value === "block" ? U.value : void 0;
153
+ try {
154
+ await N.value.create({
155
+ body: e,
156
+ blockId: t ?? void 0
157
+ }), F.value = "";
158
+ } catch {}
159
+ }
160
+ async function Z(e) {
161
+ let t = L.value.trim();
162
+ if (!t || !N.value.canCreate.value) return;
163
+ let n = N.value.find(e);
164
+ try {
165
+ await N.value.create({
166
+ body: t,
167
+ blockId: n?.blockId ?? void 0,
168
+ parentId: e
169
+ }), I.value = null, L.value = "";
170
+ } catch {}
171
+ }
172
+ async function Q(e) {
173
+ let t = z.value.trim();
174
+ if (t) try {
175
+ await N.value.update(e, { body: t }), R.value = null, z.value = "";
176
+ } catch {}
177
+ }
178
+ async function Tt(e) {
179
+ try {
180
+ await N.value.remove(e);
181
+ } catch {}
182
+ V.value = null;
183
+ }
184
+ async function Et(e) {
185
+ try {
186
+ await N.value.setResolved(e.id, !e.resolvedAt);
187
+ } catch {}
188
+ }
189
+ function Dt(e) {
190
+ return N.value.canUpdate.value && N.value.isOwn(e);
191
+ }
192
+ function Ot(e) {
193
+ return N.value.canDelete.value && N.value.isOwn(e);
194
+ }
195
+ function kt(e) {
196
+ return se(e, A.time) ?? e;
197
+ }
198
+ function At(e) {
199
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), X());
200
+ }
201
+ function jt(e, t) {
202
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), Z(t));
203
+ }
204
+ function $(e, t) {
205
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), Q(t)), e.key === "Escape" && q();
206
+ }
207
+ function Mt() {
208
+ i(() => {
209
+ H.value?.focus();
210
+ });
211
+ }
212
+ return x({
213
+ filterByBlock: xt,
214
+ focusNewComment: Mt
215
+ }), (n, i) => (u(), f(b, {
216
+ "enter-active-class": "tpl-comments-slide-enter-active",
217
+ "enter-from-class": "tpl:translate-x-full",
218
+ "enter-to-class": "tpl:translate-x-0",
219
+ "leave-active-class": "tpl-comments-slide-leave-active",
220
+ "leave-from-class": "tpl:translate-x-0",
221
+ "leave-to-class": "tpl:translate-x-full"
222
+ }, {
223
+ default: v(() => [_.visible ? (u(), s("div", ue, [
224
+ o("div", de, [o("div", fe, [
225
+ c(m(C), {
226
+ size: 13,
227
+ "stroke-width": 2
228
+ }),
229
+ o("span", null, d(m(A).comments.title), 1),
230
+ _.feature.unresolvedCount.value > 0 ? (u(), s("span", pe, d(_.feature.unresolvedCount.value), 1)) : g("", !0)
231
+ ]), o("button", {
232
+ class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:text-[var(--tpl-text-muted)]",
233
+ onClick: i[0] ||= (e) => gt("close")
234
+ }, [c(m(D), {
235
+ size: 14,
236
+ "stroke-width": 2
237
+ })])]),
238
+ o("div", me, [
239
+ o("button", {
240
+ class: t(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors", P.value === "unresolved" ? "tpl-comment-filter--active" : ""]),
241
+ "data-testid": "comments-filter-unresolved",
242
+ onClick: i[1] ||= (e) => G("unresolved")
243
+ }, d(m(A).comments.filterUnresolved), 3),
244
+ o("button", {
245
+ class: t(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors", P.value === "all" ? "tpl-comment-filter--active" : ""]),
246
+ "data-testid": "comments-filter-all",
247
+ onClick: i[2] ||= (e) => G("all")
248
+ }, d(m(A).comments.filterAll), 3),
249
+ m(M).state.selectedBlockId ? (u(), s("button", {
250
+ key: 0,
251
+ class: t(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors", P.value === "block" ? "tpl-comment-filter--active" : ""]),
252
+ onClick: i[3] ||= (e) => G("block", m(M).state.selectedBlockId ?? void 0)
253
+ }, d(m(A).comments.filterBlock), 3)) : g("", !0)
254
+ ]),
255
+ o("div", he, [_t.value ? (u(), s("div", ge, [c(m(S), {
256
+ class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
257
+ size: 24,
258
+ "stroke-width": 2
259
+ })])) : W.value.length === 0 ? (u(), s("div", _e, [c(m(C), {
260
+ size: 32,
261
+ "stroke-width": 1.5,
262
+ class: "tpl:text-[var(--tpl-text-dim)]"
263
+ }), o("p", ve, d(P.value === "all" ? m(A).comments.noCommentsHint : m(A).comments.noComments), 1)])) : (u(), s("div", ye, [(u(!0), s(p, null, l(W.value, (n) => (u(), s("div", {
264
+ key: n.id,
265
+ class: "tpl-comment-thread",
266
+ "data-testid": "comment-thread"
267
+ }, [
268
+ o("div", be, [
269
+ o("div", xe, [o("div", Se, [
270
+ o("span", Ce, d(N.value.isOwn(n) ? m(A).comments.ownedByYou : n.author.name), 1),
271
+ o("span", we, d(kt(n.createdAt)), 1),
272
+ n.updatedAt ? (u(), s("span", Te, " (" + d(m(A).comments.edited) + ") ", 1)) : g("", !0)
273
+ ]), o("div", Ee, [
274
+ N.value.canResolve.value ? (u(), s("button", {
275
+ key: 0,
276
+ "data-testid": "comment-resolve",
277
+ class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors",
278
+ title: n.resolvedAt ? m(A).comments.unresolve : m(A).comments.resolve,
279
+ onClick: (e) => Et(n)
280
+ }, [c(m(ce), {
281
+ size: 13,
282
+ "stroke-width": 2,
283
+ class: "tpl-resolve-icon",
284
+ style: r({ color: n.resolvedAt ? "var(--tpl-primary)" : void 0 })
285
+ }, null, 8, ["style"])], 8, De)) : g("", !0),
286
+ Dt(n) ? (u(), s("button", {
287
+ key: 1,
288
+ "data-testid": "comment-edit",
289
+ class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors",
290
+ title: m(A).comments.edit,
291
+ onClick: (e) => K(n)
292
+ }, [c(m(w), {
293
+ size: 12,
294
+ "stroke-width": 2
295
+ })], 8, Oe)) : g("", !0),
296
+ Ot(n) ? (u(), s("button", {
297
+ key: 2,
298
+ "data-testid": "comment-delete",
299
+ class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors",
300
+ title: m(A).comments.delete,
301
+ onClick: (e) => J(n.id)
302
+ }, [c(m(E), {
303
+ size: 12,
304
+ "stroke-width": 2
305
+ })], 8, ke)) : g("", !0)
306
+ ])]),
307
+ c(b, { name: "tpl-resolve" }, {
308
+ default: v(() => [n.resolvedAt ? (u(), s("div", Ae, [c(m(ie), {
309
+ size: 10,
310
+ "stroke-width": 2.5
311
+ }), o("span", null, d(m(j)(m(A).comments.resolvedBy, { name: n.resolvedBy?.name ?? "" })), 1)])) : g("", !0)]),
312
+ _: 2
313
+ }, 1024),
314
+ n.blockId && yt(n.blockId) ? (u(), s("span", je, d(m(A).comments.missingBlock), 1)) : n.blockId ? (u(), s("button", {
315
+ key: 1,
316
+ class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:transition-colors tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
317
+ onClick: (e) => m(M).selectBlock(n.blockId ?? "")
318
+ }, d(m(A).comments.jumpToBlock), 9, Me)) : g("", !0),
319
+ R.value === n.id ? (u(), s("div", Ne, [e(o("textarea", {
320
+ "onUpdate:modelValue": i[4] ||= (e) => z.value = e,
321
+ class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
322
+ rows: "3",
323
+ onKeydown: (e) => $(e, n.id)
324
+ }, null, 40, Pe), [[y, z.value]]), o("div", Fe, [o("button", {
325
+ class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-on-primary)]",
326
+ disabled: !z.value.trim() || N.value.isSubmitting.value,
327
+ onClick: (e) => Q(n.id)
328
+ }, d(m(A).comments.save), 9, Ie), o("button", {
329
+ class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:text-[var(--tpl-text-muted)]",
330
+ onClick: i[5] ||= (e) => q()
331
+ }, d(m(A).comments.cancel), 1)])])) : (u(), s("p", Le, d(n.body), 1)),
332
+ V.value === n.id ? (u(), s("div", Re, [
333
+ o("span", ze, d(m(A).comments.deleteConfirm), 1),
334
+ o("button", {
335
+ class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
336
+ "data-testid": "comment-delete-confirm",
337
+ onClick: (e) => Tt(n.id)
338
+ }, d(m(A).comments.delete), 9, Be),
339
+ o("button", {
340
+ class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
341
+ onClick: i[6] ||= (e) => Y()
342
+ }, d(m(A).comments.cancel), 1)
343
+ ])) : g("", !0),
344
+ R.value !== n.id && V.value !== n.id ? (u(), s("div", Ve, [N.value.canCreate.value ? (u(), s("button", {
345
+ key: 0,
346
+ "data-testid": "comment-reply",
347
+ class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors",
348
+ title: m(A).comments.reply,
349
+ onClick: (e) => Ct(n.id)
350
+ }, [c(m(le), {
351
+ size: 13,
352
+ "stroke-width": 2,
353
+ class: "tpl:text-[var(--tpl-primary)]"
354
+ })], 8, He)) : g("", !0), (n.replies?.length ?? 0) > 0 ? (u(), s("button", {
355
+ key: 1,
356
+ class: "tpl:flex tpl:items-center tpl:gap-0.5 tpl:text-[11px] tpl:font-medium tpl:transition-colors tpl:text-[var(--tpl-text-muted)]",
357
+ onClick: (e) => St(n.id)
358
+ }, [B.value.has(n.id) ? (u(), f(m(oe), {
359
+ key: 0,
360
+ size: 11,
361
+ "stroke-width": 2
362
+ })) : (u(), f(m(ae), {
363
+ key: 1,
364
+ size: 11,
365
+ "stroke-width": 2
366
+ })), ee(" " + d((n.replies?.length ?? 0) === 1 ? m(j)(m(A).comments.replyOne, { count: String(n.replies?.length ?? 0) }) : m(j)(m(A).comments.replyMany, { count: String(n.replies?.length ?? 0) })), 1)], 8, Ue)) : g("", !0)])) : g("", !0)
367
+ ]),
368
+ c(b, { name: "tpl-replies" }, {
369
+ default: v(() => [B.value.has(n.id) && (n.replies?.length ?? 0) > 0 ? (u(), s("div", We, [(u(!0), s(p, null, l(n.replies, (r, a) => (u(), s("div", {
370
+ key: r.id,
371
+ class: t(["tpl-comment-reply-card tpl:relative tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-2.5", a < (n.replies?.length ?? 0) - 1 ? "tpl:mb-2" : ""])
372
+ }, [
373
+ o("div", Ge, [o("div", Ke, [
374
+ o("span", qe, d(N.value.isOwn(r) ? m(A).comments.ownedByYou : r.author.name), 1),
375
+ o("span", Je, d(kt(r.createdAt)), 1),
376
+ r.updatedAt ? (u(), s("span", Ye, " (" + d(m(A).comments.edited) + ") ", 1)) : g("", !0)
377
+ ]), o("div", Xe, [Dt(r) ? (u(), s("button", {
378
+ key: 0,
379
+ class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors",
380
+ title: m(A).comments.edit,
381
+ onClick: (e) => K(r)
382
+ }, [c(m(w), {
383
+ size: 11,
384
+ "stroke-width": 2
385
+ })], 8, Ze)) : g("", !0), Ot(r) ? (u(), s("button", {
386
+ key: 1,
387
+ class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors",
388
+ title: m(A).comments.delete,
389
+ onClick: (e) => J(r.id)
390
+ }, [c(m(E), {
391
+ size: 11,
392
+ "stroke-width": 2
393
+ })], 8, Qe)) : g("", !0)])]),
394
+ R.value === r.id ? (u(), s("div", $e, [e(o("textarea", {
395
+ "onUpdate:modelValue": i[7] ||= (e) => z.value = e,
396
+ class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
397
+ rows: "2",
398
+ onKeydown: (e) => $(e, r.id)
399
+ }, null, 40, et), [[y, z.value]]), o("div", tt, [o("button", {
400
+ class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-on-primary)]",
401
+ disabled: !z.value.trim() || N.value.isSubmitting.value,
402
+ onClick: (e) => Q(r.id)
403
+ }, d(m(A).comments.save), 9, nt), o("button", {
404
+ class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
405
+ onClick: i[8] ||= (e) => q()
406
+ }, d(m(A).comments.cancel), 1)])])) : (u(), s("p", rt, d(r.body), 1)),
407
+ V.value === r.id ? (u(), s("div", it, [
408
+ o("span", at, d(m(A).comments.deleteConfirm), 1),
409
+ o("button", {
410
+ class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
411
+ "data-testid": "comment-delete-confirm",
412
+ onClick: (e) => Tt(r.id)
413
+ }, d(m(A).comments.delete), 9, ot),
414
+ o("button", {
415
+ class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
416
+ onClick: i[9] ||= (e) => Y()
417
+ }, d(m(A).comments.cancel), 1)
418
+ ])) : g("", !0)
419
+ ], 2))), 128))])) : g("", !0)]),
420
+ _: 2
421
+ }, 1024),
422
+ c(b, { name: "tpl-replies" }, {
423
+ default: v(() => [I.value === n.id ? (u(), s("div", st, [o("div", ct, [
424
+ e(o("textarea", {
425
+ "onUpdate:modelValue": i[10] ||= (e) => L.value = e,
426
+ class: "tpl:max-h-24 tpl:flex-1 tpl:resize-none tpl:border-none tpl:bg-transparent tpl:font-sans tpl:text-xs tpl:outline-none tpl:text-[var(--tpl-text)]",
427
+ placeholder: m(A).comments.replyPlaceholder,
428
+ rows: "2",
429
+ onKeydown: (e) => jt(e, n.id)
430
+ }, null, 40, lt), [[y, L.value]]),
431
+ o("button", {
432
+ class: "tpl-comments-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
433
+ disabled: !L.value.trim() || N.value.isSubmitting.value,
434
+ onClick: (e) => Z(n.id)
435
+ }, [c(m(T), {
436
+ size: 14,
437
+ "stroke-width": 2
438
+ })], 8, ut),
439
+ o("button", {
440
+ class: "tpl-comments-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:text-[var(--tpl-text-muted)]",
441
+ onClick: i[11] ||= (e) => wt()
442
+ }, [c(m(D), {
443
+ size: 14,
444
+ "stroke-width": 2
445
+ })])
446
+ ])])) : g("", !0)]),
447
+ _: 2
448
+ }, 1024)
449
+ ]))), 128))]))]),
450
+ N.value.canCreate.value ? (u(), s("div", dt, [bt.value ? (u(), s("div", ft, d(m(A).comments.saveTemplateFirst), 1)) : (u(), s("div", pt, [e(o("textarea", {
451
+ ref_key: "newCommentInput",
452
+ ref: H,
453
+ "onUpdate:modelValue": i[12] ||= (e) => F.value = e,
454
+ class: "tpl:max-h-24 tpl:min-h-[48px] tpl:flex-1 tpl:resize-none tpl:border-none tpl:bg-transparent tpl:font-sans tpl:text-xs tpl:outline-none tpl:text-[var(--tpl-text)]",
455
+ "data-testid": "comments-input",
456
+ placeholder: m(A).comments.placeholder,
457
+ disabled: N.value.isSubmitting.value,
458
+ rows: "2",
459
+ onKeydown: At
460
+ }, null, 40, mt), [[y, F.value]]), o("button", {
461
+ class: "tpl-comments-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
462
+ "data-testid": "comments-send",
463
+ disabled: !F.value.trim() || N.value.isSubmitting.value,
464
+ onClick: X
465
+ }, [N.value.isSubmitting.value ? (u(), f(m(S), {
466
+ key: 0,
467
+ class: "tpl-spinner",
468
+ size: 16,
469
+ "stroke-width": 2
470
+ })) : (u(), f(m(T), {
471
+ key: 1,
472
+ size: 16,
473
+ "stroke-width": 2
474
+ }))], 8, ht)]))])) : g("", !0)
475
+ ])) : g("", !0)]),
476
+ _: 1
477
+ }));
478
+ }
479
+ }), [["__scopeId", "data-v-40431726"]]);
480
+ //#endregion
481
+ export { k as default };
@@ -1,6 +1,6 @@
1
- import { M as e, P as t, Z as n, ct as r, f as i, g as a, h as o, it as s, lt as c, p as l, u, x as d } from "./draggable-DCs9qL-b.js";
2
- import { g as f } from "./dist-C6z8AjBC.js";
3
- import { t as p } from "./useI18n-UMs0F71x.js";
1
+ import { Ot as e, X as t, c as n, d as r, j as i, k as a, kt as o, r as s, rt as c, s as l, u, v as d } from "./vue.runtime.esm-bundler-DzEsDRtY.js";
2
+ import { p as f } from "./dist-CqcGTIiX.js";
3
+ import { t as p } from "./useI18n-BfXff_Sy.js";
4
4
  //#region src/components/blocks/CountdownBlock.vue?vue&type=script&setup=true&lang.ts
5
5
  var m = {
6
6
  key: 0,
@@ -15,15 +15,15 @@ var m = {
15
15
  viewport: {}
16
16
  },
17
17
  setup(d) {
18
- let _ = d, { t: v } = p(), y = n(Date.now());
18
+ let _ = d, { t: v } = p(), y = t(Date.now());
19
19
  f(() => {
20
20
  y.value = Date.now();
21
21
  }, 1e3);
22
- let b = i(() => {
22
+ let b = l(() => {
23
23
  if (!_.block.targetDate) return null;
24
24
  let e = new Date(_.block.targetDate);
25
25
  return isNaN(e.getTime()) ? null : e.getTime();
26
- }), x = i(() => b.value ? y.value >= b.value : !1), S = i(() => {
26
+ }), x = l(() => b.value ? y.value >= b.value : !1), S = l(() => {
27
27
  if (!b.value || x.value) return {
28
28
  days: 0,
29
29
  hours: 0,
@@ -37,7 +37,7 @@ var m = {
37
37
  minutes: Math.floor(t % 3600 / 60),
38
38
  seconds: t % 60
39
39
  };
40
- }), C = i(() => {
40
+ }), C = l(() => {
41
41
  let e = [];
42
42
  return _.block.showDays && e.push({
43
43
  value: String(S.value.days).padStart(2, "0"),
@@ -52,42 +52,40 @@ var m = {
52
52
  value: String(S.value.seconds).padStart(2, "0"),
53
53
  label: _.block.labelSeconds
54
54
  }), e;
55
- }), w = i(() => ({
55
+ }), w = l(() => ({
56
56
  backgroundColor: _.block.backgroundColor,
57
57
  fontFamily: _.block.fontFamily || "inherit"
58
- })), T = i(() => ({
58
+ })), T = l(() => ({
59
59
  fontSize: `${_.block.digitFontSize}px`,
60
60
  fontWeight: "bold",
61
61
  color: _.block.digitColor,
62
62
  lineHeight: "1.2"
63
- })), E = i(() => ({
63
+ })), E = l(() => ({
64
64
  fontSize: `${_.block.labelFontSize}px`,
65
65
  color: _.block.labelColor,
66
66
  marginTop: "4px"
67
- })), D = i(() => ({
67
+ })), D = l(() => ({
68
68
  fontSize: `${_.block.digitFontSize}px`,
69
69
  color: _.block.digitColor,
70
70
  fontFamily: _.block.fontFamily || "inherit"
71
71
  }));
72
- return (n, i) => d.block.targetDate ? x.value && d.block.hideOnExpiry ? (e(), a("div", h, c(s(v).countdown.hidden), 1)) : x.value ? (e(), a("div", {
72
+ return (t, l) => d.block.targetDate ? x.value && d.block.hideOnExpiry ? (a(), r("div", h, o(c(v).countdown.hidden), 1)) : x.value ? (a(), r("div", {
73
73
  key: 2,
74
- style: r(w.value),
74
+ style: e(w.value),
75
75
  class: "tpl:py-4 tpl:text-center"
76
- }, [l("span", { style: r({
76
+ }, [n("span", { style: e({
77
77
  fontSize: `${d.block.digitFontSize}px`,
78
78
  color: d.block.digitColor
79
- }) }, c(d.block.expiredMessage), 5)], 4)) : (e(), a("div", {
79
+ }) }, o(d.block.expiredMessage), 5)], 4)) : (a(), r("div", {
80
80
  key: 3,
81
- style: r(w.value),
81
+ style: e(w.value),
82
82
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:py-4"
83
- }, [(e(!0), a(u, null, t(C.value, (t, n) => (e(), a(u, { key: t.label }, [n > 0 ? (e(), a("span", {
83
+ }, [(a(!0), r(s, null, i(C.value, (t, i) => (a(), r(s, { key: t.label }, [i > 0 ? (a(), r("span", {
84
84
  key: 0,
85
- style: r(D.value),
85
+ style: e(D.value),
86
86
  class: "tpl:self-start"
87
- }, c(d.block.separator), 5)) : o("", !0), l("div", g, [l("div", { style: r(T.value) }, c(t.value), 5), l("div", { style: r(E.value) }, c(t.label), 5)])], 64))), 128))], 4)) : (e(), a("div", m, c(s(v).countdown.setDate), 1));
87
+ }, o(d.block.separator), 5)) : u("", !0), n("div", g, [n("div", { style: e(T.value) }, o(t.value), 5), n("div", { style: e(E.value) }, o(t.label), 5)])], 64))), 128))], 4)) : (a(), r("div", m, o(c(v).countdown.setDate), 1));
88
88
  }
89
89
  });
90
90
  //#endregion
91
91
  export { _ as default };
92
-
93
- //# sourceMappingURL=CountdownBlock-vLTkTI9e.js.map