@templatical/editor 0.26.3 → 0.27.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 (287) hide show
  1. package/README.md +3 -1
  2. package/dist/{AiChatSidebar-CMBz6Wix.js → AiChatSidebar-iVJDzqjr.js} +60 -60
  3. package/dist/AiFeatureMenu-DrLGc2H2.js +57 -0
  4. package/dist/{BlockIssueBadge-Buk3_6QF.js → BlockIssueBadge-BHysq7XQ.js} +11 -11
  5. package/dist/BlockPreviewCanvas-2WASf5A4.js +121 -0
  6. package/dist/CloudHeaderExtras-DWApyc4P.js +59 -0
  7. package/dist/CloudPanels-DvOhGdRj.js +232 -0
  8. package/dist/{CollaboratorBar-BGwbg9aN.js → CollaboratorBar-C6MC0UCk.js} +21 -21
  9. package/dist/ColorPicker-Di8L5TLQ.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-d9QM4m5x.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-D9mPtMJB.js} +42 -44
  20. package/dist/{ParagraphEditor-6WN5jmXr.js → ParagraphEditor-iwTjkjtx.js} +200 -198
  21. package/dist/RestoreVersionDialog-DyMPGfsr.js +86 -0
  22. package/dist/{RichTextEditorContent-fbYJXAio.js → RichTextEditorContent-BVXG9oF4.js} +44 -44
  23. package/dist/SaveBlockDialog-BMCAIfK9.js +266 -0
  24. package/dist/{SavedBlocksBrowserModal-GMrajvfV.js → SavedBlocksBrowserModal-p5ma1qay.js} +116 -115
  25. package/dist/{cdn/chunks/SavedBlocksPanels-CUtYoi5Z.js → SavedBlocksPanels-BsiSstsZ.js} +9 -11
  26. package/dist/{SavedBlocksPickBar-Dk_IaMO9.js → SavedBlocksPickBar-fU4Mjm-8.js} +17 -17
  27. package/dist/{TemplateScoringPanel-BZUsb3FD.js → TemplateScoringPanel-Bv_bBsJi.js} +87 -87
  28. package/dist/TestEmailModal-EFYcrmTk.js +206 -0
  29. package/dist/{cdn/chunks/TestEmailPanel-B8y7JabA.js → TestEmailPanel-ljriUqs1.js} +4 -6
  30. package/dist/TitleEditor-BqRW7HTz.js +198 -0
  31. package/dist/TplModal-CTC9-w6B.js +49 -0
  32. package/dist/VersionHistoryMenu-Cq4rH56t.js +155 -0
  33. package/dist/VersionHistoryPanels-GkxkBiSi.js +46 -0
  34. package/dist/VersionPreviewBanner-BdtTu9mI.js +38 -0
  35. package/dist/{blockTypeIcons-C7wRSaT3.js → blockTypeIcons-CIrMr1SJ.js} +6 -6
  36. package/dist/bundle-stats.json +8 -8
  37. package/dist/{ca-D1zgI9fQ.js → ca-CEuJ6IRr.js} +73 -106
  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-BQz9Kczt.js +57 -0
  41. package/dist/cdn/chunks/AiFeatureMenu-BQz9Kczt.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-40ocpXDD.js} +42 -42
  45. package/dist/cdn/chunks/{BlockPreviewCanvas-msj619wT.js.map → BlockPreviewCanvas-40ocpXDD.js.map} +1 -1
  46. package/dist/cdn/chunks/CloudHeaderExtras-F_ySlW1S.js +60 -0
  47. package/dist/cdn/chunks/CloudHeaderExtras-F_ySlW1S.js.map +1 -0
  48. package/dist/cdn/chunks/CloudPanels-C34bcHpc.js +232 -0
  49. package/dist/cdn/chunks/CloudPanels-C34bcHpc.js.map +1 -0
  50. package/dist/cdn/chunks/{CollaboratorBar-G_sZDZXw.js → CollaboratorBar-WBtrPPnM.js} +22 -22
  51. package/dist/cdn/chunks/CollaboratorBar-WBtrPPnM.js.map +1 -0
  52. package/dist/cdn/chunks/ColorPicker-CxKYd_8N.js +502 -0
  53. package/dist/cdn/chunks/ColorPicker-CxKYd_8N.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-pVbkPNVo.js} +66 -63
  61. package/dist/cdn/chunks/{CountdownToolbar-DPjcgcVR.js.map → CountdownToolbar-pVbkPNVo.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-mm6AfIv4.js} +37 -35
  73. package/dist/cdn/chunks/NumberWithSuffix-mm6AfIv4.js.map +1 -0
  74. package/dist/cdn/chunks/{ParagraphEditor-CZ5Z6AgG.js → ParagraphEditor-BBcIQQK2.js} +234 -233
  75. package/dist/cdn/chunks/ParagraphEditor-BBcIQQK2.js.map +1 -0
  76. package/dist/cdn/chunks/RestoreVersionDialog-DNUZHFa_.js +87 -0
  77. package/dist/cdn/chunks/RestoreVersionDialog-DNUZHFa_.js.map +1 -0
  78. package/dist/cdn/chunks/{RichTextEditorContent-DtL49Jpo.js → RichTextEditorContent-Cl-acKAD.js} +44 -44
  79. package/dist/cdn/chunks/RichTextEditorContent-Cl-acKAD.js.map +1 -0
  80. package/dist/cdn/chunks/SaveBlockDialog-BXTZ729e.js +265 -0
  81. package/dist/cdn/chunks/SaveBlockDialog-BXTZ729e.js.map +1 -0
  82. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BkQXEUE2.js → SavedBlocksBrowserModal-BqGNBpRR.js} +114 -113
  83. package/dist/cdn/chunks/SavedBlocksBrowserModal-BqGNBpRR.js.map +1 -0
  84. package/dist/{SavedBlocksPanels-DEPmNhi6.js → cdn/chunks/SavedBlocksPanels-nbK0UQTp.js} +11 -9
  85. package/dist/cdn/chunks/{SavedBlocksPanels-CUtYoi5Z.js.map → SavedBlocksPanels-nbK0UQTp.js.map} +1 -1
  86. package/dist/cdn/chunks/{SavedBlocksPickBar-C80qJykl.js → SavedBlocksPickBar-B9mbw3Gk.js} +17 -17
  87. package/dist/cdn/chunks/SavedBlocksPickBar-B9mbw3Gk.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-DE6fi3he.js +206 -0
  91. package/dist/cdn/chunks/TestEmailModal-DE6fi3he.js.map +1 -0
  92. package/dist/{TestEmailPanel-DubocPxf.js → cdn/chunks/TestEmailPanel-CAjQDXle.js} +6 -4
  93. package/dist/cdn/chunks/{TestEmailPanel-B8y7JabA.js.map → TestEmailPanel-CAjQDXle.js.map} +1 -1
  94. package/dist/cdn/chunks/{TitleEditor-C8WDXf4P.js → TitleEditor-BP0ewaWF.js} +83 -83
  95. package/dist/cdn/chunks/TitleEditor-BP0ewaWF.js.map +1 -0
  96. package/dist/cdn/chunks/TplModal-C4kJduTr.js +50 -0
  97. package/dist/cdn/chunks/TplModal-C4kJduTr.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-DMq2PRee.js +48 -0
  101. package/dist/cdn/chunks/VersionHistoryPanels-DMq2PRee.js.map +1 -0
  102. package/dist/cdn/chunks/VersionPreviewBanner-04CL1SGY.js +40 -0
  103. package/dist/cdn/chunks/VersionPreviewBanner-04CL1SGY.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-CEuJ6IRr.js} +74 -107
  107. package/dist/cdn/chunks/ca-CEuJ6IRr.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-gXA8_QRU.js +344 -0
  111. package/dist/cdn/chunks/createCloudRuntime-gXA8_QRU.js.map +1 -0
  112. package/dist/{de-uVoSP1xF.js → cdn/chunks/de-BytZwgn6.js} +4 -88
  113. package/dist/cdn/chunks/de-BytZwgn6.js.map +1 -0
  114. package/dist/{de-DHra3lvx.js → cdn/chunks/de-aRxhZF_K.js} +75 -106
  115. package/dist/cdn/chunks/de-aRxhZF_K.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/cdn/chunks/{en-DE_y1YWU.js → en-BCgVx9zM.js} +4 -3
  123. package/dist/cdn/chunks/{en-DE_y1YWU.js.map → en-BCgVx9zM.js.map} +1 -1
  124. package/dist/{en-DlqX2YWZ.js → cdn/chunks/en-BX4V_7YO.js} +75 -106
  125. package/dist/cdn/chunks/en-BX4V_7YO.js.map +1 -0
  126. package/dist/{en-CjhsJxb-.js → cdn/chunks/en-DyOSV0lY.js} +4 -88
  127. package/dist/cdn/chunks/en-DyOSV0lY.js.map +1 -0
  128. package/dist/{es-Cuss2snv.js → cdn/chunks/es-CA9uQ-5x.js} +75 -106
  129. package/dist/cdn/chunks/es-CA9uQ-5x.js.map +1 -0
  130. package/dist/cdn/chunks/{extensions-qhcN3RMT.js → extensions-CMcVw2uu.js} +53 -53
  131. package/dist/cdn/chunks/{extensions-qhcN3RMT.js.map → extensions-CMcVw2uu.js.map} +1 -1
  132. package/dist/{fr-Cm85vB2g.js → cdn/chunks/fr-iBuE60Ap.js} +75 -106
  133. package/dist/cdn/chunks/fr-iBuE60Ap.js.map +1 -0
  134. package/dist/cdn/chunks/{icons-CvYN6zrM.js → icons-C36Ha5VU.js} +11 -11
  135. package/dist/cdn/chunks/{icons-CvYN6zrM.js.map → icons-C36Ha5VU.js.map} +1 -1
  136. package/dist/{keys-fwF3qZax.js → cdn/chunks/keys-CbQuRX85.js} +6 -4
  137. package/dist/cdn/chunks/keys-CbQuRX85.js.map +1 -0
  138. package/dist/cdn/chunks/logger-ByvdoAwq.js +23 -0
  139. package/dist/cdn/chunks/logger-ByvdoAwq.js.map +1 -0
  140. package/dist/{nl-dmiIX7oT.js → cdn/chunks/nl-Btw4ojNo.js} +75 -106
  141. package/dist/cdn/chunks/nl-Btw4ojNo.js.map +1 -0
  142. package/dist/cdn/chunks/preRenderCustomBlocks-CbA3RcAy.js +23 -0
  143. package/dist/cdn/chunks/preRenderCustomBlocks-CbA3RcAy.js.map +1 -0
  144. package/dist/{pt-BR-CTzHTqJD.js → cdn/chunks/pt-BR-C1WLSGDh.js} +4 -88
  145. package/dist/cdn/chunks/pt-BR-C1WLSGDh.js.map +1 -0
  146. package/dist/{pt-BR-CaIG-7EM.js → cdn/chunks/pt-BR-GjVsCqbN.js} +75 -106
  147. package/dist/cdn/chunks/pt-BR-GjVsCqbN.js.map +1 -0
  148. package/dist/cdn/chunks/src-B_QJduQD.js.map +1 -1
  149. package/dist/cdn/chunks/{src-xkGep9eN.js → src-CoHDh8Ua.js} +1485 -1483
  150. package/dist/cdn/chunks/src-CoHDh8Ua.js.map +1 -0
  151. package/dist/cdn/chunks/{src-BwbnXShT.js → src-Ct4Fsx3t.js} +148 -134
  152. package/dist/cdn/chunks/src-Ct4Fsx3t.js.map +1 -0
  153. package/dist/cdn/chunks/styleConstants-9oK5kn21.js +59 -0
  154. package/dist/cdn/chunks/styleConstants-9oK5kn21.js.map +1 -0
  155. package/dist/cdn/chunks/timeouts-DHPZQ0G3.js +6 -0
  156. package/dist/cdn/chunks/timeouts-DHPZQ0G3.js.map +1 -0
  157. package/dist/cdn/chunks/{tiptap-C44S1Cmh.js → tiptap-DmpGap5g.js} +40 -40
  158. package/dist/cdn/chunks/{tiptap-C44S1Cmh.js.map → tiptap-DmpGap5g.js.map} +1 -1
  159. package/dist/cdn/chunks/{useAliveFlag-Dxwgo6P4.js → useAliveFlag-Dtm174fG.js} +2 -2
  160. package/dist/cdn/chunks/{useAliveFlag-Dxwgo6P4.js.map → useAliveFlag-Dtm174fG.js.map} +1 -1
  161. package/dist/cdn/chunks/{useCloudI18n-8wkJtuJD.js → useCloudI18n-NVa1aeY8.js} +5 -5
  162. package/dist/cdn/chunks/{useCloudI18n-8wkJtuJD.js.map → useCloudI18n-NVa1aeY8.js.map} +1 -1
  163. package/dist/cdn/chunks/{useEditorCore-CcgxY-Gy.js → useEditorCore-DC8gmfs6.js} +1434 -1147
  164. package/dist/cdn/chunks/useEditorCore-DC8gmfs6.js.map +1 -0
  165. package/dist/cdn/chunks/{useI18n-UMs0F71x.js → useI18n-DVWCJJFH.js} +5 -5
  166. package/dist/cdn/chunks/{useI18n-UMs0F71x.js.map → useI18n-DVWCJJFH.js.map} +1 -1
  167. package/dist/cdn/chunks/{useMergeTag-JmXOtpln.js → useMergeTag-BfZBRPQp.js} +4 -4
  168. package/dist/cdn/chunks/{useMergeTag-JmXOtpln.js.map → useMergeTag-BfZBRPQp.js.map} +1 -1
  169. package/dist/cdn/chunks/{usePopoverPosition-cf8Y-ynK.js → usePopoverPosition-BC-HA7TK.js} +3 -3
  170. package/dist/cdn/chunks/{usePopoverPosition-cf8Y-ynK.js.map → usePopoverPosition-BC-HA7TK.js.map} +1 -1
  171. package/dist/cdn/editor.css +1 -1
  172. package/dist/cdn/editor.js +5119 -284
  173. package/dist/cdn/editor.js.map +1 -1
  174. package/dist/{check-On4TSac-.js → check-DZbmkMQe.js} +1 -1
  175. package/dist/{chevron-down-69EiBGoB.js → chevron-down-nYScOLeZ.js} +1 -1
  176. package/dist/{chevron-up-Dh3MG1Dw.js → chevron-up-CpYpDLnc.js} +1 -1
  177. package/dist/{circle-alert-cilwzafX.js → circle-alert-CuuK6thq.js} +1 -1
  178. package/dist/{clock-Dt0APH92.js → clock-DxkrtqOr.js} +1 -1
  179. package/dist/cloud-BAefVBb_.js +1444 -0
  180. package/dist/createCloudRuntime-Bt8W-ajI.js +342 -0
  181. package/dist/{createLucideIcon-C8WzBYCv.js → createLucideIcon-L-wQXW_R.js} +9 -9
  182. package/dist/{cdn/chunks/de-uVoSP1xF.js → de-BytZwgn6.js} +2 -90
  183. package/dist/{cdn/chunks/de-DHra3lvx.js → de-aRxhZF_K.js} +73 -108
  184. package/dist/dist-B5iReTtK.js +251 -0
  185. package/dist/{dist-Cl8J0IES.js → dist-Ck9roB6K.js} +42 -42
  186. package/dist/{dist-BpKxrUi2.js → dist-CqcGTIiX.js} +46 -46
  187. package/dist/{cdn/chunks/en-DlqX2YWZ.js → en-BX4V_7YO.js} +73 -108
  188. package/dist/{cdn/chunks/en-CjhsJxb-.js → en-DyOSV0lY.js} +2 -90
  189. package/dist/{cdn/chunks/es-Cuss2snv.js → es-CA9uQ-5x.js} +73 -108
  190. package/dist/{extensions-Cwg9S-0f.js → extensions-CX87G4aL.js} +42 -42
  191. package/dist/{cdn/chunks/fr-Cm85vB2g.js → fr-iBuE60Ap.js} +73 -108
  192. package/dist/{image-up-Ceggh_R3.js → image-up-DouZRGVt.js} +1 -1
  193. package/dist/index.d.ts +499 -23
  194. package/dist/{info-DO5odBcZ.js → info-puX5V6Iq.js} +1 -1
  195. package/dist/{cdn/chunks/keys-Cmc2Yl3D.js → keys-BxixS0TN.js} +4 -6
  196. package/dist/{list-checks-BSkPKbuI.js → list-checks-jw-ZlvWY.js} +1 -1
  197. package/dist/{loader-circle-bO7o7_HD.js → loader-circle-DqTxB7Kr.js} +1 -1
  198. package/dist/logger-BBlvSn6q.js +21 -0
  199. package/dist/{message-circle-BEkAk65X.js → message-circle-BZ7YpB22.js} +1 -1
  200. package/dist/{cdn/chunks/nl-dmiIX7oT.js → nl-Btw4ojNo.js} +73 -108
  201. package/dist/{pencil-t6m0EtKL.js → pencil-DmbRhTJu.js} +1 -1
  202. package/dist/preRenderCustomBlocks-BebjKtmw.js +21 -0
  203. package/dist/{cdn/chunks/pt-BR-CTzHTqJD.js → pt-BR-C1WLSGDh.js} +2 -90
  204. package/dist/{cdn/chunks/pt-BR-CaIG-7EM.js → pt-BR-GjVsCqbN.js} +73 -108
  205. package/dist/{refresh-cw-CkOYVzK5.js → refresh-cw-OK_O-cL0.js} +1 -1
  206. package/dist/{runtime-dom.esm-bundler-CepEmvwF.js → runtime-dom.esm-bundler-BgKXIPLV.js} +144 -144
  207. package/dist/{scan-line-DwSVj25O.js → scan-line-DyaSTsJ5.js} +1 -1
  208. package/dist/{send-CWsWN8PQ.js → send-B-wasJJC.js} +1 -1
  209. package/dist/{shield-check-qje8Kufw.js → shield-check-DUIyRrTo.js} +1 -1
  210. package/dist/{sparkles-DumaWRW-.js → sparkles-DYEMATWC.js} +1 -1
  211. package/dist/style.css +1 -1
  212. package/dist/styleConstants-9oK5kn21.js +57 -0
  213. package/dist/templatical-editor.js +5319 -289
  214. package/dist/{text-align-start-Ir8Ah4mT.js → text-align-start-CzjLeBLe.js} +1 -1
  215. package/dist/timeouts-DHPZQ0G3.js +4 -0
  216. package/dist/{trash-2-CklAFCmO.js → trash-2-C0shEPry.js} +1 -1
  217. package/dist/{triangle-alert-BBi4n93g.js → triangle-alert-Fw0ce8oQ.js} +1 -1
  218. package/dist/{upload-sVqqppuv.js → upload-D69C2CBx.js} +3 -4
  219. package/dist/{useAliveFlag-cvyBxHp7.js → useAliveFlag-BGIAZii_.js} +1 -1
  220. package/dist/{useCloudI18n-DKVm6PCa.js → useCloudI18n-CAZTZ9_a.js} +2 -2
  221. package/dist/{useEditorCore-P4UkhcyS.js → useEditorCore-CFLzobo_.js} +1604 -1320
  222. package/dist/{useI18n-DoVKdCTH.js → useI18n-BfXff_Sy.js} +2 -2
  223. package/dist/{useMergeTag-CYZk7dZD.js → useMergeTag-Dd4I7kge.js} +3 -3
  224. package/dist/usePopoverPosition-CxhCX3SQ.js +59 -0
  225. package/dist/{vue.runtime.esm-bundler-D1diBMsm.js → vue.runtime.esm-bundler-DzEsDRtY.js} +447 -436
  226. package/dist/{x-Mby7KlhS.js → x-BjTlFqRv.js} +1 -1
  227. package/package.json +8 -8
  228. package/dist/AiFeatureMenu-Cy-PVrNT.js +0 -63
  229. package/dist/BlockPreviewCanvas-BZKslwGI.js +0 -121
  230. package/dist/CloudEditor-CPRkQCRa.js +0 -1188
  231. package/dist/ColorPicker-ClETsjA3.js +0 -550
  232. package/dist/CommentsSidebar-CdRCCSDD.js +0 -435
  233. package/dist/SaveBlockDialog-21vDlEBS.js +0 -265
  234. package/dist/SnapshotHistory-Cb4WW2gf.js +0 -128
  235. package/dist/TestEmailModal-BHDKmd6B.js +0 -205
  236. package/dist/TitleEditor-Cy4B3UNe.js +0 -198
  237. package/dist/TplModal-Dv9zgSWI.js +0 -49
  238. package/dist/cdn/chunks/AiChatSidebar-CQ8KUmNB.js.map +0 -1
  239. package/dist/cdn/chunks/AiFeatureMenu-Cb9gaRBn.js +0 -63
  240. package/dist/cdn/chunks/AiFeatureMenu-Cb9gaRBn.js.map +0 -1
  241. package/dist/cdn/chunks/CloudEditor-DbyEsIxu.js +0 -1166
  242. package/dist/cdn/chunks/CloudEditor-DbyEsIxu.js.map +0 -1
  243. package/dist/cdn/chunks/CollaboratorBar-G_sZDZXw.js.map +0 -1
  244. package/dist/cdn/chunks/ColorPicker-W_UyiVGc.js +0 -552
  245. package/dist/cdn/chunks/ColorPicker-W_UyiVGc.js.map +0 -1
  246. package/dist/cdn/chunks/CommentsSidebar-BLRZRSSC.js +0 -412
  247. package/dist/cdn/chunks/CommentsSidebar-BLRZRSSC.js.map +0 -1
  248. package/dist/cdn/chunks/DesignReferenceSidebar-B-HFXV0W.js.map +0 -1
  249. package/dist/cdn/chunks/IssuesPanel-DKTS4QVb.js.map +0 -1
  250. package/dist/cdn/chunks/MergeTagSuggestion-Dn8dExNa.js.map +0 -1
  251. package/dist/cdn/chunks/NumberWithSuffix-BXrRdfq1.js.map +0 -1
  252. package/dist/cdn/chunks/ParagraphEditor-CZ5Z6AgG.js.map +0 -1
  253. package/dist/cdn/chunks/RichTextEditorContent-DtL49Jpo.js.map +0 -1
  254. package/dist/cdn/chunks/SaveBlockDialog-CVIVZEuy.js +0 -264
  255. package/dist/cdn/chunks/SaveBlockDialog-CVIVZEuy.js.map +0 -1
  256. package/dist/cdn/chunks/SavedBlocksBrowserModal-BkQXEUE2.js.map +0 -1
  257. package/dist/cdn/chunks/SavedBlocksPickBar-C80qJykl.js.map +0 -1
  258. package/dist/cdn/chunks/SnapshotHistory-DFinMrg_.js +0 -121
  259. package/dist/cdn/chunks/SnapshotHistory-DFinMrg_.js.map +0 -1
  260. package/dist/cdn/chunks/TemplateScoringPanel-NucRtAP0.js.map +0 -1
  261. package/dist/cdn/chunks/TestEmailModal-IxS-QjeH.js +0 -205
  262. package/dist/cdn/chunks/TestEmailModal-IxS-QjeH.js.map +0 -1
  263. package/dist/cdn/chunks/TitleEditor-C8WDXf4P.js.map +0 -1
  264. package/dist/cdn/chunks/TplModal-Ce0QuHyo.js +0 -50
  265. package/dist/cdn/chunks/TplModal-Ce0QuHyo.js.map +0 -1
  266. package/dist/cdn/chunks/ca-D1zgI9fQ.js.map +0 -1
  267. package/dist/cdn/chunks/cloud-DcC8bPwn.js +0 -1787
  268. package/dist/cdn/chunks/cloud-DcC8bPwn.js.map +0 -1
  269. package/dist/cdn/chunks/de-DHra3lvx.js.map +0 -1
  270. package/dist/cdn/chunks/de-uVoSP1xF.js.map +0 -1
  271. package/dist/cdn/chunks/en-CjhsJxb-.js.map +0 -1
  272. package/dist/cdn/chunks/en-DlqX2YWZ.js.map +0 -1
  273. package/dist/cdn/chunks/es-Cuss2snv.js.map +0 -1
  274. package/dist/cdn/chunks/fr-Cm85vB2g.js.map +0 -1
  275. package/dist/cdn/chunks/keys-Cmc2Yl3D.js.map +0 -1
  276. package/dist/cdn/chunks/nl-dmiIX7oT.js.map +0 -1
  277. package/dist/cdn/chunks/pt-BR-CTzHTqJD.js.map +0 -1
  278. package/dist/cdn/chunks/pt-BR-CaIG-7EM.js.map +0 -1
  279. package/dist/cdn/chunks/src-BwbnXShT.js.map +0 -1
  280. package/dist/cdn/chunks/src-xkGep9eN.js.map +0 -1
  281. package/dist/cdn/chunks/styles-DLAfU4Uf.js +0 -4140
  282. package/dist/cdn/chunks/styles-DLAfU4Uf.js.map +0 -1
  283. package/dist/cdn/chunks/timeouts-SsLMC4a3.js +0 -6
  284. package/dist/cdn/chunks/timeouts-SsLMC4a3.js.map +0 -1
  285. package/dist/cdn/chunks/useEditorCore-CcgxY-Gy.js.map +0 -1
  286. package/dist/styles-Dx__pP9O.js +0 -4318
  287. package/dist/usePopoverPosition-C0dPEF4X.js +0 -308
