@templatical/editor 0.39.4 → 0.40.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 (210) hide show
  1. package/dist/{AiChatSidebar-5qqrS6uy.js → AiChatSidebar-a8TPBAl2.js} +3 -3
  2. package/dist/{AiFeatureMenu-BBO_Ojlp.js → AiFeatureMenu-CbgDjLqk.js} +3 -3
  3. package/dist/{BlockIssueBadge-D5oGxOQP.js → BlockIssueBadge-D8KsGWY6.js} +2 -2
  4. package/dist/BlockPreviewCanvas-XNV83YGg.js +133 -0
  5. package/dist/{CloudHeaderExtras-Cg6uF-yQ.js → CloudHeaderExtras-C-tbLyfE.js} +2 -2
  6. package/dist/{CloudPanels-D1Gg4qrG.js → CloudPanels-DnWDrgnQ.js} +4 -4
  7. package/dist/{CollaboratorBar-Cmn0LccS.js → CollaboratorBar-DUmeCkyD.js} +2 -2
  8. package/dist/{CommentsPanel-twNhYUqZ.js → CommentsPanel-9k1q-79y.js} +1 -1
  9. package/dist/{CommentsSidebar-DDO0Qx8U.js → CommentsSidebar-Bc7nORmD.js} +2 -2
  10. package/dist/{CountdownBlock-DSvbf3qU.js → CountdownBlock-C6R-hn7D.js} +1 -1
  11. package/dist/{CountdownToolbar-nvHxu8Gu.js → CountdownToolbar-DkC-qSgq.js} +4 -4
  12. package/dist/{DesignReferenceSidebar-C8ohNhOd.js → DesignReferenceSidebar-OoiYJAKS.js} +3 -3
  13. package/dist/{IssuesPanel-Ck0EGoV5.js → IssuesPanel-Dnns3O9z.js} +3 -3
  14. package/dist/{LogicTagInsertButton-D8IwH-9Z.js → LogicTagInsertButton-BimKobaG.js} +67 -67
  15. package/dist/{MergeTagInput-QI-5KG2R.js → MergeTagInput-DqpVzhy7.js} +1 -1
  16. package/dist/{MergeTagModeToggle-D793Bj_E.js → MergeTagModeToggle-BkIiAgpQ.js} +4 -4
  17. package/dist/{ParagraphEditor-D6FRxr8Y.js → ParagraphEditor-D67Cqh-T.js} +19 -19
  18. package/dist/{RestoreVersionDialog--b0qfNaK.js → RestoreVersionDialog-BaKDuPCX.js} +2 -2
  19. package/dist/{RichTextEditorContent-BC5UTVnb.js → RichTextEditorContent-AEtfKvLz.js} +5 -5
  20. package/dist/{SaveBlockDialog-C0BdEGeL.js → SaveBlockDialog-BxkI52fN.js} +8 -8
  21. package/dist/{SavedBlocksBrowserModal-BzDgXtr4.js → SavedBlocksBrowserModal-C4_25Kvn.js} +6 -6
  22. package/dist/{SavedBlocksPanels-DN-bDZzy.js → SavedBlocksPanels-DQ0w9G1O.js} +1 -1
  23. package/dist/{SavedBlocksPickBar-pEi9Et8Q.js → SavedBlocksPickBar-CtH-sfxh.js} +2 -2
  24. package/dist/{TemplateScoringPanel-B1wcfE0w.js → TemplateScoringPanel-Cs0TGtRF.js} +3 -3
  25. package/dist/{TemplateSettings-C_5leDdF.js → TemplateSettings-BD1WNP4C.js} +7 -7
  26. package/dist/{TestEmailModal-maM8SLBV.js → TestEmailModal-DZi58FU9.js} +70 -65
  27. package/dist/{TestEmailPanel-8iAZYpCK.js → TestEmailPanel-D__9Wvgz.js} +1 -1
  28. package/dist/{TitleEditor-L26QXwna.js → TitleEditor-v5p89Djs.js} +9 -9
  29. package/dist/{ToggleSwitch-JvQ_CmI1.js → ToggleSwitch-CJfQ8u57.js} +1 -1
  30. package/dist/{Toolbar-B2kDLFhn.js → Toolbar-C7SjilzH.js} +540 -525
  31. package/dist/{TplModal-DVMS_nAn.js → TplModal-B8uLyoXE.js} +3 -3
  32. package/dist/{VersionHistoryMenu-BVQityes.js → VersionHistoryMenu-b0A8mS2_.js} +2 -2
  33. package/dist/{VersionHistoryPanels-D8f8KvKX.js → VersionHistoryPanels-DfNrRT6y.js} +1 -1
  34. package/dist/{VersionPreviewBanner-BaMSgA1O.js → VersionPreviewBanner-xB9r83r0.js} +1 -1
  35. package/dist/WrapperBlock-yGmKw0T-.js +34 -0
  36. package/dist/{blockTypeIcons-CdXugKyV.js → blockTypeIcons-B0Bq1WT1.js} +1 -1
  37. package/dist/bundle-stats.json +6 -6
  38. package/dist/{ca-Bqeygp1_.js → ca-Ckgw9yd0.js} +1 -0
  39. package/dist/cdn/chunks/{AiChatSidebar-ctfIU4i0.js → AiChatSidebar-mKImUXi6.js} +7 -7
  40. package/dist/cdn/chunks/{AiChatSidebar-ctfIU4i0.js.map → AiChatSidebar-mKImUXi6.js.map} +1 -1
  41. package/dist/cdn/chunks/{AiFeatureMenu-ByygdH_9.js → AiFeatureMenu-23HCL517.js} +4 -4
  42. package/dist/cdn/chunks/{AiFeatureMenu-ByygdH_9.js.map → AiFeatureMenu-23HCL517.js.map} +1 -1
  43. package/dist/cdn/chunks/{BlockIssueBadge-9hHpaXb9.js → BlockIssueBadge-DS1pUf5g.js} +3 -3
  44. package/dist/cdn/chunks/{BlockIssueBadge-9hHpaXb9.js.map → BlockIssueBadge-DS1pUf5g.js.map} +1 -1
  45. package/dist/cdn/chunks/BlockPreviewCanvas-DObWyQfh.js +135 -0
  46. package/dist/cdn/chunks/BlockPreviewCanvas-DObWyQfh.js.map +1 -0
  47. package/dist/cdn/chunks/{CloudHeaderExtras-BxsMpvVr.js → CloudHeaderExtras-DOB_uWpt.js} +3 -3
  48. package/dist/cdn/chunks/{CloudHeaderExtras-BxsMpvVr.js.map → CloudHeaderExtras-DOB_uWpt.js.map} +1 -1
  49. package/dist/cdn/chunks/{CloudPanels-DmxmqAS_.js → CloudPanels-DcAn5QW7.js} +5 -5
  50. package/dist/cdn/chunks/{CloudPanels-DmxmqAS_.js.map → CloudPanels-DcAn5QW7.js.map} +1 -1
  51. package/dist/cdn/chunks/{CollaboratorBar-B8ttqAqX.js → CollaboratorBar-C0M8c2Vv.js} +3 -3
  52. package/dist/cdn/chunks/{CollaboratorBar-B8ttqAqX.js.map → CollaboratorBar-C0M8c2Vv.js.map} +1 -1
  53. package/dist/cdn/chunks/{CommentsPanel-C8ibhaiK.js → CommentsPanel-BtAGZfF6.js} +2 -2
  54. package/dist/cdn/chunks/{CommentsPanel-C8ibhaiK.js.map → CommentsPanel-BtAGZfF6.js.map} +1 -1
  55. package/dist/cdn/chunks/{CommentsSidebar-CybWfZ3V.js → CommentsSidebar-Ws07MXYj.js} +3 -3
  56. package/dist/cdn/chunks/{CommentsSidebar-CybWfZ3V.js.map → CommentsSidebar-Ws07MXYj.js.map} +1 -1
  57. package/dist/cdn/chunks/{CountdownBlock-DdC8Lg5F.js → CountdownBlock-sVDjKkRw.js} +2 -2
  58. package/dist/cdn/chunks/{CountdownBlock-DdC8Lg5F.js.map → CountdownBlock-sVDjKkRw.js.map} +1 -1
  59. package/dist/cdn/chunks/{CountdownToolbar-DRESXiVD.js → CountdownToolbar-Bu93WiS8.js} +5 -5
  60. package/dist/cdn/chunks/{CountdownToolbar-DRESXiVD.js.map → CountdownToolbar-Bu93WiS8.js.map} +1 -1
  61. package/dist/cdn/chunks/{DesignReferenceSidebar-CtaoY-hl.js → DesignReferenceSidebar-BlSdh5B7.js} +4 -4
  62. package/dist/cdn/chunks/{DesignReferenceSidebar-CtaoY-hl.js.map → DesignReferenceSidebar-BlSdh5B7.js.map} +1 -1
  63. package/dist/cdn/chunks/{IssuesPanel-C6RlIxoi.js → IssuesPanel-CKkv9z9g.js} +4 -4
  64. package/dist/cdn/chunks/{IssuesPanel-C6RlIxoi.js.map → IssuesPanel-CKkv9z9g.js.map} +1 -1
  65. package/dist/cdn/chunks/{LogicTagInsertButton-DpyPozop.js → LogicTagInsertButton-CHc1yZ9v.js} +165 -165
  66. package/dist/cdn/chunks/{LogicTagInsertButton-DpyPozop.js.map → LogicTagInsertButton-CHc1yZ9v.js.map} +1 -1
  67. package/dist/cdn/chunks/{MergeTagInput-ERJr7bP_.js → MergeTagInput--qTYfCWk.js} +2 -2
  68. package/dist/cdn/chunks/{MergeTagInput-ERJr7bP_.js.map → MergeTagInput--qTYfCWk.js.map} +1 -1
  69. package/dist/cdn/chunks/{MergeTagModeToggle-n3nvSNeQ.js → MergeTagModeToggle-CdWIGo3Q.js} +5 -5
  70. package/dist/cdn/chunks/{MergeTagModeToggle-n3nvSNeQ.js.map → MergeTagModeToggle-CdWIGo3Q.js.map} +1 -1
  71. package/dist/cdn/chunks/{ParagraphEditor-R2ph_UOo.js → ParagraphEditor-BilbVtrG.js} +17 -17
  72. package/dist/cdn/chunks/{ParagraphEditor-R2ph_UOo.js.map → ParagraphEditor-BilbVtrG.js.map} +1 -1
  73. package/dist/cdn/chunks/{RestoreVersionDialog-C-dwbb7T.js → RestoreVersionDialog-Q-a44Vjv.js} +3 -3
  74. package/dist/cdn/chunks/{RestoreVersionDialog-C-dwbb7T.js.map → RestoreVersionDialog-Q-a44Vjv.js.map} +1 -1
  75. package/dist/cdn/chunks/{RichTextEditorContent-Ch5zeyZ7.js → RichTextEditorContent-Fzuu9pLP.js} +6 -6
  76. package/dist/cdn/chunks/{RichTextEditorContent-Ch5zeyZ7.js.map → RichTextEditorContent-Fzuu9pLP.js.map} +1 -1
  77. package/dist/cdn/chunks/{SaveBlockDialog-C_BPjVv6.js → SaveBlockDialog-DeW_M6kh.js} +9 -9
  78. package/dist/cdn/chunks/{SaveBlockDialog-C_BPjVv6.js.map → SaveBlockDialog-DeW_M6kh.js.map} +1 -1
  79. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CrrGEfFb.js → SavedBlocksBrowserModal-BzQWibKG.js} +6 -6
  80. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CrrGEfFb.js.map → SavedBlocksBrowserModal-BzQWibKG.js.map} +1 -1
  81. package/dist/cdn/chunks/{SavedBlocksPanels-DfTaMPAr.js → SavedBlocksPanels-Ce1RePjk.js} +2 -2
  82. package/dist/cdn/chunks/{SavedBlocksPanels-DfTaMPAr.js.map → SavedBlocksPanels-Ce1RePjk.js.map} +1 -1
  83. package/dist/cdn/chunks/{SavedBlocksPickBar-DziwHYSu.js → SavedBlocksPickBar-DIDl6xfy.js} +3 -3
  84. package/dist/cdn/chunks/{SavedBlocksPickBar-DziwHYSu.js.map → SavedBlocksPickBar-DIDl6xfy.js.map} +1 -1
  85. package/dist/cdn/chunks/{TemplateScoringPanel-CR6RG6dZ.js → TemplateScoringPanel-d_Ppowsq.js} +49 -49
  86. package/dist/cdn/chunks/{TemplateScoringPanel-CR6RG6dZ.js.map → TemplateScoringPanel-d_Ppowsq.js.map} +1 -1
  87. package/dist/cdn/chunks/{TemplateSettings-DjXiiiNr.js → TemplateSettings-Dr5OJ0Gi.js} +8 -8
  88. package/dist/cdn/chunks/{TemplateSettings-DjXiiiNr.js.map → TemplateSettings-Dr5OJ0Gi.js.map} +1 -1
  89. package/dist/cdn/chunks/{TestEmailModal-DId9Og-N.js → TestEmailModal-CWTmaJuT.js} +56 -51
  90. package/dist/cdn/chunks/TestEmailModal-CWTmaJuT.js.map +1 -0
  91. package/dist/cdn/chunks/{TestEmailPanel-B8LwXmeX.js → TestEmailPanel-BdYsVHXA.js} +2 -2
  92. package/dist/cdn/chunks/{TestEmailPanel-B8LwXmeX.js.map → TestEmailPanel-BdYsVHXA.js.map} +1 -1
  93. package/dist/cdn/chunks/{TitleEditor-C7KMzX1e.js → TitleEditor-pJeeZ-PX.js} +9 -9
  94. package/dist/cdn/chunks/{TitleEditor-C7KMzX1e.js.map → TitleEditor-pJeeZ-PX.js.map} +1 -1
  95. package/dist/cdn/chunks/{ToggleSwitch-CDy8OfcB.js → ToggleSwitch-0dGCYnRY.js} +2 -2
  96. package/dist/cdn/chunks/{ToggleSwitch-CDy8OfcB.js.map → ToggleSwitch-0dGCYnRY.js.map} +1 -1
  97. package/dist/cdn/chunks/{Toolbar-DqFhWxgW.js → Toolbar-BsiHW9gY.js} +493 -478
  98. package/dist/cdn/chunks/{Toolbar-DqFhWxgW.js.map → Toolbar-BsiHW9gY.js.map} +1 -1
  99. package/dist/cdn/chunks/{TplModal-BKqDFLq3.js → TplModal-CEuGD7pt.js} +4 -4
  100. package/dist/cdn/chunks/{TplModal-BKqDFLq3.js.map → TplModal-CEuGD7pt.js.map} +1 -1
  101. package/dist/cdn/chunks/{VersionHistoryMenu-Dij1pTEb.js → VersionHistoryMenu-B3-hNu9c.js} +3 -3
  102. package/dist/cdn/chunks/{VersionHistoryMenu-Dij1pTEb.js.map → VersionHistoryMenu-B3-hNu9c.js.map} +1 -1
  103. package/dist/cdn/chunks/{VersionHistoryPanels-DcCFFDK6.js → VersionHistoryPanels-C1yck5gT.js} +2 -2
  104. package/dist/cdn/chunks/{VersionHistoryPanels-DcCFFDK6.js.map → VersionHistoryPanels-C1yck5gT.js.map} +1 -1
  105. package/dist/cdn/chunks/{VersionPreviewBanner-Df3FVlig.js → VersionPreviewBanner-PzVQSBJE.js} +2 -2
  106. package/dist/cdn/chunks/{VersionPreviewBanner-Df3FVlig.js.map → VersionPreviewBanner-PzVQSBJE.js.map} +1 -1
  107. package/dist/cdn/chunks/WrapperBlock-DGkbmj06.js +36 -0
  108. package/dist/cdn/chunks/WrapperBlock-DGkbmj06.js.map +1 -0
  109. package/dist/cdn/chunks/{ca-Bqeygp1_.js → ca-Ckgw9yd0.js} +2 -1
  110. package/dist/cdn/chunks/ca-Ckgw9yd0.js.map +1 -0
  111. package/dist/cdn/chunks/{cloud-eaXyxZ8l.js → cloud-CIT4yPp4.js} +2 -2
  112. package/dist/cdn/chunks/{cloud-eaXyxZ8l.js.map → cloud-CIT4yPp4.js.map} +1 -1
  113. package/dist/cdn/chunks/{createCloudRuntime-D5bXzcTe.js → createCloudRuntime-COUxbPvd.js} +49 -40
  114. package/dist/cdn/chunks/createCloudRuntime-COUxbPvd.js.map +1 -0
  115. package/dist/cdn/chunks/{de-CY6SlqBx.js → de-D4dweQw8.js} +2 -1
  116. package/dist/cdn/chunks/de-D4dweQw8.js.map +1 -0
  117. package/dist/{en-8V-2kDcp.js → cdn/chunks/en-VE7R7NyL.js} +3 -0
  118. package/dist/cdn/chunks/en-VE7R7NyL.js.map +1 -0
  119. package/dist/{es-Cmn1rT3l.js → cdn/chunks/es-B9OhP8H3.js} +3 -0
  120. package/dist/cdn/chunks/es-B9OhP8H3.js.map +1 -0
  121. package/dist/cdn/chunks/{extensions-Bhu8UEE5.js → extensions-CafoGF65.js} +5 -5
  122. package/dist/cdn/chunks/{extensions-Bhu8UEE5.js.map → extensions-CafoGF65.js.map} +1 -1
  123. package/dist/cdn/chunks/{fr-2yDa4zXM.js → fr-wrXhIi00.js} +2 -1
  124. package/dist/cdn/chunks/fr-wrXhIi00.js.map +1 -0
  125. package/dist/cdn/chunks/keys-DCWeHkSF.js +12 -0
  126. package/dist/cdn/chunks/keys-DCWeHkSF.js.map +1 -0
  127. package/dist/{nl-Bzk2zRI8.js → cdn/chunks/nl-DeFatKJe.js} +3 -0
  128. package/dist/cdn/chunks/nl-DeFatKJe.js.map +1 -0
  129. package/dist/cdn/chunks/preRenderCustomBlocks-Dpj-_cOj.js +21 -0
  130. package/dist/cdn/chunks/preRenderCustomBlocks-Dpj-_cOj.js.map +1 -0
  131. package/dist/cdn/chunks/{pt-BR-DqtSCTUi.js → pt-BR-Bh1J8ey6.js} +2 -1
  132. package/dist/cdn/chunks/pt-BR-Bh1J8ey6.js.map +1 -0
  133. package/dist/cdn/chunks/{socialIcons-9VrG8X3m.js → socialIcons-BvYNMn1G.js} +264 -258
  134. package/dist/cdn/chunks/socialIcons-BvYNMn1G.js.map +1 -0
  135. package/dist/cdn/chunks/{src-CqYYKcCI.js → src-CbGCES0u.js} +175 -168
  136. package/dist/cdn/chunks/src-CbGCES0u.js.map +1 -0
  137. package/dist/cdn/chunks/{src-CaNsA_WX.js → src-Cnc5E71L.js} +258 -247
  138. package/dist/cdn/chunks/src-Cnc5E71L.js.map +1 -0
  139. package/dist/cdn/chunks/{src-Dwgq7hf4.js → src-DveVYoWS.js} +281 -181
  140. package/dist/cdn/chunks/src-DveVYoWS.js.map +1 -0
  141. package/dist/cdn/chunks/{useCloudI18n-C09JcFS0.js → useCloudI18n-CrjWbpbu.js} +2 -2
  142. package/dist/cdn/chunks/{useCloudI18n-C09JcFS0.js.map → useCloudI18n-CrjWbpbu.js.map} +1 -1
  143. package/dist/cdn/chunks/{useEditorCore-CXYI14ux.js → useEditorCore-CQraU2s_.js} +421 -408
  144. package/dist/cdn/chunks/useEditorCore-CQraU2s_.js.map +1 -0
  145. package/dist/cdn/chunks/{useEditorRoot-DFx2fXJP.js → useEditorRoot-CshefZLP.js} +2 -2
  146. package/dist/cdn/chunks/{useEditorRoot-DFx2fXJP.js.map → useEditorRoot-CshefZLP.js.map} +1 -1
  147. package/dist/cdn/chunks/{useI18n-DTZ9sIcv.js → useI18n-CyO_Nmca.js} +2 -2
  148. package/dist/cdn/chunks/{useI18n-DTZ9sIcv.js.map → useI18n-CyO_Nmca.js.map} +1 -1
  149. package/dist/cdn/chunks/{useLogicTag-E2V0Xdcb.js → useLogicTag-DF7-l66G.js} +4 -4
  150. package/dist/cdn/chunks/{useLogicTag-E2V0Xdcb.js.map → useLogicTag-DF7-l66G.js.map} +1 -1
  151. package/dist/cdn/chunks/{useMergeTag-BE8oDoha.js → useMergeTag-DbIHw4NG.js} +4 -4
  152. package/dist/cdn/chunks/{useMergeTag-BE8oDoha.js.map → useMergeTag-DbIHw4NG.js.map} +1 -1
  153. package/dist/cdn/chunks/{usePopoverPosition-gB9q-ql7.js → usePopoverPosition-BJRvAb-h.js} +2 -2
  154. package/dist/cdn/chunks/{usePopoverPosition-gB9q-ql7.js.map → usePopoverPosition-BJRvAb-h.js.map} +1 -1
  155. package/dist/cdn/chunks/{useScrollToBlock-CtTXwmiU.js → useScrollToBlock-DgHZJvID.js} +2 -2
  156. package/dist/cdn/chunks/{useScrollToBlock-CtTXwmiU.js.map → useScrollToBlock-DgHZJvID.js.map} +1 -1
  157. package/dist/cdn/editor.css +1 -1
  158. package/dist/cdn/editor.js +484 -460
  159. package/dist/cdn/editor.js.map +1 -1
  160. package/dist/{cloud-C9xWZXhg.js → cloud-DsqqUfzh.js} +1 -1
  161. package/dist/{createCloudRuntime-BGd5--Bq.js → createCloudRuntime-iLflkYzP.js} +47 -38
  162. package/dist/{de-CY6SlqBx.js → de-D4dweQw8.js} +1 -0
  163. package/dist/{dist-tGkjkX-v.js → dist-DbUZvK04.js} +277 -176
  164. package/dist/{cdn/chunks/en-8V-2kDcp.js → en-VE7R7NyL.js} +1 -2
  165. package/dist/{cdn/chunks/es-Cmn1rT3l.js → es-B9OhP8H3.js} +1 -2
  166. package/dist/{extensions-DRN-elXT.js → extensions-DDhjuVKy.js} +4 -4
  167. package/dist/{fr-2yDa4zXM.js → fr-wrXhIi00.js} +1 -0
  168. package/dist/index.d.ts +65 -0
  169. package/dist/keys-CDqfZIRt.js +10 -0
  170. package/dist/{cdn/chunks/nl-Bzk2zRI8.js → nl-DeFatKJe.js} +1 -2
  171. package/dist/preRenderCustomBlocks-BBSqQgke.js +19 -0
  172. package/dist/{pt-BR-DqtSCTUi.js → pt-BR-Bh1J8ey6.js} +1 -0
  173. package/dist/{socialIcons-DkGcpEwC.js → socialIcons-O7PZCW2P.js} +245 -239
  174. package/dist/style.css +1 -1
  175. package/dist/templatical-editor.js +520 -496
  176. package/dist/{useCloudI18n-D1iedlP3.js → useCloudI18n-DpEsiLeR.js} +1 -1
  177. package/dist/{useEditorCore-BUVbQgwb.js → useEditorCore-Dt_VWNqX.js} +817 -804
  178. package/dist/{useEditorRoot-BOxn5EfP.js → useEditorRoot-CkB_5d0h.js} +1 -1
  179. package/dist/{useI18n-Ds_-druD.js → useI18n-B_CdcBwG.js} +1 -1
  180. package/dist/{useLogicTag-DoHfc08B.js → useLogicTag-D9pvgxQR.js} +3 -3
  181. package/dist/{useMergeTag-DXyum3kG.js → useMergeTag-BaVFPdlq.js} +5 -5
  182. package/dist/{usePopoverPosition-Du-Ah8E9.js → usePopoverPosition-DH7z3Ghm.js} +1 -1
  183. package/dist/{useScrollToBlock-DXQYPCnJ.js → useScrollToBlock-Dj4v3rxr.js} +1 -1
  184. package/package.json +7 -7
  185. package/dist/BlockPreviewCanvas-BMC16_QU.js +0 -131
  186. package/dist/cdn/chunks/BlockPreviewCanvas-DeS7Sa--.js +0 -133
  187. package/dist/cdn/chunks/BlockPreviewCanvas-DeS7Sa--.js.map +0 -1
  188. package/dist/cdn/chunks/TestEmailModal-DId9Og-N.js.map +0 -1
  189. package/dist/cdn/chunks/ca-Bqeygp1_.js.map +0 -1
  190. package/dist/cdn/chunks/createCloudRuntime-D5bXzcTe.js.map +0 -1
  191. package/dist/cdn/chunks/de-CY6SlqBx.js.map +0 -1
  192. package/dist/cdn/chunks/emailFrameWidth-BmFCN2dp.js +0 -8
  193. package/dist/cdn/chunks/emailFrameWidth-BmFCN2dp.js.map +0 -1
  194. package/dist/cdn/chunks/en-8V-2kDcp.js.map +0 -1
  195. package/dist/cdn/chunks/es-Cmn1rT3l.js.map +0 -1
  196. package/dist/cdn/chunks/fr-2yDa4zXM.js.map +0 -1
  197. package/dist/cdn/chunks/keys-dJbD1QPs.js +0 -12
  198. package/dist/cdn/chunks/keys-dJbD1QPs.js.map +0 -1
  199. package/dist/cdn/chunks/nl-Bzk2zRI8.js.map +0 -1
  200. package/dist/cdn/chunks/preRenderCustomBlocks-Bdpiiw4A.js +0 -23
  201. package/dist/cdn/chunks/preRenderCustomBlocks-Bdpiiw4A.js.map +0 -1
  202. package/dist/cdn/chunks/pt-BR-DqtSCTUi.js.map +0 -1
  203. package/dist/cdn/chunks/socialIcons-9VrG8X3m.js.map +0 -1
  204. package/dist/cdn/chunks/src-CaNsA_WX.js.map +0 -1
  205. package/dist/cdn/chunks/src-CqYYKcCI.js.map +0 -1
  206. package/dist/cdn/chunks/src-Dwgq7hf4.js.map +0 -1
  207. package/dist/cdn/chunks/useEditorCore-CXYI14ux.js.map +0 -1
  208. package/dist/emailFrameWidth-BmFCN2dp.js +0 -6
  209. package/dist/keys-BdoSgsz9.js +0 -10
  210. package/dist/preRenderCustomBlocks-DFXH54Zr.js +0 -21
