@templatical/editor 0.43.2 → 0.43.3
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/README.md +1 -1
- package/dist/{AiChatSidebar-DTtMEXNR.js → AiChatSidebar-BAAypLEP.js} +7 -7
- package/dist/{AiFeatureMenu-DFj-_S9b.js → AiFeatureMenu-CQcrDR-J.js} +4 -4
- package/dist/{BlockIssueBadge-CyLmqjLl.js → BlockIssueBadge-DYI7ic1j.js} +2 -2
- package/dist/{BlockPreviewCanvas-C6F66f3k.js → BlockPreviewCanvas-x5W-Sdhg.js} +2 -2
- package/dist/{CloudHeaderExtras-Z4K6OMn0.js → CloudHeaderExtras-DnLaX4ea.js} +2 -2
- package/dist/{CloudPanels-DOJ2Vske.js → CloudPanels-BHPG3d1o.js} +4 -4
- package/dist/{CollaboratorBar-BCkl3dKY.js → CollaboratorBar-DG6KroMt.js} +2 -2
- package/dist/{CommentsPanel-DPMi6-rb.js → CommentsPanel-Bzk6VhJg.js} +1 -1
- package/dist/{CommentsSidebar-C1mQcyh3.js → CommentsSidebar-CaRC3c1b.js} +10 -10
- package/dist/{CountdownToolbar-DKmzpk__.js → CountdownToolbar-B-pAigUh.js} +3 -3
- package/dist/{DesignReferenceSidebar-CGRzOOb8.js → DesignReferenceSidebar-DfuJyDBz.js} +5 -5
- package/dist/{IssuesPanel-CsdxjjRm.js → IssuesPanel-vWhcDIvb.js} +5 -5
- package/dist/{LogicTagInsertButton-BX4jOUQy.js → LogicTagInsertButton-D2Fjo444.js} +3 -3
- package/dist/{MediaEditModal-Bm8uOKBx.js → MediaEditModal-BuP8SJrv.js} +1 -1
- package/dist/{MediaPanels-BNWtEntu.js → MediaPanels-BkcF0r_r.js} +1 -1
- package/dist/{MergeTagInput-Mj8CFfX1.js → MergeTagInput-fEOOY7OU.js} +1 -1
- package/dist/{MergeTagModeToggle-CinojvpV.js → MergeTagModeToggle-BOeEL52u.js} +3 -3
- package/dist/{ParagraphEditor-DdOteRjD.js → ParagraphEditor-BlJGeBRY.js} +22 -22
- package/dist/{RestoreVersionDialog-B-i0wPjh.js → RestoreVersionDialog-DYaoFk5G.js} +3 -3
- package/dist/{RichTextEditorContent-CDtKOWsh.js → RichTextEditorContent-GacK8qwu.js} +4 -4
- package/dist/{SaveBlockDialog-DTcGPDMT.js → SaveBlockDialog-DR1UCtQY.js} +8 -8
- package/dist/{SavedBlocksBrowserModal-BA5yXQi0.js → SavedBlocksBrowserModal-q_-qYW9a.js} +9 -9
- package/dist/{SavedBlocksPanels-mfSALJqB.js → SavedBlocksPanels-nTH8NTAT.js} +1 -1
- package/dist/{SavedBlocksPickBar-BOjduGI4.js → SavedBlocksPickBar-C7vHmc5c.js} +2 -2
- package/dist/{TemplateScoringPanel-Byz-ajjf.js → TemplateScoringPanel-D9jeQCYl.js} +11 -11
- package/dist/{TemplateSettings-Bf5rfsU8.js → TemplateSettings-ClfHwxUa.js} +5 -5
- package/dist/{TestEmailModal-DJo2yFLh.js → TestEmailModal-DEnvrv38.js} +6 -6
- package/dist/{TestEmailPanel-CXIFWfDm.js → TestEmailPanel-Ca9t6KG7.js} +1 -1
- package/dist/{TitleEditor-BDtokkQF.js → TitleEditor-D7mNs3s5.js} +9 -9
- package/dist/{ToggleSwitch-BCYZvP1e.js → ToggleSwitch-Z-rqEcig.js} +1 -1
- package/dist/{Toolbar-XOtJ_N58.js → Toolbar-DUgyDBkz.js} +28 -28
- package/dist/{TplModal-C3mzMXof.js → TplModal-CYyFAScB.js} +1 -1
- package/dist/{VersionHistoryMenu-DRoFz15y.js → VersionHistoryMenu-D42tGKM6.js} +5 -5
- package/dist/{VersionHistoryPanels-CeF0JnXI.js → VersionHistoryPanels-o0HGvQJX.js} +1 -1
- package/dist/{VersionPreviewBanner-DQvIEKUU.js → VersionPreviewBanner-D5RZtvUf.js} +1 -1
- package/dist/{WrapperBlock-DZwp4G7P.js → WrapperBlock-B0_vSfSD.js} +1 -1
- package/dist/{blockTypeIcons-CAPoy6X7.js → blockTypeIcons-CEk_GHmU.js} +2 -2
- package/dist/bundle-stats.json +6 -6
- package/dist/{ca--zGWn9AU.js → ca-DSwai-th.js} +1 -4
- package/dist/cdn/chunks/{AiChatSidebar-DW1uRkKE.js → AiChatSidebar-oFwacME4.js} +2 -2
- package/dist/cdn/chunks/{AiChatSidebar-DW1uRkKE.js.map → AiChatSidebar-oFwacME4.js.map} +1 -1
- package/dist/cdn/chunks/{AiFeatureMenu-CHsgD78N.js → AiFeatureMenu-BiHFJf9i.js} +3 -3
- package/dist/cdn/chunks/{AiFeatureMenu-CHsgD78N.js.map → AiFeatureMenu-BiHFJf9i.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-CIqu8JnG.js → BlockIssueBadge-CWlcDBFm.js} +2 -2
- package/dist/cdn/chunks/{BlockIssueBadge-CIqu8JnG.js.map → BlockIssueBadge-CWlcDBFm.js.map} +1 -1
- package/dist/cdn/chunks/{BlockPreviewCanvas-Dtea66SI.js → BlockPreviewCanvas-CIwIA3zq.js} +3 -3
- package/dist/cdn/chunks/{BlockPreviewCanvas-Dtea66SI.js.map → BlockPreviewCanvas-CIwIA3zq.js.map} +1 -1
- package/dist/cdn/chunks/{CloudHeaderExtras-Kjj78__m.js → CloudHeaderExtras-BgsjwWUQ.js} +3 -3
- package/dist/cdn/chunks/{CloudHeaderExtras-Kjj78__m.js.map → CloudHeaderExtras-BgsjwWUQ.js.map} +1 -1
- package/dist/cdn/chunks/{CloudPanels-DARXXD0q.js → CloudPanels-DFCwq8_J.js} +4 -4
- package/dist/cdn/chunks/{CloudPanels-DARXXD0q.js.map → CloudPanels-DFCwq8_J.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-C7O9mQJ_.js → CollaboratorBar-CiMZfMwN.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-C7O9mQJ_.js.map → CollaboratorBar-CiMZfMwN.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsPanel-KH5_JS7_.js → CommentsPanel-CL4grbMp.js} +2 -2
- package/dist/cdn/chunks/{CommentsPanel-KH5_JS7_.js.map → CommentsPanel-CL4grbMp.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsSidebar-ucrNvgAQ.js → CommentsSidebar-tWYYKv1s.js} +2 -2
- package/dist/cdn/chunks/{CommentsSidebar-ucrNvgAQ.js.map → CommentsSidebar-tWYYKv1s.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-DVInzkj9.js → CountdownToolbar-DfyqIppF.js} +4 -4
- package/dist/cdn/chunks/{CountdownToolbar-DVInzkj9.js.map → CountdownToolbar-DfyqIppF.js.map} +1 -1
- package/dist/cdn/chunks/{DesignReferenceSidebar-pleljkEJ.js → DesignReferenceSidebar-C6O12hvt.js} +2 -2
- package/dist/cdn/chunks/{DesignReferenceSidebar-pleljkEJ.js.map → DesignReferenceSidebar-C6O12hvt.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-CPcQIUni.js → IssuesPanel-DYJXIwnw.js} +2 -2
- package/dist/cdn/chunks/{IssuesPanel-CPcQIUni.js.map → IssuesPanel-DYJXIwnw.js.map} +1 -1
- package/dist/cdn/chunks/{LogicTagInsertButton-DSrW9v0x.js → LogicTagInsertButton-FNMVxm_V.js} +2 -2
- package/dist/cdn/chunks/{LogicTagInsertButton-DSrW9v0x.js.map → LogicTagInsertButton-FNMVxm_V.js.map} +1 -1
- package/dist/cdn/chunks/{MediaEditModal-BHp7euCZ.js → MediaEditModal-C9yZ0AJv.js} +2 -2
- package/dist/cdn/chunks/{MediaEditModal-BHp7euCZ.js.map → MediaEditModal-C9yZ0AJv.js.map} +1 -1
- package/dist/cdn/chunks/{MediaPanels-CGIRlO48.js → MediaPanels-DiKU1r9P.js} +2 -2
- package/dist/cdn/chunks/{MediaPanels-CGIRlO48.js.map → MediaPanels-DiKU1r9P.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagInput-BSFofWuc.js → MergeTagInput-CSC64xNL.js} +2 -2
- package/dist/cdn/chunks/{MergeTagInput-BSFofWuc.js.map → MergeTagInput-CSC64xNL.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagModeToggle-D7KlTFZV.js → MergeTagModeToggle-027RMXDP.js} +2 -2
- package/dist/cdn/chunks/{MergeTagModeToggle-D7KlTFZV.js.map → MergeTagModeToggle-027RMXDP.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-CokXagL1.js → ParagraphEditor-0Z26-N5u.js} +19 -19
- package/dist/cdn/chunks/{ParagraphEditor-CokXagL1.js.map → ParagraphEditor-0Z26-N5u.js.map} +1 -1
- package/dist/cdn/chunks/{RestoreVersionDialog-C-XEncAM.js → RestoreVersionDialog-Dd1v1KLK.js} +3 -3
- package/dist/cdn/chunks/{RestoreVersionDialog-C-XEncAM.js.map → RestoreVersionDialog-Dd1v1KLK.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-DS_2UsJX.js → RichTextEditorContent-BOZ_5I76.js} +4 -4
- package/dist/cdn/chunks/{RichTextEditorContent-DS_2UsJX.js.map → RichTextEditorContent-BOZ_5I76.js.map} +1 -1
- package/dist/cdn/chunks/{SaveBlockDialog-D8OAKF_k.js → SaveBlockDialog-B6WQwNJD.js} +6 -6
- package/dist/cdn/chunks/{SaveBlockDialog-D8OAKF_k.js.map → SaveBlockDialog-B6WQwNJD.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-B6GN_llD.js → SavedBlocksBrowserModal-C015fVMV.js} +6 -6
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-B6GN_llD.js.map → SavedBlocksBrowserModal-C015fVMV.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPanels-hRCREVxS.js → SavedBlocksPanels-DZmfXW4x.js} +2 -2
- package/dist/cdn/chunks/{SavedBlocksPanels-hRCREVxS.js.map → SavedBlocksPanels-DZmfXW4x.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPickBar-C5YrK0iB.js → SavedBlocksPickBar-DtCQFCCW.js} +3 -3
- package/dist/cdn/chunks/{SavedBlocksPickBar-C5YrK0iB.js.map → SavedBlocksPickBar-DtCQFCCW.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateScoringPanel-DXyQjcdU.js → TemplateScoringPanel-CeCVyNV1.js} +2 -2
- package/dist/cdn/chunks/{TemplateScoringPanel-DXyQjcdU.js.map → TemplateScoringPanel-CeCVyNV1.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateSettings-da14bXlk.js → TemplateSettings-CuXwthI6.js} +4 -4
- package/dist/cdn/chunks/{TemplateSettings-da14bXlk.js.map → TemplateSettings-CuXwthI6.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailModal-Dl_cAyj-.js → TestEmailModal-DV1XKWRh.js} +6 -6
- package/dist/cdn/chunks/{TestEmailModal-Dl_cAyj-.js.map → TestEmailModal-DV1XKWRh.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailPanel-CVZGOKaQ.js → TestEmailPanel-CnVW00RI.js} +2 -2
- package/dist/cdn/chunks/{TestEmailPanel-CVZGOKaQ.js.map → TestEmailPanel-CnVW00RI.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-DO8OdG_w.js → TitleEditor-B9sKbRd4.js} +8 -8
- package/dist/cdn/chunks/{TitleEditor-DO8OdG_w.js.map → TitleEditor-B9sKbRd4.js.map} +1 -1
- package/dist/cdn/chunks/{ToggleSwitch-D5Wi6Env.js → ToggleSwitch-eHkFBx4o.js} +2 -2
- package/dist/cdn/chunks/{ToggleSwitch-D5Wi6Env.js.map → ToggleSwitch-eHkFBx4o.js.map} +1 -1
- package/dist/cdn/chunks/{Toolbar-CXDE8xM-.js → Toolbar-DeKbYejp.js} +15 -15
- package/dist/cdn/chunks/{Toolbar-CXDE8xM-.js.map → Toolbar-DeKbYejp.js.map} +1 -1
- package/dist/cdn/chunks/{TplModal-CFi-Psf7.js → TplModal-Dqq-Ermd.js} +2 -2
- package/dist/cdn/chunks/{TplModal-CFi-Psf7.js.map → TplModal-Dqq-Ermd.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryMenu-1bfCr14E.js → VersionHistoryMenu-Kf4QFm7m.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryMenu-1bfCr14E.js.map → VersionHistoryMenu-Kf4QFm7m.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryPanels-DbgbyAdW.js → VersionHistoryPanels-Cz8rde-s.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryPanels-DbgbyAdW.js.map → VersionHistoryPanels-Cz8rde-s.js.map} +1 -1
- package/dist/cdn/chunks/{VersionPreviewBanner-BaOTRIrm.js → VersionPreviewBanner-DNYHqbj9.js} +2 -2
- package/dist/cdn/chunks/{VersionPreviewBanner-BaOTRIrm.js.map → VersionPreviewBanner-DNYHqbj9.js.map} +1 -1
- package/dist/cdn/chunks/{WrapperBlock-BYNfYvl3.js → WrapperBlock-DIZHUwFn.js} +2 -2
- package/dist/cdn/chunks/{WrapperBlock-BYNfYvl3.js.map → WrapperBlock-DIZHUwFn.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-B_IAjnTD.js → blockTypeIcons-hgzxMFWX.js} +2 -2
- package/dist/cdn/chunks/{blockTypeIcons-B_IAjnTD.js.map → blockTypeIcons-hgzxMFWX.js.map} +1 -1
- package/dist/cdn/chunks/{ca--zGWn9AU.js → ca-DSwai-th.js} +2 -5
- package/dist/cdn/chunks/ca-DSwai-th.js.map +1 -0
- package/dist/cdn/chunks/{de-BRNLKcDl.js → de-DOhKuphf.js} +2 -5
- package/dist/cdn/chunks/de-DOhKuphf.js.map +1 -0
- package/dist/cdn/chunks/dist-BRZhN8qJ.js.map +1 -1
- package/dist/cdn/chunks/dist-CXB2_kBa.js.map +1 -1
- package/dist/cdn/chunks/draggable-IB4x6w2O.js.map +1 -1
- package/dist/cdn/chunks/{editor-modal-BDOfw3l0.js → editor-modal-cKeJ4wC2.js} +4 -4
- package/dist/cdn/chunks/{editor-modal-BDOfw3l0.js.map → editor-modal-cKeJ4wC2.js.map} +1 -1
- package/dist/cdn/chunks/{en-JJjqHMjy.js → en-BE28ZcUF.js} +2 -5
- package/dist/cdn/chunks/en-BE28ZcUF.js.map +1 -0
- package/dist/cdn/chunks/en-CoNe1psX.js +2 -0
- package/dist/cdn/chunks/{es-BIh8BxV9.js → es-oQI-dfx2.js} +2 -5
- package/dist/cdn/chunks/es-oQI-dfx2.js.map +1 -0
- package/dist/cdn/chunks/{extensions-1hJBHnGv.js → extensions-rPP7qRRm.js} +3 -3
- package/dist/cdn/chunks/{extensions-1hJBHnGv.js.map → extensions-rPP7qRRm.js.map} +1 -1
- package/dist/cdn/chunks/{fr-C5VUZogP.js → fr-rzLdCMSG.js} +2 -5
- package/dist/cdn/chunks/fr-rzLdCMSG.js.map +1 -0
- package/dist/cdn/chunks/htmlparser-ClUZ6waR.js.map +1 -1
- package/dist/cdn/chunks/{icons-BrAyaJ0T.js → icons-BF0mJX0V.js} +18 -18
- package/dist/cdn/chunks/{icons-BrAyaJ0T.js.map → icons-BF0mJX0V.js.map} +1 -1
- package/dist/{ja-x5JYxaCW.js → cdn/chunks/ja-dyFc6Ghz.js} +3 -4
- package/dist/cdn/chunks/ja-dyFc6Ghz.js.map +1 -0
- package/dist/cdn/chunks/{liquid.browser-BypTT2oc.js → liquid.browser-DXPjcePu.js} +758 -719
- package/dist/cdn/chunks/liquid.browser-DXPjcePu.js.map +1 -0
- package/dist/cdn/chunks/{nl-UXxFyXV6.js → nl-BcQhRqKR.js} +2 -5
- package/dist/cdn/chunks/nl-BcQhRqKR.js.map +1 -0
- package/dist/cdn/chunks/{pt-BR-DHm3SP6W.js → pt-BR-UombhTMO.js} +2 -5
- package/dist/cdn/chunks/pt-BR-UombhTMO.js.map +1 -0
- package/dist/cdn/chunks/pusher-BbIHJKf3.js.map +1 -1
- package/dist/cdn/chunks/{src-D5ceT_Y4.js → src-V9_ODH_1.js} +3 -3
- package/dist/cdn/chunks/{src-D5ceT_Y4.js.map → src-V9_ODH_1.js.map} +1 -1
- package/dist/cdn/chunks/{tiptap-D1u8JIUW.js → tiptap-02G9FGkl.js} +3726 -3552
- package/dist/cdn/chunks/tiptap-02G9FGkl.js.map +1 -0
- package/dist/cdn/chunks/{useEditorCore-BTKqlRIg.js → useEditorCore-DWvAia8X.js} +14 -14
- package/dist/cdn/chunks/{useEditorCore-BTKqlRIg.js.map → useEditorCore-DWvAia8X.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +337 -359
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-CA6fvSIp.js → check-DEjsanPt.js} +1 -1
- package/dist/{chevron-down-DYGJgpqJ.js → chevron-down-Cv11TeKQ.js} +1 -1
- package/dist/{chevron-right-Dm5_X4j6.js → chevron-right-R8dOpzBZ.js} +1 -1
- package/dist/{chevron-up-Ds9ormyq.js → chevron-up-DsDEytX1.js} +1 -1
- package/dist/{circle-alert-BYXE0olE.js → circle-alert-B_NqWETg.js} +1 -1
- package/dist/{clock-Ch1-h0sb.js → clock-CDGKPx_X.js} +1 -1
- package/dist/{copy-DLNyaPza.js → copy-Dv2VltLv.js} +1 -1
- package/dist/{createLucideIcon-BrPnbRQT.js → createLucideIcon-MrFrvtkF.js} +5 -5
- package/dist/{de-BRNLKcDl.js → de-DOhKuphf.js} +1 -4
- package/dist/{dist-CxmLZQso.js → dist-8By0p8ah.js} +5 -5
- package/dist/{dist-W_ERo6c_.js → dist-BYg1EL5g.js} +5 -5
- package/dist/{dist-C2Ge44fD.js → dist-BgSLW3Hn.js} +1704 -1303
- package/dist/{dist-B0dkvy7z.js → dist-CWc7nIkA.js} +5 -5
- package/dist/{dist-CIxmOOSG.js → dist-Ceew_u40.js} +448 -699
- package/dist/{dist-BwoEME8p.js → dist-CmwBvyW0.js} +172 -171
- package/dist/{dist-CJ7RZARo.js → dist-Czzst9ng.js} +302 -279
- package/dist/dist-D2m55Lvs.js +5 -0
- package/dist/{dist-p-LkiWIQ.js → dist-D4HP93ZF.js} +13 -13
- package/dist/{dist-BPWuzECC.js → dist-DdSWMtEP.js} +6 -6
- package/dist/{dist-DRmafAUz.js → dist-DmQckB4p.js} +29 -29
- package/dist/dist-Dw2_11LA.js +5 -0
- package/dist/{editor-modal-Cl5GFWTQ.js → editor-modal-DmgxKgII.js} +16 -16
- package/dist/{en-JJjqHMjy.js → en-BE28ZcUF.js} +1 -4
- package/dist/en-DXYNty6E.js +2 -0
- package/dist/{es-BIh8BxV9.js → es-oQI-dfx2.js} +1 -4
- package/dist/{extensions-AKHJ0lax.js → extensions-CkwL1oWn.js} +61 -61
- package/dist/{eye-_7xKFxQh.js → eye-BVxcDaZZ.js} +1 -1
- package/dist/{fr-C5VUZogP.js → fr-rzLdCMSG.js} +1 -4
- package/dist/{image-up-Ck-xPOGS.js → image-up-CnC4n-8q.js} +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/{info-CBBNLK_i.js → info-q7gVjMBC.js} +1 -1
- package/dist/{cdn/chunks/ja-x5JYxaCW.js → ja-dyFc6Ghz.js} +1 -6
- package/dist/{link-BA_V9Nns.js → link-B1-UqOP6.js} +1 -1
- package/dist/{liquid.browser-wPG0n4Cs.js → liquid.browser-Cs4gOjeX.js} +757 -718
- package/dist/{list-BTujzSSo.js → list-BvlNrd6M.js} +1 -1
- package/dist/{loader-circle-B5OQFRUF.js → loader-circle-CJ8klGfl.js} +1 -1
- package/dist/{message-circle-DWXr27lZ.js → message-circle-Bgepipq_.js} +1 -1
- package/dist/{nl-UXxFyXV6.js → nl-BcQhRqKR.js} +1 -4
- package/dist/{package-DXW9QTU3.js → package-BYIdon2Q.js} +1 -1
- package/dist/{pencil-QmONZtjF.js → pencil-Bhs9MNTT.js} +1 -1
- package/dist/{plus-XxHKE_GT.js → plus-C0eGj8vT.js} +1 -1
- package/dist/{pt-BR-DHm3SP6W.js → pt-BR-UombhTMO.js} +1 -4
- package/dist/{refresh-cw-DhXU8dCo.js → refresh-cw-BQTOIZKD.js} +1 -1
- package/dist/{search-CpFaMrnL.js → search-CeT7yRBa.js} +1 -1
- package/dist/{send-CFK3e6tQ.js → send-D7ck2xEq.js} +1 -1
- package/dist/{shield-check-ndwpOTik.js → shield-check-CF_VbIbH.js} +1 -1
- package/dist/{smartphone-DndMh9W6.js → smartphone-CkVOj7Qn.js} +1 -1
- package/dist/{socialIcons-D43BLoTu.js → socialIcons-QYtdurnO.js} +1 -1
- package/dist/{sparkles-c1M5lwAQ.js → sparkles-Cfb-Kkgv.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/templatical-editor.js +475 -497
- package/dist/{text-align-start-DOtBufPq.js → text-align-start-CkFs2Zig.js} +13 -13
- package/dist/{trash-DmaPdiUk.js → trash-C2LPw5pa.js} +1 -1
- package/dist/{triangle-alert-DqvxsSNL.js → triangle-alert-gaUz4rum.js} +1 -1
- package/dist/{upload-CO_hogFv.js → upload-C_DYZD_p.js} +1 -1
- package/dist/{useEditorCore-0K8joh4X.js → useEditorCore-Cmv5ll-D.js} +20 -20
- package/dist/{useScrollToBlock-BU5A9eS9.js → useScrollToBlock-BsPYYJ8h.js} +1 -1
- package/dist/{x-BCop_VsL.js → x-JhKma5YO.js} +1 -1
- package/package.json +25 -25
- package/dist/cdn/chunks/ca--zGWn9AU.js.map +0 -1
- package/dist/cdn/chunks/de-BRNLKcDl.js.map +0 -1
- package/dist/cdn/chunks/en-DxpXHoxJ.js +0 -2
- package/dist/cdn/chunks/en-JJjqHMjy.js.map +0 -1
- package/dist/cdn/chunks/es-BIh8BxV9.js.map +0 -1
- package/dist/cdn/chunks/fr-C5VUZogP.js.map +0 -1
- package/dist/cdn/chunks/ja-x5JYxaCW.js.map +0 -1
- package/dist/cdn/chunks/liquid.browser-BypTT2oc.js.map +0 -1
- package/dist/cdn/chunks/nl-UXxFyXV6.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-DHm3SP6W.js.map +0 -1
- package/dist/cdn/chunks/tiptap-D1u8JIUW.js.map +0 -1
- package/dist/dist-BUHovM4k.js +0 -5
- package/dist/dist-DdOAotfz.js +0 -5
- package/dist/en-CdCFaV2V.js +0 -2
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { A as e, At as t, B as n, E as r, F as i, J as a, M as o, N as s, O as c, R as l, S as u, V as d, Z as f, _ as p, at as m, b as h, c as g, d as _, g as v, h as y, j as b, jt as x, k as S, kt as C, l as w,
|
|
2
|
-
import { a as
|
|
3
|
-
import { $ as
|
|
4
|
-
import { E as
|
|
5
|
-
import { _ as
|
|
6
|
-
import { a as
|
|
7
|
-
import { A as
|
|
8
|
-
import { $ as
|
|
1
|
+
import { A as e, At as t, B as n, E as r, F as i, J as a, M as o, N as s, O as c, R as l, S as u, V as d, Z as f, _ as p, at as m, b as h, c as g, d as _, g as v, h as y, j as b, jt as x, k as S, kt as C, l as w, m as T, p as E, r as D, s as O, u as k, v as A } from "./vue.runtime.esm-bundler-CyqhBwpY.js";
|
|
2
|
+
import { a as j, c as M, n as N, o as P, s as F, t as I } from "./runtime-dom.esm-bundler-BGbPz4-g.js";
|
|
3
|
+
import { $ as L, E as R, F as z, H as B, I as V, J as H, K as U, M as W, Q as G, Y as K, c as ee, d as q, f as J, h as te, m as Y, ot as X, p as ne, q as re, u as ie, v as ae, w as oe, y as se } from "./dist-iLUVPysa.js";
|
|
4
|
+
import { E as ce, S as le, T as ue, f as de, h as fe, m as pe, v as me, y as he } from "./socialIcons-QYtdurnO.js";
|
|
5
|
+
import { _ as ge, d as _e, g as ve } from "./dist-8VFzbeu9.js";
|
|
6
|
+
import { a as ye } from "./dist-BDuPwOyn.js";
|
|
7
|
+
import { A as be, E as xe, F as Se, I as Ce, L as we, M as Te, N as Ee, O as De, P as Oe, S as ke, a as Ae, c as je, d as Me, f as Ne, g as Pe, h as Fe, i as Ie, j as Le, l as Re, m as ze, n as Be, o as Ve, p as He, r as Ue, s as We, t as Ge, u as Ke, w as qe, y as Je } from "./useEditorCore-Cmv5ll-D.js";
|
|
8
|
+
import { $ as Ye, A as Xe, E as Ze, J as Qe, K as $e, M as et, N as tt, P as nt, Q as rt, U as it, V as at, X as ot, Z as st, f as ct, g as lt, l as ut, m as dt, o as ft, p as pt, q as mt, r as ht, s as gt, z as _t } from "./keys-CDqfZIRt.js";
|
|
9
9
|
import { t as Z } from "./useI18n-B_CdcBwG.js";
|
|
10
|
-
import { t as
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as Q } from "./createLucideIcon-
|
|
13
|
-
import { t as
|
|
14
|
-
import { t as
|
|
15
|
-
import { t as
|
|
16
|
-
import { t as
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
19
|
-
import { n as
|
|
20
|
-
import { t as
|
|
21
|
-
import { t as
|
|
22
|
-
import { n as
|
|
23
|
-
import { t as
|
|
24
|
-
import { t as
|
|
25
|
-
import { t as
|
|
26
|
-
import { t as
|
|
27
|
-
import { n as
|
|
28
|
-
import { t as
|
|
29
|
-
import { t as
|
|
30
|
-
import { t as
|
|
31
|
-
import { C as
|
|
32
|
-
import { n as
|
|
33
|
-
import { t as
|
|
34
|
-
import { t as
|
|
35
|
-
import { t as
|
|
36
|
-
import { t as
|
|
37
|
-
import { t as
|
|
10
|
+
import { t as vt } from "./logger-BBlvSn6q.js";
|
|
11
|
+
import { t as yt } from "./templateSettingsFields-YCFVBVYh.js";
|
|
12
|
+
import { t as Q } from "./createLucideIcon-MrFrvtkF.js";
|
|
13
|
+
import { t as bt } from "./check-DEjsanPt.js";
|
|
14
|
+
import { t as xt } from "./chevron-down-Cv11TeKQ.js";
|
|
15
|
+
import { t as St } from "./circle-alert-B_NqWETg.js";
|
|
16
|
+
import { t as Ct } from "./blockTypeIcons-CEk_GHmU.js";
|
|
17
|
+
import { t as wt } from "./eye-BVxcDaZZ.js";
|
|
18
|
+
import { t as Tt } from "./image-up-CnC4n-8q.js";
|
|
19
|
+
import { n as Et, t as Dt } from "./useScrollToBlock-BsPYYJ8h.js";
|
|
20
|
+
import { t as Ot } from "./loader-circle-CJ8klGfl.js";
|
|
21
|
+
import { t as kt } from "./message-circle-Bgepipq_.js";
|
|
22
|
+
import { n as At } from "./smartphone-CkVOj7Qn.js";
|
|
23
|
+
import { t as jt } from "./package-BYIdon2Q.js";
|
|
24
|
+
import { t as Mt } from "./search-CeT7yRBa.js";
|
|
25
|
+
import { t as Nt } from "./send-D7ck2xEq.js";
|
|
26
|
+
import { t as Pt } from "./sparkles-Cfb-Kkgv.js";
|
|
27
|
+
import { n as Ft, t as It } from "./MergeTagModeToggle-BOeEL52u.js";
|
|
28
|
+
import { t as Lt } from "./x-JhKma5YO.js";
|
|
29
|
+
import { t as Rt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
30
|
+
import { t as zt } from "./useCloudI18n-DpEsiLeR.js";
|
|
31
|
+
import { C as Bt, S as Vt, p as Ht, y as Ut } from "./styleConstants-C_YAPdQS.js";
|
|
32
|
+
import { n as Wt, r as Gt, t as Kt } from "./WrapperBlock-B0_vSfSD.js";
|
|
33
|
+
import { t as qt } from "./readableTextColor-f8Kykfnh.js";
|
|
34
|
+
import { t as Jt } from "./formatAbsoluteDateTime-DMmop3C-.js";
|
|
35
|
+
import { t as Yt } from "./formatRelativeTime-CtUU-QZ8.js";
|
|
36
|
+
import { t as Xt } from "./TplModal-CYyFAScB.js";
|
|
37
|
+
import { t as Zt } from "./preRenderCustomBlocks-CTstI3Q-.js";
|
|
38
38
|
//#region src/utils/resolveTemplateDefaults.ts
|
|
39
|
-
var
|
|
40
|
-
function
|
|
41
|
-
let t = e.locale?.trim().replace(/_/g, "-"), n = t &&
|
|
39
|
+
var Qt = /^[a-z]{2,3}(-[a-z0-9]{2,8})*$/i;
|
|
40
|
+
function $t(e) {
|
|
41
|
+
let t = e.locale?.trim().replace(/_/g, "-"), n = t && Qt.test(t) ? { locale: t } : void 0;
|
|
42
42
|
if (n || e.templateDefaults) return {
|
|
43
43
|
...n,
|
|
44
44
|
...e.templateDefaults
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
var
|
|
47
|
+
var en = Q({
|
|
48
48
|
name: "layout-template",
|
|
49
49
|
size: 24,
|
|
50
50
|
node: [
|
|
@@ -73,14 +73,14 @@ var $t = Q({
|
|
|
73
73
|
key: "q5h2i8"
|
|
74
74
|
}]
|
|
75
75
|
]
|
|
76
|
-
}),
|
|
76
|
+
}), tn = Q({
|
|
77
77
|
name: "moon",
|
|
78
78
|
size: 24,
|
|
79
79
|
node: [["path", {
|
|
80
80
|
d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",
|
|
81
81
|
key: "kfwtm"
|
|
82
82
|
}]]
|
|
83
|
-
}),
|
|
83
|
+
}), nn = Q({
|
|
84
84
|
name: "panel-top",
|
|
85
85
|
size: 24,
|
|
86
86
|
node: [["rect", {
|
|
@@ -94,7 +94,7 @@ var $t = Q({
|
|
|
94
94
|
d: "M3 9h18",
|
|
95
95
|
key: "1pudct"
|
|
96
96
|
}]]
|
|
97
|
-
}),
|
|
97
|
+
}), rn = Q({
|
|
98
98
|
name: "rotate-ccw",
|
|
99
99
|
size: 24,
|
|
100
100
|
node: [["path", {
|
|
@@ -104,7 +104,7 @@ var $t = Q({
|
|
|
104
104
|
d: "M3 3v5h5",
|
|
105
105
|
key: "1xhq8a"
|
|
106
106
|
}]]
|
|
107
|
-
}),
|
|
107
|
+
}), an = Q({
|
|
108
108
|
name: "save",
|
|
109
109
|
size: 24,
|
|
110
110
|
node: [
|
|
@@ -121,7 +121,7 @@ var $t = Q({
|
|
|
121
121
|
key: "t51u73"
|
|
122
122
|
}]
|
|
123
123
|
]
|
|
124
|
-
}),
|
|
124
|
+
}), on = Q({
|
|
125
125
|
name: "settings",
|
|
126
126
|
size: 24,
|
|
127
127
|
node: [["path", {
|
|
@@ -133,7 +133,7 @@ var $t = Q({
|
|
|
133
133
|
r: "3",
|
|
134
134
|
key: "1v7zrd"
|
|
135
135
|
}]]
|
|
136
|
-
}),
|
|
136
|
+
}), sn = Q({
|
|
137
137
|
name: "square-plus",
|
|
138
138
|
size: 24,
|
|
139
139
|
node: [
|
|
@@ -155,7 +155,7 @@ var $t = Q({
|
|
|
155
155
|
}]
|
|
156
156
|
],
|
|
157
157
|
aliases: ["plus-square"]
|
|
158
|
-
}),
|
|
158
|
+
}), cn = Q({
|
|
159
159
|
name: "sun",
|
|
160
160
|
size: 24,
|
|
161
161
|
node: [
|
|
@@ -201,19 +201,19 @@ var $t = Q({
|
|
|
201
201
|
});
|
|
202
202
|
//#endregion
|
|
203
203
|
//#region src/composables/useCommentsFeature.ts
|
|
204
|
-
function
|
|
205
|
-
let { provider: t, editor: n } = e, r =
|
|
204
|
+
function ln(e) {
|
|
205
|
+
let { provider: t, editor: n } = e, r = he({
|
|
206
206
|
provider: t,
|
|
207
207
|
getTemplateId: () => n.state.template?.id ?? null,
|
|
208
208
|
getUser: () => e.user ?? null,
|
|
209
209
|
onError: e.onError
|
|
210
210
|
});
|
|
211
|
-
|
|
211
|
+
me({
|
|
212
212
|
comments: r,
|
|
213
213
|
provider: t,
|
|
214
214
|
getTemplateId: () => n.state.template?.id ?? null
|
|
215
215
|
});
|
|
216
|
-
let i = e.isOpen ?? f(!1), a = f(null), o =
|
|
216
|
+
let i = e.isOpen ?? f(!1), a = f(null), o = O(() => !!n.state.template?.id), s = r.unresolvedCount, c = O(() => e.user ? e.isAvailable?.() ?? !0 : !1);
|
|
217
217
|
l(c, (e) => {
|
|
218
218
|
e || (i.value = !1);
|
|
219
219
|
}), l([c, o], ([e, t]) => {
|
|
@@ -261,17 +261,17 @@ function cn(e) {
|
|
|
261
261
|
}
|
|
262
262
|
//#endregion
|
|
263
263
|
//#region src/composables/useMediaFeature.ts
|
|
264
|
-
function
|
|
264
|
+
function un(e) {
|
|
265
265
|
return e instanceof Error ? e : Error(String(e));
|
|
266
266
|
}
|
|
267
|
-
function
|
|
267
|
+
function dn(e, t, n) {
|
|
268
268
|
let r = e.maxFileSize ?? Infinity;
|
|
269
269
|
if (t.size > r) return /* @__PURE__ */ Error(`Image is too large (${t.size} bytes). Maximum allowed is ${r} bytes.`);
|
|
270
270
|
let i = e.mimeTypes;
|
|
271
271
|
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"}.`);
|
|
272
272
|
}
|
|
273
|
-
function
|
|
274
|
-
let { provider: t, onRequestMedia: n, getTemplateId: r, onError: i } = e, o = f(!1), s = f(void 0), c =
|
|
273
|
+
function fn(e) {
|
|
274
|
+
let { provider: t, onRequestMedia: n, getTemplateId: r, onError: i } = e, o = f(!1), s = f(void 0), c = O(() => r?.()), l = O(() => !!n || typeof t?.create == "function"), u = null;
|
|
275
275
|
function d(e) {
|
|
276
276
|
o.value = !1, u?.(e), u = null;
|
|
277
277
|
}
|
|
@@ -292,7 +292,7 @@ function dn(e) {
|
|
|
292
292
|
if (!t) return null;
|
|
293
293
|
if (e?.files?.length) {
|
|
294
294
|
if (typeof t.create != "function") return null;
|
|
295
|
-
let n = e.files[0], a =
|
|
295
|
+
let n = e.files[0], a = dn(t, n, e.accept);
|
|
296
296
|
if (a) return i?.(a), null;
|
|
297
297
|
let o = r?.();
|
|
298
298
|
try {
|
|
@@ -303,14 +303,14 @@ function dn(e) {
|
|
|
303
303
|
try {
|
|
304
304
|
t.onCreated?.(e);
|
|
305
305
|
} catch (e) {
|
|
306
|
-
i?.(
|
|
306
|
+
i?.(un(e));
|
|
307
307
|
}
|
|
308
308
|
return {
|
|
309
309
|
url: e.url,
|
|
310
310
|
alt: e.alt
|
|
311
311
|
};
|
|
312
312
|
} catch (e) {
|
|
313
|
-
return i?.(
|
|
313
|
+
return i?.(un(e)), null;
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
return u &&= (u(null), null), s.value = e?.accept, o.value = !0, new Promise((e) => {
|
|
@@ -328,11 +328,11 @@ function dn(e) {
|
|
|
328
328
|
}
|
|
329
329
|
//#endregion
|
|
330
330
|
//#region src/composables/useSavedBlocksFeature.ts
|
|
331
|
-
function
|
|
332
|
-
let { provider: t, editor: n } = e, r =
|
|
331
|
+
function pn(e) {
|
|
332
|
+
let { provider: t, editor: n } = e, r = ue({
|
|
333
333
|
provider: t,
|
|
334
334
|
onError: e.onError
|
|
335
|
-
}), i = f(!1), a = f(!1), o = f(!1), s = f(/* @__PURE__ */ new Set()), c =
|
|
335
|
+
}), i = f(!1), a = f(!1), o = f(!1), s = f(/* @__PURE__ */ new Set()), c = O(() => o.value), u = O(() => s.value.size);
|
|
336
336
|
function d(e) {
|
|
337
337
|
r.canCreate.value && (n.state.previewMode || (s.value = /* @__PURE__ */ new Set([e]), o.value = !0));
|
|
338
338
|
}
|
|
@@ -364,7 +364,7 @@ function fn(e) {
|
|
|
364
364
|
}
|
|
365
365
|
function x(e, t) {
|
|
366
366
|
for (let r = 0; r < e.content.length; r++) {
|
|
367
|
-
let i =
|
|
367
|
+
let i = ne(e.content[r]), a = t === void 0 ? void 0 : t + r;
|
|
368
368
|
n.addBlock(i, void 0, void 0, a);
|
|
369
369
|
}
|
|
370
370
|
a.value = !1;
|
|
@@ -372,8 +372,8 @@ function fn(e) {
|
|
|
372
372
|
function S() {
|
|
373
373
|
r.load().catch(() => {});
|
|
374
374
|
}
|
|
375
|
-
let C =
|
|
376
|
-
return b(
|
|
375
|
+
let C = O(() => r.savedBlocks.value.length), w = O(() => e.isAvailable?.() ?? !0);
|
|
376
|
+
return b(it, r), {
|
|
377
377
|
headless: r,
|
|
378
378
|
isPicking: c,
|
|
379
379
|
pickedIds: s,
|
|
@@ -410,11 +410,11 @@ function fn(e) {
|
|
|
410
410
|
}
|
|
411
411
|
//#endregion
|
|
412
412
|
//#region src/composables/useTemplatesFeature.ts
|
|
413
|
-
var
|
|
414
|
-
function
|
|
415
|
-
let { provider: t, editor: n } = e, r = f("idle"), i = f(""), { start: a, stop: o } =
|
|
413
|
+
var mn = 3e3;
|
|
414
|
+
function hn(e) {
|
|
415
|
+
let { provider: t, editor: n } = e, r = f("idle"), i = f(""), { start: a, stop: o } = ge(() => {
|
|
416
416
|
r.value = "idle";
|
|
417
|
-
},
|
|
417
|
+
}, mn, { immediate: !1 }), s = O(() => typeof t.create == "function"), c = O(() => typeof t.save == "function"), l = O(() => e.isAvailable?.() ?? !0), u = O(() => n.state.template?.name), d = O(() => {
|
|
418
418
|
let e = n.state.template;
|
|
419
419
|
return e?.updatedAt ? {
|
|
420
420
|
iso: e.updatedAt,
|
|
@@ -423,7 +423,7 @@ function mn(e) {
|
|
|
423
423
|
iso: e.createdAt,
|
|
424
424
|
kind: "createdAt"
|
|
425
425
|
} : null;
|
|
426
|
-
}), p =
|
|
426
|
+
}), p = O(() => n.state.template !== null), m = O(() => n.state.isSaving);
|
|
427
427
|
function h() {
|
|
428
428
|
i.value = "", r.value = "saved", o(), a();
|
|
429
429
|
}
|
|
@@ -486,7 +486,7 @@ function mn(e) {
|
|
|
486
486
|
let t = e.trim();
|
|
487
487
|
t && t !== n.state.template?.name && (n.setName(t), C("rename"));
|
|
488
488
|
}
|
|
489
|
-
return e.guardUnsavedChanges !== !1 &&
|
|
489
|
+
return e.guardUnsavedChanges !== !1 && ye(window, "beforeunload", (e) => {
|
|
490
490
|
n.state.isDirty && (e.preventDefault(), e.returnValue = "");
|
|
491
491
|
}), {
|
|
492
492
|
save: _,
|
|
@@ -521,15 +521,15 @@ function mn(e) {
|
|
|
521
521
|
}
|
|
522
522
|
//#endregion
|
|
523
523
|
//#region src/utils/toMjml.ts
|
|
524
|
-
async function
|
|
524
|
+
async function gn() {
|
|
525
525
|
try {
|
|
526
526
|
return await import("@templatical/renderer");
|
|
527
527
|
} catch {
|
|
528
528
|
return null;
|
|
529
529
|
}
|
|
530
530
|
}
|
|
531
|
-
async function
|
|
532
|
-
let t = await
|
|
531
|
+
async function _n(e) {
|
|
532
|
+
let t = await gn();
|
|
533
533
|
if (!t) throw Error("[Templatical] toMjml() requires the @templatical/renderer package. Please install it.");
|
|
534
534
|
let n = e.getCustomBlockStylesheet, r = e.getFonts?.(), i = e.getLayout?.();
|
|
535
535
|
return t.renderToMjml(e.getContent(), {
|
|
@@ -545,22 +545,22 @@ async function gn(e) {
|
|
|
545
545
|
}
|
|
546
546
|
//#endregion
|
|
547
547
|
//#region src/composables/useTestEmailFeature.ts
|
|
548
|
-
var
|
|
549
|
-
function
|
|
548
|
+
var vn = 1200;
|
|
549
|
+
function yn(e) {
|
|
550
550
|
return e instanceof Error ? e : Error(String(e));
|
|
551
551
|
}
|
|
552
|
-
function
|
|
552
|
+
function bn(e) {
|
|
553
553
|
let { provider: t } = e, n = f(!1), r = f(!1), i = f(!1), o = f(null), s = null, c = !1;
|
|
554
554
|
function l() {
|
|
555
555
|
s !== null && (clearTimeout(s), s = null);
|
|
556
556
|
}
|
|
557
557
|
a(l);
|
|
558
|
-
let u =
|
|
558
|
+
let u = O(() => t.allowedRecipients), d = O(() => {
|
|
559
559
|
let e = t.defaultRecipient;
|
|
560
560
|
if (e === void 0) return;
|
|
561
561
|
let n = u.value;
|
|
562
562
|
if (!n || n.includes(e)) return e;
|
|
563
|
-
}), p =
|
|
563
|
+
}), p = O(() => u.value?.length === 0 ? !1 : e.isAvailable?.() ?? !0);
|
|
564
564
|
function m() {
|
|
565
565
|
p.value && (o.value = null, i.value = !1, l(), n.value = !0);
|
|
566
566
|
}
|
|
@@ -571,8 +571,8 @@ function yn(e) {
|
|
|
571
571
|
if (t.includeMjml && e.renderMjml) try {
|
|
572
572
|
return await e.renderMjml();
|
|
573
573
|
} catch (t) {
|
|
574
|
-
if ((e.usesLocalRenderer?.() ?? !0) && await
|
|
575
|
-
c || (c = !0,
|
|
574
|
+
if ((e.usesLocalRenderer?.() ?? !0) && await gn() === null) {
|
|
575
|
+
c || (c = !0, vt.warn("testEmail.includeMjml is set but @templatical/renderer is not installed — sending the template as JSON only. Install it to receive `payload.mjml`."));
|
|
576
576
|
return;
|
|
577
577
|
}
|
|
578
578
|
throw t;
|
|
@@ -582,7 +582,7 @@ function yn(e) {
|
|
|
582
582
|
try {
|
|
583
583
|
t.onSent?.(n);
|
|
584
584
|
} catch (t) {
|
|
585
|
-
e.onError?.(
|
|
585
|
+
e.onError?.(yn(t));
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
588
|
async function v(n) {
|
|
@@ -600,9 +600,9 @@ function yn(e) {
|
|
|
600
600
|
...r === void 0 ? {} : { mjml: r },
|
|
601
601
|
...a === void 0 ? {} : { allowedRecipients: a }
|
|
602
602
|
};
|
|
603
|
-
await t.send(o), i.value = !0, s = setTimeout(h,
|
|
603
|
+
await t.send(o), i.value = !0, s = setTimeout(h, vn), _(o);
|
|
604
604
|
} catch (t) {
|
|
605
|
-
let n =
|
|
605
|
+
let n = yn(t);
|
|
606
606
|
o.value = {
|
|
607
607
|
kind: "provider",
|
|
608
608
|
message: n.message
|
|
@@ -630,8 +630,8 @@ function yn(e) {
|
|
|
630
630
|
}
|
|
631
631
|
//#endregion
|
|
632
632
|
//#region src/composables/useVersionHistoryFeature.ts
|
|
633
|
-
function
|
|
634
|
-
let { provider: t, editor: n, history: r, conditionPreview: i, autoSave: o } = e, s =
|
|
633
|
+
function xn(e) {
|
|
634
|
+
let { provider: t, editor: n, history: r, conditionPreview: i, autoSave: o } = e, s = ce({
|
|
635
635
|
provider: t,
|
|
636
636
|
getTemplateId: () => n.state.template?.id ?? null,
|
|
637
637
|
onError: e.onError
|
|
@@ -639,7 +639,7 @@ function bn(e) {
|
|
|
639
639
|
a(() => {
|
|
640
640
|
p = !0;
|
|
641
641
|
});
|
|
642
|
-
let m =
|
|
642
|
+
let m = O(() => s.versions.value), h = O(() => s.isLoading.value), g = O(() => s.isRestoring.value), _ = s.canCreate, v = s.canRestore, y = O(() => !!n.state.template?.id), b = O(() => e.isAvailable?.() ?? !0), x = O(() => c.value !== null), S = O(() => e.saveBeforeRestore?.canSave() === !0), C = O(() => d.value || g.value);
|
|
643
643
|
function w() {
|
|
644
644
|
y.value && s.load().catch(() => {});
|
|
645
645
|
}
|
|
@@ -657,7 +657,7 @@ function bn(e) {
|
|
|
657
657
|
return;
|
|
658
658
|
}
|
|
659
659
|
let t = await s.resolveContent(e);
|
|
660
|
-
p || (l.value =
|
|
660
|
+
p || (l.value = L(n.content.value), o?.pause(), c.value = e, n.setContent(t, !1));
|
|
661
661
|
}
|
|
662
662
|
async function E() {
|
|
663
663
|
if (c.value) {
|
|
@@ -668,7 +668,7 @@ function bn(e) {
|
|
|
668
668
|
await j();
|
|
669
669
|
}
|
|
670
670
|
}
|
|
671
|
-
async function
|
|
671
|
+
async function D() {
|
|
672
672
|
let t = c.value, r = l.value, i = e.saveBeforeRestore;
|
|
673
673
|
if (t && r && i?.canSave() && !C.value) {
|
|
674
674
|
n.setContent(r, !1), d.value = !0;
|
|
@@ -724,7 +724,7 @@ function bn(e) {
|
|
|
724
724
|
refresh: w,
|
|
725
725
|
navigate: T,
|
|
726
726
|
requestRestore: E,
|
|
727
|
-
saveAndRestore:
|
|
727
|
+
saveAndRestore: D,
|
|
728
728
|
discardAndRestore: k,
|
|
729
729
|
cancelRestoreConfirm: A,
|
|
730
730
|
confirmRestore: j,
|
|
@@ -741,12 +741,12 @@ function bn(e) {
|
|
|
741
741
|
}
|
|
742
742
|
//#endregion
|
|
743
743
|
//#region src/types/auto-save.ts
|
|
744
|
-
function
|
|
744
|
+
function Sn(e, t) {
|
|
745
745
|
return e ?? t;
|
|
746
746
|
}
|
|
747
747
|
//#endregion
|
|
748
748
|
//#region src/utils/resolveLintOptions.ts
|
|
749
|
-
function
|
|
749
|
+
function Cn(e) {
|
|
750
750
|
return {
|
|
751
751
|
...e.lint,
|
|
752
752
|
locale: e.locale
|
|
@@ -754,13 +754,13 @@ function Sn(e) {
|
|
|
754
754
|
}
|
|
755
755
|
//#endregion
|
|
756
756
|
//#region src/utils/normalizeMergeTagMarkup.ts
|
|
757
|
-
function
|
|
757
|
+
function wn(e) {
|
|
758
758
|
let t = e.flags.includes("g") ? e.flags : `${e.flags}g`;
|
|
759
759
|
return new RegExp(e.source, t);
|
|
760
760
|
}
|
|
761
|
-
function
|
|
761
|
+
function Tn(e, t, n) {
|
|
762
762
|
let r = [], i = (t, n, i) => {
|
|
763
|
-
let a =
|
|
763
|
+
let a = wn(t), o = a.exec(e);
|
|
764
764
|
for (; o !== null;) {
|
|
765
765
|
let t = o.index, s = t + o[0].length;
|
|
766
766
|
o[0].length === 0 ? a.lastIndex++ : r.some((e) => t < e.end && s > e.start) || r.push({
|
|
@@ -772,9 +772,9 @@ function wn(e, t, n) {
|
|
|
772
772
|
}), o = a.exec(e);
|
|
773
773
|
}
|
|
774
774
|
};
|
|
775
|
-
return i(n.logic, "data-logic-merge-tag", (e) =>
|
|
775
|
+
return i(n.logic, "data-logic-merge-tag", (e) => z(e, n)), i(n.value, "data-merge-tag", (e) => V(e, t)), r.sort((e, t) => e.start - t.start);
|
|
776
776
|
}
|
|
777
|
-
function
|
|
777
|
+
function En(e) {
|
|
778
778
|
let t = e.createTreeWalker(e.body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, { acceptNode(e) {
|
|
779
779
|
if (e.nodeType !== 1) return NodeFilter.FILTER_ACCEPT;
|
|
780
780
|
let t = e;
|
|
@@ -783,11 +783,11 @@ function Tn(e) {
|
|
|
783
783
|
for (; r !== null;) n.push(r), r = t.nextNode();
|
|
784
784
|
return n;
|
|
785
785
|
}
|
|
786
|
-
function
|
|
787
|
-
if (!e || !
|
|
786
|
+
function Dn(e, t, n) {
|
|
787
|
+
if (!e || !Y(e, n) || typeof DOMParser > "u") return e;
|
|
788
788
|
let r = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html"), i = 0;
|
|
789
|
-
for (let e of
|
|
790
|
-
let a = e.data, o =
|
|
789
|
+
for (let e of En(r)) {
|
|
790
|
+
let a = e.data, o = Tn(a, t, n);
|
|
791
791
|
if (o.length === 0) continue;
|
|
792
792
|
let s = r.createDocumentFragment(), c = 0;
|
|
793
793
|
for (let e of o) {
|
|
@@ -799,13 +799,13 @@ function En(e, t, n) {
|
|
|
799
799
|
}
|
|
800
800
|
return i === 0 ? e : r.body.innerHTML;
|
|
801
801
|
}
|
|
802
|
-
function
|
|
802
|
+
function On(e, t, n) {
|
|
803
803
|
if (e.type === "section") {
|
|
804
804
|
if (!Array.isArray(e.children)) return e;
|
|
805
805
|
let r = !1, i = e.children.map((e) => {
|
|
806
806
|
if (!Array.isArray(e)) return e;
|
|
807
807
|
let i = !1, a = e.map((e) => {
|
|
808
|
-
let r =
|
|
808
|
+
let r = On(e, t, n);
|
|
809
809
|
return r !== e && (i = !0), r;
|
|
810
810
|
});
|
|
811
811
|
return i ? (r = !0, a) : e;
|
|
@@ -818,7 +818,7 @@ function Dn(e, t, n) {
|
|
|
818
818
|
if (e.type === "wrapper") {
|
|
819
819
|
if (!Array.isArray(e.children)) return e;
|
|
820
820
|
let r = !1, i = e.children.map((e) => {
|
|
821
|
-
let i =
|
|
821
|
+
let i = On(e, t, n);
|
|
822
822
|
return i !== e && (r = !0), i;
|
|
823
823
|
});
|
|
824
824
|
return r ? {
|
|
@@ -827,16 +827,16 @@ function Dn(e, t, n) {
|
|
|
827
827
|
} : e;
|
|
828
828
|
}
|
|
829
829
|
if (e.type !== "title" && e.type !== "paragraph" || typeof e.content != "string") return e;
|
|
830
|
-
let r =
|
|
830
|
+
let r = Dn(e.content, t, n);
|
|
831
831
|
return r === e.content ? e : {
|
|
832
832
|
...e,
|
|
833
833
|
content: r
|
|
834
834
|
};
|
|
835
835
|
}
|
|
836
|
-
function
|
|
836
|
+
function kn(e, t, n) {
|
|
837
837
|
if (!e || !Array.isArray(e.blocks)) return e;
|
|
838
838
|
let r = !1, i = e.blocks.map((e) => {
|
|
839
|
-
let i =
|
|
839
|
+
let i = On(e, t, n);
|
|
840
840
|
return i !== e && (r = !0), i;
|
|
841
841
|
});
|
|
842
842
|
return r ? {
|
|
@@ -844,10 +844,10 @@ function On(e, t, n) {
|
|
|
844
844
|
blocks: i
|
|
845
845
|
} : e;
|
|
846
846
|
}
|
|
847
|
-
function kn(e, t) {
|
|
848
|
-
return On(e, t?.tags ?? [], U(t?.syntax));
|
|
849
|
-
}
|
|
850
847
|
function An(e, t) {
|
|
848
|
+
return kn(e, t?.tags ?? [], G(t?.syntax));
|
|
849
|
+
}
|
|
850
|
+
function jn(e, t) {
|
|
851
851
|
return {
|
|
852
852
|
get state() {
|
|
853
853
|
return e.state;
|
|
@@ -855,14 +855,14 @@ function An(e, t) {
|
|
|
855
855
|
get content() {
|
|
856
856
|
return e.content;
|
|
857
857
|
},
|
|
858
|
-
setContent: (n, r) => e.setContent(
|
|
858
|
+
setContent: (n, r) => e.setContent(An(n, t), r)
|
|
859
859
|
};
|
|
860
860
|
}
|
|
861
|
-
function
|
|
861
|
+
function Mn(e, t) {
|
|
862
862
|
return {
|
|
863
863
|
...e,
|
|
864
864
|
async load(n) {
|
|
865
|
-
let r = await e.load(n), i =
|
|
865
|
+
let r = await e.load(n), i = An(r.content, t);
|
|
866
866
|
return i === r.content ? r : {
|
|
867
867
|
...r,
|
|
868
868
|
content: i
|
|
@@ -872,30 +872,30 @@ function jn(e, t) {
|
|
|
872
872
|
}
|
|
873
873
|
//#endregion
|
|
874
874
|
//#region src/components/Canvas.vue?vue&type=script&setup=true&lang.ts
|
|
875
|
-
var
|
|
875
|
+
var Nn = ["aria-label"], Pn = ["lang", "dir"], Fn = {
|
|
876
876
|
key: 0,
|
|
877
877
|
role: "status",
|
|
878
878
|
"aria-busy": "true",
|
|
879
879
|
"data-testid": "preview-resolution-loading",
|
|
880
880
|
class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-6"
|
|
881
|
-
},
|
|
881
|
+
}, In = { class: "tpl:sr-only" }, Ln = {
|
|
882
882
|
key: 1,
|
|
883
883
|
role: "status",
|
|
884
884
|
"data-testid": "preview-resolution-failed",
|
|
885
885
|
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)]"
|
|
886
|
-
},
|
|
886
|
+
}, Rn = {
|
|
887
887
|
key: 0,
|
|
888
888
|
class: "tpl-canvas-empty-content tpl:flex tpl:flex-col tpl:items-center"
|
|
889
|
-
},
|
|
889
|
+
}, zn = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, Bn = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Vn = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Hn = {
|
|
890
890
|
key: 0,
|
|
891
891
|
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)]"
|
|
892
|
-
},
|
|
892
|
+
}, Un = {
|
|
893
893
|
key: 1,
|
|
894
894
|
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)]"
|
|
895
|
-
},
|
|
895
|
+
}, Wn = { class: "tpl:relative" }, Gn = {
|
|
896
896
|
class: "tpl:inline-flex tpl:size-3 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-bold",
|
|
897
897
|
style: { "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 30%,\n transparent\n )" }
|
|
898
|
-
},
|
|
898
|
+
}, Kn = /*#__PURE__*/ Rt(/* @__PURE__ */ A({
|
|
899
899
|
__name: "Canvas",
|
|
900
900
|
props: {
|
|
901
901
|
viewport: {},
|
|
@@ -912,23 +912,23 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
912
912
|
],
|
|
913
913
|
setup(r, { emit: a }) {
|
|
914
914
|
let s = {
|
|
915
|
-
section:
|
|
916
|
-
title:
|
|
917
|
-
paragraph:
|
|
918
|
-
image:
|
|
919
|
-
button:
|
|
920
|
-
divider:
|
|
921
|
-
spacer:
|
|
922
|
-
html:
|
|
923
|
-
social:
|
|
924
|
-
menu:
|
|
925
|
-
table:
|
|
926
|
-
video:
|
|
927
|
-
custom:
|
|
928
|
-
wrapper:
|
|
929
|
-
}, c = r, l = a, { t: p } = Z(), { t: h } =
|
|
930
|
-
b(
|
|
931
|
-
let
|
|
915
|
+
section: Ve,
|
|
916
|
+
title: je,
|
|
917
|
+
paragraph: Ke,
|
|
918
|
+
image: Ne,
|
|
919
|
+
button: xe,
|
|
920
|
+
divider: ze,
|
|
921
|
+
spacer: Ie,
|
|
922
|
+
html: He,
|
|
923
|
+
social: Ae,
|
|
924
|
+
menu: Me,
|
|
925
|
+
table: Ue,
|
|
926
|
+
video: Be,
|
|
927
|
+
custom: Fe,
|
|
928
|
+
wrapper: Kt
|
|
929
|
+
}, c = r, l = a, { t: p } = Z(), { t: h } = zt(), S = Ye(lt, "Canvas"), T = u(ct, null), E = u(gt, null), A = u(ut, {}), j = u(et, null), M = u(at, null);
|
|
930
|
+
b(rt, O(() => c.previewMode && (j?.value ?? !1) && !M?.isConfigured));
|
|
931
|
+
let N = O(() => (A.plan?.hasFeature("aiGeneration") ?? !1) && (A.ai?.isFeatureEnabled("chat") ?? !1)), F = O(() => (A.plan?.hasFeature("aiGeneration") ?? !1) && (A.ai?.isFeatureEnabled("designToTemplate") ?? !1)), I = u(ht, null), L = O({
|
|
932
932
|
get: () => c.content.blocks,
|
|
933
933
|
set: (e) => {
|
|
934
934
|
S.setContent({
|
|
@@ -936,21 +936,21 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
936
936
|
blocks: e
|
|
937
937
|
});
|
|
938
938
|
}
|
|
939
|
-
}), R =
|
|
940
|
-
function
|
|
941
|
-
|
|
939
|
+
}), R = O(() => Gt(c.content.settings, c.viewport)), z = O(() => R.value + 192), B = O(() => De(c.content.settings)), V = O(() => c.content.settings?.locale?.trim() || void 0), H = O(() => K(c.content.settings)), U = O(() => L.value.length === 0 && !c.previewMode), W = f(0), G = O(() => U.value && W.value > 0);
|
|
940
|
+
function ee() {
|
|
941
|
+
U.value && (W.value += 1);
|
|
942
942
|
}
|
|
943
943
|
function q() {
|
|
944
|
-
|
|
944
|
+
U.value && (W.value = Math.max(0, W.value - 1));
|
|
945
945
|
}
|
|
946
|
-
function
|
|
947
|
-
|
|
946
|
+
function J() {
|
|
947
|
+
W.value = 0;
|
|
948
948
|
}
|
|
949
|
-
function
|
|
949
|
+
function te(e) {
|
|
950
950
|
c.previewMode || A.savedBlocks?.isPicking.value || e.target === e.currentTarget && l("select-block", null);
|
|
951
951
|
}
|
|
952
952
|
function Y(e) {
|
|
953
|
-
return
|
|
953
|
+
return be(e, E, s);
|
|
954
954
|
}
|
|
955
955
|
function X(e) {
|
|
956
956
|
return c.lockedBlocks?.get(e) ?? null;
|
|
@@ -967,7 +967,7 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
967
967
|
function re(e) {
|
|
968
968
|
return A.savedBlocks?.isPicked(e) ?? !1;
|
|
969
969
|
}
|
|
970
|
-
let ie =
|
|
970
|
+
let ie = O(() => A.savedBlocks?.isPicking.value === !0);
|
|
971
971
|
function ae(e, t) {
|
|
972
972
|
e.type === "custom" && S.updateBlock(e.id, {
|
|
973
973
|
fieldValues: t.fieldValues,
|
|
@@ -981,7 +981,7 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
981
981
|
maxWidth: "calc(100% - 4 * var(--tpl-base-size))",
|
|
982
982
|
minWidth: "min-content",
|
|
983
983
|
boxShadow: r.darkMode ? "none" : "var(--tpl-shadow-xl)",
|
|
984
|
-
transition: m(
|
|
984
|
+
transition: m(Wt)
|
|
985
985
|
})
|
|
986
986
|
}, [g("div", {
|
|
987
987
|
class: "tpl-canvas-bg tpl:absolute tpl:inset-0 tpl:rounded-lg tpl:pointer-events-none",
|
|
@@ -997,7 +997,7 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
997
997
|
class: "tpl-canvas-wrapper tpl:relative",
|
|
998
998
|
style: t({
|
|
999
999
|
width: `${R.value}px`,
|
|
1000
|
-
transition: m(
|
|
1000
|
+
transition: m(Wt)
|
|
1001
1001
|
})
|
|
1002
1002
|
}, [g("div", {
|
|
1003
1003
|
class: C(["tpl-canvas tpl:relative tpl:rounded-lg", {
|
|
@@ -1005,14 +1005,14 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
1005
1005
|
"tpl-preview-mode": r.previewMode
|
|
1006
1006
|
}]),
|
|
1007
1007
|
lang: V.value,
|
|
1008
|
-
dir:
|
|
1008
|
+
dir: H.value,
|
|
1009
1009
|
style: t(B.value),
|
|
1010
|
-
onClick:
|
|
1011
|
-
}, [m(M)?.isInitialResolve.value ? (e(), _("div",
|
|
1010
|
+
onClick: te
|
|
1011
|
+
}, [m(M)?.isInitialResolve.value ? (e(), _("div", Fn, [g("span", In, x(m(p).previewResolution.resolving), 1), (e(), _(D, null, o(3, (e) => g("div", {
|
|
1012
1012
|
key: e,
|
|
1013
1013
|
"aria-hidden": "true",
|
|
1014
1014
|
class: "tpl-pulse tpl:h-16 tpl:rounded-md tpl:bg-[var(--tpl-bg-hover)]"
|
|
1015
|
-
})), 64))])) : m(M)?.hasFailed.value ? (e(), _("p",
|
|
1015
|
+
})), 64))])) : m(M)?.hasFailed.value ? (e(), _("p", Ln, x(m(p).previewResolution.failed), 1)) : k("", !0), d(v(m(We), {
|
|
1016
1016
|
modelValue: L.value,
|
|
1017
1017
|
"onUpdate:modelValue": s[2] ||= (e) => L.value = e,
|
|
1018
1018
|
group: "blocks",
|
|
@@ -1027,47 +1027,47 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
1027
1027
|
"force-fallback": !0,
|
|
1028
1028
|
class: C([
|
|
1029
1029
|
"tpl-canvas-blocks",
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1030
|
+
U.value ? "tpl-canvas-empty tpl:m-6 tpl:flex tpl:min-h-[400px] tpl:flex-col tpl:items-center tpl:justify-center tpl:rounded-xl tpl:border-2 tpl:border-dashed tpl:px-10 tpl:py-12 tpl:text-center tpl:bg-[var(--tpl-bg-elevated)] tpl:font-[var(--tpl-font-family)] tpl:transition-colors" : "",
|
|
1031
|
+
U.value && G.value ? "tpl-canvas-empty--drag-over tpl:border-[var(--tpl-primary-hover)] tpl:bg-[var(--tpl-primary-light)]" : "",
|
|
1032
|
+
U.value && !G.value ? "tpl:border-[var(--tpl-primary)]" : ""
|
|
1033
1033
|
]),
|
|
1034
|
-
onDragenter:
|
|
1034
|
+
onDragenter: ee,
|
|
1035
1035
|
onDragleave: q,
|
|
1036
|
-
onDrop:
|
|
1036
|
+
onDrop: J
|
|
1037
1037
|
}, {
|
|
1038
|
-
default: n(() => [
|
|
1039
|
-
g("div",
|
|
1038
|
+
default: n(() => [U.value ? (e(), _("div", Rn, [
|
|
1039
|
+
g("div", zn, [v(m(sn), {
|
|
1040
1040
|
size: 48,
|
|
1041
1041
|
"stroke-width": 1
|
|
1042
1042
|
})]),
|
|
1043
|
-
g("p",
|
|
1044
|
-
g("p",
|
|
1045
|
-
|
|
1043
|
+
g("p", Bn, x(m(p).canvas.noBlocks), 1),
|
|
1044
|
+
g("p", Vn, x(m(p).canvas.dragHint), 1),
|
|
1045
|
+
N.value && m(h) ? (e(), _("p", Hn, [
|
|
1046
1046
|
y(x(m(p).canvas.aiHintChat) + " ", 1),
|
|
1047
1047
|
g("button", {
|
|
1048
1048
|
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)]",
|
|
1049
1049
|
onClick: s[0] ||= (e) => l("open-ai-chat")
|
|
1050
|
-
}, [v(m(
|
|
1050
|
+
}, [v(m(Pt), {
|
|
1051
1051
|
size: 14,
|
|
1052
1052
|
"stroke-width": 2
|
|
1053
1053
|
}), y(" " + x(m(h).aiMenu.aiAssistant), 1)]),
|
|
1054
1054
|
y(" " + x(m(p).canvas.aiHintChatSuffix), 1)
|
|
1055
|
-
])) :
|
|
1056
|
-
F.value && m(h) ? (e(), _("p",
|
|
1055
|
+
])) : k("", !0),
|
|
1056
|
+
F.value && m(h) ? (e(), _("p", Un, [
|
|
1057
1057
|
y(x(m(p).canvas.aiHintDesign) + " ", 1),
|
|
1058
1058
|
g("button", {
|
|
1059
1059
|
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)]",
|
|
1060
1060
|
onClick: s[1] ||= (e) => l("open-design-reference")
|
|
1061
|
-
}, [v(m(
|
|
1061
|
+
}, [v(m(Tt), {
|
|
1062
1062
|
size: 14,
|
|
1063
1063
|
"stroke-width": 2
|
|
1064
1064
|
}), y(" " + x(m(h).aiMenu.designToTemplate), 1)]),
|
|
1065
1065
|
y(" " + x(m(p).canvas.aiHintDesignSuffix), 1)
|
|
1066
|
-
])) :
|
|
1067
|
-
])) :
|
|
1066
|
+
])) : k("", !0)
|
|
1067
|
+
])) : k("", !0), (e(!0), _(D, null, o(L.value, (a) => d((e(), _("div", {
|
|
1068
1068
|
key: a.id,
|
|
1069
1069
|
class: "tpl-block-item"
|
|
1070
|
-
}, [g("div",
|
|
1070
|
+
}, [g("div", Wn, [X(a.id) ? (e(), _("div", {
|
|
1071
1071
|
key: 0,
|
|
1072
1072
|
class: "tpl-collab-lock tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[4] tpl:rounded-sm",
|
|
1073
1073
|
style: t({
|
|
@@ -1078,13 +1078,13 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
1078
1078
|
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",
|
|
1079
1079
|
style: t({
|
|
1080
1080
|
backgroundColor: X(a.id).color,
|
|
1081
|
-
color: m(
|
|
1081
|
+
color: m(qt)(X(a.id).color)
|
|
1082
1082
|
})
|
|
1083
|
-
}, [g("span",
|
|
1083
|
+
}, [g("span", Gn, x(X(a.id).name.charAt(0)), 1), y(" " + x(X(a.id).name), 1)], 4)], 4)) : k("", !0), a.type === "wrapper" ? (e(), w(i(Y(a)), {
|
|
1084
1084
|
key: 1,
|
|
1085
1085
|
block: a,
|
|
1086
1086
|
viewport: r.viewport
|
|
1087
|
-
}, null, 8, ["block", "viewport"])) : (e(), w(
|
|
1087
|
+
}, null, 8, ["block", "viewport"])) : (e(), w(Re, {
|
|
1088
1088
|
key: 2,
|
|
1089
1089
|
block: a,
|
|
1090
1090
|
"is-selected": !r.previewMode && !ie.value && r.selectedBlockId === a.id && !X(a.id),
|
|
@@ -1112,18 +1112,18 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
1112
1112
|
"viewport",
|
|
1113
1113
|
"preview-mode",
|
|
1114
1114
|
"onSelect"
|
|
1115
|
-
]))])])), [[
|
|
1115
|
+
]))])])), [[P, m(I) === !1 || !m(T)?.isHidden(a.id)]])), 128))]),
|
|
1116
1116
|
_: 1
|
|
1117
1117
|
}, 8, [
|
|
1118
1118
|
"modelValue",
|
|
1119
1119
|
"disabled",
|
|
1120
1120
|
"class"
|
|
1121
|
-
]), [[
|
|
1121
|
+
]), [[P, !m(M)?.isInitialResolve.value]])], 14, Pn)], 12, Nn)], 4));
|
|
1122
1122
|
}
|
|
1123
|
-
}), [["__scopeId", "data-v-04a5cab0"]]),
|
|
1123
|
+
}), [["__scopeId", "data-v-04a5cab0"]]), qn = A({
|
|
1124
1124
|
name: "CustomBlockStylesheets",
|
|
1125
1125
|
setup() {
|
|
1126
|
-
let e = u(
|
|
1126
|
+
let e = u(dt, null);
|
|
1127
1127
|
return () => e ? e.value.map((e, t) => h("style", {
|
|
1128
1128
|
key: t,
|
|
1129
1129
|
"data-tpl-custom-block-stylesheet": "",
|
|
@@ -1133,7 +1133,7 @@ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
|
|
|
1133
1133
|
});
|
|
1134
1134
|
//#endregion
|
|
1135
1135
|
//#region src/utils/resolvePaletteBlocks.ts
|
|
1136
|
-
function
|
|
1136
|
+
function Jn(e, t) {
|
|
1137
1137
|
if (!t || t.length === 0) return {
|
|
1138
1138
|
items: e,
|
|
1139
1139
|
unknown: []
|
|
@@ -1152,7 +1152,7 @@ function qn(e, t) {
|
|
|
1152
1152
|
}
|
|
1153
1153
|
//#endregion
|
|
1154
1154
|
//#region src/utils/resolveInsertPosition.ts
|
|
1155
|
-
function
|
|
1155
|
+
function Yn(e) {
|
|
1156
1156
|
let { blockType: t, selectedBlockId: n, findBlockLocation: r, isBlockLocked: i } = e;
|
|
1157
1157
|
if (!n) return {};
|
|
1158
1158
|
let a = r(n);
|
|
@@ -1170,24 +1170,24 @@ function Jn(e) {
|
|
|
1170
1170
|
}
|
|
1171
1171
|
//#endregion
|
|
1172
1172
|
//#region src/components/Sidebar.vue?vue&type=script&setup=true&lang.ts
|
|
1173
|
-
var
|
|
1173
|
+
var Xn = ["aria-label"], Zn = {
|
|
1174
1174
|
key: 0,
|
|
1175
1175
|
class: "tpl:border-b tpl:px-1 tpl:pb-1 tpl:border-[var(--tpl-border)]"
|
|
1176
|
-
},
|
|
1176
|
+
}, Qn = ["aria-label"], $n = {
|
|
1177
1177
|
key: 0,
|
|
1178
1178
|
class: "tpl:truncate tpl:text-sm tpl:font-medium"
|
|
1179
|
-
},
|
|
1179
|
+
}, er = [
|
|
1180
1180
|
"data-palette-type",
|
|
1181
1181
|
"aria-label",
|
|
1182
1182
|
"onClick",
|
|
1183
1183
|
"onKeydown"
|
|
1184
|
-
],
|
|
1184
|
+
], tr = { 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" }, nr = {
|
|
1185
1185
|
key: 0,
|
|
1186
1186
|
class: "tpl:truncate tpl:text-sm tpl:font-medium"
|
|
1187
|
-
},
|
|
1187
|
+
}, rr = 4, ir = /* @__PURE__ */ A({
|
|
1188
1188
|
__name: "Sidebar",
|
|
1189
1189
|
setup(r) {
|
|
1190
|
-
let { t: s, format: c } = Z(), d = u(
|
|
1190
|
+
let { t: s, format: c } = Z(), d = u(pt, []), p = u(_t, void 0), h = u(ft, void 0), y = u(lt, null), b = Dt(), S = u(ut, {}), C = O(() => S.savedBlocks?.isAvailable.value === !0), T = f(!1), E = f(!1), A = f(null), j = !1, M = 0;
|
|
1191
1191
|
a(() => {
|
|
1192
1192
|
window.clearTimeout(M);
|
|
1193
1193
|
});
|
|
@@ -1199,13 +1199,13 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1199
1199
|
}
|
|
1200
1200
|
}
|
|
1201
1201
|
function P() {
|
|
1202
|
-
|
|
1202
|
+
E.value || N() || (T.value = !1);
|
|
1203
1203
|
}
|
|
1204
1204
|
function F() {
|
|
1205
|
-
|
|
1205
|
+
E.value = !0;
|
|
1206
1206
|
}
|
|
1207
1207
|
function I() {
|
|
1208
|
-
|
|
1208
|
+
E.value = !1;
|
|
1209
1209
|
}
|
|
1210
1210
|
function L() {
|
|
1211
1211
|
j = !0, window.clearTimeout(M);
|
|
@@ -1222,7 +1222,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1222
1222
|
}));
|
|
1223
1223
|
}
|
|
1224
1224
|
function B() {
|
|
1225
|
-
|
|
1225
|
+
E.value = !1, A.value?.matches(":hover") ? (T.value = !0, z()) : T.value = !1, window.clearTimeout(M), M = window.setTimeout(() => {
|
|
1226
1226
|
j = !1;
|
|
1227
1227
|
}, 0);
|
|
1228
1228
|
}
|
|
@@ -1239,34 +1239,34 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1239
1239
|
"table",
|
|
1240
1240
|
"spacer",
|
|
1241
1241
|
"html"
|
|
1242
|
-
],
|
|
1242
|
+
], H = O(() => {
|
|
1243
1243
|
let e = V.map((e) => ({
|
|
1244
1244
|
type: e,
|
|
1245
|
-
label:
|
|
1245
|
+
label: de(e, s)
|
|
1246
1246
|
}));
|
|
1247
1247
|
return S.plan && e.splice(-1, 0, {
|
|
1248
1248
|
type: "countdown",
|
|
1249
|
-
label:
|
|
1249
|
+
label: de("countdown", s)
|
|
1250
1250
|
}), e;
|
|
1251
|
-
}),
|
|
1251
|
+
}), U = O(() => d.map((e) => ({
|
|
1252
1252
|
type: `custom:${e.type}`,
|
|
1253
1253
|
label: e.name,
|
|
1254
1254
|
isCustom: !0,
|
|
1255
1255
|
icon: e.icon
|
|
1256
|
-
}))),
|
|
1257
|
-
l(() =>
|
|
1258
|
-
for (let t of e)
|
|
1256
|
+
}))), W = O(() => [...H.value, ...U.value]), G = O(() => Jn(W.value, p)), K = O(() => G.value.items), ee = /* @__PURE__ */ new Set();
|
|
1257
|
+
l(() => G.value.unknown, (e) => {
|
|
1258
|
+
for (let t of e) ee.has(t) || (ee.add(t), vt.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.`));
|
|
1259
1259
|
}, { immediate: !0 });
|
|
1260
1260
|
function q(e) {
|
|
1261
1261
|
if (e.isCustom) {
|
|
1262
1262
|
let t = e.type.replace("custom:", ""), n = d.find((e) => e.type === t);
|
|
1263
|
-
if (n) return
|
|
1263
|
+
if (n) return ae(n);
|
|
1264
1264
|
}
|
|
1265
1265
|
return te(e.type, h?.value);
|
|
1266
1266
|
}
|
|
1267
1267
|
function J(e) {
|
|
1268
1268
|
if (!y) return;
|
|
1269
|
-
let t = q(e), { targetSectionId: n, columnIndex: r, index: i } =
|
|
1269
|
+
let t = q(e), { targetSectionId: n, columnIndex: r, index: i } = Yn({
|
|
1270
1270
|
blockType: e.type,
|
|
1271
1271
|
selectedBlockId: y.state.selectedBlockId,
|
|
1272
1272
|
findBlockLocation: y.findBlockLocation,
|
|
@@ -1296,18 +1296,18 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1296
1296
|
onMouseleave: P,
|
|
1297
1297
|
onFocusin: a[2] ||= (e) => T.value = !0,
|
|
1298
1298
|
onFocusout: R
|
|
1299
|
-
}, [C.value ? (e(), _("div",
|
|
1299
|
+
}, [C.value ? (e(), _("div", Zn, [g("button", {
|
|
1300
1300
|
type: "button",
|
|
1301
1301
|
"aria-label": m(s).sidebarNav.browseSavedBlocks,
|
|
1302
1302
|
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)]",
|
|
1303
1303
|
style: t({ justifyContent: T.value ? "flex-start" : "center" }),
|
|
1304
1304
|
onClick: a[0] ||= (e) => m(S).savedBlocks?.openBrowser()
|
|
1305
|
-
}, [v(m(
|
|
1305
|
+
}, [v(m(jt), {
|
|
1306
1306
|
size: 20,
|
|
1307
1307
|
"stroke-width": 1.5,
|
|
1308
1308
|
class: "tpl:shrink-0"
|
|
1309
|
-
}), T.value ? (e(), _("span",
|
|
1310
|
-
"model-value":
|
|
1309
|
+
}), T.value ? (e(), _("span", $n, x(m(s).savedBlocks.title), 1)) : k("", !0)], 12, Qn)])) : k("", !0), v(m(We), {
|
|
1310
|
+
"model-value": K.value,
|
|
1311
1311
|
group: {
|
|
1312
1312
|
name: "blocks",
|
|
1313
1313
|
pull: "clone",
|
|
@@ -1317,14 +1317,14 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1317
1317
|
sort: !1,
|
|
1318
1318
|
animation: 150,
|
|
1319
1319
|
"force-fallback": !0,
|
|
1320
|
-
"fallback-tolerance":
|
|
1320
|
+
"fallback-tolerance": rr,
|
|
1321
1321
|
class: "tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col tpl:gap-0.5 tpl:overflow-y-auto tpl:p-1",
|
|
1322
1322
|
onChoose: F,
|
|
1323
1323
|
onStart: L,
|
|
1324
1324
|
onUnchoose: I,
|
|
1325
1325
|
onEnd: B
|
|
1326
1326
|
}, {
|
|
1327
|
-
default: n(() => [(e(!0), _(
|
|
1327
|
+
default: n(() => [(e(!0), _(D, null, o(K.value, (n) => (e(), _("button", {
|
|
1328
1328
|
key: n.type,
|
|
1329
1329
|
type: "button",
|
|
1330
1330
|
"data-palette-type": n.type,
|
|
@@ -1333,58 +1333,58 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1333
1333
|
style: t({ justifyContent: T.value ? "flex-start" : "center" }),
|
|
1334
1334
|
onClick: (e) => Y(n),
|
|
1335
1335
|
onKeydown: (e) => X(e, n)
|
|
1336
|
-
}, [g("div",
|
|
1336
|
+
}, [g("div", tr, [m(Ct)[n.type] ? (e(), w(i(m(Ct)[n.type]), {
|
|
1337
1337
|
key: 0,
|
|
1338
1338
|
size: 20,
|
|
1339
1339
|
"stroke-width": 1.5
|
|
1340
|
-
})) : n.isCustom ? (e(), w(
|
|
1340
|
+
})) : n.isCustom ? (e(), w(ke, {
|
|
1341
1341
|
key: 1,
|
|
1342
1342
|
icon: n.icon,
|
|
1343
1343
|
size: 20
|
|
1344
|
-
}, null, 8, ["icon"])) :
|
|
1344
|
+
}, null, 8, ["icon"])) : k("", !0)]), T.value ? (e(), _("span", nr, x(n.label), 1)) : k("", !0)], 44, er))), 128))]),
|
|
1345
1345
|
_: 1
|
|
1346
|
-
}, 8, ["model-value"])], 44,
|
|
1346
|
+
}, 8, ["model-value"])], 44, Xn));
|
|
1347
1347
|
}
|
|
1348
|
-
}),
|
|
1348
|
+
}), ar = ["aria-label"], or = {
|
|
1349
1349
|
role: "tablist",
|
|
1350
1350
|
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"
|
|
1351
|
-
},
|
|
1351
|
+
}, sr = [
|
|
1352
1352
|
"aria-selected",
|
|
1353
1353
|
"aria-label",
|
|
1354
1354
|
"title"
|
|
1355
|
-
],
|
|
1355
|
+
], cr = { key: 0 }, lr = [
|
|
1356
1356
|
"aria-selected",
|
|
1357
1357
|
"aria-label",
|
|
1358
1358
|
"title"
|
|
1359
|
-
],
|
|
1359
|
+
], ur = { key: 0 }, dr = [
|
|
1360
1360
|
"aria-selected",
|
|
1361
1361
|
"aria-label",
|
|
1362
1362
|
"title"
|
|
1363
|
-
],
|
|
1363
|
+
], fr = { key: 0 }, pr = {
|
|
1364
1364
|
key: 1,
|
|
1365
1365
|
class: "tpl:ml-1 tpl:rounded-full tpl:bg-[var(--tpl-bg-hover)] tpl:px-1.5 tpl:text-[10px]"
|
|
1366
|
-
},
|
|
1366
|
+
}, mr = {
|
|
1367
1367
|
key: 0,
|
|
1368
1368
|
id: "tpl-tabpanel-content",
|
|
1369
1369
|
role: "tabpanel",
|
|
1370
1370
|
"aria-labelledby": "tpl-tab-content",
|
|
1371
1371
|
class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
|
|
1372
|
-
},
|
|
1372
|
+
}, hr = {
|
|
1373
1373
|
key: 1,
|
|
1374
1374
|
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)]"
|
|
1375
|
-
},
|
|
1375
|
+
}, gr = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, _r = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, vr = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, yr = {
|
|
1376
1376
|
key: 1,
|
|
1377
1377
|
id: "tpl-tabpanel-settings",
|
|
1378
1378
|
role: "tabpanel",
|
|
1379
1379
|
"aria-labelledby": "tpl-tab-settings",
|
|
1380
1380
|
class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
|
|
1381
|
-
},
|
|
1381
|
+
}, br = {
|
|
1382
1382
|
key: 2,
|
|
1383
1383
|
id: "tpl-tabpanel-issues",
|
|
1384
1384
|
role: "tabpanel",
|
|
1385
1385
|
"aria-labelledby": "tpl-tab-issues",
|
|
1386
1386
|
class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
|
|
1387
|
-
},
|
|
1387
|
+
}, xr = /* @__PURE__ */ A({
|
|
1388
1388
|
__name: "RightSidebar",
|
|
1389
1389
|
props: {
|
|
1390
1390
|
selectedBlock: {},
|
|
@@ -1398,8 +1398,8 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1398
1398
|
"update-settings"
|
|
1399
1399
|
],
|
|
1400
1400
|
setup(n, { emit: r }) {
|
|
1401
|
-
let i = p(() => import("./Toolbar-
|
|
1402
|
-
function
|
|
1401
|
+
let i = p(() => import("./Toolbar-DUgyDBkz.js").then((e) => e.t)), a = p(() => import("./TemplateSettings-ClfHwxUa.js")), o = p(() => import("./IssuesPanel-vWhcDIvb.js")), s = n, c = r, { t: d } = Z(), h = f("content"), y = u($e, null), b = O(() => y !== null), S = O(() => y?.issues.value.length ?? 0), T = u(mt, new Set(yt)), E = O(() => T.size > 0);
|
|
1402
|
+
function D(e) {
|
|
1403
1403
|
return h.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)]";
|
|
1404
1404
|
}
|
|
1405
1405
|
function A(e) {
|
|
@@ -1414,7 +1414,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1414
1414
|
"aria-label": m(d).landmarks.rightSidebar,
|
|
1415
1415
|
class: C(["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"])
|
|
1416
1416
|
}, [
|
|
1417
|
-
g("div",
|
|
1417
|
+
g("div", or, [
|
|
1418
1418
|
g("button", {
|
|
1419
1419
|
id: "tpl-tab-content",
|
|
1420
1420
|
role: "tab",
|
|
@@ -1422,13 +1422,13 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1422
1422
|
"aria-controls": "tpl-tabpanel-content",
|
|
1423
1423
|
"aria-label": m(d).sidebar.content,
|
|
1424
1424
|
title: m(d).sidebar.content,
|
|
1425
|
-
class: C(["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)]",
|
|
1425
|
+
class: C(["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)]", D("content")]),
|
|
1426
1426
|
style: t(A("content")),
|
|
1427
1427
|
onClick: s[0] ||= (e) => h.value = "content"
|
|
1428
|
-
}, [v(m(
|
|
1428
|
+
}, [v(m(nn), {
|
|
1429
1429
|
size: 14,
|
|
1430
1430
|
"stroke-width": 2
|
|
1431
|
-
}), h.value === "content" ? (e(), _("span",
|
|
1431
|
+
}), h.value === "content" ? (e(), _("span", cr, x(m(d).sidebar.content), 1)) : k("", !0)], 14, sr),
|
|
1432
1432
|
E.value ? (e(), _("button", {
|
|
1433
1433
|
key: 0,
|
|
1434
1434
|
id: "tpl-tab-settings",
|
|
@@ -1437,13 +1437,13 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1437
1437
|
"aria-controls": "tpl-tabpanel-settings",
|
|
1438
1438
|
"aria-label": m(d).sidebar.settings,
|
|
1439
1439
|
title: m(d).sidebar.settings,
|
|
1440
|
-
class: C(["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)]",
|
|
1440
|
+
class: C(["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)]", D("settings")]),
|
|
1441
1441
|
style: t(A("settings")),
|
|
1442
1442
|
onClick: s[1] ||= (e) => h.value = "settings"
|
|
1443
|
-
}, [v(m(
|
|
1443
|
+
}, [v(m(on), {
|
|
1444
1444
|
size: 14,
|
|
1445
1445
|
"stroke-width": 1.5
|
|
1446
|
-
}), h.value === "settings" ? (e(), _("span",
|
|
1446
|
+
}), h.value === "settings" ? (e(), _("span", ur, x(m(d).sidebar.settings), 1)) : k("", !0)], 14, lr)) : k("", !0),
|
|
1447
1447
|
b.value ? (e(), _("button", {
|
|
1448
1448
|
key: 1,
|
|
1449
1449
|
id: "tpl-tab-issues",
|
|
@@ -1452,98 +1452,76 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1452
1452
|
"aria-controls": "tpl-tabpanel-issues",
|
|
1453
1453
|
"aria-label": m(d).issues.panelTabLabel,
|
|
1454
1454
|
title: m(d).issues.panelTabLabel,
|
|
1455
|
-
class: C(["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)]",
|
|
1455
|
+
class: C(["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)]", D("issues")]),
|
|
1456
1456
|
style: t(A("issues")),
|
|
1457
1457
|
onClick: s[2] ||= (e) => h.value = "issues"
|
|
1458
1458
|
}, [
|
|
1459
|
-
v(m(
|
|
1459
|
+
v(m(Et), {
|
|
1460
1460
|
size: 14,
|
|
1461
1461
|
"stroke-width": 1.5
|
|
1462
1462
|
}),
|
|
1463
|
-
h.value === "issues" ? (e(), _("span",
|
|
1464
|
-
S.value > 0 ? (e(), _("span",
|
|
1465
|
-
], 14,
|
|
1463
|
+
h.value === "issues" ? (e(), _("span", fr, x(m(d).issues.panelTabLabel), 1)) : k("", !0),
|
|
1464
|
+
S.value > 0 ? (e(), _("span", pr, x(S.value), 1)) : k("", !0)
|
|
1465
|
+
], 14, dr)) : k("", !0)
|
|
1466
1466
|
]),
|
|
1467
|
-
h.value === "content" ? (e(), _("div",
|
|
1467
|
+
h.value === "content" ? (e(), _("div", mr, [n.selectedBlock ? (e(), w(m(i), {
|
|
1468
1468
|
key: 0,
|
|
1469
1469
|
block: n.selectedBlock,
|
|
1470
1470
|
onUpdate: s[3] ||= (e) => c("update-block", e),
|
|
1471
1471
|
onDelete: s[4] ||= (e) => c("delete-block"),
|
|
1472
1472
|
onDuplicate: s[5] ||= (e) => c("duplicate-block")
|
|
1473
|
-
}, null, 8, ["block"])) : (e(), _("div",
|
|
1474
|
-
g("div",
|
|
1473
|
+
}, null, 8, ["block"])) : (e(), _("div", hr, [
|
|
1474
|
+
g("div", gr, [v(m(en), {
|
|
1475
1475
|
size: 40,
|
|
1476
1476
|
"stroke-width": 1.5
|
|
1477
1477
|
})]),
|
|
1478
|
-
g("h3",
|
|
1479
|
-
g("p",
|
|
1480
|
-
]))])) :
|
|
1481
|
-
h.value === "settings" && E.value ? (e(), _("div",
|
|
1478
|
+
g("h3", _r, x(m(d).sidebar.noSelection), 1),
|
|
1479
|
+
g("p", vr, x(m(d).sidebar.noSelectionHint), 1)
|
|
1480
|
+
]))])) : k("", !0),
|
|
1481
|
+
h.value === "settings" && E.value ? (e(), _("div", yr, [v(m(a), {
|
|
1482
1482
|
settings: n.settings,
|
|
1483
1483
|
onUpdate: s[6] ||= (e) => c("update-settings", e)
|
|
1484
|
-
}, null, 8, ["settings"])])) :
|
|
1485
|
-
h.value === "issues" && b.value ? (e(), _("div",
|
|
1486
|
-
], 10,
|
|
1484
|
+
}, null, 8, ["settings"])])) : k("", !0),
|
|
1485
|
+
h.value === "issues" && b.value ? (e(), _("div", br, [v(m(o))])) : k("", !0)
|
|
1486
|
+
], 10, ar));
|
|
1487
1487
|
}
|
|
1488
|
-
}),
|
|
1488
|
+
}), Sr = {
|
|
1489
1489
|
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)]",
|
|
1490
1490
|
style: { "z-index": "10001" },
|
|
1491
1491
|
role: "status",
|
|
1492
1492
|
"data-testid": "small-screen-notice"
|
|
1493
|
-
},
|
|
1493
|
+
}, Cr = { class: "tpl:text-[var(--tpl-text-dim)]" }, wr = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Tr = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, Er = /* @__PURE__ */ A({
|
|
1494
1494
|
__name: "SmallScreenNotice",
|
|
1495
1495
|
setup(t) {
|
|
1496
1496
|
let { t: n } = Z();
|
|
1497
|
-
return (t, r) => (e(), _("div",
|
|
1498
|
-
g("div",
|
|
1497
|
+
return (t, r) => (e(), _("div", Sr, [
|
|
1498
|
+
g("div", Cr, [v(m(At), {
|
|
1499
1499
|
size: 48,
|
|
1500
1500
|
"stroke-width": 1.5
|
|
1501
1501
|
})]),
|
|
1502
|
-
g("h2",
|
|
1503
|
-
g("p",
|
|
1502
|
+
g("h2", wr, x(m(n).smallScreen.title), 1),
|
|
1503
|
+
g("p", Tr, x(m(n).smallScreen.message), 1)
|
|
1504
1504
|
]));
|
|
1505
1505
|
}
|
|
1506
|
-
}),
|
|
1506
|
+
}), Dr = {
|
|
1507
1507
|
class: "tpl:pointer-events-auto tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-tl-lg tpl:p-1",
|
|
1508
1508
|
style: {
|
|
1509
1509
|
"background-color": "color-mix(\n in srgb,\n var(--tpl-canvas-bg) 85%,\n transparent\n )",
|
|
1510
1510
|
"backdrop-filter": "blur(8px)",
|
|
1511
1511
|
"-webkit-backdrop-filter": "blur(8px)"
|
|
1512
1512
|
}
|
|
1513
|
-
},
|
|
1514
|
-
href: "https://github.com/templatical/sdk",
|
|
1515
|
-
target: "_blank",
|
|
1516
|
-
rel: "noopener noreferrer",
|
|
1517
|
-
class: "tpl:transition-colors tpl:hover:opacity-80 tpl:text-[var(--tpl-text-dim)]",
|
|
1518
|
-
style: { "text-decoration": "none" }
|
|
1519
|
-
}, Or = /* @__PURE__ */ k({
|
|
1513
|
+
}, Or = /* @__PURE__ */ A({
|
|
1520
1514
|
__name: "EditorFooter",
|
|
1521
1515
|
props: { positionClass: {} },
|
|
1522
1516
|
setup(t) {
|
|
1523
1517
|
let { t: n } = Z();
|
|
1524
|
-
return (r, i) => (e(), _("footer", { class: C(["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-[10px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", t.positionClass]) }, [g("div",
|
|
1525
|
-
g("span", null, x(m(n).footer.poweredBy), 1),
|
|
1526
|
-
i[0] ||= g("a", {
|
|
1527
|
-
href: "https://templatical.com",
|
|
1528
|
-
target: "_blank",
|
|
1529
|
-
rel: "noopener noreferrer",
|
|
1530
|
-
class: "tpl:inline-flex tpl:items-center tpl:gap-1 tpl:font-medium tpl:transition-colors tpl:hover:opacity-80 tpl:text-[var(--tpl-text-muted)]",
|
|
1531
|
-
style: { "text-decoration": "none" }
|
|
1532
|
-
}, [g("img", {
|
|
1533
|
-
width: "14",
|
|
1534
|
-
height: "14",
|
|
1535
|
-
src: "https://templatical.com/logo.svg",
|
|
1536
|
-
alt: ""
|
|
1537
|
-
}), y(" Templatical ")], -1),
|
|
1538
|
-
i[1] ||= g("span", { class: "tpl:text-[var(--tpl-border)]" }, "·", -1),
|
|
1539
|
-
g("a", Dr, x(m(n).footer.openSource), 1)
|
|
1540
|
-
])], 2));
|
|
1518
|
+
return (r, i) => (e(), _("footer", { class: C(["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-[10px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", t.positionClass]) }, [g("div", Dr, [g("span", null, x(m(n).footer.poweredBy), 1), i[0] ||= T("<a href=\"https://templatical.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"tpl:inline-flex tpl:items-center tpl:gap-1 tpl:font-medium tpl:transition-colors tpl:hover:opacity-80 tpl:text-[var(--tpl-text-muted)]\" style=\"text-decoration:none;\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 32 32\" aria-hidden=\"true\"><rect x=\"10\" y=\"1\" width=\"18\" height=\"22\" rx=\"3\" fill=\"oklch(85% 0.08 55)\" transform=\"rotate(8 19 12)\"></rect><rect x=\"6\" y=\"2\" width=\"18\" height=\"22\" rx=\"3\" fill=\"oklch(77% 0.12 55)\" transform=\"rotate(-4 15 13)\"></rect><rect x=\"2\" y=\"4\" width=\"18\" height=\"22\" rx=\"3\" fill=\"oklch(70% 0.16 55)\"></rect><rect x=\"6\" y=\"9\" width=\"10\" height=\"1.8\" rx=\"0.9\" fill=\"white\" opacity=\"0.9\"></rect><rect x=\"6\" y=\"13.5\" width=\"7\" height=\"1.5\" rx=\"0.75\" fill=\"white\" opacity=\"0.6\"></rect><rect x=\"6\" y=\"17\" width=\"9\" height=\"1.5\" rx=\"0.75\" fill=\"white\" opacity=\"0.6\"></rect><rect x=\"6\" y=\"20.5\" width=\"5\" height=\"1.5\" rx=\"0.75\" fill=\"white\" opacity=\"0.4\"></rect></svg> Templatical </a>", 1)])], 2));
|
|
1541
1519
|
}
|
|
1542
1520
|
}), kr = [
|
|
1543
1521
|
"aria-label",
|
|
1544
1522
|
"title",
|
|
1545
1523
|
"aria-pressed"
|
|
1546
|
-
], Ar = /*#__PURE__*/
|
|
1524
|
+
], Ar = /*#__PURE__*/ Rt(/* @__PURE__ */ A({
|
|
1547
1525
|
__name: "DarkModeToggle",
|
|
1548
1526
|
props: { darkMode: { type: Boolean } },
|
|
1549
1527
|
emits: ["change"],
|
|
@@ -1559,18 +1537,18 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1559
1537
|
title: r.darkMode ? m(o).darkMode.disable : m(o).darkMode.enable,
|
|
1560
1538
|
"aria-pressed": r.darkMode,
|
|
1561
1539
|
onClick: s[0] ||= (e) => a("change", !r.darkMode)
|
|
1562
|
-
}, [v(
|
|
1540
|
+
}, [v(I, {
|
|
1563
1541
|
"enter-active-class": "tpl-icon-enter-active",
|
|
1564
1542
|
"leave-active-class": "tpl-icon-leave-active",
|
|
1565
1543
|
"enter-from-class": "tpl-icon-enter-from",
|
|
1566
1544
|
"leave-to-class": "tpl-icon-leave-to",
|
|
1567
1545
|
mode: "out-in"
|
|
1568
1546
|
}, {
|
|
1569
|
-
default: n(() => [r.darkMode ? (e(), w(m(
|
|
1547
|
+
default: n(() => [r.darkMode ? (e(), w(m(tn), {
|
|
1570
1548
|
key: "moon",
|
|
1571
1549
|
size: 18,
|
|
1572
1550
|
"stroke-width": 1.5
|
|
1573
|
-
})) : (e(), w(m(
|
|
1551
|
+
})) : (e(), w(m(cn), {
|
|
1574
1552
|
key: "sun",
|
|
1575
1553
|
size: 18,
|
|
1576
1554
|
"stroke-width": 1.5
|
|
@@ -1582,7 +1560,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1582
1560
|
"aria-label",
|
|
1583
1561
|
"title",
|
|
1584
1562
|
"aria-pressed"
|
|
1585
|
-
], Mr = /*#__PURE__*/
|
|
1563
|
+
], Mr = /*#__PURE__*/ Rt(/* @__PURE__ */ A({
|
|
1586
1564
|
__name: "PreviewToggle",
|
|
1587
1565
|
props: { previewMode: { type: Boolean } },
|
|
1588
1566
|
emits: ["change"],
|
|
@@ -1598,18 +1576,18 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1598
1576
|
title: r.previewMode ? m(o).previewMode.disable : m(o).previewMode.enable,
|
|
1599
1577
|
"aria-pressed": r.previewMode,
|
|
1600
1578
|
onClick: s[0] ||= (e) => a("change", !r.previewMode)
|
|
1601
|
-
}, [v(
|
|
1579
|
+
}, [v(I, {
|
|
1602
1580
|
"enter-active-class": "tpl-icon-enter-active",
|
|
1603
1581
|
"leave-active-class": "tpl-icon-leave-active",
|
|
1604
1582
|
"enter-from-class": "tpl-icon-enter-from",
|
|
1605
1583
|
"leave-to-class": "tpl-icon-leave-to",
|
|
1606
1584
|
mode: "out-in"
|
|
1607
1585
|
}, {
|
|
1608
|
-
default: n(() => [r.previewMode ? (e(), w(m(
|
|
1586
|
+
default: n(() => [r.previewMode ? (e(), w(m(wt), {
|
|
1609
1587
|
key: "eye",
|
|
1610
1588
|
size: 18,
|
|
1611
1589
|
"stroke-width": 1.5
|
|
1612
|
-
})) : (e(), w(m(
|
|
1590
|
+
})) : (e(), w(m(qe), {
|
|
1613
1591
|
key: "eye-off",
|
|
1614
1592
|
size: 18,
|
|
1615
1593
|
"stroke-width": 1.5
|
|
@@ -1617,7 +1595,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1617
1595
|
_: 1
|
|
1618
1596
|
})], 12, jr));
|
|
1619
1597
|
}
|
|
1620
|
-
}), [["__scopeId", "data-v-eef7b2ca"]]), Nr = ["aria-label", "onKeydown"], Pr = ["title", "aria-label"], Fr = /* @__PURE__ */
|
|
1598
|
+
}), [["__scopeId", "data-v-eef7b2ca"]]), Nr = ["aria-label", "onKeydown"], Pr = ["title", "aria-label"], Fr = /* @__PURE__ */ A({
|
|
1621
1599
|
__name: "TemplateNameField",
|
|
1622
1600
|
props: {
|
|
1623
1601
|
name: {},
|
|
@@ -1646,10 +1624,10 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1646
1624
|
type: "text",
|
|
1647
1625
|
"data-testid": "template-name-input",
|
|
1648
1626
|
"aria-label": m(o).header.templateName,
|
|
1649
|
-
class: C([m(
|
|
1650
|
-
onKeydown: [
|
|
1627
|
+
class: C([m(Ht), "tpl:h-8 tpl:max-w-[260px] tpl:text-sm tpl:font-medium"]),
|
|
1628
|
+
onKeydown: [F(M(p, ["prevent"]), ["enter"]), F(M(h, ["prevent"]), ["esc"])],
|
|
1651
1629
|
onBlur: p
|
|
1652
|
-
}, null, 42, Nr)), [[
|
|
1630
|
+
}, null, 42, Nr)), [[j, c.value]]) : t.editable ? (e(), _("button", {
|
|
1653
1631
|
key: 1,
|
|
1654
1632
|
type: "button",
|
|
1655
1633
|
"data-testid": "template-name",
|
|
@@ -1663,30 +1641,30 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1663
1641
|
class: C(["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)]": !t.name }])
|
|
1664
1642
|
}, x(t.name || m(o).header.untitled), 3));
|
|
1665
1643
|
}
|
|
1666
|
-
}), Ir = ["title"], Lr = /* @__PURE__ */
|
|
1644
|
+
}), Ir = ["title"], Lr = /* @__PURE__ */ A({
|
|
1667
1645
|
__name: "TemplateTimestamp",
|
|
1668
1646
|
props: {
|
|
1669
1647
|
iso: {},
|
|
1670
1648
|
kind: {}
|
|
1671
1649
|
},
|
|
1672
1650
|
setup(t) {
|
|
1673
|
-
let n = t, { t: r, format: i } = Z(), a = u(
|
|
1674
|
-
|
|
1651
|
+
let n = t, { t: r, format: i } = Z(), a = u(ot, void 0), o = f(0);
|
|
1652
|
+
ve(() => {
|
|
1675
1653
|
o.value += 1;
|
|
1676
1654
|
}, 6e4);
|
|
1677
|
-
let s =
|
|
1655
|
+
let s = O(() => {
|
|
1678
1656
|
o.value;
|
|
1679
|
-
let e =
|
|
1657
|
+
let e = Yt(n.iso, r.time, i);
|
|
1680
1658
|
if (e === null) return "";
|
|
1681
1659
|
let t = e === r.time.justNow;
|
|
1682
1660
|
return n.kind === "updatedAt" ? t ? r.header.updatedJustNow : i(r.header.updatedAt, { time: e }) : t ? r.header.createdJustNow : i(r.header.createdAt, { time: e });
|
|
1683
|
-
}), c =
|
|
1661
|
+
}), c = O(() => Jt(n.iso, a));
|
|
1684
1662
|
return (t, n) => s.value ? (e(), _("span", {
|
|
1685
1663
|
key: 0,
|
|
1686
1664
|
"data-testid": "template-timestamp",
|
|
1687
1665
|
title: c.value,
|
|
1688
1666
|
class: "tpl:max-w-[260px] tpl:truncate tpl:px-2 tpl:text-xs tpl:leading-tight tpl:text-[var(--tpl-text-dim)]"
|
|
1689
|
-
}, x(s.value), 9, Ir)) :
|
|
1667
|
+
}, x(s.value), 9, Ir)) : k("", !0);
|
|
1690
1668
|
}
|
|
1691
1669
|
}), Rr = ["data-tooltip"], zr = {
|
|
1692
1670
|
key: 1,
|
|
@@ -1698,7 +1676,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1698
1676
|
"aria-live": "polite",
|
|
1699
1677
|
"data-testid": "save-status-unsaved",
|
|
1700
1678
|
class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
1701
|
-
}, Vr = /* @__PURE__ */
|
|
1679
|
+
}, Vr = /* @__PURE__ */ A({
|
|
1702
1680
|
__name: "TemplateSaveStatus",
|
|
1703
1681
|
props: {
|
|
1704
1682
|
status: {},
|
|
@@ -1713,13 +1691,13 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1713
1691
|
"data-testid": "save-status-error",
|
|
1714
1692
|
class: "tpl-tooltip tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]",
|
|
1715
1693
|
"data-tooltip": t.errorMessage
|
|
1716
|
-
}, [v(m(
|
|
1694
|
+
}, [v(m(St), {
|
|
1717
1695
|
size: 12,
|
|
1718
1696
|
"stroke-width": 2.5
|
|
1719
|
-
}), y(" " + x(m(n).header.saveFailed), 1)], 8, Rr)) : t.status === "saved" ? (e(), _("div", zr, [v(m(
|
|
1697
|
+
}), y(" " + x(m(n).header.saveFailed), 1)], 8, Rr)) : t.status === "saved" ? (e(), _("div", zr, [v(m(bt), {
|
|
1720
1698
|
size: 12,
|
|
1721
1699
|
"stroke-width": 2.5
|
|
1722
|
-
}), y(" " + x(m(n).header.saved), 1)])) : t.isDirty ? (e(), _("div", Br, [i[0] ||= g("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), y(" " + x(m(n).header.unsaved), 1)])) :
|
|
1700
|
+
}), y(" " + x(m(n).header.saved), 1)])) : t.isDirty ? (e(), _("div", Br, [i[0] ||= g("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), y(" " + x(m(n).header.unsaved), 1)])) : k("", !0);
|
|
1723
1701
|
}
|
|
1724
1702
|
}), Hr = { 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)]" }, Ur = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-2.5" }, Wr = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, Gr = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, Kr = ["aria-label", "aria-expanded"], qr = {
|
|
1725
1703
|
key: 0,
|
|
@@ -1728,7 +1706,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1728
1706
|
"aria-label",
|
|
1729
1707
|
"title",
|
|
1730
1708
|
"disabled"
|
|
1731
|
-
], Yr = ["disabled", "title"], Xr = /* @__PURE__ */
|
|
1709
|
+
], Yr = ["disabled", "title"], Xr = /* @__PURE__ */ A({
|
|
1732
1710
|
__name: "EditorHeader",
|
|
1733
1711
|
props: {
|
|
1734
1712
|
editor: {},
|
|
@@ -1740,7 +1718,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1740
1718
|
comments: {}
|
|
1741
1719
|
},
|
|
1742
1720
|
setup(n) {
|
|
1743
|
-
let r = p(() => import("./VersionHistoryMenu-
|
|
1721
|
+
let r = p(() => import("./VersionHistoryMenu-D42tGKM6.js"));
|
|
1744
1722
|
return (i, a) => (e(), _("header", Hr, [
|
|
1745
1723
|
g("div", Ur, [
|
|
1746
1724
|
n.templates?.isAvailable.value && n.templates.hasTemplate.value && (n.showTemplateName || n.templates.timestamp.value) ? (e(), _("div", {
|
|
@@ -1755,11 +1733,11 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1755
1733
|
"name",
|
|
1756
1734
|
"editable",
|
|
1757
1735
|
"onCommit"
|
|
1758
|
-
])) :
|
|
1736
|
+
])) : k("", !0), n.templates.timestamp.value ? (e(), w(Lr, {
|
|
1759
1737
|
key: 1,
|
|
1760
1738
|
iso: n.templates.timestamp.value.iso,
|
|
1761
1739
|
kind: n.templates.timestamp.value.kind
|
|
1762
|
-
}, null, 8, ["iso", "kind"])) :
|
|
1740
|
+
}, null, 8, ["iso", "kind"])) : k("", !0)], 2)) : k("", !0),
|
|
1763
1741
|
n.versionHistory?.isAvailable.value && n.versionHistory.hasTemplate.value ? (e(), w(m(r), {
|
|
1764
1742
|
key: 1,
|
|
1765
1743
|
versions: n.versionHistory.versions.value,
|
|
@@ -1773,11 +1751,11 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1773
1751
|
"is-loading",
|
|
1774
1752
|
"is-restoring",
|
|
1775
1753
|
"previewing-id"
|
|
1776
|
-
])) :
|
|
1754
|
+
])) : k("", !0),
|
|
1777
1755
|
s(i.$slots, "left-extras")
|
|
1778
1756
|
]),
|
|
1779
1757
|
g("div", Wr, [
|
|
1780
|
-
v(
|
|
1758
|
+
v(Ft, {
|
|
1781
1759
|
viewport: n.editor.state.viewport,
|
|
1782
1760
|
onChange: n.editor.setViewport
|
|
1783
1761
|
}, null, 8, ["viewport", "onChange"]),
|
|
@@ -1800,27 +1778,27 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1800
1778
|
"status",
|
|
1801
1779
|
"error-message",
|
|
1802
1780
|
"is-dirty"
|
|
1803
|
-
])) :
|
|
1781
|
+
])) : k("", !0),
|
|
1804
1782
|
n.comments?.isAvailable.value && n.comments.hasTemplate.value ? (e(), _("button", {
|
|
1805
1783
|
key: 1,
|
|
1806
1784
|
type: "button",
|
|
1807
1785
|
"data-testid": "comments-trigger",
|
|
1808
1786
|
"aria-label": n.comments.unresolvedCount.value > 0 ? `${n.core.t.comments.button} (${n.comments.unresolvedCount.value})` : n.core.t.comments.button,
|
|
1809
1787
|
"aria-expanded": n.comments.isOpen.value,
|
|
1810
|
-
class: C(m(
|
|
1788
|
+
class: C(m(Vt)),
|
|
1811
1789
|
style: t(n.comments.isOpen.value ? {
|
|
1812
1790
|
backgroundColor: "var(--tpl-primary-light)",
|
|
1813
1791
|
borderColor: "var(--tpl-primary-light)"
|
|
1814
1792
|
} : void 0),
|
|
1815
1793
|
onClick: a[2] ||= (e) => n.comments.toggle()
|
|
1816
1794
|
}, [
|
|
1817
|
-
v(m(
|
|
1795
|
+
v(m(kt), {
|
|
1818
1796
|
size: 16,
|
|
1819
1797
|
"stroke-width": 2
|
|
1820
1798
|
}),
|
|
1821
1799
|
y(" " + x(n.core.t.comments.button) + " ", 1),
|
|
1822
|
-
n.comments.unresolvedCount.value > 0 && !n.comments.isOpen.value ? (e(), _("span", qr, x(n.comments.unresolvedCount.value), 1)) :
|
|
1823
|
-
], 14, Kr)) :
|
|
1800
|
+
n.comments.unresolvedCount.value > 0 && !n.comments.isOpen.value ? (e(), _("span", qr, x(n.comments.unresolvedCount.value), 1)) : k("", !0)
|
|
1801
|
+
], 14, Kr)) : k("", !0),
|
|
1824
1802
|
s(i.$slots, "right-extras"),
|
|
1825
1803
|
n.testEmail?.isAvailable.value ? (e(), _("button", {
|
|
1826
1804
|
key: 2,
|
|
@@ -1829,37 +1807,37 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1829
1807
|
"aria-label": n.core.t.testEmail.title,
|
|
1830
1808
|
title: n.core.t.testEmail.title,
|
|
1831
1809
|
disabled: n.testEmail.isSending.value,
|
|
1832
|
-
class: C(m(
|
|
1810
|
+
class: C(m(Vt)),
|
|
1833
1811
|
onClick: a[3] ||= (e) => n.testEmail.open()
|
|
1834
|
-
}, [n.testEmail.isSending.value ? (e(), w(m(
|
|
1812
|
+
}, [n.testEmail.isSending.value ? (e(), w(m(Ot), {
|
|
1835
1813
|
key: 1,
|
|
1836
1814
|
class: "tpl-spinner",
|
|
1837
1815
|
size: 16,
|
|
1838
1816
|
"stroke-width": 2
|
|
1839
|
-
})) : (e(), w(m(
|
|
1817
|
+
})) : (e(), w(m(Nt), {
|
|
1840
1818
|
key: 0,
|
|
1841
1819
|
size: 16,
|
|
1842
1820
|
"stroke-width": 2
|
|
1843
|
-
})), y(" " + x(n.core.t.testEmail.button), 1)], 10, Jr)) :
|
|
1821
|
+
})), y(" " + x(n.core.t.testEmail.button), 1)], 10, Jr)) : k("", !0),
|
|
1844
1822
|
n.templates?.isAvailable.value && n.templates.canSave.value ? (e(), _("button", {
|
|
1845
1823
|
key: 3,
|
|
1846
1824
|
type: "button",
|
|
1847
1825
|
"data-testid": "template-save",
|
|
1848
|
-
class: C(n.editor.state.isDirty && n.templates.hasTemplate.value ? m(
|
|
1826
|
+
class: C(n.editor.state.isDirty && n.templates.hasTemplate.value ? m(Ut) : m(Vt)),
|
|
1849
1827
|
style: t(n.editor.state.isDirty && n.templates.hasTemplate.value ? { boxShadow: "var(--tpl-shadow-sm)" } : void 0),
|
|
1850
1828
|
disabled: n.templates.isSaving.value || !n.templates.hasTemplate.value,
|
|
1851
1829
|
title: n.templates.hasTemplate.value ? n.core.t.header.save : n.core.t.header.saveNoTemplate,
|
|
1852
1830
|
onClick: a[4] ||= (e) => n.templates.requestSave()
|
|
1853
|
-
}, [n.templates.isSaving.value ? (e(), w(m(
|
|
1831
|
+
}, [n.templates.isSaving.value ? (e(), w(m(Ot), {
|
|
1854
1832
|
key: 1,
|
|
1855
1833
|
class: "tpl-spinner",
|
|
1856
1834
|
size: 16,
|
|
1857
1835
|
"stroke-width": 2
|
|
1858
|
-
})) : (e(), w(m(
|
|
1836
|
+
})) : (e(), w(m(an), {
|
|
1859
1837
|
key: 0,
|
|
1860
1838
|
size: 16,
|
|
1861
1839
|
"stroke-width": 2
|
|
1862
|
-
})), y(" " + x(n.templates.isSaving.value ? n.core.t.header.saving : n.core.t.header.save), 1)], 14, Yr)) :
|
|
1840
|
+
})), y(" " + x(n.templates.isSaving.value ? n.core.t.header.saving : n.core.t.header.save), 1)], 14, Yr)) : k("", !0)
|
|
1863
1841
|
])
|
|
1864
1842
|
]));
|
|
1865
1843
|
}
|
|
@@ -1902,14 +1880,14 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1902
1880
|
key: 1,
|
|
1903
1881
|
"data-testid": "merge-tag-picker-sample",
|
|
1904
1882
|
class: "tpl:line-clamp-1 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
|
|
1905
|
-
}, $ = "tpl-merge-tag-picker-list", hi = /* @__PURE__ */
|
|
1883
|
+
}, $ = "tpl-merge-tag-picker-list", hi = /* @__PURE__ */ A({
|
|
1906
1884
|
__name: "MergeTagPickerModal",
|
|
1907
1885
|
setup(i) {
|
|
1908
|
-
let a =
|
|
1886
|
+
let a = Ye(Xe, "MergeTagPickerModal"), { t: s, format: c } = Z(), p = u(Qe, null), h = u(st, null), y = u(tt, !0), b = O(() => a.current.value !== null), S = O(() => b.value ? s.mergeTag.picker.changeTitle : s.mergeTag.picker.title);
|
|
1909
1887
|
function T(e) {
|
|
1910
1888
|
return y ? e.description ? `${e.value} — ${e.description}` : e.value : e.description || void 0;
|
|
1911
1889
|
}
|
|
1912
|
-
let
|
|
1890
|
+
let E = f(""), A = _e(E, 200), N = f(null), P = O(() => A.value.trim().length > 0), I = f(0), L = O(() => a.tags.value.some((e) => !!e.group)), R = f(/* @__PURE__ */ new Set());
|
|
1913
1891
|
function z(e) {
|
|
1914
1892
|
return R.value.has(e);
|
|
1915
1893
|
}
|
|
@@ -1917,14 +1895,14 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1917
1895
|
let t = new Set(R.value);
|
|
1918
1896
|
t.has(e) ? t.delete(e) : t.add(e), R.value = t, I.value = 0;
|
|
1919
1897
|
}
|
|
1920
|
-
let V =
|
|
1921
|
-
let e =
|
|
1898
|
+
let V = O(() => {
|
|
1899
|
+
let e = A.value.trim().toLowerCase();
|
|
1922
1900
|
return e ? a.tags.value.filter((t) => [
|
|
1923
1901
|
t.label,
|
|
1924
1902
|
t.value,
|
|
1925
1903
|
t.description ?? ""
|
|
1926
1904
|
].join(" ").toLowerCase().includes(e)) : a.tags.value;
|
|
1927
|
-
}),
|
|
1905
|
+
}), H = O(() => {
|
|
1928
1906
|
if (!L.value) return [];
|
|
1929
1907
|
let e = s.mergeTag.picker.otherGroup, t = /* @__PURE__ */ new Set(), n = [];
|
|
1930
1908
|
for (let r of a.tags.value) {
|
|
@@ -1932,9 +1910,9 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1932
1910
|
t.has(i) || (t.add(i), n.push(i));
|
|
1933
1911
|
}
|
|
1934
1912
|
return n;
|
|
1935
|
-
}),
|
|
1913
|
+
}), U = O(() => {
|
|
1936
1914
|
let e = V.value;
|
|
1937
|
-
if (!L.value ||
|
|
1915
|
+
if (!L.value || P.value) return e.map((e, t) => ({
|
|
1938
1916
|
kind: "tag",
|
|
1939
1917
|
tag: e,
|
|
1940
1918
|
index: t
|
|
@@ -1958,27 +1936,27 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1958
1936
|
}), a++;
|
|
1959
1937
|
}
|
|
1960
1938
|
return i;
|
|
1961
|
-
}),
|
|
1962
|
-
function
|
|
1939
|
+
}), W = O(() => U.value.flatMap((e) => e.kind === "tag" ? [e.tag] : [])), G = !1;
|
|
1940
|
+
function K(e) {
|
|
1963
1941
|
let t = a.current.value;
|
|
1964
1942
|
if (!t) return !1;
|
|
1965
1943
|
let n = e.findIndex((e) => e.value === t.value);
|
|
1966
1944
|
return n !== -1 && (I.value = n, !0);
|
|
1967
1945
|
}
|
|
1968
|
-
function
|
|
1969
|
-
|
|
1946
|
+
function ee(e) {
|
|
1947
|
+
G = !1, I.value = e;
|
|
1970
1948
|
}
|
|
1971
1949
|
l(() => a.isOpen.value, (e) => {
|
|
1972
1950
|
if (!e) {
|
|
1973
|
-
|
|
1951
|
+
G = !1;
|
|
1974
1952
|
return;
|
|
1975
1953
|
}
|
|
1976
|
-
|
|
1954
|
+
E.value = "", I.value = 0, R.value = /* @__PURE__ */ new Set(), G = !K(W.value), r(() => {
|
|
1977
1955
|
N.value?.focus();
|
|
1978
1956
|
});
|
|
1979
|
-
}), l(
|
|
1980
|
-
if (
|
|
1981
|
-
|
|
1957
|
+
}), l(W, (e) => {
|
|
1958
|
+
if (G && K(e)) {
|
|
1959
|
+
G = !1;
|
|
1982
1960
|
return;
|
|
1983
1961
|
}
|
|
1984
1962
|
I.value >= e.length && (I.value = Math.max(0, e.length - 1));
|
|
@@ -1986,14 +1964,14 @@ var Yn = ["aria-label"], Xn = {
|
|
|
1986
1964
|
function q(e) {
|
|
1987
1965
|
a.resolve(e);
|
|
1988
1966
|
}
|
|
1989
|
-
function
|
|
1967
|
+
function J() {
|
|
1990
1968
|
a.resolve(null);
|
|
1991
1969
|
}
|
|
1992
|
-
function
|
|
1993
|
-
if (
|
|
1994
|
-
|
|
1970
|
+
function te(e) {
|
|
1971
|
+
if (W.value.length === 0) return;
|
|
1972
|
+
G = !1;
|
|
1995
1973
|
let t = I.value + e;
|
|
1996
|
-
I.value = Math.max(0, Math.min(
|
|
1974
|
+
I.value = Math.max(0, Math.min(W.value.length - 1, t)), re();
|
|
1997
1975
|
}
|
|
1998
1976
|
let Y = f(null), X = f({});
|
|
1999
1977
|
function ne(e, t) {
|
|
@@ -2028,24 +2006,24 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2028
2006
|
});
|
|
2029
2007
|
}
|
|
2030
2008
|
function ae(e) {
|
|
2031
|
-
if (e.key === "ArrowDown") e.preventDefault(),
|
|
2032
|
-
else if (e.key === "ArrowUp") e.preventDefault(),
|
|
2009
|
+
if (e.key === "ArrowDown") e.preventDefault(), te(1);
|
|
2010
|
+
else if (e.key === "ArrowUp") e.preventDefault(), te(-1);
|
|
2033
2011
|
else if (e.key === "Enter") {
|
|
2034
2012
|
e.preventDefault();
|
|
2035
|
-
let t =
|
|
2013
|
+
let t = W.value[I.value];
|
|
2036
2014
|
t && q(t);
|
|
2037
2015
|
}
|
|
2038
2016
|
}
|
|
2039
2017
|
function oe() {
|
|
2040
|
-
if (
|
|
2018
|
+
if (W.value.length !== 0) return `${$}-opt-${I.value}`;
|
|
2041
2019
|
}
|
|
2042
2020
|
function se(e) {
|
|
2043
2021
|
return `${$}-opt-${e}`;
|
|
2044
2022
|
}
|
|
2045
|
-
let ce =
|
|
2046
|
-
return (r, i) => (e(), w(
|
|
2023
|
+
let ce = O(() => a.tags.value.length === 0), le = O(() => !ce.value && V.value.length === 0), ue = O(() => L.value && H.value.length > 1 && !P.value);
|
|
2024
|
+
return (r, i) => (e(), w(Xt, {
|
|
2047
2025
|
visible: m(a).isOpen.value,
|
|
2048
|
-
onClose:
|
|
2026
|
+
onClose: J,
|
|
2049
2027
|
onKeydown: ae
|
|
2050
2028
|
}, {
|
|
2051
2029
|
default: n(() => [g("div", {
|
|
@@ -2065,12 +2043,12 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2065
2043
|
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)]",
|
|
2066
2044
|
"aria-label": m(s).mergeTag.picker.close,
|
|
2067
2045
|
"data-testid": "merge-tag-picker-close",
|
|
2068
|
-
onClick:
|
|
2069
|
-
}, [v(m(
|
|
2046
|
+
onClick: J
|
|
2047
|
+
}, [v(m(Lt), {
|
|
2070
2048
|
size: 16,
|
|
2071
2049
|
"stroke-width": 2
|
|
2072
2050
|
})], 8, ei)]),
|
|
2073
|
-
g("div", ti, [v(m(
|
|
2051
|
+
g("div", ti, [v(m(Mt), {
|
|
2074
2052
|
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)]",
|
|
2075
2053
|
size: 14,
|
|
2076
2054
|
"stroke-width": 2
|
|
@@ -2078,7 +2056,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2078
2056
|
id: `${$}-search`,
|
|
2079
2057
|
ref_key: "searchInputRef",
|
|
2080
2058
|
ref: N,
|
|
2081
|
-
"onUpdate:modelValue": i[0] ||= (e) =>
|
|
2059
|
+
"onUpdate:modelValue": i[0] ||= (e) => E.value = e,
|
|
2082
2060
|
type: "text",
|
|
2083
2061
|
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)] tpl:focus:shadow-[var(--tpl-ring)]",
|
|
2084
2062
|
placeholder: m(s).mergeTag.picker.searchPlaceholder,
|
|
@@ -2086,16 +2064,16 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2086
2064
|
"aria-controls": $,
|
|
2087
2065
|
"aria-activedescendant": oe(),
|
|
2088
2066
|
"data-testid": "merge-tag-picker-search",
|
|
2089
|
-
onKeydown: i[1] ||=
|
|
2090
|
-
}, null, 40, ni), [[
|
|
2091
|
-
ue.value ? (e(), _("div", ri, [(e(!0), _(
|
|
2067
|
+
onKeydown: i[1] ||= F(M(() => {}, ["prevent"]), ["enter"])
|
|
2068
|
+
}, null, 40, ni), [[j, E.value]])]),
|
|
2069
|
+
ue.value ? (e(), _("div", ri, [(e(!0), _(D, null, o(H.value, (t) => (e(), _("button", {
|
|
2092
2070
|
key: t,
|
|
2093
2071
|
type: "button",
|
|
2094
2072
|
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-[10px] 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)]",
|
|
2095
2073
|
"data-testid": "merge-tag-picker-group-pill",
|
|
2096
2074
|
"data-group-name": t,
|
|
2097
2075
|
onClick: (e) => ie(t)
|
|
2098
|
-
}, x(t), 9, ii))), 128))])) :
|
|
2076
|
+
}, x(t), 9, ii))), 128))])) : k("", !0),
|
|
2099
2077
|
g("div", {
|
|
2100
2078
|
id: $,
|
|
2101
2079
|
ref_key: "listRef",
|
|
@@ -2104,7 +2082,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2104
2082
|
role: "listbox",
|
|
2105
2083
|
"aria-label": S.value,
|
|
2106
2084
|
"data-testid": "merge-tag-picker-list"
|
|
2107
|
-
}, [ce.value ? (e(), _("div", oi, x(m(s).mergeTag.picker.empty), 1)) : le.value ? (e(), _("div", si, x(m(s).mergeTag.picker.noResults), 1)) : (e(!0), _(
|
|
2085
|
+
}, [ce.value ? (e(), _("div", oi, x(m(s).mergeTag.picker.empty), 1)) : le.value ? (e(), _("div", si, x(m(s).mergeTag.picker.noResults), 1)) : (e(!0), _(D, { key: 2 }, o(U.value, (t, n) => (e(), _(D, { key: n }, [t.kind === "header" ? (e(), _("button", {
|
|
2108
2086
|
key: 0,
|
|
2109
2087
|
ref_for: !0,
|
|
2110
2088
|
ref: (e) => ne(t.group, e),
|
|
@@ -2117,7 +2095,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2117
2095
|
"data-group-collapsed": z(t.group) ? "true" : "false",
|
|
2118
2096
|
onClick: (e) => B(t.group)
|
|
2119
2097
|
}, [
|
|
2120
|
-
v(m(
|
|
2098
|
+
v(m(xt), {
|
|
2121
2099
|
size: 12,
|
|
2122
2100
|
"stroke-width": 2,
|
|
2123
2101
|
class: C(["tpl:transition-transform", z(t.group) ? "tpl:-rotate-90" : ""])
|
|
@@ -2137,26 +2115,26 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2137
2115
|
title: T(t.tag),
|
|
2138
2116
|
class: C(["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", t.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)]"]),
|
|
2139
2117
|
"data-testid": "merge-tag-picker-item",
|
|
2140
|
-
onMousemove: (e) =>
|
|
2118
|
+
onMousemove: (e) => ee(t.index),
|
|
2141
2119
|
onClick: (e) => q(t.tag)
|
|
2142
2120
|
}, [
|
|
2143
2121
|
g("span", di, x(t.tag.label), 1),
|
|
2144
2122
|
g("span", fi, x(t.tag.value), 1),
|
|
2145
|
-
t.tag.description ? (e(), _("span", pi, x(t.tag.description), 1)) :
|
|
2146
|
-
t.tag.sample === void 0 ?
|
|
2123
|
+
t.tag.description ? (e(), _("span", pi, x(t.tag.description), 1)) : k("", !0),
|
|
2124
|
+
t.tag.sample === void 0 ? k("", !0) : (e(), _("span", mi, x(m(c)(m(s).mergeTag.picker.sample, { sample: t.tag.sample })), 1))
|
|
2147
2125
|
], 42, ui))], 64))), 128))], 8, ai)
|
|
2148
2126
|
], 12, Zr)]),
|
|
2149
2127
|
_: 1
|
|
2150
2128
|
}, 8, ["visible"]));
|
|
2151
2129
|
}
|
|
2152
|
-
}), gi = ["data-logic-keyword"], _i = /* @__PURE__ */
|
|
2130
|
+
}), gi = ["data-logic-keyword"], _i = /* @__PURE__ */ A({
|
|
2153
2131
|
__name: "LogicTagBadge",
|
|
2154
2132
|
props: {
|
|
2155
2133
|
value: {},
|
|
2156
2134
|
syntax: {}
|
|
2157
2135
|
},
|
|
2158
2136
|
setup(t) {
|
|
2159
|
-
let n = t, r =
|
|
2137
|
+
let n = t, r = O(() => B(n.value, n.syntax)), i = O(() => z(n.value, n.syntax));
|
|
2160
2138
|
return (t, n) => r.value ? (e(), _("span", {
|
|
2161
2139
|
key: 0,
|
|
2162
2140
|
class: "tpl:inline-flex tpl:flex-shrink-0 tpl:items-center tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:leading-none tpl:font-bold tpl:tracking-wide tpl:uppercase",
|
|
@@ -2166,7 +2144,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2166
2144
|
},
|
|
2167
2145
|
"data-testid": "merge-tag-logic-badge",
|
|
2168
2146
|
"data-logic-keyword": i.value
|
|
2169
|
-
}, x(i.value), 9, gi)) :
|
|
2147
|
+
}, x(i.value), 9, gi)) : k("", !0);
|
|
2170
2148
|
}
|
|
2171
2149
|
}), vi = ["aria-labelledby", "data-tpl-theme"], yi = { 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" }, bi = ["id"], xi = ["aria-label"], Si = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Ci = [
|
|
2172
2150
|
"id",
|
|
@@ -2198,24 +2176,24 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2198
2176
|
}, Ni = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, Pi = {
|
|
2199
2177
|
key: 0,
|
|
2200
2178
|
class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
|
|
2201
|
-
}, Fi = "tpl-logic-picker-list", Ii = /* @__PURE__ */
|
|
2179
|
+
}, Fi = "tpl-logic-picker-list", Ii = /* @__PURE__ */ A({
|
|
2202
2180
|
__name: "LogicTagPickerModal",
|
|
2203
2181
|
setup(i) {
|
|
2204
|
-
let a =
|
|
2205
|
-
function
|
|
2182
|
+
let a = Ye(Ze, "LogicTagPickerModal"), { t: s } = Z(), c = u(nt, ee.liquid), p = u(Qe, null), h = u(st, null), y = f(""), b = _e(y, 200), S = f(null), T = O(() => b.value.trim().length > 0), E = f(0);
|
|
2183
|
+
function A(e) {
|
|
2206
2184
|
let t = b.value.trim().toLowerCase();
|
|
2207
2185
|
return !t || e.filter(Boolean).join(" ").toLowerCase().includes(t);
|
|
2208
2186
|
}
|
|
2209
|
-
let N =
|
|
2187
|
+
let N = O(() => a.tags.value.filter((e) => A([
|
|
2210
2188
|
e.label,
|
|
2211
2189
|
e.value,
|
|
2212
2190
|
e.description
|
|
2213
|
-
]))),
|
|
2191
|
+
]))), P = O(() => a.pairs.value.filter((e) => A([
|
|
2214
2192
|
e.label,
|
|
2215
2193
|
e.before,
|
|
2216
2194
|
e.after,
|
|
2217
2195
|
e.description
|
|
2218
|
-
]))), I =
|
|
2196
|
+
]))), I = O(() => [...P.value.map((e) => ({
|
|
2219
2197
|
kind: "pair",
|
|
2220
2198
|
pair: e,
|
|
2221
2199
|
group: e.group
|
|
@@ -2223,7 +2201,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2223
2201
|
kind: "tag",
|
|
2224
2202
|
tag: e,
|
|
2225
2203
|
group: e.group
|
|
2226
|
-
}))]), L =
|
|
2204
|
+
}))]), L = O(() => a.tags.value.some((e) => !!e.group) || a.pairs.value.some((e) => !!e.group));
|
|
2227
2205
|
function R(e) {
|
|
2228
2206
|
let t = s.logicTag.picker.otherGroup, n = /* @__PURE__ */ new Map(), r = [];
|
|
2229
2207
|
for (let i of e) {
|
|
@@ -2232,7 +2210,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2232
2210
|
}
|
|
2233
2211
|
return r.map((e) => [e, n.get(e)]);
|
|
2234
2212
|
}
|
|
2235
|
-
let z =
|
|
2213
|
+
let z = O(() => {
|
|
2236
2214
|
let e = [], t = [], n = 0, r = (r) => {
|
|
2237
2215
|
r.kind === "tag" ? (e.push({
|
|
2238
2216
|
kind: "tag",
|
|
@@ -2256,22 +2234,22 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2256
2234
|
rows: e,
|
|
2257
2235
|
items: t
|
|
2258
2236
|
};
|
|
2259
|
-
}), B =
|
|
2237
|
+
}), B = O(() => z.value.items), V = O(() => a.tags.value.length === 0 && a.pairs.value.length === 0), H = O(() => !V.value && B.value.length === 0);
|
|
2260
2238
|
l(() => a.isOpen.value, (e) => {
|
|
2261
|
-
e && (y.value = "",
|
|
2239
|
+
e && (y.value = "", E.value = 0, r(() => S.value?.focus()));
|
|
2262
2240
|
}), l(B, (e) => {
|
|
2263
|
-
|
|
2241
|
+
E.value >= e.length && (E.value = Math.max(0, e.length - 1));
|
|
2264
2242
|
});
|
|
2265
|
-
let
|
|
2266
|
-
function
|
|
2243
|
+
let U = f(null);
|
|
2244
|
+
function W(e) {
|
|
2267
2245
|
a.resolve(e);
|
|
2268
2246
|
}
|
|
2269
|
-
function
|
|
2247
|
+
function G() {
|
|
2270
2248
|
a.resolve(null);
|
|
2271
2249
|
}
|
|
2272
2250
|
function K(e) {
|
|
2273
|
-
B.value.length !== 0 && (
|
|
2274
|
-
|
|
2251
|
+
B.value.length !== 0 && (E.value = Math.max(0, Math.min(B.value.length - 1, E.value + e)), r(() => {
|
|
2252
|
+
U.value?.querySelector(`[data-logic-index="${E.value}"]`)?.scrollIntoView({ block: "nearest" });
|
|
2275
2253
|
}));
|
|
2276
2254
|
}
|
|
2277
2255
|
function q(e) {
|
|
@@ -2279,19 +2257,19 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2279
2257
|
else if (e.key === "ArrowUp") e.preventDefault(), K(-1);
|
|
2280
2258
|
else if (e.key === "Enter") {
|
|
2281
2259
|
e.preventDefault();
|
|
2282
|
-
let t = B.value[
|
|
2283
|
-
t &&
|
|
2260
|
+
let t = B.value[E.value];
|
|
2261
|
+
t && W(t);
|
|
2284
2262
|
}
|
|
2285
2263
|
}
|
|
2286
|
-
function
|
|
2264
|
+
function J(e) {
|
|
2287
2265
|
return `${Fi}-opt-${e}`;
|
|
2288
2266
|
}
|
|
2289
|
-
function
|
|
2290
|
-
return B.value.length === 0 ? void 0 : `${Fi}-opt-${
|
|
2267
|
+
function te() {
|
|
2268
|
+
return B.value.length === 0 ? void 0 : `${Fi}-opt-${E.value}`;
|
|
2291
2269
|
}
|
|
2292
|
-
return (r, i) => (e(), w(
|
|
2270
|
+
return (r, i) => (e(), w(Xt, {
|
|
2293
2271
|
visible: m(a).isOpen.value,
|
|
2294
|
-
onClose:
|
|
2272
|
+
onClose: G,
|
|
2295
2273
|
onKeydown: q
|
|
2296
2274
|
}, {
|
|
2297
2275
|
default: n(() => [g("div", {
|
|
@@ -2311,12 +2289,12 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2311
2289
|
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)]",
|
|
2312
2290
|
"aria-label": m(s).logicTag.picker.close,
|
|
2313
2291
|
"data-testid": "logic-picker-close",
|
|
2314
|
-
onClick:
|
|
2315
|
-
}, [v(m(
|
|
2292
|
+
onClick: G
|
|
2293
|
+
}, [v(m(Lt), {
|
|
2316
2294
|
size: 16,
|
|
2317
2295
|
"stroke-width": 2
|
|
2318
2296
|
})], 8, xi)]),
|
|
2319
|
-
g("div", Si, [v(m(
|
|
2297
|
+
g("div", Si, [v(m(Mt), {
|
|
2320
2298
|
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)]",
|
|
2321
2299
|
size: 14,
|
|
2322
2300
|
"stroke-width": 2
|
|
@@ -2330,36 +2308,36 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2330
2308
|
placeholder: m(s).logicTag.picker.searchPlaceholder,
|
|
2331
2309
|
"aria-label": m(s).logicTag.picker.searchAriaLabel,
|
|
2332
2310
|
"aria-controls": Fi,
|
|
2333
|
-
"aria-activedescendant":
|
|
2311
|
+
"aria-activedescendant": te(),
|
|
2334
2312
|
"data-testid": "logic-picker-search",
|
|
2335
|
-
onKeydown: i[1] ||=
|
|
2336
|
-
}, null, 40, Ci), [[
|
|
2313
|
+
onKeydown: i[1] ||= F(M(() => {}, ["prevent"]), ["enter"])
|
|
2314
|
+
}, null, 40, Ci), [[j, y.value]])]),
|
|
2337
2315
|
g("div", {
|
|
2338
2316
|
id: Fi,
|
|
2339
2317
|
ref_key: "listRef",
|
|
2340
|
-
ref:
|
|
2318
|
+
ref: U,
|
|
2341
2319
|
class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
|
|
2342
2320
|
role: "listbox",
|
|
2343
2321
|
"aria-label": m(s).logicTag.picker.title,
|
|
2344
2322
|
"data-testid": "logic-picker-list"
|
|
2345
|
-
}, [V.value ? (e(), _("div", Ti, x(m(s).logicTag.picker.empty), 1)) :
|
|
2323
|
+
}, [V.value ? (e(), _("div", Ti, x(m(s).logicTag.picker.empty), 1)) : H.value ? (e(), _("div", Ei, x(m(s).logicTag.picker.noResults), 1)) : (e(!0), _(D, { key: 2 }, o(z.value.rows, (t, n) => (e(), _(D, { key: n }, [t.kind === "header" ? (e(), _("div", {
|
|
2346
2324
|
key: 0,
|
|
2347
2325
|
class: "tpl:px-3 tpl:pt-2.5 tpl:pb-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]",
|
|
2348
2326
|
"data-testid": "logic-picker-header",
|
|
2349
2327
|
"data-group-name": t.label
|
|
2350
2328
|
}, x(t.label), 9, Di)) : (e(), _("button", {
|
|
2351
2329
|
key: 1,
|
|
2352
|
-
id:
|
|
2330
|
+
id: J(t.index),
|
|
2353
2331
|
type: "button",
|
|
2354
2332
|
role: "option",
|
|
2355
|
-
"aria-selected": t.index ===
|
|
2356
|
-
"data-selected": t.index ===
|
|
2333
|
+
"aria-selected": t.index === E.value,
|
|
2334
|
+
"data-selected": t.index === E.value ? "true" : "false",
|
|
2357
2335
|
"data-logic-index": t.index,
|
|
2358
2336
|
"data-logic-kind": t.kind,
|
|
2359
|
-
class: C(["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", t.index ===
|
|
2337
|
+
class: C(["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", t.index === E.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)]"]),
|
|
2360
2338
|
"data-testid": "logic-picker-item",
|
|
2361
|
-
onMousemove: (e) =>
|
|
2362
|
-
onClick: (e) =>
|
|
2339
|
+
onMousemove: (e) => E.value = t.index,
|
|
2340
|
+
onClick: (e) => W(t.kind === "tag" ? t.tag : t.pair)
|
|
2363
2341
|
}, [
|
|
2364
2342
|
g("span", ki, [g("span", Ai, x(t.kind === "tag" ? t.tag.label : t.pair.label), 1), t.kind === "tag" ? (e(), _("span", ji, [v(_i, {
|
|
2365
2343
|
value: t.tag.value,
|
|
@@ -2376,7 +2354,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2376
2354
|
}, null, 8, ["value", "syntax"])
|
|
2377
2355
|
]))]),
|
|
2378
2356
|
g("span", Ni, x(t.kind === "tag" ? t.tag.value : `${t.pair.before} … ${t.pair.after}`), 1),
|
|
2379
|
-
(t.kind === "tag" ? t.tag.description : t.pair.description) ? (e(), _("span", Pi, x(t.kind === "tag" ? t.tag.description : t.pair.description), 1)) :
|
|
2357
|
+
(t.kind === "tag" ? t.tag.description : t.pair.description) ? (e(), _("span", Pi, x(t.kind === "tag" ? t.tag.description : t.pair.description), 1)) : k("", !0)
|
|
2380
2358
|
], 42, Oi))], 64))), 128))], 8, wi)
|
|
2381
2359
|
], 12, vi)]),
|
|
2382
2360
|
_: 1
|
|
@@ -2386,7 +2364,7 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2386
2364
|
key: 0,
|
|
2387
2365
|
"data-testid": "merge-tag-mode-toggle-anchor",
|
|
2388
2366
|
class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:shadow-[var(--tpl-shadow-md)]"
|
|
2389
|
-
}, Hi = { class: "tpl-main tpl:flex tpl:py-8" }, Ui = ["aria-label"], Wi = /*#__PURE__*/
|
|
2367
|
+
}, Hi = { class: "tpl-main tpl:flex tpl:py-8" }, Ui = ["aria-label"], Wi = /*#__PURE__*/ Rt(/* @__PURE__ */ A({
|
|
2390
2368
|
__name: "Editor",
|
|
2391
2369
|
props: {
|
|
2392
2370
|
config: {},
|
|
@@ -2398,38 +2376,38 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2398
2376
|
usesLocalRenderer: { type: Function }
|
|
2399
2377
|
},
|
|
2400
2378
|
setup(r, { expose: i }) {
|
|
2401
|
-
let a = r, o = a.config.templates ?
|
|
2379
|
+
let a = r, o = a.config.templates ? Mn(a.config.templates, a.config.mergeTags) : void 0, s = le({
|
|
2402
2380
|
content: a.config.content,
|
|
2403
2381
|
defaultFontFamily: a.config.fonts?.defaultFont,
|
|
2404
|
-
templateDefaults:
|
|
2382
|
+
templateDefaults: $t(a.config),
|
|
2405
2383
|
templates: o,
|
|
2406
2384
|
onError: a.config.onError,
|
|
2407
2385
|
lockedBlocks: a.cloud?.lockedBlocks
|
|
2408
|
-
}), u = a.cloud ? a.cloud.attach({ editor: s }) : null, h = o ?
|
|
2386
|
+
}), u = a.cloud ? a.cloud.attach({ editor: s }) : null, h = o ? hn({
|
|
2409
2387
|
provider: o,
|
|
2410
2388
|
editor: s,
|
|
2411
2389
|
guardUnsavedChanges: a.config.templates?.unsavedChangesGuard,
|
|
2412
2390
|
getSaveGate: a.cloud ? () => a.cloud.getSaveGate() : void 0
|
|
2413
2391
|
}) : null;
|
|
2414
2392
|
a.config.onDirtyChange && l(() => s.state.isDirty, (e) => a.config.onDirtyChange(e));
|
|
2415
|
-
let b = f(null),
|
|
2393
|
+
let b = f(null), T = a.config.savedBlocks ? pn({
|
|
2416
2394
|
provider: a.config.savedBlocks,
|
|
2417
2395
|
editor: s,
|
|
2418
2396
|
onError: a.config.onError,
|
|
2419
2397
|
isAvailable: a.cloud ? () => a.cloud.isSavedBlocksAvailable() : void 0
|
|
2420
|
-
}) : null,
|
|
2398
|
+
}) : null, D = p(() => import("./SavedBlocksPanels-nTH8NTAT.js")), A = a.config.media || a.config.onRequestMedia ? fn({
|
|
2421
2399
|
provider: a.config.media,
|
|
2422
2400
|
onRequestMedia: a.config.onRequestMedia,
|
|
2423
2401
|
getTemplateId: () => s.state.template?.id,
|
|
2424
2402
|
onError: a.config.onError
|
|
2425
|
-
}) : null,
|
|
2403
|
+
}) : null, j = p(() => import("./MediaPanels-BkcF0r_r.js")), N = a.config.testEmail ? bn({
|
|
2426
2404
|
provider: a.config.testEmail,
|
|
2427
2405
|
getContent: () => s.content.value,
|
|
2428
2406
|
renderMjml: a.renderMjml,
|
|
2429
2407
|
usesLocalRenderer: a.usesLocalRenderer,
|
|
2430
2408
|
onError: a.config.onError,
|
|
2431
2409
|
isAvailable: a.cloud ? () => a.cloud.isTestEmailAvailable() : void 0
|
|
2432
|
-
}) : null,
|
|
2410
|
+
}) : null, F = p(() => import("./TestEmailPanel-Ca9t6KG7.js")), L = a.config.comments ? ln({
|
|
2433
2411
|
provider: a.config.comments,
|
|
2434
2412
|
editor: s,
|
|
2435
2413
|
user: a.config.user,
|
|
@@ -2437,19 +2415,19 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2437
2415
|
onError: a.config.onError,
|
|
2438
2416
|
isAvailable: a.cloud ? () => a.cloud.isCommentsAvailable() : void 0,
|
|
2439
2417
|
isBlockSaved: a.cloud ? (e) => a.cloud.isBlockSaved(e) : void 0
|
|
2440
|
-
}) : null, R = p(() => import("./CommentsPanel-
|
|
2441
|
-
|
|
2442
|
-
let
|
|
2418
|
+
}) : null, R = p(() => import("./CommentsPanel-Bzk6VhJg.js")), z = p(() => import("./CloudPanels-BHPG3d1o.js")), B = p(() => import("./CloudHeaderExtras-DnLaX4ea.js")), V = p(() => import("./VersionHistoryPanels-o0HGvQJX.js")), H = Sn(a.config.templates?.autoSave, !1), U = H && h !== null;
|
|
2419
|
+
H && h !== null && !h.canSave.value && vt.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."), a.config.changeDebounce !== void 0 && h !== null && a.config.templates?.autoSave === void 0 && !a.config.onChange && vt.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.");
|
|
2420
|
+
let W = a.config.onChange || U ? {
|
|
2443
2421
|
onChange: () => {
|
|
2444
|
-
a.config.onChange?.(JSON.parse(JSON.stringify(s.state.content))),
|
|
2422
|
+
a.config.onChange?.(JSON.parse(JSON.stringify(s.state.content))), U && h.requestAutoSave();
|
|
2445
2423
|
},
|
|
2446
2424
|
...a.config.changeDebounce === void 0 ? {} : { debounce: a.config.changeDebounce }
|
|
2447
|
-
} : null,
|
|
2448
|
-
...
|
|
2425
|
+
} : null, G = {
|
|
2426
|
+
...T ? { savedBlocks: T.capability } : {},
|
|
2449
2427
|
...h ? { templates: h.capability } : {},
|
|
2450
|
-
...
|
|
2428
|
+
...N ? { testEmail: N.capability } : {},
|
|
2451
2429
|
...L ? { comments: L.capability } : {}
|
|
2452
|
-
},
|
|
2430
|
+
}, K = Ge({
|
|
2453
2431
|
editor: s,
|
|
2454
2432
|
containerEl: b,
|
|
2455
2433
|
config: {
|
|
@@ -2471,74 +2449,74 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2471
2449
|
canDropMedia: A?.canDrop ?? null,
|
|
2472
2450
|
resolvePreview: a.config.resolvePreview,
|
|
2473
2451
|
resolveImageUrl: a.config.resolveImageUrl,
|
|
2474
|
-
lint:
|
|
2452
|
+
lint: Cn(a.config),
|
|
2475
2453
|
locale: a.config.locale
|
|
2476
2454
|
},
|
|
2477
2455
|
translations: a.translations,
|
|
2478
2456
|
fontsManager: a.fontsManager,
|
|
2479
|
-
autoSaveOptions:
|
|
2480
|
-
capabilities:
|
|
2457
|
+
autoSaveOptions: W,
|
|
2458
|
+
capabilities: G,
|
|
2481
2459
|
editorRoot: a.shadowRoot,
|
|
2482
2460
|
historyOptions: a.cloud ? { isRemoteOperation: () => a.cloud.isRemoteOperation() } : void 0,
|
|
2483
2461
|
keyboardOptions: a.cloud ? { onBeforeUndo: () => a.cloud.onBeforeUndo() } : void 0
|
|
2484
|
-
}),
|
|
2485
|
-
core:
|
|
2486
|
-
capabilities:
|
|
2487
|
-
}) : null, q = a.config.versionHistory ?
|
|
2462
|
+
}), ee = a.cloud && u ? a.cloud.ready({
|
|
2463
|
+
core: K,
|
|
2464
|
+
capabilities: G
|
|
2465
|
+
}) : null, q = a.config.versionHistory ? xn({
|
|
2488
2466
|
provider: a.config.versionHistory,
|
|
2489
|
-
editor:
|
|
2490
|
-
history:
|
|
2491
|
-
conditionPreview:
|
|
2492
|
-
autoSave:
|
|
2467
|
+
editor: jn(s, a.config.mergeTags),
|
|
2468
|
+
history: K.history,
|
|
2469
|
+
conditionPreview: K.conditionPreview,
|
|
2470
|
+
autoSave: K.autoSave,
|
|
2493
2471
|
saveBeforeRestore: h ? {
|
|
2494
2472
|
canSave: () => h.canSave.value && !(a.cloud?.getSaveGate()?.shouldBlock.value ?? !1),
|
|
2495
2473
|
save: () => h.save("restore")
|
|
2496
2474
|
} : null,
|
|
2497
2475
|
onError: a.config.onError
|
|
2498
2476
|
}) : null;
|
|
2499
|
-
q && (
|
|
2500
|
-
let
|
|
2477
|
+
q && (G.versionHistory = q.capability);
|
|
2478
|
+
let J = O(() => L?.isOpen.value === !0 || u?.panelState.rightPanelOpen.value === !0), te = O(() => s.state.previewMode ? "tpl:left-0 tpl:right-0" : J.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]");
|
|
2501
2479
|
function Y(e) {
|
|
2502
2480
|
u && (e === "ai-chat" ? u.panelState.aiChatOpen.value = !0 : u.panelState.designReferenceOpen.value = !0);
|
|
2503
2481
|
}
|
|
2504
|
-
let { showNotice: X } =
|
|
2482
|
+
let { showNotice: X } = Pe(() => a.config.smallScreenNotice);
|
|
2505
2483
|
c(async () => {
|
|
2506
2484
|
await a.fontsManager.loadCustomFonts();
|
|
2507
2485
|
}), S(() => {
|
|
2508
|
-
a.fontsManager.cleanupFontLinks(), a.cloud?.destroy(),
|
|
2486
|
+
a.fontsManager.cleanupFontLinks(), a.cloud?.destroy(), K.destroy();
|
|
2509
2487
|
});
|
|
2510
2488
|
let ne = h ?? s;
|
|
2511
2489
|
return i({
|
|
2512
2490
|
getContent: () => s.content.value,
|
|
2513
2491
|
setContent: (e) => s.setContent(e),
|
|
2514
2492
|
setTheme: (e) => s.setUiTheme(e),
|
|
2515
|
-
setMergeTags:
|
|
2493
|
+
setMergeTags: K.setMergeTags,
|
|
2516
2494
|
isDirty: () => s.state.isDirty,
|
|
2517
2495
|
create: ne.create,
|
|
2518
2496
|
load: ne.load,
|
|
2519
2497
|
save: ne.save,
|
|
2520
|
-
renderCustomBlock:
|
|
2521
|
-
getCustomBlockStylesheet: (e) =>
|
|
2498
|
+
renderCustomBlock: K.registry.renderCustomBlock,
|
|
2499
|
+
getCustomBlockStylesheet: (e) => K.registry.getDefinition(e)?.stylesheet
|
|
2522
2500
|
}), (i, a) => (e(), _("div", {
|
|
2523
2501
|
ref_key: "rootEl",
|
|
2524
2502
|
ref: b,
|
|
2525
2503
|
class: C(["tpl tpl:relative tpl:h-full", { "tpl:dark": m(s).state.darkMode }]),
|
|
2526
|
-
"data-tpl-theme": m(
|
|
2527
|
-
style: t(m(
|
|
2528
|
-
onDragover: a[8] ||=
|
|
2529
|
-
onDrop: a[9] ||=
|
|
2504
|
+
"data-tpl-theme": m(K).resolvedTheme.value,
|
|
2505
|
+
style: t(m(K).themeStyles.value),
|
|
2506
|
+
onDragover: a[8] ||= M(() => {}, ["prevent"]),
|
|
2507
|
+
onDrop: a[9] ||= M(() => {}, ["prevent"])
|
|
2530
2508
|
}, [
|
|
2531
|
-
v(
|
|
2509
|
+
v(qn),
|
|
2532
2510
|
g("div", Ri, [
|
|
2533
2511
|
v(Xr, {
|
|
2534
2512
|
editor: m(s),
|
|
2535
|
-
core: m(
|
|
2513
|
+
core: m(K),
|
|
2536
2514
|
templates: m(h),
|
|
2537
2515
|
"show-template-name": r.config.templates?.nameField !== !1,
|
|
2538
|
-
"test-email": m(
|
|
2516
|
+
"test-email": m(N),
|
|
2539
2517
|
"version-history": m(q),
|
|
2540
2518
|
comments: m(L)
|
|
2541
|
-
},
|
|
2519
|
+
}, E({ _: 2 }, [m(u) ? {
|
|
2542
2520
|
name: "left-extras",
|
|
2543
2521
|
fn: n(() => [v(m(B), {
|
|
2544
2522
|
part: "left",
|
|
@@ -2561,31 +2539,31 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2561
2539
|
"version-history",
|
|
2562
2540
|
"comments"
|
|
2563
2541
|
]),
|
|
2564
|
-
d(v(
|
|
2542
|
+
d(v(ir, null, null, 512), [[P, !m(s).state.previewMode]]),
|
|
2565
2543
|
g("div", {
|
|
2566
|
-
class: C(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto tpl:bg-[var(--tpl-canvas-bg)]", [
|
|
2544
|
+
class: C(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto tpl:bg-[var(--tpl-canvas-bg)]", [te.value, m(q)?.isPreviewing.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
|
|
2567
2545
|
style: { transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)" }
|
|
2568
|
-
}, [g("div", zi, [g("div", Bi, [v(
|
|
2569
|
-
default: n(() => [m(s).state.previewMode && !m(
|
|
2570
|
-
"sample-mode": m(
|
|
2571
|
-
onChange: a[0] ||= (e) => m(
|
|
2572
|
-
}, null, 8, ["sample-mode"])])) :
|
|
2546
|
+
}, [g("div", zi, [g("div", Bi, [v(I, { name: "tpl-preview-pill" }, {
|
|
2547
|
+
default: n(() => [m(s).state.previewMode && !m(K).previewResolution.supersedesSamples.value ? (e(), _("div", Vi, [v(It, {
|
|
2548
|
+
"sample-mode": m(K).mergeTagSampleMode.value,
|
|
2549
|
+
onChange: a[0] ||= (e) => m(K).mergeTagSampleMode.value = e
|
|
2550
|
+
}, null, 8, ["sample-mode"])])) : k("", !0)]),
|
|
2573
2551
|
_: 1
|
|
2574
|
-
}), v(
|
|
2575
|
-
default: n(() => [m(
|
|
2552
|
+
}), v(I, { name: "tpl-preview-pill" }, {
|
|
2553
|
+
default: n(() => [m(K).conditionPreview.hasHiddenBlocks.value && m(K).appliesConditionFilter.value ? (e(), _("button", {
|
|
2576
2554
|
key: 0,
|
|
2577
2555
|
type: "button",
|
|
2578
|
-
class: C([m(
|
|
2556
|
+
class: C([m(Bt), "tpl:shadow-[var(--tpl-shadow-md)]"]),
|
|
2579
2557
|
"data-testid": "restore-hidden-blocks",
|
|
2580
|
-
onClick: a[1] ||= (e) => m(
|
|
2581
|
-
}, [v(m(
|
|
2558
|
+
onClick: a[1] ||= (e) => m(K).conditionPreview.reset()
|
|
2559
|
+
}, [v(m(rn), {
|
|
2582
2560
|
size: 16,
|
|
2583
2561
|
"stroke-width": 2
|
|
2584
|
-
}), y(" " + x(m(
|
|
2562
|
+
}), y(" " + x(m(K).t.blockSettings.restoreHiddenBlocks), 1)], 2)) : k("", !0)]),
|
|
2585
2563
|
_: 1
|
|
2586
|
-
})])]), g("main", Hi, [v(
|
|
2564
|
+
})])]), g("main", Hi, [v(Kn, {
|
|
2587
2565
|
viewport: m(s).state.viewport,
|
|
2588
|
-
content: m(
|
|
2566
|
+
content: m(K).previewResolution.content.value,
|
|
2589
2567
|
"selected-block-id": m(s).state.selectedBlockId,
|
|
2590
2568
|
"dark-mode": m(s).state.darkMode,
|
|
2591
2569
|
"preview-mode": m(s).state.previewMode,
|
|
@@ -2602,86 +2580,86 @@ var Yn = ["aria-label"], Xn = {
|
|
|
2602
2580
|
"locked-blocks",
|
|
2603
2581
|
"onSelectBlock"
|
|
2604
2582
|
])])], 2),
|
|
2605
|
-
r.config.branding === !1 ?
|
|
2583
|
+
r.config.branding === !1 ? k("", !0) : (e(), w(Or, {
|
|
2606
2584
|
key: 0,
|
|
2607
|
-
"position-class": [
|
|
2585
|
+
"position-class": [te.value]
|
|
2608
2586
|
}, null, 8, ["position-class"])),
|
|
2609
2587
|
g("div", {
|
|
2610
2588
|
class: "tpl-sr-only",
|
|
2611
2589
|
role: "status",
|
|
2612
2590
|
"aria-live": "polite",
|
|
2613
2591
|
"aria-atomic": "true",
|
|
2614
|
-
"aria-label": m(
|
|
2615
|
-
}, x(m(
|
|
2616
|
-
d(v(
|
|
2592
|
+
"aria-label": m(K).t.landmarks.reorderAnnouncements
|
|
2593
|
+
}, x(m(K).keyboardReorder.announcement.value), 9, Ui),
|
|
2594
|
+
d(v(xr, {
|
|
2617
2595
|
"selected-block": m(s).selectedBlock.value,
|
|
2618
2596
|
settings: m(s).content.value.settings,
|
|
2619
|
-
"shifted-left":
|
|
2597
|
+
"shifted-left": J.value,
|
|
2620
2598
|
onUpdateBlock: a[4] ||= (e) => m(s).updateBlock(m(s).state.selectedBlockId, e),
|
|
2621
2599
|
onDeleteBlock: a[5] ||= () => {
|
|
2622
|
-
m(s).state.selectedBlockId && m(
|
|
2600
|
+
m(s).state.selectedBlockId && m(K).blockActions.deleteBlock(m(s).state.selectedBlockId);
|
|
2623
2601
|
},
|
|
2624
2602
|
onDuplicateBlock: a[6] ||= () => {
|
|
2625
|
-
m(s).selectedBlock.value && m(
|
|
2603
|
+
m(s).selectedBlock.value && m(K).blockActions.duplicateBlock(m(s).selectedBlock.value);
|
|
2626
2604
|
},
|
|
2627
2605
|
onUpdateSettings: a[7] ||= (e) => m(s).updateSettings(e)
|
|
2628
2606
|
}, null, 8, [
|
|
2629
2607
|
"selected-block",
|
|
2630
2608
|
"settings",
|
|
2631
2609
|
"shifted-left"
|
|
2632
|
-
]), [[
|
|
2610
|
+
]), [[P, !m(s).state.previewMode]])
|
|
2633
2611
|
]),
|
|
2634
2612
|
g("div", {
|
|
2635
|
-
ref: (e) => m(
|
|
2613
|
+
ref: (e) => m(K).popoverRoot.value = e,
|
|
2636
2614
|
class: "tpl-popover-root"
|
|
2637
2615
|
}, null, 512),
|
|
2638
2616
|
v(hi),
|
|
2639
2617
|
v(Ii),
|
|
2640
|
-
m(
|
|
2618
|
+
m(T)?.isAvailable.value ? (e(), w(m(D), {
|
|
2641
2619
|
key: 0,
|
|
2642
|
-
feature: m(
|
|
2643
|
-
}, null, 8, ["feature"])) :
|
|
2644
|
-
r.config.media && m(A) ? (e(), w(m(
|
|
2620
|
+
feature: m(T)
|
|
2621
|
+
}, null, 8, ["feature"])) : k("", !0),
|
|
2622
|
+
r.config.media && m(A) ? (e(), w(m(j), {
|
|
2645
2623
|
key: 1,
|
|
2646
2624
|
feature: m(A),
|
|
2647
2625
|
provider: r.config.media,
|
|
2648
2626
|
locale: r.config.locale,
|
|
2649
|
-
"ui-theme": m(
|
|
2650
|
-
"popover-target": m(
|
|
2627
|
+
"ui-theme": m(K).resolvedTheme.value,
|
|
2628
|
+
"popover-target": m(K).popoverRoot.value
|
|
2651
2629
|
}, null, 8, [
|
|
2652
2630
|
"feature",
|
|
2653
2631
|
"provider",
|
|
2654
2632
|
"locale",
|
|
2655
2633
|
"ui-theme",
|
|
2656
2634
|
"popover-target"
|
|
2657
|
-
])) :
|
|
2658
|
-
m(
|
|
2635
|
+
])) : k("", !0),
|
|
2636
|
+
m(N)?.isAvailable.value ? (e(), w(m(F), {
|
|
2659
2637
|
key: 2,
|
|
2660
|
-
feature: m(
|
|
2661
|
-
}, null, 8, ["feature"])) :
|
|
2638
|
+
feature: m(N)
|
|
2639
|
+
}, null, 8, ["feature"])) : k("", !0),
|
|
2662
2640
|
m(L)?.isAvailable.value ? (e(), w(m(R), {
|
|
2663
2641
|
key: 3,
|
|
2664
2642
|
feature: m(L)
|
|
2665
|
-
}, null, 8, ["feature"])) :
|
|
2643
|
+
}, null, 8, ["feature"])) : k("", !0),
|
|
2666
2644
|
m(q)?.isAvailable.value ? (e(), w(m(V), {
|
|
2667
2645
|
key: 4,
|
|
2668
2646
|
feature: m(q)
|
|
2669
|
-
}, null, 8, ["feature"])) :
|
|
2670
|
-
r.cloud && m(u) && m(
|
|
2647
|
+
}, null, 8, ["feature"])) : k("", !0),
|
|
2648
|
+
r.cloud && m(u) && m(ee) ? (e(), w(m(z), {
|
|
2671
2649
|
key: 5,
|
|
2672
2650
|
editor: m(s),
|
|
2673
|
-
core: m(
|
|
2651
|
+
core: m(K),
|
|
2674
2652
|
runtime: r.cloud,
|
|
2675
2653
|
cloud: m(u),
|
|
2676
|
-
ready: m(
|
|
2654
|
+
ready: m(ee)
|
|
2677
2655
|
}, null, 8, [
|
|
2678
2656
|
"editor",
|
|
2679
2657
|
"core",
|
|
2680
2658
|
"runtime",
|
|
2681
2659
|
"cloud",
|
|
2682
2660
|
"ready"
|
|
2683
|
-
])) :
|
|
2684
|
-
m(X) ? (e(), w(
|
|
2661
|
+
])) : k("", !0),
|
|
2662
|
+
m(X) ? (e(), w(Er, { key: 6 })) : k("", !0)
|
|
2685
2663
|
], 46, Li));
|
|
2686
2664
|
}
|
|
2687
2665
|
}), [["__scopeId", "data-v-7435124d"]]), Gi = /@import\s*(?:url\(\s*(?:"[^"]*"|'[^']*'|[^)]*)\s*\)|"[^"]*"|'[^']*')[^;]*;/g;
|
|
@@ -2697,8 +2675,8 @@ function qi(e) {
|
|
|
2697
2675
|
};
|
|
2698
2676
|
}
|
|
2699
2677
|
async function Ji(e) {
|
|
2700
|
-
let t =
|
|
2701
|
-
return n || (
|
|
2678
|
+
let t = L(e.getContent()), n = e.getLayout?.(), r = n ? ie(n, t) : t;
|
|
2679
|
+
return n || (q(r), J(r)), await Zt(r, { renderCustomBlock: e.renderCustomBlock }), {
|
|
2702
2680
|
content: r,
|
|
2703
2681
|
fonts: e.getFonts()
|
|
2704
2682
|
};
|
|
@@ -2726,7 +2704,7 @@ function Yi(e) {
|
|
|
2726
2704
|
}
|
|
2727
2705
|
//#endregion
|
|
2728
2706
|
//#region \0virtual:editor-css
|
|
2729
|
-
var Xi = "@import\"https://fonts.bunny.net/css?family=geist:400,500,600\";.tpl-loading-track[data-v-e61f3b63]{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-e61f3b63 3s ease-in-out infinite}@keyframes tpl-loading-flow-e61f3b63{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.tpl-loading-track[data-v-e61f3b63]{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}.tpl-canvas--dark-mode[data-v-04a5cab0] .tpl-block-content:not(.tpl-block-content *){filter:invert(1) hue-rotate(180deg)}[data-v-04a5cab0] .tpl-block-content{transition:filter .3s ease}.tpl-canvas--dark-mode[data-v-04a5cab0] .tpl-block-content img{filter:invert(1) hue-rotate(180deg)}.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-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-\\[10px\\]{font-size:10px}.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-words{overflow-wrap:break-word}.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\\: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}.tpl\\:group-focus-within\\:opacity-100:is(:where(.tpl\\:group):focus-within *){opacity:1}@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-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[data-tpl-theme=dark] .tpl-canvas-empty{--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-chrome-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-chrome-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-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-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-7435124d]{transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.tpl-preview-pill-leave-active[data-v-7435124d]{transition:opacity .15s ease-in,transform .15s ease-in}.tpl-preview-pill-enter-from[data-v-7435124d],.tpl-preview-pill-leave-to[data-v-7435124d]{opacity:0;transform:translateY(-8px) scale(.9)}.tpl-preview-pill-enter-to[data-v-7435124d],.tpl-preview-pill-leave-from[data-v-7435124d]{opacity:1;transform:translateY(0) scale(1)}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-color-swatch-transparent{background-color:var(--tpl-bg);background-image:repeating-conic-gradient(var(--tpl-border) 0% 25%,var(--tpl-bg) 0% 50%);background-size:8px 8px}.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}}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-1038bf62]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.16,1,.3,1)}.tpl-collapsible--open[data-v-1038bf62]{grid-template-rows:1fr}.tpl-collapsible>div[data-v-1038bf62]{overflow:hidden}.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}.tpl-media-item[data-v-57c35946]:not(.tpl-media-item--selected):hover{border-color:var(--tpl-border)!important}.tpl-media-list-item[data-v-57c35946]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-list-icon[data-v-57c35946]{transform:scale(.35);transform-origin:center}.tpl-preview-icon[data-v-50993988]{transform:scale(.45);transform-origin:center}.tpl-comments-slide-enter-active[data-v-32af5912]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-comments-slide-leave-active[data-v-32af5912]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-comments-input-wrapper[data-v-32af5912]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-comments-send-btn[data-v-32af5912]:not(:disabled):hover{transform:scale(1.05)}.tpl-comment-filter[data-v-32af5912]{color:var(--tpl-text-muted);background-color:transparent}.tpl-comment-filter[data-v-32af5912]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-filter--active[data-v-32af5912]{background-color:var(--tpl-primary-light);color:var(--tpl-primary)}.tpl-comment-action[data-v-32af5912]{color:var(--tpl-text-dim);background-color:transparent}.tpl-comment-action[data-v-32af5912]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-delete[data-v-32af5912]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-comment-card[data-v-32af5912],.tpl-comment-reply-card[data-v-32af5912]{border-color:var(--tpl-border);background-color:var(--tpl-bg)}.tpl-resolve-enter-active[data-v-32af5912],.tpl-resolve-leave-active[data-v-32af5912]{transition:opacity .3s ease,transform .3s ease}.tpl-resolve-enter-from[data-v-32af5912],.tpl-resolve-leave-to[data-v-32af5912]{opacity:0;transform:translateY(-4px)}.tpl-resolve-icon[data-v-32af5912]{transition:color .3s ease,transform .2s ease}.tpl-resolve-icon[data-v-32af5912]:active{transform:scale(1.3)}.tpl-replies-enter-active[data-v-32af5912],.tpl-replies-leave-active[data-v-32af5912]{transition:opacity .25s ease,transform .25s ease}.tpl-replies-enter-from[data-v-32af5912],.tpl-replies-leave-to[data-v-32af5912]{opacity:0;transform:translateY(-4px)}.tpl-ai-slide-enter-active[data-v-0a3b048c]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-ai-slide-leave-active[data-v-0a3b048c]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-ai-input-wrapper[data-v-0a3b048c]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-ai-send-btn[data-v-0a3b048c]:not(:disabled):hover{transform:scale(1.05)}.tpl-suggestion-btn[data-v-0a3b048c]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-design-slide-enter-active[data-v-a5a76ec5]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-design-slide-leave-active[data-v-a5a76ec5]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-design-prompt-input[data-v-a5a76ec5]:focus{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-design-dropzone[data-v-a5a76ec5]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-scoring-slide-enter-active[data-v-165e948a]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-scoring-slide-leave-active[data-v-165e948a]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-scoring-fix-btn[data-v-165e948a]: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}.vue-advanced-cropper{text-align:center;position:relative;-webkit-user-select:none;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{-webkit-user-select:none;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;-webkit-user-select:none;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;-webkit-user-select:none;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-7d9a1872] .tpl-cropper-background{background-color:var(--tpl-bg)!important}[data-v-7d9a1872] .vue-advanced-cropper{background-color:transparent!important}[data-v-7d9a1872] .vue-advanced-cropper__background{background-color:var(--tpl-bg)!important}[data-v-7d9a1872] .vue-advanced-cropper__foreground{background-color:var(--tpl-overlay)!important}\n/*$vite$:1*/", Zi = null;
|
|
2707
|
+
var Xi = "@import\"https://fonts.bunny.net/css?family=geist:400,500,600\";.tpl-loading-track[data-v-e61f3b63]{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-e61f3b63 3s ease-in-out infinite}@keyframes tpl-loading-flow-e61f3b63{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.tpl-loading-track[data-v-e61f3b63]{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}.tpl-canvas--dark-mode[data-v-04a5cab0] .tpl-block-content:not(.tpl-block-content *){filter:invert(1) hue-rotate(180deg)}[data-v-04a5cab0] .tpl-block-content{transition:filter .3s ease}.tpl-canvas--dark-mode[data-v-04a5cab0] .tpl-block-content img{filter:invert(1) hue-rotate(180deg)}.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-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-\\[10px\\]{font-size:10px}.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-words{overflow-wrap:break-word}.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-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\\: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}.tpl\\:group-focus-within\\:opacity-100:is(:where(.tpl\\:group):focus-within *){opacity:1}@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-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[data-tpl-theme=dark] .tpl-canvas-empty{--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-chrome-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-chrome-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-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-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-7435124d]{transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.tpl-preview-pill-leave-active[data-v-7435124d]{transition:opacity .15s ease-in,transform .15s ease-in}.tpl-preview-pill-enter-from[data-v-7435124d],.tpl-preview-pill-leave-to[data-v-7435124d]{opacity:0;transform:translateY(-8px) scale(.9)}.tpl-preview-pill-enter-to[data-v-7435124d],.tpl-preview-pill-leave-from[data-v-7435124d]{opacity:1;transform:translateY(0) scale(1)}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-color-swatch-transparent{background-color:var(--tpl-bg);background-image:repeating-conic-gradient(var(--tpl-border) 0% 25%,var(--tpl-bg) 0% 50%);background-size:8px 8px}.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}}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-1038bf62]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.16,1,.3,1)}.tpl-collapsible--open[data-v-1038bf62]{grid-template-rows:1fr}.tpl-collapsible>div[data-v-1038bf62]{overflow:hidden}.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}.tpl-media-item[data-v-57c35946]:not(.tpl-media-item--selected):hover{border-color:var(--tpl-border)!important}.tpl-media-list-item[data-v-57c35946]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-list-icon[data-v-57c35946]{transform:scale(.35);transform-origin:center}.tpl-preview-icon[data-v-50993988]{transform:scale(.45);transform-origin:center}.tpl-comments-slide-enter-active[data-v-32af5912]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-comments-slide-leave-active[data-v-32af5912]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-comments-input-wrapper[data-v-32af5912]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-comments-send-btn[data-v-32af5912]:not(:disabled):hover{transform:scale(1.05)}.tpl-comment-filter[data-v-32af5912]{color:var(--tpl-text-muted);background-color:transparent}.tpl-comment-filter[data-v-32af5912]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-filter--active[data-v-32af5912]{background-color:var(--tpl-primary-light);color:var(--tpl-primary)}.tpl-comment-action[data-v-32af5912]{color:var(--tpl-text-dim);background-color:transparent}.tpl-comment-action[data-v-32af5912]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-delete[data-v-32af5912]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-comment-card[data-v-32af5912],.tpl-comment-reply-card[data-v-32af5912]{border-color:var(--tpl-border);background-color:var(--tpl-bg)}.tpl-resolve-enter-active[data-v-32af5912],.tpl-resolve-leave-active[data-v-32af5912]{transition:opacity .3s ease,transform .3s ease}.tpl-resolve-enter-from[data-v-32af5912],.tpl-resolve-leave-to[data-v-32af5912]{opacity:0;transform:translateY(-4px)}.tpl-resolve-icon[data-v-32af5912]{transition:color .3s ease,transform .2s ease}.tpl-resolve-icon[data-v-32af5912]:active{transform:scale(1.3)}.tpl-replies-enter-active[data-v-32af5912],.tpl-replies-leave-active[data-v-32af5912]{transition:opacity .25s ease,transform .25s ease}.tpl-replies-enter-from[data-v-32af5912],.tpl-replies-leave-to[data-v-32af5912]{opacity:0;transform:translateY(-4px)}.tpl-ai-slide-enter-active[data-v-0a3b048c]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-ai-slide-leave-active[data-v-0a3b048c]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-ai-input-wrapper[data-v-0a3b048c]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-ai-send-btn[data-v-0a3b048c]:not(:disabled):hover{transform:scale(1.05)}.tpl-suggestion-btn[data-v-0a3b048c]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-design-slide-enter-active[data-v-a5a76ec5]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-design-slide-leave-active[data-v-a5a76ec5]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-design-prompt-input[data-v-a5a76ec5]:focus{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-design-dropzone[data-v-a5a76ec5]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-scoring-slide-enter-active[data-v-165e948a]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-scoring-slide-leave-active[data-v-165e948a]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-scoring-fix-btn[data-v-165e948a]: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}.vue-advanced-cropper{text-align:center;position:relative;-webkit-user-select:none;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{-webkit-user-select:none;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;-webkit-user-select:none;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;-webkit-user-select:none;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-7d9a1872] .tpl-cropper-background{background-color:var(--tpl-bg)!important}[data-v-7d9a1872] .vue-advanced-cropper{background-color:transparent!important}[data-v-7d9a1872] .vue-advanced-cropper__background{background-color:var(--tpl-bg)!important}[data-v-7d9a1872] .vue-advanced-cropper__foreground{background-color:var(--tpl-overlay)!important}\n/*$vite$:1*/", Zi = null;
|
|
2730
2708
|
function Qi() {
|
|
2731
2709
|
if (Zi === null) {
|
|
2732
2710
|
let e = new CSSStyleSheet();
|
|
@@ -2753,9 +2731,9 @@ function ea(e, t) {
|
|
|
2753
2731
|
};
|
|
2754
2732
|
}
|
|
2755
2733
|
var ta = /* @__PURE__ */ new Map(), na = null;
|
|
2756
|
-
function ra(e) {
|
|
2757
|
-
let
|
|
2758
|
-
|
|
2734
|
+
function ra(e, t) {
|
|
2735
|
+
let n = ta.get(e);
|
|
2736
|
+
n && (t && n.app !== t || (n.cleanup(), n.app.unmount(), ta.delete(e), na === e && (na = null)));
|
|
2759
2737
|
}
|
|
2760
2738
|
async function ia(e) {
|
|
2761
2739
|
return aa(e);
|
|
@@ -2763,12 +2741,12 @@ async function ia(e) {
|
|
|
2763
2741
|
async function aa(e, t) {
|
|
2764
2742
|
let n = typeof e.container == "string" ? document.querySelector(e.container) : e.container;
|
|
2765
2743
|
if (!n) throw Error(`[Templatical] Container element not found: ${e.container}`);
|
|
2766
|
-
e.locale !== void 0 && !
|
|
2767
|
-
let r = await
|
|
2744
|
+
e.locale !== void 0 && !Se(e.locale) && vt.warn(`config.locale: "${e.locale}" has no translations — falling back to English. Supported: ${Ee().sort().join(", ")}.`);
|
|
2745
|
+
let r = await we(e.locale ?? "en"), i = Je(e.fonts);
|
|
2768
2746
|
ra(n);
|
|
2769
2747
|
let a = ea(n, e.shadowDom ?? !0), o = f(null);
|
|
2770
|
-
e.layout && (e.layout =
|
|
2771
|
-
let s =
|
|
2748
|
+
e.layout && (e.layout = An(e.layout, e.mergeTags), X(e.layout)), e.content && (e.content = An(e.content, e.mergeTags), q(e.content), J(e.content));
|
|
2749
|
+
let s = N({ setup() {
|
|
2772
2750
|
return () => h(Wi, {
|
|
2773
2751
|
config: e,
|
|
2774
2752
|
translations: r,
|
|
@@ -2787,10 +2765,10 @@ async function aa(e, t) {
|
|
|
2787
2765
|
}), na = n;
|
|
2788
2766
|
let c = {
|
|
2789
2767
|
getContent() {
|
|
2790
|
-
return o.value ?
|
|
2768
|
+
return o.value ? L(o.value.getContent()) : L(e.content ?? se(e.fonts?.defaultFont, $t(e)));
|
|
2791
2769
|
},
|
|
2792
2770
|
setContent(t) {
|
|
2793
|
-
let n =
|
|
2771
|
+
let n = An(t, e.mergeTags);
|
|
2794
2772
|
o.value && o.value.setContent(n), e.content = n;
|
|
2795
2773
|
},
|
|
2796
2774
|
setTheme(e) {
|
|
@@ -2806,11 +2784,11 @@ async function aa(e, t) {
|
|
|
2806
2784
|
tags: t
|
|
2807
2785
|
};
|
|
2808
2786
|
},
|
|
2809
|
-
unmount: () => ra(n),
|
|
2787
|
+
unmount: () => ra(n, s),
|
|
2810
2788
|
create(t) {
|
|
2811
2789
|
return o.value ? o.value.create(t?.content ? {
|
|
2812
2790
|
...t,
|
|
2813
|
-
content:
|
|
2791
|
+
content: An(t.content, e.mergeTags)
|
|
2814
2792
|
} : t) : Promise.reject(/* @__PURE__ */ Error("[Templatical] Editor not ready"));
|
|
2815
2793
|
},
|
|
2816
2794
|
load(e) {
|
|
@@ -2838,7 +2816,7 @@ async function aa(e, t) {
|
|
|
2838
2816
|
getFonts: () => qi(i),
|
|
2839
2817
|
getLayout: () => e.layout
|
|
2840
2818
|
}),
|
|
2841
|
-
renderLocalMjml: () =>
|
|
2819
|
+
renderLocalMjml: () => _n({
|
|
2842
2820
|
getContent: () => c.getContent(),
|
|
2843
2821
|
renderCustomBlock: (e) => c.renderCustomBlock(e),
|
|
2844
2822
|
getCustomBlockStylesheet: (e) => c.getCustomBlockStylesheet(e),
|
|
@@ -2850,7 +2828,7 @@ async function aa(e, t) {
|
|
|
2850
2828
|
return c;
|
|
2851
2829
|
}
|
|
2852
2830
|
async function oa(e) {
|
|
2853
|
-
let [{ bootstrapCloud: t }, n] = await Promise.all([import("./createCloudRuntime-D641nhri.js"),
|
|
2831
|
+
let [{ bootstrapCloud: t }, n] = await Promise.all([import("./createCloudRuntime-D641nhri.js"), Ce(e.locale ?? "en")]), { runtime: r, providers: i, user: a } = await t({
|
|
2854
2832
|
config: e,
|
|
2855
2833
|
cloudTranslations: n
|
|
2856
2834
|
});
|
|
@@ -2902,4 +2880,4 @@ function sa() {
|
|
|
2902
2880
|
na && ra(na);
|
|
2903
2881
|
}
|
|
2904
2882
|
//#endregion
|
|
2905
|
-
export {
|
|
2883
|
+
export { ie as applyLayout, se as createDefaultTemplateContent, pe as createLocalStorageMediaProvider, fe as createLocalStorageSavedBlocksProvider, oe as createParagraphBlock, R as createSlotBlock, W as createWrapperBlock, Le as getBaseLocale, Te as getSupportedCloudLocales, Ee as getSupportedLocales, ia as init, oa as initCloud, Oe as isCloudLocaleSupported, Se as isLocaleSupported, U as isSlot, re as isWrapper, H as layoutWrapsSlot, sa as unmount, Je as useFonts, X as validateLayout };
|