@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,33 +1,33 @@
1
1
  import { B as e, E as t, F as n, H as r, I as i, M as a, N as o, P as s, Q as c, R as l, S as u, U as d, X as f, Y as p, _ as m, at as h, b as g, c as _, ct as v, f as y, g as b, h as x, j as S, k as C, l as w, lt as T, m as E, n as D, o as O, p as k, r as A, s as j, t as M, u as N, ut as P, w as F, x as I, y as L } from "./chunks/draggable-kbOhCgnk.js";
2
2
  import { L as R, R as z, S as B, T as ee, W as te, a as V, b as H, d as U, h as W, i as G, it as ne, o as re, r as ie, x as ae, z as oe } from "./chunks/src-Dwgq7hf4.js";
3
- import { A as K, B as se, D as ce, F as le, G as ue, H as de, I as fe, J as pe, K as me, L as he, M as ge, N as _e, O as ve, P as ye, R as be, U as xe, W as Se, X as Ce, _ as we, a as Te, b as Ee, c as De, d as Oe, f as ke, g as Ae, h as je, i as Me, j as Ne, k as Pe, l as Fe, m as Ie, n as Le, o as Re, p as ze, q as Be, r as Ve, s as He, t as Ue, v as We, w as Ge, y as Ke } from "./chunks/useEditorCore-Cs7rYVBo.js";
3
+ import { A as K, B as se, D as ce, F as le, G as ue, H as de, I as fe, J as pe, K as me, L as he, M as ge, N as _e, O as ve, P as ye, R as be, U as xe, W as Se, X as Ce, _ as we, a as Te, b as Ee, c as De, d as Oe, f as ke, g as Ae, h as je, i as Me, j as Ne, k as Pe, l as Fe, m as Ie, n as Le, o as Re, p as ze, q as Be, r as Ve, s as He, t as Ue, v as We, w as Ge, y as Ke } from "./chunks/useEditorCore-06PtcUi1.js";
4
4
  import { _ as qe, d as Je, g as Ye } from "./chunks/dist-BW6Y49zE.js";
5
5
  import { a as Xe } from "./chunks/dist-CAFTQ6Y2.js";
6
- import { B as Ze, H as Qe, I as $e, J as et, K as tt, M as nt, P as rt, R as it, T as at, U as ot, W as st, Y as ct, c as lt, d as ut, f as dt, g as ft, h as pt, j as mt, k as ht, l as gt, m as _t, n as vt, o as yt, p as bt, q as xt, r as St, s as Ct, v as wt } from "./chunks/keys-DBFhDFng.js";
7
- import { t as q } from "./chunks/useI18n-Dlo7R9RA.js";
8
- import { t as Tt } from "./chunks/logger-ByvdoAwq.js";
9
- import { a as Et } from "./chunks/usePopoverPosition-ElP3ABaV.js";
10
- import { $ as Dt, At as Ot, D as kt, E as At, Et as jt, F as Mt, I as Nt, It as Pt, Lt as Ft, M as It, Mt as Lt, N as Rt, Ot as zt, Q as Bt, T as Vt, Tt as Ht, U as Ut, Y as Wt, _ as Gt, _t as Kt, b as qt, d as Jt, dt as Yt, et as Xt, ft as Zt, g as Qt, it as $t, j as en, lt as tn, m as nn, n as rn, nt as an, pt as on, q as sn, rt as cn, s as ln, st as un, tt as dn, w as fn, wt as pn, z as mn } from "./chunks/icons-BUlqGSgd.js";
11
- import { t as hn } from "./chunks/_plugin-vue_export-helper-B3ysoDQm.js";
12
- import { t as gn } from "./chunks/useCloudI18n-DSWSGj-A.js";
13
- import { t as _n } from "./chunks/useAliveFlag-CT9gjvO_.js";
14
- import { C as vn, S as yn, _ as bn, b as xn, c as Sn, g as J, h as Y, l as Cn, m as X, p as Z, r as wn, t as Tn, y as En } from "./chunks/styleConstants-C_YAPdQS.js";
15
- import { n as Dn, t as On } from "./chunks/emailFrameWidth-BmFCN2dp.js";
16
- import { t as kn } from "./chunks/readableTextColor-f8Kykfnh.js";
17
- import { t as An } from "./chunks/blockTypeIcons-CNjJSFun.js";
18
- import { t as jn } from "./chunks/useScrollToBlock-nTbWkgaU.js";
19
- import { t as Q } from "./chunks/ColorPicker-LcrzgMoW.js";
20
- import { a as Mn, i as Nn, n as Pn, r as Fn, t as In } from "./chunks/MergeTagInput-l7paaAml.js";
21
- import { i as $, n as Ln, r as Rn, t as zn } from "./chunks/FieldRow-D9OJhYeb.js";
22
- import { n as Bn, t as Vn } from "./chunks/MergeTagModeToggle-DYxkAGtA.js";
23
- import { t as Hn } from "./chunks/formatAbsoluteDateTime-DMmop3C-.js";
24
- import { t as Un } from "./chunks/formatRelativeTime-CtUU-QZ8.js";
25
- import { t as Wn } from "./chunks/TplModal-DYXrTz42.js";
26
- import { t as Gn } from "./chunks/preRenderCustomBlocks-Bdpiiw4A.js";
6
+ import { B as Ze, G as Qe, H as $e, I as et, J as tt, K as nt, M as rt, N as it, R as at, T as ot, W as st, X as ct, Y as lt, Z as ut, c as dt, d as ft, f as pt, g as mt, h as ht, j as gt, k as _t, l as vt, m as yt, n as bt, o as xt, p as St, r as Ct, s as wt, v as Tt } from "./chunks/keys-DXYJTLZF.js";
7
+ import { t as q } from "./chunks/useI18n-BhE7ndNr.js";
8
+ import { t as Et } from "./chunks/logger-ByvdoAwq.js";
9
+ import { a as Dt } from "./chunks/usePopoverPosition-BPL891uG.js";
10
+ import { $ as Ot, At as kt, D as At, E as jt, Et as Mt, F as Nt, I as Pt, It as Ft, Lt as It, M as Lt, Mt as Rt, N as zt, Ot as Bt, Q as Vt, T as Ht, Tt as Ut, U as Wt, Y as Gt, _ as Kt, _t as qt, b as Jt, d as Yt, dt as Xt, et as Zt, ft as Qt, g as $t, it as en, j as tn, lt as nn, m as rn, n as an, nt as on, pt as sn, q as cn, rt as ln, s as un, st as dn, tt as fn, w as pn, wt as mn, z as hn } from "./chunks/icons-DdrAicM2.js";
11
+ import { t as gn } from "./chunks/_plugin-vue_export-helper-B3ysoDQm.js";
12
+ import { t as _n } from "./chunks/useCloudI18n-OezCj0cx.js";
13
+ import { t as vn } from "./chunks/useAliveFlag-CT9gjvO_.js";
14
+ import { C as yn, S as bn, _ as xn, b as Sn, c as Cn, g as J, h as Y, l as wn, m as X, p as Z, r as Tn, t as En, y as Dn } from "./chunks/styleConstants-C_YAPdQS.js";
15
+ import { n as On, t as kn } from "./chunks/emailFrameWidth-BmFCN2dp.js";
16
+ import { t as An } from "./chunks/readableTextColor-f8Kykfnh.js";
17
+ import { t as jn } from "./chunks/blockTypeIcons-CQY-vxdM.js";
18
+ import { t as Mn } from "./chunks/useScrollToBlock-DwF4pVur.js";
19
+ import { t as Q } from "./chunks/ColorPicker-BaonTCAQ.js";
20
+ import { a as Nn, i as Pn, n as Fn, r as In, t as Ln } from "./chunks/MergeTagInput-CSIThqkz.js";
21
+ import { i as $, n as Rn, r as zn, t as Bn } from "./chunks/FieldRow-D9OJhYeb.js";
22
+ import { n as Vn, t as Hn } from "./chunks/MergeTagModeToggle-QGTUIWWo.js";
23
+ import { t as Un } from "./chunks/formatAbsoluteDateTime-DMmop3C-.js";
24
+ import { t as Wn } from "./chunks/formatRelativeTime-CtUU-QZ8.js";
25
+ import { t as Gn } from "./chunks/TplModal-CGpp-d_r.js";
26
+ import { t as Kn } from "./chunks/preRenderCustomBlocks-Bdpiiw4A.js";
27
27
  //#region src/utils/resolveTemplateDefaults.ts
28
- var Kn = /^[a-z]{2,3}(-[a-z0-9]{2,8})*$/i;
29
- function qn(e) {
30
- let t = e.locale?.trim().replace(/_/g, "-"), n = t && Kn.test(t) ? { locale: t } : void 0;
28
+ var qn = /^[a-z]{2,3}(-[a-z0-9]{2,8})*$/i;
29
+ function Jn(e) {
30
+ let t = e.locale?.trim().replace(/_/g, "-"), n = t && qn.test(t) ? { locale: t } : void 0;
31
31
  if (n || e.templateDefaults) return {
32
32
  ...n,
33
33
  ...e.templateDefaults
@@ -35,7 +35,7 @@ function qn(e) {
35
35
  }
36
36
  //#endregion
37
37
  //#region src/composables/useCommentsFeature.ts
38
- function Jn(t) {
38
+ function Yn(t) {
39
39
  let { provider: n, editor: r } = t, i = xe({
40
40
  provider: n,
41
41
  getTemplateId: () => r.state.template?.id ?? null,
@@ -95,16 +95,16 @@ function Jn(t) {
95
95
  }
96
96
  //#endregion
97
97
  //#region src/composables/useMediaFeature.ts
98
- function Yn(e) {
98
+ function Xn(e) {
99
99
  return e instanceof Error ? e : Error(String(e));
100
100
  }
101
- function Xn(e, t, n) {
101
+ function Zn(e, t, n) {
102
102
  let r = e.maxFileSize ?? Infinity;
103
103
  if (t.size > r) return /* @__PURE__ */ Error(`Image is too large (${t.size} bytes). Maximum allowed is ${r} bytes.`);
104
104
  let i = e.mimeTypes;
105
105
  return !i || (n && n.length > 0 ? n : Object.keys(i)).some((e) => i[e]?.includes(t.type) ?? !1) ? null : /* @__PURE__ */ Error(`Unsupported image type: ${t.type || "unknown"}.`);
106
106
  }
107
- function Zn(e) {
107
+ function Qn(e) {
108
108
  let { provider: t, onRequestMedia: n, getTemplateId: r, onError: i } = e, a = c(!1), o = c(void 0), s = y(() => r?.()), l = y(() => !!n || typeof t?.create == "function"), u = null;
109
109
  function d(e) {
110
110
  a.value = !1, u?.(e), u = null;
@@ -126,7 +126,7 @@ function Zn(e) {
126
126
  if (!t) return null;
127
127
  if (e?.files?.length) {
128
128
  if (typeof t.create != "function") return null;
129
- let n = e.files[0], a = Xn(t, n, e.accept);
129
+ let n = e.files[0], a = Zn(t, n, e.accept);
130
130
  if (a) return i?.(a), null;
131
131
  let o = r?.();
132
132
  try {
@@ -137,14 +137,14 @@ function Zn(e) {
137
137
  try {
138
138
  t.onCreated?.(e);
139
139
  } catch (e) {
140
- i?.(Yn(e));
140
+ i?.(Xn(e));
141
141
  }
142
142
  return {
143
143
  url: e.url,
144
144
  alt: e.alt
145
145
  };
146
146
  } catch (e) {
147
- return i?.(Yn(e)), null;
147
+ return i?.(Xn(e)), null;
148
148
  }
149
149
  }
150
150
  return u &&= (u(null), null), o.value = e?.accept, a.value = !0, new Promise((e) => {
@@ -162,7 +162,7 @@ function Zn(e) {
162
162
  }
163
163
  //#endregion
164
164
  //#region src/composables/useSavedBlocksFeature.ts
165
- function Qn(t) {
165
+ function $n(t) {
166
166
  let { provider: n, editor: r } = t, i = Be({
167
167
  provider: n,
168
168
  onError: t.onError
@@ -207,7 +207,7 @@ function Qn(t) {
207
207
  i.load().catch(() => {});
208
208
  }
209
209
  let w = y(() => i.savedBlocks.value.length), T = y(() => t.isAvailable?.() ?? !0);
210
- return s(Ze, i), {
210
+ return s($e, i), {
211
211
  headless: i,
212
212
  isPicking: d,
213
213
  pickedIds: u,
@@ -244,11 +244,11 @@ function Qn(t) {
244
244
  }
245
245
  //#endregion
246
246
  //#region src/composables/useTemplatesFeature.ts
247
- var $n = 3e3;
248
- function er(e) {
247
+ var er = 3e3;
248
+ function tr(e) {
249
249
  let { provider: t, editor: n } = e, r = c("idle"), i = c(""), { start: a, stop: o } = qe(() => {
250
250
  r.value = "idle";
251
- }, $n, { immediate: !1 }), s = y(() => typeof t.create == "function"), l = y(() => typeof t.save == "function"), u = y(() => e.isAvailable?.() ?? !0), d = y(() => n.state.template?.name), f = y(() => {
251
+ }, er, { immediate: !1 }), s = y(() => typeof t.create == "function"), l = y(() => typeof t.save == "function"), u = y(() => e.isAvailable?.() ?? !0), d = y(() => n.state.template?.name), f = y(() => {
252
252
  let e = n.state.template;
253
253
  return e?.updatedAt ? {
254
254
  iso: e.updatedAt,
@@ -355,15 +355,15 @@ function er(e) {
355
355
  }
356
356
  //#endregion
357
357
  //#region src/utils/toMjml.ts
358
- async function tr() {
358
+ async function nr() {
359
359
  try {
360
- return await import("./chunks/src-IGLRmUar.js");
360
+ return await import("./chunks/src-fn7uy1FD.js");
361
361
  } catch {
362
362
  return null;
363
363
  }
364
364
  }
365
- async function nr(e) {
366
- let t = await tr();
365
+ async function rr(e) {
366
+ let t = await nr();
367
367
  if (!t) throw Error("[Templatical] toMjml() requires the @templatical/renderer package. Please install it.");
368
368
  let n = e.getCustomBlockStylesheet, r = e.getFonts?.();
369
369
  return t.renderToMjml(e.getContent(), {
@@ -378,11 +378,11 @@ async function nr(e) {
378
378
  }
379
379
  //#endregion
380
380
  //#region src/composables/useTestEmailFeature.ts
381
- var rr = 1200;
382
- function ir(e) {
381
+ var ir = 1200;
382
+ function ar(e) {
383
383
  return e instanceof Error ? e : Error(String(e));
384
384
  }
385
- function ar(e) {
385
+ function or(e) {
386
386
  let { provider: t } = e, n = c(!1), r = c(!1), i = c(!1), a = c(null), o = null, s = !1;
387
387
  function l() {
388
388
  o !== null && (clearTimeout(o), o = null);
@@ -404,8 +404,8 @@ function ar(e) {
404
404
  if (t.includeMjml && e.renderMjml) try {
405
405
  return await e.renderMjml();
406
406
  } catch (t) {
407
- if ((e.usesLocalRenderer?.() ?? !0) && await tr() === null) {
408
- s || (s = !0, Tt.warn("testEmail.includeMjml is set but @templatical/renderer is not installed — sending the template as JSON only. Install it to receive `payload.mjml`."));
407
+ if ((e.usesLocalRenderer?.() ?? !0) && await nr() === null) {
408
+ s || (s = !0, Et.warn("testEmail.includeMjml is set but @templatical/renderer is not installed — sending the template as JSON only. Install it to receive `payload.mjml`."));
409
409
  return;
410
410
  }
411
411
  throw t;
@@ -415,7 +415,7 @@ function ar(e) {
415
415
  try {
416
416
  t.onSent?.(n);
417
417
  } catch (t) {
418
- e.onError?.(ir(t));
418
+ e.onError?.(ar(t));
419
419
  }
420
420
  }
421
421
  async function v(n) {
@@ -433,9 +433,9 @@ function ar(e) {
433
433
  ...r === void 0 ? {} : { mjml: r },
434
434
  ...s === void 0 ? {} : { allowedRecipients: s }
435
435
  };
436
- await t.send(a), i.value = !0, o = setTimeout(h, rr), _(a);
436
+ await t.send(a), i.value = !0, o = setTimeout(h, ir), _(a);
437
437
  } catch (t) {
438
- let n = ir(t);
438
+ let n = ar(t);
439
439
  a.value = {
440
440
  kind: "provider",
441
441
  message: n.message
@@ -463,7 +463,7 @@ function ar(e) {
463
463
  }
464
464
  //#endregion
465
465
  //#region src/composables/useVersionHistoryFeature.ts
466
- function or(e) {
466
+ function sr(e) {
467
467
  let { provider: t, editor: n, history: r, conditionPreview: i, autoSave: a } = e, o = Se({
468
468
  provider: t,
469
469
  getTemplateId: () => n.state.template?.id ?? null,
@@ -574,12 +574,12 @@ function or(e) {
574
574
  }
575
575
  //#endregion
576
576
  //#region src/types/auto-save.ts
577
- function sr(e, t) {
577
+ function cr(e, t) {
578
578
  return e ?? t;
579
579
  }
580
580
  //#endregion
581
581
  //#region src/utils/resolveLintOptions.ts
582
- function cr(e) {
582
+ function lr(e) {
583
583
  return {
584
584
  ...e.lint,
585
585
  locale: e.locale
@@ -587,13 +587,13 @@ function cr(e) {
587
587
  }
588
588
  //#endregion
589
589
  //#region src/utils/normalizeMergeTagMarkup.ts
590
- function lr(e) {
590
+ function ur(e) {
591
591
  let t = e.flags.includes("g") ? e.flags : `${e.flags}g`;
592
592
  return new RegExp(e.source, t);
593
593
  }
594
- function ur(e, t, n) {
594
+ function dr(e, t, n) {
595
595
  let r = [], i = (t, n, i) => {
596
- let a = lr(t), o = a.exec(e);
596
+ let a = ur(t), o = a.exec(e);
597
597
  for (; o !== null;) {
598
598
  let t = o.index, s = t + o[0].length;
599
599
  o[0].length === 0 ? a.lastIndex++ : r.some((e) => t < e.end && s > e.start) || r.push({
@@ -607,7 +607,7 @@ function ur(e, t, n) {
607
607
  };
608
608
  return i(n.logic, "data-logic-merge-tag", (e) => V(e, n)), i(n.value, "data-merge-tag", (e) => re(e, t)), r.sort((e, t) => e.start - t.start);
609
609
  }
610
- function dr(e) {
610
+ function fr(e) {
611
611
  let t = e.createTreeWalker(e.body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, { acceptNode(e) {
612
612
  if (e.nodeType !== 1) return NodeFilter.FILTER_ACCEPT;
613
613
  let t = e;
@@ -616,11 +616,11 @@ function dr(e) {
616
616
  for (; r !== null;) n.push(r), r = t.nextNode();
617
617
  return n;
618
618
  }
619
- function fr(e, t, n) {
619
+ function pr(e, t, n) {
620
620
  if (!e || !G(e, n) || typeof DOMParser > "u") return e;
621
621
  let r = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html"), i = 0;
622
- for (let e of dr(r)) {
623
- let a = e.data, o = ur(a, t, n);
622
+ for (let e of fr(r)) {
623
+ let a = e.data, o = dr(a, t, n);
624
624
  if (o.length === 0) continue;
625
625
  let s = r.createDocumentFragment(), c = 0;
626
626
  for (let e of o) {
@@ -632,13 +632,13 @@ function fr(e, t, n) {
632
632
  }
633
633
  return i === 0 ? e : r.body.innerHTML;
634
634
  }
635
- function pr(e, t, n) {
635
+ function mr(e, t, n) {
636
636
  if (e.type === "section") {
637
637
  if (!Array.isArray(e.children)) return e;
638
638
  let r = !1, i = e.children.map((e) => {
639
639
  if (!Array.isArray(e)) return e;
640
640
  let i = !1, a = e.map((e) => {
641
- let r = pr(e, t, n);
641
+ let r = mr(e, t, n);
642
642
  return r !== e && (i = !0), r;
643
643
  });
644
644
  return i ? (r = !0, a) : e;
@@ -649,16 +649,16 @@ function pr(e, t, n) {
649
649
  } : e;
650
650
  }
651
651
  if (e.type !== "title" && e.type !== "paragraph" || typeof e.content != "string") return e;
652
- let r = fr(e.content, t, n);
652
+ let r = pr(e.content, t, n);
653
653
  return r === e.content ? e : {
654
654
  ...e,
655
655
  content: r
656
656
  };
657
657
  }
658
- function mr(e, t, n) {
658
+ function hr(e, t, n) {
659
659
  if (!e || !Array.isArray(e.blocks)) return e;
660
660
  let r = !1, i = e.blocks.map((e) => {
661
- let i = pr(e, t, n);
661
+ let i = mr(e, t, n);
662
662
  return i !== e && (r = !0), i;
663
663
  });
664
664
  return r ? {
@@ -666,10 +666,10 @@ function mr(e, t, n) {
666
666
  blocks: i
667
667
  } : e;
668
668
  }
669
- function hr(e, t) {
670
- return mr(e, t?.tags ?? [], W(t?.syntax));
671
- }
672
669
  function gr(e, t) {
670
+ return hr(e, t?.tags ?? [], W(t?.syntax));
671
+ }
672
+ function _r(e, t) {
673
673
  return {
674
674
  get state() {
675
675
  return e.state;
@@ -677,14 +677,14 @@ function gr(e, t) {
677
677
  get content() {
678
678
  return e.content;
679
679
  },
680
- setContent: (n, r) => e.setContent(hr(n, t), r)
680
+ setContent: (n, r) => e.setContent(gr(n, t), r)
681
681
  };
682
682
  }
683
- function _r(e, t) {
683
+ function vr(e, t) {
684
684
  return {
685
685
  ...e,
686
686
  async load(n) {
687
- let r = await e.load(n), i = hr(r.content, t);
687
+ let r = await e.load(n), i = gr(r.content, t);
688
688
  return i === r.content ? r : {
689
689
  ...r,
690
690
  content: i
@@ -694,30 +694,30 @@ function _r(e, t) {
694
694
  }
695
695
  //#endregion
696
696
  //#region src/components/Canvas.vue?vue&type=script&setup=true&lang.ts
697
- var vr = ["aria-label"], yr = ["lang", "dir"], br = {
697
+ var yr = ["aria-label"], br = ["lang", "dir"], xr = {
698
698
  key: 0,
699
699
  role: "status",
700
700
  "aria-busy": "true",
701
701
  "data-testid": "preview-resolution-loading",
702
702
  class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-6"
703
- }, xr = { class: "tpl:sr-only" }, Sr = {
703
+ }, Sr = { class: "tpl:sr-only" }, Cr = {
704
704
  key: 1,
705
705
  role: "status",
706
706
  "data-testid": "preview-resolution-failed",
707
707
  class: "tpl:mx-6 tpl:mt-4 tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg-hover)]"
708
- }, Cr = {
708
+ }, wr = {
709
709
  key: 0,
710
710
  class: "tpl-canvas-empty-content tpl:flex tpl:flex-col tpl:items-center"
711
- }, wr = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, Tr = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Er = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Dr = {
711
+ }, Tr = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, Er = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Dr = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Or = {
712
712
  key: 0,
713
713
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-center tpl:gap-x-1 tpl:gap-y-0.5 tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
714
- }, Or = {
714
+ }, kr = {
715
715
  key: 1,
716
716
  class: "tpl:m-0 tpl:mt-4 tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-center tpl:gap-x-1 tpl:gap-y-0.5 tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
717
- }, kr = { class: "tpl:relative" }, Ar = {
717
+ }, Ar = { class: "tpl:relative" }, jr = {
718
718
  class: "tpl:inline-flex tpl:size-3 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[8px] tpl:font-bold",
719
719
  style: { "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 30%,\n transparent\n )" }
720
- }, jr = /*#__PURE__*/ hn(/* @__PURE__ */ u({
720
+ }, Mr = /*#__PURE__*/ gn(/* @__PURE__ */ u({
721
721
  __name: "Canvas",
722
722
  props: {
723
723
  viewport: {},
@@ -747,9 +747,9 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
747
747
  table: Ve,
748
748
  video: Le,
749
749
  custom: Ke
750
- }, u = e, f = i, { t: p } = q(), { t: m } = gn(), _ = ct(ft, "Canvas"), S = t(dt, null), C = t(Ct, null), w = t(gt, {}), D = t(mt, null), O = t(it, null);
751
- s(et, y(() => u.previewMode && (D?.value ?? !1) && !O?.isConfigured));
752
- let A = y(() => (w.plan?.hasFeature("aiGeneration") ?? !1) && (w.ai?.isFeatureEnabled("chat") ?? !1)), F = y(() => (w.plan?.hasFeature("aiGeneration") ?? !1) && (w.ai?.isFeatureEnabled("designToTemplate") ?? !1)), I = t(St, null), R = y({
750
+ }, u = e, f = i, { t: p } = q(), { t: m } = _n(), _ = ut(mt, "Canvas"), S = t(pt, null), C = t(wt, null), w = t(vt, {}), D = t(gt, null), O = t(Ze, null);
751
+ s(ct, y(() => u.previewMode && (D?.value ?? !1) && !O?.isConfigured));
752
+ let A = y(() => (w.plan?.hasFeature("aiGeneration") ?? !1) && (w.ai?.isFeatureEnabled("chat") ?? !1)), F = y(() => (w.plan?.hasFeature("aiGeneration") ?? !1) && (w.ai?.isFeatureEnabled("designToTemplate") ?? !1)), I = t(Ct, null), R = y({
753
753
  get: () => u.content.blocks,
754
754
  set: (e) => {
755
755
  _.setContent({
@@ -757,7 +757,7 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
757
757
  blocks: e
758
758
  });
759
759
  }
760
- }), B = y(() => Dn(u.content.settings, u.viewport)), ee = y(() => B.value + 192), te = y(() => Oe(u.content.settings)), V = y(() => u.content.settings?.locale?.trim() || void 0), H = y(() => z(u.content.settings)), U = y(() => R.value.length === 0 && !u.previewMode), W = c(0), G = y(() => U.value && W.value > 0);
760
+ }), B = y(() => On(u.content.settings, u.viewport)), ee = y(() => B.value + 192), te = y(() => Oe(u.content.settings)), V = y(() => u.content.settings?.locale?.trim() || void 0), H = y(() => z(u.content.settings)), U = y(() => R.value.length === 0 && !u.previewMode), W = c(0), G = y(() => U.value && W.value > 0);
761
761
  function ne() {
762
762
  U.value && (W.value += 1);
763
763
  }
@@ -800,7 +800,7 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
800
800
  style: T({
801
801
  width: `${ee.value}px`,
802
802
  boxShadow: e.darkMode ? "none" : "var(--tpl-shadow-xl)",
803
- transition: h(On)
803
+ transition: h(kn)
804
804
  })
805
805
  }, [k("div", {
806
806
  class: "tpl-canvas-bg tpl:absolute tpl:inset-0 tpl:rounded-lg tpl:pointer-events-none",
@@ -816,7 +816,7 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
816
816
  class: "tpl-canvas-wrapper tpl:relative",
817
817
  style: T({
818
818
  width: `${B.value}px`,
819
- transition: h(On)
819
+ transition: h(kn)
820
820
  })
821
821
  }, [k("div", {
822
822
  class: v(["tpl-canvas tpl:relative tpl:rounded-lg", {
@@ -827,11 +827,11 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
827
827
  dir: H.value,
828
828
  style: T(te.value),
829
829
  onClick: ae
830
- }, [h(O)?.isInitialResolve.value ? (o(), b("div", br, [k("span", xr, P(h(p).previewResolution.resolving), 1), (o(), b(N, null, n(3, (e) => k("div", {
830
+ }, [h(O)?.isInitialResolve.value ? (o(), b("div", xr, [k("span", Sr, P(h(p).previewResolution.resolving), 1), (o(), b(N, null, n(3, (e) => k("div", {
831
831
  key: e,
832
832
  "aria-hidden": "true",
833
833
  class: "tpl-pulse tpl:h-16 tpl:rounded-md tpl:bg-[var(--tpl-bg-hover)]"
834
- })), 64))])) : h(O)?.hasFailed.value ? (o(), b("p", Sr, P(h(p).previewResolution.failed), 1)) : x("", !0), d(g(h(M), {
834
+ })), 64))])) : h(O)?.hasFailed.value ? (o(), b("p", Cr, P(h(p).previewResolution.failed), 1)) : x("", !0), d(g(h(M), {
835
835
  modelValue: R.value,
836
836
  "onUpdate:modelValue": i[2] ||= (e) => R.value = e,
837
837
  group: "blocks",
@@ -854,30 +854,30 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
854
854
  onDragleave: re,
855
855
  onDrop: ie
856
856
  }, {
857
- default: r(() => [U.value ? (o(), b("div", Cr, [
858
- k("div", wr, [g(h(Vt), {
857
+ default: r(() => [U.value ? (o(), b("div", wr, [
858
+ k("div", Tr, [g(h(Ht), {
859
859
  size: 48,
860
860
  "stroke-width": 1
861
861
  })]),
862
- k("p", Tr, P(h(p).canvas.noBlocks), 1),
863
- k("p", Er, P(h(p).canvas.dragHint), 1),
864
- A.value && h(m) ? (o(), b("p", Dr, [
862
+ k("p", Er, P(h(p).canvas.noBlocks), 1),
863
+ k("p", Dr, P(h(p).canvas.dragHint), 1),
864
+ A.value && h(m) ? (o(), b("p", Or, [
865
865
  L(P(h(p).canvas.aiHintChat) + " ", 1),
866
866
  k("button", {
867
867
  class: "tpl:inline-flex tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:whitespace-nowrap tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-sm tpl:font-semibold tpl:transition-colors tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
868
868
  onClick: i[0] ||= (e) => f("open-ai-chat")
869
- }, [g(h(At), {
869
+ }, [g(h(jt), {
870
870
  size: 14,
871
871
  "stroke-width": 2
872
872
  }), L(" " + P(h(m).aiMenu.aiAssistant), 1)]),
873
873
  L(" " + P(h(p).canvas.aiHintChatSuffix), 1)
874
874
  ])) : x("", !0),
875
- F.value && h(m) ? (o(), b("p", Or, [
875
+ F.value && h(m) ? (o(), b("p", kr, [
876
876
  L(P(h(p).canvas.aiHintDesign) + " ", 1),
877
877
  k("button", {
878
878
  class: "tpl:inline-flex tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:whitespace-nowrap tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-sm tpl:font-semibold tpl:transition-colors tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
879
879
  onClick: i[1] ||= (e) => f("open-design-reference")
880
- }, [g(h(on), {
880
+ }, [g(h(sn), {
881
881
  size: 14,
882
882
  "stroke-width": 2
883
883
  }), L(" " + P(h(m).aiMenu.designToTemplate), 1)]),
@@ -886,7 +886,7 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
886
886
  ])) : x("", !0), (o(!0), b(N, null, n(R.value, (t) => d((o(), b("div", {
887
887
  key: t.id,
888
888
  class: "tpl-block-item"
889
- }, [k("div", kr, [K(t.id) ? (o(), b("div", {
889
+ }, [k("div", Ar, [K(t.id) ? (o(), b("div", {
890
890
  key: 0,
891
891
  class: "tpl-collab-lock tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[4] tpl:rounded-sm",
892
892
  style: T({
@@ -897,9 +897,9 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
897
897
  class: "tpl:absolute tpl:-top-0.5 tpl:left-1/2 tpl:z-[5] tpl:flex tpl:-translate-x-1/2 tpl:-translate-y-full tpl:items-center tpl:gap-1 tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:whitespace-nowrap",
898
898
  style: T({
899
899
  backgroundColor: K(t.id).color,
900
- color: h(kn)(K(t.id).color)
900
+ color: h(An)(K(t.id).color)
901
901
  })
902
- }, [k("span", Ar, P(K(t.id).name.charAt(0)), 1), L(" " + P(K(t.id).name), 1)], 4)], 4)) : x("", !0), g(Fe, {
902
+ }, [k("span", jr, P(K(t.id).name.charAt(0)), 1), L(" " + P(K(t.id).name), 1)], 4)], 4)) : x("", !0), g(Fe, {
903
903
  block: t,
904
904
  "is-selected": !e.previewMode && !le.value && e.selectedBlockId === t.id && !K(t.id),
905
905
  picked: ce(t.id),
@@ -932,12 +932,12 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
932
932
  "modelValue",
933
933
  "disabled",
934
934
  "class"
935
- ]), [[j, !h(O)?.isInitialResolve.value]])], 14, yr)], 12, vr)], 4));
935
+ ]), [[j, !h(O)?.isInitialResolve.value]])], 14, br)], 12, yr)], 4));
936
936
  }
937
- }), [["__scopeId", "data-v-ec928abd"]]), Mr = u({
937
+ }), [["__scopeId", "data-v-ec928abd"]]), Nr = u({
938
938
  name: "CustomBlockStylesheets",
939
939
  setup() {
940
- let e = t(_t, null);
940
+ let e = t(yt, null);
941
941
  return () => e ? e.value.map((e, t) => F("style", {
942
942
  key: t,
943
943
  "data-tpl-custom-block-stylesheet": "",
@@ -947,7 +947,7 @@ var vr = ["aria-label"], yr = ["lang", "dir"], br = {
947
947
  });
948
948
  //#endregion
949
949
  //#region src/utils/resolvePaletteBlocks.ts
950
- function Nr(e, t) {
950
+ function Pr(e, t) {
951
951
  if (!t || t.length === 0) return {
952
952
  items: e,
953
953
  unknown: []
@@ -966,7 +966,7 @@ function Nr(e, t) {
966
966
  }
967
967
  //#endregion
968
968
  //#region src/utils/resolveInsertPosition.ts
969
- function Pr(e) {
969
+ function Fr(e) {
970
970
  let { blockType: t, selectedBlockId: n, findBlockLocation: r, isBlockLocked: i } = e;
971
971
  if (!n) return {};
972
972
  let a = r(n);
@@ -984,24 +984,24 @@ function Pr(e) {
984
984
  }
985
985
  //#endregion
986
986
  //#region src/components/Sidebar.vue?vue&type=script&setup=true&lang.ts
987
- var Fr = ["aria-label"], Ir = {
987
+ var Ir = ["aria-label"], Lr = {
988
988
  key: 0,
989
989
  class: "tpl:border-b tpl:px-1 tpl:pb-1 tpl:border-[var(--tpl-border)]"
990
- }, Lr = ["aria-label"], Rr = {
990
+ }, Rr = ["aria-label"], zr = {
991
991
  key: 0,
992
992
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
993
- }, zr = [
993
+ }, Br = [
994
994
  "data-palette-type",
995
995
  "aria-label",
996
996
  "onClick",
997
997
  "onKeydown"
998
- ], Br = { class: "tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:scale-105" }, Vr = {
998
+ ], Vr = { class: "tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:scale-105" }, Hr = {
999
999
  key: 0,
1000
1000
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
1001
- }, Hr = /* @__PURE__ */ u({
1001
+ }, Ur = /* @__PURE__ */ u({
1002
1002
  __name: "Sidebar",
1003
1003
  setup(i) {
1004
- let { t: a, format: s } = q(), u = t(bt, []), d = t($e, void 0), f = t(yt, void 0), p = t(ft, null), m = jn(), _ = t(gt, {}), v = y(() => _.savedBlocks?.isAvailable.value === !0), S = c(!1), C = c(!1), w = c(null);
1004
+ let { t: a, format: s } = q(), u = t(St, []), d = t(at, void 0), f = t(xt, void 0), p = t(mt, null), m = Mn(), _ = t(vt, {}), v = y(() => _.savedBlocks?.isAvailable.value === !0), S = c(!1), C = c(!1), w = c(null);
1005
1005
  function D() {
1006
1006
  try {
1007
1007
  return w.value?.querySelector(":focus-visible") != null;
@@ -1048,9 +1048,9 @@ var Fr = ["aria-label"], Ir = {
1048
1048
  label: e.name,
1049
1049
  isCustom: !0,
1050
1050
  icon: e.icon
1051
- }))), z = y(() => [...L.value, ...R.value]), te = y(() => Nr(z.value, d)), V = y(() => te.value.items), H = /* @__PURE__ */ new Set();
1051
+ }))), z = y(() => [...L.value, ...R.value]), te = y(() => Pr(z.value, d)), V = y(() => te.value.items), H = /* @__PURE__ */ new Set();
1052
1052
  e(() => te.value.unknown, (e) => {
1053
- for (let t of e) H.has(t) || (H.add(t), Tt.warn(`config.paletteBlocks: "${t}" is not a built-in or registered custom block (use the "custom:" prefix for custom blocks) — skipping it in the palette.`));
1053
+ for (let t of e) H.has(t) || (H.add(t), Et.warn(`config.paletteBlocks: "${t}" is not a built-in or registered custom block (use the "custom:" prefix for custom blocks) — skipping it in the palette.`));
1054
1054
  }, { immediate: !0 });
1055
1055
  function U(e) {
1056
1056
  if (e.isCustom) {
@@ -1061,7 +1061,7 @@ var Fr = ["aria-label"], Ir = {
1061
1061
  }
1062
1062
  function W(e) {
1063
1063
  if (!p) return;
1064
- let t = U(e), { targetSectionId: n, columnIndex: r, index: i } = Pr({
1064
+ let t = U(e), { targetSectionId: n, columnIndex: r, index: i } = Fr({
1065
1065
  blockType: e.type,
1066
1066
  selectedBlockId: p.state.selectedBlockId,
1067
1067
  findBlockLocation: p.findBlockLocation,
@@ -1088,17 +1088,17 @@ var Fr = ["aria-label"], Ir = {
1088
1088
  onMouseleave: O,
1089
1089
  onFocusin: t[2] ||= (e) => S.value = !0,
1090
1090
  onFocusout: t[3] ||= (e) => S.value = !1
1091
- }, [v.value ? (o(), b("div", Ir, [k("button", {
1091
+ }, [v.value ? (o(), b("div", Lr, [k("button", {
1092
1092
  type: "button",
1093
1093
  "aria-label": h(a).sidebarNav.browseSavedBlocks,
1094
1094
  class: "tpl:flex tpl:h-10 tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-3 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-3 tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] tpl:hover:bg-[var(--tpl-primary-light)] tpl:hover:text-[var(--tpl-primary)]",
1095
1095
  style: T({ justifyContent: S.value ? "flex-start" : "center" }),
1096
1096
  onClick: t[0] ||= (e) => h(_).savedBlocks?.openBrowser()
1097
- }, [g(h(Wt), {
1097
+ }, [g(h(Gt), {
1098
1098
  size: 20,
1099
1099
  "stroke-width": 1.5,
1100
1100
  class: "tpl:shrink-0"
1101
- }), S.value ? (o(), b("span", Rr, P(h(a).savedBlocks.title), 1)) : x("", !0)], 12, Lr)])) : x("", !0), g(h(M), {
1101
+ }), S.value ? (o(), b("span", zr, P(h(a).savedBlocks.title), 1)) : x("", !0)], 12, Rr)])) : x("", !0), g(h(M), {
1102
1102
  "model-value": V.value,
1103
1103
  group: {
1104
1104
  name: "blocks",
@@ -1123,7 +1123,7 @@ var Fr = ["aria-label"], Ir = {
1123
1123
  style: T({ justifyContent: S.value ? "flex-start" : "center" }),
1124
1124
  onClick: (t) => W(e),
1125
1125
  onKeydown: (t) => G(t, e)
1126
- }, [k("div", Br, [h(An)[e.type] ? (o(), E(l(h(An)[e.type]), {
1126
+ }, [k("div", Vr, [h(jn)[e.type] ? (o(), E(l(h(jn)[e.type]), {
1127
1127
  key: 0,
1128
1128
  size: 20,
1129
1129
  "stroke-width": 1.5
@@ -1131,21 +1131,21 @@ var Fr = ["aria-label"], Ir = {
1131
1131
  key: 1,
1132
1132
  icon: e.icon,
1133
1133
  size: 20
1134
- }, null, 8, ["icon"])) : x("", !0)]), S.value ? (o(), b("span", Vr, P(e.label), 1)) : x("", !0)], 44, zr))), 128))]),
1134
+ }, null, 8, ["icon"])) : x("", !0)]), S.value ? (o(), b("span", Hr, P(e.label), 1)) : x("", !0)], 44, Br))), 128))]),
1135
1135
  _: 1
1136
- }, 8, ["model-value"])], 44, Fr));
1136
+ }, 8, ["model-value"])], 44, Ir));
1137
1137
  }
1138
- }), Ur = { key: 0 }, Wr = {
1138
+ }), Wr = { key: 0 }, Gr = {
1139
1139
  key: 0,
1140
1140
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
1141
- }, Gr = { key: 1 }, Kr = [
1141
+ }, Kr = { key: 1 }, qr = [
1142
1142
  "value",
1143
1143
  "placeholder",
1144
1144
  "rows"
1145
- ], qr = {
1145
+ ], Jr = {
1146
1146
  key: 0,
1147
1147
  class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
1148
- }, Jr = "tpl:w-full tpl:resize-y tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-[var(--tpl-shadow-sm)] tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]", Yr = "tpl:flex tpl:w-full tpl:min-h-20 tpl:cursor-pointer tpl:items-start tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-[var(--tpl-shadow-sm)] tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", Xr = /* @__PURE__ */ u({
1148
+ }, Yr = "tpl:w-full tpl:resize-y tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-[var(--tpl-shadow-sm)] tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]", Xr = "tpl:flex tpl:w-full tpl:min-h-20 tpl:cursor-pointer tpl:items-start tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-[var(--tpl-shadow-sm)] tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", Zr = /* @__PURE__ */ u({
1149
1149
  __name: "MergeTagTextarea",
1150
1150
  props: {
1151
1151
  modelValue: {},
@@ -1154,32 +1154,34 @@ var Fr = ["aria-label"], Ir = {
1154
1154
  },
1155
1155
  emits: ["update:modelValue"],
1156
1156
  setup(e, { emit: t }) {
1157
- let n = e, r = t, i = c(null), { segments: a, hasMergeTags: s, canRequestMergeTag: l, isRequestingMergeTag: u, canInsertLogicTag: d, isRequestingLogicTag: f, isEditing: p, startEditing: m, handleInput: _, handleKeydown: y, handleClick: S, handleBlur: C, clearValue: w, insertMergeTag: T, insertLogicTag: D } = Mn({
1157
+ let n = e, r = t, i = c(null), { segments: a, hasMergeTags: s, canRequestMergeTag: l, isRequestingMergeTag: u, canInsertLogicTag: d, isRequestingLogicTag: f, isEditing: p, startEditing: m, handleInput: _, handleKeydown: y, handleClick: S, handleBlur: C, clearValue: w, insertMergeTag: T, insertLogicTag: D, replaceMergeTagAt: O } = Nn({
1158
1158
  modelValue: () => n.modelValue,
1159
1159
  emit: (e) => r("update:modelValue", e),
1160
1160
  elementRef: i
1161
1161
  });
1162
- return (t, n) => h(s) && !h(p) ? (o(), b("div", Ur, [g(Nn, {
1162
+ return (t, n) => h(s) && !h(p) ? (o(), b("div", Wr, [g(Pn, {
1163
1163
  segments: h(a),
1164
- "display-class": Yr,
1164
+ "display-class": Xr,
1165
1165
  onEdit: h(m),
1166
- onClear: h(w)
1166
+ onClear: h(w),
1167
+ onRepick: h(O)
1167
1168
  }, null, 8, [
1168
1169
  "segments",
1169
1170
  "onEdit",
1170
- "onClear"
1171
- ]), h(l) || h(d) ? (o(), b("div", Wr, [h(l) ? (o(), E(Fn, {
1171
+ "onClear",
1172
+ "onRepick"
1173
+ ]), h(l) || h(d) ? (o(), b("div", Gr, [h(l) ? (o(), E(In, {
1172
1174
  key: 0,
1173
1175
  disabled: h(u),
1174
1176
  onInsert: h(T)
1175
- }, null, 8, ["disabled", "onInsert"])) : x("", !0), h(d) ? (o(), E(Pn, {
1177
+ }, null, 8, ["disabled", "onInsert"])) : x("", !0), h(d) ? (o(), E(Fn, {
1176
1178
  key: 1,
1177
1179
  disabled: h(f),
1178
1180
  onInsert: h(D)
1179
- }, null, 8, ["disabled", "onInsert"])) : x("", !0)])) : x("", !0)])) : (o(), b("div", Gr, [k("textarea", {
1181
+ }, null, 8, ["disabled", "onInsert"])) : x("", !0)])) : x("", !0)])) : (o(), b("div", Kr, [k("textarea", {
1180
1182
  ref_key: "textareaRef",
1181
1183
  ref: i,
1182
- class: v(Jr),
1184
+ class: v(Yr),
1183
1185
  value: e.modelValue,
1184
1186
  placeholder: e.placeholder,
1185
1187
  rows: e.rows,
@@ -1187,56 +1189,56 @@ var Fr = ["aria-label"], Ir = {
1187
1189
  onKeydown: n[1] ||= (...e) => h(y) && h(y)(...e),
1188
1190
  onClick: n[2] ||= (...e) => h(S) && h(S)(...e),
1189
1191
  onBlur: n[3] ||= (...e) => h(C) && h(C)(...e)
1190
- }, null, 40, Kr), h(l) || h(d) ? (o(), b("div", qr, [h(l) ? (o(), E(Fn, {
1192
+ }, null, 40, qr), h(l) || h(d) ? (o(), b("div", Jr, [h(l) ? (o(), E(In, {
1191
1193
  key: 0,
1192
1194
  disabled: h(u),
1193
1195
  onInsert: h(T)
1194
- }, null, 8, ["disabled", "onInsert"])) : x("", !0), h(d) ? (o(), E(Pn, {
1196
+ }, null, 8, ["disabled", "onInsert"])) : x("", !0), h(d) ? (o(), E(Fn, {
1195
1197
  key: 1,
1196
1198
  disabled: h(f),
1197
1199
  onInsert: h(D)
1198
1200
  }, null, 8, ["disabled", "onInsert"])) : x("", !0)])) : x("", !0)]));
1199
1201
  }
1200
- }), Zr = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, Qr = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, $r = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ei = {
1202
+ }), Qr = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, $r = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, ei = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ti = {
1201
1203
  key: 0,
1202
1204
  "data-testid": "template-settings-width-preset"
1203
- }, ti = { class: "tpl:grid tpl:grid-cols-4 tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, ni = ["onClick"], ri = {
1205
+ }, ni = { class: "tpl:grid tpl:grid-cols-4 tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, ri = ["onClick"], ii = {
1204
1206
  key: 1,
1205
1207
  "data-testid": "template-settings-width-custom"
1206
- }, ii = { class: "tpl:flex tpl:items-stretch" }, ai = ["value"], oi = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, si = {
1208
+ }, ai = { class: "tpl:flex tpl:items-stretch" }, oi = ["value"], si = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ci = {
1207
1209
  key: 0,
1208
1210
  "data-testid": "template-settings-background"
1209
- }, ci = {
1211
+ }, li = {
1210
1212
  key: 1,
1211
1213
  "data-testid": "template-settings-text-color"
1212
- }, li = {
1214
+ }, ui = {
1213
1215
  key: 2,
1214
1216
  "data-testid": "template-settings-link-color"
1215
- }, ui = {
1217
+ }, di = {
1216
1218
  key: 3,
1217
1219
  "data-testid": "template-settings-link-underline"
1218
- }, di = {
1220
+ }, fi = {
1219
1221
  key: 4,
1220
1222
  "data-testid": "template-settings-font-family"
1221
- }, fi = ["value"], pi = ["value"], mi = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, hi = {
1223
+ }, pi = ["value"], mi = ["value"], hi = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, gi = {
1222
1224
  key: 0,
1223
1225
  "data-testid": "template-settings-locale"
1224
- }, gi = ["value"], _i = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, vi = {
1226
+ }, _i = ["value"], vi = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, yi = {
1225
1227
  key: 1,
1226
1228
  "data-testid": "template-settings-direction"
1227
- }, yi = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, bi = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, xi = {
1229
+ }, bi = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, xi = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Si = {
1228
1230
  key: 0,
1229
1231
  "data-testid": "template-settings-preheader"
1230
- }, Si = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Ci = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, wi = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, Ti = {
1232
+ }, Ci = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, wi = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Ti = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, Ei = {
1231
1233
  key: 4,
1232
1234
  class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3",
1233
1235
  "data-testid": "template-settings-card-tips"
1234
- }, Ei = { class: "tpl:mb-2.5 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text-muted)]" }, Di = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Oi = { class: "tpl:mb-1 tpl:last:mb-0" }, ki = { class: "tpl:mb-1 tpl:last:mb-0" }, Ai = { class: "tpl:mb-1 tpl:last:mb-0" }, ji = 150, Mi = /* @__PURE__ */ u({
1236
+ }, Di = { class: "tpl:mb-2.5 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text-muted)]" }, Oi = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, ki = { class: "tpl:mb-1 tpl:last:mb-0" }, Ai = { class: "tpl:mb-1 tpl:last:mb-0" }, ji = { class: "tpl:mb-1 tpl:last:mb-0" }, Mi = 150, Ni = /* @__PURE__ */ u({
1235
1237
  __name: "TemplateSettings",
1236
1238
  props: { settings: {} },
1237
1239
  emits: ["update"],
1238
1240
  setup(e, { emit: r }) {
1239
- let i = e, a = r, { t: s } = q(), c = ct(wt, "TemplateSettings"), l = y(() => c.fonts.value), u = y(() => l.value.some((e) => e.value === i.settings.fontFamily) ? i.settings.fontFamily : c.defaultFont.value), d = [
1241
+ let i = e, a = r, { t: s } = q(), c = ut(Tt, "TemplateSettings"), l = y(() => c.fonts.value), u = y(() => l.value.some((e) => e.value === i.settings.fontFamily) ? i.settings.fontFamily : c.defaultFont.value), d = [
1240
1242
  {
1241
1243
  value: 480,
1242
1244
  label: "480px"
@@ -1253,26 +1255,26 @@ var Fr = ["aria-label"], Ir = {
1253
1255
  value: 800,
1254
1256
  label: "800px"
1255
1257
  }
1256
- ], f = t(ot, new Set(he));
1258
+ ], f = t(Qe, new Set(he));
1257
1259
  function p(e) {
1258
1260
  return f.has(e);
1259
1261
  }
1260
1262
  function m(e) {
1261
1263
  return he.some((t) => be[t] === e && p(t));
1262
1264
  }
1263
- let _ = f.size > 0, S = y(() => z(i.settings) === "rtl"), C = `${Cn} tpl:flex tpl:flex-col tpl:gap-3.5`;
1264
- return (t, r) => (o(), b("aside", Zr, [k("div", Qr, [
1265
+ let _ = f.size > 0, S = y(() => z(i.settings) === "rtl"), C = `${wn} tpl:flex tpl:flex-col tpl:gap-3.5`;
1266
+ return (t, r) => (o(), b("aside", Qr, [k("div", $r, [
1265
1267
  m("layout") ? (o(), b("div", {
1266
1268
  key: 0,
1267
1269
  class: v(C),
1268
1270
  "data-testid": "template-settings-card-layout"
1269
1271
  }, [
1270
- k("div", $r, [g(h(fn), {
1272
+ k("div", ei, [g(h(pn), {
1271
1273
  class: "tpl:text-[var(--tpl-text-muted)]",
1272
1274
  size: 14,
1273
1275
  "stroke-width": 2
1274
1276
  }), k("span", null, P(h(s).templateSettings.layout), 1)]),
1275
- p("width") ? (o(), b("div", ei, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.widthPreset), 3), k("div", ti, [(o(), b(N, null, n(d, (t) => k("button", {
1277
+ p("width") ? (o(), b("div", ti, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.widthPreset), 3), k("div", ni, [(o(), b(N, null, n(d, (t) => k("button", {
1276
1278
  key: t.value,
1277
1279
  class: "tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]",
1278
1280
  style: T({
@@ -1281,67 +1283,67 @@ var Fr = ["aria-label"], Ir = {
1281
1283
  boxShadow: e.settings.width === t.value ? "var(--tpl-shadow)" : "none"
1282
1284
  }),
1283
1285
  onClick: (e) => a("update", { width: t.value })
1284
- }, P(t.label), 13, ni)), 64))])])) : x("", !0),
1285
- p("width") ? (o(), b("div", ri, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.customWidth), 3), k("div", ii, [k("input", {
1286
+ }, P(t.label), 13, ri)), 64))])])) : x("", !0),
1287
+ p("width") ? (o(), b("div", ii, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.customWidth), 3), k("div", ai, [k("input", {
1286
1288
  type: "number",
1287
1289
  class: v(h(X)),
1288
1290
  value: e.settings.width,
1289
1291
  min: "300",
1290
1292
  max: "900",
1291
1293
  onInput: r[0] ||= (e) => a("update", { width: Number(e.target.value) })
1292
- }, null, 42, ai), k("span", { class: v(h(Y)) }, "px", 2)])])) : x("", !0)
1294
+ }, null, 42, oi), k("span", { class: v(h(Y)) }, "px", 2)])])) : x("", !0)
1293
1295
  ])) : x("", !0),
1294
1296
  m("appearance") ? (o(), b("div", {
1295
1297
  key: 1,
1296
1298
  class: v(C),
1297
1299
  "data-testid": "template-settings-card-appearance"
1298
1300
  }, [
1299
- k("div", oi, [g(h(Ot), {
1301
+ k("div", si, [g(h(kt), {
1300
1302
  class: "tpl:text-[var(--tpl-text-muted)]",
1301
1303
  size: 14,
1302
1304
  "stroke-width": 2
1303
1305
  }), k("span", null, P(h(s).templateSettings.appearance), 1)]),
1304
- p("backgroundColor") ? (o(), b("div", si, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.backgroundColor), 3), g(Q, {
1306
+ p("backgroundColor") ? (o(), b("div", ci, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.backgroundColor), 3), g(Q, {
1305
1307
  "model-value": e.settings.backgroundColor,
1306
- placeholder: h(Tn),
1308
+ placeholder: h(En),
1307
1309
  "onUpdate:modelValue": r[1] ||= (e) => a("update", { backgroundColor: e })
1308
1310
  }, null, 8, ["model-value", "placeholder"])])) : x("", !0),
1309
- p("textColor") ? (o(), b("div", ci, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.textColor), 3), g(Q, {
1311
+ p("textColor") ? (o(), b("div", li, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.textColor), 3), g(Q, {
1310
1312
  "model-value": e.settings.textColor ?? "",
1311
1313
  "seed-color": "#1a1a1a",
1312
1314
  "onUpdate:modelValue": r[2] ||= (e) => a("update", { textColor: e })
1313
1315
  }, null, 8, ["model-value"])])) : x("", !0),
1314
- p("linkColor") ? (o(), b("div", li, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.linkColor), 3), g(Q, {
1316
+ p("linkColor") ? (o(), b("div", ui, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.linkColor), 3), g(Q, {
1315
1317
  "model-value": e.settings.linkColor ?? "",
1316
1318
  "seed-color": "#0066cc",
1317
1319
  "onUpdate:modelValue": r[3] ||= (e) => a("update", { linkColor: e || void 0 })
1318
1320
  }, null, 8, ["model-value"])])) : x("", !0),
1319
- p("linkUnderline") ? (o(), b("div", ui, [g($, {
1321
+ p("linkUnderline") ? (o(), b("div", di, [g($, {
1320
1322
  class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
1321
1323
  "model-value": e.settings.linkUnderline,
1322
1324
  label: h(s).templateSettings.linkUnderline,
1323
1325
  "onUpdate:modelValue": r[4] ||= (e) => a("update", { linkUnderline: e })
1324
1326
  }, null, 8, ["model-value", "label"])])) : x("", !0),
1325
- p("fontFamily") ? (o(), b("div", di, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.fontFamily), 3), k("select", {
1327
+ p("fontFamily") ? (o(), b("div", fi, [k("label", { class: v(h(J)) }, P(h(s).templateSettings.fontFamily), 3), k("select", {
1326
1328
  class: v(h(Z)),
1327
1329
  value: u.value,
1328
1330
  onChange: r[5] ||= (e) => a("update", { fontFamily: e.target.value })
1329
1331
  }, [(o(!0), b(N, null, n(l.value, (e) => (o(), b("option", {
1330
1332
  key: e.value,
1331
1333
  value: e.value
1332
- }, P(e.label), 9, pi))), 128))], 42, fi)])) : x("", !0)
1334
+ }, P(e.label), 9, mi))), 128))], 42, pi)])) : x("", !0)
1333
1335
  ])) : x("", !0),
1334
1336
  m("language") ? (o(), b("div", {
1335
1337
  key: 2,
1336
1338
  class: v(C),
1337
1339
  "data-testid": "template-settings-card-language"
1338
1340
  }, [
1339
- k("div", mi, [g(h(Kt), {
1341
+ k("div", hi, [g(h(qt), {
1340
1342
  class: "tpl:text-[var(--tpl-text-muted)]",
1341
1343
  size: 14,
1342
1344
  "stroke-width": 2
1343
1345
  }), k("span", null, P(h(s).templateSettings.language), 1)]),
1344
- p("locale") ? (o(), b("div", hi, [
1346
+ p("locale") ? (o(), b("div", gi, [
1345
1347
  k("label", { class: v(h(J)) }, P(h(s).templateSettings.contentLocale), 3),
1346
1348
  k("input", {
1347
1349
  type: "text",
@@ -1352,44 +1354,44 @@ var Fr = ["aria-label"], Ir = {
1352
1354
  autocapitalize: "off",
1353
1355
  autocomplete: "off",
1354
1356
  onInput: r[6] ||= (e) => a("update", { locale: e.target.value.trim() || void 0 })
1355
- }, null, 42, gi),
1356
- k("p", _i, P(h(s).templateSettings.contentLocaleHint), 1)
1357
+ }, null, 42, _i),
1358
+ k("p", vi, P(h(s).templateSettings.contentLocaleHint), 1)
1357
1359
  ])) : x("", !0),
1358
- p("direction") ? (o(), b("div", vi, [g($, {
1360
+ p("direction") ? (o(), b("div", yi, [g($, {
1359
1361
  class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
1360
1362
  "model-value": S.value,
1361
1363
  label: h(s).templateSettings.contentDirection,
1362
1364
  "onUpdate:modelValue": r[7] ||= (e) => a("update", { direction: e ? "rtl" : "ltr" })
1363
- }, null, 8, ["model-value", "label"]), k("p", yi, P(h(s).templateSettings.contentDirectionHint), 1)])) : x("", !0)
1365
+ }, null, 8, ["model-value", "label"]), k("p", bi, P(h(s).templateSettings.contentDirectionHint), 1)])) : x("", !0)
1364
1366
  ])) : x("", !0),
1365
1367
  m("preheader") ? (o(), b("div", {
1366
1368
  key: 3,
1367
1369
  class: v(C),
1368
1370
  "data-testid": "template-settings-card-preheader"
1369
- }, [k("div", bi, [g(h(pn), {
1371
+ }, [k("div", xi, [g(h(mn), {
1370
1372
  class: "tpl:text-[var(--tpl-text-muted)]",
1371
1373
  size: 14,
1372
1374
  "stroke-width": 2
1373
- }), k("span", null, P(h(s).templateSettings.preheaderText), 1)]), p("preheaderText") ? (o(), b("div", xi, [g(Xr, {
1375
+ }), k("span", null, P(h(s).templateSettings.preheaderText), 1)]), p("preheaderText") ? (o(), b("div", Si, [g(Zr, {
1374
1376
  "model-value": e.settings.preheaderText ?? "",
1375
1377
  placeholder: h(s).templateSettings.preheaderTextPlaceholder,
1376
1378
  rows: 2,
1377
1379
  "onUpdate:modelValue": r[8] ||= (e) => a("update", { preheaderText: e.replace(/[\r\n]/g, " ") || void 0 })
1378
- }, null, 8, ["model-value", "placeholder"]), k("div", Si, [k("span", Ci, P(h(s).templateSettings.preheaderTextHint), 1), k("span", wi, P((e.settings.preheaderText ?? "").length) + "/" + P(ji), 1)])])) : x("", !0)])) : x("", !0),
1379
- _ ? (o(), b("div", Ti, [k("div", Ei, [g(h(Yt), {
1380
+ }, null, 8, ["model-value", "placeholder"]), k("div", Ci, [k("span", wi, P(h(s).templateSettings.preheaderTextHint), 1), k("span", Ti, P((e.settings.preheaderText ?? "").length) + "/" + P(Mi), 1)])])) : x("", !0)])) : x("", !0),
1381
+ _ ? (o(), b("div", Ei, [k("div", Di, [g(h(Xt), {
1380
1382
  size: 14,
1381
1383
  "stroke-width": 2
1382
- }), k("span", null, P(h(s).templateSettings.tips), 1)]), k("ul", Di, [
1383
- k("li", Oi, P(h(s).templateSettings.tip1), 1),
1384
- k("li", ki, P(h(s).templateSettings.tip2), 1),
1385
- k("li", Ai, P(h(s).templateSettings.tip3), 1)
1384
+ }), k("span", null, P(h(s).templateSettings.tips), 1)]), k("ul", Oi, [
1385
+ k("li", ki, P(h(s).templateSettings.tip1), 1),
1386
+ k("li", Ai, P(h(s).templateSettings.tip2), 1),
1387
+ k("li", ji, P(h(s).templateSettings.tip3), 1)
1386
1388
  ])])) : x("", !0)
1387
1389
  ])]));
1388
1390
  }
1389
- }), Ni = { class: "tpl:mb-3.5" }, Pi = ["value"], Fi = { value: "" }, Ii = ["value"], Li = { class: "tpl:mb-3.5" }, Ri = { class: "tpl:mb-3.5" }, zi = { class: "tpl:mb-3.5" }, Bi = { class: "tpl:mb-3.5" }, Vi = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Hi = { class: "tpl:mb-3.5" }, Ui = { class: "tpl:flex tpl:items-stretch" }, Wi = ["value"], Gi = { class: "tpl:mb-3.5" }, Ki = { class: "tpl:flex tpl:items-stretch" }, qi = ["value"], Ji = { class: "tpl:mb-3.5" }, Yi = ["value"], Xi = { value: "auto" }, Zi = { value: "full" }, Qi = { value: "custom" }, $i = {
1391
+ }), Pi = { class: "tpl:mb-3.5" }, Fi = ["value"], Ii = { value: "" }, Li = ["value"], Ri = { class: "tpl:mb-3.5" }, zi = { class: "tpl:mb-3.5" }, Bi = { class: "tpl:mb-3.5" }, Vi = { class: "tpl:mb-3.5" }, Hi = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Ui = { class: "tpl:mb-3.5" }, Wi = { class: "tpl:flex tpl:items-stretch" }, Gi = ["value"], Ki = { class: "tpl:mb-3.5" }, qi = { class: "tpl:flex tpl:items-stretch" }, Ji = ["value"], Yi = { class: "tpl:mb-3.5" }, Xi = ["value"], Zi = { value: "auto" }, Qi = { value: "full" }, $i = { value: "custom" }, ea = {
1390
1392
  key: 0,
1391
1393
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
1392
- }, ea = ["value"], ta = { class: "tpl:mb-3.5" }, na = 200, ra = /* @__PURE__ */ u({
1394
+ }, ta = ["value"], na = { class: "tpl:mb-3.5" }, ra = 200, ia = /* @__PURE__ */ u({
1393
1395
  __name: "ButtonToolbar",
1394
1396
  props: {
1395
1397
  block: {},
@@ -1407,7 +1409,7 @@ var Fr = ["aria-label"], Ir = {
1407
1409
  return;
1408
1410
  }
1409
1411
  if (e === "custom") {
1410
- c("width", typeof r.block.width == "number" ? r.block.width : na);
1412
+ c("width", typeof r.block.width == "number" ? r.block.width : ra);
1411
1413
  return;
1412
1414
  }
1413
1415
  c("width", void 0);
@@ -1417,22 +1419,22 @@ var Fr = ["aria-label"], Ir = {
1417
1419
  !Number.isFinite(t) || t <= 0 || c("width", t);
1418
1420
  }
1419
1421
  return (t, r) => (o(), b(N, null, [
1420
- k("div", Ni, [k("label", { class: v(h(J)) }, P(h(a).button.fontFamily), 3), k("select", {
1422
+ k("div", Pi, [k("label", { class: v(h(J)) }, P(h(a).button.fontFamily), 3), k("select", {
1421
1423
  class: v(h(Z)),
1422
1424
  value: e.block.fontFamily || "",
1423
1425
  onChange: r[0] ||= (e) => c("fontFamily", e.target.value || void 0)
1424
- }, [k("option", Fi, P(h(a).button.inheritFont), 1), (o(!0), b(N, null, n(e.fontFamilies, (e) => (o(), b("option", {
1426
+ }, [k("option", Ii, P(h(a).button.inheritFont), 1), (o(!0), b(N, null, n(e.fontFamilies, (e) => (o(), b("option", {
1425
1427
  key: e.value,
1426
1428
  value: e.value
1427
- }, P(e.label), 9, Ii))), 128))], 42, Pi)]),
1428
- k("div", Li, [k("label", { class: v(h(J)) }, P(h(a).button.text), 3), g(In, {
1429
+ }, P(e.label), 9, Li))), 128))], 42, Fi)]),
1430
+ k("div", Ri, [k("label", { class: v(h(J)) }, P(h(a).button.text), 3), g(Ln, {
1429
1431
  "model-value": e.block.text,
1430
1432
  type: "text",
1431
1433
  "onUpdate:modelValue": r[1] ||= (e) => c("text", e)
1432
1434
  }, null, 8, ["model-value"])]),
1433
- k("div", Ri, [
1435
+ k("div", zi, [
1434
1436
  k("label", { class: v(h(J)) }, P(h(a).button.url), 3),
1435
- g(In, {
1437
+ g(Ln, {
1436
1438
  "model-value": e.block.url,
1437
1439
  type: "url",
1438
1440
  placeholder: h(a).button.urlPlaceholder,
@@ -1446,49 +1448,49 @@ var Fr = ["aria-label"], Ir = {
1446
1448
  "onUpdate:modelValue": r[3] ||= (e) => c("openInNewTab", e)
1447
1449
  }, null, 8, ["model-value", "label"])) : x("", !0)
1448
1450
  ]),
1449
- k("div", zi, [k("label", { class: v(h(J)) }, P(h(a).button.background), 3), g(Q, {
1451
+ k("div", Bi, [k("label", { class: v(h(J)) }, P(h(a).button.background), 3), g(Q, {
1450
1452
  "model-value": e.block.backgroundColor,
1451
1453
  "onUpdate:modelValue": r[4] ||= (e) => c("backgroundColor", e)
1452
1454
  }, null, 8, ["model-value"])]),
1453
- k("div", Bi, [k("label", { class: v(h(J)) }, P(h(a).button.textColor), 3), g(Q, {
1455
+ k("div", Vi, [k("label", { class: v(h(J)) }, P(h(a).button.textColor), 3), g(Q, {
1454
1456
  "model-value": e.block.textColor,
1455
1457
  "onUpdate:modelValue": r[5] ||= (e) => c("textColor", e)
1456
1458
  }, null, 8, ["model-value"])]),
1457
- k("div", Vi, [k("div", Hi, [k("label", { class: v(h(J)) }, P(h(a).button.borderRadius), 3), k("div", Ui, [k("input", {
1459
+ k("div", Hi, [k("div", Ui, [k("label", { class: v(h(J)) }, P(h(a).button.borderRadius), 3), k("div", Wi, [k("input", {
1458
1460
  type: "number",
1459
1461
  class: v(h(X)),
1460
1462
  value: e.block.borderRadius,
1461
1463
  min: "0",
1462
1464
  max: "50",
1463
1465
  onInput: r[6] ||= (e) => c("borderRadius", Number(e.target.value))
1464
- }, null, 42, Wi), k("span", { class: v(h(Y)) }, "px", 2)])]), k("div", Gi, [k("label", { class: v(h(J)) }, P(h(a).button.fontSize), 3), k("div", Ki, [k("input", {
1466
+ }, null, 42, Gi), k("span", { class: v(h(Y)) }, "px", 2)])]), k("div", Ki, [k("label", { class: v(h(J)) }, P(h(a).button.fontSize), 3), k("div", qi, [k("input", {
1465
1467
  type: "number",
1466
1468
  class: v(h(X)),
1467
1469
  value: e.block.fontSize,
1468
1470
  min: "10",
1469
1471
  max: "36",
1470
1472
  onInput: r[7] ||= (e) => c("fontSize", Number(e.target.value))
1471
- }, null, 42, qi), k("span", { class: v(h(Y)) }, "px", 2)])])]),
1472
- k("div", Ji, [
1473
+ }, null, 42, Ji), k("span", { class: v(h(Y)) }, "px", 2)])])]),
1474
+ k("div", Yi, [
1473
1475
  k("label", { class: v(h(J)) }, P(h(a).button.width), 3),
1474
1476
  k("select", {
1475
1477
  class: v(h(Z)),
1476
1478
  value: s.value,
1477
1479
  onChange: r[8] ||= (e) => l(e.target.value)
1478
1480
  }, [
1479
- k("option", Xi, P(h(a).button.widthAuto), 1),
1480
- k("option", Zi, P(h(a).button.fullWidth), 1),
1481
- k("option", Qi, P(h(a).button.widthCustom), 1)
1482
- ], 42, Yi),
1483
- s.value === "custom" ? (o(), b("div", $i, [k("input", {
1481
+ k("option", Zi, P(h(a).button.widthAuto), 1),
1482
+ k("option", Qi, P(h(a).button.fullWidth), 1),
1483
+ k("option", $i, P(h(a).button.widthCustom), 1)
1484
+ ], 42, Xi),
1485
+ s.value === "custom" ? (o(), b("div", ea, [k("input", {
1484
1486
  type: "number",
1485
1487
  class: v(h(X)),
1486
- value: typeof e.block.width == "number" ? e.block.width : na,
1488
+ value: typeof e.block.width == "number" ? e.block.width : ra,
1487
1489
  min: "20",
1488
1490
  onInput: r[9] ||= (e) => u(e.target.value)
1489
- }, null, 42, ea), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
1491
+ }, null, 42, ta), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
1490
1492
  ]),
1491
- k("div", ta, [k("label", { class: v(h(J)) }, P(h(a).title.align), 3), g(Rn, {
1493
+ k("div", na, [k("label", { class: v(h(J)) }, P(h(a).title.align), 3), g(zn, {
1492
1494
  options: [
1493
1495
  {
1494
1496
  value: "left",
@@ -1508,7 +1510,7 @@ var Fr = ["aria-label"], Ir = {
1508
1510
  }, null, 8, ["options", "model-value"])])
1509
1511
  ], 64));
1510
1512
  }
1511
- }), ia = { class: "spacing-control" }, aa = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, oa = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, sa = { class: "tpl:flex tpl:items-center" }, ca = ["aria-label"], la = ["value", "aria-label"], ua = ["aria-label"], da = { class: "tpl:flex tpl:items-center tpl:gap-2" }, fa = { class: "tpl:flex tpl:items-center" }, pa = ["aria-label"], ma = ["value", "aria-label"], ha = ["aria-label"], ga = ["aria-label", "title"], _a = { class: "tpl:flex tpl:items-center" }, va = ["aria-label"], ya = ["value", "aria-label"], ba = ["aria-label"], xa = { class: "tpl:flex tpl:items-center" }, Sa = ["aria-label"], Ca = ["value", "aria-label"], wa = ["aria-label"], Ta = "tpl:flex tpl:items-center tpl:justify-center tpl:w-8 tpl:h-8 tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg)] tpl:border tpl:border-[var(--tpl-border)] tpl:cursor-pointer tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)] tpl:active:bg-[var(--tpl-bg-active)]", Ea = "tpl:w-10 tpl:h-8 tpl:text-center tpl:text-xs tpl:font-medium tpl:border-y tpl:border-x-0 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]", Da = /*#__PURE__*/ hn(/* @__PURE__ */ u({
1513
+ }), aa = { class: "spacing-control" }, oa = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, sa = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, ca = { class: "tpl:flex tpl:items-center" }, la = ["aria-label"], ua = ["value", "aria-label"], da = ["aria-label"], fa = { class: "tpl:flex tpl:items-center tpl:gap-2" }, pa = { class: "tpl:flex tpl:items-center" }, ma = ["aria-label"], ha = ["value", "aria-label"], ga = ["aria-label"], _a = ["aria-label", "title"], va = { class: "tpl:flex tpl:items-center" }, ya = ["aria-label"], ba = ["value", "aria-label"], xa = ["aria-label"], Sa = { class: "tpl:flex tpl:items-center" }, Ca = ["aria-label"], wa = ["value", "aria-label"], Ta = ["aria-label"], Ea = "tpl:flex tpl:items-center tpl:justify-center tpl:w-8 tpl:h-8 tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg)] tpl:border tpl:border-[var(--tpl-border)] tpl:cursor-pointer tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)] tpl:active:bg-[var(--tpl-bg-active)]", Da = "tpl:w-10 tpl:h-8 tpl:text-center tpl:text-xs tpl:font-medium tpl:border-y tpl:border-x-0 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]", Oa = /*#__PURE__*/ gn(/* @__PURE__ */ u({
1512
1514
  __name: "SpacingControl",
1513
1515
  props: {
1514
1516
  modelValue: {},
@@ -1555,130 +1557,130 @@ var Fr = ["aria-label"], Ir = {
1555
1557
  });
1556
1558
  }
1557
1559
  }
1558
- return (e, n) => (o(), b("div", ia, [k("label", aa, P(t.label), 1), k("div", oa, [
1559
- k("div", sa, [
1560
+ return (e, n) => (o(), b("div", aa, [k("label", oa, P(t.label), 1), k("div", sa, [
1561
+ k("div", ca, [
1560
1562
  k("button", {
1561
1563
  "aria-label": h(a).spacingControl.decreaseTop,
1562
- class: v([Ta, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1564
+ class: v([Ea, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1563
1565
  onClick: n[0] ||= (e) => u("top", -1)
1564
- }, [g(h(Xt), {
1566
+ }, [g(h(Zt), {
1565
1567
  size: 12,
1566
1568
  "stroke-width": 2
1567
- })], 10, ca),
1569
+ })], 10, la),
1568
1570
  k("input", {
1569
1571
  type: "number",
1570
- class: v(Ea),
1572
+ class: v(Da),
1571
1573
  value: t.modelValue.top,
1572
1574
  "aria-label": h(a).spacingControl.top,
1573
1575
  min: "0",
1574
1576
  onInput: n[1] ||= (e) => d("top", Number(e.target.value))
1575
- }, null, 40, la),
1577
+ }, null, 40, ua),
1576
1578
  k("button", {
1577
1579
  "aria-label": h(a).spacingControl.increaseTop,
1578
- class: v([Ta, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1580
+ class: v([Ea, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1579
1581
  onClick: n[2] ||= (e) => u("top", 1)
1580
- }, [g(h(Ut), {
1582
+ }, [g(h(Wt), {
1581
1583
  size: 12,
1582
1584
  "stroke-width": 2
1583
- })], 10, ua)
1585
+ })], 10, da)
1584
1586
  ]),
1585
- k("div", da, [
1586
- k("div", fa, [
1587
+ k("div", fa, [
1588
+ k("div", pa, [
1587
1589
  k("button", {
1588
1590
  "aria-label": h(a).spacingControl.decreaseLeft,
1589
- class: v([Ta, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1591
+ class: v([Ea, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1590
1592
  onClick: n[3] ||= (e) => u("left", -1)
1591
- }, [g(h(Xt), {
1593
+ }, [g(h(Zt), {
1592
1594
  size: 12,
1593
1595
  "stroke-width": 2
1594
- })], 10, pa),
1596
+ })], 10, ma),
1595
1597
  k("input", {
1596
1598
  type: "number",
1597
- class: v(Ea),
1599
+ class: v(Da),
1598
1600
  value: t.modelValue.left,
1599
1601
  "aria-label": h(a).spacingControl.left,
1600
1602
  min: "0",
1601
1603
  onInput: n[4] ||= (e) => d("left", Number(e.target.value))
1602
- }, null, 40, ma),
1604
+ }, null, 40, ha),
1603
1605
  k("button", {
1604
1606
  "aria-label": h(a).spacingControl.increaseLeft,
1605
- class: v([Ta, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1607
+ class: v([Ea, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1606
1608
  onClick: n[5] ||= (e) => u("left", 1)
1607
- }, [g(h(Ut), {
1609
+ }, [g(h(Wt), {
1608
1610
  size: 12,
1609
1611
  "stroke-width": 2
1610
- })], 10, ha)
1612
+ })], 10, ga)
1611
1613
  ]),
1612
1614
  k("button", {
1613
1615
  class: v(["tpl:flex tpl:h-8 tpl:w-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", l.value ? "tpl:border-[var(--tpl-primary)] tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:hover:bg-[var(--tpl-bg-hover)]"]),
1614
1616
  "aria-label": l.value ? h(a).spacingControl.unlock : h(a).spacingControl.lockAll,
1615
1617
  title: l.value ? h(a).spacingControl.unlock : h(a).spacingControl.lockAll,
1616
1618
  onClick: f
1617
- }, [l.value ? (o(), E(h(an), {
1619
+ }, [l.value ? (o(), E(h(on), {
1618
1620
  key: 0,
1619
1621
  size: 14,
1620
1622
  "stroke-width": 2
1621
- })) : (o(), E(h(cn), {
1623
+ })) : (o(), E(h(ln), {
1622
1624
  key: 1,
1623
1625
  size: 14,
1624
1626
  "stroke-width": 2
1625
- }))], 10, ga),
1626
- k("div", _a, [
1627
+ }))], 10, _a),
1628
+ k("div", va, [
1627
1629
  k("button", {
1628
1630
  "aria-label": h(a).spacingControl.decreaseRight,
1629
- class: v([Ta, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1631
+ class: v([Ea, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1630
1632
  onClick: n[6] ||= (e) => u("right", -1)
1631
- }, [g(h(Xt), {
1633
+ }, [g(h(Zt), {
1632
1634
  size: 12,
1633
1635
  "stroke-width": 2
1634
- })], 10, va),
1636
+ })], 10, ya),
1635
1637
  k("input", {
1636
1638
  type: "number",
1637
- class: v(Ea),
1639
+ class: v(Da),
1638
1640
  value: t.modelValue.right,
1639
1641
  "aria-label": h(a).spacingControl.right,
1640
1642
  min: "0",
1641
1643
  onInput: n[7] ||= (e) => d("right", Number(e.target.value))
1642
- }, null, 40, ya),
1644
+ }, null, 40, ba),
1643
1645
  k("button", {
1644
1646
  "aria-label": h(a).spacingControl.increaseRight,
1645
- class: v([Ta, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1647
+ class: v([Ea, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1646
1648
  onClick: n[8] ||= (e) => u("right", 1)
1647
- }, [g(h(Ut), {
1649
+ }, [g(h(Wt), {
1648
1650
  size: 12,
1649
1651
  "stroke-width": 2
1650
- })], 10, ba)
1652
+ })], 10, xa)
1651
1653
  ])
1652
1654
  ]),
1653
- k("div", xa, [
1655
+ k("div", Sa, [
1654
1656
  k("button", {
1655
1657
  "aria-label": h(a).spacingControl.decreaseBottom,
1656
- class: v([Ta, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1658
+ class: v([Ea, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
1657
1659
  onClick: n[9] ||= (e) => u("bottom", -1)
1658
- }, [g(h(Xt), {
1660
+ }, [g(h(Zt), {
1659
1661
  size: 12,
1660
1662
  "stroke-width": 2
1661
- })], 10, Sa),
1663
+ })], 10, Ca),
1662
1664
  k("input", {
1663
1665
  type: "number",
1664
- class: v(Ea),
1666
+ class: v(Da),
1665
1667
  value: t.modelValue.bottom,
1666
1668
  "aria-label": h(a).spacingControl.bottom,
1667
1669
  min: "0",
1668
1670
  onInput: n[10] ||= (e) => d("bottom", Number(e.target.value))
1669
- }, null, 40, Ca),
1671
+ }, null, 40, wa),
1670
1672
  k("button", {
1671
1673
  "aria-label": h(a).spacingControl.increaseBottom,
1672
- class: v([Ta, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1674
+ class: v([Ea, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
1673
1675
  onClick: n[11] ||= (e) => u("bottom", 1)
1674
- }, [g(h(Ut), {
1676
+ }, [g(h(Wt), {
1675
1677
  size: 12,
1676
1678
  "stroke-width": 2
1677
- })], 10, wa)
1679
+ })], 10, Ta)
1678
1680
  ])
1679
1681
  ])]));
1680
1682
  }
1681
- }), [["__scopeId", "data-v-69591c1e"]]), Oa = ["data-testid"], ka = { class: "tpl:mt-3" }, Aa = /* @__PURE__ */ u({
1683
+ }), [["__scopeId", "data-v-69591c1e"]]), ka = ["data-testid"], Aa = { class: "tpl:mt-3" }, ja = /* @__PURE__ */ u({
1682
1684
  __name: "CollapsibleSection",
1683
1685
  props: {
1684
1686
  title: {},
@@ -1693,25 +1695,25 @@ var Fr = ["aria-label"], Ir = {
1693
1695
  "data-testid": e.headerTestId,
1694
1696
  class: "tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-1.5 tpl:border-none tpl:bg-transparent tpl:p-0 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
1695
1697
  onClick: n[0] ||= (e) => t.$emit("toggle")
1696
- }, [g(h(Pt), {
1698
+ }, [g(h(Ft), {
1697
1699
  class: v(["tpl:transition-transform tpl:duration-200", e.open ? "tpl:rotate-0" : "tpl:-rotate-90"]),
1698
1700
  size: 12,
1699
1701
  "stroke-width": 2
1700
- }, null, 8, ["class"]), k("span", null, P(e.title), 1)], 8, Oa), d(k("div", ka, [i(t.$slots, "default")], 512), [[j, e.open]])], 2));
1702
+ }, null, 8, ["class"]), k("span", null, P(e.title), 1)], 8, ka), d(k("div", Aa, [i(t.$slots, "default")], 512), [[j, e.open]])], 2));
1701
1703
  }
1702
- }), ja = { class: "tpl:space-y-2" }, Ma = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Na = { class: "tpl:space-y-2" }, Pa = ["value"], Fa = { value: "" }, Ia = ["label"], La = ["value"], Ra = ["value"], za = {
1704
+ }), Ma = { class: "tpl:space-y-2" }, Na = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Pa = { class: "tpl:space-y-2" }, Fa = ["value"], Ia = { value: "" }, La = ["label"], Ra = ["value"], za = ["value"], Ba = {
1703
1705
  key: 0,
1704
1706
  value: "__custom__"
1705
- }, Ba = {
1707
+ }, Va = {
1706
1708
  key: 0,
1707
1709
  class: "tpl:space-y-2"
1708
- }, Va = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ha = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ua = { class: "tpl:flex tpl:justify-end" }, Wa = ["disabled"], Ga = {
1710
+ }, Ha = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ua = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Wa = { class: "tpl:flex tpl:justify-end" }, Ga = ["disabled"], Ka = {
1709
1711
  key: 0,
1710
1712
  class: "tpl:text-[11px] tpl:text-[var(--tpl-text-muted)]"
1711
- }, Ka = { class: "tpl:space-y-1" }, qa = { class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]" }, Ja = {
1713
+ }, qa = { class: "tpl:space-y-1" }, Ja = { class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]" }, Ya = {
1712
1714
  key: 0,
1713
1715
  class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]"
1714
- }, Ya = /* @__PURE__ */ u({
1716
+ }, Xa = /* @__PURE__ */ u({
1715
1717
  __name: "CommonBlockSettings",
1716
1718
  props: {
1717
1719
  block: {},
@@ -1719,13 +1721,13 @@ var Fr = ["aria-label"], Ir = {
1719
1721
  },
1720
1722
  emits: ["update"],
1721
1723
  setup(i, { emit: a }) {
1722
- let s = i, u = a, { t: p } = q(), m = t(pt, []), _ = t(vt, !1), S = f(/* @__PURE__ */ new Set()), C = c(!1), w = c(""), T = c(""), D = [{
1724
+ let s = i, u = a, { t: p } = q(), m = t(ht, []), _ = t(bt, !1), S = f(/* @__PURE__ */ new Set()), C = c(!1), w = c(""), T = c(""), D = [{
1723
1725
  key: "desktop",
1724
- icon: Dt,
1726
+ icon: Ot,
1725
1727
  labelKey: "showOnDesktop"
1726
1728
  }, {
1727
1729
  key: "mobile",
1728
- icon: kt,
1730
+ icon: At,
1729
1731
  labelKey: "showOnMobile"
1730
1732
  }];
1731
1733
  function A(e) {
@@ -1774,13 +1776,13 @@ var Fr = ["aria-label"], Ir = {
1774
1776
  t[e] = !t[e], u("update", { visibility: t });
1775
1777
  }
1776
1778
  return (e, t) => (o(), b("div", { class: v(["tpl:flex tpl:flex-col", i.isFirstSection ? "" : "tpl:mt-4"]) }, [
1777
- g(Aa, {
1779
+ g(ja, {
1778
1780
  title: h(p).blockSettings.spacing,
1779
1781
  open: S.has("spacing"),
1780
1782
  "no-border": i.isFirstSection,
1781
1783
  onToggle: t[1] ||= (e) => A("spacing")
1782
1784
  }, {
1783
- default: r(() => [g(Da, {
1785
+ default: r(() => [g(Oa, {
1784
1786
  label: h(p).blockSettings.padding,
1785
1787
  "model-value": i.block.styles.padding,
1786
1788
  "onUpdate:modelValue": t[0] ||= (e) => z("padding", e)
@@ -1791,7 +1793,7 @@ var Fr = ["aria-label"], Ir = {
1791
1793
  "open",
1792
1794
  "no-border"
1793
1795
  ]),
1794
- g(Aa, {
1796
+ g(ja, {
1795
1797
  title: h(p).blockSettings.background,
1796
1798
  open: S.has("bg"),
1797
1799
  onToggle: t[3] ||= (e) => A("bg")
@@ -1802,19 +1804,19 @@ var Fr = ["aria-label"], Ir = {
1802
1804
  }, null, 8, ["model-value"])]),
1803
1805
  _: 1
1804
1806
  }, 8, ["title", "open"]),
1805
- g(Aa, {
1807
+ g(ja, {
1806
1808
  title: h(p).blockSettings.display,
1807
1809
  open: S.has("display"),
1808
1810
  onToggle: t[4] ||= (e) => A("display")
1809
1811
  }, {
1810
- default: r(() => [k("div", ja, [(o(), b(N, null, n(D, (e) => g($, {
1812
+ default: r(() => [k("div", Ma, [(o(), b(N, null, n(D, (e) => g($, {
1811
1813
  key: e.key,
1812
1814
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
1813
1815
  "model-value": B(e.key),
1814
1816
  label: h(p).blockSettings[e.labelKey],
1815
1817
  "onUpdate:modelValue": (t) => ee(e.key)
1816
1818
  }, {
1817
- default: r(() => [k("span", Ma, [(o(), E(l(e.icon), {
1819
+ default: r(() => [k("span", Na, [(o(), E(l(e.icon), {
1818
1820
  size: 14,
1819
1821
  "stroke-width": 1.5
1820
1822
  })), L(" " + P(h(p).blockSettings[e.labelKey]), 1)])]),
@@ -1826,14 +1828,14 @@ var Fr = ["aria-label"], Ir = {
1826
1828
  ])), 64))])]),
1827
1829
  _: 1
1828
1830
  }, 8, ["title", "open"]),
1829
- j.value ? (o(), E(Aa, {
1831
+ j.value ? (o(), E(ja, {
1830
1832
  key: 0,
1831
1833
  "header-test-id": "display-condition-section",
1832
1834
  title: h(p).blockSettings.displayCondition,
1833
1835
  open: S.has("condition"),
1834
1836
  onToggle: t[8] ||= (e) => A("condition")
1835
1837
  }, {
1836
- default: r(() => [k("div", Na, [k("select", {
1838
+ default: r(() => [k("div", Pa, [k("select", {
1837
1839
  "data-testid": "display-condition-select",
1838
1840
  class: v(["tpl:w-full tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:outline-none tpl:transition-all tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[0_0_0_3px_var(--tpl-primary-light)]", i.block.displayCondition ? "tpl:border-[var(--tpl-primary)] tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-text)]" : "tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"]),
1839
1841
  value: C.value || M.value ? "__custom__" : i.block.displayCondition?.label ?? "",
@@ -1851,41 +1853,41 @@ var Fr = ["aria-label"], Ir = {
1851
1853
  n && u("update", { displayCondition: n });
1852
1854
  }
1853
1855
  }, [
1854
- k("option", Fa, P(h(p).blockSettings.noCondition), 1),
1856
+ k("option", Ia, P(h(p).blockSettings.noCondition), 1),
1855
1857
  (o(!0), b(N, null, n(R.value, (e, t) => (o(), b(N, { key: t }, [t ? (o(), b("optgroup", {
1856
1858
  key: 0,
1857
1859
  label: String(t)
1858
1860
  }, [(o(!0), b(N, null, n(e, (e) => (o(), b("option", {
1859
1861
  key: e.label,
1860
1862
  value: e.label
1861
- }, P(e.label), 9, La))), 128))], 8, Ia)) : (o(!0), b(N, { key: 1 }, n(e, (e) => (o(), b("option", {
1863
+ }, P(e.label), 9, Ra))), 128))], 8, La)) : (o(!0), b(N, { key: 1 }, n(e, (e) => (o(), b("option", {
1862
1864
  key: e.label,
1863
1865
  value: e.label
1864
- }, P(e.label), 9, Ra))), 128))], 64))), 128)),
1865
- h(_) ? (o(), b("option", za, P(h(p).blockSettings.customCondition), 1)) : x("", !0)
1866
- ], 42, Pa), C.value || M.value ? (o(), b("div", Ba, [
1867
- k("div", null, [k("label", Va, P(h(p).blockSettings.customConditionBefore), 1), d(k("textarea", {
1866
+ }, P(e.label), 9, za))), 128))], 64))), 128)),
1867
+ h(_) ? (o(), b("option", Ba, P(h(p).blockSettings.customCondition), 1)) : x("", !0)
1868
+ ], 42, Fa), C.value || M.value ? (o(), b("div", Va, [
1869
+ k("div", null, [k("label", Ha, P(h(p).blockSettings.customConditionBefore), 1), d(k("textarea", {
1868
1870
  "onUpdate:modelValue": t[6] ||= (e) => w.value = e,
1869
1871
  rows: "2",
1870
- class: v(h(bn))
1872
+ class: v(h(xn))
1871
1873
  }, null, 2), [[O, w.value]])]),
1872
- k("div", null, [k("label", Ha, P(h(p).blockSettings.customConditionAfter), 1), d(k("textarea", {
1874
+ k("div", null, [k("label", Ua, P(h(p).blockSettings.customConditionAfter), 1), d(k("textarea", {
1873
1875
  "onUpdate:modelValue": t[7] ||= (e) => T.value = e,
1874
1876
  rows: "2",
1875
- class: v(h(bn))
1877
+ class: v(h(xn))
1876
1878
  }, null, 2), [[O, T.value]])]),
1877
- k("div", Ua, [k("button", {
1879
+ k("div", Wa, [k("button", {
1878
1880
  type: "button",
1879
1881
  class: "tpl:cursor-pointer tpl:rounded-md tpl:border-none tpl:bg-[var(--tpl-primary)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-on-primary)] tpl:transition-all tpl:hover:opacity-90 tpl:disabled:opacity-50",
1880
1882
  disabled: !w.value.trim(),
1881
1883
  onClick: I
1882
- }, P(h(p).blockSettings.applyCondition), 9, Wa)])
1883
- ])) : i.block.displayCondition && !M.value ? (o(), b(N, { key: 1 }, [i.block.displayCondition.description ? (o(), b("p", Ga, P(i.block.displayCondition.description), 1)) : x("", !0), k("div", Ka, [k("pre", qa, P(i.block.displayCondition.before), 1), i.block.displayCondition.after ? (o(), b("pre", Ja, P(i.block.displayCondition.after), 1)) : x("", !0)])], 64)) : x("", !0)])]),
1884
+ }, P(h(p).blockSettings.applyCondition), 9, Ga)])
1885
+ ])) : i.block.displayCondition && !M.value ? (o(), b(N, { key: 1 }, [i.block.displayCondition.description ? (o(), b("p", Ka, P(i.block.displayCondition.description), 1)) : x("", !0), k("div", qa, [k("pre", Ja, P(i.block.displayCondition.before), 1), i.block.displayCondition.after ? (o(), b("pre", Ya, P(i.block.displayCondition.after), 1)) : x("", !0)])], 64)) : x("", !0)])]),
1884
1886
  _: 1
1885
1887
  }, 8, ["title", "open"])) : x("", !0)
1886
1888
  ], 2));
1887
1889
  }
1888
- }), Xa = ["title"], Za = /* @__PURE__ */ u({
1890
+ }), Za = ["title"], Qa = /* @__PURE__ */ u({
1889
1891
  __name: "BooleanField",
1890
1892
  props: {
1891
1893
  field: {},
@@ -1906,7 +1908,7 @@ var Fr = ["aria-label"], Ir = {
1906
1908
  disabled: e.readOnly,
1907
1909
  "onUpdate:modelValue": a[0] ||= (e) => n("update:modelValue", e)
1908
1910
  }, {
1909
- default: r(() => [L(P(e.field.label) + " ", 1), e.readOnly ? (o(), E(h(an), {
1911
+ default: r(() => [L(P(e.field.label) + " ", 1), e.readOnly ? (o(), E(h(on), {
1910
1912
  key: 0,
1911
1913
  size: 12,
1912
1914
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
@@ -1917,9 +1919,9 @@ var Fr = ["aria-label"], Ir = {
1917
1919
  "label",
1918
1920
  "required",
1919
1921
  "disabled"
1920
- ])], 8, Xa));
1922
+ ])], 8, Za));
1921
1923
  }
1922
- }), Qa = { class: "tpl:mb-3.5" }, $a = ["title"], eo = { class: "tpl-sr-only" }, to = ["title"], no = { class: "tpl-sr-only" }, ro = /* @__PURE__ */ u({
1924
+ }), $a = { class: "tpl:mb-3.5" }, eo = ["title"], to = { class: "tpl-sr-only" }, no = ["title"], ro = { class: "tpl-sr-only" }, io = /* @__PURE__ */ u({
1923
1925
  __name: "FieldWrapper",
1924
1926
  props: {
1925
1927
  label: {},
@@ -1928,24 +1930,24 @@ var Fr = ["aria-label"], Ir = {
1928
1930
  },
1929
1931
  setup(e) {
1930
1932
  let { t } = q();
1931
- return (n, r) => (o(), b("div", Qa, [k("label", { class: v(h(J)) }, [
1933
+ return (n, r) => (o(), b("div", $a, [k("label", { class: v(h(J)) }, [
1932
1934
  L(P(e.label) + " ", 1),
1933
1935
  e.readOnly ? (o(), b("span", {
1934
1936
  key: 0,
1935
1937
  title: h(t).customBlocks.dataSource.readOnlyTooltip
1936
- }, [g(h(an), {
1938
+ }, [g(h(on), {
1937
1939
  size: 12,
1938
1940
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]",
1939
1941
  "aria-hidden": "true"
1940
- }), k("span", eo, P(h(t).customBlocks.dataSource.readOnlyTooltip), 1)], 8, $a)) : x("", !0),
1942
+ }), k("span", to, P(h(t).customBlocks.dataSource.readOnlyTooltip), 1)], 8, eo)) : x("", !0),
1941
1943
  e.required ? (o(), b("span", {
1942
1944
  key: 1,
1943
1945
  class: "tpl:text-[var(--tpl-danger)]",
1944
1946
  title: h(t).customBlocks.fields.required
1945
- }, [r[0] ||= k("span", { "aria-hidden": "true" }, "*", -1), k("span", no, P(h(t).customBlocks.fields.required), 1)], 8, to)) : x("", !0)
1947
+ }, [r[0] ||= k("span", { "aria-hidden": "true" }, "*", -1), k("span", ro, P(h(t).customBlocks.fields.required), 1)], 8, no)) : x("", !0)
1946
1948
  ], 2), i(n.$slots, "default")]));
1947
1949
  }
1948
- }), io = /* @__PURE__ */ u({
1950
+ }), ao = /* @__PURE__ */ u({
1949
1951
  __name: "ColorField",
1950
1952
  props: {
1951
1953
  field: {},
@@ -1954,8 +1956,8 @@ var Fr = ["aria-label"], Ir = {
1954
1956
  },
1955
1957
  emits: ["update:modelValue"],
1956
1958
  setup(e, { emit: n }) {
1957
- let i = e, a = n, { t: s } = q(), c = t(ut, Et), l = y(() => Pe(i.field, c));
1958
- return (t, n) => (o(), E(ro, {
1959
+ let i = e, a = n, { t: s } = q(), c = t(ft, Dt), l = y(() => Pe(i.field, c));
1960
+ return (t, n) => (o(), E(io, {
1959
1961
  label: e.field.label,
1960
1962
  required: e.field.required,
1961
1963
  "read-only": e.readOnly
@@ -1983,15 +1985,15 @@ var Fr = ["aria-label"], Ir = {
1983
1985
  "read-only"
1984
1986
  ]));
1985
1987
  }
1986
- }), ao = {
1988
+ }), oo = {
1987
1989
  key: 0,
1988
1990
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
1989
1991
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 90%, transparent)" }
1990
- }, oo = [
1992
+ }, so = [
1991
1993
  "value",
1992
1994
  "placeholder",
1993
1995
  "title"
1994
- ], so = ["value", "placeholder"], co = /* @__PURE__ */ u({
1996
+ ], co = ["value", "placeholder"], lo = /* @__PURE__ */ u({
1995
1997
  __name: "ImageField",
1996
1998
  props: {
1997
1999
  field: {},
@@ -2000,7 +2002,7 @@ var Fr = ["aria-label"], Ir = {
2000
2002
  },
2001
2003
  emits: ["update:modelValue"],
2002
2004
  setup(e, { emit: n }) {
2003
- let i = e, a = n, { t: s } = q(), l = t(rt, null), u = t(lt, null), d = _n(), f = y(() => !!l);
2005
+ let i = e, a = n, { t: s } = q(), l = t(et, null), u = t(dt, null), d = vn(), f = y(() => !!l);
2004
2006
  async function p() {
2005
2007
  let e = await l?.({ accept: ["images"] });
2006
2008
  d.alive && e && a("update:modelValue", e.url);
@@ -2026,7 +2028,7 @@ var Fr = ["aria-label"], Ir = {
2026
2028
  enabled: S,
2027
2029
  onFiles: C
2028
2030
  });
2029
- return (t, n) => (o(), E(ro, {
2031
+ return (t, n) => (o(), E(io, {
2030
2032
  label: e.field.label,
2031
2033
  required: e.field.required,
2032
2034
  "read-only": e.readOnly
@@ -2036,11 +2038,11 @@ var Fr = ["aria-label"], Ir = {
2036
2038
  ref: m,
2037
2039
  class: "tpl:relative"
2038
2040
  }, [
2039
- S.value && (h(w) || _.value) ? (o(), b("div", ao, [_.value ? (o(), b(N, { key: 0 }, [g(h($t), {
2041
+ S.value && (h(w) || _.value) ? (o(), b("div", oo, [_.value ? (o(), b(N, { key: 0 }, [g(h(en), {
2040
2042
  class: "tpl-spinner",
2041
2043
  size: 18,
2042
2044
  "stroke-width": 2
2043
- }), L(" " + P(h(s).image.uploading), 1)], 64)) : (o(), b(N, { key: 1 }, [g(h(ln), {
2045
+ }), L(" " + P(h(s).image.uploading), 1)], 64)) : (o(), b(N, { key: 1 }, [g(h(un), {
2044
2046
  size: 18,
2045
2047
  "stroke-width": 1.5
2046
2048
  }), L(" " + P(h(s).image.dropToUpload), 1)], 64))])) : x("", !0),
@@ -2052,19 +2054,19 @@ var Fr = ["aria-label"], Ir = {
2052
2054
  placeholder: e.field.placeholder || "https://...",
2053
2055
  disabled: "",
2054
2056
  title: h(s).customBlocks.dataSource.readOnlyTooltip
2055
- }, null, 10, oo)) : (o(), b("input", {
2057
+ }, null, 10, so)) : (o(), b("input", {
2056
2058
  key: 2,
2057
2059
  type: "url",
2058
2060
  class: v(h(Z)),
2059
2061
  value: e.modelValue,
2060
2062
  placeholder: e.field.placeholder || "https://...",
2061
2063
  onInput: n[0] ||= (e) => a("update:modelValue", e.target.value)
2062
- }, null, 42, so)),
2064
+ }, null, 42, co)),
2063
2065
  f.value && !e.readOnly ? (o(), b("button", {
2064
2066
  key: 3,
2065
2067
  class: "tpl:mt-2 tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
2066
2068
  onClick: n[1] ||= (e) => p()
2067
- }, [g(h(Zt), {
2069
+ }, [g(h(Qt), {
2068
2070
  size: 14,
2069
2071
  "stroke-width": 1.5
2070
2072
  }), L(" " + P(h(s).image.browseMedia), 1)])) : x("", !0)
@@ -2076,7 +2078,7 @@ var Fr = ["aria-label"], Ir = {
2076
2078
  "read-only"
2077
2079
  ]));
2078
2080
  }
2079
- }), lo = [
2081
+ }), uo = [
2080
2082
  "value",
2081
2083
  "placeholder",
2082
2084
  "min",
@@ -2084,7 +2086,7 @@ var Fr = ["aria-label"], Ir = {
2084
2086
  "step",
2085
2087
  "disabled",
2086
2088
  "title"
2087
- ], uo = /* @__PURE__ */ u({
2089
+ ], fo = /* @__PURE__ */ u({
2088
2090
  __name: "NumberField",
2089
2091
  props: {
2090
2092
  field: {},
@@ -2094,7 +2096,7 @@ var Fr = ["aria-label"], Ir = {
2094
2096
  emits: ["update:modelValue"],
2095
2097
  setup(e, { emit: t }) {
2096
2098
  let n = t, { t: i } = q();
2097
- return (t, a) => (o(), E(ro, {
2099
+ return (t, a) => (o(), E(io, {
2098
2100
  label: e.field.label,
2099
2101
  required: e.field.required,
2100
2102
  "read-only": e.readOnly
@@ -2110,7 +2112,7 @@ var Fr = ["aria-label"], Ir = {
2110
2112
  disabled: e.readOnly,
2111
2113
  title: e.readOnly ? h(i).customBlocks.dataSource.readOnlyTooltip : void 0,
2112
2114
  onInput: a[0] ||= (t) => !e.readOnly && n("update:modelValue", Number(t.target.value))
2113
- }, null, 42, lo)]),
2115
+ }, null, 42, uo)]),
2114
2116
  _: 1
2115
2117
  }, 8, [
2116
2118
  "label",
@@ -2118,13 +2120,13 @@ var Fr = ["aria-label"], Ir = {
2118
2120
  "read-only"
2119
2121
  ]));
2120
2122
  }
2121
- }), fo = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, po = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, mo = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, ho = ["title", "onClick"], go = {
2123
+ }), po = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, mo = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, ho = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, go = ["title", "onClick"], _o = {
2122
2124
  key: 1,
2123
2125
  class: "tpl:m-0 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
2124
- }, _o = {
2126
+ }, vo = {
2125
2127
  key: 2,
2126
2128
  class: "tpl:m-0 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
2127
- }, vo = /* @__PURE__ */ u({
2129
+ }, yo = /* @__PURE__ */ u({
2128
2130
  __name: "RepeatableField",
2129
2131
  props: {
2130
2132
  field: {},
@@ -2152,25 +2154,25 @@ var Fr = ["aria-label"], Ir = {
2152
2154
  } : r);
2153
2155
  a("update:modelValue", r);
2154
2156
  }
2155
- return (t, i) => (o(), E(ro, {
2157
+ return (t, i) => (o(), E(io, {
2156
2158
  label: e.field.label,
2157
2159
  required: e.field.required,
2158
2160
  "read-only": e.readOnly
2159
2161
  }, {
2160
- default: r(() => [k("div", fo, [
2162
+ default: r(() => [k("div", po, [
2161
2163
  (o(!0), b(N, null, n(u.value, (t, r) => (o(), b("div", {
2162
2164
  key: `${e.field.key}-${r}`,
2163
2165
  class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-3"
2164
- }, [k("div", po, [k("span", mo, " #" + P(r + 1), 1), f.value && !e.readOnly ? (o(), b("button", {
2166
+ }, [k("div", mo, [k("span", ho, " #" + P(r + 1), 1), f.value && !e.readOnly ? (o(), b("button", {
2165
2167
  key: 0,
2166
2168
  type: "button",
2167
2169
  class: "tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:hover:border-[var(--tpl-danger)] tpl:hover:bg-[var(--tpl-danger-light)] tpl:hover:text-[var(--tpl-danger)]",
2168
2170
  title: h(s).customBlocks.fields.removeItem,
2169
2171
  onClick: (e) => m(r)
2170
- }, [g(h(Jt), {
2172
+ }, [g(h(Yt), {
2171
2173
  size: 12,
2172
2174
  "stroke-width": 2
2173
- })], 8, ho)) : x("", !0)]), (o(!0), b(N, null, n(e.field.fields, (n) => (o(), E(l(h(Do)(n.type)), {
2175
+ })], 8, go)) : x("", !0)]), (o(!0), b(N, null, n(e.field.fields, (n) => (o(), E(l(h(Oo)(n.type)), {
2174
2176
  key: n.key,
2175
2177
  field: n,
2176
2178
  "model-value": t[n.key],
@@ -2185,14 +2187,14 @@ var Fr = ["aria-label"], Ir = {
2185
2187
  d.value && !e.readOnly ? (o(), b("button", {
2186
2188
  key: 0,
2187
2189
  type: "button",
2188
- class: v(h(Sn)),
2190
+ class: v(h(Cn)),
2189
2191
  onClick: p
2190
- }, [g(h(Ut), {
2192
+ }, [g(h(Wt), {
2191
2193
  size: 14,
2192
2194
  "stroke-width": 2
2193
2195
  }), L(" " + P(h(s).customBlocks.fields.addItem), 1)], 2)) : x("", !0),
2194
- !d.value && !e.readOnly ? (o(), b("p", go, P(h(s).customBlocks.fields.maxItemsReached), 1)) : x("", !0),
2195
- !f.value && !e.readOnly ? (o(), b("p", _o, P(h(c)(h(s).customBlocks.fields.minItemsRequired, { count: e.field.minItems ?? 0 })), 1)) : x("", !0)
2196
+ !d.value && !e.readOnly ? (o(), b("p", _o, P(h(s).customBlocks.fields.maxItemsReached), 1)) : x("", !0),
2197
+ !f.value && !e.readOnly ? (o(), b("p", vo, P(h(c)(h(s).customBlocks.fields.minItemsRequired, { count: e.field.minItems ?? 0 })), 1)) : x("", !0)
2196
2198
  ])]),
2197
2199
  _: 1
2198
2200
  }, 8, [
@@ -2201,11 +2203,11 @@ var Fr = ["aria-label"], Ir = {
2201
2203
  "read-only"
2202
2204
  ]));
2203
2205
  }
2204
- }), yo = [
2206
+ }), bo = [
2205
2207
  "value",
2206
2208
  "disabled",
2207
2209
  "title"
2208
- ], bo = ["value"], xo = /* @__PURE__ */ u({
2210
+ ], xo = ["value"], So = /* @__PURE__ */ u({
2209
2211
  __name: "SelectField",
2210
2212
  props: {
2211
2213
  field: {},
@@ -2215,7 +2217,7 @@ var Fr = ["aria-label"], Ir = {
2215
2217
  emits: ["update:modelValue"],
2216
2218
  setup(e, { emit: t }) {
2217
2219
  let i = t, { t: a } = q();
2218
- return (t, s) => (o(), E(ro, {
2220
+ return (t, s) => (o(), E(io, {
2219
2221
  label: e.field.label,
2220
2222
  required: e.field.required,
2221
2223
  "read-only": e.readOnly
@@ -2229,7 +2231,7 @@ var Fr = ["aria-label"], Ir = {
2229
2231
  }, [(o(!0), b(N, null, n(e.field.options, (e) => (o(), b("option", {
2230
2232
  key: e.value,
2231
2233
  value: e.value
2232
- }, P(e.label), 9, bo))), 128))], 42, yo)]),
2234
+ }, P(e.label), 9, xo))), 128))], 42, bo)]),
2233
2235
  _: 1
2234
2236
  }, 8, [
2235
2237
  "label",
@@ -2237,11 +2239,11 @@ var Fr = ["aria-label"], Ir = {
2237
2239
  "read-only"
2238
2240
  ]));
2239
2241
  }
2240
- }), So = [
2242
+ }), Co = [
2241
2243
  "value",
2242
2244
  "placeholder",
2243
2245
  "title"
2244
- ], Co = /* @__PURE__ */ u({
2246
+ ], wo = /* @__PURE__ */ u({
2245
2247
  __name: "TextField",
2246
2248
  props: {
2247
2249
  field: {},
@@ -2251,7 +2253,7 @@ var Fr = ["aria-label"], Ir = {
2251
2253
  emits: ["update:modelValue"],
2252
2254
  setup(e, { emit: t }) {
2253
2255
  let n = t, { t: i } = q();
2254
- return (t, a) => (o(), E(ro, {
2256
+ return (t, a) => (o(), E(io, {
2255
2257
  label: e.field.label,
2256
2258
  required: e.field.required,
2257
2259
  "read-only": e.readOnly
@@ -2264,7 +2266,7 @@ var Fr = ["aria-label"], Ir = {
2264
2266
  placeholder: e.field.placeholder,
2265
2267
  disabled: "",
2266
2268
  title: h(i).customBlocks.dataSource.readOnlyTooltip
2267
- }, null, 10, So)) : (o(), E(In, {
2269
+ }, null, 10, Co)) : (o(), E(Ln, {
2268
2270
  key: 1,
2269
2271
  "model-value": e.modelValue,
2270
2272
  placeholder: e.field.placeholder,
@@ -2277,12 +2279,12 @@ var Fr = ["aria-label"], Ir = {
2277
2279
  "read-only"
2278
2280
  ]));
2279
2281
  }
2280
- }), wo = [
2282
+ }), To = [
2281
2283
  "value",
2282
2284
  "placeholder",
2283
2285
  "title"
2284
- ], To = "tpl:w-full tpl:resize-y tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:opacity-60 tpl:cursor-not-allowed", Eo = {
2285
- text: Co,
2286
+ ], Eo = "tpl:w-full tpl:resize-y tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:opacity-60 tpl:cursor-not-allowed", Do = {
2287
+ text: wo,
2286
2288
  textarea: /* @__PURE__ */ u({
2287
2289
  __name: "TextareaField",
2288
2290
  props: {
@@ -2293,7 +2295,7 @@ var Fr = ["aria-label"], Ir = {
2293
2295
  emits: ["update:modelValue"],
2294
2296
  setup(e, { emit: t }) {
2295
2297
  let n = t, { t: i } = q();
2296
- return (t, a) => (o(), E(ro, {
2298
+ return (t, a) => (o(), E(io, {
2297
2299
  label: e.field.label,
2298
2300
  required: e.field.required,
2299
2301
  "read-only": e.readOnly
@@ -2305,8 +2307,8 @@ var Fr = ["aria-label"], Ir = {
2305
2307
  rows: "3",
2306
2308
  disabled: "",
2307
2309
  title: h(i).customBlocks.dataSource.readOnlyTooltip,
2308
- class: v(To)
2309
- }, null, 8, wo)) : (o(), E(Xr, {
2310
+ class: v(Eo)
2311
+ }, null, 8, To)) : (o(), E(Zr, {
2310
2312
  key: 1,
2311
2313
  "model-value": e.modelValue,
2312
2314
  placeholder: e.field.placeholder,
@@ -2320,42 +2322,42 @@ var Fr = ["aria-label"], Ir = {
2320
2322
  ]));
2321
2323
  }
2322
2324
  }),
2323
- image: co,
2324
- color: io,
2325
- number: uo,
2326
- select: xo,
2327
- boolean: Za,
2328
- repeatable: vo
2325
+ image: lo,
2326
+ color: ao,
2327
+ number: fo,
2328
+ select: So,
2329
+ boolean: Qa,
2330
+ repeatable: yo
2329
2331
  };
2330
- function Do(e) {
2331
- return Eo[e] ?? Co;
2332
+ function Oo(e) {
2333
+ return Do[e] ?? wo;
2332
2334
  }
2333
2335
  //#endregion
2334
2336
  //#region src/components/toolbar/CustomBlockToolbar.vue?vue&type=script&setup=true&lang.ts
2335
- var Oo = {
2337
+ var ko = {
2336
2338
  key: 0,
2337
2339
  class: "tpl:p-4"
2338
- }, ko = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ao = { key: 1 }, jo = {
2340
+ }, Ao = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, jo = { key: 1 }, Mo = {
2339
2341
  key: 0,
2340
2342
  class: "tpl:m-0 tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
2341
- }, Mo = {
2343
+ }, No = {
2342
2344
  key: 1,
2343
2345
  class: "tpl:mb-4"
2344
- }, No = {
2346
+ }, Po = {
2345
2347
  key: 1,
2346
2348
  class: "tpl:flex tpl:h-[32px] tpl:items-center"
2347
- }, Po = {
2349
+ }, Fo = {
2348
2350
  key: 0,
2349
2351
  class: "tpl:w-full tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
2350
- }, Fo = {
2352
+ }, Io = {
2351
2353
  key: 2,
2352
2354
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]"
2353
- }, Io = /* @__PURE__ */ u({
2355
+ }, Lo = /* @__PURE__ */ u({
2354
2356
  __name: "CustomBlockToolbar",
2355
2357
  props: { block: {} },
2356
2358
  emits: ["updateFieldValues", "updateDataSourceFetched"],
2357
2359
  setup(e, { emit: r }) {
2358
- let i = e, a = r, { t: s } = q(), c = t(bt, []), u = y(() => c.find((e) => e.type === i.block.customType)), d = y(() => i.block), { isFetching: f, fetchError: p, fetch: m, hasDataSource: _, needsFetch: v } = pe({
2360
+ let i = e, a = r, { t: s } = q(), c = t(St, []), u = y(() => c.find((e) => e.type === i.block.customType)), d = y(() => i.block), { isFetching: f, fetchError: p, fetch: m, hasDataSource: _, needsFetch: v } = pe({
2359
2361
  definition: u,
2360
2362
  block: d,
2361
2363
  onUpdate: (e, t) => {
@@ -2371,23 +2373,23 @@ var Oo = {
2371
2373
  [e]: t
2372
2374
  });
2373
2375
  }
2374
- return (t, r) => u.value ? (o(), b("div", Ao, [
2375
- u.value.description ? (o(), b("p", jo, P(u.value.description), 1)) : x("", !0),
2376
- h(_) ? (o(), b("div", Mo, [h(v) && !h(f) ? (o(), b("button", {
2376
+ return (t, r) => u.value ? (o(), b("div", jo, [
2377
+ u.value.description ? (o(), b("p", Mo, P(u.value.description), 1)) : x("", !0),
2378
+ h(_) ? (o(), b("div", No, [h(v) && !h(f) ? (o(), b("button", {
2377
2379
  key: 0,
2378
2380
  type: "button",
2379
2381
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-md tpl:px-3 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-on-primary)] tpl:transition-all tpl:bg-[var(--tpl-primary)]",
2380
2382
  onClick: r[0] ||= (...e) => h(m) && h(m)(...e)
2381
- }, P(u.value?.dataSource?.label || h(s).customBlocks.dataSource.fetchButton), 1)) : (o(), b("div", No, [h(f) ? (o(), b("div", Po, P(h(s).customBlocks.dataSource.fetching), 1)) : (o(), b("button", {
2383
+ }, P(u.value?.dataSource?.label || h(s).customBlocks.dataSource.fetchButton), 1)) : (o(), b("div", Po, [h(f) ? (o(), b("div", Fo, P(h(s).customBlocks.dataSource.fetching), 1)) : (o(), b("button", {
2382
2384
  key: 1,
2383
2385
  type: "button",
2384
2386
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:hover:border-[var(--tpl-primary)] tpl:hover:text-[var(--tpl-primary)]",
2385
2387
  onClick: r[1] ||= (...e) => h(m) && h(m)(...e)
2386
- }, [g(h(mn), { size: 12 }), L(" " + P(h(s).customBlocks.dataSource.changeButton), 1)]))])), h(p) ? (o(), b("p", Fo, [g(h(Lt), {
2388
+ }, [g(h(hn), { size: 12 }), L(" " + P(h(s).customBlocks.dataSource.changeButton), 1)]))])), h(p) ? (o(), b("p", Io, [g(h(Rt), {
2387
2389
  size: 14,
2388
2390
  class: "tpl:shrink-0"
2389
2391
  }), L(" " + P(h(s).customBlocks.dataSource.fetchError), 1)])) : x("", !0)])) : x("", !0),
2390
- (o(!0), b(N, null, n(u.value.fields, (t) => (o(), E(l(h(Do)(t.type)), {
2392
+ (o(!0), b(N, null, n(u.value.fields, (t) => (o(), E(l(h(Oo)(t.type)), {
2391
2393
  key: t.key,
2392
2394
  field: t,
2393
2395
  "model-value": e.block.fieldValues[t.key],
@@ -2399,9 +2401,9 @@ var Oo = {
2399
2401
  "read-only",
2400
2402
  "onUpdate:modelValue"
2401
2403
  ]))), 128))
2402
- ])) : (o(), b("div", Oo, [k("p", ko, P(h(s).customBlocks.toolbar.noDefinition), 1)]));
2404
+ ])) : (o(), b("div", ko, [k("p", Ao, P(h(s).customBlocks.toolbar.noDefinition), 1)]));
2403
2405
  }
2404
- }), Lo = { class: "tpl:mb-3.5" }, Ro = { class: "tpl:mb-3.5" }, zo = { class: "tpl:mb-3.5" }, Bo = { class: "tpl:flex tpl:items-stretch" }, Vo = ["value"], Ho = /* @__PURE__ */ u({
2406
+ }), Ro = { class: "tpl:mb-3.5" }, zo = { class: "tpl:mb-3.5" }, Bo = { class: "tpl:mb-3.5" }, Vo = { class: "tpl:flex tpl:items-stretch" }, Ho = ["value"], Uo = /* @__PURE__ */ u({
2405
2407
  __name: "DividerToolbar",
2406
2408
  props: { block: {} },
2407
2409
  emits: ["update"],
@@ -2411,7 +2413,7 @@ var Oo = {
2411
2413
  n("update", { [e]: t });
2412
2414
  }
2413
2415
  return (t, n) => (o(), b(N, null, [
2414
- k("div", Lo, [k("label", { class: v(h(J)) }, P(h(r).divider.style), 3), g(Rn, {
2416
+ k("div", Ro, [k("label", { class: v(h(J)) }, P(h(r).divider.style), 3), g(zn, {
2415
2417
  options: [
2416
2418
  {
2417
2419
  value: "solid",
@@ -2429,64 +2431,64 @@ var Oo = {
2429
2431
  "model-value": e.block.lineStyle,
2430
2432
  "onUpdate:modelValue": n[0] ||= (e) => i("lineStyle", e)
2431
2433
  }, null, 8, ["options", "model-value"])]),
2432
- k("div", Ro, [k("label", { class: v(h(J)) }, P(h(r).divider.color), 3), g(Q, {
2434
+ k("div", zo, [k("label", { class: v(h(J)) }, P(h(r).divider.color), 3), g(Q, {
2433
2435
  "model-value": e.block.color,
2434
2436
  "onUpdate:modelValue": n[1] ||= (e) => i("color", e)
2435
2437
  }, null, 8, ["model-value"])]),
2436
- k("div", zo, [k("label", { class: v(h(J)) }, P(h(r).divider.thickness), 3), k("div", Bo, [k("input", {
2438
+ k("div", Bo, [k("label", { class: v(h(J)) }, P(h(r).divider.thickness), 3), k("div", Vo, [k("input", {
2437
2439
  type: "number",
2438
2440
  class: v(h(X)),
2439
2441
  value: e.block.thickness,
2440
2442
  min: "1",
2441
2443
  max: "10",
2442
2444
  onInput: n[2] ||= (e) => i("thickness", Number(e.target.value))
2443
- }, null, 42, Vo), k("span", { class: v(h(Y)) }, "px", 2)])])
2445
+ }, null, 42, Ho), k("span", { class: v(h(Y)) }, "px", 2)])])
2444
2446
  ], 64));
2445
2447
  }
2446
- }), Uo = { class: "tpl:mb-3.5" }, Wo = ["value"], Go = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ko = /* @__PURE__ */ u({
2448
+ }), Wo = { class: "tpl:mb-3.5" }, Go = ["value"], Ko = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, qo = /* @__PURE__ */ u({
2447
2449
  __name: "HtmlToolbar",
2448
2450
  props: { block: {} },
2449
2451
  emits: ["update"],
2450
2452
  setup(e, { emit: t }) {
2451
2453
  let n = t, { t: r } = q();
2452
- return (t, i) => (o(), b("div", Uo, [
2454
+ return (t, i) => (o(), b("div", Wo, [
2453
2455
  k("label", { class: v(h(J)) }, P(h(r).html.content), 3),
2454
2456
  k("textarea", {
2455
2457
  value: e.block.content,
2456
2458
  placeholder: "<div>...</div>",
2457
2459
  rows: "10",
2458
- class: v(h(bn)),
2460
+ class: v(h(xn)),
2459
2461
  onInput: i[0] ||= (e) => n("update", { content: e.target.value })
2460
- }, null, 42, Wo),
2461
- k("p", Go, [g(h(Yt), {
2462
+ }, null, 42, Go),
2463
+ k("p", Ko, [g(h(Xt), {
2462
2464
  size: 12,
2463
2465
  class: "tpl:mt-0.5 tpl:shrink-0"
2464
2466
  }), L(" " + P(h(r).html.sanitizationHint), 1)])
2465
2467
  ]));
2466
2468
  }
2467
- }), qo = { class: "tpl:mb-3.5" }, Jo = {
2469
+ }), Jo = { class: "tpl:mb-3.5" }, Yo = {
2468
2470
  key: 0,
2469
2471
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
2470
2472
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 90%, transparent)" }
2471
- }, Yo = {
2473
+ }, Xo = {
2472
2474
  key: 0,
2473
2475
  class: "tpl:mb-3.5"
2474
- }, Xo = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Zo = [
2476
+ }, Zo = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Qo = [
2475
2477
  "value",
2476
2478
  "placeholder",
2477
2479
  "title"
2478
- ], Qo = { class: "tpl:mb-3.5" }, $o = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, es = { class: "tpl:mb-3.5" }, ts = ["value"], ns = { value: "full" }, rs = { value: "custom" }, is = {
2480
+ ], $o = { class: "tpl:mb-3.5" }, es = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, ts = { class: "tpl:mb-3.5" }, ns = ["value"], rs = { value: "full" }, is = { value: "custom" }, as = {
2479
2481
  key: 0,
2480
2482
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
2481
- }, as = ["value"], os = { class: "tpl:mb-3.5" }, ss = ["value"], cs = { value: "auto" }, ls = { value: "custom" }, us = {
2483
+ }, os = ["value"], ss = { class: "tpl:mb-3.5" }, cs = ["value"], ls = { value: "auto" }, us = { value: "custom" }, ds = {
2482
2484
  key: 0,
2483
2485
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
2484
- }, ds = ["value"], fs = { class: "tpl:mb-3.5" }, ps = { class: "tpl:mb-3.5" }, ms = { class: "tpl:mb-3.5" }, hs = 350, gs = 200, _s = /* @__PURE__ */ u({
2486
+ }, fs = ["value"], ps = { class: "tpl:mb-3.5" }, ms = { class: "tpl:mb-3.5" }, hs = { class: "tpl:mb-3.5" }, gs = 350, _s = 200, vs = /* @__PURE__ */ u({
2485
2487
  __name: "ImageToolbar",
2486
2488
  props: { block: {} },
2487
2489
  emits: ["update"],
2488
2490
  setup(e, { emit: n }) {
2489
- let i = e, a = n, { t: s } = q(), l = t(rt, null), u = t(lt, null), d = t(nt, ie.liquid), f = _n(), p = y(() => !!l), m = c(!1), _ = c(!1), { start: S } = qe(() => {
2491
+ let i = e, a = n, { t: s } = q(), l = t(et, null), u = t(dt, null), d = t(it, ie.liquid), f = vn(), p = y(() => !!l), m = c(!1), _ = c(!1), { start: S } = qe(() => {
2490
2492
  m.value = !1;
2491
2493
  }, 1e3, { immediate: !1 }), C = [
2492
2494
  300,
@@ -2502,13 +2504,13 @@ var Oo = {
2502
2504
  function O(e) {
2503
2505
  if (e === "custom") {
2504
2506
  let e = i.block.width;
2505
- (typeof e != "number" || C.includes(e)) && D("width", hs);
2507
+ (typeof e != "number" || C.includes(e)) && D("width", gs);
2506
2508
  return;
2507
2509
  }
2508
2510
  D("width", e === "full" ? "full" : Number(e));
2509
2511
  }
2510
2512
  function A(e) {
2511
- D("height", e === "custom" ? gs : void 0);
2513
+ D("height", e === "custom" ? _s : void 0);
2512
2514
  }
2513
2515
  function j(e) {
2514
2516
  let t = Number(e);
@@ -2547,20 +2549,20 @@ var Oo = {
2547
2549
  onFiles: te
2548
2550
  });
2549
2551
  return (t, n) => (o(), b(N, null, [
2550
- k("div", qo, [k("label", { class: v(h(J)) }, P(h(s).image.imageUrl), 3), k("div", {
2552
+ k("div", Jo, [k("label", { class: v(h(J)) }, P(h(s).image.imageUrl), 3), k("div", {
2551
2553
  ref_key: "dropZoneRef",
2552
2554
  ref: R,
2553
2555
  class: "tpl:relative"
2554
2556
  }, [
2555
- ee.value && (h(V) || z.value) ? (o(), b("div", Jo, [z.value ? (o(), b(N, { key: 0 }, [g(h($t), {
2557
+ ee.value && (h(V) || z.value) ? (o(), b("div", Yo, [z.value ? (o(), b(N, { key: 0 }, [g(h(en), {
2556
2558
  class: "tpl-spinner",
2557
2559
  size: 18,
2558
2560
  "stroke-width": 2
2559
- }), L(" " + P(h(s).image.uploading), 1)], 64)) : (o(), b(N, { key: 1 }, [g(h(ln), {
2561
+ }), L(" " + P(h(s).image.uploading), 1)], 64)) : (o(), b(N, { key: 1 }, [g(h(un), {
2560
2562
  size: 18,
2561
2563
  "stroke-width": 1.5
2562
2564
  }), L(" " + P(h(s).image.dropToUpload), 1)], 64))])) : x("", !0),
2563
- g(In, {
2565
+ g(Ln, {
2564
2566
  "model-value": e.block.src,
2565
2567
  type: "url",
2566
2568
  placeholder: h(s).image.imageUrlPlaceholder,
@@ -2580,22 +2582,22 @@ var Oo = {
2580
2582
  "background-color": "var(--tpl-bg)"
2581
2583
  },
2582
2584
  onClick: I
2583
- }, [g(h(Zt), {
2585
+ }, [g(h(Qt), {
2584
2586
  size: 14,
2585
2587
  "stroke-width": 1.5
2586
2588
  }), L(" " + P(h(s).image.browseMedia), 1)])) : x("", !0)
2587
2589
  ], 512)]),
2588
- h(G)(e.block.src, h(d)) ? (o(), b("div", Yo, [k("label", { class: v(h(J)) }, [L(P(h(s).image.placeholderUrl) + " ", 1), k("span", Xo, P(h(s).image.optional), 1)], 2), k("input", {
2590
+ h(G)(e.block.src, h(d)) ? (o(), b("div", Xo, [k("label", { class: v(h(J)) }, [L(P(h(s).image.placeholderUrl) + " ", 1), k("span", Zo, P(h(s).image.optional), 1)], 2), k("input", {
2589
2591
  type: "url",
2590
2592
  class: v(h(Z)),
2591
2593
  value: e.block.placeholderUrl || "",
2592
2594
  placeholder: h(s).image.placeholderUrlPlaceholder,
2593
2595
  title: h(s).image.placeholderUrlTooltip,
2594
2596
  onInput: n[1] ||= (e) => D("placeholderUrl", e.target.value)
2595
- }, null, 42, Zo)])) : x("", !0),
2596
- k("div", Qo, [
2597
+ }, null, 42, Qo)])) : x("", !0),
2598
+ k("div", $o, [
2597
2599
  k("label", { class: v(h(J)) }, P(h(s).image.altText), 3),
2598
- g(In, {
2600
+ g(Ln, {
2599
2601
  "model-value": e.block.alt,
2600
2602
  type: "text",
2601
2603
  placeholder: h(s).image.altTextPlaceholder,
@@ -2614,56 +2616,56 @@ var Oo = {
2614
2616
  label: h(s).image.decorative,
2615
2617
  "onUpdate:modelValue": n[3] ||= (e) => D("decorative", e)
2616
2618
  }, {
2617
- default: r(() => [k("span", null, [L(P(h(s).image.decorative) + " ", 1), k("span", $o, P(h(s).image.decorativeHint), 1)])]),
2619
+ default: r(() => [k("span", null, [L(P(h(s).image.decorative) + " ", 1), k("span", es, P(h(s).image.decorativeHint), 1)])]),
2618
2620
  _: 1
2619
2621
  }, 8, ["model-value", "label"])
2620
2622
  ]),
2621
- k("div", es, [
2623
+ k("div", ts, [
2622
2624
  k("label", { class: v(h(J)) }, P(h(s).image.width), 3),
2623
2625
  k("select", {
2624
2626
  class: v(h(Z)),
2625
2627
  value: w.value,
2626
2628
  onChange: n[4] ||= (e) => O(e.target.value)
2627
2629
  }, [
2628
- k("option", ns, P(h(s).image.fullWidth), 1),
2630
+ k("option", rs, P(h(s).image.fullWidth), 1),
2629
2631
  n[11] ||= k("option", { value: "300" }, "300px", -1),
2630
2632
  n[12] ||= k("option", { value: "400" }, "400px", -1),
2631
2633
  n[13] ||= k("option", { value: "500" }, "500px", -1),
2632
- k("option", rs, P(h(s).image.widthCustom), 1)
2633
- ], 42, ts),
2634
- w.value === "custom" ? (o(), b("div", is, [k("input", {
2634
+ k("option", is, P(h(s).image.widthCustom), 1)
2635
+ ], 42, ns),
2636
+ w.value === "custom" ? (o(), b("div", as, [k("input", {
2635
2637
  type: "number",
2636
2638
  class: v(h(X)),
2637
- value: typeof e.block.width == "number" ? e.block.width : hs,
2639
+ value: typeof e.block.width == "number" ? e.block.width : gs,
2638
2640
  min: "20",
2639
2641
  onInput: n[5] ||= (e) => F(e.target.value)
2640
- }, null, 42, as), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
2642
+ }, null, 42, os), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
2641
2643
  ]),
2642
- k("div", os, [
2644
+ k("div", ss, [
2643
2645
  k("label", { class: v(h(J)) }, P(h(s).image.height), 3),
2644
2646
  k("select", {
2645
2647
  class: v(h(Z)),
2646
2648
  "data-testid": "image-height-mode",
2647
2649
  value: T.value,
2648
2650
  onChange: n[6] ||= (e) => A(e.target.value)
2649
- }, [k("option", cs, P(h(s).image.heightAuto), 1), k("option", ls, P(h(s).image.heightCustom), 1)], 42, ss),
2650
- T.value === "custom" ? (o(), b("div", us, [k("input", {
2651
+ }, [k("option", ls, P(h(s).image.heightAuto), 1), k("option", us, P(h(s).image.heightCustom), 1)], 42, cs),
2652
+ T.value === "custom" ? (o(), b("div", ds, [k("input", {
2651
2653
  type: "number",
2652
2654
  "data-testid": "image-height-input",
2653
2655
  class: v(h(X)),
2654
2656
  value: e.block.height,
2655
2657
  min: "20",
2656
2658
  onInput: n[7] ||= (e) => j(e.target.value)
2657
- }, null, 42, ds), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
2659
+ }, null, 42, fs), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
2658
2660
  ]),
2659
- k("div", fs, [k("label", { class: v(h(J)) }, P(h(s).image.borderRadius), 3), g(Ln, {
2661
+ k("div", ps, [k("label", { class: v(h(J)) }, P(h(s).image.borderRadius), 3), g(Rn, {
2660
2662
  "model-value": e.block.borderRadius ?? 0,
2661
2663
  min: 0,
2662
2664
  suffix: "px",
2663
2665
  testid: "image-border-radius-input",
2664
2666
  "onUpdate:modelValue": M
2665
2667
  }, null, 8, ["model-value"])]),
2666
- k("div", ps, [k("label", { class: v(h(J)) }, P(h(s).title.align), 3), g(Rn, {
2668
+ k("div", ms, [k("label", { class: v(h(J)) }, P(h(s).title.align), 3), g(zn, {
2667
2669
  options: [
2668
2670
  {
2669
2671
  value: "left",
@@ -2681,9 +2683,9 @@ var Oo = {
2681
2683
  "model-value": e.block.align,
2682
2684
  "onUpdate:modelValue": n[8] ||= (e) => D("align", e)
2683
2685
  }, null, 8, ["options", "model-value"])]),
2684
- k("div", ms, [
2686
+ k("div", hs, [
2685
2687
  k("label", { class: v(h(J)) }, P(h(s).image.linkUrl), 3),
2686
- g(In, {
2688
+ g(Ln, {
2687
2689
  "model-value": e.block.linkUrl || "",
2688
2690
  type: "url",
2689
2691
  placeholder: h(s).image.imageUrlPlaceholder,
@@ -2699,11 +2701,11 @@ var Oo = {
2699
2701
  ])
2700
2702
  ], 64));
2701
2703
  }
2702
- }), vs = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, ys = { class: "tpl:flex tpl:items-center tpl:gap-2" }, bs = [
2704
+ }), ys = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, bs = { class: "tpl:flex tpl:items-center tpl:gap-2" }, xs = [
2703
2705
  "value",
2704
2706
  "placeholder",
2705
2707
  "onInput"
2706
- ], xs = ["title", "onClick"], Ss = { class: "tpl:flex tpl:flex-wrap tpl:items-center tpl:gap-x-3 tpl:gap-y-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Cs = { class: "tpl:flex tpl:items-center tpl:gap-2" }, ws = ["value"], Ts = { value: "" }, Es = ["value"], Ds = ["value"], Os = /* @__PURE__ */ u({
2708
+ ], Ss = ["title", "onClick"], Cs = { class: "tpl:flex tpl:flex-wrap tpl:items-center tpl:gap-x-3 tpl:gap-y-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, ws = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ts = ["value"], Es = { value: "" }, Ds = ["value"], Os = ["value"], ks = /* @__PURE__ */ u({
2707
2709
  __name: "MenuToolbar",
2708
2710
  props: {
2709
2711
  block: {},
@@ -2728,17 +2730,17 @@ var Oo = {
2728
2730
  {
2729
2731
  value: "left",
2730
2732
  label: s.title.alignLeft,
2731
- icon: nn
2733
+ icon: rn
2732
2734
  },
2733
2735
  {
2734
2736
  value: "center",
2735
2737
  label: s.title.alignCenter,
2736
- icon: Gt
2738
+ icon: Kt
2737
2739
  },
2738
2740
  {
2739
2741
  value: "right",
2740
2742
  label: s.title.alignRight,
2741
- icon: Qt
2743
+ icon: $t
2742
2744
  }
2743
2745
  ]);
2744
2746
  function u(e, t) {
@@ -2766,26 +2768,26 @@ var Oo = {
2766
2768
  a("update", { items: i.block.items.filter((t) => t.id !== e) });
2767
2769
  }
2768
2770
  return (t, i) => (o(), b(N, null, [
2769
- g(zn, { label: h(s).menu.items }, {
2770
- default: r(() => [k("div", vs, [(o(!0), b(N, null, n(e.block.items, (t) => (o(), b("div", {
2771
+ g(Bn, { label: h(s).menu.items }, {
2772
+ default: r(() => [k("div", ys, [(o(!0), b(N, null, n(e.block.items, (t) => (o(), b("div", {
2771
2773
  key: t.id,
2772
2774
  class: "tpl:flex tpl:flex-col tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-2"
2773
2775
  }, [
2774
- k("div", ys, [k("input", {
2776
+ k("div", bs, [k("input", {
2775
2777
  type: "text",
2776
2778
  class: v([h(Z), "tpl:flex-1"]),
2777
2779
  value: t.text,
2778
2780
  placeholder: h(s).menu.text,
2779
2781
  onInput: (e) => f(t.id, "text", e.target.value)
2780
- }, null, 42, bs), k("button", {
2781
- class: v(h(xn)),
2782
+ }, null, 42, xs), k("button", {
2783
+ class: v(h(Sn)),
2782
2784
  title: h(s).menu.removeItem,
2783
2785
  onClick: (e) => p(t.id)
2784
- }, [g(h(rn), {
2786
+ }, [g(h(an), {
2785
2787
  size: 14,
2786
2788
  "stroke-width": 2
2787
- })], 10, xs)]),
2788
- g(In, {
2789
+ })], 10, Ss)]),
2790
+ g(Ln, {
2789
2791
  "model-value": t.url,
2790
2792
  type: "url",
2791
2793
  placeholder: h(s).menu.urlPlaceholder,
@@ -2795,7 +2797,7 @@ var Oo = {
2795
2797
  "placeholder",
2796
2798
  "onUpdate:modelValue"
2797
2799
  ]),
2798
- k("div", Ss, [(o(!0), b(N, null, n(c.value, (e) => (o(), E($, {
2800
+ k("div", Cs, [(o(!0), b(N, null, n(c.value, (e) => (o(), E($, {
2799
2801
  key: e.key,
2800
2802
  "model-value": t[e.key],
2801
2803
  label: e.label,
@@ -2805,33 +2807,33 @@ var Oo = {
2805
2807
  "label",
2806
2808
  "onUpdate:modelValue"
2807
2809
  ]))), 128))]),
2808
- k("div", Cs, [k("label", { class: v([h(J), "tpl:!mb-0"]) }, P(h(s).menu.color), 3), g(Q, {
2810
+ k("div", ws, [k("label", { class: v([h(J), "tpl:!mb-0"]) }, P(h(s).menu.color), 3), g(Q, {
2809
2811
  "swatch-only": "",
2810
2812
  "model-value": t.color || e.block.linkColor || e.block.color || "",
2811
2813
  "onUpdate:modelValue": (e) => f(t.id, "color", e)
2812
2814
  }, null, 8, ["model-value", "onUpdate:modelValue"])])
2813
2815
  ]))), 128)), k("button", {
2814
- class: v(h(Sn)),
2816
+ class: v(h(Cn)),
2815
2817
  onClick: d
2816
- }, [g(h(Ut), {
2818
+ }, [g(h(Wt), {
2817
2819
  size: 14,
2818
2820
  "stroke-width": 2
2819
2821
  }), L(" " + P(h(s).menu.addItem), 1)], 2)])]),
2820
2822
  _: 1
2821
2823
  }, 8, ["label"]),
2822
- g(zn, { label: h(s).menu.fontFamily }, {
2824
+ g(Bn, { label: h(s).menu.fontFamily }, {
2823
2825
  default: r(() => [k("select", {
2824
2826
  class: v(h(Z)),
2825
2827
  value: e.block.fontFamily || "",
2826
2828
  onChange: i[0] ||= (e) => u("fontFamily", e.target.value || void 0)
2827
- }, [k("option", Ts, P(h(s).title.inheritFont), 1), (o(!0), b(N, null, n(e.fontFamilies, (e) => (o(), b("option", {
2829
+ }, [k("option", Es, P(h(s).title.inheritFont), 1), (o(!0), b(N, null, n(e.fontFamilies, (e) => (o(), b("option", {
2828
2830
  key: e.value,
2829
2831
  value: e.value
2830
- }, P(e.label), 9, Es))), 128))], 42, ws)]),
2832
+ }, P(e.label), 9, Ds))), 128))], 42, Ts)]),
2831
2833
  _: 1
2832
2834
  }, 8, ["label"]),
2833
- g(zn, { label: h(s).menu.fontSize }, {
2834
- default: r(() => [g(Ln, {
2835
+ g(Bn, { label: h(s).menu.fontSize }, {
2836
+ default: r(() => [g(Rn, {
2835
2837
  "model-value": e.block.fontSize,
2836
2838
  min: 8,
2837
2839
  max: 48,
@@ -2840,46 +2842,46 @@ var Oo = {
2840
2842
  }, null, 8, ["model-value"])]),
2841
2843
  _: 1
2842
2844
  }, 8, ["label"]),
2843
- g(zn, { label: h(s).menu.color }, {
2845
+ g(Bn, { label: h(s).menu.color }, {
2844
2846
  default: r(() => [g(Q, {
2845
2847
  "model-value": e.block.color ?? "",
2846
2848
  "onUpdate:modelValue": i[2] ||= (e) => u("color", e || void 0)
2847
2849
  }, null, 8, ["model-value"])]),
2848
2850
  _: 1
2849
2851
  }, 8, ["label"]),
2850
- g(zn, { label: h(s).menu.linkColor }, {
2852
+ g(Bn, { label: h(s).menu.linkColor }, {
2851
2853
  default: r(() => [g(Q, {
2852
2854
  "model-value": e.block.linkColor || e.block.color || "",
2853
2855
  "onUpdate:modelValue": i[3] ||= (e) => u("linkColor", e || void 0)
2854
2856
  }, null, 8, ["model-value"])]),
2855
2857
  _: 1
2856
2858
  }, 8, ["label"]),
2857
- g(zn, { label: h(s).menu.textAlign }, {
2858
- default: r(() => [g(Rn, {
2859
+ g(Bn, { label: h(s).menu.textAlign }, {
2860
+ default: r(() => [g(zn, {
2859
2861
  options: l.value,
2860
2862
  "model-value": e.block.textAlign,
2861
2863
  "onUpdate:modelValue": i[4] ||= (e) => u("textAlign", e)
2862
2864
  }, null, 8, ["options", "model-value"])]),
2863
2865
  _: 1
2864
2866
  }, 8, ["label"]),
2865
- g(zn, { label: h(s).menu.separator }, {
2867
+ g(Bn, { label: h(s).menu.separator }, {
2866
2868
  default: r(() => [k("input", {
2867
2869
  type: "text",
2868
2870
  class: v(h(Z)),
2869
2871
  value: e.block.separator,
2870
2872
  onInput: i[5] ||= (e) => u("separator", e.target.value)
2871
- }, null, 42, Ds)]),
2873
+ }, null, 42, Os)]),
2872
2874
  _: 1
2873
2875
  }, 8, ["label"]),
2874
- g(zn, { label: h(s).menu.separatorColor }, {
2876
+ g(Bn, { label: h(s).menu.separatorColor }, {
2875
2877
  default: r(() => [g(Q, {
2876
2878
  "model-value": e.block.separatorColor,
2877
2879
  "onUpdate:modelValue": i[6] ||= (e) => u("separatorColor", e)
2878
2880
  }, null, 8, ["model-value"])]),
2879
2881
  _: 1
2880
2882
  }, 8, ["label"]),
2881
- g(zn, { label: h(s).menu.spacing }, {
2882
- default: r(() => [g(Ln, {
2883
+ g(Bn, { label: h(s).menu.spacing }, {
2884
+ default: r(() => [g(Rn, {
2883
2885
  "model-value": e.block.spacing,
2884
2886
  min: 0,
2885
2887
  max: 50,
@@ -2890,32 +2892,32 @@ var Oo = {
2890
2892
  }, 8, ["label"])
2891
2893
  ], 64));
2892
2894
  }
2893
- }), ks = {
2895
+ }), As = {
2894
2896
  class: "tpl:mb-3.5",
2895
2897
  "data-testid": "paragraph-spacing"
2896
- }, As = { class: "tpl:flex tpl:items-stretch" }, js = ["value"], Ms = /* @__PURE__ */ u({
2898
+ }, js = { class: "tpl:flex tpl:items-stretch" }, Ms = ["value"], Ns = /* @__PURE__ */ u({
2897
2899
  __name: "ParagraphToolbar",
2898
2900
  props: { block: {} },
2899
2901
  emits: ["update"],
2900
2902
  setup(e, { emit: t }) {
2901
2903
  let n = t, { t: r } = q();
2902
- return (t, i) => (o(), b("div", ks, [k("label", { class: v(h(J)) }, P(h(r).paragraph.paragraphSpacing), 3), k("div", As, [k("input", {
2904
+ return (t, i) => (o(), b("div", As, [k("label", { class: v(h(J)) }, P(h(r).paragraph.paragraphSpacing), 3), k("div", js, [k("input", {
2903
2905
  type: "number",
2904
2906
  class: v(h(X)),
2905
2907
  value: e.block.paragraphSpacing ?? h(ne).paragraphGap,
2906
2908
  min: "0",
2907
2909
  max: "64",
2908
2910
  onInput: i[0] ||= (e) => n("update", { paragraphSpacing: Number(e.target.value) })
2909
- }, null, 42, js), k("span", { class: v(h(Y)) }, "px", 2)])]));
2911
+ }, null, 42, Ms), k("span", { class: v(h(Y)) }, "px", 2)])]));
2910
2912
  }
2911
2913
  });
2912
2914
  //#endregion
2913
2915
  //#region src/utils/rebalanceColumnChildren.ts
2914
- function Ns(e) {
2916
+ function Ps(e) {
2915
2917
  return e === "1" ? 1 : e === "3" ? 3 : 2;
2916
2918
  }
2917
- function Ps(e, t) {
2918
- let n = Ns(t);
2919
+ function Fs(e, t) {
2920
+ let n = Ps(t);
2919
2921
  if (e.length === n) return e;
2920
2922
  if (e.length < n) {
2921
2923
  let t = Array.from({ length: n - e.length }, () => []);
@@ -2926,13 +2928,13 @@ function Ps(e, t) {
2926
2928
  }
2927
2929
  //#endregion
2928
2930
  //#region src/components/toolbar/SectionToolbar.vue?vue&type=script&setup=true&lang.ts
2929
- var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
2931
+ var Is = { class: "tpl:mb-3.5" }, Ls = ["value"], Rs = ["value"], zs = {
2930
2932
  key: 0,
2931
2933
  class: "tpl:mb-3.5"
2932
- }, zs = { class: "tpl:mb-3.5" }, Bs = { class: "tpl:flex tpl:items-stretch" }, Vs = ["value"], Hs = { class: "tpl:mb-3.5" }, Us = {
2934
+ }, Bs = { class: "tpl:mb-3.5" }, Vs = { class: "tpl:flex tpl:items-stretch" }, Hs = ["value"], Us = { class: "tpl:mb-3.5" }, Ws = {
2933
2935
  key: 0,
2934
2936
  class: "tpl:mt-3 tpl:ml-0.5 tpl:space-y-3 tpl:border-l tpl:border-[var(--tpl-border)] tpl:pl-3"
2935
- }, Ws = { class: "tpl:flex tpl:items-stretch" }, Gs = ["value"], Ks = /* @__PURE__ */ u({
2937
+ }, Gs = { class: "tpl:flex tpl:items-stretch" }, Ks = ["value"], qs = /* @__PURE__ */ u({
2936
2938
  __name: "SectionToolbar",
2937
2939
  props: { block: {} },
2938
2940
  emits: ["update"],
@@ -2960,7 +2962,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
2960
2962
  }
2961
2963
  ]);
2962
2964
  function c(e) {
2963
- let t = e.target.value, n = Ps(r.block.children, t);
2965
+ let t = e.target.value, n = Fs(r.block.children, t);
2964
2966
  i("update", {
2965
2967
  columns: t,
2966
2968
  children: n
@@ -2994,39 +2996,39 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
2994
2996
  f({ borderRadius: Number(e.target.value) });
2995
2997
  }
2996
2998
  return (t, r) => (o(), b(N, null, [
2997
- k("div", Fs, [k("label", { class: v(h(J)) }, P(h(a).section.columns), 3), k("select", {
2999
+ k("div", Is, [k("label", { class: v(h(J)) }, P(h(a).section.columns), 3), k("select", {
2998
3000
  class: v(h(Z)),
2999
3001
  value: e.block.columns,
3000
3002
  onChange: c
3001
3003
  }, [(o(!0), b(N, null, n(s.value, (e) => (o(), b("option", {
3002
3004
  key: e.value,
3003
3005
  value: e.value
3004
- }, P(e.label), 9, Ls))), 128))], 42, Is)]),
3005
- e.block.columns === "1" ? x("", !0) : (o(), b("div", Rs, [g($, {
3006
+ }, P(e.label), 9, Rs))), 128))], 42, Ls)]),
3007
+ e.block.columns === "1" ? x("", !0) : (o(), b("div", zs, [g($, {
3006
3008
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
3007
3009
  "model-value": e.block.stackOnMobile !== !1,
3008
3010
  label: h(a).section.stackOnMobile,
3009
3011
  "onUpdate:modelValue": r[0] ||= (e) => l(e)
3010
3012
  }, null, 8, ["model-value", "label"])])),
3011
- k("div", zs, [k("label", { class: v(h(J)) }, P(h(a).section.borderRadius), 3), k("div", Bs, [k("input", {
3013
+ k("div", Bs, [k("label", { class: v(h(J)) }, P(h(a).section.borderRadius), 3), k("div", Vs, [k("input", {
3012
3014
  type: "number",
3013
3015
  class: v(h(X)),
3014
3016
  value: e.block.borderRadius ?? 0,
3015
3017
  min: "0",
3016
3018
  max: "50",
3017
3019
  onInput: u
3018
- }, null, 42, Vs), k("span", { class: v(h(Y)) }, "px", 2)])]),
3019
- k("div", Hs, [g($, {
3020
+ }, null, 42, Hs), k("span", { class: v(h(Y)) }, "px", 2)])]),
3021
+ k("div", Us, [g($, {
3020
3022
  class: "tpl:text-xs tpl:text-[var(--tpl-text)]",
3021
3023
  "model-value": !!e.block.wrapper,
3022
3024
  label: h(a).section.wrapperEnable,
3023
3025
  "onUpdate:modelValue": r[1] ||= (e) => d(e)
3024
- }, null, 8, ["model-value", "label"]), e.block.wrapper ? (o(), b("div", Us, [
3026
+ }, null, 8, ["model-value", "label"]), e.block.wrapper ? (o(), b("div", Ws, [
3025
3027
  k("div", null, [k("label", { class: v(h(J)) }, P(h(a).blockSettings.color), 3), g(Q, {
3026
3028
  "model-value": e.block.wrapper.backgroundColor ?? "",
3027
3029
  "onUpdate:modelValue": r[2] ||= (e) => f({ backgroundColor: e })
3028
3030
  }, null, 8, ["model-value"])]),
3029
- g(Da, {
3031
+ g(Oa, {
3030
3032
  label: h(a).blockSettings.padding,
3031
3033
  "model-value": e.block.wrapper.padding ?? {
3032
3034
  top: 0,
@@ -3036,18 +3038,18 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3036
3038
  },
3037
3039
  "onUpdate:modelValue": p
3038
3040
  }, null, 8, ["label", "model-value"]),
3039
- k("div", null, [k("label", { class: v(h(J)) }, P(h(a).section.borderRadius), 3), k("div", Ws, [k("input", {
3041
+ k("div", null, [k("label", { class: v(h(J)) }, P(h(a).section.borderRadius), 3), k("div", Gs, [k("input", {
3040
3042
  type: "number",
3041
3043
  class: v(h(X)),
3042
3044
  value: e.block.wrapper.borderRadius ?? 0,
3043
3045
  min: "0",
3044
3046
  max: "50",
3045
3047
  onInput: m
3046
- }, null, 42, Gs), k("span", { class: v(h(Y)) }, "px", 2)])])
3048
+ }, null, 42, Ks), k("span", { class: v(h(Y)) }, "px", 2)])])
3047
3049
  ])) : x("", !0)])
3048
3050
  ], 64));
3049
3051
  }
3050
- }), qs = { class: "tpl:mb-3.5" }, Js = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Ys = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Xs = ["value", "onChange"], Zs = ["value"], Qs = ["title", "onClick"], $s = { class: "tpl:mb-3.5" }, ec = ["value"], tc = { value: "solid" }, nc = { value: "outlined" }, rc = { value: "rounded" }, ic = { value: "square" }, ac = { value: "circle" }, oc = { class: "tpl:mb-3.5" }, sc = { class: "tpl:mb-3.5" }, cc = { class: "tpl:flex tpl:items-stretch" }, lc = ["value"], uc = { class: "tpl:mb-3.5" }, dc = /* @__PURE__ */ u({
3052
+ }), Js = { class: "tpl:mb-3.5" }, Ys = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Xs = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Zs = ["value", "onChange"], Qs = ["value"], $s = ["title", "onClick"], ec = { class: "tpl:mb-3.5" }, tc = ["value"], nc = { value: "solid" }, rc = { value: "outlined" }, ic = { value: "rounded" }, ac = { value: "square" }, oc = { value: "circle" }, sc = { class: "tpl:mb-3.5" }, cc = { class: "tpl:mb-3.5" }, lc = { class: "tpl:flex tpl:items-stretch" }, uc = ["value"], dc = { class: "tpl:mb-3.5" }, fc = /* @__PURE__ */ u({
3051
3053
  __name: "SocialToolbar",
3052
3054
  props: { block: {} },
3053
3055
  emits: ["update"],
@@ -3075,10 +3077,10 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3075
3077
  i("update", { icons: r.block.icons.filter((t) => t.id !== e) });
3076
3078
  }
3077
3079
  return (t, r) => (o(), b(N, null, [
3078
- k("div", qs, [k("label", { class: v(h(J)) }, P(h(a).social.icons), 3), k("div", Js, [(o(!0), b(N, null, n(e.block.icons, (e) => (o(), b("div", {
3080
+ k("div", Js, [k("label", { class: v(h(J)) }, P(h(a).social.icons), 3), k("div", Ys, [(o(!0), b(N, null, n(e.block.icons, (e) => (o(), b("div", {
3079
3081
  key: e.id,
3080
3082
  class: "tpl:flex tpl:flex-col tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-2"
3081
- }, [k("div", Ys, [k("select", {
3083
+ }, [k("div", Xs, [k("select", {
3082
3084
  "data-testid": "social-platform-select",
3083
3085
  class: v([h(Z), "tpl:flex-1"]),
3084
3086
  value: e.platform,
@@ -3086,14 +3088,14 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3086
3088
  }, [(o(!0), b(N, null, n(h(Re), (e) => (o(), b("option", {
3087
3089
  key: e,
3088
3090
  value: e
3089
- }, P(h(a).social.platforms[e]), 9, Zs))), 128))], 42, Xs), k("button", {
3090
- class: v(h(xn)),
3091
+ }, P(h(a).social.platforms[e]), 9, Qs))), 128))], 42, Zs), k("button", {
3092
+ class: v(h(Sn)),
3091
3093
  title: h(a).social.removeIcon,
3092
3094
  onClick: (t) => u(e.id)
3093
- }, [g(h(rn), {
3095
+ }, [g(h(an), {
3094
3096
  size: 14,
3095
3097
  "stroke-width": 2
3096
- })], 10, Qs)]), g(In, {
3098
+ })], 10, $s)]), g(Ln, {
3097
3099
  "model-value": e.url,
3098
3100
  type: "url",
3099
3101
  placeholder: h(a).social.urlPlaceholder,
@@ -3103,24 +3105,24 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3103
3105
  "placeholder",
3104
3106
  "onUpdate:modelValue"
3105
3107
  ])]))), 128)), k("button", {
3106
- class: v(h(Sn)),
3108
+ class: v(h(Cn)),
3107
3109
  onClick: c
3108
- }, [g(h(Ut), {
3110
+ }, [g(h(Wt), {
3109
3111
  size: 14,
3110
3112
  "stroke-width": 2
3111
3113
  }), L(" " + P(h(a).social.addIcon), 1)], 2)])]),
3112
- k("div", $s, [k("label", { class: v(h(J)) }, P(h(a).social.style), 3), k("select", {
3114
+ k("div", ec, [k("label", { class: v(h(J)) }, P(h(a).social.style), 3), k("select", {
3113
3115
  class: v(h(Z)),
3114
3116
  value: e.block.iconStyle,
3115
3117
  onChange: r[0] ||= (e) => s("iconStyle", e.target.value)
3116
3118
  }, [
3117
- k("option", tc, P(h(a).social.styleSolid), 1),
3118
- k("option", nc, P(h(a).social.styleOutlined), 1),
3119
- k("option", rc, P(h(a).social.styleRounded), 1),
3120
- k("option", ic, P(h(a).social.styleSquare), 1),
3121
- k("option", ac, P(h(a).social.styleCircle), 1)
3122
- ], 42, ec)]),
3123
- k("div", oc, [k("label", { class: v(h(J)) }, P(h(a).social.size), 3), g(Rn, {
3119
+ k("option", nc, P(h(a).social.styleSolid), 1),
3120
+ k("option", rc, P(h(a).social.styleOutlined), 1),
3121
+ k("option", ic, P(h(a).social.styleRounded), 1),
3122
+ k("option", ac, P(h(a).social.styleSquare), 1),
3123
+ k("option", oc, P(h(a).social.styleCircle), 1)
3124
+ ], 42, tc)]),
3125
+ k("div", sc, [k("label", { class: v(h(J)) }, P(h(a).social.size), 3), g(zn, {
3124
3126
  options: [
3125
3127
  {
3126
3128
  value: "small",
@@ -3138,30 +3140,30 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3138
3140
  "model-value": e.block.iconSize,
3139
3141
  "onUpdate:modelValue": r[1] ||= (e) => s("iconSize", e)
3140
3142
  }, null, 8, ["options", "model-value"])]),
3141
- k("div", sc, [k("label", { class: v(h(J)) }, P(h(a).social.spacing), 3), k("div", cc, [k("input", {
3143
+ k("div", cc, [k("label", { class: v(h(J)) }, P(h(a).social.spacing), 3), k("div", lc, [k("input", {
3142
3144
  type: "number",
3143
3145
  class: v(h(X)),
3144
3146
  value: e.block.spacing,
3145
3147
  min: "0",
3146
3148
  max: "50",
3147
3149
  onInput: r[2] ||= (e) => s("spacing", Number(e.target.value))
3148
- }, null, 42, lc), k("span", { class: v(h(Y)) }, "px", 2)])]),
3149
- k("div", uc, [k("label", { class: v(h(J)) }, P(h(a).social.align), 3), g(Rn, {
3150
+ }, null, 42, uc), k("span", { class: v(h(Y)) }, "px", 2)])]),
3151
+ k("div", dc, [k("label", { class: v(h(J)) }, P(h(a).social.align), 3), g(zn, {
3150
3152
  options: [
3151
3153
  {
3152
3154
  value: "left",
3153
3155
  label: h(a).title.alignLeft,
3154
- icon: h(nn)
3156
+ icon: h(rn)
3155
3157
  },
3156
3158
  {
3157
3159
  value: "center",
3158
3160
  label: h(a).title.alignCenter,
3159
- icon: h(Gt)
3161
+ icon: h(Kt)
3160
3162
  },
3161
3163
  {
3162
3164
  value: "right",
3163
3165
  label: h(a).title.alignRight,
3164
- icon: h(Qt)
3166
+ icon: h($t)
3165
3167
  }
3166
3168
  ],
3167
3169
  "model-value": e.block.align,
@@ -3169,22 +3171,22 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3169
3171
  }, null, 8, ["options", "model-value"])])
3170
3172
  ], 64));
3171
3173
  }
3172
- }), fc = { class: "tpl:mb-3.5" }, pc = { class: "tpl:flex tpl:items-stretch" }, mc = ["value"], hc = ["value"], gc = /* @__PURE__ */ u({
3174
+ }), pc = { class: "tpl:mb-3.5" }, mc = { class: "tpl:flex tpl:items-stretch" }, hc = ["value"], gc = ["value"], _c = /* @__PURE__ */ u({
3173
3175
  __name: "SpacerToolbar",
3174
3176
  props: { block: {} },
3175
3177
  emits: ["update"],
3176
3178
  setup(e, { emit: t }) {
3177
3179
  let n = t, { t: r } = q();
3178
- return (t, i) => (o(), b("div", fc, [
3180
+ return (t, i) => (o(), b("div", pc, [
3179
3181
  k("label", { class: v(h(J)) }, P(h(r).spacer.height), 3),
3180
- k("div", pc, [k("input", {
3182
+ k("div", mc, [k("input", {
3181
3183
  type: "number",
3182
3184
  class: v(h(X)),
3183
3185
  value: e.block.height,
3184
3186
  min: "10",
3185
3187
  max: "100",
3186
3188
  onInput: i[0] ||= (e) => n("update", { height: Number(e.target.value) })
3187
- }, null, 42, mc), k("span", { class: v(h(Y)) }, "px", 2)]),
3189
+ }, null, 42, hc), k("span", { class: v(h(Y)) }, "px", 2)]),
3188
3190
  k("input", {
3189
3191
  type: "range",
3190
3192
  class: "tpl:mt-2 tpl:w-full tpl:accent-[var(--tpl-primary)]",
@@ -3192,13 +3194,13 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3192
3194
  min: "10",
3193
3195
  max: "100",
3194
3196
  onInput: i[1] ||= (e) => n("update", { height: Number(e.target.value) })
3195
- }, null, 40, hc)
3197
+ }, null, 40, gc)
3196
3198
  ]));
3197
3199
  }
3198
- }), _c = { class: "tpl:mb-3.5" }, vc = { class: "tpl:flex tpl:items-center tpl:gap-3" }, yc = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, bc = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, xc = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Sc = ["disabled"], Cc = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, wc = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, Tc = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ec = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Dc = ["disabled"], Oc = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, kc = { class: "tpl:mb-3.5" }, Ac = {
3200
+ }), vc = { class: "tpl:mb-3.5" }, yc = { class: "tpl:flex tpl:items-center tpl:gap-3" }, bc = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, xc = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Sc = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Cc = ["disabled"], wc = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Tc = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, Ec = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Dc = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Oc = ["disabled"], kc = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ac = { class: "tpl:mb-3.5" }, jc = {
3199
3201
  key: 0,
3200
3202
  class: "tpl:mb-3.5"
3201
- }, jc = { class: "tpl:mb-3.5" }, Mc = { class: "tpl:mb-3.5" }, Nc = { class: "tpl:flex tpl:items-stretch" }, Pc = ["value"], Fc = { class: "tpl:mb-3.5" }, Ic = { class: "tpl:flex tpl:items-stretch" }, Lc = ["value"], Rc = { class: "tpl:mb-3.5" }, zc = ["value"], Bc = { value: "" }, Vc = ["value"], Hc = { class: "tpl:mb-3.5" }, Uc = { class: "tpl:flex tpl:items-stretch" }, Wc = ["value"], Gc = { class: "tpl:mb-3.5" }, Kc = { class: "tpl:mb-3.5" }, qc = /* @__PURE__ */ u({
3203
+ }, Mc = { class: "tpl:mb-3.5" }, Nc = { class: "tpl:mb-3.5" }, Pc = { class: "tpl:flex tpl:items-stretch" }, Fc = ["value"], Ic = { class: "tpl:mb-3.5" }, Lc = { class: "tpl:flex tpl:items-stretch" }, Rc = ["value"], zc = { class: "tpl:mb-3.5" }, Bc = ["value"], Vc = { value: "" }, Hc = ["value"], Uc = { class: "tpl:mb-3.5" }, Wc = { class: "tpl:flex tpl:items-stretch" }, Gc = ["value"], Kc = { class: "tpl:mb-3.5" }, qc = { class: "tpl:mb-3.5" }, Jc = /* @__PURE__ */ u({
3202
3204
  __name: "TableToolbar",
3203
3205
  props: {
3204
3206
  block: {},
@@ -3241,50 +3243,50 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3241
3243
  i("update", { rows: t });
3242
3244
  }
3243
3245
  return (t, r) => (o(), b(N, null, [
3244
- k("div", _c, [k("label", { class: v(h(J)) }, P(h(a).table.dimensions), 3), k("div", vc, [k("div", yc, [k("span", bc, P(h(a).table.rows), 1), k("div", xc, [
3246
+ k("div", vc, [k("label", { class: v(h(J)) }, P(h(a).table.dimensions), 3), k("div", yc, [k("div", bc, [k("span", xc, P(h(a).table.rows), 1), k("div", Sc, [
3245
3247
  k("button", {
3246
3248
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:hover:text-[var(--tpl-primary)] tpl:disabled:opacity-30",
3247
3249
  disabled: e.block.rows.length <= 1,
3248
3250
  onClick: r[0] ||= (t) => u(e.block.rows[e.block.rows.length - 1].id)
3249
- }, [g(h(Xt), {
3251
+ }, [g(h(Zt), {
3250
3252
  size: 12,
3251
3253
  "stroke-width": 2
3252
- })], 8, Sc),
3253
- k("span", Cc, P(e.block.rows.length), 1),
3254
+ })], 8, Cc),
3255
+ k("span", wc, P(e.block.rows.length), 1),
3254
3256
  k("button", {
3255
3257
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:hover:text-[var(--tpl-primary)]",
3256
3258
  onClick: l
3257
- }, [g(h(Ut), {
3259
+ }, [g(h(Wt), {
3258
3260
  size: 12,
3259
3261
  "stroke-width": 2
3260
3262
  })])
3261
- ])]), k("div", wc, [k("span", Tc, P(h(a).table.columns), 1), k("div", Ec, [
3263
+ ])]), k("div", Tc, [k("span", Ec, P(h(a).table.columns), 1), k("div", Dc, [
3262
3264
  k("button", {
3263
3265
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:hover:text-[var(--tpl-primary)] tpl:disabled:opacity-30",
3264
3266
  disabled: s.value <= 1,
3265
3267
  onClick: r[1] ||= (e) => f(s.value - 1)
3266
- }, [g(h(Xt), {
3268
+ }, [g(h(Zt), {
3267
3269
  size: 12,
3268
3270
  "stroke-width": 2
3269
- })], 8, Dc),
3270
- k("span", Oc, P(s.value), 1),
3271
+ })], 8, Oc),
3272
+ k("span", kc, P(s.value), 1),
3271
3273
  k("button", {
3272
3274
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:hover:text-[var(--tpl-primary)]",
3273
3275
  onClick: d
3274
- }, [g(h(Ut), {
3276
+ }, [g(h(Wt), {
3275
3277
  size: 12,
3276
3278
  "stroke-width": 2
3277
3279
  })])
3278
3280
  ])])])]),
3279
- k("div", kc, [g($, {
3281
+ k("div", Ac, [g($, {
3280
3282
  class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
3281
3283
  "model-value": e.block.hasHeaderRow,
3282
3284
  label: h(a).table.hasHeaderRow,
3283
3285
  "onUpdate:modelValue": r[2] ||= (e) => c("hasHeaderRow", e)
3284
3286
  }, null, 8, ["model-value", "label"])]),
3285
- e.block.hasHeaderRow ? (o(), b("div", Ac, [k("label", { class: v(h(J)) }, P(h(a).table.headerBackgroundColor), 3), g(Q, {
3287
+ e.block.hasHeaderRow ? (o(), b("div", jc, [k("label", { class: v(h(J)) }, P(h(a).table.headerBackgroundColor), 3), g(Q, {
3286
3288
  "model-value": e.block.headerBackgroundColor ?? "",
3287
- "seed-color": h(wn),
3289
+ "seed-color": h(Tn),
3288
3290
  placeholder: h(a).table.noHeaderBg,
3289
3291
  "onUpdate:modelValue": r[3] ||= (e) => c("headerBackgroundColor", e || null)
3290
3292
  }, null, 8, [
@@ -3292,62 +3294,62 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3292
3294
  "seed-color",
3293
3295
  "placeholder"
3294
3296
  ])])) : x("", !0),
3295
- k("div", jc, [k("label", { class: v(h(J)) }, P(h(a).table.borderColor), 3), g(Q, {
3297
+ k("div", Mc, [k("label", { class: v(h(J)) }, P(h(a).table.borderColor), 3), g(Q, {
3296
3298
  "model-value": e.block.borderColor,
3297
3299
  "onUpdate:modelValue": r[4] ||= (e) => c("borderColor", e)
3298
3300
  }, null, 8, ["model-value"])]),
3299
- k("div", Mc, [k("label", { class: v(h(J)) }, P(h(a).table.borderWidth), 3), k("div", Nc, [k("input", {
3301
+ k("div", Nc, [k("label", { class: v(h(J)) }, P(h(a).table.borderWidth), 3), k("div", Pc, [k("input", {
3300
3302
  type: "number",
3301
3303
  class: v(h(X)),
3302
3304
  value: e.block.borderWidth,
3303
3305
  min: "0",
3304
3306
  max: "10",
3305
3307
  onInput: r[5] ||= (e) => c("borderWidth", Number(e.target.value))
3306
- }, null, 42, Pc), k("span", { class: v(h(Y)) }, "px", 2)])]),
3307
- k("div", Fc, [k("label", { class: v(h(J)) }, P(h(a).table.cellPadding), 3), k("div", Ic, [k("input", {
3308
+ }, null, 42, Fc), k("span", { class: v(h(Y)) }, "px", 2)])]),
3309
+ k("div", Ic, [k("label", { class: v(h(J)) }, P(h(a).table.cellPadding), 3), k("div", Lc, [k("input", {
3308
3310
  type: "number",
3309
3311
  class: v(h(X)),
3310
3312
  value: e.block.cellPadding,
3311
3313
  min: "0",
3312
3314
  max: "30",
3313
3315
  onInput: r[6] ||= (e) => c("cellPadding", Number(e.target.value))
3314
- }, null, 42, Lc), k("span", { class: v(h(Y)) }, "px", 2)])]),
3315
- k("div", Rc, [k("label", { class: v(h(J)) }, P(h(a).table.fontFamily), 3), k("select", {
3316
+ }, null, 42, Rc), k("span", { class: v(h(Y)) }, "px", 2)])]),
3317
+ k("div", zc, [k("label", { class: v(h(J)) }, P(h(a).table.fontFamily), 3), k("select", {
3316
3318
  class: v(h(Z)),
3317
3319
  value: e.block.fontFamily || "",
3318
3320
  onChange: r[7] ||= (e) => c("fontFamily", e.target.value || void 0)
3319
- }, [k("option", Bc, P(h(a).title.inheritFont), 1), (o(!0), b(N, null, n(e.fontFamilies, (e) => (o(), b("option", {
3321
+ }, [k("option", Vc, P(h(a).title.inheritFont), 1), (o(!0), b(N, null, n(e.fontFamilies, (e) => (o(), b("option", {
3320
3322
  key: e.value,
3321
3323
  value: e.value
3322
- }, P(e.label), 9, Vc))), 128))], 42, zc)]),
3323
- k("div", Hc, [k("label", { class: v(h(J)) }, P(h(a).table.fontSize), 3), k("div", Uc, [k("input", {
3324
+ }, P(e.label), 9, Hc))), 128))], 42, Bc)]),
3325
+ k("div", Uc, [k("label", { class: v(h(J)) }, P(h(a).table.fontSize), 3), k("div", Wc, [k("input", {
3324
3326
  type: "number",
3325
3327
  class: v(h(X)),
3326
3328
  value: e.block.fontSize,
3327
3329
  min: "10",
3328
3330
  max: "32",
3329
3331
  onInput: r[8] ||= (e) => c("fontSize", Number(e.target.value))
3330
- }, null, 42, Wc), k("span", { class: v(h(Y)) }, "px", 2)])]),
3331
- k("div", Gc, [k("label", { class: v(h(J)) }, P(h(a).table.color), 3), g(Q, {
3332
+ }, null, 42, Gc), k("span", { class: v(h(Y)) }, "px", 2)])]),
3333
+ k("div", Kc, [k("label", { class: v(h(J)) }, P(h(a).table.color), 3), g(Q, {
3332
3334
  "model-value": e.block.color ?? "",
3333
3335
  "onUpdate:modelValue": r[9] ||= (e) => c("color", e || void 0)
3334
3336
  }, null, 8, ["model-value"])]),
3335
- k("div", Kc, [k("label", { class: v(h(J)) }, P(h(a).table.textAlign), 3), g(Rn, {
3337
+ k("div", qc, [k("label", { class: v(h(J)) }, P(h(a).table.textAlign), 3), g(zn, {
3336
3338
  options: [
3337
3339
  {
3338
3340
  value: "left",
3339
3341
  label: h(a).title.alignLeft,
3340
- icon: h(nn)
3342
+ icon: h(rn)
3341
3343
  },
3342
3344
  {
3343
3345
  value: "center",
3344
3346
  label: h(a).title.alignCenter,
3345
- icon: h(Gt)
3347
+ icon: h(Kt)
3346
3348
  },
3347
3349
  {
3348
3350
  value: "right",
3349
3351
  label: h(a).title.alignRight,
3350
- icon: h(Qt)
3352
+ icon: h($t)
3351
3353
  }
3352
3354
  ],
3353
3355
  "model-value": e.block.textAlign,
@@ -3355,7 +3357,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3355
3357
  }, null, 8, ["options", "model-value"])])
3356
3358
  ], 64));
3357
3359
  }
3358
- }), Jc = { class: "tpl:mb-3.5" }, Yc = ["value"], Xc = { value: 1 }, Zc = { value: 2 }, Qc = { value: 3 }, $c = { value: 4 }, el = { class: "tpl:mb-3.5" }, tl = ["value"], nl = { value: "" }, rl = ["value"], il = { class: "tpl:mb-3.5" }, al = { class: "tpl:mb-3.5" }, ol = /* @__PURE__ */ u({
3360
+ }), Yc = { class: "tpl:mb-3.5" }, Xc = ["value"], Zc = { value: 1 }, Qc = { value: 2 }, $c = { value: 3 }, el = { value: 4 }, tl = { class: "tpl:mb-3.5" }, nl = ["value"], rl = { value: "" }, il = ["value"], al = { class: "tpl:mb-3.5" }, ol = { class: "tpl:mb-3.5" }, sl = /* @__PURE__ */ u({
3359
3361
  __name: "TitleToolbar",
3360
3362
  props: {
3361
3363
  block: {},
@@ -3368,44 +3370,44 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3368
3370
  r("update", { [e]: t });
3369
3371
  }
3370
3372
  return (t, r) => (o(), b(N, null, [
3371
- k("div", Jc, [k("label", { class: v(h(J)) }, P(h(i).title.level), 3), k("select", {
3373
+ k("div", Yc, [k("label", { class: v(h(J)) }, P(h(i).title.level), 3), k("select", {
3372
3374
  class: v(h(Z)),
3373
3375
  value: e.block.level,
3374
3376
  onChange: r[0] ||= (e) => a("level", Number(e.target.value))
3375
3377
  }, [
3376
- k("option", Xc, P(h(i).title.heading1), 1),
3377
- k("option", Zc, P(h(i).title.heading2), 1),
3378
- k("option", Qc, P(h(i).title.heading3), 1),
3379
- k("option", $c, P(h(i).title.heading4), 1)
3380
- ], 42, Yc)]),
3381
- k("div", el, [k("label", { class: v(h(J)) }, P(h(i).title.fontFamily), 3), k("select", {
3378
+ k("option", Zc, P(h(i).title.heading1), 1),
3379
+ k("option", Qc, P(h(i).title.heading2), 1),
3380
+ k("option", $c, P(h(i).title.heading3), 1),
3381
+ k("option", el, P(h(i).title.heading4), 1)
3382
+ ], 42, Xc)]),
3383
+ k("div", tl, [k("label", { class: v(h(J)) }, P(h(i).title.fontFamily), 3), k("select", {
3382
3384
  class: v(h(Z)),
3383
3385
  value: e.block.fontFamily || "",
3384
3386
  onChange: r[1] ||= (e) => a("fontFamily", e.target.value || void 0)
3385
- }, [k("option", nl, P(h(i).title.inheritFont), 1), (o(!0), b(N, null, n(e.fontFamilies, (e) => (o(), b("option", {
3387
+ }, [k("option", rl, P(h(i).title.inheritFont), 1), (o(!0), b(N, null, n(e.fontFamilies, (e) => (o(), b("option", {
3386
3388
  key: e.value,
3387
3389
  value: e.value
3388
- }, P(e.label), 9, rl))), 128))], 42, tl)]),
3389
- k("div", il, [k("label", { class: v(h(J)) }, P(h(i).title.color), 3), g(Q, {
3390
+ }, P(e.label), 9, il))), 128))], 42, nl)]),
3391
+ k("div", al, [k("label", { class: v(h(J)) }, P(h(i).title.color), 3), g(Q, {
3390
3392
  "model-value": e.block.color ?? "",
3391
3393
  "onUpdate:modelValue": r[2] ||= (e) => a("color", e || void 0)
3392
3394
  }, null, 8, ["model-value"])]),
3393
- k("div", al, [k("label", { class: v(h(J)) }, P(h(i).title.align), 3), g(Rn, {
3395
+ k("div", ol, [k("label", { class: v(h(J)) }, P(h(i).title.align), 3), g(zn, {
3394
3396
  options: [
3395
3397
  {
3396
3398
  value: "left",
3397
3399
  label: h(i).title.alignLeft,
3398
- icon: h(nn)
3400
+ icon: h(rn)
3399
3401
  },
3400
3402
  {
3401
3403
  value: "center",
3402
3404
  label: h(i).title.alignCenter,
3403
- icon: h(Gt)
3405
+ icon: h(Kt)
3404
3406
  },
3405
3407
  {
3406
3408
  value: "right",
3407
3409
  label: h(i).title.alignRight,
3408
- icon: h(Qt)
3410
+ icon: h($t)
3409
3411
  }
3410
3412
  ],
3411
3413
  "model-value": e.block.textAlign,
@@ -3413,29 +3415,29 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3413
3415
  }, null, 8, ["options", "model-value"])])
3414
3416
  ], 64));
3415
3417
  }
3416
- }), sl = { class: "tpl:mb-3.5" }, cl = {
3418
+ }), cl = { class: "tpl:mb-3.5" }, ll = {
3417
3419
  key: 0,
3418
3420
  class: "tpl:mb-3.5"
3419
- }, ll = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, ul = [
3421
+ }, ul = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, dl = [
3420
3422
  "value",
3421
3423
  "placeholder",
3422
3424
  "title"
3423
- ], dl = { class: "tpl:mb-3.5" }, fl = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, pl = { class: "tpl:mb-3.5" }, ml = { class: "tpl:mb-3.5" }, hl = ["value"], gl = { value: "full" }, _l = { class: "tpl:mb-3.5" }, vl = ["value"], yl = { value: "auto" }, bl = { value: "custom" }, xl = {
3425
+ ], fl = { class: "tpl:mb-3.5" }, pl = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, ml = { class: "tpl:mb-3.5" }, hl = { class: "tpl:mb-3.5" }, gl = ["value"], _l = { value: "full" }, vl = { class: "tpl:mb-3.5" }, yl = ["value"], bl = { value: "auto" }, xl = { value: "custom" }, Sl = {
3424
3426
  key: 0,
3425
3427
  class: "tpl:mt-2 tpl:flex tpl:items-stretch"
3426
- }, Sl = ["value"], Cl = { class: "tpl:mb-3.5" }, wl = 200, Tl = /* @__PURE__ */ u({
3428
+ }, Cl = ["value"], wl = { class: "tpl:mb-3.5" }, Tl = 200, El = /* @__PURE__ */ u({
3427
3429
  __name: "VideoToolbar",
3428
3430
  props: { block: {} },
3429
3431
  emits: ["update"],
3430
3432
  setup(e, { emit: n }) {
3431
- let r = e, i = n, { t: a } = q(), s = t(rt, null), l = t(nt, ie.liquid), u = _n(), d = y(() => !!s), f = y(() => G(r.block.url, l)), p = y(() => typeof r.block.height == "number" ? "custom" : "auto"), m = c(!1), { start: _ } = qe(() => {
3433
+ let r = e, i = n, { t: a } = q(), s = t(et, null), l = t(it, ie.liquid), u = vn(), d = y(() => !!s), f = y(() => G(r.block.url, l)), p = y(() => typeof r.block.height == "number" ? "custom" : "auto"), m = c(!1), { start: _ } = qe(() => {
3432
3434
  m.value = !1;
3433
3435
  }, 1e3, { immediate: !1 });
3434
3436
  function S(e, t) {
3435
3437
  i("update", { [e]: t });
3436
3438
  }
3437
3439
  function C(e) {
3438
- S("height", e === "custom" ? wl : void 0);
3440
+ S("height", e === "custom" ? Tl : void 0);
3439
3441
  }
3440
3442
  function w(e) {
3441
3443
  let t = Number(e);
@@ -3446,9 +3448,9 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3446
3448
  u.alive && e && (S("thumbnailUrl", e.url), m.value = !0, _());
3447
3449
  }
3448
3450
  return (t, n) => (o(), b(N, null, [
3449
- k("div", sl, [
3451
+ k("div", cl, [
3450
3452
  k("label", { class: v(h(J)) }, P(h(a).video.videoUrl), 3),
3451
- g(In, {
3453
+ g(Ln, {
3452
3454
  "model-value": e.block.url,
3453
3455
  type: "url",
3454
3456
  placeholder: h(a).video.videoUrlPlaceholder,
@@ -3462,17 +3464,17 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3462
3464
  "onUpdate:modelValue": n[1] ||= (e) => S("openInNewTab", e)
3463
3465
  }, null, 8, ["model-value", "label"])) : x("", !0)
3464
3466
  ]),
3465
- f.value ? (o(), b("div", cl, [k("label", { class: v(h(J)) }, [L(P(h(a).video.placeholderUrl) + " ", 1), k("span", ll, P(h(a).video.optional), 1)], 2), k("input", {
3467
+ f.value ? (o(), b("div", ll, [k("label", { class: v(h(J)) }, [L(P(h(a).video.placeholderUrl) + " ", 1), k("span", ul, P(h(a).video.optional), 1)], 2), k("input", {
3466
3468
  type: "url",
3467
3469
  class: v(h(Z)),
3468
3470
  value: e.block.placeholderUrl || "",
3469
3471
  placeholder: h(a).video.placeholderUrlPlaceholder,
3470
3472
  title: h(a).video.placeholderUrlTooltip,
3471
3473
  onInput: n[2] ||= (e) => S("placeholderUrl", e.target.value)
3472
- }, null, 42, ul)])) : x("", !0),
3473
- k("div", dl, [
3474
- k("label", { class: v(h(J)) }, [L(P(h(a).video.customThumbnail) + " ", 1), k("span", fl, P(h(a).video.optional), 1)], 2),
3475
- g(In, {
3474
+ }, null, 42, dl)])) : x("", !0),
3475
+ k("div", fl, [
3476
+ k("label", { class: v(h(J)) }, [L(P(h(a).video.customThumbnail) + " ", 1), k("span", pl, P(h(a).video.optional), 1)], 2),
3477
+ g(Ln, {
3476
3478
  "model-value": e.block.thumbnailUrl,
3477
3479
  type: "url",
3478
3480
  placeholder: h(a).video.thumbnailPlaceholder,
@@ -3492,45 +3494,45 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3492
3494
  "background-color": "var(--tpl-bg)"
3493
3495
  },
3494
3496
  onClick: T
3495
- }, [g(h(Zt), {
3497
+ }, [g(h(Qt), {
3496
3498
  size: 14,
3497
3499
  "stroke-width": 1.5
3498
3500
  }), L(" " + P(h(a).image.browseMedia), 1)])) : x("", !0)
3499
3501
  ]),
3500
- k("div", pl, [k("label", { class: v(h(J)) }, P(h(a).video.altText), 3), g(In, {
3502
+ k("div", ml, [k("label", { class: v(h(J)) }, P(h(a).video.altText), 3), g(Ln, {
3501
3503
  "model-value": e.block.alt,
3502
3504
  type: "text",
3503
3505
  placeholder: h(a).video.altTextPlaceholder,
3504
3506
  "onUpdate:modelValue": n[4] ||= (e) => S("alt", e)
3505
3507
  }, null, 8, ["model-value", "placeholder"])]),
3506
- k("div", ml, [k("label", { class: v(h(J)) }, P(h(a).video.width), 3), k("select", {
3508
+ k("div", hl, [k("label", { class: v(h(J)) }, P(h(a).video.width), 3), k("select", {
3507
3509
  class: v(h(Z)),
3508
3510
  value: e.block.width,
3509
3511
  onChange: n[5] ||= (e) => S("width", e.target.value === "full" ? "full" : Number(e.target.value))
3510
3512
  }, [
3511
- k("option", gl, P(h(a).video.fullWidth), 1),
3513
+ k("option", _l, P(h(a).video.fullWidth), 1),
3512
3514
  n[9] ||= k("option", { value: "300" }, "300px", -1),
3513
3515
  n[10] ||= k("option", { value: "400" }, "400px", -1),
3514
3516
  n[11] ||= k("option", { value: "500" }, "500px", -1)
3515
- ], 42, hl)]),
3516
- k("div", _l, [
3517
+ ], 42, gl)]),
3518
+ k("div", vl, [
3517
3519
  k("label", { class: v(h(J)) }, P(h(a).video.height), 3),
3518
3520
  k("select", {
3519
3521
  class: v(h(Z)),
3520
3522
  "data-testid": "video-height-mode",
3521
3523
  value: p.value,
3522
3524
  onChange: n[6] ||= (e) => C(e.target.value)
3523
- }, [k("option", yl, P(h(a).video.heightAuto), 1), k("option", bl, P(h(a).video.heightCustom), 1)], 42, vl),
3524
- p.value === "custom" ? (o(), b("div", xl, [k("input", {
3525
+ }, [k("option", bl, P(h(a).video.heightAuto), 1), k("option", xl, P(h(a).video.heightCustom), 1)], 42, yl),
3526
+ p.value === "custom" ? (o(), b("div", Sl, [k("input", {
3525
3527
  type: "number",
3526
3528
  "data-testid": "video-height-input",
3527
3529
  class: v(h(X)),
3528
3530
  value: e.block.height,
3529
3531
  min: "20",
3530
3532
  onInput: n[7] ||= (e) => w(e.target.value)
3531
- }, null, 42, Sl), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
3533
+ }, null, 42, Cl), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
3532
3534
  ]),
3533
- k("div", Cl, [k("label", { class: v(h(J)) }, P(h(a).title.align), 3), g(Rn, {
3535
+ k("div", wl, [k("label", { class: v(h(J)) }, P(h(a).title.align), 3), g(zn, {
3534
3536
  options: [
3535
3537
  {
3536
3538
  value: "left",
@@ -3550,7 +3552,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3550
3552
  }, null, 8, ["options", "model-value"])])
3551
3553
  ], 64));
3552
3554
  }
3553
- }), El = ["aria-label"], Dl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, Ol = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, kl = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Al = { class: "tpl:flex tpl:gap-1" }, jl = ["title"], Ml = ["title"], Nl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Pl = /*#__PURE__*/ hn(/* @__PURE__ */ u({
3555
+ }), Dl = ["aria-label"], Ol = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, kl = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, Al = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, jl = { class: "tpl:flex tpl:gap-1" }, Ml = ["title"], Nl = ["title"], Pl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Fl = /*#__PURE__*/ gn(/* @__PURE__ */ u({
3554
3556
  __name: "Toolbar",
3555
3557
  props: { block: {} },
3556
3558
  emits: [
@@ -3559,7 +3561,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3559
3561
  "duplicate"
3560
3562
  ],
3561
3563
  setup(e, { emit: n }) {
3562
- let r = I(() => import("./chunks/CountdownToolbar-CA1dpuOI.js")), i = e, a = n, { t: s } = q(), c = ct(wt, "Toolbar"), u = t(bt, []), d = y(() => i.block.type), f = y(() => te(i.block)), p = y(() => {
3564
+ let r = I(() => import("./chunks/CountdownToolbar-B9Rin64t.js")), i = e, a = n, { t: s } = q(), c = ut(Tt, "Toolbar"), u = t(St, []), d = y(() => i.block.type), f = y(() => te(i.block)), p = y(() => {
3563
3565
  if (f.value) return u.find((e) => e.type === i.block.customType);
3564
3566
  }), m = y(() => f.value ? p.value?.name ?? i.block.customType : se(d.value, s)), _ = c.fonts;
3565
3567
  function v(e) {
@@ -3568,82 +3570,82 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3568
3570
  return (t, n) => (o(), b("aside", {
3569
3571
  "aria-label": h(s).landmarks.blockToolbar,
3570
3572
  class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]"
3571
- }, [k("div", Dl, [k("div", Ol, [h(An)[d.value] ? (o(), E(l(h(An)[d.value]), {
3573
+ }, [k("div", Ol, [k("div", kl, [h(jn)[d.value] ? (o(), E(l(h(jn)[d.value]), {
3572
3574
  key: 0,
3573
3575
  size: 16,
3574
3576
  "stroke-width": 1.5
3575
- })) : f.value ? (o(), E(h(zt), {
3577
+ })) : f.value ? (o(), E(h(Bt), {
3576
3578
  key: 1,
3577
3579
  size: 16,
3578
3580
  "stroke-width": 1.5
3579
- })) : x("", !0), k("h3", kl, P(m.value), 1)]), k("div", Al, [k("button", {
3581
+ })) : x("", !0), k("h3", Al, P(m.value), 1)]), k("div", jl, [k("button", {
3580
3582
  class: "tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:hover:bg-[var(--tpl-bg-active)] tpl:hover:text-[var(--tpl-text)]",
3581
3583
  title: h(s).toolbar.duplicate,
3582
3584
  onClick: n[0] ||= (e) => a("duplicate")
3583
- }, [g(h(jt), {
3585
+ }, [g(h(Mt), {
3584
3586
  size: 14,
3585
3587
  "stroke-width": 2
3586
- })], 8, jl), k("button", {
3588
+ })], 8, Ml), k("button", {
3587
3589
  class: "tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:hover:border-[var(--tpl-danger)] tpl:hover:bg-[var(--tpl-danger-light)] tpl:hover:text-[var(--tpl-danger)]",
3588
3590
  title: h(s).toolbar.delete,
3589
3591
  onClick: n[1] ||= (e) => a("delete")
3590
- }, [g(h(Jt), {
3592
+ }, [g(h(Yt), {
3591
3593
  size: 14,
3592
3594
  "stroke-width": 2
3593
- })], 8, Ml)])]), k("div", Nl, [f.value ? (o(), E(Io, {
3595
+ })], 8, Nl)])]), k("div", Pl, [f.value ? (o(), E(Lo, {
3594
3596
  key: 0,
3595
3597
  block: e.block,
3596
3598
  onUpdateFieldValues: n[2] ||= (e) => a("update", { fieldValues: e }),
3597
3599
  onUpdateDataSourceFetched: n[3] ||= (e) => a("update", { dataSourceFetched: e })
3598
- }, null, 8, ["block"])) : d.value === "section" ? (o(), E(Ks, {
3600
+ }, null, 8, ["block"])) : d.value === "section" ? (o(), E(qs, {
3599
3601
  key: 1,
3600
3602
  block: e.block,
3601
3603
  onUpdate: v
3602
- }, null, 8, ["block"])) : d.value === "title" ? (o(), E(ol, {
3604
+ }, null, 8, ["block"])) : d.value === "title" ? (o(), E(sl, {
3603
3605
  key: 2,
3604
3606
  block: e.block,
3605
3607
  "font-families": h(_),
3606
3608
  onUpdate: v
3607
- }, null, 8, ["block", "font-families"])) : d.value === "paragraph" ? (o(), E(Ms, {
3609
+ }, null, 8, ["block", "font-families"])) : d.value === "paragraph" ? (o(), E(Ns, {
3608
3610
  key: 3,
3609
3611
  block: e.block,
3610
3612
  onUpdate: v
3611
- }, null, 8, ["block"])) : d.value === "image" ? (o(), E(_s, {
3613
+ }, null, 8, ["block"])) : d.value === "image" ? (o(), E(vs, {
3612
3614
  key: 4,
3613
3615
  block: e.block,
3614
3616
  onUpdate: v
3615
- }, null, 8, ["block"])) : d.value === "video" ? (o(), E(Tl, {
3617
+ }, null, 8, ["block"])) : d.value === "video" ? (o(), E(El, {
3616
3618
  key: 5,
3617
3619
  block: e.block,
3618
3620
  onUpdate: v
3619
- }, null, 8, ["block"])) : d.value === "button" ? (o(), E(ra, {
3621
+ }, null, 8, ["block"])) : d.value === "button" ? (o(), E(ia, {
3620
3622
  key: 6,
3621
3623
  block: e.block,
3622
3624
  "font-families": h(_),
3623
3625
  onUpdate: v
3624
- }, null, 8, ["block", "font-families"])) : d.value === "divider" ? (o(), E(Ho, {
3626
+ }, null, 8, ["block", "font-families"])) : d.value === "divider" ? (o(), E(Uo, {
3625
3627
  key: 7,
3626
3628
  block: e.block,
3627
3629
  onUpdate: v
3628
- }, null, 8, ["block"])) : d.value === "social" ? (o(), E(dc, {
3630
+ }, null, 8, ["block"])) : d.value === "social" ? (o(), E(fc, {
3629
3631
  key: 8,
3630
3632
  block: e.block,
3631
3633
  onUpdate: v
3632
- }, null, 8, ["block"])) : d.value === "menu" ? (o(), E(Os, {
3634
+ }, null, 8, ["block"])) : d.value === "menu" ? (o(), E(ks, {
3633
3635
  key: 9,
3634
3636
  block: e.block,
3635
3637
  "font-families": h(_),
3636
3638
  onUpdate: v
3637
- }, null, 8, ["block", "font-families"])) : d.value === "table" ? (o(), E(qc, {
3639
+ }, null, 8, ["block", "font-families"])) : d.value === "table" ? (o(), E(Jc, {
3638
3640
  key: 10,
3639
3641
  block: e.block,
3640
3642
  "font-families": h(_),
3641
3643
  onUpdate: v
3642
- }, null, 8, ["block", "font-families"])) : d.value === "spacer" ? (o(), E(gc, {
3644
+ }, null, 8, ["block", "font-families"])) : d.value === "spacer" ? (o(), E(_c, {
3643
3645
  key: 11,
3644
3646
  block: e.block,
3645
3647
  onUpdate: v
3646
- }, null, 8, ["block"])) : d.value === "html" ? (o(), E(Ko, {
3648
+ }, null, 8, ["block"])) : d.value === "html" ? (o(), E(qo, {
3647
3649
  key: 12,
3648
3650
  block: e.block,
3649
3651
  onUpdate: v
@@ -3652,52 +3654,52 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3652
3654
  block: e.block,
3653
3655
  "font-families": h(_),
3654
3656
  onUpdate: v
3655
- }, null, 8, ["block", "font-families"])) : x("", !0), g(Ya, {
3657
+ }, null, 8, ["block", "font-families"])) : x("", !0), g(Xa, {
3656
3658
  block: e.block,
3657
3659
  "is-first-section": d.value === "paragraph",
3658
3660
  onUpdate: v
3659
- }, null, 8, ["block", "is-first-section"])])], 8, El));
3661
+ }, null, 8, ["block", "is-first-section"])])], 8, Dl));
3660
3662
  }
3661
- }), [["__scopeId", "data-v-dbc9901a"]]), Fl = ["aria-label"], Il = {
3663
+ }), [["__scopeId", "data-v-dbc9901a"]]), Il = ["aria-label"], Ll = {
3662
3664
  role: "tablist",
3663
3665
  class: "tpl:relative tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-active)] tpl:p-1.5"
3664
- }, Ll = [
3666
+ }, Rl = [
3665
3667
  "aria-selected",
3666
3668
  "aria-label",
3667
3669
  "title"
3668
- ], Rl = { key: 0 }, zl = [
3670
+ ], zl = { key: 0 }, Bl = [
3669
3671
  "aria-selected",
3670
3672
  "aria-label",
3671
3673
  "title"
3672
- ], Bl = { key: 0 }, Vl = [
3674
+ ], Vl = { key: 0 }, Hl = [
3673
3675
  "aria-selected",
3674
3676
  "aria-label",
3675
3677
  "title"
3676
- ], Hl = { key: 0 }, Ul = {
3678
+ ], Ul = { key: 0 }, Wl = {
3677
3679
  key: 1,
3678
3680
  class: "tpl:ml-1 tpl:rounded-full tpl:bg-[var(--tpl-bg-hover)] tpl:px-1.5 tpl:text-[10px]"
3679
- }, Wl = {
3681
+ }, Gl = {
3680
3682
  key: 0,
3681
3683
  id: "tpl-tabpanel-content",
3682
3684
  role: "tabpanel",
3683
3685
  "aria-labelledby": "tpl-tab-content",
3684
3686
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3685
- }, Gl = {
3687
+ }, Kl = {
3686
3688
  key: 1,
3687
3689
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:px-6 tpl:py-10 tpl:text-center tpl:text-[var(--tpl-text-muted)]"
3688
- }, Kl = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, ql = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Jl = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, Yl = {
3690
+ }, ql = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Jl = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Yl = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, Xl = {
3689
3691
  key: 1,
3690
3692
  id: "tpl-tabpanel-settings",
3691
3693
  role: "tabpanel",
3692
3694
  "aria-labelledby": "tpl-tab-settings",
3693
3695
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3694
- }, Xl = {
3696
+ }, Zl = {
3695
3697
  key: 2,
3696
3698
  id: "tpl-tabpanel-issues",
3697
3699
  role: "tabpanel",
3698
3700
  "aria-labelledby": "tpl-tab-issues",
3699
3701
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
3700
- }, Zl = /* @__PURE__ */ u({
3702
+ }, Ql = /* @__PURE__ */ u({
3701
3703
  __name: "RightSidebar",
3702
3704
  props: {
3703
3705
  selectedBlock: {},
@@ -3711,7 +3713,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3711
3713
  "update-settings"
3712
3714
  ],
3713
3715
  setup(n, { emit: r }) {
3714
- let i = I(() => import("./chunks/IssuesPanel-Q62LTqvd.js")), a = n, s = r, { t: l } = q(), u = c("content"), d = t(Qe, null), f = y(() => d !== null), p = y(() => d?.issues.value.length ?? 0), m = t(ot, new Set(he)), _ = y(() => m.size > 0);
3716
+ let i = I(() => import("./chunks/IssuesPanel-CP7FEzw7.js")), a = n, s = r, { t: l } = q(), u = c("content"), d = t(st, null), f = y(() => d !== null), p = y(() => d?.issues.value.length ?? 0), m = t(Qe, new Set(he)), _ = y(() => m.size > 0);
3715
3717
  function S(e) {
3716
3718
  return u.value === e ? "tpl:flex-1 tpl:text-[var(--tpl-primary)]" : "tpl:shrink-0 tpl:text-[var(--tpl-text-muted)] tpl:hover:text-[var(--tpl-text)]";
3717
3719
  }
@@ -3727,7 +3729,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3727
3729
  "aria-label": h(l).landmarks.rightSidebar,
3728
3730
  class: v(["tpl-right-sidebar tpl:absolute tpl:top-14 tpl:bottom-0 tpl:z-40 tpl:flex tpl:w-[320px] tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)] tpl:transition-all tpl:duration-200 tpl:border-l tpl:border-[var(--tpl-border)]", n.shiftedLeft ? "tpl:right-[360px]" : "tpl:right-0"])
3729
3731
  }, [
3730
- k("div", Il, [
3732
+ k("div", Ll, [
3731
3733
  k("button", {
3732
3734
  id: "tpl-tab-content",
3733
3735
  role: "tab",
@@ -3738,10 +3740,10 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3738
3740
  class: v(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", S("content")]),
3739
3741
  style: T(C("content")),
3740
3742
  onClick: t[0] ||= (e) => u.value = "content"
3741
- }, [g(h(sn), {
3743
+ }, [g(h(cn), {
3742
3744
  size: 14,
3743
3745
  "stroke-width": 2
3744
- }), u.value === "content" ? (o(), b("span", Rl, P(h(l).sidebar.content), 1)) : x("", !0)], 14, Ll),
3746
+ }), u.value === "content" ? (o(), b("span", zl, P(h(l).sidebar.content), 1)) : x("", !0)], 14, Rl),
3745
3747
  _.value ? (o(), b("button", {
3746
3748
  key: 0,
3747
3749
  id: "tpl-tab-settings",
@@ -3753,10 +3755,10 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3753
3755
  class: v(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", S("settings")]),
3754
3756
  style: T(C("settings")),
3755
3757
  onClick: t[1] ||= (e) => u.value = "settings"
3756
- }, [g(h(en), {
3758
+ }, [g(h(tn), {
3757
3759
  size: 14,
3758
3760
  "stroke-width": 1.5
3759
- }), u.value === "settings" ? (o(), b("span", Bl, P(h(l).sidebar.settings), 1)) : x("", !0)], 14, zl)) : x("", !0),
3761
+ }), u.value === "settings" ? (o(), b("span", Vl, P(h(l).sidebar.settings), 1)) : x("", !0)], 14, Bl)) : x("", !0),
3760
3762
  f.value ? (o(), b("button", {
3761
3763
  key: 1,
3762
3764
  id: "tpl-tab-issues",
@@ -3769,72 +3771,72 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3769
3771
  style: T(C("issues")),
3770
3772
  onClick: t[2] ||= (e) => u.value = "issues"
3771
3773
  }, [
3772
- g(h(un), {
3774
+ g(h(dn), {
3773
3775
  size: 14,
3774
3776
  "stroke-width": 1.5
3775
3777
  }),
3776
- u.value === "issues" ? (o(), b("span", Hl, P(h(l).issues.panelTabLabel), 1)) : x("", !0),
3777
- p.value > 0 ? (o(), b("span", Ul, P(p.value), 1)) : x("", !0)
3778
- ], 14, Vl)) : x("", !0)
3778
+ u.value === "issues" ? (o(), b("span", Ul, P(h(l).issues.panelTabLabel), 1)) : x("", !0),
3779
+ p.value > 0 ? (o(), b("span", Wl, P(p.value), 1)) : x("", !0)
3780
+ ], 14, Hl)) : x("", !0)
3779
3781
  ]),
3780
- u.value === "content" ? (o(), b("div", Wl, [n.selectedBlock ? (o(), E(Pl, {
3782
+ u.value === "content" ? (o(), b("div", Gl, [n.selectedBlock ? (o(), E(Fl, {
3781
3783
  key: 0,
3782
3784
  block: n.selectedBlock,
3783
3785
  onUpdate: t[3] ||= (e) => s("update-block", e),
3784
3786
  onDelete: t[4] ||= (e) => s("delete-block"),
3785
3787
  onDuplicate: t[5] ||= (e) => s("duplicate-block")
3786
- }, null, 8, ["block"])) : (o(), b("div", Gl, [
3787
- k("div", Kl, [g(h(tn), {
3788
+ }, null, 8, ["block"])) : (o(), b("div", Kl, [
3789
+ k("div", ql, [g(h(nn), {
3788
3790
  size: 40,
3789
3791
  "stroke-width": 1.5
3790
3792
  })]),
3791
- k("h3", ql, P(h(l).sidebar.noSelection), 1),
3792
- k("p", Jl, P(h(l).sidebar.noSelectionHint), 1)
3793
+ k("h3", Jl, P(h(l).sidebar.noSelection), 1),
3794
+ k("p", Yl, P(h(l).sidebar.noSelectionHint), 1)
3793
3795
  ]))])) : x("", !0),
3794
- u.value === "settings" && _.value ? (o(), b("div", Yl, [g(Mi, {
3796
+ u.value === "settings" && _.value ? (o(), b("div", Xl, [g(Ni, {
3795
3797
  settings: n.settings,
3796
3798
  onUpdate: t[6] ||= (e) => s("update-settings", e)
3797
3799
  }, null, 8, ["settings"])])) : x("", !0),
3798
- u.value === "issues" && f.value ? (o(), b("div", Xl, [g(h(i))])) : x("", !0)
3799
- ], 10, Fl));
3800
+ u.value === "issues" && f.value ? (o(), b("div", Zl, [g(h(i))])) : x("", !0)
3801
+ ], 10, Il));
3800
3802
  }
3801
- }), Ql = {
3803
+ }), $l = {
3802
3804
  class: "tpl-small-screen-notice tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-4 tpl:px-6 tpl:py-10 tpl:text-center tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)]",
3803
3805
  style: { "z-index": "10001" },
3804
3806
  role: "status",
3805
3807
  "data-testid": "small-screen-notice"
3806
- }, $l = { class: "tpl:text-[var(--tpl-text-dim)]" }, eu = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, tu = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, nu = /* @__PURE__ */ u({
3808
+ }, eu = { class: "tpl:text-[var(--tpl-text-dim)]" }, tu = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, nu = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, ru = /* @__PURE__ */ u({
3807
3809
  __name: "SmallScreenNotice",
3808
3810
  setup(e) {
3809
3811
  let { t } = q();
3810
- return (e, n) => (o(), b("div", Ql, [
3811
- k("div", $l, [g(h(Dt), {
3812
+ return (e, n) => (o(), b("div", $l, [
3813
+ k("div", eu, [g(h(Ot), {
3812
3814
  size: 48,
3813
3815
  "stroke-width": 1.5
3814
3816
  })]),
3815
- k("h2", eu, P(h(t).smallScreen.title), 1),
3816
- k("p", tu, P(h(t).smallScreen.message), 1)
3817
+ k("h2", tu, P(h(t).smallScreen.title), 1),
3818
+ k("p", nu, P(h(t).smallScreen.message), 1)
3817
3819
  ]));
3818
3820
  }
3819
- }), ru = {
3821
+ }), iu = {
3820
3822
  class: "tpl:pointer-events-auto tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-tl-lg tpl:p-1",
3821
3823
  style: {
3822
3824
  "background-color": "color-mix(\n in srgb,\n var(--tpl-canvas-bg) 85%,\n transparent\n )",
3823
3825
  "backdrop-filter": "blur(8px)",
3824
3826
  "-webkit-backdrop-filter": "blur(8px)"
3825
3827
  }
3826
- }, iu = {
3828
+ }, au = {
3827
3829
  href: "https://github.com/templatical/sdk",
3828
3830
  target: "_blank",
3829
3831
  rel: "noopener noreferrer",
3830
3832
  class: "tpl:transition-colors tpl:hover:opacity-80 tpl:text-[var(--tpl-text-dim)]",
3831
3833
  style: { "text-decoration": "none" }
3832
- }, au = /* @__PURE__ */ u({
3834
+ }, ou = /* @__PURE__ */ u({
3833
3835
  __name: "EditorFooter",
3834
3836
  props: { positionClass: {} },
3835
3837
  setup(e) {
3836
3838
  let { t } = q();
3837
- return (n, r) => (o(), b("footer", { class: v(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[9px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [k("div", ru, [
3839
+ return (n, r) => (o(), b("footer", { class: v(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[9px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [k("div", iu, [
3838
3840
  k("span", null, P(h(t).footer.poweredBy), 1),
3839
3841
  r[0] ||= k("a", {
3840
3842
  href: "https://templatical.com",
@@ -3849,14 +3851,14 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3849
3851
  alt: ""
3850
3852
  }), L(" Templatical ")], -1),
3851
3853
  r[1] ||= k("span", { class: "tpl:text-[var(--tpl-border)]" }, "·", -1),
3852
- k("a", iu, P(h(t).footer.openSource), 1)
3854
+ k("a", au, P(h(t).footer.openSource), 1)
3853
3855
  ])], 2));
3854
3856
  }
3855
- }), ou = [
3857
+ }), su = [
3856
3858
  "aria-label",
3857
3859
  "title",
3858
3860
  "aria-pressed"
3859
- ], su = /*#__PURE__*/ hn(/* @__PURE__ */ u({
3861
+ ], cu = /*#__PURE__*/ gn(/* @__PURE__ */ u({
3860
3862
  __name: "DarkModeToggle",
3861
3863
  props: { darkMode: { type: Boolean } },
3862
3864
  emits: ["change"],
@@ -3879,23 +3881,23 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3879
3881
  "leave-to-class": "tpl-icon-leave-to",
3880
3882
  mode: "out-in"
3881
3883
  }, {
3882
- default: r(() => [e.darkMode ? (o(), E(h(Bt), {
3884
+ default: r(() => [e.darkMode ? (o(), E(h(Vt), {
3883
3885
  key: "moon",
3884
3886
  size: 18,
3885
3887
  "stroke-width": 1.5
3886
- })) : (o(), E(h(qt), {
3888
+ })) : (o(), E(h(Jt), {
3887
3889
  key: "sun",
3888
3890
  size: 18,
3889
3891
  "stroke-width": 1.5
3890
3892
  }))]),
3891
3893
  _: 1
3892
- })], 12, ou));
3894
+ })], 12, su));
3893
3895
  }
3894
- }), [["__scopeId", "data-v-632aa74f"]]), cu = [
3896
+ }), [["__scopeId", "data-v-632aa74f"]]), lu = [
3895
3897
  "aria-label",
3896
3898
  "title",
3897
3899
  "aria-pressed"
3898
- ], lu = /*#__PURE__*/ hn(/* @__PURE__ */ u({
3900
+ ], uu = /*#__PURE__*/ gn(/* @__PURE__ */ u({
3899
3901
  __name: "PreviewToggle",
3900
3902
  props: { previewMode: { type: Boolean } },
3901
3903
  emits: ["change"],
@@ -3918,19 +3920,19 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3918
3920
  "leave-to-class": "tpl-icon-leave-to",
3919
3921
  mode: "out-in"
3920
3922
  }, {
3921
- default: r(() => [e.previewMode ? (o(), E(h(pn), {
3923
+ default: r(() => [e.previewMode ? (o(), E(h(mn), {
3922
3924
  key: "eye",
3923
3925
  size: 18,
3924
3926
  "stroke-width": 1.5
3925
- })) : (o(), E(h(Ht), {
3927
+ })) : (o(), E(h(Ut), {
3926
3928
  key: "eye-off",
3927
3929
  size: 18,
3928
3930
  "stroke-width": 1.5
3929
3931
  }))]),
3930
3932
  _: 1
3931
- })], 12, cu));
3933
+ })], 12, lu));
3932
3934
  }
3933
- }), [["__scopeId", "data-v-eef7b2ca"]]), uu = ["aria-label", "onKeydown"], du = ["title", "aria-label"], fu = /* @__PURE__ */ u({
3935
+ }), [["__scopeId", "data-v-eef7b2ca"]]), du = ["aria-label", "onKeydown"], fu = ["title", "aria-label"], pu = /* @__PURE__ */ u({
3934
3936
  __name: "TemplateNameField",
3935
3937
  props: {
3936
3938
  name: {},
@@ -3962,7 +3964,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3962
3964
  class: v([h(Z), "tpl:h-8 tpl:max-w-[260px] tpl:text-sm tpl:font-medium"]),
3963
3965
  onKeydown: [_(w(f, ["prevent"]), ["enter"]), _(w(p, ["prevent"]), ["esc"])],
3964
3966
  onBlur: f
3965
- }, null, 42, uu)), [[O, s.value]]) : e.editable ? (o(), b("button", {
3967
+ }, null, 42, du)), [[O, s.value]]) : e.editable ? (o(), b("button", {
3966
3968
  key: 1,
3967
3969
  type: "button",
3968
3970
  "data-testid": "template-name",
@@ -3970,13 +3972,13 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3970
3972
  "aria-label": h(i).header.rename,
3971
3973
  class: v(["tpl:max-w-[260px] tpl:cursor-pointer tpl:truncate tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-transparent tpl:px-2 tpl:py-1 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:border-[var(--tpl-border)] tpl:hover:bg-[var(--tpl-bg-hover)]", { "tpl:text-[var(--tpl-text-dim)]": !e.name }]),
3972
3974
  onClick: u
3973
- }, P(e.name || h(i).header.untitled), 11, du)) : (o(), b("span", {
3975
+ }, P(e.name || h(i).header.untitled), 11, fu)) : (o(), b("span", {
3974
3976
  key: 2,
3975
3977
  "data-testid": "template-name",
3976
3978
  class: v(["tpl:max-w-[260px] tpl:truncate tpl:px-2 tpl:py-1 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]", { "tpl:text-[var(--tpl-text-dim)]": !e.name }])
3977
3979
  }, P(e.name || h(i).header.untitled), 3));
3978
3980
  }
3979
- }), pu = ["title"], mu = /* @__PURE__ */ u({
3981
+ }), mu = ["title"], hu = /* @__PURE__ */ u({
3980
3982
  __name: "TemplateTimestamp",
3981
3983
  props: {
3982
3984
  iso: {},
@@ -3988,29 +3990,29 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
3988
3990
  s.value += 1;
3989
3991
  }, 6e4);
3990
3992
  let l = y(() => {
3991
- let e = Un(n.iso, r.time, i);
3993
+ let e = Wn(n.iso, r.time, i);
3992
3994
  if (e === null) return "";
3993
3995
  let t = e === r.time.justNow;
3994
3996
  return n.kind === "updatedAt" ? t ? r.header.updatedJustNow : i(r.header.updatedAt, { time: e }) : t ? r.header.createdJustNow : i(r.header.createdAt, { time: e });
3995
- }), u = y(() => Hn(n.iso, a));
3997
+ }), u = y(() => Un(n.iso, a));
3996
3998
  return (e, t) => l.value ? (o(), b("span", {
3997
3999
  key: 0,
3998
4000
  "data-testid": "template-timestamp",
3999
4001
  title: u.value,
4000
4002
  class: "tpl:max-w-[260px] tpl:truncate tpl:px-2 tpl:text-xs tpl:leading-tight tpl:text-[var(--tpl-text-dim)]"
4001
- }, P(l.value), 9, pu)) : x("", !0);
4003
+ }, P(l.value), 9, mu)) : x("", !0);
4002
4004
  }
4003
- }), hu = ["data-tooltip"], gu = {
4005
+ }), gu = ["data-tooltip"], _u = {
4004
4006
  key: 1,
4005
4007
  "aria-live": "polite",
4006
4008
  "data-testid": "save-status-saved",
4007
4009
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success)]"
4008
- }, _u = {
4010
+ }, vu = {
4009
4011
  key: 2,
4010
4012
  "aria-live": "polite",
4011
4013
  "data-testid": "save-status-unsaved",
4012
4014
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
4013
- }, vu = /* @__PURE__ */ u({
4015
+ }, yu = /* @__PURE__ */ u({
4014
4016
  __name: "TemplateSaveStatus",
4015
4017
  props: {
4016
4018
  status: {},
@@ -4025,22 +4027,22 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4025
4027
  "data-testid": "save-status-error",
4026
4028
  class: "tpl-tooltip tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]",
4027
4029
  "data-tooltip": e.errorMessage
4028
- }, [g(h(Lt), {
4030
+ }, [g(h(Rt), {
4029
4031
  size: 12,
4030
4032
  "stroke-width": 2.5
4031
- }), L(" " + P(h(t).header.saveFailed), 1)], 8, hu)) : e.status === "saved" ? (o(), b("div", gu, [g(h(Ft), {
4033
+ }), L(" " + P(h(t).header.saveFailed), 1)], 8, gu)) : e.status === "saved" ? (o(), b("div", _u, [g(h(It), {
4032
4034
  size: 12,
4033
4035
  "stroke-width": 2.5
4034
- }), L(" " + P(h(t).header.saved), 1)])) : e.isDirty ? (o(), b("div", _u, [r[0] ||= k("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), L(" " + P(h(t).header.unsaved), 1)])) : x("", !0);
4036
+ }), L(" " + P(h(t).header.saved), 1)])) : e.isDirty ? (o(), b("div", vu, [r[0] ||= k("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), L(" " + P(h(t).header.unsaved), 1)])) : x("", !0);
4035
4037
  }
4036
- }), yu = { class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4 tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:border-b tpl:border-[var(--tpl-border)]" }, bu = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-2.5" }, xu = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, Su = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, Cu = ["aria-label", "aria-expanded"], wu = {
4038
+ }), bu = { class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4 tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:border-b tpl:border-[var(--tpl-border)]" }, xu = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-2.5" }, Su = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, Cu = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, wu = ["aria-label", "aria-expanded"], Tu = {
4037
4039
  key: 0,
4038
4040
  class: "tpl:inline-flex tpl:size-4.5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-semibold tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-on-primary)]"
4039
- }, Tu = [
4041
+ }, Eu = [
4040
4042
  "aria-label",
4041
4043
  "title",
4042
4044
  "disabled"
4043
- ], Eu = ["disabled", "title"], Du = /* @__PURE__ */ u({
4045
+ ], Du = ["disabled", "title"], Ou = /* @__PURE__ */ u({
4044
4046
  __name: "EditorHeader",
4045
4047
  props: {
4046
4048
  editor: {},
@@ -4052,13 +4054,13 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4052
4054
  comments: {}
4053
4055
  },
4054
4056
  setup(e) {
4055
- let t = I(() => import("./chunks/VersionHistoryMenu-bDGnE4hb.js"));
4056
- return (n, r) => (o(), b("header", yu, [
4057
- k("div", bu, [
4057
+ let t = I(() => import("./chunks/VersionHistoryMenu-ByVJXDbK.js"));
4058
+ return (n, r) => (o(), b("header", bu, [
4059
+ k("div", xu, [
4058
4060
  e.templates?.isAvailable.value && e.templates.hasTemplate.value && (e.showTemplateName || e.templates.timestamp.value) ? (o(), b("div", {
4059
4061
  key: 0,
4060
4062
  class: v(["tpl:flex tpl:min-w-0 tpl:flex-col tpl:items-start", { "tpl:pb-1.5": e.showTemplateName && e.templates.timestamp.value !== null }])
4061
- }, [e.showTemplateName ? (o(), E(fu, {
4063
+ }, [e.showTemplateName ? (o(), E(pu, {
4062
4064
  key: 0,
4063
4065
  name: e.templates.name.value,
4064
4066
  editable: e.templates.canSave.value,
@@ -4067,7 +4069,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4067
4069
  "name",
4068
4070
  "editable",
4069
4071
  "onCommit"
4070
- ])) : x("", !0), e.templates.timestamp.value ? (o(), E(mu, {
4072
+ ])) : x("", !0), e.templates.timestamp.value ? (o(), E(hu, {
4071
4073
  key: 1,
4072
4074
  iso: e.templates.timestamp.value.iso,
4073
4075
  kind: e.templates.timestamp.value.kind
@@ -4088,22 +4090,22 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4088
4090
  ])) : x("", !0),
4089
4091
  i(n.$slots, "left-extras")
4090
4092
  ]),
4091
- k("div", xu, [
4092
- g(Bn, {
4093
+ k("div", Su, [
4094
+ g(Vn, {
4093
4095
  viewport: e.editor.state.viewport,
4094
4096
  onChange: e.editor.setViewport
4095
4097
  }, null, 8, ["viewport", "onChange"]),
4096
- g(su, {
4098
+ g(cu, {
4097
4099
  "dark-mode": e.editor.state.darkMode,
4098
4100
  onChange: e.editor.setDarkMode
4099
4101
  }, null, 8, ["dark-mode", "onChange"]),
4100
- g(lu, {
4102
+ g(uu, {
4101
4103
  "preview-mode": e.editor.state.previewMode,
4102
4104
  onChange: e.editor.setPreviewMode
4103
4105
  }, null, 8, ["preview-mode", "onChange"])
4104
4106
  ]),
4105
- k("div", Su, [
4106
- e.templates?.isAvailable.value && e.templates.canSave.value ? (o(), E(vu, {
4107
+ k("div", Cu, [
4108
+ e.templates?.isAvailable.value && e.templates.canSave.value ? (o(), E(yu, {
4107
4109
  key: 0,
4108
4110
  status: e.templates.status.value,
4109
4111
  "error-message": e.templates.errorMessage.value,
@@ -4119,20 +4121,20 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4119
4121
  "data-testid": "comments-trigger",
4120
4122
  "aria-label": e.comments.unresolvedCount.value > 0 ? `${e.core.t.comments.button} (${e.comments.unresolvedCount.value})` : e.core.t.comments.button,
4121
4123
  "aria-expanded": e.comments.isOpen.value,
4122
- class: v(h(yn)),
4124
+ class: v(h(bn)),
4123
4125
  style: T(e.comments.isOpen.value ? {
4124
4126
  backgroundColor: "var(--tpl-primary-light)",
4125
4127
  borderColor: "var(--tpl-primary-light)"
4126
4128
  } : void 0),
4127
4129
  onClick: r[2] ||= (t) => e.comments.toggle()
4128
4130
  }, [
4129
- g(h(dn), {
4131
+ g(h(fn), {
4130
4132
  size: 16,
4131
4133
  "stroke-width": 2
4132
4134
  }),
4133
4135
  L(" " + P(e.core.t.comments.button) + " ", 1),
4134
- e.comments.unresolvedCount.value > 0 && !e.comments.isOpen.value ? (o(), b("span", wu, P(e.comments.unresolvedCount.value), 1)) : x("", !0)
4135
- ], 14, Cu)) : x("", !0),
4136
+ e.comments.unresolvedCount.value > 0 && !e.comments.isOpen.value ? (o(), b("span", Tu, P(e.comments.unresolvedCount.value), 1)) : x("", !0)
4137
+ ], 14, wu)) : x("", !0),
4136
4138
  i(n.$slots, "right-extras"),
4137
4139
  e.testEmail?.isAvailable.value ? (o(), b("button", {
4138
4140
  key: 2,
@@ -4141,107 +4143,112 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4141
4143
  "aria-label": e.core.t.testEmail.title,
4142
4144
  title: e.core.t.testEmail.title,
4143
4145
  disabled: e.testEmail.isSending.value,
4144
- class: v(h(yn)),
4146
+ class: v(h(bn)),
4145
4147
  onClick: r[3] ||= (t) => e.testEmail.open()
4146
- }, [e.testEmail.isSending.value ? (o(), E(h($t), {
4148
+ }, [e.testEmail.isSending.value ? (o(), E(h(en), {
4147
4149
  key: 1,
4148
4150
  class: "tpl-spinner",
4149
4151
  size: 16,
4150
4152
  "stroke-width": 2
4151
- })) : (o(), E(h(It), {
4153
+ })) : (o(), E(h(Lt), {
4152
4154
  key: 0,
4153
4155
  size: 16,
4154
4156
  "stroke-width": 2
4155
- })), L(" " + P(e.core.t.testEmail.button), 1)], 10, Tu)) : x("", !0),
4157
+ })), L(" " + P(e.core.t.testEmail.button), 1)], 10, Eu)) : x("", !0),
4156
4158
  e.templates?.isAvailable.value && e.templates.canSave.value ? (o(), b("button", {
4157
4159
  key: 3,
4158
4160
  type: "button",
4159
4161
  "data-testid": "template-save",
4160
- class: v(h(e.editor.state.isDirty && e.templates.hasTemplate.value ? En : yn)),
4162
+ class: v(h(e.editor.state.isDirty && e.templates.hasTemplate.value ? Dn : bn)),
4161
4163
  style: T(e.editor.state.isDirty && e.templates.hasTemplate.value ? { boxShadow: "var(--tpl-shadow-sm)" } : void 0),
4162
4164
  disabled: e.templates.isSaving.value || !e.templates.hasTemplate.value,
4163
4165
  title: e.templates.hasTemplate.value ? e.core.t.header.save : e.core.t.header.saveNoTemplate,
4164
4166
  onClick: r[4] ||= (t) => e.templates.requestSave()
4165
- }, [e.templates.isSaving.value ? (o(), E(h($t), {
4167
+ }, [e.templates.isSaving.value ? (o(), E(h(en), {
4166
4168
  key: 1,
4167
4169
  class: "tpl-spinner",
4168
4170
  size: 16,
4169
4171
  "stroke-width": 2
4170
- })) : (o(), E(h(Mt), {
4172
+ })) : (o(), E(h(Nt), {
4171
4173
  key: 0,
4172
4174
  size: 16,
4173
4175
  "stroke-width": 2
4174
- })), L(" " + P(e.templates.isSaving.value ? e.core.t.header.saving : e.core.t.header.save), 1)], 14, Eu)) : x("", !0)
4176
+ })), L(" " + P(e.templates.isSaving.value ? e.core.t.header.saving : e.core.t.header.save), 1)], 14, Du)) : x("", !0)
4175
4177
  ])
4176
4178
  ]));
4177
4179
  }
4178
- }), Ou = ["aria-labelledby", "data-tpl-theme"], ku = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Au = ["id"], ju = ["aria-label"], Mu = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Nu = [
4180
+ }), ku = ["aria-labelledby", "data-tpl-theme"], Au = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, ju = ["id"], Mu = ["aria-label"], Nu = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Pu = [
4179
4181
  "id",
4180
4182
  "placeholder",
4181
4183
  "aria-label",
4182
4184
  "aria-activedescendant"
4183
- ], Pu = {
4185
+ ], Fu = {
4184
4186
  key: 0,
4185
4187
  class: "tpl:flex tpl:gap-1.5 tpl:overflow-x-auto tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2",
4186
4188
  "data-testid": "merge-tag-picker-group-pills"
4187
- }, Fu = ["data-group-name", "onClick"], Iu = ["aria-label"], Lu = {
4189
+ }, Iu = ["data-group-name", "onClick"], Lu = ["aria-label"], Ru = {
4188
4190
  key: 0,
4189
4191
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
4190
4192
  "data-testid": "merge-tag-picker-empty"
4191
- }, Ru = {
4193
+ }, zu = {
4192
4194
  key: 1,
4193
4195
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
4194
4196
  "data-testid": "merge-tag-picker-empty"
4195
- }, zu = [
4197
+ }, Bu = [
4196
4198
  "aria-expanded",
4197
4199
  "data-group-name",
4198
4200
  "data-group-collapsed",
4199
4201
  "onClick"
4200
- ], Bu = { class: "tpl:ml-1 tpl:font-normal" }, Vu = [
4202
+ ], Vu = { class: "tpl:ml-1 tpl:font-normal" }, Hu = [
4201
4203
  "id",
4202
4204
  "aria-selected",
4203
4205
  "data-selected",
4204
4206
  "data-merge-tag-index",
4205
4207
  "data-merge-tag-value",
4208
+ "aria-current",
4206
4209
  "title",
4207
4210
  "onMousemove",
4208
4211
  "onClick"
4209
- ], Hu = { class: "tpl:text-sm tpl:font-medium" }, Uu = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, Wu = {
4212
+ ], Uu = { class: "tpl:text-sm tpl:font-medium" }, Wu = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, Gu = {
4210
4213
  key: 0,
4211
4214
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
4212
- }, Gu = {
4215
+ }, Ku = {
4213
4216
  key: 1,
4214
4217
  "data-testid": "merge-tag-picker-sample",
4215
4218
  class: "tpl:line-clamp-1 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
4216
- }, Ku = "tpl-merge-tag-picker-list", qu = /* @__PURE__ */ u({
4219
+ }, qu = "tpl-merge-tag-picker-list", Ju = /* @__PURE__ */ u({
4217
4220
  __name: "MergeTagPickerModal",
4218
4221
  setup(i) {
4219
- let a = ct(ht, "MergeTagPickerModal"), { t: s, format: l } = q(), u = t(st, null), f = t(xt, null), p = c(""), m = Je(p, 200), S = c(null), D = y(() => m.value.trim().length > 0), A = c(0), j = y(() => a.tags.value.some((e) => !!e.group)), M = c(/* @__PURE__ */ new Set());
4220
- function F(e) {
4221
- return M.value.has(e);
4222
+ let a = ut(_t, "MergeTagPickerModal"), { t: s, format: l } = q(), u = t(nt, null), f = t(lt, null), p = t(rt, !0), m = y(() => a.current.value !== null), S = y(() => m.value ? s.mergeTag.picker.changeTitle : s.mergeTag.picker.title);
4223
+ function D(e) {
4224
+ return p ? e.description ? `${e.value} — ${e.description}` : e.value : e.description || void 0;
4222
4225
  }
4223
- function I(e) {
4224
- let t = new Set(M.value);
4225
- t.has(e) ? t.delete(e) : t.add(e), M.value = t, A.value = 0;
4226
+ let A = c(""), j = Je(A, 200), M = c(null), F = y(() => j.value.trim().length > 0), I = c(0), L = y(() => a.tags.value.some((e) => !!e.group)), R = c(/* @__PURE__ */ new Set());
4227
+ function z(e) {
4228
+ return R.value.has(e);
4229
+ }
4230
+ function B(e) {
4231
+ let t = new Set(R.value);
4232
+ t.has(e) ? t.delete(e) : t.add(e), R.value = t, I.value = 0;
4226
4233
  }
4227
- let L = y(() => {
4228
- let e = m.value.trim().toLowerCase();
4234
+ let ee = y(() => {
4235
+ let e = j.value.trim().toLowerCase();
4229
4236
  return e ? a.tags.value.filter((t) => [
4230
4237
  t.label,
4231
4238
  t.value,
4232
4239
  t.description ?? ""
4233
4240
  ].join(" ").toLowerCase().includes(e)) : a.tags.value;
4234
- }), R = y(() => {
4235
- if (!j.value) return [];
4241
+ }), te = y(() => {
4242
+ if (!L.value) return [];
4236
4243
  let e = s.mergeTag.picker.otherGroup, t = /* @__PURE__ */ new Set(), n = [];
4237
4244
  for (let r of a.tags.value) {
4238
4245
  let i = r.group ?? e;
4239
4246
  t.has(i) || (t.add(i), n.push(i));
4240
4247
  }
4241
4248
  return n;
4242
- }), z = y(() => {
4243
- let e = L.value;
4244
- if (!j.value || D.value) return e.map((e, t) => ({
4249
+ }), V = y(() => {
4250
+ let e = ee.value;
4251
+ if (!L.value || F.value) return e.map((e, t) => ({
4245
4252
  kind: "tag",
4246
4253
  tag: e,
4247
4254
  index: t
@@ -4258,49 +4265,67 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4258
4265
  kind: "header",
4259
4266
  group: e,
4260
4267
  count: t.length
4261
- }), !M.value.has(e)) for (let e of t) i.push({
4268
+ }), !R.value.has(e)) for (let e of t) i.push({
4262
4269
  kind: "tag",
4263
4270
  tag: e,
4264
4271
  index: a
4265
4272
  }), a++;
4266
4273
  }
4267
4274
  return i;
4268
- }), B = y(() => z.value.flatMap((e) => e.kind === "tag" ? [e.tag] : []));
4275
+ }), H = y(() => V.value.flatMap((e) => e.kind === "tag" ? [e.tag] : [])), U = !1;
4276
+ function W(e) {
4277
+ let t = a.current.value;
4278
+ if (!t) return !1;
4279
+ let n = e.findIndex((e) => e.value === t.value);
4280
+ return n !== -1 && (I.value = n, !0);
4281
+ }
4282
+ function G(e) {
4283
+ U = !1, I.value = e;
4284
+ }
4269
4285
  e(() => a.isOpen.value, (e) => {
4270
- e && (p.value = "", A.value = 0, M.value = /* @__PURE__ */ new Set(), C(() => {
4271
- S.value?.focus();
4272
- }));
4273
- }), e(B, (e) => {
4274
- A.value >= e.length && (A.value = Math.max(0, e.length - 1));
4286
+ if (!e) {
4287
+ U = !1;
4288
+ return;
4289
+ }
4290
+ A.value = "", I.value = 0, R.value = /* @__PURE__ */ new Set(), U = !W(H.value), C(() => {
4291
+ M.value?.focus();
4292
+ });
4293
+ }), e(H, (e) => {
4294
+ if (U && W(e)) {
4295
+ U = !1;
4296
+ return;
4297
+ }
4298
+ I.value >= e.length && (I.value = Math.max(0, e.length - 1));
4275
4299
  });
4276
- function ee(e) {
4300
+ function ne(e) {
4277
4301
  a.resolve(e);
4278
4302
  }
4279
- function te() {
4303
+ function re() {
4280
4304
  a.resolve(null);
4281
4305
  }
4282
- function V(e) {
4283
- if (B.value.length === 0) return;
4284
- let t = A.value + e;
4285
- A.value = Math.max(0, Math.min(B.value.length - 1, t)), G();
4306
+ function ie(e) {
4307
+ if (H.value.length === 0) return;
4308
+ U = !1;
4309
+ let t = I.value + e;
4310
+ I.value = Math.max(0, Math.min(H.value.length - 1, t)), se();
4286
4311
  }
4287
- let H = c(null), U = c({});
4288
- function W(e, t) {
4289
- U.value[e] = t ?? null;
4312
+ let ae = c(null), oe = c({});
4313
+ function K(e, t) {
4314
+ oe.value[e] = t ?? null;
4290
4315
  }
4291
- function G() {
4316
+ function se() {
4292
4317
  C(() => {
4293
- let e = H.value;
4294
- e && e.querySelector(`[data-merge-tag-index="${A.value}"]`)?.scrollIntoView({ block: "nearest" });
4318
+ let e = ae.value;
4319
+ e && e.querySelector(`[data-merge-tag-index="${I.value}"]`)?.scrollIntoView({ block: "nearest" });
4295
4320
  });
4296
4321
  }
4297
- function ne(e) {
4298
- if (M.value.has(e)) {
4299
- let t = new Set(M.value);
4300
- t.delete(e), M.value = t;
4322
+ function ce(e) {
4323
+ if (R.value.has(e)) {
4324
+ let t = new Set(R.value);
4325
+ t.delete(e), R.value = t;
4301
4326
  }
4302
4327
  C(() => {
4303
- let t = H.value;
4328
+ let t = ae.value;
4304
4329
  if (!t) return;
4305
4330
  let n = 0, r = !1;
4306
4331
  for (let i of Array.from(t.children)) {
@@ -4316,128 +4341,129 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4316
4341
  });
4317
4342
  });
4318
4343
  }
4319
- function re(e) {
4320
- if (e.key === "ArrowDown") e.preventDefault(), V(1);
4321
- else if (e.key === "ArrowUp") e.preventDefault(), V(-1);
4344
+ function le(e) {
4345
+ if (e.key === "ArrowDown") e.preventDefault(), ie(1);
4346
+ else if (e.key === "ArrowUp") e.preventDefault(), ie(-1);
4322
4347
  else if (e.key === "Enter") {
4323
4348
  e.preventDefault();
4324
- let t = B.value[A.value];
4325
- t && ee(t);
4349
+ let t = H.value[I.value];
4350
+ t && ne(t);
4326
4351
  }
4327
4352
  }
4328
- function ie() {
4329
- if (B.value.length !== 0) return `${Ku}-opt-${A.value}`;
4353
+ function ue() {
4354
+ if (H.value.length !== 0) return `${qu}-opt-${I.value}`;
4330
4355
  }
4331
- function ae(e) {
4332
- return `${Ku}-opt-${e}`;
4356
+ function de(e) {
4357
+ return `${qu}-opt-${e}`;
4333
4358
  }
4334
- let oe = y(() => a.tags.value.length === 0), K = y(() => !oe.value && L.value.length === 0), se = y(() => j.value && R.value.length > 1 && !D.value);
4335
- return (e, t) => (o(), E(Wn, {
4359
+ let fe = y(() => a.tags.value.length === 0), pe = y(() => !fe.value && ee.value.length === 0), me = y(() => L.value && te.value.length > 1 && !F.value);
4360
+ return (e, t) => (o(), E(Gn, {
4336
4361
  visible: h(a).isOpen.value,
4337
- onClose: te,
4338
- onKeydown: re
4362
+ onClose: re,
4363
+ onKeydown: le
4339
4364
  }, {
4340
4365
  default: r(() => [k("div", {
4341
4366
  role: "dialog",
4342
4367
  "aria-modal": "true",
4343
- "aria-labelledby": `${Ku}-title`,
4368
+ "aria-labelledby": `${qu}-title`,
4344
4369
  "data-tpl-theme": h(f),
4345
4370
  "data-testid": "merge-tag-picker-modal",
4346
4371
  class: "tpl tpl:flex tpl:max-h-[80%] tpl:w-[420px] tpl:max-w-full tpl:flex-col tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-lg)]",
4347
4372
  style: T(h(u))
4348
4373
  }, [
4349
- k("header", ku, [k("h2", {
4350
- id: `${Ku}-title`,
4374
+ k("header", Au, [k("h2", {
4375
+ id: `${qu}-title`,
4351
4376
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
4352
- }, P(h(s).mergeTag.picker.title), 9, Au), k("button", {
4377
+ }, P(S.value), 9, ju), k("button", {
4353
4378
  type: "button",
4354
4379
  class: "tpl:flex tpl:h-7 tpl:w-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
4355
4380
  "aria-label": h(s).mergeTag.picker.close,
4356
4381
  "data-testid": "merge-tag-picker-close",
4357
- onClick: te
4358
- }, [g(h(rn), {
4382
+ onClick: re
4383
+ }, [g(h(an), {
4359
4384
  size: 16,
4360
4385
  "stroke-width": 2
4361
- })], 8, ju)]),
4362
- k("div", Mu, [g(h(Rt), {
4386
+ })], 8, Mu)]),
4387
+ k("div", Nu, [g(h(zt), {
4363
4388
  class: "tpl:pointer-events-none tpl:absolute tpl:top-1/2 tpl:left-5 tpl:-translate-y-1/2 tpl:text-[var(--tpl-text-dim)]",
4364
4389
  size: 14,
4365
4390
  "stroke-width": 2
4366
4391
  }), d(k("input", {
4367
- id: `${Ku}-search`,
4392
+ id: `${qu}-search`,
4368
4393
  ref_key: "searchInputRef",
4369
- ref: S,
4370
- "onUpdate:modelValue": t[0] ||= (e) => p.value = e,
4394
+ ref: M,
4395
+ "onUpdate:modelValue": t[0] ||= (e) => A.value = e,
4371
4396
  type: "text",
4372
4397
  class: "tpl:w-full tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:focus:border-[var(--tpl-primary)]",
4373
4398
  placeholder: h(s).mergeTag.picker.searchPlaceholder,
4374
4399
  "aria-label": h(s).mergeTag.picker.searchAriaLabel,
4375
- "aria-controls": Ku,
4376
- "aria-activedescendant": ie(),
4400
+ "aria-controls": qu,
4401
+ "aria-activedescendant": ue(),
4377
4402
  "data-testid": "merge-tag-picker-search",
4378
4403
  onKeydown: t[1] ||= _(w(() => {}, ["prevent"]), ["enter"])
4379
- }, null, 40, Nu), [[O, p.value]])]),
4380
- se.value ? (o(), b("div", Pu, [(o(!0), b(N, null, n(R.value, (e) => (o(), b("button", {
4404
+ }, null, 40, Pu), [[O, A.value]])]),
4405
+ me.value ? (o(), b("div", Fu, [(o(!0), b(N, null, n(te.value, (e) => (o(), b("button", {
4381
4406
  key: e,
4382
4407
  type: "button",
4383
4408
  class: "tpl:flex tpl:flex-shrink-0 tpl:cursor-pointer tpl:items-center tpl:rounded-full tpl:border tpl:border-[var(--tpl-border)] tpl:bg-transparent tpl:px-2.5 tpl:py-0.5 tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
4384
4409
  "data-testid": "merge-tag-picker-group-pill",
4385
4410
  "data-group-name": e,
4386
- onClick: (t) => ne(e)
4387
- }, P(e), 9, Fu))), 128))])) : x("", !0),
4411
+ onClick: (t) => ce(e)
4412
+ }, P(e), 9, Iu))), 128))])) : x("", !0),
4388
4413
  k("div", {
4389
- id: Ku,
4414
+ id: qu,
4390
4415
  ref_key: "listRef",
4391
- ref: H,
4416
+ ref: ae,
4392
4417
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
4393
4418
  role: "listbox",
4394
- "aria-label": h(s).mergeTag.picker.title,
4419
+ "aria-label": S.value,
4395
4420
  "data-testid": "merge-tag-picker-list"
4396
- }, [oe.value ? (o(), b("div", Lu, P(h(s).mergeTag.picker.empty), 1)) : K.value ? (o(), b("div", Ru, P(h(s).mergeTag.picker.noResults), 1)) : (o(!0), b(N, { key: 2 }, n(z.value, (e, t) => (o(), b(N, { key: t }, [e.kind === "header" ? (o(), b("button", {
4421
+ }, [fe.value ? (o(), b("div", Ru, P(h(s).mergeTag.picker.empty), 1)) : pe.value ? (o(), b("div", zu, P(h(s).mergeTag.picker.noResults), 1)) : (o(!0), b(N, { key: 2 }, n(V.value, (e, t) => (o(), b(N, { key: t }, [e.kind === "header" ? (o(), b("button", {
4397
4422
  key: 0,
4398
4423
  ref_for: !0,
4399
- ref: (t) => W(e.group, t),
4424
+ ref: (t) => K(e.group, t),
4400
4425
  type: "button",
4401
- "aria-expanded": !F(e.group),
4402
- "aria-controls": Ku,
4426
+ "aria-expanded": !z(e.group),
4427
+ "aria-controls": qu,
4403
4428
  class: "tpl:sticky tpl:top-0 tpl:z-10 tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-1.5 tpl:border-none tpl:bg-[var(--tpl-bg-elevated)] tpl:px-3 tpl:pt-2.5 tpl:pb-1 tpl:text-left tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)]",
4404
4429
  "data-testid": "merge-tag-picker-group-header",
4405
4430
  "data-group-name": e.group,
4406
- "data-group-collapsed": F(e.group) ? "true" : "false",
4407
- onClick: (t) => I(e.group)
4431
+ "data-group-collapsed": z(e.group) ? "true" : "false",
4432
+ onClick: (t) => B(e.group)
4408
4433
  }, [
4409
- g(h(Pt), {
4434
+ g(h(Ft), {
4410
4435
  size: 12,
4411
4436
  "stroke-width": 2,
4412
- class: v(["tpl:transition-transform", F(e.group) ? "tpl:-rotate-90" : ""])
4437
+ class: v(["tpl:transition-transform", z(e.group) ? "tpl:-rotate-90" : ""])
4413
4438
  }, null, 8, ["class"]),
4414
4439
  k("span", null, P(e.group), 1),
4415
- k("span", Bu, " (" + P(h(l)(h(s).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
4416
- ], 8, zu)) : (o(), b("button", {
4440
+ k("span", Vu, " (" + P(h(l)(h(s).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
4441
+ ], 8, Bu)) : (o(), b("button", {
4417
4442
  key: 1,
4418
- id: ae(e.index),
4443
+ id: de(e.index),
4419
4444
  type: "button",
4420
4445
  role: "option",
4421
- "aria-selected": e.index === A.value,
4422
- "data-selected": e.index === A.value ? "true" : "false",
4446
+ "aria-selected": e.index === I.value,
4447
+ "data-selected": e.index === I.value ? "true" : "false",
4423
4448
  "data-merge-tag-index": e.index,
4424
4449
  "data-merge-tag-value": e.tag.value,
4425
- title: e.tag.description ? `${e.tag.value} — ${e.tag.description}` : e.tag.value,
4426
- class: v(["tpl:flex tpl:w-full tpl:cursor-pointer tpl:flex-col tpl:items-start tpl:gap-0.5 tpl:border-none tpl:px-3 tpl:py-1.5 tpl:text-left tpl:transition-colors", e.index === A.value ? "tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:bg-transparent tpl:text-[var(--tpl-text)] tpl:hover:bg-[var(--tpl-bg-hover)]"]),
4450
+ "aria-current": e.tag.value === h(a).current.value?.value ? "true" : void 0,
4451
+ title: D(e.tag),
4452
+ class: v(["tpl:flex tpl:w-full tpl:cursor-pointer tpl:flex-col tpl:items-start tpl:gap-0.5 tpl:border-none tpl:px-3 tpl:py-1.5 tpl:text-left tpl:transition-colors", e.index === I.value ? "tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:bg-transparent tpl:text-[var(--tpl-text)] tpl:hover:bg-[var(--tpl-bg-hover)]"]),
4427
4453
  "data-testid": "merge-tag-picker-item",
4428
- onMousemove: (t) => A.value = e.index,
4429
- onClick: (t) => ee(e.tag)
4454
+ onMousemove: (t) => G(e.index),
4455
+ onClick: (t) => ne(e.tag)
4430
4456
  }, [
4431
- k("span", Hu, P(e.tag.label), 1),
4432
- k("span", Uu, P(e.tag.value), 1),
4433
- e.tag.description ? (o(), b("span", Wu, P(e.tag.description), 1)) : x("", !0),
4434
- e.tag.sample === void 0 ? x("", !0) : (o(), b("span", Gu, P(h(l)(h(s).mergeTag.picker.sample, { sample: e.tag.sample })), 1))
4435
- ], 42, Vu))], 64))), 128))], 8, Iu)
4436
- ], 12, Ou)]),
4457
+ k("span", Uu, P(e.tag.label), 1),
4458
+ k("span", Wu, P(e.tag.value), 1),
4459
+ e.tag.description ? (o(), b("span", Gu, P(e.tag.description), 1)) : x("", !0),
4460
+ e.tag.sample === void 0 ? x("", !0) : (o(), b("span", Ku, P(h(l)(h(s).mergeTag.picker.sample, { sample: e.tag.sample })), 1))
4461
+ ], 42, Hu))], 64))), 128))], 8, Lu)
4462
+ ], 12, ku)]),
4437
4463
  _: 1
4438
4464
  }, 8, ["visible"]));
4439
4465
  }
4440
- }), Ju = ["data-logic-keyword"], Yu = /* @__PURE__ */ u({
4466
+ }), Yu = ["data-logic-keyword"], Xu = /* @__PURE__ */ u({
4441
4467
  __name: "LogicTagBadge",
4442
4468
  props: {
4443
4469
  value: {},
@@ -4454,22 +4480,22 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4454
4480
  },
4455
4481
  "data-testid": "merge-tag-logic-badge",
4456
4482
  "data-logic-keyword": r.value
4457
- }, P(r.value), 9, Ju)) : x("", !0);
4483
+ }, P(r.value), 9, Yu)) : x("", !0);
4458
4484
  }
4459
- }), Xu = ["aria-labelledby", "data-tpl-theme"], Zu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Qu = ["id"], $u = ["aria-label"], ed = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, td = [
4485
+ }), Zu = ["aria-labelledby", "data-tpl-theme"], Qu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, $u = ["id"], ed = ["aria-label"], td = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, nd = [
4460
4486
  "id",
4461
4487
  "placeholder",
4462
4488
  "aria-label",
4463
4489
  "aria-activedescendant"
4464
- ], nd = ["aria-label"], rd = {
4490
+ ], rd = ["aria-label"], id = {
4465
4491
  key: 0,
4466
4492
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
4467
4493
  "data-testid": "logic-picker-empty"
4468
- }, id = {
4494
+ }, ad = {
4469
4495
  key: 1,
4470
4496
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
4471
4497
  "data-testid": "logic-picker-empty"
4472
- }, ad = ["data-group-name"], od = [
4498
+ }, od = ["data-group-name"], sd = [
4473
4499
  "id",
4474
4500
  "aria-selected",
4475
4501
  "data-selected",
@@ -4477,19 +4503,19 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4477
4503
  "data-logic-kind",
4478
4504
  "onMousemove",
4479
4505
  "onClick"
4480
- ], sd = { class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-between tpl:gap-2" }, cd = { class: "tpl:text-sm tpl:font-medium" }, ld = {
4506
+ ], cd = { class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-between tpl:gap-2" }, ld = { class: "tpl:text-sm tpl:font-medium" }, ud = {
4481
4507
  key: 0,
4482
4508
  class: "tpl:flex tpl:items-center"
4483
- }, ud = {
4509
+ }, dd = {
4484
4510
  key: 1,
4485
4511
  class: "tpl:flex tpl:items-center tpl:gap-1"
4486
- }, dd = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, fd = {
4512
+ }, fd = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, pd = {
4487
4513
  key: 0,
4488
4514
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
4489
- }, pd = "tpl-logic-picker-list", md = /* @__PURE__ */ u({
4515
+ }, md = "tpl-logic-picker-list", hd = /* @__PURE__ */ u({
4490
4516
  __name: "LogicTagPickerModal",
4491
4517
  setup(i) {
4492
- let a = ct(at, "LogicTagPickerModal"), { t: s } = q(), l = t(nt, ie.liquid), u = t(st, null), f = t(xt, null), p = c(""), m = Je(p, 200), S = c(null), D = y(() => m.value.trim().length > 0), A = c(0);
4518
+ let a = ut(ot, "LogicTagPickerModal"), { t: s } = q(), l = t(it, ie.liquid), u = t(nt, null), f = t(lt, null), p = c(""), m = Je(p, 200), S = c(null), D = y(() => m.value.trim().length > 0), A = c(0);
4493
4519
  function j(e) {
4494
4520
  let t = m.value.trim().toLowerCase();
4495
4521
  return !t || e.filter(Boolean).join(" ").toLowerCase().includes(t);
@@ -4572,12 +4598,12 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4572
4598
  }
4573
4599
  }
4574
4600
  function ne(e) {
4575
- return `${pd}-opt-${e}`;
4601
+ return `${md}-opt-${e}`;
4576
4602
  }
4577
4603
  function re() {
4578
- return B.value.length === 0 ? void 0 : `${pd}-opt-${A.value}`;
4604
+ return B.value.length === 0 ? void 0 : `${md}-opt-${A.value}`;
4579
4605
  }
4580
- return (e, t) => (o(), E(Wn, {
4606
+ return (e, t) => (o(), E(Gn, {
4581
4607
  visible: h(a).isOpen.value,
4582
4608
  onClose: U,
4583
4609
  onKeydown: G
@@ -4585,31 +4611,31 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4585
4611
  default: r(() => [k("div", {
4586
4612
  role: "dialog",
4587
4613
  "aria-modal": "true",
4588
- "aria-labelledby": `${pd}-title`,
4614
+ "aria-labelledby": `${md}-title`,
4589
4615
  "data-tpl-theme": h(f),
4590
4616
  "data-testid": "logic-picker-modal",
4591
4617
  class: "tpl tpl:flex tpl:max-h-[80%] tpl:w-[420px] tpl:max-w-full tpl:flex-col tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-lg)]",
4592
4618
  style: T(h(u))
4593
4619
  }, [
4594
- k("header", Zu, [k("h2", {
4595
- id: `${pd}-title`,
4620
+ k("header", Qu, [k("h2", {
4621
+ id: `${md}-title`,
4596
4622
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
4597
- }, P(h(s).logicTag.picker.title), 9, Qu), k("button", {
4623
+ }, P(h(s).logicTag.picker.title), 9, $u), k("button", {
4598
4624
  type: "button",
4599
4625
  class: "tpl:flex tpl:h-7 tpl:w-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
4600
4626
  "aria-label": h(s).logicTag.picker.close,
4601
4627
  "data-testid": "logic-picker-close",
4602
4628
  onClick: U
4603
- }, [g(h(rn), {
4629
+ }, [g(h(an), {
4604
4630
  size: 16,
4605
4631
  "stroke-width": 2
4606
- })], 8, $u)]),
4607
- k("div", ed, [g(h(Rt), {
4632
+ })], 8, ed)]),
4633
+ k("div", td, [g(h(zt), {
4608
4634
  class: "tpl:pointer-events-none tpl:absolute tpl:top-1/2 tpl:left-5 tpl:-translate-y-1/2 tpl:text-[var(--tpl-text-dim)]",
4609
4635
  size: 14,
4610
4636
  "stroke-width": 2
4611
4637
  }), d(k("input", {
4612
- id: `${pd}-search`,
4638
+ id: `${md}-search`,
4613
4639
  ref_key: "searchInputRef",
4614
4640
  ref: S,
4615
4641
  "onUpdate:modelValue": t[0] ||= (e) => p.value = e,
@@ -4617,25 +4643,25 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4617
4643
  class: "tpl:w-full tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:focus:border-[var(--tpl-primary)]",
4618
4644
  placeholder: h(s).logicTag.picker.searchPlaceholder,
4619
4645
  "aria-label": h(s).logicTag.picker.searchAriaLabel,
4620
- "aria-controls": pd,
4646
+ "aria-controls": md,
4621
4647
  "aria-activedescendant": re(),
4622
4648
  "data-testid": "logic-picker-search",
4623
4649
  onKeydown: t[1] ||= _(w(() => {}, ["prevent"]), ["enter"])
4624
- }, null, 40, td), [[O, p.value]])]),
4650
+ }, null, 40, nd), [[O, p.value]])]),
4625
4651
  k("div", {
4626
- id: pd,
4652
+ id: md,
4627
4653
  ref_key: "listRef",
4628
4654
  ref: V,
4629
4655
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
4630
4656
  role: "listbox",
4631
4657
  "aria-label": h(s).logicTag.picker.title,
4632
4658
  "data-testid": "logic-picker-list"
4633
- }, [ee.value ? (o(), b("div", rd, P(h(s).logicTag.picker.empty), 1)) : te.value ? (o(), b("div", id, P(h(s).logicTag.picker.noResults), 1)) : (o(!0), b(N, { key: 2 }, n(z.value.rows, (e, n) => (o(), b(N, { key: n }, [e.kind === "header" ? (o(), b("div", {
4659
+ }, [ee.value ? (o(), b("div", id, P(h(s).logicTag.picker.empty), 1)) : te.value ? (o(), b("div", ad, P(h(s).logicTag.picker.noResults), 1)) : (o(!0), b(N, { key: 2 }, n(z.value.rows, (e, n) => (o(), b(N, { key: n }, [e.kind === "header" ? (o(), b("div", {
4634
4660
  key: 0,
4635
4661
  class: "tpl:px-3 tpl:pt-2.5 tpl:pb-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]",
4636
4662
  "data-testid": "logic-picker-header",
4637
4663
  "data-group-name": e.label
4638
- }, P(e.label), 9, ad)) : (o(), b("button", {
4664
+ }, P(e.label), 9, od)) : (o(), b("button", {
4639
4665
  key: 1,
4640
4666
  id: ne(e.index),
4641
4667
  type: "button",
@@ -4649,32 +4675,32 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4649
4675
  onMousemove: (t) => A.value = e.index,
4650
4676
  onClick: (t) => H(e.kind === "tag" ? e.tag : e.pair)
4651
4677
  }, [
4652
- k("span", sd, [k("span", cd, P(e.kind === "tag" ? e.tag.label : e.pair.label), 1), e.kind === "tag" ? (o(), b("span", ld, [g(Yu, {
4678
+ k("span", cd, [k("span", ld, P(e.kind === "tag" ? e.tag.label : e.pair.label), 1), e.kind === "tag" ? (o(), b("span", ud, [g(Xu, {
4653
4679
  value: e.tag.value,
4654
4680
  syntax: h(l)
4655
- }, null, 8, ["value", "syntax"])])) : (o(), b("span", ud, [
4656
- g(Yu, {
4681
+ }, null, 8, ["value", "syntax"])])) : (o(), b("span", dd, [
4682
+ g(Xu, {
4657
4683
  value: e.pair.before,
4658
4684
  syntax: h(l)
4659
4685
  }, null, 8, ["value", "syntax"]),
4660
4686
  t[2] ||= k("span", { class: "tpl:text-[var(--tpl-text-dim)]" }, "…", -1),
4661
- g(Yu, {
4687
+ g(Xu, {
4662
4688
  value: e.pair.after,
4663
4689
  syntax: h(l)
4664
4690
  }, null, 8, ["value", "syntax"])
4665
4691
  ]))]),
4666
- k("span", dd, P(e.kind === "tag" ? e.tag.value : `${e.pair.before} … ${e.pair.after}`), 1),
4667
- (e.kind === "tag" ? e.tag.description : e.pair.description) ? (o(), b("span", fd, P(e.kind === "tag" ? e.tag.description : e.pair.description), 1)) : x("", !0)
4668
- ], 42, od))], 64))), 128))], 8, nd)
4669
- ], 12, Xu)]),
4692
+ k("span", fd, P(e.kind === "tag" ? e.tag.value : `${e.pair.before} … ${e.pair.after}`), 1),
4693
+ (e.kind === "tag" ? e.tag.description : e.pair.description) ? (o(), b("span", pd, P(e.kind === "tag" ? e.tag.description : e.pair.description), 1)) : x("", !0)
4694
+ ], 42, sd))], 64))), 128))], 8, rd)
4695
+ ], 12, Zu)]),
4670
4696
  _: 1
4671
4697
  }, 8, ["visible"]));
4672
4698
  }
4673
- }), hd = ["data-tpl-theme"], gd = { class: "tpl:absolute tpl:inset-0 tpl:overflow-hidden" }, _d = { class: "tpl-preview-overlay tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, vd = { class: "tpl:absolute tpl:left-1/2 tpl:top-2 tpl:flex tpl:-translate-x-1/2 tpl:flex-col tpl:items-center tpl:gap-2" }, yd = {
4699
+ }), gd = ["data-tpl-theme"], _d = { class: "tpl:absolute tpl:inset-0 tpl:overflow-hidden" }, vd = { class: "tpl-preview-overlay tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, yd = { class: "tpl:absolute tpl:left-1/2 tpl:top-2 tpl:flex tpl:-translate-x-1/2 tpl:flex-col tpl:items-center tpl:gap-2" }, bd = {
4674
4700
  key: 0,
4675
4701
  "data-testid": "merge-tag-mode-toggle-anchor",
4676
4702
  class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:shadow-[var(--tpl-shadow-md)]"
4677
- }, bd = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, xd = ["aria-label"], Sd = /*#__PURE__*/ hn(/* @__PURE__ */ u({
4703
+ }, xd = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, Sd = ["aria-label"], Cd = /*#__PURE__*/ gn(/* @__PURE__ */ u({
4678
4704
  __name: "Editor",
4679
4705
  props: {
4680
4706
  config: {},
@@ -4686,38 +4712,38 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4686
4712
  usesLocalRenderer: { type: Function }
4687
4713
  },
4688
4714
  setup(t, { expose: n }) {
4689
- let i = t, s = i.config.templates ? _r(i.config.templates, i.config.mergeTags) : void 0, l = Ce({
4715
+ let i = t, s = i.config.templates ? vr(i.config.templates, i.config.mergeTags) : void 0, l = Ce({
4690
4716
  content: i.config.content,
4691
4717
  defaultFontFamily: i.config.fonts?.defaultFont,
4692
- templateDefaults: qn(i.config),
4718
+ templateDefaults: Jn(i.config),
4693
4719
  templates: s,
4694
4720
  onError: i.config.onError,
4695
4721
  lockedBlocks: i.cloud?.lockedBlocks
4696
- }), u = i.cloud ? i.cloud.attach({ editor: l }) : null, f = s ? er({
4722
+ }), u = i.cloud ? i.cloud.attach({ editor: l }) : null, f = s ? tr({
4697
4723
  provider: s,
4698
4724
  editor: l,
4699
4725
  guardUnsavedChanges: i.config.templates?.unsavedChangesGuard,
4700
4726
  getSaveGate: i.cloud ? () => i.cloud.getSaveGate() : void 0
4701
4727
  }) : null;
4702
4728
  i.config.onDirtyChange && e(() => l.state.isDirty, (e) => i.config.onDirtyChange(e));
4703
- let p = c(null), _ = i.config.savedBlocks ? Qn({
4729
+ let p = c(null), _ = i.config.savedBlocks ? $n({
4704
4730
  provider: i.config.savedBlocks,
4705
4731
  editor: l,
4706
4732
  onError: i.config.onError,
4707
4733
  isAvailable: i.cloud ? () => i.cloud.isSavedBlocksAvailable() : void 0
4708
- }) : null, C = I(() => import("./chunks/SavedBlocksPanels-DpxYxddo.js")), O = i.config.media || i.config.onRequestMedia ? Zn({
4734
+ }) : null, C = I(() => import("./chunks/SavedBlocksPanels-CaBsHoRC.js")), O = i.config.media || i.config.onRequestMedia ? Qn({
4709
4735
  provider: i.config.media,
4710
4736
  onRequestMedia: i.config.onRequestMedia,
4711
4737
  getTemplateId: () => l.state.template?.id,
4712
4738
  onError: i.config.onError
4713
- }) : null, A = I(() => import("./chunks/MediaPanels-D21M6shx.js")), M = i.config.testEmail ? ar({
4739
+ }) : null, A = I(() => import("./chunks/MediaPanels-TYrKKHX5.js")), M = i.config.testEmail ? or({
4714
4740
  provider: i.config.testEmail,
4715
4741
  getContent: () => l.content.value,
4716
4742
  renderMjml: i.renderMjml,
4717
4743
  usesLocalRenderer: i.usesLocalRenderer,
4718
4744
  onError: i.config.onError,
4719
4745
  isAvailable: i.cloud ? () => i.cloud.isTestEmailAvailable() : void 0
4720
- }) : null, N = I(() => import("./chunks/TestEmailPanel-D0A9Zgxr.js")), F = i.config.comments ? Jn({
4746
+ }) : null, N = I(() => import("./chunks/TestEmailPanel-CWQFB7J3.js")), F = i.config.comments ? Yn({
4721
4747
  provider: i.config.comments,
4722
4748
  editor: l,
4723
4749
  user: i.config.user,
@@ -4725,8 +4751,8 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4725
4751
  onError: i.config.onError,
4726
4752
  isAvailable: i.cloud ? () => i.cloud.isCommentsAvailable() : void 0,
4727
4753
  isBlockSaved: i.cloud ? (e) => i.cloud.isBlockSaved(e) : void 0
4728
- }) : null, R = I(() => import("./chunks/CommentsPanel-CntwwocI.js")), z = I(() => import("./chunks/CloudPanels-DkmR05nB.js")), B = I(() => import("./chunks/CloudHeaderExtras-D5P5IEKA.js")), ee = I(() => import("./chunks/VersionHistoryPanels-82P0Q0HM.js")), te = sr(i.config.templates?.autoSave, !1), V = te && f !== null;
4729
- te && f !== null && !f.canSave.value && Tt.warn("config.templates.autoSave is on but this provider's save is false — there is nothing to persist to. Give it a real save function, or use `onChange` to persist the content yourself."), i.config.changeDebounce !== void 0 && f !== null && i.config.templates?.autoSave === void 0 && !i.config.onChange && Tt.warn("config.changeDebounce is set but nothing will use it — config.templates.autoSave is unset and there is no onChange either, so the timer has no consumer. Set config.templates.autoSave, or add onChange, so the debounce takes effect.");
4754
+ }) : null, R = I(() => import("./chunks/CommentsPanel-CV2HveQk.js")), z = I(() => import("./chunks/CloudPanels-Ba3GLmvF.js")), B = I(() => import("./chunks/CloudHeaderExtras-Hk98ub-C.js")), ee = I(() => import("./chunks/VersionHistoryPanels-CQJ5OggF.js")), te = cr(i.config.templates?.autoSave, !1), V = te && f !== null;
4755
+ te && f !== null && !f.canSave.value && Et.warn("config.templates.autoSave is on but this provider's save is false — there is nothing to persist to. Give it a real save function, or use `onChange` to persist the content yourself."), i.config.changeDebounce !== void 0 && f !== null && i.config.templates?.autoSave === void 0 && !i.config.onChange && Et.warn("config.changeDebounce is set but nothing will use it — config.templates.autoSave is unset and there is no onChange either, so the timer has no consumer. Set config.templates.autoSave, or add onChange, so the debounce takes effect.");
4730
4756
  let H = i.config.onChange || V ? {
4731
4757
  onChange: () => {
4732
4758
  i.config.onChange?.(JSON.parse(JSON.stringify(l.state.content))), V && f.requestAutoSave();
@@ -4757,7 +4783,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4757
4783
  canDropMedia: O?.canDrop ?? null,
4758
4784
  resolvePreview: i.config.resolvePreview,
4759
4785
  resolveImageUrl: i.config.resolveImageUrl,
4760
- lint: cr(i.config),
4786
+ lint: lr(i.config),
4761
4787
  locale: i.config.locale
4762
4788
  },
4763
4789
  translations: i.translations,
@@ -4770,9 +4796,9 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4770
4796
  }), G = i.cloud && u ? i.cloud.ready({
4771
4797
  core: W,
4772
4798
  capabilities: U
4773
- }) : null, ne = i.config.versionHistory ? or({
4799
+ }) : null, ne = i.config.versionHistory ? sr({
4774
4800
  provider: i.config.versionHistory,
4775
- editor: gr(l, i.config.mergeTags),
4801
+ editor: _r(l, i.config.mergeTags),
4776
4802
  history: W.history,
4777
4803
  conditionPreview: W.conditionPreview,
4778
4804
  autoSave: W.autoSave,
@@ -4798,6 +4824,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4798
4824
  getContent: () => l.content.value,
4799
4825
  setContent: (e) => l.setContent(e),
4800
4826
  setTheme: (e) => l.setUiTheme(e),
4827
+ setMergeTags: W.setMergeTags,
4801
4828
  isDirty: () => l.state.isDirty,
4802
4829
  create: K.create,
4803
4830
  load: K.load,
@@ -4813,9 +4840,9 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4813
4840
  onDragover: n[8] ||= w(() => {}, ["prevent"]),
4814
4841
  onDrop: n[9] ||= w(() => {}, ["prevent"])
4815
4842
  }, [
4816
- g(Mr),
4817
- k("div", gd, [
4818
- g(Du, {
4843
+ g(Nr),
4844
+ k("div", _d, [
4845
+ g(Ou, {
4819
4846
  editor: h(l),
4820
4847
  core: h(W),
4821
4848
  templates: h(f),
@@ -4846,12 +4873,12 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4846
4873
  "version-history",
4847
4874
  "comments"
4848
4875
  ]),
4849
- d(g(Hr, null, null, 512), [[j, !h(l).state.previewMode]]),
4876
+ d(g(Ur, null, null, 512), [[j, !h(l).state.previewMode]]),
4850
4877
  k("div", {
4851
4878
  class: v(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto tpl:bg-[var(--tpl-canvas-bg)]", [ie.value, h(ne)?.isPreviewing.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
4852
4879
  style: { transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)" }
4853
- }, [k("div", _d, [k("div", vd, [g(D, { name: "tpl-preview-pill" }, {
4854
- default: r(() => [h(l).state.previewMode && !h(W).previewResolution.supersedesSamples.value ? (o(), b("div", yd, [g(Vn, {
4880
+ }, [k("div", vd, [k("div", yd, [g(D, { name: "tpl-preview-pill" }, {
4881
+ default: r(() => [h(l).state.previewMode && !h(W).previewResolution.supersedesSamples.value ? (o(), b("div", bd, [g(Hn, {
4855
4882
  "sample-mode": h(W).mergeTagSampleMode.value,
4856
4883
  onChange: n[0] ||= (e) => h(W).mergeTagSampleMode.value = e
4857
4884
  }, null, 8, ["sample-mode"])])) : x("", !0)]),
@@ -4860,15 +4887,15 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4860
4887
  default: r(() => [h(W).conditionPreview.hasHiddenBlocks.value && h(W).appliesConditionFilter.value ? (o(), b("button", {
4861
4888
  key: 0,
4862
4889
  type: "button",
4863
- class: v([h(vn), "tpl:shadow-[var(--tpl-shadow-md)]"]),
4890
+ class: v([h(yn), "tpl:shadow-[var(--tpl-shadow-md)]"]),
4864
4891
  "data-testid": "restore-hidden-blocks",
4865
4892
  onClick: n[1] ||= (e) => h(W).conditionPreview.reset()
4866
- }, [g(h(Nt), {
4893
+ }, [g(h(Pt), {
4867
4894
  size: 16,
4868
4895
  "stroke-width": 2
4869
4896
  }), L(" " + P(h(W).t.blockSettings.restoreHiddenBlocks), 1)], 2)) : x("", !0)]),
4870
4897
  _: 1
4871
- })])]), k("main", bd, [g(jr, {
4898
+ })])]), k("main", xd, [g(Mr, {
4872
4899
  viewport: h(l).state.viewport,
4873
4900
  content: h(W).previewResolution.content.value,
4874
4901
  "selected-block-id": h(l).state.selectedBlockId,
@@ -4887,7 +4914,7 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4887
4914
  "locked-blocks",
4888
4915
  "onSelectBlock"
4889
4916
  ])])], 2),
4890
- t.config.branding === !1 ? x("", !0) : (o(), E(au, {
4917
+ t.config.branding === !1 ? x("", !0) : (o(), E(ou, {
4891
4918
  key: 0,
4892
4919
  "position-class": [ie.value]
4893
4920
  }, null, 8, ["position-class"])),
@@ -4897,8 +4924,8 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4897
4924
  "aria-live": "polite",
4898
4925
  "aria-atomic": "true",
4899
4926
  "aria-label": h(W).t.landmarks.reorderAnnouncements
4900
- }, P(h(W).keyboardReorder.announcement.value), 9, xd),
4901
- d(g(Zl, {
4927
+ }, P(h(W).keyboardReorder.announcement.value), 9, Sd),
4928
+ d(g(Ql, {
4902
4929
  "selected-block": h(l).selectedBlock.value,
4903
4930
  settings: h(l).content.value.settings,
4904
4931
  "shifted-left": re.value,
@@ -4920,8 +4947,8 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4920
4947
  ref: (e) => h(W).popoverRoot.value = e,
4921
4948
  class: "tpl-popover-root"
4922
4949
  }, null, 512),
4923
- g(qu),
4924
- g(md),
4950
+ g(Ju),
4951
+ g(hd),
4925
4952
  h(_)?.isAvailable.value ? (o(), E(h(C), {
4926
4953
  key: 0,
4927
4954
  feature: h(_)
@@ -4966,26 +4993,26 @@ var Fs = { class: "tpl:mb-3.5" }, Is = ["value"], Ls = ["value"], Rs = {
4966
4993
  "cloud",
4967
4994
  "ready"
4968
4995
  ])) : x("", !0),
4969
- h(oe) ? (o(), E(nu, { key: 6 })) : x("", !0)
4970
- ], 46, hd));
4996
+ h(oe) ? (o(), E(ru, { key: 6 })) : x("", !0)
4997
+ ], 46, gd));
4971
4998
  }
4972
- }), [["__scopeId", "data-v-3acbb278"]]);
4999
+ }), [["__scopeId", "data-v-433680d1"]]);
4973
5000
  //#endregion
4974
5001
  //#region src/utils/renderProvider.ts
4975
- function Cd(e) {
5002
+ function wd(e) {
4976
5003
  return {
4977
5004
  customFonts: e.customFonts.value,
4978
5005
  defaultFallback: e.defaultFallback.value
4979
5006
  };
4980
5007
  }
4981
- async function wd(e) {
5008
+ async function Td(e) {
4982
5009
  let t = H(e.getContent());
4983
- return await Gn(t, { renderCustomBlock: e.renderCustomBlock }), {
5010
+ return await Kn(t, { renderCustomBlock: e.renderCustomBlock }), {
4984
5011
  content: t,
4985
5012
  fonts: e.getFonts()
4986
5013
  };
4987
5014
  }
4988
- function Td(e) {
5015
+ function Ed(e) {
4989
5016
  async function t() {
4990
5017
  let t = e.provider, n = t?.toMjml?.bind(t);
4991
5018
  return n ? n(await e.buildPayload()) : e.renderLocalMjml();
@@ -5008,50 +5035,50 @@ function Td(e) {
5008
5035
  }
5009
5036
  //#endregion
5010
5037
  //#region \0virtual:editor-css
5011
- var Ed = "@import\"https://fonts.bunny.net/css?family=geist:400,500,600\";.tpl-loading-track[data-v-c3d50014]{height:3px;width:100%;border-radius:9999px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--tpl-primary) 10%,transparent) 15%,color-mix(in srgb,var(--tpl-primary) 30%,transparent) 30%,var(--tpl-primary) 50%,color-mix(in srgb,var(--tpl-primary) 30%,transparent) 70%,color-mix(in srgb,var(--tpl-primary) 10%,transparent) 85%,transparent 100%);background-size:200% 100%;animation:tpl-loading-flow-c3d50014 3s ease-in-out infinite}@keyframes tpl-loading-flow-c3d50014{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.tpl-loading-track-fill[data-v-c3d50014]{animation:none;background-position:50% 0}}.tpl-block--idle[data-v-2c239048]{outline:1.5px dashed color-mix(in srgb,var(--tpl-primary) 30%,transparent);outline-offset:-1px;transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block--idle[data-v-2c239048]:hover{outline:1.5px solid color-mix(in srgb,var(--tpl-primary) 50%,transparent);outline-offset:-1px;box-shadow:0 0 8px color-mix(in srgb,var(--tpl-primary) 8%,transparent)}.tpl-block--picked[data-v-2c239048]{outline:2px solid var(--tpl-primary);outline-offset:-1px;box-shadow:0 0 0 4px color-mix(in srgb,var(--tpl-primary) 18%,transparent);transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block--selected[data-v-2c239048]{outline:2px solid color-mix(in srgb,var(--tpl-primary) 60%,transparent);outline-offset:-1px;box-shadow:0 0 12px color-mix(in srgb,var(--tpl-primary) 15%,transparent);transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block-action-btn[data-v-2c239048]{color:var(--tpl-chrome-text-muted);background-color:transparent}.tpl-block-action-btn[data-v-2c239048]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-chrome-text)}.tpl-block-action-btn[data-v-2c239048]:active{transform:scale(.9)}.tpl-block-delete-btn[data-v-2c239048]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-condition-toggle[data-v-2c239048]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-condition-toggle[data-v-2c239048]:active{transform:scale(.9)}.tpl-block-hidden-overlay[data-v-2c239048]{background-color:color-mix(in srgb,var(--tpl-bg) 60%,transparent)}.tpl-table-editable[data-v-963ac422] th[contenteditable],.tpl-table-editable[data-v-963ac422] td[contenteditable]{outline:none;cursor:text;min-width:calc(2 * var(--tpl-base-size))}.tpl-table-editable[data-v-963ac422] th[contenteditable]:empty:before,.tpl-table-editable[data-v-963ac422] td[contenteditable]:empty:before{content:attr(data-placeholder);color:var(--tpl-text-dim);pointer-events:none}.tpl-table-editable[data-v-963ac422] th[contenteditable]:focus,.tpl-table-editable[data-v-963ac422] td[contenteditable]:focus{outline:2px solid var(--tpl-primary);outline-offset:-2px;border-radius:1px}hex-color-picker{--hcp-width: 200px}hex-color-picker::part(hue){border-radius:var(--tpl-radius-sm, 7px)}hex-color-picker::part(saturation){border-radius:var(--tpl-radius-sm, 7px) var(--tpl-radius-sm, 7px) 0 0}.tpl-color-swatch-empty{background-color:var(--tpl-bg);background-image:linear-gradient(to top right,transparent calc(50% - .75px),var(--tpl-text-dim) calc(50% - .75px),var(--tpl-text-dim) calc(50% + .75px),transparent calc(50% + .75px))}.tpl-pulse-fill[data-v-31b31866]{animation:tpl-field-pulse-31b31866 1s ease-out}@keyframes tpl-field-pulse-31b31866{0%{box-shadow:0 0 color-mix(in srgb,var(--tpl-warning) 30%,transparent);background-color:color-mix(in srgb,var(--tpl-warning) 6%,transparent)}40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-warning) 15%,transparent);background-color:color-mix(in srgb,var(--tpl-warning) 5%,transparent)}to{box-shadow:0 0 0 0 transparent;background-color:transparent}}@media(prefers-reduced-motion:reduce){.tpl-pulse-fill[data-v-31b31866]{animation:none}}.tpl-canvas--dark-mode[data-v-ec928abd] .tpl-block-content:not(.tpl-block-content *){filter:invert(1) hue-rotate(180deg)}[data-v-ec928abd] .tpl-block-content{transition:filter .3s ease}.tpl-canvas--dark-mode[data-v-ec928abd] .tpl-block-content img{filter:invert(1) hue-rotate(180deg)}input[type=number][data-v-69591c1e]::-webkit-outer-spin-button,input[type=number][data-v-69591c1e]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-69591c1e]{-moz-appearance:textfield}.tpl-collapsible[data-v-dbc9901a]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.16,1,.3,1)}.tpl-collapsible--open[data-v-dbc9901a]{grid-template-rows:1fr}.tpl-collapsible>div[data-v-dbc9901a]{overflow:hidden}.tpl-icon-enter-active[data-v-632aa74f],.tpl-icon-leave-active[data-v-632aa74f]{transition:opacity .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.tpl-icon-enter-from[data-v-632aa74f],.tpl-icon-leave-to[data-v-632aa74f]{opacity:0;transform:scale(.8)}.tpl-dark-mode-toggle[data-v-632aa74f]:hover{background-color:var(--tpl-bg-hover)}.tpl-dark-mode-toggle[data-v-632aa74f]:active{transform:scale(.92)}.tpl-icon-enter-active[data-v-eef7b2ca],.tpl-icon-leave-active[data-v-eef7b2ca]{transition:opacity .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.tpl-icon-enter-from[data-v-eef7b2ca],.tpl-icon-leave-to[data-v-eef7b2ca]{opacity:0;transform:scale(.8)}.tpl-preview-toggle[data-v-eef7b2ca]:hover{background-color:var(--tpl-bg-hover)}.tpl-preview-toggle[data-v-eef7b2ca]:active{transform:scale(.92)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tpl-comet-angle:0deg;--tpl-comet-start:100%}}}@layer theme{:root,:host{--tpl-radius-sm:calc(.25 * var(--tpl-base-size));--tpl-radius-md:calc(.375 * var(--tpl-base-size));--tpl-radius-lg:calc(.5 * var(--tpl-base-size));--tpl-shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tpl-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tpl-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tpl-shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tpl-radius:calc(.25 * var(--tpl-base-size))}}.tpl\\:pointer-events-auto{pointer-events:auto}.tpl\\:pointer-events-none{pointer-events:none}.tpl\\:invisible{visibility:hidden}.tpl\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tpl\\:absolute{position:absolute}.tpl\\:fixed{position:fixed}.tpl\\:relative{position:relative}.tpl\\:sticky{position:sticky}.tpl\\:inset-0{inset:0}.tpl\\:inset-x-0{inset-inline:0}.tpl\\:inset-y-1{inset-block:calc(var(--tpl-base-size) / 4)}.tpl\\:-top-0\\.5{top:calc(calc(var(--tpl-base-size) / 4) * -.5)}.tpl\\:-top-1{top:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:top-0{top:0}.tpl\\:top-1{top:calc(var(--tpl-base-size) / 4)}.tpl\\:top-1\\.5{top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:top-1\\/2{top:50%}.tpl\\:top-2{top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:top-14{top:calc(calc(var(--tpl-base-size) / 4) * 14)}.tpl\\:top-16{top:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:top-\\[104px\\]{top:104px}.tpl\\:top-full{top:100%}.tpl\\:-right-1{right:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:-right-2{right:calc(calc(var(--tpl-base-size) / 4) * -2)}.tpl\\:right-0{right:0}.tpl\\:right-1{right:calc(var(--tpl-base-size) / 4)}.tpl\\:right-1\\.5{right:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:right-2{right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:right-2\\.5{right:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:right-\\[320px\\]{right:320px}.tpl\\:right-\\[360px\\]{right:360px}.tpl\\:right-\\[680px\\]{right:680px}.tpl\\:bottom-0{bottom:0}.tpl\\:bottom-1{bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:bottom-10{bottom:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:bottom-full{bottom:100%}.tpl\\:-left-1{left:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:left-0{left:0}.tpl\\:left-1\\.5{left:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:left-1\\/2{left:50%}.tpl\\:left-2\\.5{left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:left-3{left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:left-5{left:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:left-12{left:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:z-10{z-index:10}.tpl\\:z-40{z-index:40}.tpl\\:z-50{z-index:50}.tpl\\:z-\\[4\\]{z-index:4}.tpl\\:z-\\[5\\]{z-index:5}.tpl\\:z-\\[60\\]{z-index:60}.tpl\\:z-\\[100\\]{z-index:100}.tpl\\:m-0{margin:0}.tpl\\:m-6{margin:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:mx-0\\.5{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:mx-1{margin-inline:calc(var(--tpl-base-size) / 4)}.tpl\\:mx-1\\.5{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mx-3{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mx-4{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:mx-6{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:mx-auto{margin-inline:auto}.tpl\\:mt-0\\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:mt-1{margin-top:calc(var(--tpl-base-size) / 4)}.tpl\\:mt-1\\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mt-2{margin-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:mt-3{margin-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mt-4{margin-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:\\!mb-0{margin-bottom:0!important}.tpl\\:mb-1{margin-bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:mb-1\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mb-2{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:mb-2\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:mb-3{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mb-3\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:mb-4{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:mb-px{margin-bottom:1px}.tpl\\:-ml-48{margin-left:calc(calc(var(--tpl-base-size) / 4) * -48)}.tpl\\:ml-0{margin-left:0}.tpl\\:ml-0\\.5{margin-left:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:ml-1{margin-left:calc(var(--tpl-base-size) / 4)}.tpl\\:ml-5{margin-left:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:ml-auto{margin-left:auto}.tpl\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl\\:\\!flex{display:flex!important}.tpl\\:block{display:block}.tpl\\:flex{display:flex}.tpl\\:grid{display:grid}.tpl\\:hidden{display:none}.tpl\\:inline{display:inline}.tpl\\:inline-block{display:inline-block}.tpl\\:inline-flex{display:inline-flex}.tpl\\:aspect-square{aspect-ratio:1}.tpl\\:size-1\\.5{width:calc(calc(var(--tpl-base-size) / 4) * 1.5);height:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:size-2{width:calc(calc(var(--tpl-base-size) / 4) * 2);height:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:size-3{width:calc(calc(var(--tpl-base-size) / 4) * 3);height:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:size-4{width:calc(calc(var(--tpl-base-size) / 4) * 4);height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:size-4\\.5{width:calc(calc(var(--tpl-base-size) / 4) * 4.5);height:calc(calc(var(--tpl-base-size) / 4) * 4.5)}.tpl\\:size-5{width:calc(calc(var(--tpl-base-size) / 4) * 5);height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:size-6{width:calc(calc(var(--tpl-base-size) / 4) * 6);height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:size-7{width:calc(calc(var(--tpl-base-size) / 4) * 7);height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:size-8{width:calc(calc(var(--tpl-base-size) / 4) * 8);height:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:size-10{width:calc(calc(var(--tpl-base-size) / 4) * 10);height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:size-16{width:calc(calc(var(--tpl-base-size) / 4) * 16);height:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:size-full{width:100%;height:100%}.tpl\\:h-0{height:0}.tpl\\:h-2\\.5{height:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:h-3{height:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:h-4{height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:h-5{height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:h-6{height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:h-7{height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:h-8{height:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:h-9{height:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:h-10{height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:h-12{height:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:h-14{height:calc(calc(var(--tpl-base-size) / 4) * 14)}.tpl\\:h-16{height:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:h-32{height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:h-44{height:calc(calc(var(--tpl-base-size) / 4) * 44)}.tpl\\:h-\\[32px\\]{height:32px}.tpl\\:h-auto{height:auto}.tpl\\:h-full{height:100%}.tpl\\:max-h-24{max-height:calc(calc(var(--tpl-base-size) / 4) * 24)}.tpl\\:max-h-32{max-height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:max-h-48{max-height:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\\:max-h-56{max-height:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\\:max-h-64{max-height:calc(calc(var(--tpl-base-size) / 4) * 64)}.tpl\\:max-h-\\[50vh\\]{max-height:50vh}.tpl\\:max-h-\\[60vh\\]{max-height:60vh}.tpl\\:max-h-\\[80\\%\\]{max-height:80%}.tpl\\:max-h-\\[80vh\\]{max-height:80vh}.tpl\\:max-h-\\[90\\%\\]{max-height:90%}.tpl\\:max-h-\\[90vh\\]{max-height:90vh}.tpl\\:max-h-full{max-height:100%}.tpl\\:min-h-0{min-height:0}.tpl\\:min-h-6{min-height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:min-h-10{min-height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:min-h-20{min-height:calc(calc(var(--tpl-base-size) / 4) * 20)}.tpl\\:min-h-\\[1\\.5em\\]{min-height:1.5em}.tpl\\:min-h-\\[1em\\]{min-height:1em}.tpl\\:min-h-\\[48px\\]{min-height:48px}.tpl\\:min-h-\\[60px\\]{min-height:60px}.tpl\\:min-h-\\[64px\\]{min-height:64px}.tpl\\:min-h-\\[68px\\]{min-height:68px}.tpl\\:min-h-\\[72px\\]{min-height:72px}.tpl\\:min-h-\\[80px\\]{min-height:80px}.tpl\\:min-h-\\[100px\\]{min-height:100px}.tpl\\:min-h-\\[120px\\]{min-height:120px}.tpl\\:min-h-\\[150px\\]{min-height:150px}.tpl\\:min-h-\\[400px\\]{min-height:400px}.tpl\\:w-1\\/2{width:50%}.tpl\\:w-1\\/3{width:33.3333%}.tpl\\:w-1\\/4{width:25%}.tpl\\:w-2\\/3{width:66.6667%}.tpl\\:w-3\\/4{width:75%}.tpl\\:w-5\\/6{width:83.3333%}.tpl\\:w-7{width:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:w-8{width:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:w-9{width:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:w-10{width:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:w-12{width:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:w-16{width:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:w-20{width:calc(calc(var(--tpl-base-size) / 4) * 20)}.tpl\\:w-28{width:calc(calc(var(--tpl-base-size) / 4) * 28)}.tpl\\:w-32{width:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:w-36{width:calc(calc(var(--tpl-base-size) / 4) * 36)}.tpl\\:w-40{width:calc(calc(var(--tpl-base-size) / 4) * 40)}.tpl\\:w-48{width:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\\:w-52{width:calc(calc(var(--tpl-base-size) / 4) * 52)}.tpl\\:w-56{width:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\\:w-72{width:calc(calc(var(--tpl-base-size) / 4) * 72)}.tpl\\:w-\\[280px\\]{width:280px}.tpl\\:w-\\[300px\\]{width:300px}.tpl\\:w-\\[320px\\]{width:320px}.tpl\\:w-\\[360px\\]{width:360px}.tpl\\:w-\\[400px\\]{width:400px}.tpl\\:w-\\[420px\\]{width:420px}.tpl\\:w-\\[1000px\\]{width:1000px}.tpl\\:w-\\[min\\(420px\\,92vw\\)\\]{width:min(420px,92vw)}.tpl\\:w-full{width:100%}.tpl\\:w-px{width:1px}.tpl\\:max-w-2xl{max-width:calc(42 * var(--tpl-base-size))}.tpl\\:max-w-3xl{max-width:calc(48 * var(--tpl-base-size))}.tpl\\:max-w-\\[220px\\]{max-width:220px}.tpl\\:max-w-\\[240px\\]{max-width:240px}.tpl\\:max-w-\\[260px\\]{max-width:260px}.tpl\\:max-w-\\[320px\\]{max-width:320px}.tpl\\:max-w-\\[600px\\]{max-width:600px}.tpl\\:max-w-\\[calc\\(100\\%_-_2\\*var\\(--tpl-base-size\\)\\)\\]{max-width:calc(100% - 2 * var(--tpl-base-size))}.tpl\\:max-w-\\[calc\\(100vw_-_2\\*var\\(--tpl-base-size\\)\\)\\]{max-width:calc(100vw - 2 * var(--tpl-base-size))}.tpl\\:max-w-full{max-width:100%}.tpl\\:max-w-md{max-width:calc(28 * var(--tpl-base-size))}.tpl\\:max-w-sm{max-width:calc(24 * var(--tpl-base-size))}.tpl\\:min-w-0{min-width:0}.tpl\\:min-w-6{min-width:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:min-w-\\[20px\\]{min-width:20px}.tpl\\:min-w-\\[200px\\]{min-width:200px}.tpl\\:flex-1{flex:1}.tpl\\:flex-shrink-0,.tpl\\:shrink-0{flex-shrink:0}.tpl\\:origin-top-right{transform-origin:100% 0}.tpl\\:-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-4{--tw-translate-x:calc(calc(var(--tpl-base-size) / 4) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-2{--tw-translate-y:calc(calc(var(--tpl-base-size) / 4) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-1{--tw-translate-y:calc(var(--tpl-base-size) / 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-\\[-8px\\]{--tw-translate-y:-8px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:-rotate-90{rotate:-90deg}.tpl\\:rotate-0{rotate:0deg}.tpl\\:rotate-45{rotate:45deg}.tpl\\:rotate-90{rotate:90deg}.tpl\\:rotate-180{rotate:180deg}.tpl\\:animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.tpl\\:animate-spin{animation:1s linear infinite spin}.tpl\\:cursor-default{cursor:default}.tpl\\:cursor-grab{cursor:grab}.tpl\\:cursor-help{cursor:help}.tpl\\:cursor-not-allowed{cursor:not-allowed}.tpl\\:cursor-pointer{cursor:pointer}.tpl\\:resize-none{resize:none}.tpl\\:resize-y{resize:vertical}.tpl\\:list-none{list-style-type:none}.tpl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tpl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tpl\\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.tpl\\:grid-cols-\\[1fr_auto_1fr\\]{grid-template-columns:1fr auto 1fr}.tpl\\:flex-col{flex-direction:column}.tpl\\:flex-row-reverse{flex-direction:row-reverse}.tpl\\:flex-wrap{flex-wrap:wrap}.tpl\\:items-center{align-items:center}.tpl\\:items-end{align-items:flex-end}.tpl\\:items-start{align-items:flex-start}.tpl\\:items-stretch{align-items:stretch}.tpl\\:justify-between{justify-content:space-between}.tpl\\:justify-center{justify-content:center}.tpl\\:justify-end{justify-content:flex-end}.tpl\\:gap-0{gap:0}.tpl\\:gap-0\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:gap-1{gap:calc(var(--tpl-base-size) / 4)}.tpl\\:gap-1\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:gap-2{gap:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:gap-2\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:gap-3{gap:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:gap-3\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:gap-4{gap:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:gap-5{gap:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:gap-6{gap:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:gap-10{gap:calc(calc(var(--tpl-base-size) / 4) * 10)}:where(.tpl\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tpl-base-size) / 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tpl-base-size) / 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tpl\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tpl\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * calc(1 - var(--tw-space-y-reverse)))}.tpl\\:gap-x-1{column-gap:calc(var(--tpl-base-size) / 4)}.tpl\\:gap-x-3{column-gap:calc(calc(var(--tpl-base-size) / 4) * 3)}:where(.tpl\\:-space-x-1\\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--tpl-base-size) / 4) * -1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--tpl-base-size) / 4) * -1.5) * calc(1 - var(--tw-space-x-reverse)))}.tpl\\:gap-y-0\\.5{row-gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:gap-y-1\\.5{row-gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:self-end{align-self:flex-end}.tpl\\:self-start{align-self:flex-start}.tpl\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl\\:overflow-auto{overflow:auto}.tpl\\:overflow-hidden{overflow:hidden}.tpl\\:overflow-x-auto{overflow-x:auto}.tpl\\:overflow-y-auto{overflow-y:auto}.tpl\\:rounded{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\\:rounded-\\[calc\\(var\\(--tpl-radius-sm\\)-2px\\)\\]{border-radius:calc(var(--tpl-radius-sm) - 2px)}.tpl\\:rounded-\\[var\\(--tpl-radius\\)\\]{border-radius:var(--tpl-radius)}.tpl\\:rounded-\\[var\\(--tpl-radius-lg\\)\\]{border-radius:var(--tpl-radius-lg)}.tpl\\:rounded-\\[var\\(--tpl-radius-md\\)\\]{border-radius:var(--tpl-radius-md)}.tpl\\:rounded-\\[var\\(--tpl-radius-sm\\)\\]{border-radius:var(--tpl-radius-sm)}.tpl\\:rounded-full{border-radius:3.40282e38px}.tpl\\:rounded-lg{border-radius:calc(.5 * var(--tpl-base-size))}.tpl\\:rounded-md{border-radius:calc(.375 * var(--tpl-base-size))}.tpl\\:rounded-sm{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\\:rounded-xl{border-radius:calc(.75 * var(--tpl-base-size))}.tpl\\:rounded-l-\\[var\\(--tpl-radius-sm\\)\\]{border-top-left-radius:var(--tpl-radius-sm);border-bottom-left-radius:var(--tpl-radius-sm)}.tpl\\:rounded-tl-lg{border-top-left-radius:calc(.5 * var(--tpl-base-size))}.tpl\\:rounded-r-\\[var\\(--tpl-radius-sm\\)\\]{border-top-right-radius:var(--tpl-radius-sm);border-bottom-right-radius:var(--tpl-radius-sm)}.tpl\\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.tpl\\:border{border-style:var(--tw-border-style);border-width:1px}.tpl\\:border-0{border-style:var(--tw-border-style);border-width:0}.tpl\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tpl\\:border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.tpl\\:border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.tpl\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tpl\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.tpl\\:border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.tpl\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tpl\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.tpl\\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.tpl\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tpl\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tpl\\:border-none{--tw-border-style:none;border-style:none}.tpl\\:border-\\[var\\(--tpl-bg\\)\\]{border-color:var(--tpl-bg)}.tpl\\:border-\\[var\\(--tpl-border\\)\\]{border-color:var(--tpl-border)}.tpl\\:border-\\[var\\(--tpl-border-light\\)\\]{border-color:var(--tpl-border-light)}.tpl\\:border-\\[var\\(--tpl-danger\\)\\]{border-color:var(--tpl-danger)}.tpl\\:border-\\[var\\(--tpl-primary\\)\\]{border-color:var(--tpl-primary)}.tpl\\:border-\\[var\\(--tpl-primary-hover\\)\\]{border-color:var(--tpl-primary-hover)}.tpl\\:border-\\[var\\(--tpl-warning\\)\\]{border-color:var(--tpl-warning)}.tpl\\:border-transparent{border-color:#0000}.tpl\\:border-l-\\[var\\(--tpl-primary\\)\\]{border-left-color:var(--tpl-primary)}.tpl\\:border-l-transparent{border-left-color:#0000}.tpl\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-bg\\)_90\\%\\,transparent\\)\\]{background-color:var(--tpl-bg)}@supports (color:color-mix(in lab,red,red)){.tpl\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-bg\\)_90\\%\\,transparent\\)\\]{background-color:color-mix(in srgb,var(--tpl-bg) 90%,transparent)}}.tpl\\:bg-\\[var\\(--tpl-bg\\)\\]{background-color:var(--tpl-bg)}.tpl\\:bg-\\[var\\(--tpl-bg-active\\)\\]{background-color:var(--tpl-bg-active)}.tpl\\:bg-\\[var\\(--tpl-bg-elevated\\)\\]{background-color:var(--tpl-bg-elevated)}.tpl\\:bg-\\[var\\(--tpl-bg-hover\\)\\]{background-color:var(--tpl-bg-hover)}.tpl\\:bg-\\[var\\(--tpl-border\\)\\]{background-color:var(--tpl-border)}.tpl\\:bg-\\[var\\(--tpl-canvas-bg\\)\\]{background-color:var(--tpl-canvas-bg)}.tpl\\:bg-\\[var\\(--tpl-chrome-bg-elevated\\)\\]{background-color:var(--tpl-chrome-bg-elevated)}.tpl\\:bg-\\[var\\(--tpl-chrome-primary-light\\)\\]{background-color:var(--tpl-chrome-primary-light)}.tpl\\:bg-\\[var\\(--tpl-danger\\)\\]{background-color:var(--tpl-danger)}.tpl\\:bg-\\[var\\(--tpl-danger-light\\)\\]{background-color:var(--tpl-danger-light)}.tpl\\:bg-\\[var\\(--tpl-primary\\)\\]{background-color:var(--tpl-primary)}.tpl\\:bg-\\[var\\(--tpl-primary-light\\)\\]{background-color:var(--tpl-primary-light)}.tpl\\:bg-\\[var\\(--tpl-warning-light\\)\\]{background-color:var(--tpl-warning-light)}.tpl\\:bg-black\\/30{background-color:oklab(0% none none/.3)}.tpl\\:bg-black\\/40{background-color:oklab(0% none none/.4)}.tpl\\:bg-transparent{background-color:#0000}.tpl\\:object-contain{object-fit:contain}.tpl\\:object-cover{object-fit:cover}.tpl\\:p-0{padding:0}.tpl\\:p-0\\.5{padding:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:p-1{padding:calc(var(--tpl-base-size) / 4)}.tpl\\:p-1\\.5{padding:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:p-2{padding:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:p-3{padding:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:p-4{padding:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:p-5{padding:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:p-6{padding:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:p-8{padding:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:px-0\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:px-1{padding-inline:calc(var(--tpl-base-size) / 4)}.tpl\\:px-1\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:px-2{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:px-2\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:px-3{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:px-3\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:px-4{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:px-5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:px-6{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:px-8{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:px-10{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:py-0{padding-block:0}.tpl\\:py-0\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:py-1{padding-block:calc(var(--tpl-base-size) / 4)}.tpl\\:py-1\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:py-2{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:py-2\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:py-3{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:py-3\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:py-4{padding-block:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:py-5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:py-6{padding-block:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:py-8{padding-block:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:py-10{padding-block:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:py-12{padding-block:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:py-16{padding-block:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:py-\\[5px\\]{padding-block:5px}.tpl\\:py-\\[7px\\]{padding-block:7px}.tpl\\:py-px{padding-block:1px}.tpl\\:pt-1{padding-top:calc(var(--tpl-base-size) / 4)}.tpl\\:pt-2{padding-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pt-2\\.5{padding-top:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:pt-3{padding-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pt-4{padding-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pr-2{padding-right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pr-3{padding-right:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pr-4{padding-right:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pr-7{padding-right:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:pr-8{padding-right:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:pb-1{padding-bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:pb-1\\.5{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:pb-2{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pb-3{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pb-4{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pl-2\\.5{padding-left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:pl-3{padding-left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pl-4{padding-left:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pl-8{padding-left:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:pl-9{padding-left:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:pl-\\[18px\\]{padding-left:18px}.tpl\\:text-center{text-align:center}.tpl\\:text-left{text-align:left}.tpl\\:font-\\[inherit\\]{font-family:inherit}.tpl\\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tpl\\:font-sans{font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tpl\\:text-4xl{font-size:calc(2.25 * var(--tpl-base-size));line-height:var(--tw-leading,calc(2.5 / 2.25))}.tpl\\:text-base{font-size:var(--tpl-base-size);line-height:var(--tw-leading, 1.5 )}.tpl\\:text-lg{font-size:calc(1.125 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.75 / 1.125))}.tpl\\:text-sm{font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875))}.tpl\\:text-xs{font-size:calc(.75 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1 / .75))}.tpl\\:text-\\[0\\.8em\\]{font-size:.8em}.tpl\\:text-\\[0\\.9em\\]{font-size:.9em}.tpl\\:text-\\[1em\\]{font-size:1em}.tpl\\:text-\\[8px\\]{font-size:8px}.tpl\\:text-\\[9px\\]{font-size:9px}.tpl\\:text-\\[10px\\]{font-size:10px}.tpl\\:text-\\[11px\\]{font-size:11px}.tpl\\:text-\\[12px\\]{font-size:12px}.tpl\\:text-\\[13px\\]{font-size:13px}.tpl\\:text-\\[length\\:inherit\\]{font-size:inherit}.tpl\\:leading-none{--tw-leading:1;line-height:1}.tpl\\:leading-normal{--tw-leading:1.5;line-height:1.5}.tpl\\:leading-relaxed{--tw-leading:1.625;line-height:1.625}.tpl\\:leading-snug{--tw-leading:1.375;line-height:1.375}.tpl\\:leading-tight{--tw-leading:1.25;line-height:1.25}.tpl\\:font-\\[var\\(--tpl-font-family\\)\\]{--tw-font-weight:var(--tpl-font-family);font-weight:var(--tpl-font-family)}.tpl\\:font-bold{--tw-font-weight:700;font-weight:700}.tpl\\:font-medium{--tw-font-weight:500;font-weight:500}.tpl\\:font-normal{--tw-font-weight:400;font-weight:400}.tpl\\:font-semibold{--tw-font-weight:600;font-weight:600}.tpl\\:tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.tpl\\:tracking-wider{--tw-tracking:.05em;letter-spacing:.05em}.tpl\\:break-all{word-break:break-all}.tpl\\:text-ellipsis{text-overflow:ellipsis}.tpl\\:whitespace-nowrap{white-space:nowrap}.tpl\\:whitespace-pre-wrap{white-space:pre-wrap}.tpl\\:text-\\[var\\(--tpl-bg\\)\\]{color:var(--tpl-bg)}.tpl\\:text-\\[var\\(--tpl-border\\)\\]{color:var(--tpl-border)}.tpl\\:text-\\[var\\(--tpl-border-light\\)\\]{color:var(--tpl-border-light)}.tpl\\:text-\\[var\\(--tpl-chrome-text-dim\\)\\]{color:var(--tpl-chrome-text-dim)}.tpl\\:text-\\[var\\(--tpl-chrome-text-muted\\)\\]{color:var(--tpl-chrome-text-muted)}.tpl\\:text-\\[var\\(--tpl-danger\\)\\]{color:var(--tpl-danger)}.tpl\\:text-\\[var\\(--tpl-on-primary\\)\\]{color:var(--tpl-on-primary)}.tpl\\:text-\\[var\\(--tpl-primary\\)\\]{color:var(--tpl-primary)}.tpl\\:text-\\[var\\(--tpl-primary-hover\\)\\]{color:var(--tpl-primary-hover)}.tpl\\:text-\\[var\\(--tpl-success\\)\\]{color:var(--tpl-success)}.tpl\\:text-\\[var\\(--tpl-success\\,var\\(--tpl-primary\\)\\)\\]{color:var(--tpl-success,var(--tpl-primary))}.tpl\\:text-\\[var\\(--tpl-text\\)\\]{color:var(--tpl-text)}.tpl\\:text-\\[var\\(--tpl-text-dim\\)\\]{color:var(--tpl-text-dim)}.tpl\\:text-\\[var\\(--tpl-text-muted\\)\\]{color:var(--tpl-text-muted)}.tpl\\:text-\\[var\\(--tpl-warning\\)\\]{color:var(--tpl-warning)}.tpl\\:text-white{color:#fff}.tpl\\:normal-case{text-transform:none}.tpl\\:uppercase{text-transform:uppercase}.tpl\\:italic{font-style:italic}.tpl\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tpl\\:no-underline{text-decoration-line:none}.tpl\\:underline{text-decoration-line:underline}.tpl\\:accent-\\[var\\(--tpl-primary\\)\\]{accent-color:var(--tpl-primary)}.tpl\\:opacity-0{opacity:0}.tpl\\:opacity-50{opacity:.5}.tpl\\:opacity-60{opacity:.6}.tpl\\:opacity-70{opacity:.7}.tpl\\:opacity-90{opacity:.9}.tpl\\:opacity-100{opacity:1}.tpl\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-ring\\)\\]{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow\\)\\]{--tw-shadow:var(--tpl-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-lg\\)\\]{--tw-shadow:var(--tpl-shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-md\\)\\]{--tw-shadow:var(--tpl-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-sm\\)\\]{--tw-shadow:var(--tpl-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-\\[var\\(--tpl-border\\)\\]{--tw-ring-color:var(--tpl-border)}.tpl\\:ring-\\[var\\(--tpl-primary\\)\\]{--tw-ring-color:var(--tpl-primary)}.tpl\\:ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tpl\\:ring-offset-\\[var\\(--tpl-bg-elevated\\)\\]{--tw-ring-offset-color:var(--tpl-bg-elevated)}.tpl\\:backdrop-blur-\\[2px\\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.tpl\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tpl\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.tpl\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tpl\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.tpl\\:duration-\\[80ms\\]{--tw-duration:80ms;transition-duration:80ms}.tpl\\:duration-\\[120ms\\]{--tw-duration:.12s;transition-duration:.12s}.tpl\\:ease-\\[cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.tpl\\:ease-in{--tw-ease:cubic-bezier(.4, 0, 1, 1);transition-timing-function:cubic-bezier(.4,0,1,1)}.tpl\\:ease-out{--tw-ease:cubic-bezier(0, 0, .2, 1);transition-timing-function:cubic-bezier(0,0,.2,1)}.tpl\\:outline-none{--tw-outline-style:none;outline-style:none}.tpl\\:select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.tpl\\:group-hover\\:bg-black\\/40:is(:where(.tpl\\:group):hover *){background-color:oklab(0% none none/.4)}.tpl\\:group-hover\\:opacity-100:is(:where(.tpl\\:group):hover *){opacity:1}}.tpl\\:placeholder\\:text-\\[var\\(--tpl-text-dim\\)\\]::placeholder{color:var(--tpl-text-dim)}.tpl\\:first\\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.tpl\\:last\\:mb-0:last-child{margin-bottom:0}@media(hover:hover){.tpl\\:hover\\:z-10:hover{z-index:10}.tpl\\:hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:border-\\[var\\(--tpl-border\\)\\]:hover{border-color:var(--tpl-border)}.tpl\\:hover\\:border-\\[var\\(--tpl-danger\\)\\]:hover{border-color:var(--tpl-danger)}.tpl\\:hover\\:border-\\[var\\(--tpl-primary\\)\\]:hover{border-color:var(--tpl-primary)}.tpl\\:hover\\:border-\\[var\\(--tpl-text-dim\\)\\]:hover{border-color:var(--tpl-text-dim)}.tpl\\:hover\\:border-l-\\[var\\(--tpl-primary\\)\\]:hover{border-left-color:var(--tpl-primary)}.tpl\\:hover\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-text\\)_8\\%\\,transparent\\)\\]:hover{background-color:var(--tpl-text)}@supports (color:color-mix(in lab,red,red)){.tpl\\:hover\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-text\\)_8\\%\\,transparent\\)\\]:hover{background-color:color-mix(in srgb,var(--tpl-text) 8%,transparent)}}.tpl\\:hover\\:bg-\\[var\\(--tpl-bg-active\\)\\]:hover{background-color:var(--tpl-bg-active)}.tpl\\:hover\\:bg-\\[var\\(--tpl-bg-hover\\)\\]:hover{background-color:var(--tpl-bg-hover)}.tpl\\:hover\\:bg-\\[var\\(--tpl-danger-light\\)\\]:hover{background-color:var(--tpl-danger-light)}.tpl\\:hover\\:bg-\\[var\\(--tpl-primary-hover\\)\\]:hover{background-color:var(--tpl-primary-hover)}.tpl\\:hover\\:bg-\\[var\\(--tpl-primary-light\\)\\]:hover{background-color:var(--tpl-primary-light)}.tpl\\:hover\\:bg-\\[var\\(--tpl-warning-light\\)\\]:hover{background-color:var(--tpl-warning-light)}.tpl\\:hover\\:text-\\[var\\(--tpl-danger\\)\\]:hover{color:var(--tpl-danger)}.tpl\\:hover\\:text-\\[var\\(--tpl-primary\\)\\]:hover{color:var(--tpl-primary)}.tpl\\:hover\\:text-\\[var\\(--tpl-text\\)\\]:hover{color:var(--tpl-text)}.tpl\\:hover\\:underline:hover{text-decoration-line:underline}.tpl\\:hover\\:opacity-80:hover{opacity:.8}.tpl\\:hover\\:opacity-90:hover{opacity:.9}.tpl\\:hover\\:opacity-100:hover{opacity:1}.tpl\\:hover\\:shadow-\\[var\\(--tpl-shadow-md\\)\\]:hover{--tw-shadow:var(--tpl-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:hover\\:shadow-\\[var\\(--tpl-shadow-sm\\)\\]:hover{--tw-shadow:var(--tpl-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.tpl\\:focus\\:border-\\[var\\(--tpl-primary\\)\\]:focus{border-color:var(--tpl-primary)}.tpl\\:focus\\:shadow-\\[0_0_0_3px_var\\(--tpl-primary-light\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--tpl-primary-light));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus\\:shadow-\\[var\\(--tpl-ring\\)\\]:focus,.tpl\\:focus-visible\\:shadow-\\[var\\(--tpl-ring\\)\\]:focus-visible{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus-visible\\:ring-\\[var\\(--tpl-primary\\)\\]:focus-visible{--tw-ring-color:var(--tpl-primary)}.tpl\\:focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tpl\\:focus-visible\\:ring-offset-\\[var\\(--tpl-bg-elevated\\)\\]:focus-visible{--tw-ring-offset-color:var(--tpl-bg-elevated)}.tpl\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.tpl\\:active\\:cursor-grabbing:active{cursor:grabbing}.tpl\\:active\\:bg-\\[var\\(--tpl-bg-active\\)\\]:active{background-color:var(--tpl-bg-active)}.tpl\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tpl\\:disabled\\:opacity-30:disabled{opacity:.3}.tpl\\:disabled\\:opacity-40:disabled{opacity:.4}.tpl\\:disabled\\:opacity-50:disabled{opacity:.5}@media(hover:hover){.tpl\\:disabled\\:hover\\:bg-transparent:disabled:hover{background-color:#0000}}.tpl\\:\\[\\&_p\\]\\:mb-2 p{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}@layer base,components;.tpl{--tpl-base-size:var(--tpl-user-base-size,16px);--tpl-bg:var(--tpl-user-bg,oklch(99.5% .002 60));--tpl-bg-elevated:var(--tpl-user-bg-elevated,oklch(98% .004 60));--tpl-bg-hover:var(--tpl-user-bg-hover,oklch(96% .006 60));--tpl-bg-active:var(--tpl-user-bg-active,oklch(93.5% .008 60));--tpl-border:var(--tpl-user-border,oklch(92% .006 60));--tpl-border-light:var(--tpl-user-border-light,oklch(86% .01 60));--tpl-text:var(--tpl-user-text,oklch(18% .01 60));--tpl-text-muted:var(--tpl-user-text-muted,oklch(50% .015 60));--tpl-text-dim:var(--tpl-user-text-dim,oklch(68% .012 60));--tpl-primary:var(--tpl-user-primary,oklch(70% .16 55));--tpl-primary-hover:var(--tpl-user-primary-hover,oklch(63% .17 55));--tpl-primary-light:var(--tpl-user-primary-light,oklch(95% .04 55));--tpl-on-primary:var(--tpl-user-on-primary,var(--tpl-bg));--tpl-secondary:var(--tpl-user-secondary,oklch(60% .118 184.71));--tpl-secondary-hover:var(--tpl-user-secondary-hover,oklch(53.2% .105 186.39));--tpl-secondary-light:var(--tpl-user-secondary-light,oklch(93.8% .03 186.82));--tpl-success:var(--tpl-user-success,oklch(62.8% .194 155.1));--tpl-success-light:var(--tpl-user-success-light,oklch(93.6% .043 163.51));--tpl-warning:var(--tpl-user-warning,oklch(76.9% .168 70.08));--tpl-warning-light:var(--tpl-user-warning-light,oklch(95% .038 73.59));--tpl-danger:var(--tpl-user-danger,oklch(63.7% .237 25.33));--tpl-danger-light:var(--tpl-user-danger-light,oklch(93.6% .032 17.72));--tpl-canvas-bg:var(--tpl-user-canvas-bg,oklch(97.5% .003 60));--tpl-chrome-bg-elevated:var(--tpl-bg-elevated);--tpl-chrome-border-light:var(--tpl-border-light);--tpl-chrome-text:var(--tpl-text);--tpl-chrome-text-muted:var(--tpl-text-muted);--tpl-chrome-text-dim:var(--tpl-text-dim);--tpl-chrome-primary-light:var(--tpl-primary-light);--tpl-chrome-primary-hover:var(--tpl-primary-hover);--tpl-radius:var(--tpl-user-radius,10px);--tpl-radius-sm:var(--tpl-user-radius-sm,7px);--tpl-radius-lg:var(--tpl-user-radius-lg,14px);--tpl-font-family:var(--tpl-user-font-family,\"Geist\", ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");--tpl-shadow-sm:var(--tpl-user-shadow-sm,0 1px 2px #00000008);--tpl-shadow:var(--tpl-user-shadow,0 1px 2px #0000000a, 0 1px 3px #00000008);--tpl-shadow-md:var(--tpl-user-shadow-md,0 2px 8px #0000000f, 0 1px 3px #0000000a);--tpl-shadow-lg:var(--tpl-user-shadow-lg,0 4px 16px #00000014, 0 2px 6px #0000000a);--tpl-shadow-xl:var(--tpl-user-shadow-xl,0 8px 32px #0000001a, 0 4px 12px #0000000f);--tpl-overlay:var(--tpl-user-overlay,#00000080);--tpl-ring:var(--tpl-user-ring,0 0 0 3px var(--tpl-primary-light));--tpl-transition:var(--tpl-user-transition,.12s cubic-bezier(.16, 1, .3, 1))}.tpl[data-tpl-theme=dark]{--tpl-bg:var(--tpl-user-dark-bg,oklch(16% .005 60));--tpl-bg-elevated:var(--tpl-user-dark-bg-elevated,oklch(21% .006 60));--tpl-bg-hover:var(--tpl-user-dark-bg-hover,oklch(26% .007 60));--tpl-bg-active:var(--tpl-user-dark-bg-active,oklch(30% .008 60));--tpl-border:var(--tpl-user-dark-border,oklch(30% .006 60));--tpl-border-light:var(--tpl-user-dark-border-light,oklch(38% .008 60));--tpl-text:var(--tpl-user-dark-text,oklch(93% .005 60));--tpl-text-muted:var(--tpl-user-dark-text-muted,oklch(65% .01 60));--tpl-text-dim:var(--tpl-user-dark-text-dim,oklch(50% .008 60));--tpl-primary:var(--tpl-user-dark-primary,oklch(73% .15 55));--tpl-primary-hover:var(--tpl-user-dark-primary-hover,oklch(78% .14 55));--tpl-primary-light:var(--tpl-user-dark-primary-light,oklch(28% .05 55));--tpl-secondary:var(--tpl-user-dark-secondary,oklch(63% .11 184.71));--tpl-secondary-hover:var(--tpl-user-dark-secondary-hover,oklch(68% .1 186.39));--tpl-secondary-light:var(--tpl-user-dark-secondary-light,oklch(25% .03 186.82));--tpl-success:var(--tpl-user-dark-success,oklch(65% .18 155.1));--tpl-success-light:var(--tpl-user-dark-success-light,oklch(25% .04 163.51));--tpl-warning:var(--tpl-user-dark-warning,oklch(78% .16 70.08));--tpl-warning-light:var(--tpl-user-dark-warning-light,oklch(28% .04 73.59));--tpl-danger:var(--tpl-user-dark-danger,oklch(65% .22 25.33));--tpl-danger-light:var(--tpl-user-dark-danger-light,oklch(25% .04 17.72));--tpl-canvas-bg:var(--tpl-user-dark-canvas-bg,oklch(10% .003 60));--tpl-shadow-sm:var(--tpl-user-dark-shadow-sm,0 1px 2px #0003);--tpl-shadow:var(--tpl-user-dark-shadow,0 1px 2px #0000004d, 0 1px 3px #0003);--tpl-shadow-md:var(--tpl-user-dark-shadow-md,0 2px 8px #00000059, 0 1px 3px #00000040);--tpl-shadow-lg:var(--tpl-user-dark-shadow-lg,0 4px 16px #0006, 0 2px 6px #0000004d);--tpl-shadow-xl:var(--tpl-user-dark-shadow-xl,0 8px 32px #00000080, 0 4px 12px #00000059);--tpl-overlay:var(--tpl-user-dark-overlay,#000000b3);--tpl-ring:var(--tpl-user-dark-ring,0 0 0 3px var(--tpl-primary-light))}.tpl[data-tpl-theme=dark] .tpl-block-content{--tpl-bg-elevated:oklch(98% .004 60);--tpl-border-light:oklch(86% .01 60);--tpl-text:oklch(18% .01 60);--tpl-text-muted:oklch(50% .015 60);--tpl-text-dim:oklch(68% .012 60);--tpl-primary-light:oklch(95% .04 55);--tpl-primary-hover:oklch(60% .16 55);color:var(--tpl-text)}.tpl{height:100%;font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875));--tw-leading:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--tpl-bg);min-height:320px;color:var(--tpl-text);line-height:1.5;font-family:var(--tpl-font-family);letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-align:start;white-space:normal;cursor:auto;font-variant-numeric:normal;text-shadow:none;flex-direction:column;font-style:normal;font-weight:400;list-style-type:disc;display:flex}:where(.tpl) button,:where(.tpl) input,:where(.tpl) select,:where(.tpl) textarea{box-sizing:border-box;font-family:inherit}:where(.tpl) button{cursor:pointer;background:0 0;border:none;margin:0;padding:0}:where(.tpl) button:focus-visible,:where(.tpl) input:focus-visible,:where(.tpl) select:focus-visible,:where(.tpl) textarea:focus-visible{box-shadow:var(--tpl-ring);outline:none}:where(.tpl) .tpl-focus-ring-host:focus-within :is(input,select,textarea):focus-visible{box-shadow:none}.tpl ::-webkit-scrollbar{width:6px;height:6px}.tpl ::-webkit-scrollbar-track{background:0 0}.tpl ::-webkit-scrollbar-thumb{background-color:var(--tpl-border-light)}@supports (color:color-mix(in lab,red,red)){.tpl ::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--tpl-border-light) 60%,transparent)}}.tpl ::-webkit-scrollbar-thumb{border-radius:calc(.25 * var(--tpl-base-size))}.tpl ::-webkit-scrollbar-thumb:hover{background-color:var(--tpl-border-light)}@keyframes tpl-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes tpl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tpl-popover-root{z-index:10000;position:relative}.tpl-merge-tag-label{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@supports (color:color-mix(in lab,red,red)){.tpl-merge-tag-label{-webkit-text-decoration-color:color-mix(in srgb,currentColor 55%,transparent);text-decoration-color:color-mix(in srgb,currentColor 55%,transparent)}}.tpl-merge-tag-label{unicode-bidi:isolate}.tpl-pulse{animation:2s infinite tpl-pulse}.tpl-spinner{animation:1s linear infinite tpl-spin}@keyframes tpl-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes tpl-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes tpl-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tpl-fade-in{animation:.2s cubic-bezier(.16,1,.3,1) tpl-fade-in}.tpl-scale-in{animation:.15s cubic-bezier(.16,1,.3,1) tpl-scale-in}.tpl-shimmer{background:linear-gradient(90deg,var(--tpl-bg-hover) 25%,var(--tpl-bg-active) 50%,var(--tpl-bg-hover) 75%);background-size:200% 100%;animation:1.5s linear infinite tpl-shimmer}.tpl-preview-mode .tpl-block--idle,.tpl-preview-mode .tpl-block--idle:hover,.tpl-preview-mode .tpl-block--selected{box-shadow:none!important;outline:none!important}.tpl-preview-mode .tpl-block{cursor:default;pointer-events:none}.tpl-preview-mode .tpl-block-actions,.tpl-preview-mode .tpl-block-hidden-overlay,.tpl-preview-mode .tpl-condition-toggle,.tpl-preview-mode .tpl-comment-indicator,.tpl-preview-mode .tpl-collab-lock{display:none}.tpl-ghost{border:none!important;border-top:2px dotted var(--tpl-primary)!important;background-color:#0000!important;justify-content:center!important;align-items:center!important;width:100%!important;height:0!important;min-height:0!important;max-height:0!important;margin:12px 0!important;padding:0!important;display:flex!important;position:relative!important;overflow:visible!important}@supports (color:color-mix(in lab,red,red)){.tpl-ghost{border-top:2px dotted color-mix(in srgb,var(--tpl-primary) 50%,transparent)!important}}.tpl-ghost{box-shadow:none!important;border-radius:0!important}.tpl-ghost>*{display:none!important}.tpl-ghost:before{content:var(--tpl-drop-text,\"Drop here\");white-space:nowrap!important;color:var(--tpl-primary)!important;background-color:var(--tpl-primary)!important;padding:2px 8px!important;font-size:12px!important;font-weight:500!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}@supports (color:color-mix(in lab,red,red)){.tpl-ghost:before{background-color:color-mix(in srgb,var(--tpl-primary) 15%,var(--tpl-bg))!important}}.tpl-ghost:before{border-radius:var(--tpl-radius-sm)!important;box-shadow:none!important}.tpl-canvas-empty .tpl-ghost{display:none!important}.tpl-dragging{opacity:.8;box-shadow:var(--tpl-shadow-xl)}.sortable-fallback{transition:none!important;animation:none!important}.tpl-block--lifted{outline:2px dashed var(--tpl-primary)!important;outline-offset:2px!important;box-shadow:var(--tpl-shadow-xl),0 0 0 4px var(--tpl-primary)!important}@supports (color:color-mix(in lab,red,red)){.tpl-block--lifted{box-shadow:var(--tpl-shadow-xl),0 0 0 4px color-mix(in srgb,var(--tpl-primary) 20%,transparent)!important}}.tpl-block--lifted{transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1);transform:scale(1.01)}.tpl-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tpl-text-toolbar-btn{width:calc(calc(var(--tpl-base-size) / 4) * 8);height:calc(calc(var(--tpl-base-size) / 4) * 8);cursor:pointer;border-radius:calc(.25 * var(--tpl-base-size));--tw-border-style:none;transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s);color:var(--tpl-text);background-color:#0000;border-style:none;justify-content:center;align-items:center;padding:0;display:flex}.tpl-text-toolbar-btn:hover{background-color:var(--tpl-bg-active)}.tpl-text-toolbar-btn--active{box-shadow:inset 0 0 0 1.5px var(--tpl-primary-hover);background-color:var(--tpl-primary)!important;color:var(--tpl-bg)!important}.tpl-text-toolbar-btn--active svg{stroke-width:2.75px}.tpl-text-content,.tpl-text-editable .tiptap{--tw-outline-style:none;outline-style:none}.tpl-text-editable{border-radius:calc(.25 * var(--tpl-base-size));border-style:var(--tw-border-style);--tw-border-style:dashed;padding:calc(calc(var(--tpl-base-size) / 4) * 2);border-style:dashed;border-width:1px;border-color:var(--tpl-primary);min-height:1.5em}.tpl-text-content p,.tpl-text-editable .tiptap p{margin:0 0 var(--tpl-doc-paragraph-spacing,8px)}.tpl-text-content p:last-child,.tpl-text-editable .tiptap p:last-child{margin-bottom:0}.tpl-text-content ul,.tpl-text-content ol,.tpl-text-editable .tiptap ul,.tpl-text-editable .tiptap ol{margin:8px 0;padding-inline-start:24px}.tpl-text-content li,.tpl-text-editable .tiptap li{margin:4px 0}.tpl-text-content s,.tpl-text-editable .tiptap s{text-decoration-line:line-through}.tpl-text-content sub,.tpl-text-editable .tiptap sub{vertical-align:sub;font-size:.75em}.tpl-text-content sup,.tpl-text-editable .tiptap sup{vertical-align:super;font-size:.75em}.tpl-text-content a,.tpl-text-editable a{color:var(--tpl-doc-link-color,inherit);-webkit-text-decoration:var(--tpl-doc-link-underline,none);text-decoration:var(--tpl-doc-link-underline,none)}.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5);border-radius:calc(.25 * var(--tpl-base-size));padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5);padding-block:calc(calc(var(--tpl-base-size) / 4) * .5);--tw-font-weight:500;background-color:var(--tpl-primary);align-items:center;font-size:.9em;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{background-color:color-mix(in srgb,var(--tpl-primary) 20%,transparent)}}.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{color:var(--tpl-primary);unicode-bidi:isolate}.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5);border-radius:calc(.25 * var(--tpl-base-size));padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5);padding-block:calc(calc(var(--tpl-base-size) / 4) * .5);--tw-font-weight:700;--tw-tracking:.025em;letter-spacing:.025em;text-transform:uppercase;border:1.5px solid var(--tpl-primary);unicode-bidi:isolate;background-color:#0000;align-items:center;font-size:.8em;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{border:1.5px solid color-mix(in srgb,var(--tpl-primary) 50%,transparent)}}.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{color:var(--tpl-primary)}.tpl-tooltip{position:relative}.tpl-tooltip:after{content:attr(data-tooltip);border-radius:var(--tpl-radius-sm);background-color:var(--tpl-text);color:var(--tpl-bg);white-space:normal;text-align:center;pointer-events:none;opacity:0;text-transform:none;z-index:50;width:max-content;max-width:min(320px,90vw);padding:4px 10px;font-size:12px;font-weight:500;line-height:1.4;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tpl-tooltip:before{content:\"\";border:4px solid #0000;border-bottom-color:var(--tpl-text);pointer-events:none;opacity:0;z-index:50;transition:opacity .15s;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.tpl-tooltip:hover:after,.tpl-tooltip:hover:before{opacity:1}.tpl.tpl-media-overlay{background-color:var(--tpl-overlay);-webkit-backdrop-filter:blur(8px);height:100%;min-height:0;color:var(--tpl-text);flex-direction:row;justify-content:center;align-items:center;display:flex}.tpl.tpl-text-toolbar{flex-direction:row;height:auto;min-height:0;display:flex}.tpl.tpl-link-dialog{background-color:var(--tpl-overlay);flex-direction:row;justify-content:center;align-items:center;height:100%;min-height:0;display:flex}.tpl-upload-zone-active{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}@property --tpl-comet-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}@property --tpl-comet-start{syntax:\"<percentage>\";inherits:false;initial-value:100%}@keyframes tpl-ai-comet{0%{--tpl-comet-angle:0deg;--tpl-comet-start:100%}1%{--tpl-comet-angle:24deg;--tpl-comet-start:88%}5%{--tpl-comet-angle:120deg;--tpl-comet-start:60%}25%{--tpl-comet-angle:600deg;--tpl-comet-start:60%}33%{--tpl-comet-angle:720deg;--tpl-comet-start:100%}to{--tpl-comet-angle:720deg;--tpl-comet-start:100%}}.tpl-ai-btn--idle{background-color:var(--tpl-primary-light);color:var(--tpl-text);box-shadow:none;z-index:0;position:relative}.tpl-ai-btn--idle:before{content:\"\";border-radius:inherit;background:conic-gradient(from var(--tpl-comet-angle),transparent 0%,transparent var(--tpl-comet-start),var(--tpl-primary) 80%,var(--tpl-primary) 90%,var(--tpl-primary) 97%,transparent 100%);padding:2px;position:absolute;inset:-2px}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--idle:before{background:conic-gradient(from var(--tpl-comet-angle),transparent 0%,transparent var(--tpl-comet-start),color-mix(in srgb,var(--tpl-primary) 40%,transparent) 80%,var(--tpl-primary) 90%,var(--tpl-primary) 97%,transparent 100%)}}.tpl-ai-btn--idle:before{z-index:-1;pointer-events:none;animation:20s linear 3s infinite tpl-ai-comet;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tpl-ai-btn--idle:hover{background-color:var(--tpl-primary);color:var(--tpl-on-primary);transform:translateY(-1px);box-shadow:0 0 0 3px var(--tpl-primary),0 4px 16px var(--tpl-primary)!important}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--idle:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-primary) 20%,transparent),0 4px 16px color-mix(in srgb,var(--tpl-primary) 30%,transparent)!important}}.tpl-ai-btn--idle:hover:before{animation:none}.tpl-ai-btn--active{background-color:var(--tpl-primary-light);color:var(--tpl-primary-hover);border:1px solid var(--tpl-primary)}.tpl-ai-btn--active .tpl-ai-btn-icon{fill:var(--tpl-primary)}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--active .tpl-ai-btn-icon{fill:color-mix(in srgb,var(--tpl-primary) 25%,transparent)}}.tpl-ai-btn--active:hover{background-color:var(--tpl-primary-light)}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--active:hover{background-color:color-mix(in srgb,var(--tpl-primary-light) 80%,var(--tpl-primary))}}.tpl-merge-tag-delete:hover{color:var(--tpl-danger)!important}@media(prefers-reduced-motion:reduce){.tpl-pulse,.tpl-shimmer,.tpl-fade-in,.tpl-scale-in,.tpl-ai-btn--idle:before{animation:none}.tpl-shimmer{background:var(--tpl-bg-hover)}.tpl *,.tpl :before,.tpl :after{transition-duration:.01ms!important}.tpl-spinner{animation:1s linear infinite tpl-spin}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.tpl-preview-pill-enter-active[data-v-3acbb278]{transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.tpl-preview-pill-leave-active[data-v-3acbb278]{transition:opacity .15s ease-in,transform .15s ease-in}.tpl-preview-pill-enter-from[data-v-3acbb278],.tpl-preview-pill-leave-to[data-v-3acbb278]{opacity:0;transform:translateY(-8px) scale(.9)}.tpl-preview-pill-enter-to[data-v-3acbb278],.tpl-preview-pill-leave-from[data-v-3acbb278]{opacity:1;transform:translateY(0) scale(1)}.tpl-saved-block-skeleton{animation:tpl-saved-block-pulse 1.4s ease-in-out infinite}@keyframes tpl-saved-block-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.tpl-saved-block-skeleton{animation:none}}.tpl-saved-block-delete-btn:hover{color:var(--tpl-danger)!important}.tpl-saved-block-rename-btn:hover{color:var(--tpl-primary)!important}.vue-advanced-cropper{text-align:center;position:relative;user-select:none;max-height:100%;max-width:100%;direction:ltr}.vue-advanced-cropper__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.vue-advanced-cropper__image{user-select:none;position:absolute;transform-origin:center;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{overflow:hidden;position:absolute;width:100%;height:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{display:block;background:#fff;height:10px;width:10px}.vue-handler-wrapper{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px}.vue-handler-wrapper__draggable{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:none;position:absolute;display:flex;align-items:center;justify-content:center}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;width:100%;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{top:0;cursor:n-resize}.vue-line-wrapper--south{top:100%;cursor:s-resize}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;transform:translate(-50%);top:0}.vue-line-wrapper--east{left:100%;cursor:e-resize}.vue-line-wrapper--west{left:0;cursor:w-resize}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{position:relative;height:100%;width:100%}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{left:0;top:0}.vue-bounding-box__handler--north{left:50%;top:0}.vue-bounding-box__handler--east-north{left:100%;top:0}.vue-bounding-box__handler--east{left:100%;top:50%}.vue-bounding-box__handler--east-south{left:100%;top:100%}.vue-bounding-box__handler--south{left:50%;top:100%}.vue-bounding-box__handler--west-south{left:0;top:100%}.vue-bounding-box__handler--west{left:0;top:50%}.vue-draggable-area{position:relative}.vue-preview-result{overflow:hidden;box-sizing:border-box;position:absolute;height:100%;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;position:relative;user-select:none;transform-origin:center;max-width:none!important}.vue-rectangle-stencil{position:absolute;height:100%;width:100%;box-sizing:border-box}.vue-rectangle-stencil__preview{position:absolute;width:100%;height:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{position:absolute;height:100%;width:100%;box-sizing:content-box;cursor:move}.vue-circle-stencil__preview{border-radius:50%;position:absolute;width:100%;height:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{overflow:hidden;box-sizing:border-box;position:relative}.vue-preview--fill{width:100%;height:100%;position:absolute}.vue-preview__wrapper{position:absolute;height:100%;width:100%}.vue-preview__image{pointer-events:none;position:absolute;user-select:none;transform-origin:center;max-width:none!important}.vue-simple-line{background:none;transition:border .5s;border-color:#ffffff4d;border-width:0;border-style:solid}.vue-simple-line--south,.vue-simple-line--north{height:0;width:100%}.vue-simple-line--east,.vue-simple-line--west{height:100%;width:0}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}[data-v-32369770] .tpl-cropper-background{background-color:var(--tpl-bg)!important}[data-v-32369770] .vue-advanced-cropper{background-color:transparent!important}[data-v-32369770] .vue-advanced-cropper__background{background-color:var(--tpl-bg)!important}[data-v-32369770] .vue-advanced-cropper__foreground{background-color:var(--tpl-overlay)!important}.tpl-media-item[data-v-4987c8b6]:not(.tpl-media-item--selected):hover{border-color:var(--tpl-border)!important}.tpl-media-list-item[data-v-4987c8b6]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-list-icon[data-v-4987c8b6]{transform:scale(.35);transform-origin:center}.tpl-preview-icon[data-v-c3c1707e]{transform:scale(.45);transform-origin:center}.tpl-comments-slide-enter-active[data-v-3692da54]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-comments-slide-leave-active[data-v-3692da54]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-comments-input-wrapper[data-v-3692da54]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-comments-send-btn[data-v-3692da54]:not(:disabled):hover{transform:scale(1.05)}.tpl-comment-filter[data-v-3692da54]{color:var(--tpl-text-muted);background-color:transparent}.tpl-comment-filter[data-v-3692da54]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-filter--active[data-v-3692da54]{background-color:var(--tpl-primary-light);color:var(--tpl-primary)}.tpl-comment-action[data-v-3692da54]{color:var(--tpl-text-dim);background-color:transparent}.tpl-comment-action[data-v-3692da54]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-delete[data-v-3692da54]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-comment-card[data-v-3692da54],.tpl-comment-reply-card[data-v-3692da54]{border-color:var(--tpl-border);background-color:var(--tpl-bg)}.tpl-resolve-enter-active[data-v-3692da54],.tpl-resolve-leave-active[data-v-3692da54]{transition:opacity .3s ease,transform .3s ease}.tpl-resolve-enter-from[data-v-3692da54],.tpl-resolve-leave-to[data-v-3692da54]{opacity:0;transform:translateY(-4px)}.tpl-resolve-icon[data-v-3692da54]{transition:color .3s ease,transform .2s ease}.tpl-resolve-icon[data-v-3692da54]:active{transform:scale(1.3)}.tpl-replies-enter-active[data-v-3692da54],.tpl-replies-leave-active[data-v-3692da54]{transition:opacity .25s ease,transform .25s ease}.tpl-replies-enter-from[data-v-3692da54],.tpl-replies-leave-to[data-v-3692da54]{opacity:0;transform:translateY(-4px)}.tpl-ai-slide-enter-active[data-v-ae103ae8]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-ai-slide-leave-active[data-v-ae103ae8]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-ai-input-wrapper[data-v-ae103ae8]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-ai-send-btn[data-v-ae103ae8]:not(:disabled):hover{transform:scale(1.05)}.tpl-suggestion-btn[data-v-ae103ae8]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-design-slide-enter-active[data-v-d72bc7be]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-design-slide-leave-active[data-v-d72bc7be]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-design-prompt-input[data-v-d72bc7be]:focus{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-design-dropzone[data-v-d72bc7be]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-scoring-slide-enter-active[data-v-1b4ea13b]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-scoring-slide-leave-active[data-v-1b4ea13b]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-scoring-fix-btn[data-v-1b4ea13b]:not(:disabled):hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-ai-feature-menu-item[data-v-bf59b787]:hover{background-color:var(--tpl-bg-hover)!important}\n/*$vite$:1*/", Dd = null;
5012
- function Od() {
5013
- if (Dd === null) {
5038
+ var Dd = "@import\"https://fonts.bunny.net/css?family=geist:400,500,600\";.tpl-loading-track[data-v-c3d50014]{height:3px;width:100%;border-radius:9999px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--tpl-primary) 10%,transparent) 15%,color-mix(in srgb,var(--tpl-primary) 30%,transparent) 30%,var(--tpl-primary) 50%,color-mix(in srgb,var(--tpl-primary) 30%,transparent) 70%,color-mix(in srgb,var(--tpl-primary) 10%,transparent) 85%,transparent 100%);background-size:200% 100%;animation:tpl-loading-flow-c3d50014 3s ease-in-out infinite}@keyframes tpl-loading-flow-c3d50014{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.tpl-loading-track-fill[data-v-c3d50014]{animation:none;background-position:50% 0}}.tpl-block--idle[data-v-2c239048]{outline:1.5px dashed color-mix(in srgb,var(--tpl-primary) 30%,transparent);outline-offset:-1px;transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block--idle[data-v-2c239048]:hover{outline:1.5px solid color-mix(in srgb,var(--tpl-primary) 50%,transparent);outline-offset:-1px;box-shadow:0 0 8px color-mix(in srgb,var(--tpl-primary) 8%,transparent)}.tpl-block--picked[data-v-2c239048]{outline:2px solid var(--tpl-primary);outline-offset:-1px;box-shadow:0 0 0 4px color-mix(in srgb,var(--tpl-primary) 18%,transparent);transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block--selected[data-v-2c239048]{outline:2px solid color-mix(in srgb,var(--tpl-primary) 60%,transparent);outline-offset:-1px;box-shadow:0 0 12px color-mix(in srgb,var(--tpl-primary) 15%,transparent);transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block-action-btn[data-v-2c239048]{color:var(--tpl-chrome-text-muted);background-color:transparent}.tpl-block-action-btn[data-v-2c239048]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-chrome-text)}.tpl-block-action-btn[data-v-2c239048]:active{transform:scale(.9)}.tpl-block-delete-btn[data-v-2c239048]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-condition-toggle[data-v-2c239048]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-condition-toggle[data-v-2c239048]:active{transform:scale(.9)}.tpl-block-hidden-overlay[data-v-2c239048]{background-color:color-mix(in srgb,var(--tpl-bg) 60%,transparent)}.tpl-table-editable[data-v-963ac422] th[contenteditable],.tpl-table-editable[data-v-963ac422] td[contenteditable]{outline:none;cursor:text;min-width:calc(2 * var(--tpl-base-size))}.tpl-table-editable[data-v-963ac422] th[contenteditable]:empty:before,.tpl-table-editable[data-v-963ac422] td[contenteditable]:empty:before{content:attr(data-placeholder);color:var(--tpl-text-dim);pointer-events:none}.tpl-table-editable[data-v-963ac422] th[contenteditable]:focus,.tpl-table-editable[data-v-963ac422] td[contenteditable]:focus{outline:2px solid var(--tpl-primary);outline-offset:-2px;border-radius:1px}hex-color-picker{--hcp-width: 200px}hex-color-picker::part(hue){border-radius:var(--tpl-radius-sm, 7px)}hex-color-picker::part(saturation){border-radius:var(--tpl-radius-sm, 7px) var(--tpl-radius-sm, 7px) 0 0}.tpl-color-swatch-empty{background-color:var(--tpl-bg);background-image:linear-gradient(to top right,transparent calc(50% - .75px),var(--tpl-text-dim) calc(50% - .75px),var(--tpl-text-dim) calc(50% + .75px),transparent calc(50% + .75px))}.tpl-pulse-fill[data-v-fca026e4]{animation:tpl-field-pulse-fca026e4 1s ease-out}@keyframes tpl-field-pulse-fca026e4{0%{box-shadow:0 0 color-mix(in srgb,var(--tpl-warning) 30%,transparent);background-color:color-mix(in srgb,var(--tpl-warning) 6%,transparent)}40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-warning) 15%,transparent);background-color:color-mix(in srgb,var(--tpl-warning) 5%,transparent)}to{box-shadow:0 0 0 0 transparent;background-color:transparent}}@media(prefers-reduced-motion:reduce){.tpl-pulse-fill[data-v-fca026e4]{animation:none}}.tpl-canvas--dark-mode[data-v-ec928abd] .tpl-block-content:not(.tpl-block-content *){filter:invert(1) hue-rotate(180deg)}[data-v-ec928abd] .tpl-block-content{transition:filter .3s ease}.tpl-canvas--dark-mode[data-v-ec928abd] .tpl-block-content img{filter:invert(1) hue-rotate(180deg)}input[type=number][data-v-69591c1e]::-webkit-outer-spin-button,input[type=number][data-v-69591c1e]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-69591c1e]{-moz-appearance:textfield}.tpl-collapsible[data-v-dbc9901a]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.16,1,.3,1)}.tpl-collapsible--open[data-v-dbc9901a]{grid-template-rows:1fr}.tpl-collapsible>div[data-v-dbc9901a]{overflow:hidden}.tpl-icon-enter-active[data-v-632aa74f],.tpl-icon-leave-active[data-v-632aa74f]{transition:opacity .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.tpl-icon-enter-from[data-v-632aa74f],.tpl-icon-leave-to[data-v-632aa74f]{opacity:0;transform:scale(.8)}.tpl-dark-mode-toggle[data-v-632aa74f]:hover{background-color:var(--tpl-bg-hover)}.tpl-dark-mode-toggle[data-v-632aa74f]:active{transform:scale(.92)}.tpl-icon-enter-active[data-v-eef7b2ca],.tpl-icon-leave-active[data-v-eef7b2ca]{transition:opacity .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.tpl-icon-enter-from[data-v-eef7b2ca],.tpl-icon-leave-to[data-v-eef7b2ca]{opacity:0;transform:scale(.8)}.tpl-preview-toggle[data-v-eef7b2ca]:hover{background-color:var(--tpl-bg-hover)}.tpl-preview-toggle[data-v-eef7b2ca]:active{transform:scale(.92)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tpl-comet-angle:0deg;--tpl-comet-start:100%}}}@layer theme{:root,:host{--tpl-radius-sm:calc(.25 * var(--tpl-base-size));--tpl-radius-md:calc(.375 * var(--tpl-base-size));--tpl-radius-lg:calc(.5 * var(--tpl-base-size));--tpl-shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tpl-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tpl-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tpl-shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tpl-radius:calc(.25 * var(--tpl-base-size))}}.tpl\\:pointer-events-auto{pointer-events:auto}.tpl\\:pointer-events-none{pointer-events:none}.tpl\\:invisible{visibility:hidden}.tpl\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tpl\\:absolute{position:absolute}.tpl\\:fixed{position:fixed}.tpl\\:relative{position:relative}.tpl\\:sticky{position:sticky}.tpl\\:inset-0{inset:0}.tpl\\:inset-x-0{inset-inline:0}.tpl\\:inset-y-1{inset-block:calc(var(--tpl-base-size) / 4)}.tpl\\:-top-0\\.5{top:calc(calc(var(--tpl-base-size) / 4) * -.5)}.tpl\\:-top-1{top:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:top-0{top:0}.tpl\\:top-1{top:calc(var(--tpl-base-size) / 4)}.tpl\\:top-1\\.5{top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:top-1\\/2{top:50%}.tpl\\:top-2{top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:top-14{top:calc(calc(var(--tpl-base-size) / 4) * 14)}.tpl\\:top-16{top:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:top-\\[104px\\]{top:104px}.tpl\\:top-full{top:100%}.tpl\\:-right-1{right:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:-right-2{right:calc(calc(var(--tpl-base-size) / 4) * -2)}.tpl\\:right-0{right:0}.tpl\\:right-1{right:calc(var(--tpl-base-size) / 4)}.tpl\\:right-1\\.5{right:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:right-2{right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:right-2\\.5{right:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:right-\\[320px\\]{right:320px}.tpl\\:right-\\[360px\\]{right:360px}.tpl\\:right-\\[680px\\]{right:680px}.tpl\\:bottom-0{bottom:0}.tpl\\:bottom-1{bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:bottom-10{bottom:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:bottom-full{bottom:100%}.tpl\\:-left-1{left:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:left-0{left:0}.tpl\\:left-1\\.5{left:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:left-1\\/2{left:50%}.tpl\\:left-2\\.5{left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:left-3{left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:left-5{left:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:left-12{left:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:z-10{z-index:10}.tpl\\:z-40{z-index:40}.tpl\\:z-50{z-index:50}.tpl\\:z-\\[4\\]{z-index:4}.tpl\\:z-\\[5\\]{z-index:5}.tpl\\:z-\\[60\\]{z-index:60}.tpl\\:z-\\[100\\]{z-index:100}.tpl\\:m-0{margin:0}.tpl\\:m-6{margin:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:mx-0\\.5{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:mx-1{margin-inline:calc(var(--tpl-base-size) / 4)}.tpl\\:mx-1\\.5{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mx-3{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mx-4{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:mx-6{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:mx-auto{margin-inline:auto}.tpl\\:mt-0\\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:mt-1{margin-top:calc(var(--tpl-base-size) / 4)}.tpl\\:mt-1\\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mt-2{margin-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:mt-3{margin-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mt-4{margin-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:\\!mb-0{margin-bottom:0!important}.tpl\\:mb-1{margin-bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:mb-1\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mb-2{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:mb-2\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:mb-3{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mb-3\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:mb-4{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:mb-px{margin-bottom:1px}.tpl\\:-ml-48{margin-left:calc(calc(var(--tpl-base-size) / 4) * -48)}.tpl\\:ml-0{margin-left:0}.tpl\\:ml-0\\.5{margin-left:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:ml-1{margin-left:calc(var(--tpl-base-size) / 4)}.tpl\\:ml-5{margin-left:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:ml-auto{margin-left:auto}.tpl\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl\\:\\!flex{display:flex!important}.tpl\\:block{display:block}.tpl\\:flex{display:flex}.tpl\\:grid{display:grid}.tpl\\:hidden{display:none}.tpl\\:inline{display:inline}.tpl\\:inline-block{display:inline-block}.tpl\\:inline-flex{display:inline-flex}.tpl\\:aspect-square{aspect-ratio:1}.tpl\\:size-1\\.5{width:calc(calc(var(--tpl-base-size) / 4) * 1.5);height:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:size-2{width:calc(calc(var(--tpl-base-size) / 4) * 2);height:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:size-3{width:calc(calc(var(--tpl-base-size) / 4) * 3);height:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:size-4{width:calc(calc(var(--tpl-base-size) / 4) * 4);height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:size-4\\.5{width:calc(calc(var(--tpl-base-size) / 4) * 4.5);height:calc(calc(var(--tpl-base-size) / 4) * 4.5)}.tpl\\:size-5{width:calc(calc(var(--tpl-base-size) / 4) * 5);height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:size-6{width:calc(calc(var(--tpl-base-size) / 4) * 6);height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:size-7{width:calc(calc(var(--tpl-base-size) / 4) * 7);height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:size-8{width:calc(calc(var(--tpl-base-size) / 4) * 8);height:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:size-10{width:calc(calc(var(--tpl-base-size) / 4) * 10);height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:size-16{width:calc(calc(var(--tpl-base-size) / 4) * 16);height:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:size-full{width:100%;height:100%}.tpl\\:h-0{height:0}.tpl\\:h-2\\.5{height:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:h-3{height:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:h-4{height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:h-5{height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:h-6{height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:h-7{height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:h-8{height:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:h-9{height:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:h-10{height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:h-12{height:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:h-14{height:calc(calc(var(--tpl-base-size) / 4) * 14)}.tpl\\:h-16{height:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:h-32{height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:h-44{height:calc(calc(var(--tpl-base-size) / 4) * 44)}.tpl\\:h-\\[32px\\]{height:32px}.tpl\\:h-auto{height:auto}.tpl\\:h-full{height:100%}.tpl\\:max-h-24{max-height:calc(calc(var(--tpl-base-size) / 4) * 24)}.tpl\\:max-h-32{max-height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:max-h-48{max-height:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\\:max-h-56{max-height:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\\:max-h-64{max-height:calc(calc(var(--tpl-base-size) / 4) * 64)}.tpl\\:max-h-\\[50vh\\]{max-height:50vh}.tpl\\:max-h-\\[60vh\\]{max-height:60vh}.tpl\\:max-h-\\[80\\%\\]{max-height:80%}.tpl\\:max-h-\\[80vh\\]{max-height:80vh}.tpl\\:max-h-\\[90\\%\\]{max-height:90%}.tpl\\:max-h-\\[90vh\\]{max-height:90vh}.tpl\\:max-h-full{max-height:100%}.tpl\\:min-h-0{min-height:0}.tpl\\:min-h-6{min-height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:min-h-10{min-height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:min-h-20{min-height:calc(calc(var(--tpl-base-size) / 4) * 20)}.tpl\\:min-h-\\[1\\.5em\\]{min-height:1.5em}.tpl\\:min-h-\\[1em\\]{min-height:1em}.tpl\\:min-h-\\[48px\\]{min-height:48px}.tpl\\:min-h-\\[60px\\]{min-height:60px}.tpl\\:min-h-\\[64px\\]{min-height:64px}.tpl\\:min-h-\\[68px\\]{min-height:68px}.tpl\\:min-h-\\[72px\\]{min-height:72px}.tpl\\:min-h-\\[80px\\]{min-height:80px}.tpl\\:min-h-\\[100px\\]{min-height:100px}.tpl\\:min-h-\\[120px\\]{min-height:120px}.tpl\\:min-h-\\[150px\\]{min-height:150px}.tpl\\:min-h-\\[400px\\]{min-height:400px}.tpl\\:w-1\\/2{width:50%}.tpl\\:w-1\\/3{width:33.3333%}.tpl\\:w-1\\/4{width:25%}.tpl\\:w-2\\/3{width:66.6667%}.tpl\\:w-3\\/4{width:75%}.tpl\\:w-5\\/6{width:83.3333%}.tpl\\:w-7{width:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:w-8{width:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:w-9{width:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:w-10{width:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:w-12{width:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:w-16{width:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:w-20{width:calc(calc(var(--tpl-base-size) / 4) * 20)}.tpl\\:w-28{width:calc(calc(var(--tpl-base-size) / 4) * 28)}.tpl\\:w-32{width:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:w-36{width:calc(calc(var(--tpl-base-size) / 4) * 36)}.tpl\\:w-40{width:calc(calc(var(--tpl-base-size) / 4) * 40)}.tpl\\:w-48{width:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\\:w-52{width:calc(calc(var(--tpl-base-size) / 4) * 52)}.tpl\\:w-56{width:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\\:w-72{width:calc(calc(var(--tpl-base-size) / 4) * 72)}.tpl\\:w-\\[280px\\]{width:280px}.tpl\\:w-\\[300px\\]{width:300px}.tpl\\:w-\\[320px\\]{width:320px}.tpl\\:w-\\[360px\\]{width:360px}.tpl\\:w-\\[400px\\]{width:400px}.tpl\\:w-\\[420px\\]{width:420px}.tpl\\:w-\\[1000px\\]{width:1000px}.tpl\\:w-\\[min\\(420px\\,92vw\\)\\]{width:min(420px,92vw)}.tpl\\:w-full{width:100%}.tpl\\:w-px{width:1px}.tpl\\:max-w-2xl{max-width:calc(42 * var(--tpl-base-size))}.tpl\\:max-w-3xl{max-width:calc(48 * var(--tpl-base-size))}.tpl\\:max-w-\\[220px\\]{max-width:220px}.tpl\\:max-w-\\[240px\\]{max-width:240px}.tpl\\:max-w-\\[260px\\]{max-width:260px}.tpl\\:max-w-\\[320px\\]{max-width:320px}.tpl\\:max-w-\\[600px\\]{max-width:600px}.tpl\\:max-w-\\[calc\\(100\\%_-_2\\*var\\(--tpl-base-size\\)\\)\\]{max-width:calc(100% - 2 * var(--tpl-base-size))}.tpl\\:max-w-\\[calc\\(100vw_-_2\\*var\\(--tpl-base-size\\)\\)\\]{max-width:calc(100vw - 2 * var(--tpl-base-size))}.tpl\\:max-w-full{max-width:100%}.tpl\\:max-w-md{max-width:calc(28 * var(--tpl-base-size))}.tpl\\:max-w-sm{max-width:calc(24 * var(--tpl-base-size))}.tpl\\:min-w-0{min-width:0}.tpl\\:min-w-6{min-width:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:min-w-\\[20px\\]{min-width:20px}.tpl\\:min-w-\\[200px\\]{min-width:200px}.tpl\\:flex-1{flex:1}.tpl\\:flex-shrink-0,.tpl\\:shrink-0{flex-shrink:0}.tpl\\:origin-top-right{transform-origin:100% 0}.tpl\\:-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-4{--tw-translate-x:calc(calc(var(--tpl-base-size) / 4) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-2{--tw-translate-y:calc(calc(var(--tpl-base-size) / 4) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-1{--tw-translate-y:calc(var(--tpl-base-size) / 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-\\[-8px\\]{--tw-translate-y:-8px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:-rotate-90{rotate:-90deg}.tpl\\:rotate-0{rotate:0deg}.tpl\\:rotate-45{rotate:45deg}.tpl\\:rotate-90{rotate:90deg}.tpl\\:rotate-180{rotate:180deg}.tpl\\:animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.tpl\\:animate-spin{animation:1s linear infinite spin}.tpl\\:cursor-default{cursor:default}.tpl\\:cursor-grab{cursor:grab}.tpl\\:cursor-help{cursor:help}.tpl\\:cursor-not-allowed{cursor:not-allowed}.tpl\\:cursor-pointer{cursor:pointer}.tpl\\:resize-none{resize:none}.tpl\\:resize-y{resize:vertical}.tpl\\:list-none{list-style-type:none}.tpl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tpl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tpl\\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.tpl\\:grid-cols-\\[1fr_auto_1fr\\]{grid-template-columns:1fr auto 1fr}.tpl\\:flex-col{flex-direction:column}.tpl\\:flex-row-reverse{flex-direction:row-reverse}.tpl\\:flex-wrap{flex-wrap:wrap}.tpl\\:items-center{align-items:center}.tpl\\:items-end{align-items:flex-end}.tpl\\:items-start{align-items:flex-start}.tpl\\:items-stretch{align-items:stretch}.tpl\\:justify-between{justify-content:space-between}.tpl\\:justify-center{justify-content:center}.tpl\\:justify-end{justify-content:flex-end}.tpl\\:gap-0{gap:0}.tpl\\:gap-0\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:gap-1{gap:calc(var(--tpl-base-size) / 4)}.tpl\\:gap-1\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:gap-2{gap:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:gap-2\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:gap-3{gap:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:gap-3\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:gap-4{gap:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:gap-5{gap:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:gap-6{gap:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:gap-10{gap:calc(calc(var(--tpl-base-size) / 4) * 10)}:where(.tpl\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tpl-base-size) / 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tpl-base-size) / 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tpl\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tpl\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * calc(1 - var(--tw-space-y-reverse)))}.tpl\\:gap-x-1{column-gap:calc(var(--tpl-base-size) / 4)}.tpl\\:gap-x-3{column-gap:calc(calc(var(--tpl-base-size) / 4) * 3)}:where(.tpl\\:-space-x-1\\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--tpl-base-size) / 4) * -1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--tpl-base-size) / 4) * -1.5) * calc(1 - var(--tw-space-x-reverse)))}.tpl\\:gap-y-0\\.5{row-gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:gap-y-1\\.5{row-gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:self-end{align-self:flex-end}.tpl\\:self-start{align-self:flex-start}.tpl\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl\\:overflow-auto{overflow:auto}.tpl\\:overflow-hidden{overflow:hidden}.tpl\\:overflow-x-auto{overflow-x:auto}.tpl\\:overflow-y-auto{overflow-y:auto}.tpl\\:rounded{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\\:rounded-\\[calc\\(var\\(--tpl-radius-sm\\)-2px\\)\\]{border-radius:calc(var(--tpl-radius-sm) - 2px)}.tpl\\:rounded-\\[var\\(--tpl-radius\\)\\]{border-radius:var(--tpl-radius)}.tpl\\:rounded-\\[var\\(--tpl-radius-lg\\)\\]{border-radius:var(--tpl-radius-lg)}.tpl\\:rounded-\\[var\\(--tpl-radius-md\\)\\]{border-radius:var(--tpl-radius-md)}.tpl\\:rounded-\\[var\\(--tpl-radius-sm\\)\\]{border-radius:var(--tpl-radius-sm)}.tpl\\:rounded-full{border-radius:3.40282e38px}.tpl\\:rounded-lg{border-radius:calc(.5 * var(--tpl-base-size))}.tpl\\:rounded-md{border-radius:calc(.375 * var(--tpl-base-size))}.tpl\\:rounded-sm{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\\:rounded-xl{border-radius:calc(.75 * var(--tpl-base-size))}.tpl\\:rounded-l-\\[var\\(--tpl-radius-sm\\)\\]{border-top-left-radius:var(--tpl-radius-sm);border-bottom-left-radius:var(--tpl-radius-sm)}.tpl\\:rounded-tl-lg{border-top-left-radius:calc(.5 * var(--tpl-base-size))}.tpl\\:rounded-r-\\[var\\(--tpl-radius-sm\\)\\]{border-top-right-radius:var(--tpl-radius-sm);border-bottom-right-radius:var(--tpl-radius-sm)}.tpl\\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.tpl\\:border{border-style:var(--tw-border-style);border-width:1px}.tpl\\:border-0{border-style:var(--tw-border-style);border-width:0}.tpl\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tpl\\:border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.tpl\\:border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.tpl\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tpl\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.tpl\\:border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.tpl\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tpl\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.tpl\\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.tpl\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tpl\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tpl\\:border-none{--tw-border-style:none;border-style:none}.tpl\\:border-\\[var\\(--tpl-bg\\)\\]{border-color:var(--tpl-bg)}.tpl\\:border-\\[var\\(--tpl-border\\)\\]{border-color:var(--tpl-border)}.tpl\\:border-\\[var\\(--tpl-border-light\\)\\]{border-color:var(--tpl-border-light)}.tpl\\:border-\\[var\\(--tpl-danger\\)\\]{border-color:var(--tpl-danger)}.tpl\\:border-\\[var\\(--tpl-primary\\)\\]{border-color:var(--tpl-primary)}.tpl\\:border-\\[var\\(--tpl-primary-hover\\)\\]{border-color:var(--tpl-primary-hover)}.tpl\\:border-\\[var\\(--tpl-warning\\)\\]{border-color:var(--tpl-warning)}.tpl\\:border-transparent{border-color:#0000}.tpl\\:border-l-\\[var\\(--tpl-primary\\)\\]{border-left-color:var(--tpl-primary)}.tpl\\:border-l-transparent{border-left-color:#0000}.tpl\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-bg\\)_90\\%\\,transparent\\)\\]{background-color:var(--tpl-bg)}@supports (color:color-mix(in lab,red,red)){.tpl\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-bg\\)_90\\%\\,transparent\\)\\]{background-color:color-mix(in srgb,var(--tpl-bg) 90%,transparent)}}.tpl\\:bg-\\[var\\(--tpl-bg\\)\\]{background-color:var(--tpl-bg)}.tpl\\:bg-\\[var\\(--tpl-bg-active\\)\\]{background-color:var(--tpl-bg-active)}.tpl\\:bg-\\[var\\(--tpl-bg-elevated\\)\\]{background-color:var(--tpl-bg-elevated)}.tpl\\:bg-\\[var\\(--tpl-bg-hover\\)\\]{background-color:var(--tpl-bg-hover)}.tpl\\:bg-\\[var\\(--tpl-border\\)\\]{background-color:var(--tpl-border)}.tpl\\:bg-\\[var\\(--tpl-canvas-bg\\)\\]{background-color:var(--tpl-canvas-bg)}.tpl\\:bg-\\[var\\(--tpl-chrome-bg-elevated\\)\\]{background-color:var(--tpl-chrome-bg-elevated)}.tpl\\:bg-\\[var\\(--tpl-chrome-primary-light\\)\\]{background-color:var(--tpl-chrome-primary-light)}.tpl\\:bg-\\[var\\(--tpl-danger\\)\\]{background-color:var(--tpl-danger)}.tpl\\:bg-\\[var\\(--tpl-danger-light\\)\\]{background-color:var(--tpl-danger-light)}.tpl\\:bg-\\[var\\(--tpl-primary\\)\\]{background-color:var(--tpl-primary)}.tpl\\:bg-\\[var\\(--tpl-primary-light\\)\\]{background-color:var(--tpl-primary-light)}.tpl\\:bg-\\[var\\(--tpl-warning-light\\)\\]{background-color:var(--tpl-warning-light)}.tpl\\:bg-black\\/30{background-color:oklab(0% none none/.3)}.tpl\\:bg-black\\/40{background-color:oklab(0% none none/.4)}.tpl\\:bg-transparent{background-color:#0000}.tpl\\:object-contain{object-fit:contain}.tpl\\:object-cover{object-fit:cover}.tpl\\:p-0{padding:0}.tpl\\:p-0\\.5{padding:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:p-1{padding:calc(var(--tpl-base-size) / 4)}.tpl\\:p-1\\.5{padding:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:p-2{padding:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:p-3{padding:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:p-4{padding:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:p-5{padding:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:p-6{padding:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:p-8{padding:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:px-0\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:px-1{padding-inline:calc(var(--tpl-base-size) / 4)}.tpl\\:px-1\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:px-2{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:px-2\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:px-3{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:px-3\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:px-4{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:px-5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:px-6{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:px-8{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:px-10{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:py-0{padding-block:0}.tpl\\:py-0\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:py-1{padding-block:calc(var(--tpl-base-size) / 4)}.tpl\\:py-1\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:py-2{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:py-2\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:py-3{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:py-3\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:py-4{padding-block:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:py-5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:py-6{padding-block:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:py-8{padding-block:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:py-10{padding-block:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:py-12{padding-block:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:py-16{padding-block:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:py-\\[5px\\]{padding-block:5px}.tpl\\:py-\\[7px\\]{padding-block:7px}.tpl\\:py-px{padding-block:1px}.tpl\\:pt-1{padding-top:calc(var(--tpl-base-size) / 4)}.tpl\\:pt-2{padding-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pt-2\\.5{padding-top:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:pt-3{padding-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pt-4{padding-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pr-2{padding-right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pr-3{padding-right:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pr-4{padding-right:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pr-7{padding-right:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:pr-8{padding-right:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:pb-1{padding-bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:pb-1\\.5{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:pb-2{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pb-3{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pb-4{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pl-2\\.5{padding-left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:pl-3{padding-left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pl-4{padding-left:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pl-8{padding-left:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:pl-9{padding-left:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:pl-\\[18px\\]{padding-left:18px}.tpl\\:text-center{text-align:center}.tpl\\:text-left{text-align:left}.tpl\\:font-\\[inherit\\]{font-family:inherit}.tpl\\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tpl\\:font-sans{font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tpl\\:text-4xl{font-size:calc(2.25 * var(--tpl-base-size));line-height:var(--tw-leading,calc(2.5 / 2.25))}.tpl\\:text-base{font-size:var(--tpl-base-size);line-height:var(--tw-leading, 1.5 )}.tpl\\:text-lg{font-size:calc(1.125 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.75 / 1.125))}.tpl\\:text-sm{font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875))}.tpl\\:text-xs{font-size:calc(.75 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1 / .75))}.tpl\\:text-\\[0\\.8em\\]{font-size:.8em}.tpl\\:text-\\[0\\.9em\\]{font-size:.9em}.tpl\\:text-\\[1em\\]{font-size:1em}.tpl\\:text-\\[8px\\]{font-size:8px}.tpl\\:text-\\[9px\\]{font-size:9px}.tpl\\:text-\\[10px\\]{font-size:10px}.tpl\\:text-\\[11px\\]{font-size:11px}.tpl\\:text-\\[12px\\]{font-size:12px}.tpl\\:text-\\[13px\\]{font-size:13px}.tpl\\:text-\\[length\\:inherit\\]{font-size:inherit}.tpl\\:leading-none{--tw-leading:1;line-height:1}.tpl\\:leading-normal{--tw-leading:1.5;line-height:1.5}.tpl\\:leading-relaxed{--tw-leading:1.625;line-height:1.625}.tpl\\:leading-snug{--tw-leading:1.375;line-height:1.375}.tpl\\:leading-tight{--tw-leading:1.25;line-height:1.25}.tpl\\:font-\\[var\\(--tpl-font-family\\)\\]{--tw-font-weight:var(--tpl-font-family);font-weight:var(--tpl-font-family)}.tpl\\:font-bold{--tw-font-weight:700;font-weight:700}.tpl\\:font-medium{--tw-font-weight:500;font-weight:500}.tpl\\:font-normal{--tw-font-weight:400;font-weight:400}.tpl\\:font-semibold{--tw-font-weight:600;font-weight:600}.tpl\\:tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.tpl\\:tracking-wider{--tw-tracking:.05em;letter-spacing:.05em}.tpl\\:break-all{word-break:break-all}.tpl\\:text-ellipsis{text-overflow:ellipsis}.tpl\\:whitespace-nowrap{white-space:nowrap}.tpl\\:whitespace-pre-wrap{white-space:pre-wrap}.tpl\\:text-\\[var\\(--tpl-bg\\)\\]{color:var(--tpl-bg)}.tpl\\:text-\\[var\\(--tpl-border\\)\\]{color:var(--tpl-border)}.tpl\\:text-\\[var\\(--tpl-border-light\\)\\]{color:var(--tpl-border-light)}.tpl\\:text-\\[var\\(--tpl-chrome-text-dim\\)\\]{color:var(--tpl-chrome-text-dim)}.tpl\\:text-\\[var\\(--tpl-chrome-text-muted\\)\\]{color:var(--tpl-chrome-text-muted)}.tpl\\:text-\\[var\\(--tpl-danger\\)\\]{color:var(--tpl-danger)}.tpl\\:text-\\[var\\(--tpl-on-primary\\)\\]{color:var(--tpl-on-primary)}.tpl\\:text-\\[var\\(--tpl-primary\\)\\]{color:var(--tpl-primary)}.tpl\\:text-\\[var\\(--tpl-primary-hover\\)\\]{color:var(--tpl-primary-hover)}.tpl\\:text-\\[var\\(--tpl-success\\)\\]{color:var(--tpl-success)}.tpl\\:text-\\[var\\(--tpl-success\\,var\\(--tpl-primary\\)\\)\\]{color:var(--tpl-success,var(--tpl-primary))}.tpl\\:text-\\[var\\(--tpl-text\\)\\]{color:var(--tpl-text)}.tpl\\:text-\\[var\\(--tpl-text-dim\\)\\]{color:var(--tpl-text-dim)}.tpl\\:text-\\[var\\(--tpl-text-muted\\)\\]{color:var(--tpl-text-muted)}.tpl\\:text-\\[var\\(--tpl-warning\\)\\]{color:var(--tpl-warning)}.tpl\\:text-white{color:#fff}.tpl\\:normal-case{text-transform:none}.tpl\\:uppercase{text-transform:uppercase}.tpl\\:italic{font-style:italic}.tpl\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tpl\\:no-underline{text-decoration-line:none}.tpl\\:underline{text-decoration-line:underline}.tpl\\:accent-\\[var\\(--tpl-primary\\)\\]{accent-color:var(--tpl-primary)}.tpl\\:opacity-0{opacity:0}.tpl\\:opacity-50{opacity:.5}.tpl\\:opacity-60{opacity:.6}.tpl\\:opacity-70{opacity:.7}.tpl\\:opacity-90{opacity:.9}.tpl\\:opacity-100{opacity:1}.tpl\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-ring\\)\\]{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow\\)\\]{--tw-shadow:var(--tpl-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-lg\\)\\]{--tw-shadow:var(--tpl-shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-md\\)\\]{--tw-shadow:var(--tpl-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-sm\\)\\]{--tw-shadow:var(--tpl-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-\\[var\\(--tpl-border\\)\\]{--tw-ring-color:var(--tpl-border)}.tpl\\:ring-\\[var\\(--tpl-primary\\)\\]{--tw-ring-color:var(--tpl-primary)}.tpl\\:ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tpl\\:ring-offset-\\[var\\(--tpl-bg-elevated\\)\\]{--tw-ring-offset-color:var(--tpl-bg-elevated)}.tpl\\:backdrop-blur-\\[2px\\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.tpl\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tpl\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.tpl\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tpl\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.tpl\\:duration-\\[80ms\\]{--tw-duration:80ms;transition-duration:80ms}.tpl\\:duration-\\[120ms\\]{--tw-duration:.12s;transition-duration:.12s}.tpl\\:ease-\\[cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.tpl\\:ease-in{--tw-ease:cubic-bezier(.4, 0, 1, 1);transition-timing-function:cubic-bezier(.4,0,1,1)}.tpl\\:ease-out{--tw-ease:cubic-bezier(0, 0, .2, 1);transition-timing-function:cubic-bezier(0,0,.2,1)}.tpl\\:outline-none{--tw-outline-style:none;outline-style:none}.tpl\\:select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.tpl\\:group-hover\\:bg-black\\/40:is(:where(.tpl\\:group):hover *){background-color:oklab(0% none none/.4)}.tpl\\:group-hover\\:opacity-100:is(:where(.tpl\\:group):hover *){opacity:1}}.tpl\\:placeholder\\:text-\\[var\\(--tpl-text-dim\\)\\]::placeholder{color:var(--tpl-text-dim)}.tpl\\:first\\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.tpl\\:last\\:mb-0:last-child{margin-bottom:0}@media(hover:hover){.tpl\\:hover\\:z-10:hover{z-index:10}.tpl\\:hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:border-\\[var\\(--tpl-border\\)\\]:hover{border-color:var(--tpl-border)}.tpl\\:hover\\:border-\\[var\\(--tpl-danger\\)\\]:hover{border-color:var(--tpl-danger)}.tpl\\:hover\\:border-\\[var\\(--tpl-primary\\)\\]:hover{border-color:var(--tpl-primary)}.tpl\\:hover\\:border-\\[var\\(--tpl-text-dim\\)\\]:hover{border-color:var(--tpl-text-dim)}.tpl\\:hover\\:border-l-\\[var\\(--tpl-primary\\)\\]:hover{border-left-color:var(--tpl-primary)}.tpl\\:hover\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-text\\)_8\\%\\,transparent\\)\\]:hover{background-color:var(--tpl-text)}@supports (color:color-mix(in lab,red,red)){.tpl\\:hover\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-text\\)_8\\%\\,transparent\\)\\]:hover{background-color:color-mix(in srgb,var(--tpl-text) 8%,transparent)}}.tpl\\:hover\\:bg-\\[var\\(--tpl-bg-active\\)\\]:hover{background-color:var(--tpl-bg-active)}.tpl\\:hover\\:bg-\\[var\\(--tpl-bg-hover\\)\\]:hover{background-color:var(--tpl-bg-hover)}.tpl\\:hover\\:bg-\\[var\\(--tpl-danger-light\\)\\]:hover{background-color:var(--tpl-danger-light)}.tpl\\:hover\\:bg-\\[var\\(--tpl-primary-hover\\)\\]:hover{background-color:var(--tpl-primary-hover)}.tpl\\:hover\\:bg-\\[var\\(--tpl-primary-light\\)\\]:hover{background-color:var(--tpl-primary-light)}.tpl\\:hover\\:bg-\\[var\\(--tpl-warning-light\\)\\]:hover{background-color:var(--tpl-warning-light)}.tpl\\:hover\\:text-\\[var\\(--tpl-danger\\)\\]:hover{color:var(--tpl-danger)}.tpl\\:hover\\:text-\\[var\\(--tpl-primary\\)\\]:hover{color:var(--tpl-primary)}.tpl\\:hover\\:text-\\[var\\(--tpl-text\\)\\]:hover{color:var(--tpl-text)}.tpl\\:hover\\:underline:hover{text-decoration-line:underline}.tpl\\:hover\\:opacity-80:hover{opacity:.8}.tpl\\:hover\\:opacity-90:hover{opacity:.9}.tpl\\:hover\\:opacity-100:hover{opacity:1}.tpl\\:hover\\:shadow-\\[var\\(--tpl-shadow-md\\)\\]:hover{--tw-shadow:var(--tpl-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:hover\\:shadow-\\[var\\(--tpl-shadow-sm\\)\\]:hover{--tw-shadow:var(--tpl-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.tpl\\:focus\\:border-\\[var\\(--tpl-primary\\)\\]:focus{border-color:var(--tpl-primary)}.tpl\\:focus\\:shadow-\\[0_0_0_3px_var\\(--tpl-primary-light\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--tpl-primary-light));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus\\:shadow-\\[var\\(--tpl-ring\\)\\]:focus,.tpl\\:focus-visible\\:shadow-\\[var\\(--tpl-ring\\)\\]:focus-visible{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus-visible\\:ring-\\[var\\(--tpl-primary\\)\\]:focus-visible{--tw-ring-color:var(--tpl-primary)}.tpl\\:focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tpl\\:focus-visible\\:ring-offset-\\[var\\(--tpl-bg-elevated\\)\\]:focus-visible{--tw-ring-offset-color:var(--tpl-bg-elevated)}.tpl\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.tpl\\:active\\:cursor-grabbing:active{cursor:grabbing}.tpl\\:active\\:bg-\\[var\\(--tpl-bg-active\\)\\]:active{background-color:var(--tpl-bg-active)}.tpl\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tpl\\:disabled\\:opacity-30:disabled{opacity:.3}.tpl\\:disabled\\:opacity-40:disabled{opacity:.4}.tpl\\:disabled\\:opacity-50:disabled{opacity:.5}@media(hover:hover){.tpl\\:disabled\\:hover\\:bg-transparent:disabled:hover{background-color:#0000}}.tpl\\:\\[\\&_p\\]\\:mb-2 p{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}@layer base,components;.tpl{--tpl-base-size:var(--tpl-user-base-size,16px);--tpl-bg:var(--tpl-user-bg,oklch(99.5% .002 60));--tpl-bg-elevated:var(--tpl-user-bg-elevated,oklch(98% .004 60));--tpl-bg-hover:var(--tpl-user-bg-hover,oklch(96% .006 60));--tpl-bg-active:var(--tpl-user-bg-active,oklch(93.5% .008 60));--tpl-border:var(--tpl-user-border,oklch(92% .006 60));--tpl-border-light:var(--tpl-user-border-light,oklch(86% .01 60));--tpl-text:var(--tpl-user-text,oklch(18% .01 60));--tpl-text-muted:var(--tpl-user-text-muted,oklch(50% .015 60));--tpl-text-dim:var(--tpl-user-text-dim,oklch(68% .012 60));--tpl-primary:var(--tpl-user-primary,oklch(70% .16 55));--tpl-primary-hover:var(--tpl-user-primary-hover,oklch(63% .17 55));--tpl-primary-light:var(--tpl-user-primary-light,oklch(95% .04 55));--tpl-on-primary:var(--tpl-user-on-primary,var(--tpl-bg));--tpl-secondary:var(--tpl-user-secondary,oklch(60% .118 184.71));--tpl-secondary-hover:var(--tpl-user-secondary-hover,oklch(53.2% .105 186.39));--tpl-secondary-light:var(--tpl-user-secondary-light,oklch(93.8% .03 186.82));--tpl-success:var(--tpl-user-success,oklch(62.8% .194 155.1));--tpl-success-light:var(--tpl-user-success-light,oklch(93.6% .043 163.51));--tpl-warning:var(--tpl-user-warning,oklch(76.9% .168 70.08));--tpl-warning-light:var(--tpl-user-warning-light,oklch(95% .038 73.59));--tpl-danger:var(--tpl-user-danger,oklch(63.7% .237 25.33));--tpl-danger-light:var(--tpl-user-danger-light,oklch(93.6% .032 17.72));--tpl-canvas-bg:var(--tpl-user-canvas-bg,oklch(97.5% .003 60));--tpl-chrome-bg-elevated:var(--tpl-bg-elevated);--tpl-chrome-border-light:var(--tpl-border-light);--tpl-chrome-text:var(--tpl-text);--tpl-chrome-text-muted:var(--tpl-text-muted);--tpl-chrome-text-dim:var(--tpl-text-dim);--tpl-chrome-primary-light:var(--tpl-primary-light);--tpl-chrome-primary-hover:var(--tpl-primary-hover);--tpl-radius:var(--tpl-user-radius,10px);--tpl-radius-sm:var(--tpl-user-radius-sm,7px);--tpl-radius-lg:var(--tpl-user-radius-lg,14px);--tpl-font-family:var(--tpl-user-font-family,\"Geist\", ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");--tpl-shadow-sm:var(--tpl-user-shadow-sm,0 1px 2px #00000008);--tpl-shadow:var(--tpl-user-shadow,0 1px 2px #0000000a, 0 1px 3px #00000008);--tpl-shadow-md:var(--tpl-user-shadow-md,0 2px 8px #0000000f, 0 1px 3px #0000000a);--tpl-shadow-lg:var(--tpl-user-shadow-lg,0 4px 16px #00000014, 0 2px 6px #0000000a);--tpl-shadow-xl:var(--tpl-user-shadow-xl,0 8px 32px #0000001a, 0 4px 12px #0000000f);--tpl-overlay:var(--tpl-user-overlay,#00000080);--tpl-ring:var(--tpl-user-ring,0 0 0 3px var(--tpl-primary-light));--tpl-transition:var(--tpl-user-transition,.12s cubic-bezier(.16, 1, .3, 1))}.tpl[data-tpl-theme=dark]{--tpl-bg:var(--tpl-user-dark-bg,oklch(16% .005 60));--tpl-bg-elevated:var(--tpl-user-dark-bg-elevated,oklch(21% .006 60));--tpl-bg-hover:var(--tpl-user-dark-bg-hover,oklch(26% .007 60));--tpl-bg-active:var(--tpl-user-dark-bg-active,oklch(30% .008 60));--tpl-border:var(--tpl-user-dark-border,oklch(30% .006 60));--tpl-border-light:var(--tpl-user-dark-border-light,oklch(38% .008 60));--tpl-text:var(--tpl-user-dark-text,oklch(93% .005 60));--tpl-text-muted:var(--tpl-user-dark-text-muted,oklch(65% .01 60));--tpl-text-dim:var(--tpl-user-dark-text-dim,oklch(50% .008 60));--tpl-primary:var(--tpl-user-dark-primary,oklch(73% .15 55));--tpl-primary-hover:var(--tpl-user-dark-primary-hover,oklch(78% .14 55));--tpl-primary-light:var(--tpl-user-dark-primary-light,oklch(28% .05 55));--tpl-secondary:var(--tpl-user-dark-secondary,oklch(63% .11 184.71));--tpl-secondary-hover:var(--tpl-user-dark-secondary-hover,oklch(68% .1 186.39));--tpl-secondary-light:var(--tpl-user-dark-secondary-light,oklch(25% .03 186.82));--tpl-success:var(--tpl-user-dark-success,oklch(65% .18 155.1));--tpl-success-light:var(--tpl-user-dark-success-light,oklch(25% .04 163.51));--tpl-warning:var(--tpl-user-dark-warning,oklch(78% .16 70.08));--tpl-warning-light:var(--tpl-user-dark-warning-light,oklch(28% .04 73.59));--tpl-danger:var(--tpl-user-dark-danger,oklch(65% .22 25.33));--tpl-danger-light:var(--tpl-user-dark-danger-light,oklch(25% .04 17.72));--tpl-canvas-bg:var(--tpl-user-dark-canvas-bg,oklch(10% .003 60));--tpl-shadow-sm:var(--tpl-user-dark-shadow-sm,0 1px 2px #0003);--tpl-shadow:var(--tpl-user-dark-shadow,0 1px 2px #0000004d, 0 1px 3px #0003);--tpl-shadow-md:var(--tpl-user-dark-shadow-md,0 2px 8px #00000059, 0 1px 3px #00000040);--tpl-shadow-lg:var(--tpl-user-dark-shadow-lg,0 4px 16px #0006, 0 2px 6px #0000004d);--tpl-shadow-xl:var(--tpl-user-dark-shadow-xl,0 8px 32px #00000080, 0 4px 12px #00000059);--tpl-overlay:var(--tpl-user-dark-overlay,#000000b3);--tpl-ring:var(--tpl-user-dark-ring,0 0 0 3px var(--tpl-primary-light))}.tpl[data-tpl-theme=dark] .tpl-block-content{--tpl-bg-elevated:oklch(98% .004 60);--tpl-border-light:oklch(86% .01 60);--tpl-text:oklch(18% .01 60);--tpl-text-muted:oklch(50% .015 60);--tpl-text-dim:oklch(68% .012 60);--tpl-primary-light:oklch(95% .04 55);--tpl-primary-hover:oklch(60% .16 55);color:var(--tpl-text)}.tpl{height:100%;font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875));--tw-leading:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--tpl-bg);min-height:320px;color:var(--tpl-text);line-height:1.5;font-family:var(--tpl-font-family);letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-align:start;white-space:normal;cursor:auto;font-variant-numeric:normal;text-shadow:none;flex-direction:column;font-style:normal;font-weight:400;list-style-type:disc;display:flex}:where(.tpl) button,:where(.tpl) input,:where(.tpl) select,:where(.tpl) textarea{box-sizing:border-box;font-family:inherit}:where(.tpl) button{cursor:pointer;background:0 0;border:none;margin:0;padding:0}:where(.tpl) button:focus-visible,:where(.tpl) input:focus-visible,:where(.tpl) select:focus-visible,:where(.tpl) textarea:focus-visible{box-shadow:var(--tpl-ring);outline:none}:where(.tpl) .tpl-focus-ring-host:focus-within :is(input,select,textarea):focus-visible{box-shadow:none}.tpl ::-webkit-scrollbar{width:6px;height:6px}.tpl ::-webkit-scrollbar-track{background:0 0}.tpl ::-webkit-scrollbar-thumb{background-color:var(--tpl-border-light)}@supports (color:color-mix(in lab,red,red)){.tpl ::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--tpl-border-light) 60%,transparent)}}.tpl ::-webkit-scrollbar-thumb{border-radius:calc(.25 * var(--tpl-base-size))}.tpl ::-webkit-scrollbar-thumb:hover{background-color:var(--tpl-border-light)}@keyframes tpl-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes tpl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tpl-popover-root{z-index:10000;position:relative}.tpl-merge-tag-label{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@supports (color:color-mix(in lab,red,red)){.tpl-merge-tag-label{-webkit-text-decoration-color:color-mix(in srgb,currentColor 55%,transparent);text-decoration-color:color-mix(in srgb,currentColor 55%,transparent)}}.tpl-merge-tag-label{unicode-bidi:isolate}.tpl-pulse{animation:2s infinite tpl-pulse}.tpl-spinner{animation:1s linear infinite tpl-spin}@keyframes tpl-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes tpl-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes tpl-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tpl-fade-in{animation:.2s cubic-bezier(.16,1,.3,1) tpl-fade-in}.tpl-scale-in{animation:.15s cubic-bezier(.16,1,.3,1) tpl-scale-in}.tpl-shimmer{background:linear-gradient(90deg,var(--tpl-bg-hover) 25%,var(--tpl-bg-active) 50%,var(--tpl-bg-hover) 75%);background-size:200% 100%;animation:1.5s linear infinite tpl-shimmer}.tpl-preview-mode .tpl-block--idle,.tpl-preview-mode .tpl-block--idle:hover,.tpl-preview-mode .tpl-block--selected{box-shadow:none!important;outline:none!important}.tpl-preview-mode .tpl-block{cursor:default;pointer-events:none}.tpl-preview-mode .tpl-block-actions,.tpl-preview-mode .tpl-block-hidden-overlay,.tpl-preview-mode .tpl-condition-toggle,.tpl-preview-mode .tpl-comment-indicator,.tpl-preview-mode .tpl-collab-lock{display:none}.tpl-ghost{border:none!important;border-top:2px dotted var(--tpl-primary)!important;background-color:#0000!important;justify-content:center!important;align-items:center!important;width:100%!important;height:0!important;min-height:0!important;max-height:0!important;margin:12px 0!important;padding:0!important;display:flex!important;position:relative!important;overflow:visible!important}@supports (color:color-mix(in lab,red,red)){.tpl-ghost{border-top:2px dotted color-mix(in srgb,var(--tpl-primary) 50%,transparent)!important}}.tpl-ghost{box-shadow:none!important;border-radius:0!important}.tpl-ghost>*{display:none!important}.tpl-ghost:before{content:var(--tpl-drop-text,\"Drop here\");white-space:nowrap!important;color:var(--tpl-primary)!important;background-color:var(--tpl-primary)!important;padding:2px 8px!important;font-size:12px!important;font-weight:500!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}@supports (color:color-mix(in lab,red,red)){.tpl-ghost:before{background-color:color-mix(in srgb,var(--tpl-primary) 15%,var(--tpl-bg))!important}}.tpl-ghost:before{border-radius:var(--tpl-radius-sm)!important;box-shadow:none!important}.tpl-canvas-empty .tpl-ghost{display:none!important}.tpl-dragging{opacity:.8;box-shadow:var(--tpl-shadow-xl)}.sortable-fallback{transition:none!important;animation:none!important}.tpl-block--lifted{outline:2px dashed var(--tpl-primary)!important;outline-offset:2px!important;box-shadow:var(--tpl-shadow-xl),0 0 0 4px var(--tpl-primary)!important}@supports (color:color-mix(in lab,red,red)){.tpl-block--lifted{box-shadow:var(--tpl-shadow-xl),0 0 0 4px color-mix(in srgb,var(--tpl-primary) 20%,transparent)!important}}.tpl-block--lifted{transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1);transform:scale(1.01)}.tpl-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tpl-text-toolbar-btn{width:calc(calc(var(--tpl-base-size) / 4) * 8);height:calc(calc(var(--tpl-base-size) / 4) * 8);cursor:pointer;border-radius:calc(.25 * var(--tpl-base-size));--tw-border-style:none;transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s);color:var(--tpl-text);background-color:#0000;border-style:none;justify-content:center;align-items:center;padding:0;display:flex}.tpl-text-toolbar-btn:hover{background-color:var(--tpl-bg-active)}.tpl-text-toolbar-btn--active{box-shadow:inset 0 0 0 1.5px var(--tpl-primary-hover);background-color:var(--tpl-primary)!important;color:var(--tpl-bg)!important}.tpl-text-toolbar-btn--active svg{stroke-width:2.75px}.tpl-text-content,.tpl-text-editable .tiptap{--tw-outline-style:none;outline-style:none}.tpl-text-editable{border-radius:calc(.25 * var(--tpl-base-size));border-style:var(--tw-border-style);--tw-border-style:dashed;padding:calc(calc(var(--tpl-base-size) / 4) * 2);border-style:dashed;border-width:1px;border-color:var(--tpl-primary);min-height:1.5em}.tpl-text-content p,.tpl-text-editable .tiptap p{margin:0 0 var(--tpl-doc-paragraph-spacing,8px)}.tpl-text-content p:last-child,.tpl-text-editable .tiptap p:last-child{margin-bottom:0}.tpl-text-content ul,.tpl-text-content ol,.tpl-text-editable .tiptap ul,.tpl-text-editable .tiptap ol{margin:8px 0;padding-inline-start:24px}.tpl-text-content li,.tpl-text-editable .tiptap li{margin:4px 0}.tpl-text-content s,.tpl-text-editable .tiptap s{text-decoration-line:line-through}.tpl-text-content sub,.tpl-text-editable .tiptap sub{vertical-align:sub;font-size:.75em}.tpl-text-content sup,.tpl-text-editable .tiptap sup{vertical-align:super;font-size:.75em}.tpl-text-content a,.tpl-text-editable a{color:var(--tpl-doc-link-color,inherit);-webkit-text-decoration:var(--tpl-doc-link-underline,none);text-decoration:var(--tpl-doc-link-underline,none)}.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5);border-radius:calc(.25 * var(--tpl-base-size));padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5);padding-block:calc(calc(var(--tpl-base-size) / 4) * .5);--tw-font-weight:500;background-color:var(--tpl-primary);align-items:center;font-size:.9em;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{background-color:color-mix(in srgb,var(--tpl-primary) 20%,transparent)}}.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{color:var(--tpl-primary);unicode-bidi:isolate}.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5);border-radius:calc(.25 * var(--tpl-base-size));padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5);padding-block:calc(calc(var(--tpl-base-size) / 4) * .5);--tw-font-weight:700;--tw-tracking:.025em;letter-spacing:.025em;text-transform:uppercase;border:1.5px solid var(--tpl-primary);unicode-bidi:isolate;background-color:#0000;align-items:center;font-size:.8em;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{border:1.5px solid color-mix(in srgb,var(--tpl-primary) 50%,transparent)}}.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{color:var(--tpl-primary)}.tpl-tooltip{position:relative}.tpl-tooltip:after{content:attr(data-tooltip);border-radius:var(--tpl-radius-sm);background-color:var(--tpl-text);color:var(--tpl-bg);white-space:normal;text-align:center;pointer-events:none;opacity:0;text-transform:none;z-index:50;width:max-content;max-width:min(320px,90vw);padding:4px 10px;font-size:12px;font-weight:500;line-height:1.4;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tpl-tooltip:before{content:\"\";border:4px solid #0000;border-bottom-color:var(--tpl-text);pointer-events:none;opacity:0;z-index:50;transition:opacity .15s;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.tpl-tooltip:hover:after,.tpl-tooltip:hover:before{opacity:1}.tpl.tpl-media-overlay{background-color:var(--tpl-overlay);-webkit-backdrop-filter:blur(8px);height:100%;min-height:0;color:var(--tpl-text);flex-direction:row;justify-content:center;align-items:center;display:flex}.tpl.tpl-text-toolbar{flex-direction:row;height:auto;min-height:0;display:flex}.tpl.tpl-link-dialog{background-color:var(--tpl-overlay);flex-direction:row;justify-content:center;align-items:center;height:100%;min-height:0;display:flex}.tpl-upload-zone-active{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}@property --tpl-comet-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}@property --tpl-comet-start{syntax:\"<percentage>\";inherits:false;initial-value:100%}@keyframes tpl-ai-comet{0%{--tpl-comet-angle:0deg;--tpl-comet-start:100%}1%{--tpl-comet-angle:24deg;--tpl-comet-start:88%}5%{--tpl-comet-angle:120deg;--tpl-comet-start:60%}25%{--tpl-comet-angle:600deg;--tpl-comet-start:60%}33%{--tpl-comet-angle:720deg;--tpl-comet-start:100%}to{--tpl-comet-angle:720deg;--tpl-comet-start:100%}}.tpl-ai-btn--idle{background-color:var(--tpl-primary-light);color:var(--tpl-text);box-shadow:none;z-index:0;position:relative}.tpl-ai-btn--idle:before{content:\"\";border-radius:inherit;background:conic-gradient(from var(--tpl-comet-angle),transparent 0%,transparent var(--tpl-comet-start),var(--tpl-primary) 80%,var(--tpl-primary) 90%,var(--tpl-primary) 97%,transparent 100%);padding:2px;position:absolute;inset:-2px}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--idle:before{background:conic-gradient(from var(--tpl-comet-angle),transparent 0%,transparent var(--tpl-comet-start),color-mix(in srgb,var(--tpl-primary) 40%,transparent) 80%,var(--tpl-primary) 90%,var(--tpl-primary) 97%,transparent 100%)}}.tpl-ai-btn--idle:before{z-index:-1;pointer-events:none;animation:20s linear 3s infinite tpl-ai-comet;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tpl-ai-btn--idle:hover{background-color:var(--tpl-primary);color:var(--tpl-on-primary);transform:translateY(-1px);box-shadow:0 0 0 3px var(--tpl-primary),0 4px 16px var(--tpl-primary)!important}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--idle:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-primary) 20%,transparent),0 4px 16px color-mix(in srgb,var(--tpl-primary) 30%,transparent)!important}}.tpl-ai-btn--idle:hover:before{animation:none}.tpl-ai-btn--active{background-color:var(--tpl-primary-light);color:var(--tpl-primary-hover);border:1px solid var(--tpl-primary)}.tpl-ai-btn--active .tpl-ai-btn-icon{fill:var(--tpl-primary)}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--active .tpl-ai-btn-icon{fill:color-mix(in srgb,var(--tpl-primary) 25%,transparent)}}.tpl-ai-btn--active:hover{background-color:var(--tpl-primary-light)}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--active:hover{background-color:color-mix(in srgb,var(--tpl-primary-light) 80%,var(--tpl-primary))}}.tpl-merge-tag-delete:hover{color:var(--tpl-danger)!important}@media(prefers-reduced-motion:reduce){.tpl-pulse,.tpl-shimmer,.tpl-fade-in,.tpl-scale-in,.tpl-ai-btn--idle:before{animation:none}.tpl-shimmer{background:var(--tpl-bg-hover)}.tpl *,.tpl :before,.tpl :after{transition-duration:.01ms!important}.tpl-spinner{animation:1s linear infinite tpl-spin}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.tpl-preview-pill-enter-active[data-v-433680d1]{transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.tpl-preview-pill-leave-active[data-v-433680d1]{transition:opacity .15s ease-in,transform .15s ease-in}.tpl-preview-pill-enter-from[data-v-433680d1],.tpl-preview-pill-leave-to[data-v-433680d1]{opacity:0;transform:translateY(-8px) scale(.9)}.tpl-preview-pill-enter-to[data-v-433680d1],.tpl-preview-pill-leave-from[data-v-433680d1]{opacity:1;transform:translateY(0) scale(1)}.tpl-saved-block-skeleton{animation:tpl-saved-block-pulse 1.4s ease-in-out infinite}@keyframes tpl-saved-block-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.tpl-saved-block-skeleton{animation:none}}.tpl-saved-block-delete-btn:hover{color:var(--tpl-danger)!important}.tpl-saved-block-rename-btn:hover{color:var(--tpl-primary)!important}.vue-advanced-cropper{text-align:center;position:relative;user-select:none;max-height:100%;max-width:100%;direction:ltr}.vue-advanced-cropper__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.vue-advanced-cropper__image{user-select:none;position:absolute;transform-origin:center;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{overflow:hidden;position:absolute;width:100%;height:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{display:block;background:#fff;height:10px;width:10px}.vue-handler-wrapper{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px}.vue-handler-wrapper__draggable{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:none;position:absolute;display:flex;align-items:center;justify-content:center}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;width:100%;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{top:0;cursor:n-resize}.vue-line-wrapper--south{top:100%;cursor:s-resize}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;transform:translate(-50%);top:0}.vue-line-wrapper--east{left:100%;cursor:e-resize}.vue-line-wrapper--west{left:0;cursor:w-resize}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{position:relative;height:100%;width:100%}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{left:0;top:0}.vue-bounding-box__handler--north{left:50%;top:0}.vue-bounding-box__handler--east-north{left:100%;top:0}.vue-bounding-box__handler--east{left:100%;top:50%}.vue-bounding-box__handler--east-south{left:100%;top:100%}.vue-bounding-box__handler--south{left:50%;top:100%}.vue-bounding-box__handler--west-south{left:0;top:100%}.vue-bounding-box__handler--west{left:0;top:50%}.vue-draggable-area{position:relative}.vue-preview-result{overflow:hidden;box-sizing:border-box;position:absolute;height:100%;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;position:relative;user-select:none;transform-origin:center;max-width:none!important}.vue-rectangle-stencil{position:absolute;height:100%;width:100%;box-sizing:border-box}.vue-rectangle-stencil__preview{position:absolute;width:100%;height:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{position:absolute;height:100%;width:100%;box-sizing:content-box;cursor:move}.vue-circle-stencil__preview{border-radius:50%;position:absolute;width:100%;height:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{overflow:hidden;box-sizing:border-box;position:relative}.vue-preview--fill{width:100%;height:100%;position:absolute}.vue-preview__wrapper{position:absolute;height:100%;width:100%}.vue-preview__image{pointer-events:none;position:absolute;user-select:none;transform-origin:center;max-width:none!important}.vue-simple-line{background:none;transition:border .5s;border-color:#ffffff4d;border-width:0;border-style:solid}.vue-simple-line--south,.vue-simple-line--north{height:0;width:100%}.vue-simple-line--east,.vue-simple-line--west{height:100%;width:0}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}[data-v-32369770] .tpl-cropper-background{background-color:var(--tpl-bg)!important}[data-v-32369770] .vue-advanced-cropper{background-color:transparent!important}[data-v-32369770] .vue-advanced-cropper__background{background-color:var(--tpl-bg)!important}[data-v-32369770] .vue-advanced-cropper__foreground{background-color:var(--tpl-overlay)!important}.tpl-media-item[data-v-4987c8b6]:not(.tpl-media-item--selected):hover{border-color:var(--tpl-border)!important}.tpl-media-list-item[data-v-4987c8b6]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-list-icon[data-v-4987c8b6]{transform:scale(.35);transform-origin:center}.tpl-preview-icon[data-v-c3c1707e]{transform:scale(.45);transform-origin:center}.tpl-comments-slide-enter-active[data-v-3692da54]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-comments-slide-leave-active[data-v-3692da54]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-comments-input-wrapper[data-v-3692da54]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-comments-send-btn[data-v-3692da54]:not(:disabled):hover{transform:scale(1.05)}.tpl-comment-filter[data-v-3692da54]{color:var(--tpl-text-muted);background-color:transparent}.tpl-comment-filter[data-v-3692da54]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-filter--active[data-v-3692da54]{background-color:var(--tpl-primary-light);color:var(--tpl-primary)}.tpl-comment-action[data-v-3692da54]{color:var(--tpl-text-dim);background-color:transparent}.tpl-comment-action[data-v-3692da54]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-delete[data-v-3692da54]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-comment-card[data-v-3692da54],.tpl-comment-reply-card[data-v-3692da54]{border-color:var(--tpl-border);background-color:var(--tpl-bg)}.tpl-resolve-enter-active[data-v-3692da54],.tpl-resolve-leave-active[data-v-3692da54]{transition:opacity .3s ease,transform .3s ease}.tpl-resolve-enter-from[data-v-3692da54],.tpl-resolve-leave-to[data-v-3692da54]{opacity:0;transform:translateY(-4px)}.tpl-resolve-icon[data-v-3692da54]{transition:color .3s ease,transform .2s ease}.tpl-resolve-icon[data-v-3692da54]:active{transform:scale(1.3)}.tpl-replies-enter-active[data-v-3692da54],.tpl-replies-leave-active[data-v-3692da54]{transition:opacity .25s ease,transform .25s ease}.tpl-replies-enter-from[data-v-3692da54],.tpl-replies-leave-to[data-v-3692da54]{opacity:0;transform:translateY(-4px)}.tpl-ai-slide-enter-active[data-v-14f74f56]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-ai-slide-leave-active[data-v-14f74f56]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-ai-input-wrapper[data-v-14f74f56]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-ai-send-btn[data-v-14f74f56]:not(:disabled):hover{transform:scale(1.05)}.tpl-suggestion-btn[data-v-14f74f56]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-design-slide-enter-active[data-v-d72bc7be]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-design-slide-leave-active[data-v-d72bc7be]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-design-prompt-input[data-v-d72bc7be]:focus{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-design-dropzone[data-v-d72bc7be]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-scoring-slide-enter-active[data-v-e9458def]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-scoring-slide-leave-active[data-v-e9458def]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-scoring-fix-btn[data-v-e9458def]:not(:disabled):hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-ai-feature-menu-item[data-v-bf59b787]:hover{background-color:var(--tpl-bg-hover)!important}\n/*$vite$:1*/", Od = null;
5039
+ function kd() {
5040
+ if (Od === null) {
5014
5041
  let e = new CSSStyleSheet();
5015
- e.replaceSync(Ed), Dd = e;
5042
+ e.replaceSync(Dd), Od = e;
5016
5043
  }
5017
- return Dd;
5044
+ return Od;
5018
5045
  }
5019
- function kd(e) {
5046
+ function Ad(e) {
5020
5047
  return () => {};
5021
5048
  }
5022
- function Ad(e, t) {
5049
+ function jd(e, t) {
5023
5050
  if (!t) return {
5024
5051
  target: e,
5025
5052
  shadowRoot: null,
5026
5053
  cleanup: () => {}
5027
5054
  };
5028
5055
  let n = e.shadowRoot ?? e.attachShadow({ mode: "open" });
5029
- for (n.adoptedStyleSheets = [Od()]; n.firstChild;) n.removeChild(n.firstChild);
5056
+ for (n.adoptedStyleSheets = [kd()]; n.firstChild;) n.removeChild(n.firstChild);
5030
5057
  let r = document.createElement("div");
5031
5058
  return r.className = "tpl-editor-host", r.style.cssText = "display:block;height:100%;width:100%;", n.appendChild(r), {
5032
5059
  target: r,
5033
5060
  shadowRoot: n,
5034
- cleanup: kd(n)
5061
+ cleanup: Ad(n)
5035
5062
  };
5036
5063
  }
5037
- var jd = /* @__PURE__ */ new Map(), Md = null;
5038
- function Nd(e) {
5039
- let t = jd.get(e);
5040
- t && (t.cleanup(), t.app.unmount(), jd.delete(e), Md === e && (Md = null));
5064
+ var Md = /* @__PURE__ */ new Map(), Nd = null;
5065
+ function Pd(e) {
5066
+ let t = Md.get(e);
5067
+ t && (t.cleanup(), t.app.unmount(), Md.delete(e), Nd === e && (Nd = null));
5041
5068
  }
5042
- async function Pd(e) {
5043
- return Fd(e);
5069
+ async function Fd(e) {
5070
+ return Id(e);
5044
5071
  }
5045
- async function Fd(e, t) {
5072
+ async function Id(e, t) {
5046
5073
  let n = typeof e.container == "string" ? document.querySelector(e.container) : e.container;
5047
5074
  if (!n) throw Error(`[Templatical] Container element not found: ${e.container}`);
5048
- e.locale !== void 0 && !ye(e.locale) && Tt.warn(`config.locale: "${e.locale}" has no translations — falling back to English. Supported: ${ge().sort().join(", ")}.`);
5075
+ e.locale !== void 0 && !ye(e.locale) && Et.warn(`config.locale: "${e.locale}" has no translations — falling back to English. Supported: ${ge().sort().join(", ")}.`);
5049
5076
  let r = await fe(e.locale ?? "en"), i = Ge(e.fonts);
5050
- Nd(n);
5051
- let a = Ad(n, e.shadowDom ?? !0), o = c(null);
5052
- e.content &&= hr(e.content, e.mergeTags);
5077
+ Pd(n);
5078
+ let a = jd(n, e.shadowDom ?? !0), o = c(null);
5079
+ e.content &&= gr(e.content, e.mergeTags);
5053
5080
  let s = A({ setup() {
5054
- return () => F(Sd, {
5081
+ return () => F(Cd, {
5055
5082
  config: e,
5056
5083
  translations: r,
5057
5084
  fontsManager: i,
@@ -5062,27 +5089,37 @@ async function Fd(e, t) {
5062
5089
  ref: o
5063
5090
  });
5064
5091
  } });
5065
- s.mount(a.target), jd.set(n, {
5092
+ s.mount(a.target), Md.set(n, {
5066
5093
  app: s,
5067
5094
  editorRef: o,
5068
5095
  cleanup: a.cleanup
5069
- }), Md = n;
5096
+ }), Nd = n;
5070
5097
  let l = {
5071
5098
  getContent() {
5072
- return H(o.value ? o.value.getContent() : e.content ?? oe(e.fonts?.defaultFont, qn(e)));
5099
+ return H(o.value ? o.value.getContent() : e.content ?? oe(e.fonts?.defaultFont, Jn(e)));
5073
5100
  },
5074
5101
  setContent(t) {
5075
- let n = hr(t, e.mergeTags);
5102
+ let n = gr(t, e.mergeTags);
5076
5103
  o.value && o.value.setContent(n), e.content = n;
5077
5104
  },
5078
5105
  setTheme(e) {
5079
5106
  o.value && o.value.setTheme(e);
5080
5107
  },
5081
- unmount: () => Nd(n),
5108
+ setMergeTags(t) {
5109
+ if (o.value) {
5110
+ o.value.setMergeTags(t);
5111
+ return;
5112
+ }
5113
+ e.mergeTags = {
5114
+ ...e.mergeTags,
5115
+ tags: t
5116
+ };
5117
+ },
5118
+ unmount: () => Pd(n),
5082
5119
  create(t) {
5083
5120
  return o.value ? o.value.create(t?.content ? {
5084
5121
  ...t,
5085
- content: hr(t.content, e.mergeTags)
5122
+ content: gr(t.content, e.mergeTags)
5086
5123
  } : t) : Promise.reject(/* @__PURE__ */ Error("[Templatical] Editor not ready"));
5087
5124
  },
5088
5125
  load(e) {
@@ -5102,29 +5139,29 @@ async function Fd(e, t) {
5102
5139
  },
5103
5140
  toMjml: () => u.toMjml(),
5104
5141
  toHtml: () => u.toHtml()
5105
- }, u = Td({
5142
+ }, u = Ed({
5106
5143
  provider: e.render,
5107
- buildPayload: () => wd({
5144
+ buildPayload: () => Td({
5108
5145
  getContent: () => l.getContent(),
5109
5146
  renderCustomBlock: (e) => l.renderCustomBlock(e),
5110
- getFonts: () => Cd(i)
5147
+ getFonts: () => wd(i)
5111
5148
  }),
5112
- renderLocalMjml: () => nr({
5149
+ renderLocalMjml: () => rr({
5113
5150
  getContent: () => l.getContent(),
5114
5151
  renderCustomBlock: (e) => l.renderCustomBlock(e),
5115
5152
  getCustomBlockStylesheet: (e) => l.getCustomBlockStylesheet(e),
5116
- getFonts: () => Cd(i),
5153
+ getFonts: () => wd(i),
5117
5154
  socialIconsBaseUrl: e.socialIconsBaseUrl
5118
5155
  })
5119
5156
  });
5120
5157
  return l;
5121
5158
  }
5122
- async function Id(e) {
5123
- let [{ bootstrapCloud: t }, n] = await Promise.all([import("./chunks/createCloudRuntime-U-qCH-dq.js"), le(e.locale ?? "en")]), { runtime: r, providers: i, user: a } = await t({
5159
+ async function Ld(e) {
5160
+ let [{ bootstrapCloud: t }, n] = await Promise.all([import("./chunks/createCloudRuntime-ClvtMBF1.js"), le(e.locale ?? "en")]), { runtime: r, providers: i, user: a } = await t({
5124
5161
  config: e,
5125
5162
  cloudTranslations: n
5126
5163
  });
5127
- return Fd({
5164
+ return Id({
5128
5165
  container: e.container,
5129
5166
  content: e.content,
5130
5167
  shadowDom: e.shadowDom,
@@ -5166,10 +5203,10 @@ async function Id(e) {
5166
5203
  user: a
5167
5204
  }, r);
5168
5205
  }
5169
- function Ld() {
5170
- Md && Nd(Md);
5206
+ function Rd() {
5207
+ Nd && Pd(Nd);
5171
5208
  }
5172
5209
  //#endregion
5173
- export { ue as createLocalStorageMediaProvider, me as createLocalStorageSavedBlocksProvider, K as getBaseLocale, Ne as getSupportedCloudLocales, ge as getSupportedLocales, Pd as init, Id as initCloud, _e as isCloudLocaleSupported, ye as isLocaleSupported, Ld as unmount, Ge as useFonts };
5210
+ export { ue as createLocalStorageMediaProvider, me as createLocalStorageSavedBlocksProvider, K as getBaseLocale, Ne as getSupportedCloudLocales, ge as getSupportedLocales, Fd as init, Ld as initCloud, _e as isCloudLocaleSupported, ye as isLocaleSupported, Rd as unmount, Ge as useFonts };
5174
5211
 
5175
5212
  //# sourceMappingURL=editor.js.map