@@ -1,6 +1,6 @@
1
1
  import { n as e } from "./rolldown-runtime-B0aSnxlc.js";
2
- import { $ as t, J as n, K as r, U as i, X as a, Y as o, Z as s, et as c, q as l, rt as ee, tt as u } from "./src-Dwgq7hf4.js";
3
- import { t as d } from "./htmlparser-ClUZ6waR.js";
2
+ import { $ as t, X as n, at as r, ct as i, et as a, ft as o, lt as s, nt as c, rt as l, st as ee, tt as u, ut as d } from "./src-DveVYoWS.js";
3
+ import { t as f } from "./htmlparser-ClUZ6waR.js";
4
4
  //#region ../quality/src/types.ts
5
5
  var te = {
6
6
  altMaxLength: 125,
@@ -17,28 +17,28 @@ var te = {
17
17
  ];
18
18
  //#endregion
19
19
  //#region ../quality/src/contrast.ts
20
- function f(e, t) {
20
+ function p(e, t) {
21
21
  let n = h(e), r = h(t);
22
22
  if (!n || !r) return NaN;
23
23
  let i = _(n), a = _(r), o = Math.max(i, a), s = Math.min(i, a);
24
24
  return (o + .05) / (s + .05);
25
25
  }
26
- var p = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i, m = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i, re = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
26
+ var m = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i, re = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i, ie = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
27
27
  function h(e) {
28
28
  if (typeof e != "string") return null;
29
- let t = e.trim(), n = re.exec(t);
29
+ let t = e.trim(), n = ie.exec(t);
30
30
  if (n) return n[4].toLowerCase() === "ff" ? {
31
31
  r: parseInt(n[1], 16),
32
32
  g: parseInt(n[2], 16),
33
33
  b: parseInt(n[3], 16)
34
34
  } : null;
35
- let r = m.exec(t);
35
+ let r = re.exec(t);
36
36
  if (r) return {
37
37
  r: parseInt(r[1], 16),
38
38
  g: parseInt(r[2], 16),
39
39
  b: parseInt(r[3], 16)
40
40
  };
41
- let i = p.exec(t);
41
+ let i = m.exec(t);
42
42
  return i ? {
43
43
  r: parseInt(i[1] + i[1], 16),
44
44
  g: parseInt(i[2] + i[2], 16),
@@ -60,17 +60,28 @@ function v(e) {
60
60
  var y = "#ffffff", b = "#1a1a1a";
61
61
  function x(e, t) {
62
62
  let n = g(e.settings.backgroundColor) ? e.settings.backgroundColor.toLowerCase() : y, r = g(e.settings.textColor) ? e.settings.textColor.toLowerCase() : b, i = (e, n) => {
63
- let r = e.styles?.backgroundColor, o = g(r) ? r.toLowerCase() : n.resolvedBackgroundColor;
64
- t(e, o === n.resolvedBackgroundColor ? n : {
63
+ let r = e.styles?.backgroundColor, a = g(r) ? r.toLowerCase() : n.resolvedBackgroundColor;
64
+ if (t(e, a === n.resolvedBackgroundColor ? n : {
65
65
  ...n,
66
- resolvedBackgroundColor: o
67
- }), a(e) && e.children.forEach((t, r) => {
66
+ resolvedBackgroundColor: a
67
+ }), d(e)) {
68
+ for (let t of e.children) i(t, {
69
+ parent: e,
70
+ section: n.section,
71
+ columnIndex: null,
72
+ depth: n.depth + 1,
73
+ resolvedBackgroundColor: a,
74
+ resolvedTextColor: n.resolvedTextColor
75
+ });
76
+ return;
77
+ }
78
+ l(e) && e.children.forEach((t, r) => {
68
79
  t.forEach((t) => i(t, {
69
80
  parent: e,
70
81
  section: e,
71
82
  columnIndex: r,
72
83
  depth: n.depth + 1,
73
- resolvedBackgroundColor: o,
84
+ resolvedBackgroundColor: a,
74
85
  resolvedTextColor: n.resolvedTextColor
75
86
  }));
76
87
  });
@@ -129,7 +140,7 @@ function C(e) {
129
140
  }
130
141
  };
131
142
  }
132
- function ie(e, t, n) {
143
+ function ae(e, t, n) {
133
144
  return C({
134
145
  locale: e,
135
146
  rules: n,
@@ -138,7 +149,7 @@ function ie(e, t, n) {
138
149
  nonProductionHosts: void 0
139
150
  });
140
151
  }
141
- function ae(e, t, n) {
152
+ function oe(e, t, n) {
142
153
  return C({
143
154
  locale: e,
144
155
  rules: n,
@@ -147,7 +158,7 @@ function ae(e, t, n) {
147
158
  nonProductionHosts: void 0
148
159
  });
149
160
  }
150
- function oe(e, t, n) {
161
+ function se(e, t, n) {
151
162
  return C({
152
163
  locale: e,
153
164
  rules: n,
@@ -158,7 +169,7 @@ function oe(e, t, n) {
158
169
  }
159
170
  //#endregion
160
171
  //#region ../quality/src/accessibility/messages/de.ts
161
- var se = /* @__PURE__ */ e({ default: () => ce }), ce = {
172
+ var ce = /* @__PURE__ */ e({ default: () => le }), le = {
162
173
  "a11y.img-missing-alt": "Bild ohne Alt-Text. Füge eine kurze Beschreibung hinzu oder markiere das Bild als dekorativ.",
163
174
  "a11y.img-alt-is-filename": "Alt-Text sieht wie ein Dateiname aus (\"{alt}\"). Beschreibe stattdessen kurz, was das Bild zeigt.",
164
175
  "a11y.img-alt-too-long": "Alt-Text ist {length} Zeichen lang; bleibe unter {max}.",
@@ -180,7 +191,7 @@ var se = /* @__PURE__ */ e({ default: () => ce }), ce = {
180
191
  "a11y.button-touch-target": "Button ist etwa {height}px hoch; mindestens {min}px verwenden, um Fehltipper auf Mobilgeräten zu vermeiden.",
181
192
  "a11y.button-low-contrast": "Buttontextkontrast beträgt {ratio}:1; WCAG AA verlangt mindestens {required}:1.",
182
193
  "a11y.missing-preheader": "Kein Preheader-Text gesetzt. Postfächer zeigen sonst Bruchstücke des ersten Blocks an."
183
- }, le = /* @__PURE__ */ e({ default: () => w }), w = {
194
+ }, ue = /* @__PURE__ */ e({ default: () => w }), w = {
184
195
  "a11y.img-missing-alt": "Image is missing alt text. Add a short description, or mark the image as decorative.",
185
196
  "a11y.img-alt-is-filename": "Alt text looks like a filename (\"{alt}\"). Replace with a short description of what the image conveys.",
186
197
  "a11y.img-alt-too-long": "Alt text is {length} characters; aim for under {max}.",
@@ -203,8 +214,8 @@ var se = /* @__PURE__ */ e({ default: () => ce }), ce = {
203
214
  "a11y.button-low-contrast": "Button text contrast is {ratio}:1; WCAG AA requires at least {required}:1.",
204
215
  "a11y.missing-preheader": "No preheader text set. Inboxes will fall back to fragments of the first block."
205
216
  }, T = /* #__PURE__ */ Object.assign({
206
- "./de.ts": se,
207
- "./en.ts": le
217
+ "./de.ts": ce,
218
+ "./en.ts": ue
208
219
  }), E = {};
209
220
  for (let e in T) {
210
221
  let t = /\.\/([^/]+)\.ts$/.exec(e);
@@ -212,50 +223,50 @@ for (let e in T) {
212
223
  let n = t[1];
213
224
  n !== "index" && (E[n] = T[e].default);
214
225
  }
215
- function ue(e) {
226
+ function de(e) {
216
227
  return E[e.split("-")[0]?.toLowerCase() ?? "en"] ?? E.en ?? w;
217
228
  }
218
- function de(e, t, n) {
219
- let r = ue(e)[t] ?? w[t];
229
+ function fe(e, t, n) {
230
+ let r = de(e)[t] ?? w[t];
220
231
  return n ? r.replace(/\{(\w+)\}/g, (e, t) => {
221
232
  let r = n[t];
222
233
  return r === void 0 ? `{${t}}` : String(r);
223
234
  }) : r;
224
235
  }
225
- var fe = {
236
+ var pe = {
226
237
  meta: {
227
238
  id: "a11y.img-missing-alt",
228
239
  severity: "error"
229
240
  },
230
241
  block(e) {
231
- return !l(e) || e.decorative === !0 || (e.alt?.trim() ?? "") !== "" || (e.src ?? "").trim() === "" ? null : { blockId: e.id };
242
+ return !a(e) || e.decorative === !0 || (e.alt?.trim() ?? "") !== "" || (e.src ?? "").trim() === "" ? null : { blockId: e.id };
232
243
  }
233
- }, pe = {
244
+ }, me = {
234
245
  id: "a11y.img-alt-is-filename",
235
246
  severity: "warning"
236
- }, me = [
247
+ }, he = [
237
248
  /\.(jpe?g|png|gif|webp|svg)$/i,
238
249
  /^IMG[_-]?\d+/i,
239
250
  /^Untitled/i,
240
251
  /^Screen[\s_-]?Shot/i,
241
252
  /^DSC[_-]?\d+/i
242
- ], he = {
243
- meta: pe,
253
+ ], ge = {
254
+ meta: me,
244
255
  block(e) {
245
- if (!l(e) || e.decorative === !0) return null;
256
+ if (!a(e) || e.decorative === !0) return null;
246
257
  let t = e.alt?.trim() ?? "";
247
- return t === "" || !me.some((e) => e.test(t)) ? null : {
258
+ return t === "" || !he.some((e) => e.test(t)) ? null : {
248
259
  blockId: e.id,
249
260
  params: { alt: t }
250
261
  };
251
262
  }
252
- }, ge = {
263
+ }, _e = {
253
264
  meta: {
254
265
  id: "a11y.img-alt-too-long",
255
266
  severity: "warning"
256
267
  },
257
268
  block(e, t, n) {
258
- if (!l(e) || e.decorative === !0) return null;
269
+ if (!a(e) || e.decorative === !0) return null;
259
270
  let r = e.alt ?? "";
260
271
  return r.length <= n.thresholds.altMaxLength ? null : {
261
272
  blockId: e.id,
@@ -265,13 +276,13 @@ var fe = {
265
276
  }
266
277
  };
267
278
  }
268
- }, _e = {
279
+ }, ve = {
269
280
  meta: {
270
281
  id: "a11y.img-decorative-needs-empty-alt",
271
282
  severity: "info"
272
283
  },
273
284
  block(e) {
274
- return !l(e) || e.decorative !== !0 || (e.alt ?? "").trim() === "" ? null : {
285
+ return !a(e) || e.decorative !== !0 || (e.alt ?? "").trim() === "" ? null : {
275
286
  blockId: e.id,
276
287
  fix: {
277
288
  description: "Clear alt text",
@@ -279,7 +290,7 @@ var fe = {
279
290
  }
280
291
  };
281
292
  }
282
- }, ve = /* @__PURE__ */ e({ default: () => ye }), ye = {
293
+ }, ye = /* @__PURE__ */ e({ default: () => be }), be = {
283
294
  vagueLinkText: [
284
295
  "hier klicken",
285
296
  "hier",
@@ -322,7 +333,7 @@ var fe = {
322
333
  "anschauen",
323
334
  "jetzt"
324
335
  ]
325
- }, be = /* @__PURE__ */ e({ default: () => xe }), xe = {
336
+ }, xe = /* @__PURE__ */ e({ default: () => Se }), Se = {
326
337
  vagueLinkText: [
327
338
  "click here",
328
339
  "here",
@@ -364,8 +375,8 @@ var fe = {
364
375
  "watch"
365
376
  ]
366
377
  }, D = /* #__PURE__ */ Object.assign({
367
- "./de.ts": ve,
368
- "./en.ts": be
378
+ "./de.ts": ye,
379
+ "./en.ts": xe
369
380
  }), O = {};
370
381
  for (let e in D) {
371
382
  let t = /\.\/([^/]+)\.ts$/.exec(e);
@@ -389,17 +400,17 @@ var j = {
389
400
  function M(e) {
390
401
  return e.toLowerCase().replace(/\s+/g, " ").replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, "").trim();
391
402
  }
392
- var Se = {
403
+ var Ce = {
393
404
  meta: {
394
405
  id: "a11y.img-linked-no-context",
395
406
  severity: "warning"
396
407
  },
397
408
  block(e, t, n) {
398
- if (!l(e) || e.decorative === !0 || !e.linkUrl || e.linkUrl.trim() === "") return null;
409
+ if (!a(e) || e.decorative === !0 || !e.linkUrl || e.linkUrl.trim() === "") return null;
399
410
  let r = (e.alt ?? "").trim();
400
411
  if (r === "") return null;
401
- let i = r.toLocaleLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean), a = k(n.locale).linkedImageActionHints;
402
- return i.some((e) => a.includes(e)) ? null : { blockId: e.id };
412
+ let i = r.toLocaleLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean), o = k(n.locale).linkedImageActionHints;
413
+ return i.some((e) => o.includes(e)) ? null : { blockId: e.id };
403
414
  }
404
415
  };
405
416
  //#endregion
@@ -407,7 +418,7 @@ var Se = {
407
418
  function N(e) {
408
419
  let t = [], n = null, r = "", i = () => {
409
420
  n !== null && (n.text = r.trim(), t.push(n), n = null, r = "");
410
- }, a = new d({
421
+ }, a = new f({
411
422
  onopentag(e, t) {
412
423
  if (e === "a") {
413
424
  i(), n = {
@@ -430,8 +441,8 @@ function N(e) {
430
441
  });
431
442
  return a.write(e), a.end(), i(), t;
432
443
  }
433
- function Ce(e) {
434
- let t = we(e).matchAll(/<\/?a\b[^<>]*>/gi), n = 0;
444
+ function we(e) {
445
+ let t = Te(e).matchAll(/<\/?a\b[^<>]*>/gi), n = 0;
435
446
  for (let e of t) {
436
447
  if (e[0].startsWith("</")) {
437
448
  n > 0 && n--;
@@ -442,7 +453,7 @@ function Ce(e) {
442
453
  }
443
454
  return !1;
444
455
  }
445
- function we(e) {
456
+ function Te(e) {
446
457
  let t = "", n = 0;
447
458
  for (; n < e.length;) {
448
459
  let r = e.indexOf("<!--", n);
@@ -458,34 +469,34 @@ function we(e) {
458
469
  return t;
459
470
  }
460
471
  function P(e) {
461
- let t = "", n = new d({ ontext(e) {
472
+ let t = "", n = new f({ ontext(e) {
462
473
  t += e;
463
474
  } });
464
475
  return n.write(e), n.end(), t.trim();
465
476
  }
466
- var Te = {
477
+ var Ee = {
467
478
  meta: {
468
479
  id: "a11y.heading-empty",
469
480
  severity: "error"
470
481
  },
471
482
  block(e) {
472
- return !c(e) || P(e.content ?? "") !== "" ? null : { blockId: e.id };
483
+ return !i(e) || P(e.content ?? "") !== "" ? null : { blockId: e.id };
473
484
  }
474
- }, Ee = {
485
+ }, De = {
475
486
  id: "a11y.heading-skip-level",
476
487
  severity: "error"
477
488
  };
478
489
  function F(e, t) {
479
490
  for (let n of e) {
480
- if (c(n)) {
491
+ if (i(n)) {
481
492
  t.push(n);
482
493
  continue;
483
494
  }
484
- if (a(n)) for (let e of n.children) F(e, t);
495
+ if (l(n)) for (let e of n.children) F(e, t);
485
496
  }
486
497
  }
487
- var De = {
488
- meta: Ee,
498
+ var Oe = {
499
+ meta: De,
489
500
  template(e) {
490
501
  let t = [];
491
502
  F(e.blocks, t);
@@ -499,51 +510,51 @@ var De = {
499
510
  }), r = e.level;
500
511
  return n;
501
512
  }
502
- }, Oe = {
513
+ }, ke = {
503
514
  id: "a11y.heading-multiple-h1",
504
515
  severity: "warning"
505
516
  };
506
517
  function I(e, t) {
507
518
  for (let n of e) {
508
- if (c(n)) {
519
+ if (i(n)) {
509
520
  t.push(n);
510
521
  continue;
511
522
  }
512
- if (a(n)) for (let e of n.children) I(e, t);
523
+ if (l(n)) for (let e of n.children) I(e, t);
513
524
  }
514
525
  }
515
- var ke = {
516
- meta: Oe,
526
+ var Ae = {
527
+ meta: ke,
517
528
  template(e) {
518
529
  let t = [];
519
530
  I(e.blocks, t);
520
531
  let n = t.filter((e) => e.level === 1);
521
532
  return n.length <= 1 ? [] : n.slice(1).map((e) => ({ blockId: e.id }));
522
533
  }
523
- }, Ae = {
534
+ }, je = {
524
535
  id: "a11y.link-empty",
525
536
  severity: "error"
526
537
  };
527
- function je(e) {
528
- return o(e) || c(e) ? e.content : null;
538
+ function Me(e) {
539
+ return c(e) || i(e) ? e.content : null;
529
540
  }
530
- var Me = {
531
- meta: Ae,
541
+ var Ne = {
542
+ meta: je,
532
543
  block(e) {
533
- let t = je(e);
544
+ let t = Me(e);
534
545
  return t === null || !N(t).find((e) => e.text === "" && !e.hasImageWithAlt) ? null : { blockId: e.id };
535
546
  }
536
- }, Ne = {
547
+ }, Pe = {
537
548
  id: "a11y.link-vague-text",
538
549
  severity: "warning"
539
550
  };
540
- function Pe(e) {
541
- return o(e) || c(e) ? e.content : null;
551
+ function Fe(e) {
552
+ return c(e) || i(e) ? e.content : null;
542
553
  }
543
- var Fe = {
544
- meta: Ne,
554
+ var Ie = {
555
+ meta: Pe,
545
556
  block(e, t, n) {
546
- let r = Pe(e);
557
+ let r = Fe(e);
547
558
  if (r === null) return null;
548
559
  let i = k(n.locale).vagueLinkText, a = N(r).find((e) => {
549
560
  let t = M(e.text);
@@ -554,52 +565,52 @@ var Fe = {
554
565
  params: { text: a.text }
555
566
  } : null;
556
567
  }
557
- }, Ie = {
568
+ }, Le = {
558
569
  id: "a11y.link-href-empty",
559
570
  severity: "error"
560
571
  };
561
- function Le(e) {
562
- return o(e) || c(e) ? e.content : null;
572
+ function Re(e) {
573
+ return c(e) || i(e) ? e.content : null;
563
574
  }
564
- var Re = {
565
- meta: Ie,
575
+ var ze = {
576
+ meta: Le,
566
577
  block(e) {
567
- let t = Le(e);
578
+ let t = Re(e);
568
579
  return t === null || !N(t).find((e) => {
569
580
  let t = e.href.trim();
570
581
  return t === "" || t === "#";
571
582
  }) ? null : { blockId: e.id };
572
583
  }
573
- }, ze = {
584
+ }, Be = {
574
585
  id: "a11y.link-target-blank-no-rel",
575
586
  severity: "warning"
576
587
  };
577
- function Be(e) {
578
- return o(e) || c(e) ? e.content : null;
579
- }
580
588
  function Ve(e) {
589
+ return c(e) || i(e) ? e.content : null;
590
+ }
591
+ function He(e) {
581
592
  if (e === null) return !1;
582
593
  let t = e.toLowerCase().split(/\s+/);
583
594
  return t.includes("noopener") || t.includes("noreferrer");
584
595
  }
585
- var He = {
586
- meta: ze,
596
+ var Ue = {
597
+ meta: Be,
587
598
  block(e) {
588
- let t = Be(e);
589
- return t === null || !N(t).find((e) => e.target === "_blank" && !Ve(e.rel)) ? null : {
599
+ let t = Ve(e);
600
+ return t === null || !N(t).find((e) => e.target === "_blank" && !He(e.rel)) ? null : {
590
601
  blockId: e.id,
591
602
  fix: {
592
603
  description: "Add rel=\"noopener\"",
593
604
  apply: (t) => {
594
- if (!o(e) && !c(e)) return;
595
- let n = Ge(e.content ?? "");
605
+ if (!c(e) && !i(e)) return;
606
+ let n = Ke(e.content ?? "");
596
607
  t.updateBlock(e.id, { content: n });
597
608
  }
598
609
  }
599
610
  };
600
611
  }
601
612
  }, L = /([^\s"'>/=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;
602
- function Ue(e) {
613
+ function We(e) {
603
614
  let t = [], n = new RegExp(L.source, L.flags), r;
604
615
  for (; (r = n.exec(e)) !== null;) t.push({
605
616
  raw: r[0],
@@ -609,13 +620,13 @@ function Ue(e) {
609
620
  });
610
621
  return t;
611
622
  }
612
- function We(e) {
623
+ function Ge(e) {
613
624
  return e.some((e) => e.name.toLowerCase() === "target" && e.value !== null && e.value.toLowerCase() === "_blank");
614
625
  }
615
- function Ge(e) {
626
+ function Ke(e) {
616
627
  return e.replace(/<a\b([^>]*)>/gi, (e, t) => {
617
- let n = Ue(t);
618
- if (!We(n)) return e;
628
+ let n = We(t);
629
+ if (!Ge(n)) return e;
619
630
  let r = n.find((e) => e.name.toLowerCase() === "rel");
620
631
  if (r) {
621
632
  let n = (r.value ?? "").toLowerCase().split(/\s+/);
@@ -628,114 +639,114 @@ function Ge(e) {
628
639
  }
629
640
  //#endregion
630
641
  //#region ../quality/src/accessibility/rules/link-nested-anchor.ts
631
- var Ke = {
642
+ var qe = {
632
643
  id: "a11y.link-nested-anchor",
633
644
  severity: "error"
634
645
  };
635
- function qe(e) {
636
- return o(e) || c(e) ? e.content : null;
646
+ function Je(e) {
647
+ return c(e) || i(e) ? e.content : null;
637
648
  }
638
- var Je = {
639
- meta: Ke,
649
+ var Ye = {
650
+ meta: qe,
640
651
  block(e) {
641
- let t = qe(e);
642
- return t === null || !Ce(t) ? null : { blockId: e.id };
652
+ let t = Je(e);
653
+ return t === null || !we(t) ? null : { blockId: e.id };
643
654
  }
644
- }, Ye = {
655
+ }, Xe = {
645
656
  meta: {
646
657
  id: "a11y.text-all-caps",
647
658
  severity: "warning"
648
659
  },
649
660
  block(e, t, n) {
650
- if (!o(e) && !c(e)) return null;
661
+ if (!c(e) && !i(e)) return null;
651
662
  let r = P(e.content ?? "").replace(/[^\p{L}]/gu, "");
652
663
  return r.length < n.thresholds.allCapsMinLength || ![...r].some((e) => e.toLocaleLowerCase() !== e.toLocaleUpperCase()) || r !== r.toLocaleUpperCase() ? null : { blockId: e.id };
653
664
  }
654
- }, Xe = {
665
+ }, Ze = {
655
666
  id: "a11y.text-justified",
656
667
  severity: "warning"
657
- }, Ze = /(^|;)\s*text-align\s*:\s*([^;]*)/i, R = /\sstyle\s*=\s*(?:"([^"]*)"|'([^']*)')/gi;
658
- function Qe(e) {
668
+ }, Qe = /(^|;)\s*text-align\s*:\s*([^;]*)/i, R = /\sstyle\s*=\s*(?:"([^"]*)"|'([^']*)')/gi;
669
+ function $e(e) {
659
670
  let t = [], n = new RegExp(R.source, R.flags), r;
660
671
  for (; (r = n.exec(e)) !== null;) t.push(r[1] ?? r[2] ?? "");
661
672
  return t;
662
673
  }
663
674
  function z(e) {
664
- let t = Ze.exec(e);
675
+ let t = Qe.exec(e);
665
676
  return t !== null && t[2].trim().toLowerCase() === "justify";
666
677
  }
667
- function $e(e) {
678
+ function et(e) {
668
679
  return e.split(";").filter((e) => !/^\s*text-align\s*:/i.test(e)).map((e) => e.trim()).filter((e) => e !== "").join("; ");
669
680
  }
670
- function et(e) {
681
+ function tt(e) {
671
682
  return e.replace(/\sstyle\s*=\s*(?:"([^"]*)"|'([^']*)')/gi, (e, t, n) => {
672
683
  let r = t ?? n ?? "";
673
684
  if (!z(r)) return e;
674
- let i = $e(r);
685
+ let i = et(r);
675
686
  return i === "" ? "" : ` style="${i}"`;
676
687
  });
677
688
  }
678
- var tt = {
679
- meta: Xe,
689
+ var nt = {
690
+ meta: Ze,
680
691
  block(e) {
681
- return !o(e) || !Qe(e.content ?? "").some(z) ? null : {
692
+ return !c(e) || !$e(e.content ?? "").some(z) ? null : {
682
693
  blockId: e.id,
683
694
  fix: {
684
695
  description: "Remove justified alignment",
685
696
  apply: (t) => {
686
- o(e) && t.updateBlock(e.id, { content: et(e.content ?? "") });
697
+ c(e) && t.updateBlock(e.id, { content: tt(e.content ?? "") });
687
698
  }
688
699
  }
689
700
  };
690
701
  }
691
- }, nt = {
702
+ }, rt = {
692
703
  meta: {
693
704
  id: "a11y.text-low-contrast",
694
705
  severity: "error"
695
706
  },
696
707
  block(e, t) {
697
- if (!c(e)) return null;
708
+ if (!i(e)) return null;
698
709
  let n = e.color ?? t.resolvedTextColor;
699
710
  if (!g(n) || !g(t.resolvedBackgroundColor)) return null;
700
- let r = ee[e.level] >= 24 ? 3 : 4.5, i = f(n, t.resolvedBackgroundColor);
701
- return Number.isNaN(i) || i >= r ? null : {
711
+ let r = o[e.level] >= 24 ? 3 : 4.5, a = p(n, t.resolvedBackgroundColor);
712
+ return Number.isNaN(a) || a >= r ? null : {
702
713
  blockId: e.id,
703
714
  params: {
704
- ratio: i.toFixed(2),
715
+ ratio: a.toFixed(2),
705
716
  required: r
706
717
  }
707
718
  };
708
719
  }
709
- }, rt = {
720
+ }, it = {
710
721
  id: "a11y.text-too-small",
711
722
  severity: "warning"
712
723
  };
713
- function it(e) {
714
- return n(e) || t(e) ? e.fontSize : null;
724
+ function at(e) {
725
+ return u(e) || ee(e) ? e.fontSize : null;
715
726
  }
716
727
  //#endregion
717
728
  //#region ../quality/src/accessibility/index.ts
718
729
  var B = [
719
- fe,
720
- he,
730
+ pe,
721
731
  ge,
722
732
  _e,
723
- Se,
724
- Te,
725
- De,
726
- ke,
727
- Me,
728
- Fe,
729
- Re,
730
- He,
731
- Je,
733
+ ve,
734
+ Ce,
735
+ Ee,
736
+ Oe,
737
+ Ae,
738
+ Ne,
739
+ Ie,
740
+ ze,
741
+ Ue,
732
742
  Ye,
733
- tt,
743
+ Xe,
734
744
  nt,
745
+ rt,
735
746
  {
736
- meta: rt,
747
+ meta: it,
737
748
  block(e, t, n) {
738
- let r = it(e);
749
+ let r = at(e);
739
750
  return r === null || r >= n.thresholds.minFontSize ? null : {
740
751
  blockId: e.id,
741
752
  params: {
@@ -750,10 +761,10 @@ var B = [
750
761
  id: "a11y.button-vague-label",
751
762
  severity: "warning"
752
763
  },
753
- block(e, t, n) {
754
- if (!i(e)) return null;
755
- let r = M(e.text ?? "");
756
- return r === "" || !k(n.locale).vagueButtonLabels.includes(r) ? null : {
764
+ block(e, t, r) {
765
+ if (!n(e)) return null;
766
+ let i = M(e.text ?? "");
767
+ return i === "" || !k(r.locale).vagueButtonLabels.includes(i) ? null : {
757
768
  blockId: e.id,
758
769
  params: { text: e.text }
759
770
  };
@@ -764,16 +775,16 @@ var B = [
764
775
  id: "a11y.button-touch-target",
765
776
  severity: "warning"
766
777
  },
767
- block(e, t, n) {
768
- if (!i(e)) return null;
769
- let r = e.buttonPadding;
770
- if (!r) return null;
771
- let a = e.fontSize * 1.4 + r.top + r.bottom;
772
- return a >= n.thresholds.minTouchTargetPx ? null : {
778
+ block(e, t, r) {
779
+ if (!n(e)) return null;
780
+ let i = e.buttonPadding;
781
+ if (!i) return null;
782
+ let a = e.fontSize * 1.4 + i.top + i.bottom;
783
+ return a >= r.thresholds.minTouchTargetPx ? null : {
773
784
  blockId: e.id,
774
785
  params: {
775
786
  height: Math.round(a),
776
- min: n.thresholds.minTouchTargetPx
787
+ min: r.thresholds.minTouchTargetPx
777
788
  }
778
789
  };
779
790
  }
@@ -784,15 +795,15 @@ var B = [
784
795
  severity: "error"
785
796
  },
786
797
  block(e) {
787
- if (!i(e)) return null;
788
- let t = f(e.textColor, e.backgroundColor);
798
+ if (!n(e)) return null;
799
+ let t = p(e.textColor, e.backgroundColor);
789
800
  if (Number.isNaN(t)) return null;
790
- let n = e.fontSize >= 24 ? 3 : 4.5;
791
- return t >= n ? null : {
801
+ let r = e.fontSize >= 24 ? 3 : 4.5;
802
+ return t >= r ? null : {
792
803
  blockId: e.id,
793
804
  params: {
794
805
  ratio: t.toFixed(2),
795
- required: n
806
+ required: r
796
807
  }
797
808
  };
798
809
  }
@@ -807,26 +818,26 @@ var B = [
807
818
  }
808
819
  }
809
820
  ];
810
- function at(e, t = {}) {
811
- return t.disabled === !0 || t.accessibility === !1 ? [] : S(e, B, ie(t.locale, t.accessibility ?? {}, B), (e, t, n) => de(e, t, n));
821
+ function ot(e, t = {}) {
822
+ return t.disabled === !0 || t.accessibility === !1 ? [] : S(e, B, ae(t.locale, t.accessibility ?? {}, B), (e, t, n) => fe(e, t, n));
812
823
  }
813
824
  //#endregion
814
825
  //#region ../quality/src/structure/messages/de.ts
815
- var ot = /* @__PURE__ */ e({ default: () => st }), st = {
826
+ var st = /* @__PURE__ */ e({ default: () => ct }), ct = {
816
827
  "structure.duplicate-block-id": "Block-ID erscheint {count}-mal im Baum. Jeder Block muss eine eindeutige ID haben.",
817
828
  "structure.section-column-mismatch": "Sektion verwendet Layout „{layout}\" (erwartet {expected} Spalten), hat aber {actual}. Deutet auf beschädigten Zustand hin.",
818
829
  "structure.nested-section": "Sektion ist in einer anderen Sektion verschachtelt. Sektionen können nicht verschachtelt werden – der Renderer wird sich falsch verhalten.",
819
830
  "structure.empty-section": "Sektion enthält keine Blöcke. Entferne sie oder füge Inhalt hinzu.",
820
831
  "structure.empty-column": "Spalte {columnIndex} dieser Sektion ist leer. Füge Inhalt hinzu oder reduziere die Spaltenanzahl."
821
- }, ct = /* @__PURE__ */ e({ default: () => V }), V = {
832
+ }, lt = /* @__PURE__ */ e({ default: () => V }), V = {
822
833
  "structure.duplicate-block-id": "Block id appears {count} times in the tree. Each block must have a unique id.",
823
834
  "structure.section-column-mismatch": "Section uses layout \"{layout}\" (expects {expected} columns) but has {actual}. Indicates corrupted state.",
824
835
  "structure.nested-section": "Section is nested inside another section. Sections cannot nest — the renderer will misbehave.",
825
836
  "structure.empty-section": "Section has no blocks. Remove it or add content.",
826
837
  "structure.empty-column": "Column {columnIndex} of this section is empty. Add content or reduce the column count."
827
838
  }, H = /* #__PURE__ */ Object.assign({
828
- "./de.ts": ot,
829
- "./en.ts": ct
839
+ "./de.ts": st,
840
+ "./en.ts": lt
830
841
  }), U = {};
831
842
  for (let e in H) {
832
843
  let t = /\.\/([^/]+)\.ts$/.exec(e);
@@ -834,11 +845,11 @@ for (let e in H) {
834
845
  let n = t[1];
835
846
  n !== "index" && (U[n] = H[e].default);
836
847
  }
837
- function lt(e) {
848
+ function ut(e) {
838
849
  return U[e.split("-")[0]?.toLowerCase() ?? "en"] ?? U.en ?? V;
839
850
  }
840
- function ut(e, t, n) {
841
- let r = lt(e)[t] ?? V[t];
851
+ function dt(e, t, n) {
852
+ let r = ut(e)[t] ?? V[t];
842
853
  return n ? r.replace(/\{(\w+)\}/g, (e, t) => {
843
854
  let r = n[t];
844
855
  return r === void 0 ? `{${t}}` : String(r);
@@ -846,15 +857,15 @@ function ut(e, t, n) {
846
857
  }
847
858
  //#endregion
848
859
  //#region ../quality/src/structure/rules/duplicate-block-id.ts
849
- var dt = {
860
+ var ft = {
850
861
  id: "structure.duplicate-block-id",
851
862
  severity: "error"
852
863
  };
853
864
  function W(e, t) {
854
- for (let n of e) if (t.set(n.id, (t.get(n.id) ?? 0) + 1), a(n)) for (let e of n.children) W(e, t);
865
+ for (let n of e) if (t.set(n.id, (t.get(n.id) ?? 0) + 1), l(n)) for (let e of n.children) W(e, t);
855
866
  }
856
- var ft = {
857
- meta: dt,
867
+ var pt = {
868
+ meta: ft,
858
869
  template(e) {
859
870
  let t = /* @__PURE__ */ new Map();
860
871
  W(e.blocks, t);
@@ -865,13 +876,13 @@ var ft = {
865
876
  });
866
877
  return n;
867
878
  }
868
- }, pt = {
879
+ }, mt = {
869
880
  id: "structure.empty-column",
870
881
  severity: "warning"
871
882
  };
872
883
  function G(e, t) {
873
884
  for (let n of e) {
874
- if (!a(n)) continue;
885
+ if (!l(n)) continue;
875
886
  let e = n;
876
887
  e.children.length > 1 && e.children.forEach((n, r) => {
877
888
  n.length === 0 && t.push({
@@ -882,25 +893,25 @@ function G(e, t) {
882
893
  for (let n of e.children) G(n, t);
883
894
  }
884
895
  }
885
- var mt = {
886
- meta: pt,
896
+ var ht = {
897
+ meta: mt,
887
898
  template(e) {
888
899
  let t = [];
889
900
  return G(e.blocks, t), t;
890
901
  }
891
- }, ht = {
902
+ }, gt = {
892
903
  id: "structure.empty-section",
893
904
  severity: "warning"
894
905
  };
895
- function gt(e) {
906
+ function _t(e) {
896
907
  return e.children.length === 0 || e.children.every((e) => e.length === 0);
897
908
  }
898
- var _t = {
899
- meta: ht,
909
+ var vt = {
910
+ meta: gt,
900
911
  block(e) {
901
- if (!a(e)) return null;
912
+ if (!l(e)) return null;
902
913
  let t = e;
903
- return gt(t) ? {
914
+ return _t(t) ? {
904
915
  blockId: t.id,
905
916
  fix: {
906
917
  description: "Remove the empty section",
@@ -910,36 +921,36 @@ var _t = {
910
921
  }
911
922
  } : null;
912
923
  }
913
- }, vt = {
924
+ }, yt = {
914
925
  meta: {
915
926
  id: "structure.nested-section",
916
927
  severity: "error"
917
928
  },
918
929
  block(e, t) {
919
- return !a(e) || t.section === null ? null : {
930
+ return !l(e) || t.section === null ? null : {
920
931
  blockId: e.id,
921
932
  params: { parentId: t.section.id }
922
933
  };
923
934
  }
924
- }, yt = {
935
+ }, bt = {
925
936
  id: "structure.section-column-mismatch",
926
937
  severity: "error"
927
938
  };
928
- function bt(e) {
939
+ function xt(e) {
929
940
  return e === "1" ? 1 : e === "3" ? 3 : 2;
930
941
  }
931
942
  //#endregion
932
943
  //#region ../quality/src/structure/index.ts
933
944
  var K = [
934
- ft,
935
- _t,
936
- mt,
945
+ pt,
937
946
  vt,
947
+ ht,
948
+ yt,
938
949
  {
939
- meta: yt,
950
+ meta: bt,
940
951
  block(e) {
941
- if (!a(e)) return null;
942
- let t = e, n = bt(t.columns), r = t.children.length;
952
+ if (!l(e)) return null;
953
+ let t = e, n = xt(t.columns), r = t.children.length;
943
954
  return r === n ? null : {
944
955
  blockId: t.id,
945
956
  params: {
@@ -951,26 +962,26 @@ var K = [
951
962
  }
952
963
  }
953
964
  ];
954
- function xt(e, t = {}) {
955
- return t.disabled === !0 || t.structure === !1 ? [] : S(e, K, ae(t.locale, t.structure ?? {}, K), (e, t, n) => ut(e, t, n));
965
+ function St(e, t = {}) {
966
+ return t.disabled === !0 || t.structure === !1 ? [] : S(e, K, oe(t.locale, t.structure ?? {}, K), (e, t, n) => dt(e, t, n));
956
967
  }
957
968
  //#endregion
958
969
  //#region ../quality/src/links/messages/de.ts
959
- var St = /* @__PURE__ */ e({ default: () => Ct }), Ct = {
970
+ var Ct = /* @__PURE__ */ e({ default: () => wt }), wt = {
960
971
  "link.javascript-protocol": "Die URL verwendet das Protokoll „{protocol}:\", das beliebigen Skriptcode ausführen kann und aus Sicherheitsgründen beim Rendern entfernt wird. Ersetze sie durch eine echte URL oder entferne sie.",
961
972
  "link.unsupported-protocol": "Die URL verwendet das Protokoll „{protocol}\", das von den meisten E-Mail-Clients nicht unterstützt wird. Verwende http, https, mailto, tel oder sms.",
962
973
  "link.malformed-mailto": "Der mailto:-Link ist fehlerhaft. Erwartet wird eine einzelne Empfängeradresse vor einer eventuellen Querystring (z. B. mailto:hallo@example.com).",
963
974
  "link.malformed-tel": "Der tel:-Link enthält Zeichen, die keine Ziffern, +, Leerzeichen, Bindestriche, Klammern oder Punkte sind.",
964
975
  "link.localhost-or-staging": "Der URL-Host „{host}\" entspricht einem Nicht-Produktionsmuster. Ersetze ihn vor dem Versand durch die Produktions-URL."
965
- }, wt = /* @__PURE__ */ e({ default: () => q }), q = {
976
+ }, Tt = /* @__PURE__ */ e({ default: () => q }), q = {
966
977
  "link.javascript-protocol": "URL uses the \"{protocol}:\" protocol, which can execute arbitrary script and is stripped at render time for safety. Replace it with a real link or remove the URL.",
967
978
  "link.unsupported-protocol": "URL uses the \"{protocol}\" protocol, which most email clients do not support. Use http, https, mailto, tel, or sms.",
968
979
  "link.malformed-mailto": "mailto: link is malformed. Expected a single recipient address before any query string (e.g. mailto:hello@example.com).",
969
980
  "link.malformed-tel": "tel: link contains characters that are not digits, +, spaces, dashes, parentheses, or dots.",
970
981
  "link.localhost-or-staging": "URL host \"{host}\" matches a non-production pattern. Replace with the production URL before sending."
971
982
  }, J = /* #__PURE__ */ Object.assign({
972
- "./de.ts": St,
973
- "./en.ts": wt
983
+ "./de.ts": Ct,
984
+ "./en.ts": Tt
974
985
  }), Y = {};
975
986
  for (let e in J) {
976
987
  let t = /\.\/([^/]+)\.ts$/.exec(e);
@@ -978,11 +989,11 @@ for (let e in J) {
978
989
  let n = t[1];
979
990
  n !== "index" && (Y[n] = J[e].default);
980
991
  }
981
- function Tt(e) {
992
+ function Et(e) {
982
993
  return Y[e.split("-")[0]?.toLowerCase() ?? "en"] ?? Y.en ?? q;
983
994
  }
984
- function Et(e, t, n) {
985
- let r = Tt(e)[t] ?? q[t];
995
+ function Dt(e, t, n) {
996
+ let r = Et(e)[t] ?? q[t];
986
997
  return n ? r.replace(/\{(\w+)\}/g, (e, t) => {
987
998
  let r = n[t];
988
999
  return r === void 0 ? `{${t}}` : String(r);
@@ -991,19 +1002,19 @@ function Et(e, t, n) {
991
1002
  //#endregion
992
1003
  //#region ../quality/src/url-walker.ts
993
1004
  function X(e) {
994
- let t = [];
1005
+ let o = [];
995
1006
  return x(e, (e) => {
996
- if (c(e) || o(e) || r(e)) {
997
- for (let n of N(e.content)) t.push({
998
- url: n.href,
1007
+ if (i(e) || c(e) || t(e)) {
1008
+ for (let t of N(e.content)) o.push({
1009
+ url: t.href,
999
1010
  blockId: e.id,
1000
1011
  source: "anchor",
1001
- label: n.text
1012
+ label: t.text
1002
1013
  });
1003
1014
  return;
1004
1015
  }
1005
- if (i(e)) {
1006
- t.push({
1016
+ if (n(e)) {
1017
+ o.push({
1007
1018
  url: e.url,
1008
1019
  blockId: e.id,
1009
1020
  source: "button",
@@ -1011,8 +1022,8 @@ function X(e) {
1011
1022
  });
1012
1023
  return;
1013
1024
  }
1014
- if (l(e)) {
1015
- e.linkUrl && e.linkUrl !== "" && t.push({
1025
+ if (a(e)) {
1026
+ e.linkUrl && e.linkUrl !== "" && o.push({
1016
1027
  url: e.linkUrl,
1017
1028
  blockId: e.id,
1018
1029
  source: "image-link",
@@ -1020,8 +1031,8 @@ function X(e) {
1020
1031
  });
1021
1032
  return;
1022
1033
  }
1023
- if (u(e)) {
1024
- t.push({
1034
+ if (s(e)) {
1035
+ o.push({
1025
1036
  url: e.url,
1026
1037
  blockId: e.id,
1027
1038
  source: "video",
@@ -1029,29 +1040,29 @@ function X(e) {
1029
1040
  });
1030
1041
  return;
1031
1042
  }
1032
- if (n(e)) {
1033
- for (let n of e.items) t.push({
1034
- url: n.url,
1043
+ if (u(e)) {
1044
+ for (let t of e.items) o.push({
1045
+ url: t.url,
1035
1046
  blockId: e.id,
1036
1047
  source: "menu-item",
1037
- label: n.text
1048
+ label: t.text
1038
1049
  });
1039
1050
  return;
1040
1051
  }
1041
- if (s(e)) {
1042
- for (let n of e.icons) t.push({
1043
- url: n.url,
1052
+ if (r(e)) {
1053
+ for (let t of e.icons) o.push({
1054
+ url: t.url,
1044
1055
  blockId: e.id,
1045
1056
  source: "social-icon",
1046
- label: n.platform
1057
+ label: t.platform
1047
1058
  });
1048
1059
  return;
1049
1060
  }
1050
- }), t;
1061
+ }), o;
1051
1062
  }
1052
1063
  //#endregion
1053
1064
  //#region ../quality/src/links/rules/javascript-protocol.ts
1054
- var Dt = {
1065
+ var Ot = {
1055
1066
  id: "link.javascript-protocol",
1056
1067
  severity: "error"
1057
1068
  }, Z = [
@@ -1059,18 +1070,18 @@ var Dt = {
1059
1070
  "data",
1060
1071
  "vbscript"
1061
1072
  ];
1062
- function Ot(e) {
1073
+ function kt(e) {
1063
1074
  if (!e) return null;
1064
1075
  let t = e.replace(/\s+/g, "");
1065
1076
  for (let e of Z) if (RegExp(`^${e}:`, "i").test(t)) return e;
1066
1077
  return null;
1067
1078
  }
1068
- var kt = {
1069
- meta: Dt,
1079
+ var At = {
1080
+ meta: Ot,
1070
1081
  template(e) {
1071
1082
  let t = [];
1072
1083
  for (let n of X(e)) {
1073
- let e = Ot(n.url);
1084
+ let e = kt(n.url);
1074
1085
  e !== null && t.push({
1075
1086
  blockId: n.blockId,
1076
1087
  params: { protocol: e }
@@ -1078,28 +1089,28 @@ var kt = {
1078
1089
  }
1079
1090
  return t;
1080
1091
  }
1081
- }, At = {
1092
+ }, jt = {
1082
1093
  id: "link.unsupported-protocol",
1083
1094
  severity: "warning"
1084
- }, jt = /* @__PURE__ */ new Set([
1095
+ }, Mt = /* @__PURE__ */ new Set([
1085
1096
  "http",
1086
1097
  "https",
1087
1098
  "mailto",
1088
1099
  "tel",
1089
1100
  "sms"
1090
- ]), Mt = new Set(Z);
1091
- function Nt(e) {
1101
+ ]), Nt = new Set(Z);
1102
+ function Pt(e) {
1092
1103
  if (!e) return null;
1093
1104
  let t = e.trim(), n = /^([a-z][a-z0-9+\-.]*):/i.exec(t);
1094
1105
  return n ? n[1].toLowerCase() : null;
1095
1106
  }
1096
- var Pt = {
1097
- meta: At,
1107
+ var Q = {
1108
+ meta: jt,
1098
1109
  template(e) {
1099
1110
  let t = [];
1100
1111
  for (let n of X(e)) {
1101
- let e = Nt(n.url);
1102
- e !== null && (Mt.has(e) || jt.has(e) || t.push({
1112
+ let e = Pt(n.url);
1113
+ e !== null && (Nt.has(e) || Mt.has(e) || t.push({
1103
1114
  blockId: n.blockId,
1104
1115
  params: { protocol: e }
1105
1116
  }));
@@ -1136,7 +1147,7 @@ var Lt = {
1136
1147
  id: "link.malformed-tel",
1137
1148
  severity: "warning"
1138
1149
  }, zt = /^[+0-9\s().\-]+$/, Bt = /^[A-Za-z0-9-]+(=[^;]+)?$/;
1139
- function Q(e) {
1150
+ function Vt(e) {
1140
1151
  let t = e.trim();
1141
1152
  if (!/^tel:/i.test(t)) return !1;
1142
1153
  let n = t.slice(4).trim();
@@ -1144,22 +1155,22 @@ function Q(e) {
1144
1155
  let [r, ...i] = n.split(";");
1145
1156
  return !zt.test(r) || i.some((e) => !Bt.test(e));
1146
1157
  }
1147
- var Vt = {
1158
+ var Ht = {
1148
1159
  meta: Rt,
1149
1160
  template(e) {
1150
1161
  let t = [];
1151
- for (let n of X(e)) Q(n.url) && t.push({ blockId: n.blockId });
1162
+ for (let n of X(e)) Vt(n.url) && t.push({ blockId: n.blockId });
1152
1163
  return t;
1153
1164
  }
1154
- }, Ht = {
1165
+ }, Ut = {
1155
1166
  id: "link.localhost-or-staging",
1156
1167
  severity: "warning"
1157
1168
  };
1158
- function Ut(e) {
1169
+ function Wt(e) {
1159
1170
  let t = e.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*");
1160
1171
  return RegExp(`^${t}$`, "i");
1161
1172
  }
1162
- function Wt(e) {
1173
+ function Gt(e) {
1163
1174
  if (!e) return null;
1164
1175
  let t = e.trim();
1165
1176
  if (!/^(https?|ftps?):\/\//i.test(t)) return null;
@@ -1172,18 +1183,18 @@ function Wt(e) {
1172
1183
  //#endregion
1173
1184
  //#region ../quality/src/links/index.ts
1174
1185
  var $ = [
1175
- kt,
1176
- Pt,
1186
+ At,
1187
+ Q,
1177
1188
  Lt,
1178
- Vt,
1189
+ Ht,
1179
1190
  {
1180
- meta: Ht,
1191
+ meta: Ut,
1181
1192
  template(e, t) {
1182
1193
  let n = t.links.nonProductionHosts;
1183
1194
  if (n.length === 0) return [];
1184
- let r = n.map(Ut), i = [];
1195
+ let r = n.map(Wt), i = [];
1185
1196
  for (let t of X(e)) {
1186
- let e = Wt(t.url);
1197
+ let e = Gt(t.url);
1187
1198
  e !== null && r.some((t) => t.test(e)) && i.push({
1188
1199
  blockId: t.blockId,
1189
1200
  params: { host: e }
@@ -1193,24 +1204,24 @@ var $ = [
1193
1204
  }
1194
1205
  }
1195
1206
  ];
1196
- function Gt(e, t = {}) {
1197
- return t.disabled === !0 || t.links === !1 ? [] : S(e, $, oe(t.locale, t.links ?? {}, $), (e, t, n) => Et(e, t, n));
1207
+ function Kt(e, t = {}) {
1208
+ return t.disabled === !0 || t.links === !1 ? [] : S(e, $, se(t.locale, t.links ?? {}, $), (e, t, n) => Dt(e, t, n));
1198
1209
  }
1199
1210
  //#endregion
1200
1211
  //#region ../quality/src/util.ts
1201
- function Kt(e) {
1212
+ function qt(e) {
1202
1213
  return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
1203
1214
  }
1204
1215
  //#endregion
1205
1216
  //#region ../quality/src/lint-template.ts
1206
- function qt(e, t = {}) {
1207
- return Kt(t) ? [] : [
1208
- ...at(e, t),
1209
- ...xt(e, t),
1210
- ...Gt(e, t)
1217
+ function Jt(e, t = {}) {
1218
+ return qt(t) ? [] : [
1219
+ ...ot(e, t),
1220
+ ...St(e, t),
1221
+ ...Kt(e, t)
1211
1222
  ];
1212
1223
  }
1213
1224
  //#endregion
1214
- export { qt as lintTemplate };
1225
+ export { Jt as lintTemplate };
1215
1226
 
1216
- //# sourceMappingURL=src-CaNsA_WX.js.map
1227
+ //# sourceMappingURL=src-Cnc5E71L.js.map