@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.
- package/dist/{AiChatSidebar-tu4eLcf_.js → AiChatSidebar-jVlXXND3.js} +66 -66
- package/dist/{AiFeatureMenu-BF0i0vA4.js → AiFeatureMenu-C1HCntyQ.js} +6 -6
- package/dist/{BlockIssueBadge-DT-FqKeC.js → BlockIssueBadge-JhNgcUmZ.js} +4 -4
- package/dist/{BlockPreviewCanvas-DDCmMram.js → BlockPreviewCanvas-C_rA5LJN.js} +2 -2
- package/dist/{CloudHeaderExtras-NPhudovT.js → CloudHeaderExtras-DvYyNsPB.js} +3 -3
- package/dist/{CloudPanels-Iwnky0iA.js → CloudPanels-CDPhPVdd.js} +5 -5
- package/dist/{CollaboratorBar-DAITu0hz.js → CollaboratorBar-Co9UPoB0.js} +3 -3
- package/dist/{ColorPicker-BqlZ_TqG.js → ColorPicker-BTtN94te.js} +6 -6
- package/dist/{CommentsPanel-CDvgmWP1.js → CommentsPanel-CRcVN9Ri.js} +1 -1
- package/dist/{CommentsSidebar-X_xqM3dR.js → CommentsSidebar-gDU977br.js} +12 -12
- package/dist/{CountdownBlock-ZFJIdbP6.js → CountdownBlock-CEzrfe5R.js} +1 -1
- package/dist/{CountdownToolbar-DBFoG3a6.js → CountdownToolbar-B00zhkNJ.js} +2 -2
- package/dist/{DesignReferenceSidebar--QtXjLrw.js → DesignReferenceSidebar-DedivZZl.js} +7 -7
- package/dist/{IssuesPanel-BLbNFMSX.js → IssuesPanel-C-PjdmAV.js} +7 -7
- package/dist/{MediaPanels-CMTAhDXB.js → MediaPanels-BpQNY8YX.js} +1 -1
- package/dist/{MergeTagInput-BEjzj4Iu.js → MergeTagInput-Cw1RoMly.js} +201 -149
- package/dist/{MergeTagModeToggle-DKN6ihI5.js → MergeTagModeToggle-DGuzSAdX.js} +35 -35
- package/dist/{MergeTagSuggestion-DKoLEeoj.js → MergeTagSuggestion-BXO3UIXW.js} +2 -2
- package/dist/{ParagraphEditor-1E9yzOfk.js → ParagraphEditor-jMKLLTa8.js} +38 -38
- package/dist/{RestoreVersionDialog-BMGUkcd8.js → RestoreVersionDialog-DG1jUdBM.js} +4 -4
- package/dist/{RichTextEditorContent-BnxbQUV9.js → RichTextEditorContent-JrNEg0kv.js} +8 -8
- package/dist/{SaveBlockDialog-WKASpCCT.js → SaveBlockDialog-C0KC-OKs.js} +8 -8
- package/dist/{SavedBlocksBrowserModal-AYEXTMtQ.js → SavedBlocksBrowserModal-zyOiRgWZ.js} +10 -10
- package/dist/{SavedBlocksPanels-D_CpacTl.js → SavedBlocksPanels-epMd799w.js} +1 -1
- package/dist/{SavedBlocksPickBar-BHMwg-1G.js → SavedBlocksPickBar-CJqqQ3jd.js} +3 -3
- package/dist/{TemplateScoringPanel-CSin43YM.js → TemplateScoringPanel-m2FOeaai.js} +103 -103
- package/dist/{TestEmailModal-BxizsRCd.js → TestEmailModal-D58kYkMV.js} +54 -54
- package/dist/{TestEmailPanel-vd2e5HzT.js → TestEmailPanel-BmFVBIQt.js} +1 -1
- package/dist/{TitleEditor-CLJ68Ty4.js → TitleEditor-C4BGPXnf.js} +13 -13
- package/dist/{TplModal-Q9fDgS1M.js → TplModal-BIDJw4Kj.js} +3 -3
- package/dist/{VersionHistoryMenu-eGYVhM4H.js → VersionHistoryMenu-dt_aZQfh.js} +7 -7
- package/dist/{VersionHistoryPanels-C7Ntrrfq.js → VersionHistoryPanels-B_5SBRrr.js} +1 -1
- package/dist/{VersionPreviewBanner-BbQXnR0M.js → VersionPreviewBanner-DttvOkwd.js} +2 -2
- package/dist/{blockTypeIcons-5qD4bB76.js → blockTypeIcons-CzTizYmK.js} +2 -2
- package/dist/bundle-stats.json +8 -8
- package/dist/{cdn/chunks/ca-D9S-UCfZ.js → ca-YlPDhElv.js} +5 -3
- package/dist/cdn/chunks/{AiChatSidebar-dyqqHAcI.js → AiChatSidebar-DeZl9Tk0.js} +54 -54
- package/dist/cdn/chunks/AiChatSidebar-DeZl9Tk0.js.map +1 -0
- package/dist/cdn/chunks/{AiFeatureMenu-BjVMwhW8.js → AiFeatureMenu-Bv8jMu9p.js} +5 -5
- package/dist/cdn/chunks/{AiFeatureMenu-BjVMwhW8.js.map → AiFeatureMenu-Bv8jMu9p.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-BJ__oEtm.js → BlockIssueBadge-B6PpoOPv.js} +4 -4
- package/dist/cdn/chunks/{BlockIssueBadge-BJ__oEtm.js.map → BlockIssueBadge-B6PpoOPv.js.map} +1 -1
- package/dist/cdn/chunks/{BlockPreviewCanvas-B5f26eLE.js → BlockPreviewCanvas-DfEtDosD.js} +3 -3
- package/dist/cdn/chunks/{BlockPreviewCanvas-B5f26eLE.js.map → BlockPreviewCanvas-DfEtDosD.js.map} +1 -1
- package/dist/cdn/chunks/{CloudHeaderExtras-D5P5IEKA.js → CloudHeaderExtras-Hk98ub-C.js} +4 -4
- package/dist/cdn/chunks/{CloudHeaderExtras-D5P5IEKA.js.map → CloudHeaderExtras-Hk98ub-C.js.map} +1 -1
- package/dist/cdn/chunks/{CloudPanels-DkmR05nB.js → CloudPanels-Ba3GLmvF.js} +5 -5
- package/dist/cdn/chunks/{CloudPanels-DkmR05nB.js.map → CloudPanels-Ba3GLmvF.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-Yn7KSpt4.js → CollaboratorBar-D2dCQ9gg.js} +4 -4
- package/dist/cdn/chunks/{CollaboratorBar-Yn7KSpt4.js.map → CollaboratorBar-D2dCQ9gg.js.map} +1 -1
- package/dist/cdn/chunks/{ColorPicker-LcrzgMoW.js → ColorPicker-BaonTCAQ.js} +7 -7
- package/dist/cdn/chunks/{ColorPicker-LcrzgMoW.js.map → ColorPicker-BaonTCAQ.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsPanel-CntwwocI.js → CommentsPanel-CV2HveQk.js} +2 -2
- package/dist/cdn/chunks/{CommentsPanel-CntwwocI.js.map → CommentsPanel-CV2HveQk.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsSidebar-BLDKnKy7.js → CommentsSidebar-Dok_vaRc.js} +4 -4
- package/dist/cdn/chunks/{CommentsSidebar-BLDKnKy7.js.map → CommentsSidebar-Dok_vaRc.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-B4AfqJwb.js → CountdownBlock-DGDl3ota.js} +2 -2
- package/dist/cdn/chunks/{CountdownBlock-B4AfqJwb.js.map → CountdownBlock-DGDl3ota.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-CA1dpuOI.js → CountdownToolbar-B9Rin64t.js} +3 -3
- package/dist/cdn/chunks/{CountdownToolbar-CA1dpuOI.js.map → CountdownToolbar-B9Rin64t.js.map} +1 -1
- package/dist/cdn/chunks/{DesignReferenceSidebar-D1Y9Hswe.js → DesignReferenceSidebar-eCuTFak2.js} +4 -4
- package/dist/cdn/chunks/{DesignReferenceSidebar-D1Y9Hswe.js.map → DesignReferenceSidebar-eCuTFak2.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-Q62LTqvd.js → IssuesPanel-CP7FEzw7.js} +5 -5
- package/dist/cdn/chunks/{IssuesPanel-Q62LTqvd.js.map → IssuesPanel-CP7FEzw7.js.map} +1 -1
- package/dist/cdn/chunks/{MediaPanels-D21M6shx.js → MediaPanels-TYrKKHX5.js} +2 -2
- package/dist/cdn/chunks/{MediaPanels-D21M6shx.js.map → MediaPanels-TYrKKHX5.js.map} +1 -1
- package/dist/cdn/chunks/MergeTagInput-CSIThqkz.js +470 -0
- package/dist/cdn/chunks/MergeTagInput-CSIThqkz.js.map +1 -0
- package/dist/cdn/chunks/{MergeTagModeToggle-DYxkAGtA.js → MergeTagModeToggle-QGTUIWWo.js} +32 -32
- package/dist/cdn/chunks/{MergeTagModeToggle-DYxkAGtA.js.map → MergeTagModeToggle-QGTUIWWo.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagSuggestion-t8Uj00Er.js → MergeTagSuggestion-CY6WK8Eb.js} +3 -3
- package/dist/cdn/chunks/MergeTagSuggestion-CY6WK8Eb.js.map +1 -0
- package/dist/cdn/chunks/{ParagraphEditor-Bd-GQXee.js → ParagraphEditor-D1tsPv4v.js} +22 -22
- package/dist/cdn/chunks/{ParagraphEditor-Bd-GQXee.js.map → ParagraphEditor-D1tsPv4v.js.map} +1 -1
- package/dist/cdn/chunks/{RestoreVersionDialog-2X9RpM9A.js → RestoreVersionDialog-BeCxNPLS.js} +4 -4
- package/dist/cdn/chunks/{RestoreVersionDialog-2X9RpM9A.js.map → RestoreVersionDialog-BeCxNPLS.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-D_rb0rmU.js → RichTextEditorContent-BBxzACFQ.js} +8 -8
- package/dist/cdn/chunks/{RichTextEditorContent-D_rb0rmU.js.map → RichTextEditorContent-BBxzACFQ.js.map} +1 -1
- package/dist/cdn/chunks/{SaveBlockDialog-CufdTomT.js → SaveBlockDialog-CLgh_g7H.js} +7 -7
- package/dist/cdn/chunks/{SaveBlockDialog-CufdTomT.js.map → SaveBlockDialog-CLgh_g7H.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CqpaNsk7.js → SavedBlocksBrowserModal-B4TcUJJe.js} +8 -8
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-CqpaNsk7.js.map → SavedBlocksBrowserModal-B4TcUJJe.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPanels-DpxYxddo.js → SavedBlocksPanels-CaBsHoRC.js} +2 -2
- package/dist/cdn/chunks/{SavedBlocksPanels-DpxYxddo.js.map → SavedBlocksPanels-CaBsHoRC.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPickBar-Drpoav1B.js → SavedBlocksPickBar-iG35XCDx.js} +4 -4
- package/dist/cdn/chunks/{SavedBlocksPickBar-Drpoav1B.js.map → SavedBlocksPickBar-iG35XCDx.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateScoringPanel-DBjUNULq.js → TemplateScoringPanel-DuQJBykq.js} +86 -86
- package/dist/cdn/chunks/TemplateScoringPanel-DuQJBykq.js.map +1 -0
- package/dist/cdn/chunks/{TestEmailModal-BTNlSW6f.js → TestEmailModal-D6Woss3r.js} +52 -52
- package/dist/cdn/chunks/TestEmailModal-D6Woss3r.js.map +1 -0
- package/dist/cdn/chunks/{TestEmailPanel-D0A9Zgxr.js → TestEmailPanel-CWQFB7J3.js} +2 -2
- package/dist/cdn/chunks/{TestEmailPanel-D0A9Zgxr.js.map → TestEmailPanel-CWQFB7J3.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-CrnuIq62.js → TitleEditor-CbY1tgSl.js} +12 -12
- package/dist/cdn/chunks/TitleEditor-CbY1tgSl.js.map +1 -0
- package/dist/cdn/chunks/{TplModal-DYXrTz42.js → TplModal-CGpp-d_r.js} +4 -4
- package/dist/cdn/chunks/{TplModal-DYXrTz42.js.map → TplModal-CGpp-d_r.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryMenu-bDGnE4hb.js → VersionHistoryMenu-ByVJXDbK.js} +4 -4
- package/dist/cdn/chunks/{VersionHistoryMenu-bDGnE4hb.js.map → VersionHistoryMenu-ByVJXDbK.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryPanels-82P0Q0HM.js → VersionHistoryPanels-CQJ5OggF.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryPanels-82P0Q0HM.js.map → VersionHistoryPanels-CQJ5OggF.js.map} +1 -1
- package/dist/cdn/chunks/{VersionPreviewBanner-BJiwKkVC.js → VersionPreviewBanner-G4lLbfr8.js} +3 -3
- package/dist/cdn/chunks/{VersionPreviewBanner-BJiwKkVC.js.map → VersionPreviewBanner-G4lLbfr8.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-CNjJSFun.js → blockTypeIcons-CQY-vxdM.js} +2 -2
- package/dist/cdn/chunks/{blockTypeIcons-CNjJSFun.js.map → blockTypeIcons-CQY-vxdM.js.map} +1 -1
- package/dist/{ca-D9S-UCfZ.js → cdn/chunks/ca-YlPDhElv.js} +7 -1
- package/dist/cdn/chunks/{ca-D9S-UCfZ.js.map → ca-YlPDhElv.js.map} +1 -1
- package/dist/cdn/chunks/{createCloudRuntime-U-qCH-dq.js → createCloudRuntime-ClvtMBF1.js} +2 -2
- package/dist/cdn/chunks/{createCloudRuntime-U-qCH-dq.js.map → createCloudRuntime-ClvtMBF1.js.map} +1 -1
- package/dist/cdn/chunks/{de-BUPszLpi.js → de-CONjnzrF.js} +6 -2
- package/dist/cdn/chunks/{de-BUPszLpi.js.map → de-CONjnzrF.js.map} +1 -1
- package/dist/cdn/chunks/draggable-kbOhCgnk.js.map +1 -1
- package/dist/cdn/chunks/{editor-modal-MXgtarMl.js → editor-modal-B6IdQWlf.js} +3 -3
- package/dist/cdn/chunks/{editor-modal-MXgtarMl.js.map → editor-modal-B6IdQWlf.js.map} +1 -1
- package/dist/cdn/chunks/{en-BbOC5x3w.js → en-BAMooiOF.js} +6 -2
- package/dist/cdn/chunks/{en-BbOC5x3w.js.map → en-BAMooiOF.js.map} +1 -1
- package/dist/cdn/chunks/en-DjunooBz.js +2 -0
- package/dist/{es-0bCDcT9p.js → cdn/chunks/es-I47lHs2m.js} +7 -1
- package/dist/cdn/chunks/{es-0bCDcT9p.js.map → es-I47lHs2m.js.map} +1 -1
- package/dist/cdn/chunks/{extensions-B8_jnIkD.js → extensions-D2YIhF7u.js} +126 -101
- package/dist/cdn/chunks/extensions-D2YIhF7u.js.map +1 -0
- package/dist/cdn/chunks/{fr-Brr8mJ9e.js → fr-B8MIKjT4.js} +6 -2
- package/dist/cdn/chunks/{fr-Brr8mJ9e.js.map → fr-B8MIKjT4.js.map} +1 -1
- package/dist/cdn/chunks/htmlparser-ClUZ6waR.js +1113 -0
- package/dist/cdn/chunks/htmlparser-ClUZ6waR.js.map +1 -0
- package/dist/cdn/chunks/{icons-BUlqGSgd.js → icons-DdrAicM2.js} +33 -33
- package/dist/cdn/chunks/{icons-BUlqGSgd.js.map → icons-DdrAicM2.js.map} +1 -1
- package/dist/cdn/chunks/keys-DXYJTLZF.js +12 -0
- package/dist/cdn/chunks/keys-DXYJTLZF.js.map +1 -0
- package/dist/{nl-Co3_RL0M.js → cdn/chunks/nl-CBLxcb-0.js} +7 -1
- package/dist/cdn/chunks/{nl-Co3_RL0M.js.map → nl-CBLxcb-0.js.map} +1 -1
- package/dist/{pt-BR-BECez5b0.js → cdn/chunks/pt-BR-CMSRfX7t.js} +7 -1
- package/dist/cdn/chunks/{pt-BR-BECez5b0.js.map → pt-BR-CMSRfX7t.js.map} +1 -1
- package/dist/cdn/chunks/{src-CUvZWL6Y.js → src-CaNsA_WX.js} +2 -2
- package/dist/cdn/chunks/{src-CUvZWL6Y.js.map → src-CaNsA_WX.js.map} +1 -1
- package/dist/cdn/chunks/src-Dwgq7hf4.js.map +1 -1
- package/dist/cdn/chunks/{src-IGLRmUar.js → src-fn7uy1FD.js} +3 -3
- package/dist/cdn/chunks/{src-IGLRmUar.js.map → src-fn7uy1FD.js.map} +1 -1
- package/dist/cdn/chunks/{useCloudI18n-DSWSGj-A.js → useCloudI18n-OezCj0cx.js} +2 -2
- package/dist/cdn/chunks/{useCloudI18n-DSWSGj-A.js.map → useCloudI18n-OezCj0cx.js.map} +1 -1
- package/dist/cdn/chunks/{useEditorCore-Cs7rYVBo.js → useEditorCore-06PtcUi1.js} +482 -473
- package/dist/cdn/chunks/useEditorCore-06PtcUi1.js.map +1 -0
- package/dist/cdn/chunks/{useEditorRoot-B0zW2nT4.js → useEditorRoot-ByHPMqYT.js} +2 -2
- package/dist/cdn/chunks/{useEditorRoot-B0zW2nT4.js.map → useEditorRoot-ByHPMqYT.js.map} +1 -1
- package/dist/cdn/chunks/{useI18n-Dlo7R9RA.js → useI18n-BhE7ndNr.js} +2 -2
- package/dist/cdn/chunks/{useI18n-Dlo7R9RA.js.map → useI18n-BhE7ndNr.js.map} +1 -1
- package/dist/cdn/chunks/useMergeTag-DE2mpy1w.js +60 -0
- package/dist/cdn/chunks/useMergeTag-DE2mpy1w.js.map +1 -0
- package/dist/cdn/chunks/{usePopoverPosition-ElP3ABaV.js → usePopoverPosition-BPL891uG.js} +2 -2
- package/dist/cdn/chunks/{usePopoverPosition-ElP3ABaV.js.map → usePopoverPosition-BPL891uG.js.map} +1 -1
- package/dist/cdn/chunks/{useScrollToBlock-nTbWkgaU.js → useScrollToBlock-DwF4pVur.js} +2 -2
- package/dist/cdn/chunks/{useScrollToBlock-nTbWkgaU.js.map → useScrollToBlock-DwF4pVur.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +894 -857
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-DWtkBzBU.js → check-9xX6RVHz.js} +1 -1
- package/dist/{chevron-down-C-Fjxcqj.js → chevron-down-J5hFJ6TL.js} +1 -1
- package/dist/{chevron-right-SOkn2d4P.js → chevron-right-BJuo5PQ-.js} +1 -1
- package/dist/{chevron-up-lntU1ypp.js → chevron-up-Qfi5k52_.js} +1 -1
- package/dist/{circle-alert-CjzUTwy3.js → circle-alert-BiArYmkB.js} +1 -1
- package/dist/{clock-pB2QKPsJ.js → clock-BkYJZ7Y0.js} +1 -1
- package/dist/{copy-CId1E038.js → copy-BRLUNHwF.js} +1 -1
- package/dist/{createCloudRuntime-x5WZm3p8.js → createCloudRuntime-CNFXaTNQ.js} +1 -1
- package/dist/{createLucideIcon-Cwf_nTzE.js → createLucideIcon-CDDkF1Tm.js} +5 -5
- package/dist/{de-BUPszLpi.js → de-CONjnzrF.js} +5 -1
- package/dist/{editor-modal-B_LaQf0s.js → editor-modal-uAEB6xKz.js} +15 -15
- package/dist/{en-BbOC5x3w.js → en-BAMooiOF.js} +5 -1
- package/dist/en-CQWkDCpm.js +2 -0
- package/dist/{cdn/chunks/es-0bCDcT9p.js → es-I47lHs2m.js} +5 -3
- package/dist/{extensions-CHOBZRab.js → extensions-CcGj7OfS.js} +129 -104
- package/dist/{eye-BuGtFUoJ.js → eye-DwhBOaV8.js} +1 -1
- package/dist/{fr-Brr8mJ9e.js → fr-B8MIKjT4.js} +5 -1
- package/dist/{image-up-gH4JEpU5.js → image-up-CiyQNZBt.js} +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/{info-BQ60P82u.js → info-D6A1qEiF.js} +1 -1
- package/dist/keys-DD1rl72F.js +10 -0
- package/dist/{link-3R8it3J7.js → link-tKGmYWsB.js} +1 -1
- package/dist/{list-Ccdgj46T.js → list-DjZQRpeI.js} +1 -1
- package/dist/{loader-circle-B_tAD4k6.js → loader-circle-D9ZL3Sv0.js} +1 -1
- package/dist/{message-circle-P-KSc6V0.js → message-circle-KTHxCcpB.js} +1 -1
- package/dist/{cdn/chunks/nl-Co3_RL0M.js → nl-CBLxcb-0.js} +5 -3
- package/dist/{pencil-9ZiwqS4r.js → pencil-Bq-nbQ7F.js} +1 -1
- package/dist/{plus-BwJEzCaO.js → plus-CRMnR4IG.js} +1 -1
- package/dist/{cdn/chunks/pt-BR-BECez5b0.js → pt-BR-CMSRfX7t.js} +5 -3
- package/dist/{refresh-cw-DEgfb2FK.js → refresh-cw-D7bYS5tm.js} +1 -1
- package/dist/{search-DqQ8Li5E.js → search-DUo0YwPz.js} +1 -1
- package/dist/{send-CE6uvqop.js → send-DaVMQphu.js} +1 -1
- package/dist/{shield-check-DhD1Z3rd.js → shield-check-DxaaurL9.js} +1 -1
- package/dist/{sparkles-R0ZQHa6F.js → sparkles-D6T6k30e.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/templatical-editor.js +1156 -1119
- package/dist/{text-align-start-DSux2UNn.js → text-align-start-vreFpmCX.js} +1 -1
- package/dist/{trash-Cf_SqsER.js → trash-DBv8MGY6.js} +1 -1
- package/dist/{triangle-alert-C6tGa6jw.js → triangle-alert-CmNS2LLv.js} +1 -1
- package/dist/{upload-DusKjpVr.js → upload-DDB9Fs0P.js} +1 -1
- package/dist/{useCloudI18n-BLyh_e2T.js → useCloudI18n-C1wuXik6.js} +1 -1
- package/dist/{useEditorCore-DhlKOYwe.js → useEditorCore-jfwgLThK.js} +1077 -1068
- package/dist/{useEditorRoot-ds57-l6F.js → useEditorRoot-eVv4doqZ.js} +1 -1
- package/dist/{useI18n-BbdxxpOE.js → useI18n-VOtdfENx.js} +1 -1
- package/dist/useMergeTag-CQM9pFca.js +58 -0
- package/dist/{usePopoverPosition-CprM5p-c.js → usePopoverPosition-gZjRywai.js} +1 -1
- package/dist/{useScrollToBlock-BTFw0b9O.js → useScrollToBlock-C0Ehnyl4.js} +2 -2
- package/dist/{x-D_-42Ukq.js → x-B7sgO_z8.js} +1 -1
- package/package.json +10 -10
- package/dist/cdn/chunks/AiChatSidebar-dyqqHAcI.js.map +0 -1
- package/dist/cdn/chunks/MergeTagInput-l7paaAml.js +0 -419
- package/dist/cdn/chunks/MergeTagInput-l7paaAml.js.map +0 -1
- package/dist/cdn/chunks/MergeTagSuggestion-t8Uj00Er.js.map +0 -1
- package/dist/cdn/chunks/TemplateScoringPanel-DBjUNULq.js.map +0 -1
- package/dist/cdn/chunks/TestEmailModal-BTNlSW6f.js.map +0 -1
- package/dist/cdn/chunks/TitleEditor-CrnuIq62.js.map +0 -1
- package/dist/cdn/chunks/en-C9U7N77n.js +0 -2
- package/dist/cdn/chunks/extensions-B8_jnIkD.js.map +0 -1
- package/dist/cdn/chunks/htmlparser-DTML8Gvz.js +0 -1007
- package/dist/cdn/chunks/htmlparser-DTML8Gvz.js.map +0 -1
- package/dist/cdn/chunks/keys-DBFhDFng.js +0 -12
- package/dist/cdn/chunks/keys-DBFhDFng.js.map +0 -1
- package/dist/cdn/chunks/useEditorCore-Cs7rYVBo.js.map +0 -1
- package/dist/cdn/chunks/useMergeTag-BYAifvh8.js +0 -46
- package/dist/cdn/chunks/useMergeTag-BYAifvh8.js.map +0 -1
- package/dist/en-DcmpWV53.js +0 -2
- package/dist/keys-DQA2i1k1.js +0 -10
- package/dist/useMergeTag-DlvOBW_B.js +0 -44
package/dist/cdn/editor.js
CHANGED
|
@@ -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-
|
|
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,
|
|
7
|
-
import { t as q } from "./chunks/useI18n-
|
|
8
|
-
import { t as
|
|
9
|
-
import { a as
|
|
10
|
-
import { $ as
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
14
|
-
import { C as
|
|
15
|
-
import { n as
|
|
16
|
-
import { t as
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
19
|
-
import { t as Q } from "./chunks/ColorPicker-
|
|
20
|
-
import { a as
|
|
21
|
-
import { i as $, n as
|
|
22
|
-
import { n as
|
|
23
|
-
import { t as
|
|
24
|
-
import { t as
|
|
25
|
-
import { t as
|
|
26
|
-
import { t as
|
|
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
|
|
29
|
-
function
|
|
30
|
-
let t = e.locale?.trim().replace(/_/g, "-"), n = t &&
|
|
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
|
|
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
|
|
98
|
+
function Xn(e) {
|
|
99
99
|
return e instanceof Error ? e : Error(String(e));
|
|
100
100
|
}
|
|
101
|
-
function
|
|
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
|
|
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 =
|
|
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?.(
|
|
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?.(
|
|
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
|
|
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(
|
|
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
|
|
248
|
-
function
|
|
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
|
-
},
|
|
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
|
|
358
|
+
async function nr() {
|
|
359
359
|
try {
|
|
360
|
-
return await import("./chunks/src-
|
|
360
|
+
return await import("./chunks/src-fn7uy1FD.js");
|
|
361
361
|
} catch {
|
|
362
362
|
return null;
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
|
-
async function
|
|
366
|
-
let t = await
|
|
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
|
|
382
|
-
function
|
|
381
|
+
var ir = 1200;
|
|
382
|
+
function ar(e) {
|
|
383
383
|
return e instanceof Error ? e : Error(String(e));
|
|
384
384
|
}
|
|
385
|
-
function
|
|
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
|
|
408
|
-
s || (s = !0,
|
|
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?.(
|
|
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,
|
|
436
|
+
await t.send(a), i.value = !0, o = setTimeout(h, ir), _(a);
|
|
437
437
|
} catch (t) {
|
|
438
|
-
let n =
|
|
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
|
|
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
|
|
577
|
+
function cr(e, t) {
|
|
578
578
|
return e ?? t;
|
|
579
579
|
}
|
|
580
580
|
//#endregion
|
|
581
581
|
//#region src/utils/resolveLintOptions.ts
|
|
582
|
-
function
|
|
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
|
|
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
|
|
594
|
+
function dr(e, t, n) {
|
|
595
595
|
let r = [], i = (t, n, i) => {
|
|
596
|
-
let a =
|
|
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
|
|
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
|
|
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
|
|
623
|
-
let a = e.data, o =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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(
|
|
680
|
+
setContent: (n, r) => e.setContent(gr(n, t), r)
|
|
681
681
|
};
|
|
682
682
|
}
|
|
683
|
-
function
|
|
683
|
+
function vr(e, t) {
|
|
684
684
|
return {
|
|
685
685
|
...e,
|
|
686
686
|
async load(n) {
|
|
687
|
-
let r = await e.load(n), i =
|
|
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
|
|
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
|
-
},
|
|
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
|
-
},
|
|
708
|
+
}, wr = {
|
|
709
709
|
key: 0,
|
|
710
710
|
class: "tpl-canvas-empty-content tpl:flex tpl:flex-col tpl:items-center"
|
|
711
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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 } =
|
|
751
|
-
s(
|
|
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(
|
|
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(() =>
|
|
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(
|
|
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(
|
|
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",
|
|
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",
|
|
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",
|
|
858
|
-
k("div",
|
|
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",
|
|
863
|
-
k("p",
|
|
864
|
-
A.value && h(m) ? (o(), b("p",
|
|
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(
|
|
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",
|
|
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(
|
|
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",
|
|
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(
|
|
900
|
+
color: h(An)(K(t.id).color)
|
|
901
901
|
})
|
|
902
|
-
}, [k("span",
|
|
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,
|
|
935
|
+
]), [[j, !h(O)?.isInitialResolve.value]])], 14, br)], 12, yr)], 4));
|
|
936
936
|
}
|
|
937
|
-
}), [["__scopeId", "data-v-ec928abd"]]),
|
|
937
|
+
}), [["__scopeId", "data-v-ec928abd"]]), Nr = u({
|
|
938
938
|
name: "CustomBlockStylesheets",
|
|
939
939
|
setup() {
|
|
940
|
-
let e = t(
|
|
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
|
|
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
|
|
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
|
|
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
|
-
},
|
|
990
|
+
}, Rr = ["aria-label"], zr = {
|
|
991
991
|
key: 0,
|
|
992
992
|
class: "tpl:truncate tpl:text-sm tpl:font-medium"
|
|
993
|
-
},
|
|
993
|
+
}, Br = [
|
|
994
994
|
"data-palette-type",
|
|
995
995
|
"aria-label",
|
|
996
996
|
"onClick",
|
|
997
997
|
"onKeydown"
|
|
998
|
-
],
|
|
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
|
-
},
|
|
1001
|
+
}, Ur = /* @__PURE__ */ u({
|
|
1002
1002
|
__name: "Sidebar",
|
|
1003
1003
|
setup(i) {
|
|
1004
|
-
let { t: a, format: s } = q(), u = t(
|
|
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(() =>
|
|
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),
|
|
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 } =
|
|
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",
|
|
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(
|
|
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",
|
|
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",
|
|
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",
|
|
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,
|
|
1136
|
+
}, 8, ["model-value"])], 44, Ir));
|
|
1137
1137
|
}
|
|
1138
|
-
}),
|
|
1138
|
+
}), Wr = { key: 0 }, Gr = {
|
|
1139
1139
|
key: 0,
|
|
1140
1140
|
class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
|
|
1141
|
-
},
|
|
1141
|
+
}, Kr = { key: 1 }, qr = [
|
|
1142
1142
|
"value",
|
|
1143
1143
|
"placeholder",
|
|
1144
1144
|
"rows"
|
|
1145
|
-
],
|
|
1145
|
+
], Jr = {
|
|
1146
1146
|
key: 0,
|
|
1147
1147
|
class: "tpl:flex tpl:flex-wrap tpl:gap-1.5"
|
|
1148
|
-
},
|
|
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 } =
|
|
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",
|
|
1162
|
+
return (t, n) => h(s) && !h(p) ? (o(), b("div", Wr, [g(Pn, {
|
|
1163
1163
|
segments: h(a),
|
|
1164
|
-
"display-class":
|
|
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
|
-
|
|
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(
|
|
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",
|
|
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(
|
|
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,
|
|
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(
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
1211
|
+
}, li = {
|
|
1210
1212
|
key: 1,
|
|
1211
1213
|
"data-testid": "template-settings-text-color"
|
|
1212
|
-
},
|
|
1214
|
+
}, ui = {
|
|
1213
1215
|
key: 2,
|
|
1214
1216
|
"data-testid": "template-settings-link-color"
|
|
1215
|
-
},
|
|
1217
|
+
}, di = {
|
|
1216
1218
|
key: 3,
|
|
1217
1219
|
"data-testid": "template-settings-link-underline"
|
|
1218
|
-
},
|
|
1220
|
+
}, fi = {
|
|
1219
1221
|
key: 4,
|
|
1220
1222
|
"data-testid": "template-settings-font-family"
|
|
1221
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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 =
|
|
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(
|
|
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 = `${
|
|
1264
|
-
return (t, r) => (o(), b("aside",
|
|
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",
|
|
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",
|
|
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,
|
|
1285
|
-
p("width") ? (o(), b("div",
|
|
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,
|
|
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",
|
|
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",
|
|
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(
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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,
|
|
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",
|
|
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",
|
|
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,
|
|
1356
|
-
k("p",
|
|
1357
|
+
}, null, 42, _i),
|
|
1358
|
+
k("p", vi, P(h(s).templateSettings.contentLocaleHint), 1)
|
|
1357
1359
|
])) : x("", !0),
|
|
1358
|
-
p("direction") ? (o(), b("div",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
1379
|
-
_ ? (o(), b("div",
|
|
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",
|
|
1383
|
-
k("li",
|
|
1384
|
-
k("li",
|
|
1385
|
-
k("li",
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
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 :
|
|
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",
|
|
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",
|
|
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,
|
|
1428
|
-
k("div",
|
|
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",
|
|
1435
|
+
k("div", zi, [
|
|
1434
1436
|
k("label", { class: v(h(J)) }, P(h(a).button.url), 3),
|
|
1435
|
-
g(
|
|
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",
|
|
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",
|
|
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",
|
|
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,
|
|
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,
|
|
1472
|
-
k("div",
|
|
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",
|
|
1480
|
-
k("option",
|
|
1481
|
-
k("option",
|
|
1482
|
-
], 42,
|
|
1483
|
-
s.value === "custom" ? (o(), b("div",
|
|
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 :
|
|
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,
|
|
1491
|
+
}, null, 42, ta), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
|
|
1490
1492
|
]),
|
|
1491
|
-
k("div",
|
|
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
|
-
}),
|
|
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",
|
|
1559
|
-
k("div",
|
|
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([
|
|
1564
|
+
class: v([Ea, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
|
|
1563
1565
|
onClick: n[0] ||= (e) => u("top", -1)
|
|
1564
|
-
}, [g(h(
|
|
1566
|
+
}, [g(h(Zt), {
|
|
1565
1567
|
size: 12,
|
|
1566
1568
|
"stroke-width": 2
|
|
1567
|
-
})], 10,
|
|
1569
|
+
})], 10, la),
|
|
1568
1570
|
k("input", {
|
|
1569
1571
|
type: "number",
|
|
1570
|
-
class: v(
|
|
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,
|
|
1577
|
+
}, null, 40, ua),
|
|
1576
1578
|
k("button", {
|
|
1577
1579
|
"aria-label": h(a).spacingControl.increaseTop,
|
|
1578
|
-
class: v([
|
|
1580
|
+
class: v([Ea, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
|
|
1579
1581
|
onClick: n[2] ||= (e) => u("top", 1)
|
|
1580
|
-
}, [g(h(
|
|
1582
|
+
}, [g(h(Wt), {
|
|
1581
1583
|
size: 12,
|
|
1582
1584
|
"stroke-width": 2
|
|
1583
|
-
})], 10,
|
|
1585
|
+
})], 10, da)
|
|
1584
1586
|
]),
|
|
1585
|
-
k("div",
|
|
1586
|
-
k("div",
|
|
1587
|
+
k("div", fa, [
|
|
1588
|
+
k("div", pa, [
|
|
1587
1589
|
k("button", {
|
|
1588
1590
|
"aria-label": h(a).spacingControl.decreaseLeft,
|
|
1589
|
-
class: v([
|
|
1591
|
+
class: v([Ea, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
|
|
1590
1592
|
onClick: n[3] ||= (e) => u("left", -1)
|
|
1591
|
-
}, [g(h(
|
|
1593
|
+
}, [g(h(Zt), {
|
|
1592
1594
|
size: 12,
|
|
1593
1595
|
"stroke-width": 2
|
|
1594
|
-
})], 10,
|
|
1596
|
+
})], 10, ma),
|
|
1595
1597
|
k("input", {
|
|
1596
1598
|
type: "number",
|
|
1597
|
-
class: v(
|
|
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,
|
|
1604
|
+
}, null, 40, ha),
|
|
1603
1605
|
k("button", {
|
|
1604
1606
|
"aria-label": h(a).spacingControl.increaseLeft,
|
|
1605
|
-
class: v([
|
|
1607
|
+
class: v([Ea, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
|
|
1606
1608
|
onClick: n[5] ||= (e) => u("left", 1)
|
|
1607
|
-
}, [g(h(
|
|
1609
|
+
}, [g(h(Wt), {
|
|
1608
1610
|
size: 12,
|
|
1609
1611
|
"stroke-width": 2
|
|
1610
|
-
})], 10,
|
|
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(
|
|
1619
|
+
}, [l.value ? (o(), E(h(on), {
|
|
1618
1620
|
key: 0,
|
|
1619
1621
|
size: 14,
|
|
1620
1622
|
"stroke-width": 2
|
|
1621
|
-
})) : (o(), E(h(
|
|
1623
|
+
})) : (o(), E(h(ln), {
|
|
1622
1624
|
key: 1,
|
|
1623
1625
|
size: 14,
|
|
1624
1626
|
"stroke-width": 2
|
|
1625
|
-
}))], 10,
|
|
1626
|
-
k("div",
|
|
1627
|
+
}))], 10, _a),
|
|
1628
|
+
k("div", va, [
|
|
1627
1629
|
k("button", {
|
|
1628
1630
|
"aria-label": h(a).spacingControl.decreaseRight,
|
|
1629
|
-
class: v([
|
|
1631
|
+
class: v([Ea, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
|
|
1630
1632
|
onClick: n[6] ||= (e) => u("right", -1)
|
|
1631
|
-
}, [g(h(
|
|
1633
|
+
}, [g(h(Zt), {
|
|
1632
1634
|
size: 12,
|
|
1633
1635
|
"stroke-width": 2
|
|
1634
|
-
})], 10,
|
|
1636
|
+
})], 10, ya),
|
|
1635
1637
|
k("input", {
|
|
1636
1638
|
type: "number",
|
|
1637
|
-
class: v(
|
|
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,
|
|
1644
|
+
}, null, 40, ba),
|
|
1643
1645
|
k("button", {
|
|
1644
1646
|
"aria-label": h(a).spacingControl.increaseRight,
|
|
1645
|
-
class: v([
|
|
1647
|
+
class: v([Ea, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
|
|
1646
1648
|
onClick: n[8] ||= (e) => u("right", 1)
|
|
1647
|
-
}, [g(h(
|
|
1649
|
+
}, [g(h(Wt), {
|
|
1648
1650
|
size: 12,
|
|
1649
1651
|
"stroke-width": 2
|
|
1650
|
-
})], 10,
|
|
1652
|
+
})], 10, xa)
|
|
1651
1653
|
])
|
|
1652
1654
|
]),
|
|
1653
|
-
k("div",
|
|
1655
|
+
k("div", Sa, [
|
|
1654
1656
|
k("button", {
|
|
1655
1657
|
"aria-label": h(a).spacingControl.decreaseBottom,
|
|
1656
|
-
class: v([
|
|
1658
|
+
class: v([Ea, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
|
|
1657
1659
|
onClick: n[9] ||= (e) => u("bottom", -1)
|
|
1658
|
-
}, [g(h(
|
|
1660
|
+
}, [g(h(Zt), {
|
|
1659
1661
|
size: 12,
|
|
1660
1662
|
"stroke-width": 2
|
|
1661
|
-
})], 10,
|
|
1663
|
+
})], 10, Ca),
|
|
1662
1664
|
k("input", {
|
|
1663
1665
|
type: "number",
|
|
1664
|
-
class: v(
|
|
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,
|
|
1671
|
+
}, null, 40, wa),
|
|
1670
1672
|
k("button", {
|
|
1671
1673
|
"aria-label": h(a).spacingControl.increaseBottom,
|
|
1672
|
-
class: v([
|
|
1674
|
+
class: v([Ea, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
|
|
1673
1675
|
onClick: n[11] ||= (e) => u("bottom", 1)
|
|
1674
|
-
}, [g(h(
|
|
1676
|
+
}, [g(h(Wt), {
|
|
1675
1677
|
size: 12,
|
|
1676
1678
|
"stroke-width": 2
|
|
1677
|
-
})], 10,
|
|
1679
|
+
})], 10, Ta)
|
|
1678
1680
|
])
|
|
1679
1681
|
])]));
|
|
1680
1682
|
}
|
|
1681
|
-
}), [["__scopeId", "data-v-69591c1e"]]),
|
|
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(
|
|
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,
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
1707
|
+
}, Va = {
|
|
1706
1708
|
key: 0,
|
|
1707
1709
|
class: "tpl:space-y-2"
|
|
1708
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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(
|
|
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:
|
|
1726
|
+
icon: Ot,
|
|
1725
1727
|
labelKey: "showOnDesktop"
|
|
1726
1728
|
}, {
|
|
1727
1729
|
key: "mobile",
|
|
1728
|
-
icon:
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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",
|
|
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",
|
|
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(
|
|
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",
|
|
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",
|
|
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,
|
|
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,
|
|
1865
|
-
h(_) ? (o(), b("option",
|
|
1866
|
-
], 42,
|
|
1867
|
-
k("div", null, [k("label",
|
|
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(
|
|
1872
|
+
class: v(h(xn))
|
|
1871
1873
|
}, null, 2), [[O, w.value]])]),
|
|
1872
|
-
k("div", null, [k("label",
|
|
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(
|
|
1877
|
+
class: v(h(xn))
|
|
1876
1878
|
}, null, 2), [[O, T.value]])]),
|
|
1877
|
-
k("div",
|
|
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,
|
|
1883
|
-
])) : i.block.displayCondition && !M.value ? (o(), b(N, { key: 1 }, [i.block.displayCondition.description ? (o(), b("p",
|
|
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
|
-
}),
|
|
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(
|
|
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,
|
|
1922
|
+
])], 8, Za));
|
|
1921
1923
|
}
|
|
1922
|
-
}),
|
|
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",
|
|
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(
|
|
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",
|
|
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",
|
|
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
|
-
}),
|
|
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(
|
|
1958
|
-
return (t, n) => (o(), E(
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
1992
|
+
}, so = [
|
|
1991
1993
|
"value",
|
|
1992
1994
|
"placeholder",
|
|
1993
1995
|
"title"
|
|
1994
|
-
],
|
|
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(
|
|
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(
|
|
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",
|
|
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(
|
|
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,
|
|
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,
|
|
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(
|
|
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
|
-
}),
|
|
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
|
-
],
|
|
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(
|
|
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,
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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(
|
|
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",
|
|
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",
|
|
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(
|
|
2172
|
+
}, [g(h(Yt), {
|
|
2171
2173
|
size: 12,
|
|
2172
2174
|
"stroke-width": 2
|
|
2173
|
-
})], 8,
|
|
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(
|
|
2190
|
+
class: v(h(Cn)),
|
|
2189
2191
|
onClick: p
|
|
2190
|
-
}, [g(h(
|
|
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",
|
|
2195
|
-
!f.value && !e.readOnly ? (o(), b("p",
|
|
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
|
-
}),
|
|
2206
|
+
}), bo = [
|
|
2205
2207
|
"value",
|
|
2206
2208
|
"disabled",
|
|
2207
2209
|
"title"
|
|
2208
|
-
],
|
|
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(
|
|
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,
|
|
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
|
-
}),
|
|
2242
|
+
}), Co = [
|
|
2241
2243
|
"value",
|
|
2242
2244
|
"placeholder",
|
|
2243
2245
|
"title"
|
|
2244
|
-
],
|
|
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(
|
|
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,
|
|
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
|
-
}),
|
|
2282
|
+
}), To = [
|
|
2281
2283
|
"value",
|
|
2282
2284
|
"placeholder",
|
|
2283
2285
|
"title"
|
|
2284
|
-
],
|
|
2285
|
-
text:
|
|
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(
|
|
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(
|
|
2309
|
-
}, null, 8,
|
|
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:
|
|
2324
|
-
color:
|
|
2325
|
-
number:
|
|
2326
|
-
select:
|
|
2327
|
-
boolean:
|
|
2328
|
-
repeatable:
|
|
2325
|
+
image: lo,
|
|
2326
|
+
color: ao,
|
|
2327
|
+
number: fo,
|
|
2328
|
+
select: So,
|
|
2329
|
+
boolean: Qa,
|
|
2330
|
+
repeatable: yo
|
|
2329
2331
|
};
|
|
2330
|
-
function
|
|
2331
|
-
return
|
|
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
|
|
2337
|
+
var ko = {
|
|
2336
2338
|
key: 0,
|
|
2337
2339
|
class: "tpl:p-4"
|
|
2338
|
-
},
|
|
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
|
-
},
|
|
2343
|
+
}, No = {
|
|
2342
2344
|
key: 1,
|
|
2343
2345
|
class: "tpl:mb-4"
|
|
2344
|
-
},
|
|
2346
|
+
}, Po = {
|
|
2345
2347
|
key: 1,
|
|
2346
2348
|
class: "tpl:flex tpl:h-[32px] tpl:items-center"
|
|
2347
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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(
|
|
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",
|
|
2375
|
-
u.value.description ? (o(), b("p",
|
|
2376
|
-
h(_) ? (o(), b("div",
|
|
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",
|
|
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(
|
|
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(
|
|
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",
|
|
2404
|
+
])) : (o(), b("div", ko, [k("p", Ao, P(h(s).customBlocks.toolbar.noDefinition), 1)]));
|
|
2403
2405
|
}
|
|
2404
|
-
}),
|
|
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",
|
|
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",
|
|
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",
|
|
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,
|
|
2445
|
+
}, null, 42, Ho), k("span", { class: v(h(Y)) }, "px", 2)])])
|
|
2444
2446
|
], 64));
|
|
2445
2447
|
}
|
|
2446
|
-
}),
|
|
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",
|
|
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(
|
|
2460
|
+
class: v(h(xn)),
|
|
2459
2461
|
onInput: i[0] ||= (e) => n("update", { content: e.target.value })
|
|
2460
|
-
}, null, 42,
|
|
2461
|
-
k("p",
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
2473
|
+
}, Xo = {
|
|
2472
2474
|
key: 0,
|
|
2473
2475
|
class: "tpl:mb-3.5"
|
|
2474
|
-
},
|
|
2476
|
+
}, Zo = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, Qo = [
|
|
2475
2477
|
"value",
|
|
2476
2478
|
"placeholder",
|
|
2477
2479
|
"title"
|
|
2478
|
-
],
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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(
|
|
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",
|
|
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" ?
|
|
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",
|
|
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",
|
|
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(
|
|
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(
|
|
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(
|
|
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",
|
|
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,
|
|
2596
|
-
k("div",
|
|
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(
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
2633
|
-
], 42,
|
|
2634
|
-
w.value === "custom" ? (o(), b("div",
|
|
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 :
|
|
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,
|
|
2642
|
+
}, null, 42, os), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
|
|
2641
2643
|
]),
|
|
2642
|
-
k("div",
|
|
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",
|
|
2650
|
-
T.value === "custom" ? (o(), b("div",
|
|
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,
|
|
2659
|
+
}, null, 42, fs), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
|
|
2658
2660
|
]),
|
|
2659
|
-
k("div",
|
|
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",
|
|
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",
|
|
2686
|
+
k("div", hs, [
|
|
2685
2687
|
k("label", { class: v(h(J)) }, P(h(s).image.linkUrl), 3),
|
|
2686
|
-
g(
|
|
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
|
-
}),
|
|
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
|
-
],
|
|
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:
|
|
2733
|
+
icon: rn
|
|
2732
2734
|
},
|
|
2733
2735
|
{
|
|
2734
2736
|
value: "center",
|
|
2735
2737
|
label: s.title.alignCenter,
|
|
2736
|
-
icon:
|
|
2738
|
+
icon: Kt
|
|
2737
2739
|
},
|
|
2738
2740
|
{
|
|
2739
2741
|
value: "right",
|
|
2740
2742
|
label: s.title.alignRight,
|
|
2741
|
-
icon:
|
|
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(
|
|
2770
|
-
default: r(() => [k("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",
|
|
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,
|
|
2781
|
-
class: v(h(
|
|
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(
|
|
2786
|
+
}, [g(h(an), {
|
|
2785
2787
|
size: 14,
|
|
2786
2788
|
"stroke-width": 2
|
|
2787
|
-
})], 10,
|
|
2788
|
-
g(
|
|
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",
|
|
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",
|
|
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(
|
|
2816
|
+
class: v(h(Cn)),
|
|
2815
2817
|
onClick: d
|
|
2816
|
-
}, [g(h(
|
|
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(
|
|
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",
|
|
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,
|
|
2832
|
+
}, P(e.label), 9, Ds))), 128))], 42, Ts)]),
|
|
2831
2833
|
_: 1
|
|
2832
2834
|
}, 8, ["label"]),
|
|
2833
|
-
g(
|
|
2834
|
-
default: r(() => [g(
|
|
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(
|
|
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(
|
|
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(
|
|
2858
|
-
default: r(() => [g(
|
|
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(
|
|
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,
|
|
2873
|
+
}, null, 42, Os)]),
|
|
2872
2874
|
_: 1
|
|
2873
2875
|
}, 8, ["label"]),
|
|
2874
|
-
g(
|
|
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(
|
|
2882
|
-
default: r(() => [g(
|
|
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
|
-
}),
|
|
2895
|
+
}), As = {
|
|
2894
2896
|
class: "tpl:mb-3.5",
|
|
2895
2897
|
"data-testid": "paragraph-spacing"
|
|
2896
|
-
},
|
|
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",
|
|
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,
|
|
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
|
|
2916
|
+
function Ps(e) {
|
|
2915
2917
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
2916
2918
|
}
|
|
2917
|
-
function
|
|
2918
|
-
let n =
|
|
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
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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 =
|
|
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",
|
|
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,
|
|
3005
|
-
e.block.columns === "1" ? x("", !0) : (o(), b("div",
|
|
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",
|
|
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,
|
|
3019
|
-
k("div",
|
|
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",
|
|
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(
|
|
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",
|
|
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,
|
|
3048
|
+
}, null, 42, Ks), k("span", { class: v(h(Y)) }, "px", 2)])])
|
|
3047
3049
|
])) : x("", !0)])
|
|
3048
3050
|
], 64));
|
|
3049
3051
|
}
|
|
3050
|
-
}),
|
|
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",
|
|
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",
|
|
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,
|
|
3090
|
-
class: v(h(
|
|
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(
|
|
3095
|
+
}, [g(h(an), {
|
|
3094
3096
|
size: 14,
|
|
3095
3097
|
"stroke-width": 2
|
|
3096
|
-
})], 10,
|
|
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(
|
|
3108
|
+
class: v(h(Cn)),
|
|
3107
3109
|
onClick: c
|
|
3108
|
-
}, [g(h(
|
|
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",
|
|
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",
|
|
3118
|
-
k("option",
|
|
3119
|
-
k("option",
|
|
3120
|
-
k("option",
|
|
3121
|
-
k("option",
|
|
3122
|
-
], 42,
|
|
3123
|
-
k("div",
|
|
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",
|
|
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,
|
|
3149
|
-
k("div",
|
|
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(
|
|
3156
|
+
icon: h(rn)
|
|
3155
3157
|
},
|
|
3156
3158
|
{
|
|
3157
3159
|
value: "center",
|
|
3158
3160
|
label: h(a).title.alignCenter,
|
|
3159
|
-
icon: h(
|
|
3161
|
+
icon: h(Kt)
|
|
3160
3162
|
},
|
|
3161
3163
|
{
|
|
3162
3164
|
value: "right",
|
|
3163
3165
|
label: h(a).title.alignRight,
|
|
3164
|
-
icon: h(
|
|
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
|
-
}),
|
|
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",
|
|
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",
|
|
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,
|
|
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,
|
|
3197
|
+
}, null, 40, gc)
|
|
3196
3198
|
]));
|
|
3197
3199
|
}
|
|
3198
|
-
}),
|
|
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
|
-
},
|
|
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",
|
|
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(
|
|
3251
|
+
}, [g(h(Zt), {
|
|
3250
3252
|
size: 12,
|
|
3251
3253
|
"stroke-width": 2
|
|
3252
|
-
})], 8,
|
|
3253
|
-
k("span",
|
|
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(
|
|
3259
|
+
}, [g(h(Wt), {
|
|
3258
3260
|
size: 12,
|
|
3259
3261
|
"stroke-width": 2
|
|
3260
3262
|
})])
|
|
3261
|
-
])]), k("div",
|
|
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(
|
|
3268
|
+
}, [g(h(Zt), {
|
|
3267
3269
|
size: 12,
|
|
3268
3270
|
"stroke-width": 2
|
|
3269
|
-
})], 8,
|
|
3270
|
-
k("span",
|
|
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(
|
|
3276
|
+
}, [g(h(Wt), {
|
|
3275
3277
|
size: 12,
|
|
3276
3278
|
"stroke-width": 2
|
|
3277
3279
|
})])
|
|
3278
3280
|
])])])]),
|
|
3279
|
-
k("div",
|
|
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",
|
|
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(
|
|
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",
|
|
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",
|
|
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,
|
|
3307
|
-
k("div",
|
|
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,
|
|
3315
|
-
k("div",
|
|
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",
|
|
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,
|
|
3323
|
-
k("div",
|
|
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,
|
|
3331
|
-
k("div",
|
|
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",
|
|
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(
|
|
3342
|
+
icon: h(rn)
|
|
3341
3343
|
},
|
|
3342
3344
|
{
|
|
3343
3345
|
value: "center",
|
|
3344
3346
|
label: h(a).title.alignCenter,
|
|
3345
|
-
icon: h(
|
|
3347
|
+
icon: h(Kt)
|
|
3346
3348
|
},
|
|
3347
3349
|
{
|
|
3348
3350
|
value: "right",
|
|
3349
3351
|
label: h(a).title.alignRight,
|
|
3350
|
-
icon: h(
|
|
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
|
-
}),
|
|
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",
|
|
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",
|
|
3377
|
-
k("option",
|
|
3378
|
-
k("option",
|
|
3379
|
-
k("option",
|
|
3380
|
-
], 42,
|
|
3381
|
-
k("div",
|
|
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",
|
|
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,
|
|
3389
|
-
k("div",
|
|
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",
|
|
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(
|
|
3400
|
+
icon: h(rn)
|
|
3399
3401
|
},
|
|
3400
3402
|
{
|
|
3401
3403
|
value: "center",
|
|
3402
3404
|
label: h(i).title.alignCenter,
|
|
3403
|
-
icon: h(
|
|
3405
|
+
icon: h(Kt)
|
|
3404
3406
|
},
|
|
3405
3407
|
{
|
|
3406
3408
|
value: "right",
|
|
3407
3409
|
label: h(i).title.alignRight,
|
|
3408
|
-
icon: h(
|
|
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
|
-
}),
|
|
3418
|
+
}), cl = { class: "tpl:mb-3.5" }, ll = {
|
|
3417
3419
|
key: 0,
|
|
3418
3420
|
class: "tpl:mb-3.5"
|
|
3419
|
-
},
|
|
3421
|
+
}, ul = { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, dl = [
|
|
3420
3422
|
"value",
|
|
3421
3423
|
"placeholder",
|
|
3422
3424
|
"title"
|
|
3423
|
-
],
|
|
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
|
-
},
|
|
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(
|
|
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" ?
|
|
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",
|
|
3451
|
+
k("div", cl, [
|
|
3450
3452
|
k("label", { class: v(h(J)) }, P(h(a).video.videoUrl), 3),
|
|
3451
|
-
g(
|
|
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",
|
|
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,
|
|
3473
|
-
k("div",
|
|
3474
|
-
k("label", { class: v(h(J)) }, [L(P(h(a).video.customThumbnail) + " ", 1), k("span",
|
|
3475
|
-
g(
|
|
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(
|
|
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",
|
|
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",
|
|
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",
|
|
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,
|
|
3516
|
-
k("div",
|
|
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",
|
|
3524
|
-
p.value === "custom" ? (o(), b("div",
|
|
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,
|
|
3533
|
+
}, null, 42, Cl), k("span", { class: v(h(Y)) }, "px", 2)])) : x("", !0)
|
|
3532
3534
|
]),
|
|
3533
|
-
k("div",
|
|
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
|
-
}),
|
|
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-
|
|
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",
|
|
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(
|
|
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",
|
|
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(
|
|
3585
|
+
}, [g(h(Mt), {
|
|
3584
3586
|
size: 14,
|
|
3585
3587
|
"stroke-width": 2
|
|
3586
|
-
})], 8,
|
|
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(
|
|
3592
|
+
}, [g(h(Yt), {
|
|
3591
3593
|
size: 14,
|
|
3592
3594
|
"stroke-width": 2
|
|
3593
|
-
})], 8,
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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,
|
|
3661
|
+
}, null, 8, ["block", "is-first-section"])])], 8, Dl));
|
|
3660
3662
|
}
|
|
3661
|
-
}), [["__scopeId", "data-v-dbc9901a"]]),
|
|
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
|
-
},
|
|
3666
|
+
}, Rl = [
|
|
3665
3667
|
"aria-selected",
|
|
3666
3668
|
"aria-label",
|
|
3667
3669
|
"title"
|
|
3668
|
-
],
|
|
3670
|
+
], zl = { key: 0 }, Bl = [
|
|
3669
3671
|
"aria-selected",
|
|
3670
3672
|
"aria-label",
|
|
3671
3673
|
"title"
|
|
3672
|
-
],
|
|
3674
|
+
], Vl = { key: 0 }, Hl = [
|
|
3673
3675
|
"aria-selected",
|
|
3674
3676
|
"aria-label",
|
|
3675
3677
|
"title"
|
|
3676
|
-
],
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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-
|
|
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",
|
|
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(
|
|
3743
|
+
}, [g(h(cn), {
|
|
3742
3744
|
size: 14,
|
|
3743
3745
|
"stroke-width": 2
|
|
3744
|
-
}), u.value === "content" ? (o(), b("span",
|
|
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(
|
|
3758
|
+
}, [g(h(tn), {
|
|
3757
3759
|
size: 14,
|
|
3758
3760
|
"stroke-width": 1.5
|
|
3759
|
-
}), u.value === "settings" ? (o(), b("span",
|
|
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(
|
|
3774
|
+
g(h(dn), {
|
|
3773
3775
|
size: 14,
|
|
3774
3776
|
"stroke-width": 1.5
|
|
3775
3777
|
}),
|
|
3776
|
-
u.value === "issues" ? (o(), b("span",
|
|
3777
|
-
p.value > 0 ? (o(), b("span",
|
|
3778
|
-
], 14,
|
|
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",
|
|
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",
|
|
3787
|
-
k("div",
|
|
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",
|
|
3792
|
-
k("p",
|
|
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",
|
|
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",
|
|
3799
|
-
], 10,
|
|
3800
|
+
u.value === "issues" && f.value ? (o(), b("div", Zl, [g(h(i))])) : x("", !0)
|
|
3801
|
+
], 10, Il));
|
|
3800
3802
|
}
|
|
3801
|
-
}),
|
|
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
|
-
},
|
|
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",
|
|
3811
|
-
k("div",
|
|
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",
|
|
3816
|
-
k("p",
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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",
|
|
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",
|
|
3854
|
+
k("a", au, P(h(t).footer.openSource), 1)
|
|
3853
3855
|
])], 2));
|
|
3854
3856
|
}
|
|
3855
|
-
}),
|
|
3857
|
+
}), su = [
|
|
3856
3858
|
"aria-label",
|
|
3857
3859
|
"title",
|
|
3858
3860
|
"aria-pressed"
|
|
3859
|
-
],
|
|
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(
|
|
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(
|
|
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,
|
|
3894
|
+
})], 12, su));
|
|
3893
3895
|
}
|
|
3894
|
-
}), [["__scopeId", "data-v-632aa74f"]]),
|
|
3896
|
+
}), [["__scopeId", "data-v-632aa74f"]]), lu = [
|
|
3895
3897
|
"aria-label",
|
|
3896
3898
|
"title",
|
|
3897
3899
|
"aria-pressed"
|
|
3898
|
-
],
|
|
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(
|
|
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(
|
|
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,
|
|
3933
|
+
})], 12, lu));
|
|
3932
3934
|
}
|
|
3933
|
-
}), [["__scopeId", "data-v-eef7b2ca"]]),
|
|
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,
|
|
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,
|
|
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
|
-
}),
|
|
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 =
|
|
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(() =>
|
|
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,
|
|
4003
|
+
}, P(l.value), 9, mu)) : x("", !0);
|
|
4002
4004
|
}
|
|
4003
|
-
}),
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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(
|
|
4030
|
+
}, [g(h(Rt), {
|
|
4029
4031
|
size: 12,
|
|
4030
4032
|
"stroke-width": 2.5
|
|
4031
|
-
}), L(" " + P(h(t).header.saveFailed), 1)], 8,
|
|
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",
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
4041
|
+
}, Eu = [
|
|
4040
4042
|
"aria-label",
|
|
4041
4043
|
"title",
|
|
4042
4044
|
"disabled"
|
|
4043
|
-
],
|
|
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-
|
|
4056
|
-
return (n, r) => (o(), b("header",
|
|
4057
|
-
k("div",
|
|
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(
|
|
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(
|
|
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",
|
|
4092
|
-
g(
|
|
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(
|
|
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(
|
|
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",
|
|
4106
|
-
e.templates?.isAvailable.value && e.templates.canSave.value ? (o(), E(
|
|
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(
|
|
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(
|
|
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",
|
|
4135
|
-
], 14,
|
|
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(
|
|
4146
|
+
class: v(h(bn)),
|
|
4145
4147
|
onClick: r[3] ||= (t) => e.testEmail.open()
|
|
4146
|
-
}, [e.testEmail.isSending.value ? (o(), E(h(
|
|
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(
|
|
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,
|
|
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 ?
|
|
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(
|
|
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(
|
|
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,
|
|
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
|
-
}),
|
|
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
|
-
],
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
4197
|
+
}, Bu = [
|
|
4196
4198
|
"aria-expanded",
|
|
4197
4199
|
"data-group-name",
|
|
4198
4200
|
"data-group-collapsed",
|
|
4199
4201
|
"onClick"
|
|
4200
|
-
],
|
|
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
|
-
],
|
|
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
|
-
},
|
|
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
|
-
},
|
|
4219
|
+
}, qu = "tpl-merge-tag-picker-list", Ju = /* @__PURE__ */ u({
|
|
4217
4220
|
__name: "MergeTagPickerModal",
|
|
4218
4221
|
setup(i) {
|
|
4219
|
-
let a =
|
|
4220
|
-
function
|
|
4221
|
-
return
|
|
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
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
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
|
|
4228
|
-
let e =
|
|
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
|
-
}),
|
|
4235
|
-
if (!
|
|
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
|
-
}),
|
|
4243
|
-
let e =
|
|
4244
|
-
if (!
|
|
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
|
-
}), !
|
|
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
|
-
}),
|
|
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
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
A.value
|
|
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
|
|
4300
|
+
function ne(e) {
|
|
4277
4301
|
a.resolve(e);
|
|
4278
4302
|
}
|
|
4279
|
-
function
|
|
4303
|
+
function re() {
|
|
4280
4304
|
a.resolve(null);
|
|
4281
4305
|
}
|
|
4282
|
-
function
|
|
4283
|
-
if (
|
|
4284
|
-
|
|
4285
|
-
|
|
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
|
|
4288
|
-
function
|
|
4289
|
-
|
|
4312
|
+
let ae = c(null), oe = c({});
|
|
4313
|
+
function K(e, t) {
|
|
4314
|
+
oe.value[e] = t ?? null;
|
|
4290
4315
|
}
|
|
4291
|
-
function
|
|
4316
|
+
function se() {
|
|
4292
4317
|
C(() => {
|
|
4293
|
-
let e =
|
|
4294
|
-
e && e.querySelector(`[data-merge-tag-index="${
|
|
4318
|
+
let e = ae.value;
|
|
4319
|
+
e && e.querySelector(`[data-merge-tag-index="${I.value}"]`)?.scrollIntoView({ block: "nearest" });
|
|
4295
4320
|
});
|
|
4296
4321
|
}
|
|
4297
|
-
function
|
|
4298
|
-
if (
|
|
4299
|
-
let t = new Set(
|
|
4300
|
-
t.delete(e),
|
|
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 =
|
|
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
|
|
4320
|
-
if (e.key === "ArrowDown") e.preventDefault(),
|
|
4321
|
-
else if (e.key === "ArrowUp") e.preventDefault(),
|
|
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 =
|
|
4325
|
-
t &&
|
|
4349
|
+
let t = H.value[I.value];
|
|
4350
|
+
t && ne(t);
|
|
4326
4351
|
}
|
|
4327
4352
|
}
|
|
4328
|
-
function
|
|
4329
|
-
if (
|
|
4353
|
+
function ue() {
|
|
4354
|
+
if (H.value.length !== 0) return `${qu}-opt-${I.value}`;
|
|
4330
4355
|
}
|
|
4331
|
-
function
|
|
4332
|
-
return `${
|
|
4356
|
+
function de(e) {
|
|
4357
|
+
return `${qu}-opt-${e}`;
|
|
4333
4358
|
}
|
|
4334
|
-
let
|
|
4335
|
-
return (e, t) => (o(), E(
|
|
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:
|
|
4338
|
-
onKeydown:
|
|
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": `${
|
|
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",
|
|
4350
|
-
id: `${
|
|
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(
|
|
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:
|
|
4358
|
-
}, [g(h(
|
|
4382
|
+
onClick: re
|
|
4383
|
+
}, [g(h(an), {
|
|
4359
4384
|
size: 16,
|
|
4360
4385
|
"stroke-width": 2
|
|
4361
|
-
})], 8,
|
|
4362
|
-
k("div",
|
|
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: `${
|
|
4392
|
+
id: `${qu}-search`,
|
|
4368
4393
|
ref_key: "searchInputRef",
|
|
4369
|
-
ref:
|
|
4370
|
-
"onUpdate:modelValue": t[0] ||= (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":
|
|
4376
|
-
"aria-activedescendant":
|
|
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,
|
|
4380
|
-
|
|
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) =>
|
|
4387
|
-
}, P(e), 9,
|
|
4411
|
+
onClick: (t) => ce(e)
|
|
4412
|
+
}, P(e), 9, Iu))), 128))])) : x("", !0),
|
|
4388
4413
|
k("div", {
|
|
4389
|
-
id:
|
|
4414
|
+
id: qu,
|
|
4390
4415
|
ref_key: "listRef",
|
|
4391
|
-
ref:
|
|
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":
|
|
4419
|
+
"aria-label": S.value,
|
|
4395
4420
|
"data-testid": "merge-tag-picker-list"
|
|
4396
|
-
}, [
|
|
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) =>
|
|
4424
|
+
ref: (t) => K(e.group, t),
|
|
4400
4425
|
type: "button",
|
|
4401
|
-
"aria-expanded": !
|
|
4402
|
-
"aria-controls":
|
|
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":
|
|
4407
|
-
onClick: (t) =>
|
|
4431
|
+
"data-group-collapsed": z(e.group) ? "true" : "false",
|
|
4432
|
+
onClick: (t) => B(e.group)
|
|
4408
4433
|
}, [
|
|
4409
|
-
g(h(
|
|
4434
|
+
g(h(Ft), {
|
|
4410
4435
|
size: 12,
|
|
4411
4436
|
"stroke-width": 2,
|
|
4412
|
-
class: v(["tpl:transition-transform",
|
|
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",
|
|
4416
|
-
], 8,
|
|
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:
|
|
4443
|
+
id: de(e.index),
|
|
4419
4444
|
type: "button",
|
|
4420
4445
|
role: "option",
|
|
4421
|
-
"aria-selected": e.index ===
|
|
4422
|
-
"data-selected": e.index ===
|
|
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
|
-
|
|
4426
|
-
|
|
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) =>
|
|
4429
|
-
onClick: (t) =>
|
|
4454
|
+
onMousemove: (t) => G(e.index),
|
|
4455
|
+
onClick: (t) => ne(e.tag)
|
|
4430
4456
|
}, [
|
|
4431
|
-
k("span",
|
|
4432
|
-
k("span",
|
|
4433
|
-
e.tag.description ? (o(), b("span",
|
|
4434
|
-
e.tag.sample === void 0 ? x("", !0) : (o(), b("span",
|
|
4435
|
-
], 42,
|
|
4436
|
-
], 12,
|
|
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
|
-
}),
|
|
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,
|
|
4483
|
+
}, P(r.value), 9, Yu)) : x("", !0);
|
|
4458
4484
|
}
|
|
4459
|
-
}),
|
|
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
|
-
],
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
],
|
|
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
|
-
},
|
|
4509
|
+
}, dd = {
|
|
4484
4510
|
key: 1,
|
|
4485
4511
|
class: "tpl:flex tpl:items-center tpl:gap-1"
|
|
4486
|
-
},
|
|
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
|
-
},
|
|
4515
|
+
}, md = "tpl-logic-picker-list", hd = /* @__PURE__ */ u({
|
|
4490
4516
|
__name: "LogicTagPickerModal",
|
|
4491
4517
|
setup(i) {
|
|
4492
|
-
let a =
|
|
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 `${
|
|
4601
|
+
return `${md}-opt-${e}`;
|
|
4576
4602
|
}
|
|
4577
4603
|
function re() {
|
|
4578
|
-
return B.value.length === 0 ? void 0 : `${
|
|
4604
|
+
return B.value.length === 0 ? void 0 : `${md}-opt-${A.value}`;
|
|
4579
4605
|
}
|
|
4580
|
-
return (e, t) => (o(), E(
|
|
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": `${
|
|
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",
|
|
4595
|
-
id: `${
|
|
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,
|
|
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(
|
|
4629
|
+
}, [g(h(an), {
|
|
4604
4630
|
size: 16,
|
|
4605
4631
|
"stroke-width": 2
|
|
4606
|
-
})], 8,
|
|
4607
|
-
k("div",
|
|
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: `${
|
|
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":
|
|
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,
|
|
4650
|
+
}, null, 40, nd), [[O, p.value]])]),
|
|
4625
4651
|
k("div", {
|
|
4626
|
-
id:
|
|
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",
|
|
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,
|
|
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",
|
|
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",
|
|
4656
|
-
g(
|
|
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(
|
|
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",
|
|
4667
|
-
(e.kind === "tag" ? e.tag.description : e.pair.description) ? (o(), b("span",
|
|
4668
|
-
], 42,
|
|
4669
|
-
], 12,
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
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 ?
|
|
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:
|
|
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 ?
|
|
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 ?
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4729
|
-
te && f !== null && !f.canSave.value &&
|
|
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:
|
|
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 ?
|
|
4799
|
+
}) : null, ne = i.config.versionHistory ? sr({
|
|
4774
4800
|
provider: i.config.versionHistory,
|
|
4775
|
-
editor:
|
|
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(
|
|
4817
|
-
k("div",
|
|
4818
|
-
g(
|
|
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(
|
|
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",
|
|
4854
|
-
default: r(() => [h(l).state.previewMode && !h(W).previewResolution.supersedesSamples.value ? (o(), b("div",
|
|
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(
|
|
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(
|
|
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",
|
|
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(
|
|
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,
|
|
4901
|
-
d(g(
|
|
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(
|
|
4924
|
-
g(
|
|
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(
|
|
4970
|
-
], 46,
|
|
4996
|
+
h(oe) ? (o(), E(ru, { key: 6 })) : x("", !0)
|
|
4997
|
+
], 46, gd));
|
|
4971
4998
|
}
|
|
4972
|
-
}), [["__scopeId", "data-v-
|
|
4999
|
+
}), [["__scopeId", "data-v-433680d1"]]);
|
|
4973
5000
|
//#endregion
|
|
4974
5001
|
//#region src/utils/renderProvider.ts
|
|
4975
|
-
function
|
|
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
|
|
5008
|
+
async function Td(e) {
|
|
4982
5009
|
let t = H(e.getContent());
|
|
4983
|
-
return await
|
|
5010
|
+
return await Kn(t, { renderCustomBlock: e.renderCustomBlock }), {
|
|
4984
5011
|
content: t,
|
|
4985
5012
|
fonts: e.getFonts()
|
|
4986
5013
|
};
|
|
4987
5014
|
}
|
|
4988
|
-
function
|
|
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
|
|
5013
|
-
if (
|
|
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(
|
|
5042
|
+
e.replaceSync(Dd), Od = e;
|
|
5016
5043
|
}
|
|
5017
|
-
return
|
|
5044
|
+
return Od;
|
|
5018
5045
|
}
|
|
5019
|
-
function
|
|
5046
|
+
function Ad(e) {
|
|
5020
5047
|
return () => {};
|
|
5021
5048
|
}
|
|
5022
|
-
function
|
|
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 = [
|
|
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:
|
|
5061
|
+
cleanup: Ad(n)
|
|
5035
5062
|
};
|
|
5036
5063
|
}
|
|
5037
|
-
var
|
|
5038
|
-
function
|
|
5039
|
-
let t =
|
|
5040
|
-
t && (t.cleanup(), t.app.unmount(),
|
|
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
|
|
5043
|
-
return
|
|
5069
|
+
async function Fd(e) {
|
|
5070
|
+
return Id(e);
|
|
5044
5071
|
}
|
|
5045
|
-
async function
|
|
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) &&
|
|
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
|
-
|
|
5051
|
-
let a =
|
|
5052
|
-
e.content &&=
|
|
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(
|
|
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),
|
|
5092
|
+
s.mount(a.target), Md.set(n, {
|
|
5066
5093
|
app: s,
|
|
5067
5094
|
editorRef: o,
|
|
5068
5095
|
cleanup: a.cleanup
|
|
5069
|
-
}),
|
|
5096
|
+
}), Nd = n;
|
|
5070
5097
|
let l = {
|
|
5071
5098
|
getContent() {
|
|
5072
|
-
return H(o.value ? o.value.getContent() : e.content ?? oe(e.fonts?.defaultFont,
|
|
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 =
|
|
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
|
-
|
|
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:
|
|
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 =
|
|
5142
|
+
}, u = Ed({
|
|
5106
5143
|
provider: e.render,
|
|
5107
|
-
buildPayload: () =>
|
|
5144
|
+
buildPayload: () => Td({
|
|
5108
5145
|
getContent: () => l.getContent(),
|
|
5109
5146
|
renderCustomBlock: (e) => l.renderCustomBlock(e),
|
|
5110
|
-
getFonts: () =>
|
|
5147
|
+
getFonts: () => wd(i)
|
|
5111
5148
|
}),
|
|
5112
|
-
renderLocalMjml: () =>
|
|
5149
|
+
renderLocalMjml: () => rr({
|
|
5113
5150
|
getContent: () => l.getContent(),
|
|
5114
5151
|
renderCustomBlock: (e) => l.renderCustomBlock(e),
|
|
5115
5152
|
getCustomBlockStylesheet: (e) => l.getCustomBlockStylesheet(e),
|
|
5116
|
-
getFonts: () =>
|
|
5153
|
+
getFonts: () => wd(i),
|
|
5117
5154
|
socialIconsBaseUrl: e.socialIconsBaseUrl
|
|
5118
5155
|
})
|
|
5119
5156
|
});
|
|
5120
5157
|
return l;
|
|
5121
5158
|
}
|
|
5122
|
-
async function
|
|
5123
|
-
let [{ bootstrapCloud: t }, n] = await Promise.all([import("./chunks/createCloudRuntime-
|
|
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
|
|
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
|
|
5170
|
-
|
|
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,
|
|
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
|