@templatical/editor 0.38.0 → 0.39.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 (222) hide show
  1. package/dist/{AiChatSidebar-tu4eLcf_.js → AiChatSidebar-jVlXXND3.js} +66 -66
  2. package/dist/{AiFeatureMenu-BF0i0vA4.js → AiFeatureMenu-C1HCntyQ.js} +6 -6
  3. package/dist/{BlockIssueBadge-DT-FqKeC.js → BlockIssueBadge-JhNgcUmZ.js} +4 -4
  4. package/dist/{BlockPreviewCanvas-DDCmMram.js → BlockPreviewCanvas-C_rA5LJN.js} +2 -2
  5. package/dist/{CloudHeaderExtras-NPhudovT.js → CloudHeaderExtras-DvYyNsPB.js} +3 -3
  6. package/dist/{CloudPanels-Iwnky0iA.js → CloudPanels-CDPhPVdd.js} +5 -5
  7. package/dist/{CollaboratorBar-DAITu0hz.js → CollaboratorBar-Co9UPoB0.js} +3 -3
  8. package/dist/{ColorPicker-BqlZ_TqG.js → ColorPicker-BTtN94te.js} +6 -6
  9. package/dist/{CommentsPanel-CDvgmWP1.js → CommentsPanel-CRcVN9Ri.js} +1 -1
  10. package/dist/{CommentsSidebar-X_xqM3dR.js → CommentsSidebar-gDU977br.js} +12 -12
  11. package/dist/{CountdownBlock-ZFJIdbP6.js → CountdownBlock-CEzrfe5R.js} +1 -1
  12. package/dist/{CountdownToolbar-DBFoG3a6.js → CountdownToolbar-B00zhkNJ.js} +2 -2
  13. package/dist/{DesignReferenceSidebar--QtXjLrw.js → DesignReferenceSidebar-DedivZZl.js} +7 -7
  14. package/dist/{IssuesPanel-BLbNFMSX.js → IssuesPanel-C-PjdmAV.js} +7 -7
  15. package/dist/{MediaPanels-CMTAhDXB.js → MediaPanels-BpQNY8YX.js} +1 -1
  16. package/dist/{MergeTagInput-BEjzj4Iu.js → MergeTagInput-Cw1RoMly.js} +201 -149
  17. package/dist/{MergeTagModeToggle-DKN6ihI5.js → MergeTagModeToggle-DGuzSAdX.js} +35 -35
  18. package/dist/{MergeTagSuggestion-DKoLEeoj.js → MergeTagSuggestion-BXO3UIXW.js} +2 -2
  19. package/dist/{ParagraphEditor-1E9yzOfk.js → ParagraphEditor-jMKLLTa8.js} +38 -38
  20. package/dist/{RestoreVersionDialog-BMGUkcd8.js → RestoreVersionDialog-DG1jUdBM.js} +4 -4
  21. package/dist/{RichTextEditorContent-BnxbQUV9.js → RichTextEditorContent-JrNEg0kv.js} +8 -8
  22. package/dist/{SaveBlockDialog-WKASpCCT.js → SaveBlockDialog-C0KC-OKs.js} +8 -8
  23. package/dist/{SavedBlocksBrowserModal-AYEXTMtQ.js → SavedBlocksBrowserModal-zyOiRgWZ.js} +10 -10
  24. package/dist/{SavedBlocksPanels-D_CpacTl.js → SavedBlocksPanels-epMd799w.js} +1 -1
  25. package/dist/{SavedBlocksPickBar-BHMwg-1G.js → SavedBlocksPickBar-CJqqQ3jd.js} +3 -3
  26. package/dist/{TemplateScoringPanel-CSin43YM.js → TemplateScoringPanel-m2FOeaai.js} +103 -103
  27. package/dist/{TestEmailModal-BxizsRCd.js → TestEmailModal-D58kYkMV.js} +54 -54
  28. package/dist/{TestEmailPanel-vd2e5HzT.js → TestEmailPanel-BmFVBIQt.js} +1 -1
  29. package/dist/{TitleEditor-CLJ68Ty4.js → TitleEditor-C4BGPXnf.js} +13 -13
  30. package/dist/{TplModal-Q9fDgS1M.js → TplModal-BIDJw4Kj.js} +3 -3
  31. package/dist/{VersionHistoryMenu-eGYVhM4H.js → VersionHistoryMenu-dt_aZQfh.js} +7 -7
  32. package/dist/{VersionHistoryPanels-C7Ntrrfq.js → VersionHistoryPanels-B_5SBRrr.js} +1 -1
  33. package/dist/{VersionPreviewBanner-BbQXnR0M.js → VersionPreviewBanner-DttvOkwd.js} +2 -2
  34. package/dist/{blockTypeIcons-5qD4bB76.js → blockTypeIcons-CzTizYmK.js} +2 -2
  35. package/dist/bundle-stats.json +8 -8
  36. package/dist/{cdn/chunks/ca-D9S-UCfZ.js → ca-YlPDhElv.js} +5 -3
  37. package/dist/cdn/chunks/{AiChatSidebar-dyqqHAcI.js → AiChatSidebar-DeZl9Tk0.js} +54 -54
  38. package/dist/cdn/chunks/AiChatSidebar-DeZl9Tk0.js.map +1 -0
  39. package/dist/cdn/chunks/{AiFeatureMenu-BjVMwhW8.js → AiFeatureMenu-Bv8jMu9p.js} +5 -5
  40. package/dist/cdn/chunks/{AiFeatureMenu-BjVMwhW8.js.map → AiFeatureMenu-Bv8jMu9p.js.map} +1 -1
  41. package/dist/cdn/chunks/{BlockIssueBadge-BJ__oEtm.js → BlockIssueBadge-B6PpoOPv.js} +4 -4
  42. package/dist/cdn/chunks/{BlockIssueBadge-BJ__oEtm.js.map → BlockIssueBadge-B6PpoOPv.js.map} +1 -1
  43. package/dist/cdn/chunks/{BlockPreviewCanvas-B5f26eLE.js → BlockPreviewCanvas-DfEtDosD.js} +3 -3
  44. package/dist/cdn/chunks/{BlockPreviewCanvas-B5f26eLE.js.map → BlockPreviewCanvas-DfEtDosD.js.map} +1 -1
  45. package/dist/cdn/chunks/{CloudHeaderExtras-D5P5IEKA.js → CloudHeaderExtras-Hk98ub-C.js} +4 -4
  46. package/dist/cdn/chunks/{CloudHeaderExtras-D5P5IEKA.js.map → CloudHeaderExtras-Hk98ub-C.js.map} +1 -1
  47. package/dist/cdn/chunks/{CloudPanels-DkmR05nB.js → CloudPanels-Ba3GLmvF.js} +5 -5
  48. package/dist/cdn/chunks/{CloudPanels-DkmR05nB.js.map → CloudPanels-Ba3GLmvF.js.map} +1 -1
  49. package/dist/cdn/chunks/{CollaboratorBar-Yn7KSpt4.js → CollaboratorBar-D2dCQ9gg.js} +4 -4
  50. package/dist/cdn/chunks/{CollaboratorBar-Yn7KSpt4.js.map → CollaboratorBar-D2dCQ9gg.js.map} +1 -1
  51. package/dist/cdn/chunks/{ColorPicker-LcrzgMoW.js → ColorPicker-BaonTCAQ.js} +7 -7
  52. package/dist/cdn/chunks/{ColorPicker-LcrzgMoW.js.map → ColorPicker-BaonTCAQ.js.map} +1 -1
  53. package/dist/cdn/chunks/{CommentsPanel-CntwwocI.js → CommentsPanel-CV2HveQk.js} +2 -2
  54. package/dist/cdn/chunks/{CommentsPanel-CntwwocI.js.map → CommentsPanel-CV2HveQk.js.map} +1 -1
  55. package/dist/cdn/chunks/{CommentsSidebar-BLDKnKy7.js → CommentsSidebar-Dok_vaRc.js} +4 -4
  56. package/dist/cdn/chunks/{CommentsSidebar-BLDKnKy7.js.map → CommentsSidebar-Dok_vaRc.js.map} +1 -1
  57. package/dist/cdn/chunks/{CountdownBlock-B4AfqJwb.js → CountdownBlock-DGDl3ota.js} +2 -2
  58. package/dist/cdn/chunks/{CountdownBlock-B4AfqJwb.js.map → CountdownBlock-DGDl3ota.js.map} +1 -1
  59. package/dist/cdn/chunks/{CountdownToolbar-CA1dpuOI.js → CountdownToolbar-B9Rin64t.js} +3 -3
  60. package/dist/cdn/chunks/{CountdownToolbar-CA1dpuOI.js.map → CountdownToolbar-B9Rin64t.js.map} +1 -1
  61. package/dist/cdn/chunks/{DesignReferenceSidebar-D1Y9Hswe.js → DesignReferenceSidebar-eCuTFak2.js} +4 -4
  62. package/dist/cdn/chunks/{DesignReferenceSidebar-D1Y9Hswe.js.map → DesignReferenceSidebar-eCuTFak2.js.map} +1 -1
  63. package/dist/cdn/chunks/{IssuesPanel-Q62LTqvd.js → IssuesPanel-CP7FEzw7.js} +5 -5
  64. package/dist/cdn/chunks/{IssuesPanel-Q62LTqvd.js.map → IssuesPanel-CP7FEzw7.js.map} +1 -1
  65. package/dist/cdn/chunks/{MediaPanels-D21M6shx.js → MediaPanels-TYrKKHX5.js} +2 -2
  66. package/dist/cdn/chunks/{MediaPanels-D21M6shx.js.map → MediaPanels-TYrKKHX5.js.map} +1 -1
  67. package/dist/cdn/chunks/MergeTagInput-CSIThqkz.js +470 -0
  68. package/dist/cdn/chunks/MergeTagInput-CSIThqkz.js.map +1 -0
  69. package/dist/cdn/chunks/{MergeTagModeToggle-DYxkAGtA.js → MergeTagModeToggle-QGTUIWWo.js} +32 -32
  70. package/dist/cdn/chunks/{MergeTagModeToggle-DYxkAGtA.js.map → MergeTagModeToggle-QGTUIWWo.js.map} +1 -1
  71. package/dist/cdn/chunks/{MergeTagSuggestion-t8Uj00Er.js → MergeTagSuggestion-CY6WK8Eb.js} +3 -3
  72. package/dist/cdn/chunks/MergeTagSuggestion-CY6WK8Eb.js.map +1 -0
  73. package/dist/cdn/chunks/{ParagraphEditor-Bd-GQXee.js → ParagraphEditor-D1tsPv4v.js} +22 -22
  74. package/dist/cdn/chunks/{ParagraphEditor-Bd-GQXee.js.map → ParagraphEditor-D1tsPv4v.js.map} +1 -1
  75. package/dist/cdn/chunks/{RestoreVersionDialog-2X9RpM9A.js → RestoreVersionDialog-BeCxNPLS.js} +4 -4
  76. package/dist/cdn/chunks/{RestoreVersionDialog-2X9RpM9A.js.map → RestoreVersionDialog-BeCxNPLS.js.map} +1 -1
  77. package/dist/cdn/chunks/{RichTextEditorContent-D_rb0rmU.js → RichTextEditorContent-BBxzACFQ.js} +8 -8
  78. package/dist/cdn/chunks/{RichTextEditorContent-D_rb0rmU.js.map → RichTextEditorContent-BBxzACFQ.js.map} +1 -1
  79. package/dist/cdn/chunks/{SaveBlockDialog-CufdTomT.js → SaveBlockDialog-CLgh_g7H.js} +7 -7
  80. package/dist/cdn/chunks/{SaveBlockDialog-CufdTomT.js.map → SaveBlockDialog-CLgh_g7H.js.map} +1 -1
  81. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CqpaNsk7.js → SavedBlocksBrowserModal-B4TcUJJe.js} +8 -8
  82. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CqpaNsk7.js.map → SavedBlocksBrowserModal-B4TcUJJe.js.map} +1 -1
  83. package/dist/cdn/chunks/{SavedBlocksPanels-DpxYxddo.js → SavedBlocksPanels-CaBsHoRC.js} +2 -2
  84. package/dist/cdn/chunks/{SavedBlocksPanels-DpxYxddo.js.map → SavedBlocksPanels-CaBsHoRC.js.map} +1 -1
  85. package/dist/cdn/chunks/{SavedBlocksPickBar-Drpoav1B.js → SavedBlocksPickBar-iG35XCDx.js} +4 -4
  86. package/dist/cdn/chunks/{SavedBlocksPickBar-Drpoav1B.js.map → SavedBlocksPickBar-iG35XCDx.js.map} +1 -1
  87. package/dist/cdn/chunks/{TemplateScoringPanel-DBjUNULq.js → TemplateScoringPanel-DuQJBykq.js} +86 -86
  88. package/dist/cdn/chunks/TemplateScoringPanel-DuQJBykq.js.map +1 -0
  89. package/dist/cdn/chunks/{TestEmailModal-BTNlSW6f.js → TestEmailModal-D6Woss3r.js} +52 -52
  90. package/dist/cdn/chunks/TestEmailModal-D6Woss3r.js.map +1 -0
  91. package/dist/cdn/chunks/{TestEmailPanel-D0A9Zgxr.js → TestEmailPanel-CWQFB7J3.js} +2 -2
  92. package/dist/cdn/chunks/{TestEmailPanel-D0A9Zgxr.js.map → TestEmailPanel-CWQFB7J3.js.map} +1 -1
  93. package/dist/cdn/chunks/{TitleEditor-CrnuIq62.js → TitleEditor-CbY1tgSl.js} +12 -12
  94. package/dist/cdn/chunks/TitleEditor-CbY1tgSl.js.map +1 -0
  95. package/dist/cdn/chunks/{TplModal-DYXrTz42.js → TplModal-CGpp-d_r.js} +4 -4
  96. package/dist/cdn/chunks/{TplModal-DYXrTz42.js.map → TplModal-CGpp-d_r.js.map} +1 -1
  97. package/dist/cdn/chunks/{VersionHistoryMenu-bDGnE4hb.js → VersionHistoryMenu-ByVJXDbK.js} +4 -4
  98. package/dist/cdn/chunks/{VersionHistoryMenu-bDGnE4hb.js.map → VersionHistoryMenu-ByVJXDbK.js.map} +1 -1
  99. package/dist/cdn/chunks/{VersionHistoryPanels-82P0Q0HM.js → VersionHistoryPanels-CQJ5OggF.js} +2 -2
  100. package/dist/cdn/chunks/{VersionHistoryPanels-82P0Q0HM.js.map → VersionHistoryPanels-CQJ5OggF.js.map} +1 -1
  101. package/dist/cdn/chunks/{VersionPreviewBanner-BJiwKkVC.js → VersionPreviewBanner-G4lLbfr8.js} +3 -3
  102. package/dist/cdn/chunks/{VersionPreviewBanner-BJiwKkVC.js.map → VersionPreviewBanner-G4lLbfr8.js.map} +1 -1
  103. package/dist/cdn/chunks/{blockTypeIcons-CNjJSFun.js → blockTypeIcons-CQY-vxdM.js} +2 -2
  104. package/dist/cdn/chunks/{blockTypeIcons-CNjJSFun.js.map → blockTypeIcons-CQY-vxdM.js.map} +1 -1
  105. package/dist/{ca-D9S-UCfZ.js → cdn/chunks/ca-YlPDhElv.js} +7 -1
  106. package/dist/cdn/chunks/{ca-D9S-UCfZ.js.map → ca-YlPDhElv.js.map} +1 -1
  107. package/dist/cdn/chunks/{createCloudRuntime-U-qCH-dq.js → createCloudRuntime-ClvtMBF1.js} +2 -2
  108. package/dist/cdn/chunks/{createCloudRuntime-U-qCH-dq.js.map → createCloudRuntime-ClvtMBF1.js.map} +1 -1
  109. package/dist/cdn/chunks/{de-BUPszLpi.js → de-CONjnzrF.js} +6 -2
  110. package/dist/cdn/chunks/{de-BUPszLpi.js.map → de-CONjnzrF.js.map} +1 -1
  111. package/dist/cdn/chunks/draggable-kbOhCgnk.js.map +1 -1
  112. package/dist/cdn/chunks/{editor-modal-MXgtarMl.js → editor-modal-B6IdQWlf.js} +3 -3
  113. package/dist/cdn/chunks/{editor-modal-MXgtarMl.js.map → editor-modal-B6IdQWlf.js.map} +1 -1
  114. package/dist/cdn/chunks/{en-BbOC5x3w.js → en-BAMooiOF.js} +6 -2
  115. package/dist/cdn/chunks/{en-BbOC5x3w.js.map → en-BAMooiOF.js.map} +1 -1
  116. package/dist/cdn/chunks/en-DjunooBz.js +2 -0
  117. package/dist/{es-0bCDcT9p.js → cdn/chunks/es-I47lHs2m.js} +7 -1
  118. package/dist/cdn/chunks/{es-0bCDcT9p.js.map → es-I47lHs2m.js.map} +1 -1
  119. package/dist/cdn/chunks/{extensions-B8_jnIkD.js → extensions-D2YIhF7u.js} +126 -101
  120. package/dist/cdn/chunks/extensions-D2YIhF7u.js.map +1 -0
  121. package/dist/cdn/chunks/{fr-Brr8mJ9e.js → fr-B8MIKjT4.js} +6 -2
  122. package/dist/cdn/chunks/{fr-Brr8mJ9e.js.map → fr-B8MIKjT4.js.map} +1 -1
  123. package/dist/cdn/chunks/htmlparser-ClUZ6waR.js +1113 -0
  124. package/dist/cdn/chunks/htmlparser-ClUZ6waR.js.map +1 -0
  125. package/dist/cdn/chunks/{icons-BUlqGSgd.js → icons-DdrAicM2.js} +33 -33
  126. package/dist/cdn/chunks/{icons-BUlqGSgd.js.map → icons-DdrAicM2.js.map} +1 -1
  127. package/dist/cdn/chunks/keys-DXYJTLZF.js +12 -0
  128. package/dist/cdn/chunks/keys-DXYJTLZF.js.map +1 -0
  129. package/dist/{nl-Co3_RL0M.js → cdn/chunks/nl-CBLxcb-0.js} +7 -1
  130. package/dist/cdn/chunks/{nl-Co3_RL0M.js.map → nl-CBLxcb-0.js.map} +1 -1
  131. package/dist/{pt-BR-BECez5b0.js → cdn/chunks/pt-BR-CMSRfX7t.js} +7 -1
  132. package/dist/cdn/chunks/{pt-BR-BECez5b0.js.map → pt-BR-CMSRfX7t.js.map} +1 -1
  133. package/dist/cdn/chunks/{src-CUvZWL6Y.js → src-CaNsA_WX.js} +2 -2
  134. package/dist/cdn/chunks/{src-CUvZWL6Y.js.map → src-CaNsA_WX.js.map} +1 -1
  135. package/dist/cdn/chunks/src-Dwgq7hf4.js.map +1 -1
  136. package/dist/cdn/chunks/{src-IGLRmUar.js → src-fn7uy1FD.js} +3 -3
  137. package/dist/cdn/chunks/{src-IGLRmUar.js.map → src-fn7uy1FD.js.map} +1 -1
  138. package/dist/cdn/chunks/{useCloudI18n-DSWSGj-A.js → useCloudI18n-OezCj0cx.js} +2 -2
  139. package/dist/cdn/chunks/{useCloudI18n-DSWSGj-A.js.map → useCloudI18n-OezCj0cx.js.map} +1 -1
  140. package/dist/cdn/chunks/{useEditorCore-Cs7rYVBo.js → useEditorCore-06PtcUi1.js} +482 -473
  141. package/dist/cdn/chunks/useEditorCore-06PtcUi1.js.map +1 -0
  142. package/dist/cdn/chunks/{useEditorRoot-B0zW2nT4.js → useEditorRoot-ByHPMqYT.js} +2 -2
  143. package/dist/cdn/chunks/{useEditorRoot-B0zW2nT4.js.map → useEditorRoot-ByHPMqYT.js.map} +1 -1
  144. package/dist/cdn/chunks/{useI18n-Dlo7R9RA.js → useI18n-BhE7ndNr.js} +2 -2
  145. package/dist/cdn/chunks/{useI18n-Dlo7R9RA.js.map → useI18n-BhE7ndNr.js.map} +1 -1
  146. package/dist/cdn/chunks/useMergeTag-DE2mpy1w.js +60 -0
  147. package/dist/cdn/chunks/useMergeTag-DE2mpy1w.js.map +1 -0
  148. package/dist/cdn/chunks/{usePopoverPosition-ElP3ABaV.js → usePopoverPosition-BPL891uG.js} +2 -2
  149. package/dist/cdn/chunks/{usePopoverPosition-ElP3ABaV.js.map → usePopoverPosition-BPL891uG.js.map} +1 -1
  150. package/dist/cdn/chunks/{useScrollToBlock-nTbWkgaU.js → useScrollToBlock-DwF4pVur.js} +2 -2
  151. package/dist/cdn/chunks/{useScrollToBlock-nTbWkgaU.js.map → useScrollToBlock-DwF4pVur.js.map} +1 -1
  152. package/dist/cdn/editor.css +1 -1
  153. package/dist/cdn/editor.js +894 -857
  154. package/dist/cdn/editor.js.map +1 -1
  155. package/dist/{check-DWtkBzBU.js → check-9xX6RVHz.js} +1 -1
  156. package/dist/{chevron-down-C-Fjxcqj.js → chevron-down-J5hFJ6TL.js} +1 -1
  157. package/dist/{chevron-right-SOkn2d4P.js → chevron-right-BJuo5PQ-.js} +1 -1
  158. package/dist/{chevron-up-lntU1ypp.js → chevron-up-Qfi5k52_.js} +1 -1
  159. package/dist/{circle-alert-CjzUTwy3.js → circle-alert-BiArYmkB.js} +1 -1
  160. package/dist/{clock-pB2QKPsJ.js → clock-BkYJZ7Y0.js} +1 -1
  161. package/dist/{copy-CId1E038.js → copy-BRLUNHwF.js} +1 -1
  162. package/dist/{createCloudRuntime-x5WZm3p8.js → createCloudRuntime-CNFXaTNQ.js} +1 -1
  163. package/dist/{createLucideIcon-Cwf_nTzE.js → createLucideIcon-CDDkF1Tm.js} +5 -5
  164. package/dist/{de-BUPszLpi.js → de-CONjnzrF.js} +5 -1
  165. package/dist/{editor-modal-B_LaQf0s.js → editor-modal-uAEB6xKz.js} +15 -15
  166. package/dist/{en-BbOC5x3w.js → en-BAMooiOF.js} +5 -1
  167. package/dist/en-CQWkDCpm.js +2 -0
  168. package/dist/{cdn/chunks/es-0bCDcT9p.js → es-I47lHs2m.js} +5 -3
  169. package/dist/{extensions-CHOBZRab.js → extensions-CcGj7OfS.js} +129 -104
  170. package/dist/{eye-BuGtFUoJ.js → eye-DwhBOaV8.js} +1 -1
  171. package/dist/{fr-Brr8mJ9e.js → fr-B8MIKjT4.js} +5 -1
  172. package/dist/{image-up-gH4JEpU5.js → image-up-CiyQNZBt.js} +1 -1
  173. package/dist/index.d.ts +15 -0
  174. package/dist/{info-BQ60P82u.js → info-D6A1qEiF.js} +1 -1
  175. package/dist/keys-DD1rl72F.js +10 -0
  176. package/dist/{link-3R8it3J7.js → link-tKGmYWsB.js} +1 -1
  177. package/dist/{list-Ccdgj46T.js → list-DjZQRpeI.js} +1 -1
  178. package/dist/{loader-circle-B_tAD4k6.js → loader-circle-D9ZL3Sv0.js} +1 -1
  179. package/dist/{message-circle-P-KSc6V0.js → message-circle-KTHxCcpB.js} +1 -1
  180. package/dist/{cdn/chunks/nl-Co3_RL0M.js → nl-CBLxcb-0.js} +5 -3
  181. package/dist/{pencil-9ZiwqS4r.js → pencil-Bq-nbQ7F.js} +1 -1
  182. package/dist/{plus-BwJEzCaO.js → plus-CRMnR4IG.js} +1 -1
  183. package/dist/{cdn/chunks/pt-BR-BECez5b0.js → pt-BR-CMSRfX7t.js} +5 -3
  184. package/dist/{refresh-cw-DEgfb2FK.js → refresh-cw-D7bYS5tm.js} +1 -1
  185. package/dist/{search-DqQ8Li5E.js → search-DUo0YwPz.js} +1 -1
  186. package/dist/{send-CE6uvqop.js → send-DaVMQphu.js} +1 -1
  187. package/dist/{shield-check-DhD1Z3rd.js → shield-check-DxaaurL9.js} +1 -1
  188. package/dist/{sparkles-R0ZQHa6F.js → sparkles-D6T6k30e.js} +1 -1
  189. package/dist/style.css +1 -1
  190. package/dist/templatical-editor.js +1156 -1119
  191. package/dist/{text-align-start-DSux2UNn.js → text-align-start-vreFpmCX.js} +1 -1
  192. package/dist/{trash-Cf_SqsER.js → trash-DBv8MGY6.js} +1 -1
  193. package/dist/{triangle-alert-C6tGa6jw.js → triangle-alert-CmNS2LLv.js} +1 -1
  194. package/dist/{upload-DusKjpVr.js → upload-DDB9Fs0P.js} +1 -1
  195. package/dist/{useCloudI18n-BLyh_e2T.js → useCloudI18n-C1wuXik6.js} +1 -1
  196. package/dist/{useEditorCore-DhlKOYwe.js → useEditorCore-jfwgLThK.js} +1077 -1068
  197. package/dist/{useEditorRoot-ds57-l6F.js → useEditorRoot-eVv4doqZ.js} +1 -1
  198. package/dist/{useI18n-BbdxxpOE.js → useI18n-VOtdfENx.js} +1 -1
  199. package/dist/useMergeTag-CQM9pFca.js +58 -0
  200. package/dist/{usePopoverPosition-CprM5p-c.js → usePopoverPosition-gZjRywai.js} +1 -1
  201. package/dist/{useScrollToBlock-BTFw0b9O.js → useScrollToBlock-C0Ehnyl4.js} +2 -2
  202. package/dist/{x-D_-42Ukq.js → x-B7sgO_z8.js} +1 -1
  203. package/package.json +10 -10
  204. package/dist/cdn/chunks/AiChatSidebar-dyqqHAcI.js.map +0 -1
  205. package/dist/cdn/chunks/MergeTagInput-l7paaAml.js +0 -419
  206. package/dist/cdn/chunks/MergeTagInput-l7paaAml.js.map +0 -1
  207. package/dist/cdn/chunks/MergeTagSuggestion-t8Uj00Er.js.map +0 -1
  208. package/dist/cdn/chunks/TemplateScoringPanel-DBjUNULq.js.map +0 -1
  209. package/dist/cdn/chunks/TestEmailModal-BTNlSW6f.js.map +0 -1
  210. package/dist/cdn/chunks/TitleEditor-CrnuIq62.js.map +0 -1
  211. package/dist/cdn/chunks/en-C9U7N77n.js +0 -2
  212. package/dist/cdn/chunks/extensions-B8_jnIkD.js.map +0 -1
  213. package/dist/cdn/chunks/htmlparser-DTML8Gvz.js +0 -1007
  214. package/dist/cdn/chunks/htmlparser-DTML8Gvz.js.map +0 -1
  215. package/dist/cdn/chunks/keys-DBFhDFng.js +0 -12
  216. package/dist/cdn/chunks/keys-DBFhDFng.js.map +0 -1
  217. package/dist/cdn/chunks/useEditorCore-Cs7rYVBo.js.map +0 -1
  218. package/dist/cdn/chunks/useMergeTag-BYAifvh8.js +0 -46
  219. package/dist/cdn/chunks/useMergeTag-BYAifvh8.js.map +0 -1
  220. package/dist/en-DcmpWV53.js +0 -2
  221. package/dist/keys-DQA2i1k1.js +0 -10
  222. package/dist/useMergeTag-DlvOBW_B.js +0 -44