@@ -0,0 +1,460 @@
1
+ import { B as e, F as t, H as n, N as r, Q as i, S as a, U as o, at as s, b as c, ct as l, f as u, g as d, h as f, k as ee, lt as te, m as p, n as m, o as h, p as g, u as _, ut as v, y as ne } from "./draggable-BfpsXFg7.js";
2
+ import { W as re, h as ie } from "./keys-CbQuRX85.js";
3
+ import { t as ae } from "./useI18n-DVWCJJFH.js";
4
+ import { It as oe, K as y, L as se, Lt as ce, M as b, Nt as le, d as x, it as S, jt as ue, n as C, tt as w } from "./icons-C36Ha5VU.js";
5
+ import { t as T } from "./_plugin-vue_export-helper-B3ysoDQm.js";
6
+ import { t as de } from "./formatRelativeTime-CtUU-QZ8.js";
7
+ //#region src/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
8
+ var fe = {
9
+ key: 0,
10
+ "data-testid": "comments-sidebar",
11
+ 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)]"
12
+ }, pe = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, me = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, he = {
13
+ key: 0,
14
+ 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)]"
15
+ }, ge = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, _e = { class: "tpl:flex-1 tpl:overflow-y-auto" }, ve = {
16
+ key: 0,
17
+ class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
18
+ }, ye = {
19
+ key: 1,
20
+ class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
21
+ }, be = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, xe = {
22
+ key: 2,
23
+ class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
24
+ }, Se = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, Ce = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, we = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Te = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ee = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, De = {
25
+ key: 0,
26
+ class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
27
+ }, Oe = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, ke = ["title", "onClick"], Ae = ["title", "onClick"], je = ["title", "onClick"], Me = {
28
+ key: 0,
29
+ class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
30
+ }, Ne = {
31
+ key: 0,
32
+ 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)]"
33
+ }, Pe = ["onClick"], Fe = {
34
+ key: 2,
35
+ class: "tpl:mt-2"
36
+ }, Ie = ["onKeydown"], Le = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Re = ["disabled", "onClick"], ze = {
37
+ key: 3,
38
+ class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
39
+ }, Be = {
40
+ key: 4,
41
+ 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)]"
42
+ }, Ve = { class: "tpl:flex-1" }, He = ["onClick"], Ue = {
43
+ key: 5,
44
+ class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
45
+ }, We = ["title", "onClick"], Ge = ["onClick"], Ke = {
46
+ key: 0,
47
+ class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
48
+ }, qe = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Je = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Ye = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Xe = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Ze = {
49
+ key: 0,
50
+ class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
51
+ }, Qe = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, $e = ["title", "onClick"], et = ["title", "onClick"], tt = {
52
+ key: 0,
53
+ class: "tpl:mt-1.5"
54
+ }, nt = ["onKeydown"], rt = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, it = ["disabled", "onClick"], at = {
55
+ key: 1,
56
+ class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
57
+ }, ot = {
58
+ key: 2,
59
+ 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)]"
60
+ }, st = { class: "tpl:flex-1" }, ct = ["onClick"], lt = {
61
+ key: 0,
62
+ class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
63
+ }, ut = { 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)]" }, dt = ["placeholder", "onKeydown"], ft = ["disabled", "onClick"], pt = {
64
+ key: 0,
65
+ class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]"
66
+ }, mt = {
67
+ key: 0,
68
+ 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)]"
69
+ }, ht = {
70
+ key: 1,
71
+ 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)]"
72
+ }, gt = ["placeholder", "disabled"], _t = ["disabled"], E = /*#__PURE__*/ T(/* @__PURE__ */ a({
73
+ __name: "CommentsSidebar",
74
+ props: {
75
+ visible: { type: Boolean },
76
+ feature: {}
77
+ },
78
+ emits: ["close"],
79
+ setup(a, { expose: T, emit: E }) {
80
+ let D = a, vt = E, { t: O, format: k } = ae(), A = re(ie, "CommentsSidebar"), j = u(() => D.feature.headless), M = i("unresolved"), N = i(""), P = i(null), F = i(""), I = i(null), L = i(""), R = i(/* @__PURE__ */ new Set()), z = i(null), B = i(null), V = u(() => D.feature.filterBlockId.value);
81
+ e(V, (e) => {
82
+ e && (M.value = "block");
83
+ }, { immediate: !0 });
84
+ let yt = u(() => j.value.isLoading.value && j.value.comments.value.length === 0), bt = u(() => {
85
+ let e = /* @__PURE__ */ new Set();
86
+ for (let t of A.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);
87
+ return e;
88
+ });
89
+ function xt(e) {
90
+ return e ? !bt.value.has(e) : !1;
91
+ }
92
+ let St = u(() => M.value !== "block" || !V.value ? !1 : D.feature.capability.isBlockSaved(V.value) === !1), H = u(() => {
93
+ let e = j.value.comments.value;
94
+ return M.value === "unresolved" ? e = e.filter((e) => !e.resolvedAt) : M.value === "block" && V.value && (e = e.filter((e) => e.blockId === V.value)), e;
95
+ });
96
+ e(() => A.state.selectedBlockId, (e) => {
97
+ M.value === "block" && e && (D.feature.filterBlockId.value = e);
98
+ });
99
+ function U(e, t) {
100
+ M.value = e, D.feature.filterBlockId.value = e === "block" ? t ?? null : null;
101
+ }
102
+ function Ct(e) {
103
+ U("block", e);
104
+ }
105
+ function wt(e) {
106
+ R.value.has(e) ? R.value.delete(e) : R.value.add(e);
107
+ }
108
+ function Tt(e) {
109
+ P.value = e, F.value = "", I.value = null, R.value.has(e) || R.value.add(e);
110
+ }
111
+ function Et() {
112
+ P.value = null, F.value = "";
113
+ }
114
+ function W(e) {
115
+ I.value = e.id, L.value = e.body, P.value = null;
116
+ }
117
+ function G() {
118
+ I.value = null, L.value = "";
119
+ }
120
+ function K(e) {
121
+ z.value = e;
122
+ }
123
+ function q() {
124
+ z.value = null;
125
+ }
126
+ async function J() {
127
+ let e = N.value.trim();
128
+ if (!e || !j.value.canCreate.value) return;
129
+ let t = M.value === "block" ? V.value : void 0;
130
+ try {
131
+ await j.value.create({
132
+ body: e,
133
+ blockId: t ?? void 0
134
+ }), N.value = "";
135
+ } catch {}
136
+ }
137
+ async function Y(e) {
138
+ let t = F.value.trim();
139
+ if (!t || !j.value.canCreate.value) return;
140
+ let n = j.value.find(e);
141
+ try {
142
+ await j.value.create({
143
+ body: t,
144
+ blockId: n?.blockId ?? void 0,
145
+ parentId: e
146
+ }), P.value = null, F.value = "";
147
+ } catch {}
148
+ }
149
+ async function X(e) {
150
+ let t = L.value.trim();
151
+ if (t) try {
152
+ await j.value.update(e, { body: t }), I.value = null, L.value = "";
153
+ } catch {}
154
+ }
155
+ async function Z(e) {
156
+ try {
157
+ await j.value.remove(e);
158
+ } catch {}
159
+ z.value = null;
160
+ }
161
+ async function Dt(e) {
162
+ try {
163
+ await j.value.setResolved(e.id, !e.resolvedAt);
164
+ } catch {}
165
+ }
166
+ function Q(e) {
167
+ return j.value.canUpdate.value && j.value.isOwn(e);
168
+ }
169
+ function Ot(e) {
170
+ return j.value.canDelete.value && j.value.isOwn(e);
171
+ }
172
+ function kt(e) {
173
+ return de(e, O.time) ?? e;
174
+ }
175
+ function At(e) {
176
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), J());
177
+ }
178
+ function jt(e, t) {
179
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), Y(t));
180
+ }
181
+ function $(e, t) {
182
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), X(t)), e.key === "Escape" && G();
183
+ }
184
+ function Mt() {
185
+ ee(() => {
186
+ B.value?.focus();
187
+ });
188
+ }
189
+ return T({
190
+ filterByBlock: Ct,
191
+ focusNewComment: Mt
192
+ }), (e, i) => (r(), p(m, {
193
+ "enter-active-class": "tpl-comments-slide-enter-active",
194
+ "enter-from-class": "tpl:translate-x-full",
195
+ "enter-to-class": "tpl:translate-x-0",
196
+ "leave-active-class": "tpl-comments-slide-leave-active",
197
+ "leave-from-class": "tpl:translate-x-0",
198
+ "leave-to-class": "tpl:translate-x-full"
199
+ }, {
200
+ default: n(() => [a.visible ? (r(), d("div", fe, [
201
+ g("div", pe, [g("div", me, [
202
+ c(s(w), {
203
+ size: 13,
204
+ "stroke-width": 2
205
+ }),
206
+ g("span", null, v(s(O).comments.title), 1),
207
+ a.feature.unresolvedCount.value > 0 ? (r(), d("span", he, v(a.feature.unresolvedCount.value), 1)) : f("", !0)
208
+ ]), g("button", {
209
+ class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:text-[var(--tpl-text-muted)]",
210
+ onClick: i[0] ||= (e) => vt("close")
211
+ }, [c(s(C), {
212
+ size: 14,
213
+ "stroke-width": 2
214
+ })])]),
215
+ g("div", ge, [
216
+ g("button", {
217
+ class: l(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors", M.value === "unresolved" ? "tpl-comment-filter--active" : ""]),
218
+ "data-testid": "comments-filter-unresolved",
219
+ onClick: i[1] ||= (e) => U("unresolved")
220
+ }, v(s(O).comments.filterUnresolved), 3),
221
+ g("button", {
222
+ class: l(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors", M.value === "all" ? "tpl-comment-filter--active" : ""]),
223
+ "data-testid": "comments-filter-all",
224
+ onClick: i[2] ||= (e) => U("all")
225
+ }, v(s(O).comments.filterAll), 3),
226
+ s(A).state.selectedBlockId ? (r(), d("button", {
227
+ key: 0,
228
+ class: l(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors", M.value === "block" ? "tpl-comment-filter--active" : ""]),
229
+ onClick: i[3] ||= (e) => U("block", s(A).state.selectedBlockId ?? void 0)
230
+ }, v(s(O).comments.filterBlock), 3)) : f("", !0)
231
+ ]),
232
+ g("div", _e, [yt.value ? (r(), d("div", ve, [c(s(S), {
233
+ class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
234
+ size: 24,
235
+ "stroke-width": 2
236
+ })])) : H.value.length === 0 ? (r(), d("div", ye, [c(s(w), {
237
+ size: 32,
238
+ "stroke-width": 1.5,
239
+ class: "tpl:text-[var(--tpl-text-dim)]"
240
+ }), g("p", be, v(M.value === "all" ? s(O).comments.noCommentsHint : s(O).comments.noComments), 1)])) : (r(), d("div", xe, [(r(!0), d(_, null, t(H.value, (e) => (r(), d("div", {
241
+ key: e.id,
242
+ class: "tpl-comment-thread",
243
+ "data-testid": "comment-thread"
244
+ }, [
245
+ g("div", Se, [
246
+ g("div", Ce, [g("div", we, [
247
+ g("span", Te, v(j.value.isOwn(e) ? s(O).comments.ownedByYou : e.author.name), 1),
248
+ g("span", Ee, v(kt(e.createdAt)), 1),
249
+ e.updatedAt ? (r(), d("span", De, " (" + v(s(O).comments.edited) + ") ", 1)) : f("", !0)
250
+ ]), g("div", Oe, [
251
+ j.value.canResolve.value ? (r(), d("button", {
252
+ key: 0,
253
+ "data-testid": "comment-resolve",
254
+ class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors",
255
+ title: e.resolvedAt ? s(O).comments.unresolve : s(O).comments.resolve,
256
+ onClick: (t) => Dt(e)
257
+ }, [c(s(ue), {
258
+ size: 13,
259
+ "stroke-width": 2,
260
+ class: "tpl-resolve-icon",
261
+ style: te({ color: e.resolvedAt ? "var(--tpl-primary)" : void 0 })
262
+ }, null, 8, ["style"])], 8, ke)) : f("", !0),
263
+ Q(e) ? (r(), d("button", {
264
+ key: 1,
265
+ "data-testid": "comment-edit",
266
+ class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors",
267
+ title: s(O).comments.edit,
268
+ onClick: (t) => W(e)
269
+ }, [c(s(y), {
270
+ size: 12,
271
+ "stroke-width": 2
272
+ })], 8, Ae)) : f("", !0),
273
+ Ot(e) ? (r(), d("button", {
274
+ key: 2,
275
+ "data-testid": "comment-delete",
276
+ class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors",
277
+ title: s(O).comments.delete,
278
+ onClick: (t) => K(e.id)
279
+ }, [c(s(x), {
280
+ size: 12,
281
+ "stroke-width": 2
282
+ })], 8, je)) : f("", !0)
283
+ ])]),
284
+ c(m, { name: "tpl-resolve" }, {
285
+ default: n(() => [e.resolvedAt ? (r(), d("div", Me, [c(s(ce), {
286
+ size: 10,
287
+ "stroke-width": 2.5
288
+ }), g("span", null, v(s(k)(s(O).comments.resolvedBy, { name: e.resolvedBy?.name ?? "" })), 1)])) : f("", !0)]),
289
+ _: 2
290
+ }, 1024),
291
+ e.blockId && xt(e.blockId) ? (r(), d("span", Ne, v(s(O).comments.missingBlock), 1)) : e.blockId ? (r(), d("button", {
292
+ key: 1,
293
+ 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)]",
294
+ onClick: (t) => s(A).selectBlock(e.blockId ?? "")
295
+ }, v(s(O).comments.jumpToBlock), 9, Pe)) : f("", !0),
296
+ I.value === e.id ? (r(), d("div", Fe, [o(g("textarea", {
297
+ "onUpdate:modelValue": i[4] ||= (e) => L.value = e,
298
+ 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)]",
299
+ rows: "3",
300
+ onKeydown: (t) => $(t, e.id)
301
+ }, null, 40, Ie), [[h, L.value]]), g("div", Le, [g("button", {
302
+ 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)]",
303
+ disabled: !L.value.trim() || j.value.isSubmitting.value,
304
+ onClick: (t) => X(e.id)
305
+ }, v(s(O).comments.save), 9, Re), g("button", {
306
+ 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)]",
307
+ onClick: i[5] ||= (e) => G()
308
+ }, v(s(O).comments.cancel), 1)])])) : (r(), d("p", ze, v(e.body), 1)),
309
+ z.value === e.id ? (r(), d("div", Be, [
310
+ g("span", Ve, v(s(O).comments.deleteConfirm), 1),
311
+ g("button", {
312
+ 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)]",
313
+ "data-testid": "comment-delete-confirm",
314
+ onClick: (t) => Z(e.id)
315
+ }, v(s(O).comments.delete), 9, He),
316
+ g("button", {
317
+ class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
318
+ onClick: i[6] ||= (e) => q()
319
+ }, v(s(O).comments.cancel), 1)
320
+ ])) : f("", !0),
321
+ I.value !== e.id && z.value !== e.id ? (r(), d("div", Ue, [j.value.canCreate.value ? (r(), d("button", {
322
+ key: 0,
323
+ "data-testid": "comment-reply",
324
+ class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors",
325
+ title: s(O).comments.reply,
326
+ onClick: (t) => Tt(e.id)
327
+ }, [c(s(se), {
328
+ size: 13,
329
+ "stroke-width": 2,
330
+ class: "tpl:text-[var(--tpl-primary)]"
331
+ })], 8, We)) : f("", !0), (e.replies?.length ?? 0) > 0 ? (r(), d("button", {
332
+ key: 1,
333
+ 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)]",
334
+ onClick: (t) => wt(e.id)
335
+ }, [R.value.has(e.id) ? (r(), p(s(le), {
336
+ key: 0,
337
+ size: 11,
338
+ "stroke-width": 2
339
+ })) : (r(), p(s(oe), {
340
+ key: 1,
341
+ size: 11,
342
+ "stroke-width": 2
343
+ })), ne(" " + v((e.replies?.length ?? 0) === 1 ? s(k)(s(O).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : s(k)(s(O).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8, Ge)) : f("", !0)])) : f("", !0)
344
+ ]),
345
+ c(m, { name: "tpl-replies" }, {
346
+ default: n(() => [R.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (r(), d("div", Ke, [(r(!0), d(_, null, t(e.replies, (t, n) => (r(), d("div", {
347
+ key: t.id,
348
+ class: l(["tpl-comment-reply-card tpl:relative tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-2.5", n < (e.replies?.length ?? 0) - 1 ? "tpl:mb-2" : ""])
349
+ }, [
350
+ g("div", qe, [g("div", Je, [
351
+ g("span", Ye, v(j.value.isOwn(t) ? s(O).comments.ownedByYou : t.author.name), 1),
352
+ g("span", Xe, v(kt(t.createdAt)), 1),
353
+ t.updatedAt ? (r(), d("span", Ze, " (" + v(s(O).comments.edited) + ") ", 1)) : f("", !0)
354
+ ]), g("div", Qe, [Q(t) ? (r(), d("button", {
355
+ key: 0,
356
+ class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors",
357
+ title: s(O).comments.edit,
358
+ onClick: (e) => W(t)
359
+ }, [c(s(y), {
360
+ size: 11,
361
+ "stroke-width": 2
362
+ })], 8, $e)) : f("", !0), Ot(t) ? (r(), d("button", {
363
+ key: 1,
364
+ class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors",
365
+ title: s(O).comments.delete,
366
+ onClick: (e) => K(t.id)
367
+ }, [c(s(x), {
368
+ size: 11,
369
+ "stroke-width": 2
370
+ })], 8, et)) : f("", !0)])]),
371
+ I.value === t.id ? (r(), d("div", tt, [o(g("textarea", {
372
+ "onUpdate:modelValue": i[7] ||= (e) => L.value = e,
373
+ 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)]",
374
+ rows: "2",
375
+ onKeydown: (e) => $(e, t.id)
376
+ }, null, 40, nt), [[h, L.value]]), g("div", rt, [g("button", {
377
+ 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)]",
378
+ disabled: !L.value.trim() || j.value.isSubmitting.value,
379
+ onClick: (e) => X(t.id)
380
+ }, v(s(O).comments.save), 9, it), g("button", {
381
+ class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
382
+ onClick: i[8] ||= (e) => G()
383
+ }, v(s(O).comments.cancel), 1)])])) : (r(), d("p", at, v(t.body), 1)),
384
+ z.value === t.id ? (r(), d("div", ot, [
385
+ g("span", st, v(s(O).comments.deleteConfirm), 1),
386
+ g("button", {
387
+ 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)]",
388
+ "data-testid": "comment-delete-confirm",
389
+ onClick: (e) => Z(t.id)
390
+ }, v(s(O).comments.delete), 9, ct),
391
+ g("button", {
392
+ class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
393
+ onClick: i[9] ||= (e) => q()
394
+ }, v(s(O).comments.cancel), 1)
395
+ ])) : f("", !0)
396
+ ], 2))), 128))])) : f("", !0)]),
397
+ _: 2
398
+ }, 1024),
399
+ c(m, { name: "tpl-replies" }, {
400
+ default: n(() => [P.value === e.id ? (r(), d("div", lt, [g("div", ut, [
401
+ o(g("textarea", {
402
+ "onUpdate:modelValue": i[10] ||= (e) => F.value = e,
403
+ 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)]",
404
+ placeholder: s(O).comments.replyPlaceholder,
405
+ rows: "2",
406
+ onKeydown: (t) => jt(t, e.id)
407
+ }, null, 40, dt), [[h, F.value]]),
408
+ g("button", {
409
+ 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)]",
410
+ disabled: !F.value.trim() || j.value.isSubmitting.value,
411
+ onClick: (t) => Y(e.id)
412
+ }, [c(s(b), {
413
+ size: 14,
414
+ "stroke-width": 2
415
+ })], 8, ft),
416
+ g("button", {
417
+ 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)]",
418
+ onClick: i[11] ||= (e) => Et()
419
+ }, [c(s(C), {
420
+ size: 14,
421
+ "stroke-width": 2
422
+ })])
423
+ ])])) : f("", !0)]),
424
+ _: 2
425
+ }, 1024)
426
+ ]))), 128))]))]),
427
+ j.value.canCreate.value ? (r(), d("div", pt, [St.value ? (r(), d("div", mt, v(s(O).comments.saveTemplateFirst), 1)) : (r(), d("div", ht, [o(g("textarea", {
428
+ ref_key: "newCommentInput",
429
+ ref: B,
430
+ "onUpdate:modelValue": i[12] ||= (e) => N.value = e,
431
+ 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)]",
432
+ "data-testid": "comments-input",
433
+ placeholder: s(O).comments.placeholder,
434
+ disabled: j.value.isSubmitting.value,
435
+ rows: "2",
436
+ onKeydown: At
437
+ }, null, 40, gt), [[h, N.value]]), g("button", {
438
+ 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)]",
439
+ "data-testid": "comments-send",
440
+ disabled: !N.value.trim() || j.value.isSubmitting.value,
441
+ onClick: J
442
+ }, [j.value.isSubmitting.value ? (r(), p(s(S), {
443
+ key: 0,
444
+ class: "tpl-spinner",
445
+ size: 16,
446
+ "stroke-width": 2
447
+ })) : (r(), p(s(b), {
448
+ key: 1,
449
+ size: 16,
450
+ "stroke-width": 2
451
+ }))], 8, _t)]))])) : f("", !0)
452
+ ])) : f("", !0)]),
453
+ _: 1
454
+ }));
455
+ }
456
+ }), [["__scopeId", "data-v-40431726"]]);
457
+ //#endregion
458
+ export { E as default };
459
+
460
+ //# sourceMappingURL=CommentsSidebar-Dxke-vUP.js.map