@@ -1,21 +1,21 @@
1
- import { A as e, At as t, B as n, F as r, M as i, R as ee, S as a, Z as te, at as o, c as s, d as c, g as l, h as u, jt as d, kt as f, l as p, r as m, u as h, v as g } from "./vue.runtime.esm-bundler-DShF3P6k.js";
2
- import { t as ne } from "./runtime-dom.esm-bundler-PnoZU512.js";
3
- import { D as re, V as ie, Y as _, g as ae } from "./keys-DQA2i1k1.js";
4
- import { t as v } from "./createLucideIcon-Cwf_nTzE.js";
5
- import { t as oe } from "./chevron-down-C-Fjxcqj.js";
6
- import { t as y } from "./circle-alert-CjzUTwy3.js";
7
- import { t as se } from "./eye-BuGtFUoJ.js";
8
- import { t as b } from "./info-BQ60P82u.js";
9
- import { t as x } from "./loader-circle-B_tAD4k6.js";
10
- import { t as S } from "./refresh-cw-DEgfb2FK.js";
11
- import { t as C } from "./shield-check-DhD1Z3rd.js";
12
- import { t as w } from "./sparkles-R0ZQHa6F.js";
13
- import { t as ce } from "./triangle-alert-C6tGa6jw.js";
14
- import { t as le } from "./x-D_-42Ukq.js";
1
+ import { A as e, At as t, B as n, F as r, M as i, R as ee, S as a, Z as o, at as s, c, d as l, g as u, h as d, jt as f, kt as p, l as m, r as h, u as g, v as _ } from "./vue.runtime.esm-bundler-DShF3P6k.js";
2
+ import { t as te } from "./runtime-dom.esm-bundler-PnoZU512.js";
3
+ import { D as ne, P as re, U as v, Z as y, g as b } from "./keys-DD1rl72F.js";
4
+ import { t as x } from "./createLucideIcon-CDDkF1Tm.js";
5
+ import { t as ie } from "./chevron-down-J5hFJ6TL.js";
6
+ import { t as S } from "./circle-alert-BiArYmkB.js";
7
+ import { t as ae } from "./eye-DwhBOaV8.js";
8
+ import { t as oe } from "./info-D6A1qEiF.js";
9
+ import { t as se } from "./loader-circle-D9ZL3Sv0.js";
10
+ import { t as C } from "./refresh-cw-D7bYS5tm.js";
11
+ import { t as w } from "./shield-check-DxaaurL9.js";
12
+ import { t as T } from "./sparkles-D6T6k30e.js";
13
+ import { t as ce } from "./triangle-alert-CmNS2LLv.js";
14
+ import { t as le } from "./x-B7sgO_z8.js";
15
15
  import { t as ue } from "./LoadingTrack-BlTL4zFv.js";
16
- import { t as T } from "./_plugin-vue_export-helper-B3ysoDQm.js";
17
- import { n as E } from "./useCloudI18n-BLyh_e2T.js";
18
- var D = v({
16
+ import { t as E } from "./_plugin-vue_export-helper-B3ysoDQm.js";
17
+ import { n as D } from "./useCloudI18n-C1wuXik6.js";
18
+ var O = x({
19
19
  name: "shield-x",
20
20
  size: 24,
21
21
  node: [
@@ -33,7 +33,7 @@ var D = v({
33
33
  }]
34
34
  ],
35
35
  aliases: ["shield-close"]
36
- }), O = v({
36
+ }), k = x({
37
37
  name: "zap",
38
38
  size: 24,
39
39
  node: [["path", {
@@ -43,71 +43,71 @@ var D = v({
43
43
  });
44
44
  //#endregion
45
45
  //#region src/cloud/utils/scoringStyles.ts
46
- function k(e) {
46
+ function A(e) {
47
47
  return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
48
48
  }
49
- function A(e) {
49
+ function j(e) {
50
50
  return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
51
51
  }
52
- function j(e) {
52
+ function M(e) {
53
53
  return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
54
54
  }
55
- function M(e) {
55
+ function N(e) {
56
56
  return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
57
57
  }
58
58
  //#endregion
59
59
  //#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
60
- var N = {
60
+ var P = {
61
61
  key: 0,
62
62
  class: "tpl-scoring-panel tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
63
- }, P = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, F = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, I = { class: "tpl:flex tpl:items-center tpl:gap-1" }, L = ["title"], R = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, z = {
63
+ }, F = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, I = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, L = { class: "tpl:flex tpl:items-center tpl:gap-1" }, R = ["title"], z = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, B = {
64
64
  key: 0,
65
65
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
66
- }, B = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, V = {
66
+ }, V = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, H = {
67
67
  key: 1,
68
68
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
69
- }, H = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, U = {
69
+ }, U = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, de = {
70
70
  key: 2,
71
71
  class: "tpl:flex tpl:flex-col tpl:gap-4"
72
- }, de = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, fe = {
72
+ }, fe = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, pe = {
73
73
  key: 0,
74
74
  class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
75
- }, pe = {
75
+ }, me = {
76
76
  key: 0,
77
77
  class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
78
- }, W = ["onClick"], me = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, he = {
78
+ }, he = ["onClick"], ge = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, _e = {
79
79
  key: 0,
80
80
  class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
81
- }, ge = {
81
+ }, ve = {
82
82
  key: 0,
83
83
  class: "tpl:border-t tpl:border-[var(--tpl-border)]"
84
- }, _e = {
84
+ }, ye = {
85
85
  key: 0,
86
86
  class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
87
- }, ve = { class: "tpl:flex tpl:items-start tpl:gap-2" }, ye = { class: "tpl:flex-1 tpl:min-w-0" }, be = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, xe = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Se = {
87
+ }, be = { class: "tpl:flex tpl:items-start tpl:gap-2" }, xe = { class: "tpl:flex-1 tpl:min-w-0" }, Se = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Ce = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, we = {
88
88
  key: 0,
89
89
  class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
90
- }, Ce = {
90
+ }, Te = {
91
91
  key: 1,
92
92
  class: "tpl:mt-2 tpl:flex tpl:justify-center"
93
- }, we = ["disabled", "onClick"], Te = {
93
+ }, Ee = ["disabled", "onClick"], De = {
94
94
  key: 0,
95
95
  class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
96
- }, Ee = {
96
+ }, Oe = {
97
97
  key: 3,
98
98
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
99
- }, De = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Oe = { class: "tpl:m-0 tpl:px-4 tpl:pb-2 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, G = /*#__PURE__*/ T(/* @__PURE__ */ g({
99
+ }, ke = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, W = { class: "tpl:m-0 tpl:px-4 tpl:pb-2 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, G = /*#__PURE__*/ E(/* @__PURE__ */ _({
100
100
  __name: "TemplateScoringPanel",
101
101
  props: { visible: { type: Boolean } },
102
102
  emits: ["close"],
103
- setup(g, { emit: v }) {
104
- let T = g, G = v, { t: K } = E(), q = _(ae, "TemplateScoringPanel"), J = _(ie, "TemplateScoringPanel"), Y = a(re, []), X = te({
103
+ setup(_, { emit: x }) {
104
+ let E = _, G = x, { t: K } = D(), q = y(b, "TemplateScoringPanel"), J = y(v, "TemplateScoringPanel"), Y = a(ne, re), X = o({
105
105
  spam: !0,
106
106
  readability: !0,
107
107
  accessibility: !0,
108
108
  bestPractices: !0
109
109
  });
110
- function ke(e) {
110
+ function Ae(e) {
111
111
  X.value[e] = !X.value[e];
112
112
  }
113
113
  let Z = [
@@ -115,31 +115,31 @@ var N = {
115
115
  "readability",
116
116
  "accessibility",
117
117
  "bestPractices"
118
- ], Ae = {
119
- spam: D,
120
- readability: se,
121
- accessibility: w,
122
- bestPractices: O
118
+ ], je = {
119
+ spam: O,
120
+ readability: ae,
121
+ accessibility: T,
122
+ bestPractices: k
123
123
  };
124
124
  function Q() {
125
- J.score(q.content.value, Y);
125
+ J.score(q.content.value, Y.value);
126
126
  }
127
- ee(() => T.visible, (e) => {
127
+ ee(() => E.visible, (e) => {
128
128
  e && !J.scoringResult.value && !J.isScoring.value && Q();
129
129
  });
130
- async function je(e) {
130
+ async function Me(e) {
131
131
  if (!e.blockId) return;
132
132
  let t = q.content.value.blocks.find((t) => t.id === e.blockId);
133
133
  if (!t) return;
134
134
  let n = t.content;
135
135
  if (!n) return;
136
- let r = await J.fixFinding(n, e, Y);
136
+ let r = await J.fixFinding(n, e, Y.value);
137
137
  r && (q.updateBlock(e.blockId, { content: r }), J.removeFinding(e.category, e.id));
138
138
  }
139
139
  function $() {
140
140
  return J.scoringResult.value ? Z.reduce((e, t) => e + (J.scoringResult.value?.categories[t]?.findings.length ?? 0), 0) : 0;
141
141
  }
142
- return (ee, a) => (e(), p(ne, {
142
+ return (ee, a) => (e(), m(te, {
143
143
  "enter-active-class": "tpl-scoring-slide-enter-active",
144
144
  "enter-from-class": "tpl:translate-x-full",
145
145
  "enter-to-class": "tpl:translate-x-0",
@@ -147,121 +147,121 @@ var N = {
147
147
  "leave-from-class": "tpl:translate-x-0",
148
148
  "leave-to-class": "tpl:translate-x-full"
149
149
  }, {
150
- default: n(() => [g.visible ? (e(), c("div", N, [s("div", P, [s("div", F, [l(o(C), {
150
+ default: n(() => [_.visible ? (e(), l("div", P, [c("div", F, [c("div", I, [u(s(w), {
151
151
  size: 13,
152
152
  "stroke-width": 2
153
- }), s("span", null, d(o(K).scoring.title), 1)]), s("div", I, [o(J).scoringResult.value && !o(J).isScoring.value ? (e(), c("button", {
153
+ }), c("span", null, f(s(K).scoring.title), 1)]), c("div", L, [s(J).scoringResult.value && !s(J).isScoring.value ? (e(), l("button", {
154
154
  key: 0,
155
155
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:text-[var(--tpl-text-muted)]",
156
- title: o(K).scoring.rescore,
156
+ title: s(K).scoring.rescore,
157
157
  onClick: a[0] ||= (e) => Q()
158
- }, [l(o(S), {
158
+ }, [u(s(C), {
159
159
  size: 14,
160
160
  "stroke-width": 2
161
- })], 8, L)) : h("", !0), s("button", {
161
+ })], 8, R)) : g("", !0), c("button", {
162
162
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:text-[var(--tpl-text-muted)]",
163
163
  onClick: a[1] ||= (e) => G("close")
164
- }, [l(o(le), {
164
+ }, [u(s(le), {
165
165
  size: 14,
166
166
  "stroke-width": 2
167
- })])])]), s("div", R, [o(J).isScoring.value ? (e(), c("div", z, [s("p", B, d(o(K).scoring.scoring), 1), l(ue, { class: "tpl:w-3/4" })])) : o(J).error.value && !o(J).scoringResult.value ? (e(), c("div", V, [
168
- l(o(y), {
167
+ })])])]), c("div", z, [s(J).isScoring.value ? (e(), l("div", B, [c("p", V, f(s(K).scoring.scoring), 1), u(ue, { class: "tpl:w-3/4" })])) : s(J).error.value && !s(J).scoringResult.value ? (e(), l("div", H, [
168
+ u(s(S), {
169
169
  size: 32,
170
170
  "stroke-width": 1.5,
171
171
  class: "tpl:text-[var(--tpl-danger)]"
172
172
  }),
173
- s("p", H, d(o(K).scoring.error), 1),
174
- s("button", {
173
+ c("p", U, f(s(K).scoring.error), 1),
174
+ c("button", {
175
175
  class: "tpl:mt-2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-muted)]",
176
176
  onClick: a[2] ||= (e) => Q()
177
- }, [l(o(S), {
177
+ }, [u(s(C), {
178
178
  size: 12,
179
179
  "stroke-width": 2
180
- }), u(" " + d(o(K).scoring.rescore), 1)])
181
- ])) : o(J).scoringResult.value ? (e(), c("div", U, [
182
- s("div", {
180
+ }), d(" " + f(s(K).scoring.rescore), 1)])
181
+ ])) : s(J).scoringResult.value ? (e(), l("div", de, [
182
+ c("div", {
183
183
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
184
- style: t({ backgroundColor: o(A)(o(J).scoringResult.value.score) })
184
+ style: t({ backgroundColor: s(j)(s(J).scoringResult.value.score) })
185
185
  }, [
186
- s("span", {
186
+ c("span", {
187
187
  class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
188
- style: t({ color: o(k)(o(J).scoringResult.value.score) })
189
- }, d(o(J).scoringResult.value.score), 5),
190
- s("span", de, d(o(K).scoring.overallScore), 1),
191
- $() > 0 ? (e(), c("span", fe, d($()) + " " + d(o(K).scoring.findings), 1)) : h("", !0)
188
+ style: t({ color: s(A)(s(J).scoringResult.value.score) })
189
+ }, f(s(J).scoringResult.value.score), 5),
190
+ c("span", fe, f(s(K).scoring.overallScore), 1),
191
+ $() > 0 ? (e(), l("span", pe, f($()) + " " + f(s(K).scoring.findings), 1)) : g("", !0)
192
192
  ], 4),
193
- o(J).fixError.value ? (e(), c("div", pe, [l(o(y), {
193
+ s(J).fixError.value ? (e(), l("div", me, [u(s(S), {
194
194
  size: 14,
195
195
  "stroke-width": 2,
196
196
  class: "tpl:mt-0.5 tpl:shrink-0"
197
- }), s("span", null, d(o(K).scoring.fixError), 1)])) : h("", !0),
198
- (e(), c(m, null, i(Z, (n) => s("div", {
197
+ }), c("span", null, f(s(K).scoring.fixError), 1)])) : g("", !0),
198
+ (e(), l(h, null, i(Z, (n) => c("div", {
199
199
  key: n,
200
200
  class: "tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)]"
201
- }, [s("button", {
201
+ }, [c("button", {
202
202
  class: "tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-2.5 tpl:px-3 tpl:py-2.5 tpl:text-left tpl:transition-colors tpl:bg-[var(--tpl-bg)]",
203
- onClick: (e) => ke(n)
203
+ onClick: (e) => Ae(n)
204
204
  }, [
205
- (e(), p(r(Ae[n]), {
205
+ (e(), m(r(je[n]), {
206
206
  size: 14,
207
207
  "stroke-width": 2,
208
- style: t({ color: o(k)(o(J).scoringResult.value.categories[n].score) })
208
+ style: t({ color: s(A)(s(J).scoringResult.value.categories[n].score) })
209
209
  }, null, 8, ["style"])),
210
- s("span", me, d(o(K).scoring.categories[n]), 1),
211
- s("span", {
210
+ c("span", ge, f(s(K).scoring.categories[n]), 1),
211
+ c("span", {
212
212
  class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
213
213
  style: t({
214
- color: o(k)(o(J).scoringResult.value.categories[n].score),
215
- backgroundColor: o(A)(o(J).scoringResult.value.categories[n].score)
214
+ color: s(A)(s(J).scoringResult.value.categories[n].score),
215
+ backgroundColor: s(j)(s(J).scoringResult.value.categories[n].score)
216
216
  })
217
- }, d(o(J).scoringResult.value.categories[n].score), 5),
218
- o(J).scoringResult.value.categories[n].findings.length > 0 ? (e(), c("span", he, d(o(J).scoringResult.value.categories[n].findings.length), 1)) : h("", !0),
219
- l(o(oe), {
217
+ }, f(s(J).scoringResult.value.categories[n].score), 5),
218
+ s(J).scoringResult.value.categories[n].findings.length > 0 ? (e(), l("span", _e, f(s(J).scoringResult.value.categories[n].findings.length), 1)) : g("", !0),
219
+ u(s(ie), {
220
220
  size: 12,
221
221
  "stroke-width": 2,
222
- class: f(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", X.value[n] ? "tpl:rotate-0" : "tpl:-rotate-90"])
222
+ class: p(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", X.value[n] ? "tpl:rotate-0" : "tpl:-rotate-90"])
223
223
  }, null, 8, ["class"])
224
- ], 8, W), X.value[n] ? (e(), c("div", ge, [o(J).scoringResult.value.categories[n].findings.length === 0 ? (e(), c("div", _e, d(o(K).scoring.noFindings), 1)) : h("", !0), (e(!0), c(m, null, i(o(J).scoringResult.value.categories[n].findings, (n) => (e(), c("div", {
224
+ ], 8, he), X.value[n] ? (e(), l("div", ve, [s(J).scoringResult.value.categories[n].findings.length === 0 ? (e(), l("div", ye, f(s(K).scoring.noFindings), 1)) : g("", !0), (e(!0), l(h, null, i(s(J).scoringResult.value.categories[n].findings, (n) => (e(), l("div", {
225
225
  key: n.id,
226
226
  class: "tpl:border-t tpl:px-3 tpl:py-2.5 tpl:first:border-t-0 tpl:border-[var(--tpl-border-light)]"
227
- }, [s("div", ve, [(e(), p(r(n.severity === "high" ? o(y) : n.severity === "medium" ? o(ce) : o(b)), {
227
+ }, [c("div", be, [(e(), m(r(n.severity === "high" ? s(S) : n.severity === "medium" ? s(ce) : s(oe)), {
228
228
  size: 13,
229
229
  "stroke-width": 2,
230
230
  class: "tpl:mt-0.5 tpl:shrink-0",
231
- style: t({ color: o(j)(n.severity) })
232
- }, null, 8, ["style"])), s("div", ye, [
233
- s("div", be, [s("span", {
231
+ style: t({ color: s(M)(n.severity) })
232
+ }, null, 8, ["style"])), c("div", xe, [
233
+ c("div", Se, [c("span", {
234
234
  class: "tpl:mt-0.5 tpl:shrink-0 tpl:rounded tpl:px-1 tpl:py-px tpl:text-[10px] tpl:font-medium tpl:leading-tight",
235
235
  style: t({
236
- color: o(j)(n.severity),
237
- backgroundColor: o(M)(n.severity)
236
+ color: s(M)(n.severity),
237
+ backgroundColor: s(N)(n.severity)
238
238
  })
239
- }, d(o(K).scoring.severity[n.severity]), 5), s("span", xe, d(n.message), 1)]),
240
- n.suggestion ? (e(), c("p", Se, d(n.suggestion), 1)) : h("", !0),
241
- n.blockId ? (e(), c("div", Ce, [s("button", {
239
+ }, f(s(K).scoring.severity[n.severity]), 5), c("span", Ce, f(n.message), 1)]),
240
+ n.suggestion ? (e(), l("p", we, f(n.suggestion), 1)) : g("", !0),
241
+ n.blockId ? (e(), l("div", Te, [c("button", {
242
242
  class: "tpl-scoring-fix-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded tpl:border tpl:px-3 tpl:py-1.5 tpl:text-[11px] tpl:font-medium tpl:transition-all tpl:disabled:opacity-50 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)]",
243
243
  style: { "background-color": "transparent" },
244
- disabled: o(J).fixingFindingId.value !== null,
245
- onClick: (e) => je(n)
246
- }, [o(J).fixingFindingId.value === n.id ? (e(), p(o(x), {
244
+ disabled: s(J).fixingFindingId.value !== null,
245
+ onClick: (e) => Me(n)
246
+ }, [s(J).fixingFindingId.value === n.id ? (e(), m(s(se), {
247
247
  key: 0,
248
248
  class: "tpl-spinner",
249
249
  size: 11,
250
250
  "stroke-width": 2
251
- })) : (e(), p(o(w), {
251
+ })) : (e(), m(s(T), {
252
252
  key: 1,
253
253
  size: 11,
254
254
  "stroke-width": 2
255
- })), u(" " + d(o(J).fixingFindingId.value === n.id ? o(K).scoring.fixing : o(K).scoring.fix), 1)], 8, we), o(J).fixError.value ? (e(), c("p", Te, d(o(J).fixError.value), 1)) : h("", !0)])) : h("", !0)
256
- ])])]))), 128))])) : h("", !0)])), 64))
257
- ])) : (e(), c("div", Ee, [l(o(C), {
255
+ })), d(" " + f(s(J).fixingFindingId.value === n.id ? s(K).scoring.fixing : s(K).scoring.fix), 1)], 8, Ee), s(J).fixError.value ? (e(), l("p", De, f(s(J).fixError.value), 1)) : g("", !0)])) : g("", !0)
256
+ ])])]))), 128))])) : g("", !0)])), 64))
257
+ ])) : (e(), l("div", Oe, [u(s(w), {
258
258
  size: 32,
259
259
  "stroke-width": 1.5,
260
260
  class: "tpl:text-[var(--tpl-text-dim)]"
261
- }), s("p", De, d(o(K).scoring.emptyState), 1)])), s("p", Oe, d(o(K).aiMenu.disclaimer), 1)])])) : h("", !0)]),
261
+ }), c("p", ke, f(s(K).scoring.emptyState), 1)])), c("p", W, f(s(K).aiMenu.disclaimer), 1)])])) : g("", !0)]),
262
262
  _: 1
263
263
  }));
264
264
  }
265
- }), [["__scopeId", "data-v-1b4ea13b"]]);
265
+ }), [["__scopeId", "data-v-e9458def"]]);
266
266
  //#endregion
267
267
  export { G as default };
@@ -1,18 +1,18 @@
1
1
  import { A as e, B as t, M as n, R as r, S as i, V as a, Z as o, at as s, c, d as l, g as u, h as d, jt as f, kt as p, l as m, r as h, s as g, u as _, v } from "./vue.runtime.esm-bundler-DShF3P6k.js";
2
- import { a as ee, i as y } from "./runtime-dom.esm-bundler-PnoZU512.js";
3
- import { N as te } from "./dist-tGkjkX-v.js";
4
- import { X as ne } from "./useEditorCore-DhlKOYwe.js";
5
- import { D as re, g as ie, j as ae, z as oe } from "./keys-DQA2i1k1.js";
6
- import { t as se } from "./useI18n-BbdxxpOE.js";
7
- import { t as ce } from "./check-DWtkBzBU.js";
8
- import { t as le } from "./loader-circle-B_tAD4k6.js";
9
- import { n as ue, t as de } from "./MergeTagModeToggle-DKN6ihI5.js";
10
- import { v as fe } from "./styleConstants-C_YAPdQS.js";
11
- import { t as pe } from "./TplModal-Q9fDgS1M.js";
12
- import { t as me } from "./BlockPreviewCanvas-DDCmMram.js";
2
+ import { a as ee, i as te } from "./runtime-dom.esm-bundler-PnoZU512.js";
3
+ import { N as ne } from "./dist-tGkjkX-v.js";
4
+ import { X as re } from "./useEditorCore-jfwgLThK.js";
5
+ import { D as ie, P as ae, V as y, g as oe, j as se } from "./keys-DD1rl72F.js";
6
+ import { t as ce } from "./useI18n-VOtdfENx.js";
7
+ import { t as le } from "./check-9xX6RVHz.js";
8
+ import { t as ue } from "./loader-circle-D9ZL3Sv0.js";
9
+ import { n as de, t as fe } from "./MergeTagModeToggle-DGuzSAdX.js";
10
+ import { v as pe } from "./styleConstants-C_YAPdQS.js";
11
+ import { t as me } from "./TplModal-BIDJw4Kj.js";
12
+ import { t as he } from "./BlockPreviewCanvas-C_rA5LJN.js";
13
13
  //#region src/utils/validateEmailShape.ts
14
14
  var b = /[,;<>()[\]\\"'`|/?#@!$%^&*+=~{}]/;
15
- function he(e) {
15
+ function x(e) {
16
16
  let t = e.trim();
17
17
  if (t.length === 0 || /\s/.test(t)) return !1;
18
18
  let n = t.split("@");
@@ -24,47 +24,47 @@ function he(e) {
24
24
  }
25
25
  //#endregion
26
26
  //#region src/components/TestEmailModal.vue?vue&type=script&setup=true&lang.ts
27
- var x = ["aria-busy"], S = {
27
+ var S = ["aria-busy"], C = {
28
28
  id: "tpl-test-email-title",
29
29
  class: "tpl:mb-4 tpl:shrink-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
30
- }, C = { class: "tpl:mb-3 tpl:shrink-0" }, w = {
30
+ }, w = { class: "tpl:mb-3 tpl:shrink-0" }, T = {
31
31
  for: "tpl-test-email-recipient",
32
32
  class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]"
33
- }, T = ["value"], E = ["disabled"], D = ["value"], O = ["placeholder", "disabled"], k = {
33
+ }, E = ["value"], D = ["disabled"], O = ["value"], k = ["placeholder", "disabled"], A = {
34
34
  key: 3,
35
35
  class: "tpl:mt-1.5 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
36
- }, A = { class: "tpl:mb-2 tpl:shrink-0" }, j = { class: "tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-between tpl:gap-2" }, M = { class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, N = { class: "tpl:flex tpl:items-center tpl:gap-2" }, P = {
36
+ }, j = { class: "tpl:mb-2 tpl:shrink-0" }, M = { class: "tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-between tpl:gap-2" }, N = { class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, P = { class: "tpl:flex tpl:items-center tpl:gap-2" }, F = {
37
37
  "data-testid": "test-email-preview-hint",
38
38
  class: "tpl:mt-1 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
39
- }, F = {
39
+ }, I = {
40
40
  id: "tpl-test-email-preview",
41
41
  "data-testid": "test-email-preview",
42
42
  class: "tpl:mb-3 tpl:min-h-0 tpl:flex-1 tpl:overflow-y-auto tpl:rounded-[var(--tpl-radius-sm)] tpl:p-3 tpl:bg-[var(--tpl-canvas-bg)]"
43
- }, I = {
43
+ }, L = {
44
44
  key: 0,
45
45
  role: "status",
46
46
  "aria-busy": "true",
47
47
  "data-testid": "preview-resolution-loading",
48
48
  class: "tpl:flex tpl:flex-col tpl:gap-3"
49
- }, L = { class: "tpl:sr-only" }, R = {
49
+ }, R = { class: "tpl:sr-only" }, ge = {
50
50
  key: 1,
51
51
  role: "status",
52
52
  "data-testid": "preview-resolution-failed",
53
53
  class: "tpl:mb-2 tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg-hover)]"
54
- }, ge = {
54
+ }, _e = {
55
55
  key: 0,
56
56
  role: "status",
57
57
  "data-testid": "test-email-success",
58
58
  class: "tpl:mb-3 tpl:flex tpl:shrink-0 tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success,var(--tpl-primary))]"
59
- }, _e = {
59
+ }, ve = {
60
60
  key: 1,
61
61
  role: "alert",
62
62
  "data-testid": "test-email-error",
63
63
  class: "tpl:mb-3 tpl:shrink-0 tpl:text-xs tpl:text-[var(--tpl-danger)]"
64
- }, ve = { class: "tpl:flex tpl:shrink-0 tpl:justify-end tpl:gap-2" }, ye = ["disabled"], be = ["disabled"], xe = {
64
+ }, ye = { class: "tpl:flex tpl:shrink-0 tpl:justify-end tpl:gap-2" }, be = ["disabled"], xe = ["disabled"], Se = {
65
65
  key: 0,
66
66
  class: "tpl:flex tpl:items-center tpl:gap-1.5"
67
- }, Se = { key: 1 }, z = /* @__PURE__ */ v({
67
+ }, Ce = { key: 1 }, z = /* @__PURE__ */ v({
68
68
  __name: "TestEmailModal",
69
69
  props: {
70
70
  visible: { type: Boolean },
@@ -76,37 +76,37 @@ var x = ["aria-busy"], S = {
76
76
  },
77
77
  emits: ["send", "close"],
78
78
  setup(v, { emit: b }) {
79
- let z = v, B = b, { t: V } = se(), Ce = i(ie, null), H = o(""), U = o("desktop"), we = i(oe, void 0), W = ne({
80
- resolvePreview: we ?? void 0,
81
- getContent: () => Ce?.content.value ?? {
79
+ let z = v, B = b, { t: V } = ce(), we = i(oe, null), H = o(""), U = o("desktop"), Te = i(y, void 0), W = re({
80
+ resolvePreview: Te ?? void 0,
81
+ getContent: () => we?.content.value ?? {
82
82
  blocks: [],
83
83
  settings: {}
84
84
  },
85
85
  isActive: () => z.visible,
86
86
  getRecipient: () => H.value || void 0
87
- }), G = i(ae, null), K = o(te(i(re, []))), q = g({
87
+ }), G = i(se, null), K = o(ne(i(ie, ae).value)), q = g({
88
88
  get: () => W.isConfigured ? !1 : G?.value ?? K.value,
89
89
  set: (e) => {
90
90
  G ? G.value = e : K.value = e;
91
91
  }
92
- }), Te = g(() => W.content.value.blocks ?? []), J = g(() => z.allowedRecipients !== void 0 && z.allowedRecipients.length > 0), Ee = g(() => z.allowedRecipients?.length === 1);
92
+ }), Ee = g(() => W.content.value.blocks ?? []), J = g(() => z.allowedRecipients !== void 0 && z.allowedRecipients.length > 0), De = g(() => z.allowedRecipients?.length === 1);
93
93
  r(() => z.visible, (e) => {
94
94
  e && (H.value = z.defaultRecipient ?? z.allowedRecipients?.[0] ?? "");
95
95
  }, { immediate: !0 });
96
- let Y = g(() => J.value ? H.value.length > 0 : he(H.value)), X = g(() => Y.value && !z.isSending && !z.justSent), De = g(() => !J.value && H.value.trim().length > 0 && !Y.value), Z = g(() => z.error ? z.error.kind === "provider" ? z.error.message : V.testEmail.recipientNotAllowed : null);
96
+ let Y = g(() => J.value ? H.value.length > 0 : x(H.value)), X = g(() => Y.value && !z.isSending && !z.justSent), Oe = g(() => !J.value && H.value.trim().length > 0 && !Y.value), Z = g(() => z.error ? z.error.kind === "provider" ? z.error.message : V.testEmail.recipientNotAllowed : null);
97
97
  function Q() {
98
98
  X.value && B("send", H.value.trim());
99
99
  }
100
100
  function $() {
101
101
  z.isSending || B("close");
102
102
  }
103
- function Oe(e) {
103
+ function ke(e) {
104
104
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), Q()), e.key === "Escape" && $();
105
105
  }
106
- return (r, i) => (e(), m(pe, {
106
+ return (r, i) => (e(), m(me, {
107
107
  visible: v.visible,
108
108
  onClose: $,
109
- onKeydown: Oe
109
+ onKeydown: ke
110
110
  }, {
111
111
  default: t(() => [c("div", {
112
112
  role: "dialog",
@@ -119,10 +119,10 @@ var x = ["aria-busy"], S = {
119
119
  "box-shadow": "var(--tpl-shadow-xl)"
120
120
  }
121
121
  }, [
122
- c("h3", S, f(s(V).testEmail.title), 1),
123
- c("div", C, [
124
- c("label", w, f(s(V).testEmail.recipientLabel), 1),
125
- Ee.value ? (e(), l("input", {
122
+ c("h3", C, f(s(V).testEmail.title), 1),
123
+ c("div", w, [
124
+ c("label", T, f(s(V).testEmail.recipientLabel), 1),
125
+ De.value ? (e(), l("input", {
126
126
  key: 0,
127
127
  id: "tpl-test-email-recipient",
128
128
  type: "text",
@@ -130,7 +130,7 @@ var x = ["aria-busy"], S = {
130
130
  disabled: "",
131
131
  "data-testid": "test-email-recipient",
132
132
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:opacity-70 tpl:shadow-[var(--tpl-shadow-sm)] tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
133
- }, null, 8, T)) : J.value ? a((e(), l("select", {
133
+ }, null, 8, E)) : J.value ? a((e(), l("select", {
134
134
  key: 1,
135
135
  id: "tpl-test-email-recipient",
136
136
  "onUpdate:modelValue": i[0] ||= (e) => H.value = e,
@@ -140,7 +140,7 @@ var x = ["aria-busy"], S = {
140
140
  }, [(e(!0), l(h, null, n(v.allowedRecipients, (t) => (e(), l("option", {
141
141
  key: t,
142
142
  value: t
143
- }, f(t), 9, D))), 128))], 8, E)), [[y, H.value]]) : a((e(), l("input", {
143
+ }, f(t), 9, O))), 128))], 8, D)), [[te, H.value]]) : a((e(), l("input", {
144
144
  key: 2,
145
145
  id: "tpl-test-email-recipient",
146
146
  "onUpdate:modelValue": i[1] ||= (e) => H.value = e,
@@ -151,24 +151,24 @@ var x = ["aria-busy"], S = {
151
151
  disabled: v.isSending || v.justSent,
152
152
  "data-testid": "test-email-recipient",
153
153
  class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:shadow-[var(--tpl-shadow-sm)] tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
154
- }, null, 8, O)), [[ee, H.value]]),
155
- De.value ? (e(), l("p", k, f(s(V).testEmail.invalidAddress), 1)) : _("", !0)
154
+ }, null, 8, k)), [[ee, H.value]]),
155
+ Oe.value ? (e(), l("p", A, f(s(V).testEmail.invalidAddress), 1)) : _("", !0)
156
156
  ]),
157
- c("div", A, [c("div", j, [c("span", M, f(s(V).testEmail.preview), 1), c("div", N, [s(W).supersedesSamples.value ? _("", !0) : (e(), m(de, {
157
+ c("div", j, [c("div", M, [c("span", N, f(s(V).testEmail.preview), 1), c("div", P, [s(W).supersedesSamples.value ? _("", !0) : (e(), m(fe, {
158
158
  key: 0,
159
159
  "sample-mode": q.value,
160
160
  onChange: i[2] ||= (e) => q.value = e
161
- }, null, 8, ["sample-mode"])), u(ue, {
161
+ }, null, 8, ["sample-mode"])), u(de, {
162
162
  viewport: U.value,
163
163
  onChange: i[3] ||= (e) => U.value = e
164
- }, null, 8, ["viewport"])])]), c("p", P, f(s(W).supersedesSamples.value ? s(V).previewResolution.hint : q.value ? s(V).testEmail.previewHintSample : s(V).testEmail.previewHint), 1)]),
165
- c("div", F, [s(W).isInitialResolve.value ? (e(), l("div", I, [c("span", L, f(s(V).previewResolution.resolving), 1), (e(), l(h, null, n(3, (e) => c("div", {
164
+ }, null, 8, ["viewport"])])]), c("p", F, f(s(W).supersedesSamples.value ? s(V).previewResolution.hint : q.value ? s(V).testEmail.previewHintSample : s(V).testEmail.previewHint), 1)]),
165
+ c("div", I, [s(W).isInitialResolve.value ? (e(), l("div", L, [c("span", R, f(s(V).previewResolution.resolving), 1), (e(), l(h, null, n(3, (e) => c("div", {
166
166
  key: e,
167
167
  "aria-hidden": "true",
168
168
  class: "tpl-pulse tpl:h-16 tpl:rounded-md tpl:bg-[var(--tpl-bg-hover)]"
169
- })), 64))])) : s(W).hasFailed.value ? (e(), l("p", R, f(s(V).previewResolution.failed), 1)) : _("", !0), s(W).isInitialResolve.value ? _("", !0) : (e(), m(me, {
169
+ })), 64))])) : s(W).hasFailed.value ? (e(), l("p", ge, f(s(V).previewResolution.failed), 1)) : _("", !0), s(W).isInitialResolve.value ? _("", !0) : (e(), m(he, {
170
170
  key: 2,
171
- blocks: Te.value,
171
+ blocks: Ee.value,
172
172
  viewport: U.value,
173
173
  "apply-condition-filter": !s(W).isConfigured
174
174
  }, null, 8, [
@@ -176,28 +176,28 @@ var x = ["aria-busy"], S = {
176
176
  "viewport",
177
177
  "apply-condition-filter"
178
178
  ]))]),
179
- v.justSent ? (e(), l("p", ge, [u(s(ce), {
179
+ v.justSent ? (e(), l("p", _e, [u(s(le), {
180
180
  size: 13,
181
181
  "stroke-width": 2.5
182
- }), d(" " + f(s(V).testEmail.success), 1)])) : Z.value ? (e(), l("p", _e, f(Z.value), 1)) : _("", !0),
183
- c("div", ve, [c("button", {
182
+ }), d(" " + f(s(V).testEmail.success), 1)])) : Z.value ? (e(), l("p", ve, f(Z.value), 1)) : _("", !0),
183
+ c("div", ye, [c("button", {
184
184
  type: "button",
185
185
  "data-testid": "test-email-cancel",
186
186
  class: p(["tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-[var(--tpl-shadow-sm)] tpl:transition-all tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", { "tpl:cursor-not-allowed tpl:opacity-50": v.isSending }]),
187
187
  disabled: v.isSending,
188
188
  onClick: $
189
- }, f(s(V).testEmail.cancel), 11, ye), c("button", {
189
+ }, f(s(V).testEmail.cancel), 11, be), c("button", {
190
190
  type: "button",
191
191
  "data-testid": "test-email-send",
192
- class: p(s(fe)),
192
+ class: p(s(pe)),
193
193
  disabled: !X.value,
194
194
  onClick: Q
195
- }, [v.isSending ? (e(), l("span", xe, [u(s(le), {
195
+ }, [v.isSending ? (e(), l("span", Se, [u(s(ue), {
196
196
  class: "tpl:animate-spin",
197
197
  size: 12,
198
198
  "stroke-width": 2
199
- }), d(" " + f(s(V).testEmail.sending), 1)])) : (e(), l("span", Se, f(s(V).testEmail.send), 1))], 10, be)])
200
- ], 8, x)]),
199
+ }), d(" " + f(s(V).testEmail.sending), 1)])) : (e(), l("span", Ce, f(s(V).testEmail.send), 1))], 10, xe)])
200
+ ], 8, S)]),
201
201
  _: 1
202
202
  }, 8, ["visible"]));
203
203
  }
@@ -5,7 +5,7 @@ var o = /* @__PURE__ */ a({
5
5
  __name: "TestEmailPanel",
6
6
  props: { feature: {} },
7
7
  setup(a) {
8
- let o = a, s = t(() => import("./TestEmailModal-BxizsRCd.js"));
8
+ let o = a, s = t(() => import("./TestEmailModal-D58kYkMV.js"));
9
9
  function c(e) {
10
10
  o.feature.send(e);
11
11
  }