ghost 6.68.0 → 6.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ghost-storage-base-3.0.1.tgz +0 -0
- package/components/tryghost-adapter-base-cache-0.2.1.tgz +0 -0
- package/components/tryghost-adapter-base-scheduling-0.2.5.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.4.tgz +0 -0
- package/components/tryghost-app-contracts-0.0.0.tgz +0 -0
- package/components/tryghost-checkout-0.0.0.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/tryghost-kg-card-factory-5.2.6.tgz +0 -0
- package/components/tryghost-kg-clean-basic-html-4.3.6.tgz +0 -0
- package/components/tryghost-kg-converters-1.2.6.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.7.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.2.3.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.6.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.4.1.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.5.1.tgz +0 -0
- package/components/tryghost-kg-markdown-html-renderer-7.2.7.tgz +0 -0
- package/components/tryghost-kg-utils-1.1.6.tgz +0 -0
- package/components/tryghost-metafield-csv-0.0.0.tgz +0 -0
- package/components/tryghost-metafield-types-0.1.1.tgz +0 -0
- package/core/boot.js +6 -0
- package/core/built/admin/assets/{about-D_nwtf7X.js → about-Dxp30cNg.js} +1 -1
- package/core/built/admin/assets/{account-migration-BaecWw1T.js → account-migration-D05akW4q.js} +1 -1
- package/core/built/admin/assets/activitypub/{account-migration-4saTEZ6p.js → account-migration-BmiwuzXI.js} +6 -6
- package/core/built/admin/assets/activitypub/activitypub.js +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-BHBNuZQH.js → bluesky-sharing-B1fzMdFb.js} +6 -6
- package/core/built/admin/assets/activitypub/{content-formatters-DVx9YktY.js → content-formatters-G0qBT5QE.js} +3 -3
- package/core/built/admin/assets/activitypub/{domain-rAmlMXBC.js → domain-B3UtdA1m.js} +7 -7
- package/core/built/admin/assets/activitypub/{edit-profile-CXYL4ZrS.js → edit-profile-9EodzviR.js} +4 -4
- package/core/built/admin/assets/activitypub/{explore-dqpEx3GA.js → explore-DmwPdxHI.js} +8 -8
- package/core/built/admin/assets/activitypub/{feed-Cb-wYNw9.js → feed-yauqnu7A.js} +5 -5
- package/core/built/admin/assets/activitypub/{field-JxegcPt6.js → field-CsrMjbg2.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-2hXDJBn5.js → inbox-DV3RrpFH.js} +7 -7
- package/core/built/admin/assets/activitypub/{label-DRQzZ7lb.js → label-DPs40NLn.js} +2 -2
- package/core/built/admin/assets/activitypub/layout-CvOhndCA.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-BnYKcTXY.js → moderation-DGa6hVNH.js} +7 -7
- package/core/built/admin/assets/activitypub/{note-C6ucS3Wu.js → note-BVL6LVHF.js} +5 -5
- package/core/built/admin/assets/activitypub/{notifications-DgBW9wEC.js → notifications-CRUu_uMC.js} +5 -5
- package/core/built/admin/assets/activitypub/{onboarding-DGu6yG4L.js → onboarding-Dpm-nLkQ.js} +2 -2
- package/core/built/admin/assets/activitypub/{onboarding-Bq3fNf_a.js → onboarding-KtpJA-xb.js} +2 -2
- package/core/built/admin/assets/activitypub/{preferences-C3jI1eVN.js → preferences-CdFuVqIt.js} +7 -7
- package/core/built/admin/assets/activitypub/{profile-Cn3vRb5Z.js → profile-KnNAoHYu.js} +8 -8
- package/core/built/admin/assets/activitypub/{routes-DbrwlS9h.js → routes-BRndai50.js} +26 -26
- package/core/built/admin/assets/activitypub/{settings-D0BALDQu.js → settings-DU7ftJ8w.js} +4 -4
- package/core/built/admin/assets/activitypub/{site-BFGj8HuQ.js → site-D1ZYV3AT.js} +2 -2
- package/core/built/admin/assets/activitypub/{step-1-CaoPg0a5.js → step-1-9IHheE78.js} +4 -4
- package/core/built/admin/assets/activitypub/{step-3-5k0TkyC9.js → step-3-DBERnfa-.js} +3 -3
- package/core/built/admin/assets/activitypub/{tabs-BV4JU7Vg.js → tabs-CvkwStij.js} +4 -4
- package/core/built/admin/assets/activitypub/{topic-filter-71sX5nfN.js → topic-filter-CS0Jsf_4.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-B3srUuKt.js → use-activity-pub-queries-CGgtQrxL.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-Cl6bGNy7.js → use-reply-chain-data-CLdUpx1t.js} +4 -4
- package/core/built/admin/assets/activitypub/{users-EcSPpds5.js → users-CyoMXlwX.js} +11 -3
- package/core/built/admin/assets/{add-integration-modal-DBFzeAUT.js → add-integration-modal-BVg-ec8i.js} +1 -1
- package/core/built/admin/assets/{add-newsletter-modal-CYJe-dTC.js → add-newsletter-modal-Du6th521.js} +1 -1
- package/core/built/admin/assets/{add-recommendation-modal-CgwGKH-_.js → add-recommendation-modal-BiCJ0-q5.js} +1 -1
- package/core/built/admin/assets/{analytics-CcXT_WqF.js → analytics-CQJzDDdJ.js} +1 -1
- package/core/built/admin/assets/{announcement-bar-modal-Ldcg-PB-.js → announcement-bar-modal-CskyZLzT.js} +1 -1
- package/core/built/admin/assets/{api-BLteQZ7W.js → api-BFocMbDg.js} +2 -2
- package/core/built/admin/assets/{api-keys-CoeerpwI.js → api-keys-CqKJHuAV.js} +1 -1
- package/core/built/admin/assets/{audience-Deg9lzfk.js → audience-Dn7LuH-r.js} +1 -1
- package/core/built/admin/assets/{auth-layout-CRaMX7g6.js → auth-layout-VLhXgXn5.js} +1 -1
- package/core/built/admin/assets/{automated-emails-WcjjRkRV.js → automated-emails-D5cFl1wr.js} +1 -1
- package/core/built/admin/assets/{automations-CbIdX0rd.js → automations-BpweKEcq.js} +1 -1
- package/core/built/admin/assets/automations-DBTYwNTJ.js +1 -0
- package/core/built/admin/assets/{bluesky-sharing-BJMNRwnU.js → bluesky-sharing-CrfpFHQ9.js} +1 -1
- package/core/built/admin/assets/{chart-helpers-D-3N170i.js → chart-helpers-BSuFLd6-.js} +1 -1
- package/core/built/admin/assets/{chunk.524.94ab17e1199b4c3f4615.js → chunk.524.e24d68bc6253b274b726.js} +4 -4
- package/core/built/admin/assets/{chunk.582.6f09b19a007e2805824e.js → chunk.582.47834285406dfa1abb29.js} +6 -6
- package/core/built/admin/assets/{chunk.476.53b5794a67d68111e0bf.js → chunk.837.e1454abc054e1fba1fe5.js} +5 -5
- package/core/built/admin/assets/{code-editor-view-DhTwpxxv.js → code-editor-view-BrGe3eS4.js} +1 -1
- package/core/built/admin/assets/{code-editor-view-C7wXGiuv.js → code-editor-view-CY6JCXNv.js} +1 -1
- package/core/built/admin/assets/{color-picker-field-Cjz2zY11.js → color-picker-field-DGe9HH6W.js} +1 -1
- package/core/built/admin/assets/{comments-DY-VLVxh.js → comments-iRbF6XiJ.js} +1 -1
- package/core/built/admin/assets/{config-B3HuCo0y.js → config-CRAZ4Civ.js} +1 -1
- package/core/built/admin/assets/{content-api-modal-2jt-jWiM.js → content-api-modal-B-XRbzeW.js} +1 -1
- package/core/built/admin/assets/{content-formatters-VqvNA7Pv.js → content-formatters-C08JJbUJ.js} +2 -2
- package/core/built/admin/assets/{context-menu-BWbk9nd5.js → context-menu-BxGXsgQO.js} +1 -1
- package/core/built/admin/assets/{custom-field-type-option-CIatEwIN.js → custom-field-type-option-C8Nt4X6x.js} +1 -1
- package/core/built/admin/assets/{custom-integration-modal-Cw0w2Tb3.js → custom-integration-modal-DzI16qjN.js} +1 -1
- package/core/built/admin/assets/{date-range-select-O-uA-BRV.js → date-range-select-BZqsYsGx.js} +1 -1
- package/core/built/admin/assets/{design-and-theme-modal-BLjNHRYN.js → design-and-theme-modal-1ty_KEkM.js} +2 -2
- package/core/built/admin/assets/{dist-DJhCsld6.js → dist-B4jqKAG5.js} +1 -1
- package/core/built/admin/assets/{dist-5Ol0DC_t.js → dist-Bmo2j_KH.js} +1 -1
- package/core/built/admin/assets/{dist-p52UDdoR.js → dist-C-_aTlvJ.js} +1 -1
- package/core/built/admin/assets/{dist-CcN1a5SB.js → dist-CWHIoxYn.js} +1 -1
- package/core/built/admin/assets/{dist-BcfsaiCV.js → dist-Cp2M5TzT.js} +1 -1
- package/core/built/admin/assets/{dist-kjTYGivb.js → dist-DQAAPbtg.js} +1 -1
- package/core/built/admin/assets/{dist-IMek6Acg.js → dist-DyO279y5.js} +1 -1
- package/core/built/admin/assets/{domain-DaPAeOFF.js → domain-DiFl_Z1A.js} +1 -1
- package/core/built/admin/assets/{edit-profile-BKO5qonH.js → edit-profile-PrLbJV3P.js} +1 -1
- package/core/built/admin/assets/editor-BBJDJL8U.js +8 -0
- package/core/built/admin/assets/{editor-screen-l4BUPE2o.js → editor-screen-nblrp808.js} +3 -3
- package/core/built/admin/assets/{email-previews-B1Ska3CF.js → email-previews-BKJxrW29.js} +1 -1
- package/core/built/admin/assets/{email-sending-status-provider-Bjn5KTy2.js → email-sending-status-provider-DB9ylBWk.js} +1 -1
- package/core/built/admin/assets/{emails-qxNbhO6X.js → emails-8YiSmC2X.js} +1 -1
- package/core/built/admin/assets/{embed-signup-form-modal-DSgds6Js.js → embed-signup-form-modal-CZmbYKfd.js} +1 -1
- package/core/built/admin/assets/{error-boundary-CJODV8Rg.js → error-boundary-DrxPFFO-.js} +1 -1
- package/core/built/admin/assets/{esm-CNLDtBMc.js → esm-_iCUCvbN.js} +1 -1
- package/core/built/admin/assets/{explore-C6V_JpUZ.js → explore-C69LSRVg.js} +1 -1
- package/core/built/admin/assets/{feed-B_TyFn9E.js → feed-B_0m7WhZ.js} +1 -1
- package/core/built/admin/assets/{feedback-gKOzmiGt.js → feedback-DW1DXdzT.js} +1 -1
- package/core/built/admin/assets/{filters-Bf6E1qAP.js → filters-Dr3vMnjZ.js} +1 -1
- package/core/built/admin/assets/{filters-DhsiEotO.js → filters-M2sRWPoF.js} +1 -1
- package/core/built/admin/assets/{first-promoter-modal-LmTXHr-z.js → first-promoter-modal-D43R2zhI.js} +1 -1
- package/core/built/admin/assets/{focus-koenig-editor-on-bottom-click-BAcLNJti.js → focus-koenig-editor-on-bottom-click-BzS8jiJf.js} +1 -1
- package/core/built/admin/assets/fullscreen-close-button-CWSp-MsK.js +1 -0
- package/core/built/admin/assets/{ghost-63bc7da4336844000c523a5a0819531e.js → ghost-ffde29676517b768b1aef5ec8d492418.js} +93 -96
- package/core/built/admin/assets/{gift-link-modal-uZtwRHzl.js → gift-link-modal-CNE7dfPD.js} +1 -1
- package/core/built/admin/assets/{gift-links-HVqaXear.js → gift-links-lQ7H_D8Z.js} +1 -1
- package/core/built/admin/assets/global-search-modal-DzRM3aON.js +1 -0
- package/core/built/admin/assets/{growth-BlPW4DHj.js → growth-CAi_5HIf.js} +1 -1
- package/core/built/admin/assets/{growth-CflU3vR0.js → growth-CMHbTWKE.js} +1 -1
- package/core/built/admin/assets/history-modal-BIz13vhr.js +1 -0
- package/core/built/admin/assets/{hooks-C-BDQ6Hs.js → hooks-0r7qxGEo.js} +2 -2
- package/core/built/admin/assets/{html-field-D6G0G1d_.js → html-field-vTe2q1be.js} +1 -1
- package/core/built/admin/assets/{iframe-buffering-DW-Axhvc.js → iframe-buffering-cu-yK7NA.js} +1 -1
- package/core/built/admin/assets/{images-BSUWxquu.js → images-DTZtaIAr.js} +1 -1
- package/core/built/admin/assets/{inbox-BkU3sg13.js → inbox-BHfpmmzn.js} +1 -1
- package/core/built/admin/assets/{index-z8-nEVdb.css → index-B02LJqc8.css} +1 -1
- package/core/built/admin/assets/{index-CuDhPtkB.js → index-RuRs_qGS.js} +3 -3
- package/core/built/admin/assets/{index.es-H6HOI4DG.js → index.es-rdb1skp_.js} +1 -1
- package/core/built/admin/assets/{integrations-BRo5DwA5.js → integrations-Deg9-u8X.js} +1 -1
- package/core/built/admin/assets/{invite-user-modal-CydBOG99.js → invite-user-modal-C4DeNcoO.js} +1 -1
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +10483 -10455
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +131 -131
- package/core/built/admin/assets/{koenig-lexical-CG_eb4dw.js → koenig-lexical-BhXu1__-.js} +96 -96
- package/core/built/admin/assets/{kpi-helpers-CyRx_yD6.js → kpi-helpers-H-Hl6h7h.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-V1_Nu9sh.js → kpi-tabs-k4A9-imn.js} +1 -1
- package/core/built/admin/assets/{label-picker-GTIIlBQ6.js → label-picker-DaivLdMw.js} +1 -1
- package/core/built/admin/assets/{labels-BVGLgdAj.js → labels-BCj6D_nl.js} +1 -1
- package/core/built/admin/assets/{layout-CG58T6P7.js → layout-_g2xhB0L.js} +1 -1
- package/core/built/admin/assets/{lib-Dkic19kH.js → lib-Bre6UXdJ.js} +2 -2
- package/core/built/admin/assets/{links-jD8AkkIu.js → links-C8RnEJVJ.js} +1 -1
- package/core/built/admin/assets/{member-activity-JggQ0VNQ.js → member-activity-DNJPUW5X.js} +1 -1
- package/core/built/admin/assets/{member-activity-feed-BBeCZmLM.js → member-activity-feed-CvKEetHS.js} +1 -1
- package/core/built/admin/assets/{member-custom-fields-DPsyP1Hq.js → member-custom-fields-CBdiwPD9.js} +1 -1
- package/core/built/admin/assets/{member-detail-D7qugPN7.js → member-detail-BIoyIIsl.js} +1 -1
- package/core/built/admin/assets/{members-Cj_BUZUL.js → members-CH6KeXQc.js} +1 -1
- package/core/built/admin/assets/{members-alDWPKDd.js → members-Dd9RczFK.js} +1 -1
- package/core/built/admin/assets/{migrate-2uKKakld.js → migrate-CVQIWsXO.js} +1 -1
- package/core/built/admin/assets/{moderation-pCUKsxbF.js → moderation-OtjZoNOc.js} +1 -1
- package/core/built/admin/assets/{navigation-modal-D0FBI5-m.js → navigation-modal-Bl02NjtO.js} +1 -1
- package/core/built/admin/assets/{newsletter-4urgCSR_.js → newsletter-BXyT7o69.js} +1 -1
- package/core/built/admin/assets/{newsletter-detail-modal-Chh1jvjH.js → newsletter-detail-modal-DxuKNu_1.js} +1 -1
- package/core/built/admin/assets/{newsletter-emails-CzVCiC2K.js → newsletter-emails-DicgmnMU.js} +1 -1
- package/core/built/admin/assets/{newsletters-eRQTtOBH.js → newsletters-By25FmUs.js} +1 -1
- package/core/built/admin/assets/{newsletters-BMEgeL2l.js → newsletters-CACa0VCx.js} +1 -1
- package/core/built/admin/assets/{note-dqog4Bua.js → note-CF4LrSmR.js} +1 -1
- package/core/built/admin/assets/{notifications-rcEVv-gx.js → notifications-BmHJmqIJ.js} +1 -1
- package/core/built/admin/assets/{offers-hV7zBtsI.js → offers-Df9Jzay5.js} +1 -1
- package/core/built/admin/assets/{offers-container-modal-DgZgkMsA.js → offers-container-modal-R0HRwugm.js} +1 -1
- package/core/built/admin/assets/{onboarding-4TxbZb90.js → onboarding-Bpo1yTzA.js} +1 -1
- package/core/built/admin/assets/{onboarding-SGscZLIc.js → onboarding-bMq3R8jB.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-B3mN9l7E.js → onboarding-route-flf5YWti.js} +1 -1
- package/core/built/admin/assets/{overview-D4EanvDG.js → overview-C9WvmmOC.js} +1 -1
- package/core/built/admin/assets/{overview-CCwbHet8.js → overview-CDkHdIJM.js} +1 -1
- package/core/built/admin/assets/{page-header-Baymg6VR.js → page-header-CxTb0je5.js} +1 -1
- package/core/built/admin/assets/{pagemenu--UL0gW1x.js → pagemenu-DXr_U43J.js} +1 -1
- package/core/built/admin/assets/{pages-Cbq1M2kG.js → pages-Bm-zFXyP.js} +1 -1
- package/core/built/admin/assets/pages-route-LCw94aIO.js +1 -0
- package/core/built/admin/assets/{pintura-modal-D6HGlnJa.js → pintura-modal-B5sIPWcj.js} +1 -1
- package/core/built/admin/assets/{portal-modal-Bhqsevn_.js → portal-modal-DjOO3Unv.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-DX9fETdi.js → post-analytics-header-D2anehCj.js} +1 -1
- package/core/built/admin/assets/{post-analytics-provider-U7RtOle1.js → post-analytics-provider-BLQvV5C0.js} +1 -1
- package/core/built/admin/assets/{post-analytics-BJWDtC3a.js → post-analytics-wdu9gq8u.js} +1 -1
- package/core/built/admin/assets/{post-debug-D1b8Amju.js → post-debug-BnABXMfD.js} +1 -1
- package/core/built/admin/assets/{posts-Lg-p_ZHg.js → posts-CftunZgV.js} +1 -1
- package/core/built/admin/assets/{posts-list-screen-CmsW18e_.js → posts-list-screen-CwXmvY68.js} +2 -2
- package/core/built/admin/assets/posts-route-J74fMhCe.js +1 -0
- package/core/built/admin/assets/{preferences-CMlDfHfa.js → preferences-DFhf_pJF.js} +1 -1
- package/core/built/admin/assets/{preview-modal-D8om_cQv.js → preview-modal-BrZza3R_.js} +1 -1
- package/core/built/admin/assets/{profile-yFsIoZom.js → profile-CS4fP60N.js} +1 -1
- package/core/built/admin/assets/{radio-group-DwgLjwWB.js → radio-group-Xfp-frJz.js} +1 -1
- package/core/built/admin/assets/{referrers-DzP5QoXL.js → referrers-C8LJlrBm.js} +1 -1
- package/core/built/admin/assets/{reload-CZ-KP3IQ.js → reload-D0fnKoCm.js} +1 -1
- package/core/built/admin/assets/{reset-CCAa8v35.js → reset-CB-ATcLE.js} +1 -1
- package/core/built/admin/assets/{restore-screen-Ba0i2Y1K.js → restore-screen-EaZf4V8j.js} +1 -1
- package/core/built/admin/assets/{routes-DrnhmKTT.js → routes-DKfpFMfF.js} +2 -2
- package/core/built/admin/assets/search-index-sM3OjEUl.js +1 -0
- package/core/built/admin/assets/settings-BWzod-5X.js +4 -0
- package/core/built/admin/assets/{settings-lqWkfSmT.js → settings-DvgngbFt.js} +1 -1
- package/core/built/admin/assets/{setup-BopRPuaM.js → setup-CdHAchG5.js} +1 -1
- package/core/built/admin/assets/{signin-e8NgsU9M.js → signin-CUEEme88.js} +1 -1
- package/core/built/admin/assets/{signin-verify-CHkFJevb.js → signin-verify-CYRphSrj.js} +1 -1
- package/core/built/admin/assets/{signout-DRvQZuWa.js → signout-kLCJau9G.js} +1 -1
- package/core/built/admin/assets/{signup-DQHi7jZz.js → signup-J2Vjq7Gt.js} +1 -1
- package/core/built/admin/assets/{slack-modal-BuGESzgn.js → slack-modal-DKamr_94.js} +1 -1
- package/core/built/admin/assets/source-icon-DqBCPDIK.js +1 -0
- package/core/built/admin/assets/{stats-CHOikfoP.js → stats-BL_FJ7Ns.js} +1 -1
- package/core/built/admin/assets/{stats-view-DQZzKeEz.js → stats-view-BwbdkdOQ.js} +1 -1
- package/core/built/admin/assets/{step-1-C8XwHcKt.js → step-1-CLYhNmG9.js} +1 -1
- package/core/built/admin/assets/{step-2-BXaXAdwY.js → step-2-B2ujMlpa.js} +1 -1
- package/core/built/admin/assets/{step-3-DytbqpJi.js → step-3-DoaTWqqj.js} +1 -1
- package/core/built/admin/assets/{stripe-connect-modal-BhudjSeO.js → stripe-connect-modal-DytxH9DJ.js} +1 -1
- package/core/built/admin/assets/{tabs-CDb_TceL.js → tabs-fHs3A8WC.js} +1 -1
- package/core/built/admin/assets/{tag-detail-V72Zlro8.js → tag-detail-BcO46Ids.js} +2 -2
- package/core/built/admin/assets/{tag-picker-M3fC-yOF.js → tag-picker-Ct6NeqWK.js} +1 -1
- package/core/built/admin/assets/{tags-CXqE2A2T.js → tags-C1h3wCpW.js} +1 -1
- package/core/built/admin/assets/{tags-ZhqbPPc6.js → tags-OlmRJ6Ps.js} +1 -1
- package/core/built/admin/assets/{testimonials-modal-Cn8gvIFA.js → testimonials-modal-DMsQzSCB.js} +1 -1
- package/core/built/admin/assets/{themes-pOHHvnkt.js → themes-CPJSMo_W.js} +1 -1
- package/core/built/admin/assets/{tier-detail-modal-CeDla1OO.js → tier-detail-modal-DssSmhkF.js} +1 -1
- package/core/built/admin/assets/{tiers-D7aGzwZ-.js → tiers-DlvS8D6_.js} +1 -1
- package/core/built/admin/assets/{toggle-group-D7ly9OGa.js → toggle-group-BFWCtH3p.js} +1 -1
- package/core/built/admin/assets/{topic-filter-DQ3pr6AB.js → topic-filter-DAJ-DFPb.js} +1 -1
- package/core/built/admin/assets/{transistor-modal-4_Yx2vRo.js → transistor-modal-CtyFRsD0.js} +1 -1
- package/core/built/admin/assets/{unsplash-modal-Dm7R4k4k.js → unsplash-modal-DHnnTPmZ.js} +1 -1
- package/core/built/admin/assets/{use-activity-pub-queries-Gy9_locM.js → use-activity-pub-queries-BgR1USeY.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data-oJ2o0pSS.js → use-analytics-data-Byf83QE-.js} +1 -1
- package/core/built/admin/assets/{use-availability-BqL7Dvn_.js → use-availability-CgZC6L_V.js} +1 -1
- package/core/built/admin/assets/{use-check-theme-limit-error-CxC9uKJz.js → use-check-theme-limit-error-DjprzKAN.js} +1 -1
- package/core/built/admin/assets/use-definitions-CJuXLSob.js +1 -0
- package/core/built/admin/assets/{use-email-sending-status-BFAg5TIb.js → use-email-sending-status-7kopNcza.js} +1 -1
- package/core/built/admin/assets/{use-filter-params-BOo9yZ5j.js → use-filter-params-DQ7uX-Zp.js} +1 -1
- package/core/built/admin/assets/{use-filterable-api-BnNLaS_r.js → use-filterable-api-CDrrxoGD.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-BS62uyyn.js → use-growth-stats-CCpnBgqS.js} +1 -1
- package/core/built/admin/assets/{use-host-limits-CNh4AAEs.js → use-host-limits-BZx7rzRI.js} +1 -1
- package/core/built/admin/assets/{use-limiter-DPKxoO1_.js → use-limiter-gF219BEg.js} +1 -1
- package/core/built/admin/assets/{use-pintura-config-CyVO62ZV.js → use-pintura-config-D-pmGkn2.js} +1 -1
- package/core/built/admin/assets/{use-pintura-editor-B5VBPbiO.js → use-pintura-editor-D_4zhlGE.js} +1 -1
- package/core/built/admin/assets/{use-post-referrers-nUPolSk7.js → use-post-referrers-Bc8eq4uy.js} +1 -1
- package/core/built/admin/assets/{use-post-top-links-DCH4eO11.js → use-post-top-links-DjltnQuI.js} +1 -1
- package/core/built/admin/assets/{use-reply-chain-data-UMzFbDvh.js → use-reply-chain-data-BiV3Cl0B.js} +1 -1
- package/core/built/admin/assets/use-sending-eta-gE-2B0Zw.js +1 -0
- package/core/built/admin/assets/{use-setting-group-Bf3vY8br.js → use-setting-group-YP84CqrJ.js} +1 -1
- package/core/built/admin/assets/{use-staff-users-CcQzTHqH.js → use-staff-users-CnwfdSx1.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-query-CPy5ipAP.js → use-tinybird-query-BYbl5gKY.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-DVNHuhu_.js → use-tinybird-token-Dz37zvb7.js} +1 -1
- package/core/built/admin/assets/{use-unsaved-changes-guard-Bvcp_Rny.js → use-unsaved-changes-guard-BkCuSlvU.js} +1 -1
- package/core/built/admin/assets/{use-upgrade-route-Bsxw9ZLN.js → use-upgrade-route-C-V-Xfak.js} +1 -1
- package/core/built/admin/assets/{use-url-input-DPJ592FB.js → use-url-input-BeYKYMGh.js} +1 -1
- package/core/built/admin/assets/{user-detail-modal-6UY6GdNy.js → user-detail-modal-CSoj7vOC.js} +1 -1
- package/core/built/admin/assets/{users-CzgQKbfO.js → users-CKJaAxEJ.js} +1 -1
- package/core/built/admin/assets/{view-site-DA_-zfGq.js → view-site-SpMx4P7G.js} +1 -1
- package/core/built/admin/assets/{web-Cq5YiD2r.js → web-CZf-k4F0.js} +1 -1
- package/core/built/admin/assets/{web-DqFIrOxt.js → web-uAqgYPK9.js} +1 -1
- package/core/built/admin/assets/{zapier-modal-DgqU-OBB.js → zapier-modal-DENbgTyE.js} +1 -1
- package/core/built/admin/index.html +24 -24
- package/core/frontend/helpers/color_to_rgba.js +15 -13
- package/core/frontend/helpers/facebook_url.js +27 -15
- package/core/frontend/services/assets-minification/card-assets.js +1 -1
- package/core/frontend/services/helpers/register-ghost-helpers.js +2 -2
- package/core/server/api/endpoints/app-installations.js +36 -0
- package/core/server/api/endpoints/automations.js +1 -1
- package/core/server/api/endpoints/index.js +4 -0
- package/core/server/data/exporter/table-lists.js +2 -0
- package/core/server/data/migrations/versions/6.69/2026-10-07-06-20-43-add-app-installation-permissions.js +40 -0
- package/core/server/data/schema/fixtures/fixtures.json +21 -0
- package/core/server/data/schema/in-development.js +1 -1
- package/core/server/data/schema/schema.js +53 -0
- package/core/server/lib/after-commit.js +20 -0
- package/core/server/models/action.js +6 -0
- package/core/server/services/app-installations/actions.js +44 -0
- package/core/server/services/app-installations/codec.js +20 -0
- package/core/server/services/app-installations/index.js +42 -0
- package/core/server/services/app-installations/schema.js +52 -0
- package/core/server/services/app-installations/service.js +160 -0
- package/core/server/services/automations/README.md +3 -3
- package/core/server/services/automations/automations-api.js +1 -1
- package/core/server/services/comments/comments-service-emails.js +8 -6
- package/core/server/services/email-service/README.md +16 -0
- package/core/server/services/email-service/email-service-wrapper.js +1 -0
- package/core/server/services/email-service/email-service.js +94 -53
- package/core/server/services/email-service/sending-status-serializers.js +4 -1
- package/core/server/services/email-service/sending-status-service.js +13 -0
- package/core/server/services/email-service/sending-status.js +12 -1
- package/core/server/services/members/members-api/repositories/member-repository.js +5 -23
- package/core/server/services/posts/post-email-handler.js +61 -28
- package/core/server/services/posts/posts-service.js +27 -2
- package/core/server/services/service-inventory.yaml +93 -7
- package/core/server/services/stats/stats-service.js +1 -5
- package/core/server/services/tinybird-sync/index.js +0 -3
- package/core/server/services/tinybird-sync/tinybird-sync-service.js +2 -6
- package/core/server/web/api/endpoints/admin/routes.js +25 -12
- package/core/shared/labs.js +4 -6
- package/package.json +11 -10
- package/pnpm-lock.yaml +112 -100
- package/pnpm-workspace.yaml +14 -12
- package/components/ghost-storage-base-3.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
- package/components/tryghost-checkout-0.0.1.tgz +0 -0
- package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
- package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
- package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
- package/components/tryghost-kg-markdown-html-renderer-7.2.6.tgz +0 -0
- package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
- package/components/tryghost-metafield-csv-0.0.1.tgz +0 -0
- package/core/built/admin/assets/activitypub/layout-QTbY0t8e.js +0 -1
- package/core/built/admin/assets/automations-DVToctfJ.js +0 -1
- package/core/built/admin/assets/editor-CMXR0YvR.js +0 -8
- package/core/built/admin/assets/fullscreen-close-button-DXssPeDB.js +0 -1
- package/core/built/admin/assets/global-search-modal-C8LVJmiz.js +0 -1
- package/core/built/admin/assets/history-modal-parBtjpz.js +0 -1
- package/core/built/admin/assets/pages-route-CDk3V9rq.js +0 -1
- package/core/built/admin/assets/posts-route-CexHhklY.js +0 -1
- package/core/built/admin/assets/settings-xqakrAWa.js +0 -4
- package/core/built/admin/assets/source-icon-BjVangBd.js +0 -1
- package/core/built/admin/assets/use-definitions-DMVU3mTG.js +0 -1
- package/core/built/admin/assets/use-sending-eta-BsnKdQhv.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`aad26afe-e43c-4d22-ab9f-148b39e9942f`,e._sentryDebugIdIdentifier=`sentry-dbid-aad26afe-e43c-4d22-ab9f-148b39e9942f`)}catch{}})();import{i as e,s as t,t as n}from"./react-C9lG_SsT.js";import{g as r}from"./hooks-0r7qxGEo.js";import{t as i}from"./jsx-runtime-Bm2_KH-0.js";import{t as a}from"./use-tinybird-query-BYbl5gKY.js";import{r as o}from"./posts-CftunZgV.js";import{s}from"./config-CRAZ4Civ.js";import{t as c}from"./analytics-CDjjaA4a.js";import{H as l}from"./shade-provider-DvrXKKQZ.js";import{t as u}from"./button-CTHYSI-d.js";import{t as d}from"./badge-DuMiqyUH.js";import{a as f,i as p,o as m,r as h,s as g,t as _}from"./dialog-BO1lcy8A.js";import{t as v}from"./share-modal-CdHbFNEw.js";import{r as y}from"./pages-Bm-zFXyP.js";import{Kt as b,W as x,nn as S}from"./index-RuRs_qGS.js";import{n as C,r as w}from"./gift-links-lQ7H_D8Z.js";var T=t(n(),1);function E(e,t){return!e||!t?``:`${e}?gift=${encodeURIComponent(t)}`}var D={members:`members-only`,paid:`paid-members-only`,tiers:`paid-members-only`};function O(e){return e&&D[e]||``}var k=({postUuid:e,token:t,tokenLoading:n=!1,tokenError:r=null,enabled:i=!0})=>{let{data:o,isLoading:c}=s(),l=o?.config?.stats,{isLoading:u}=b(),d=S(),f=(0,T.useMemo)(()=>({site_uuid:l?.id||``,post_uuid:e||``,gift_link:t||``}),[l?.id,e,t]),{data:p,loading:m,error:h}=a({endpoint:`api_gift_link_visits`,statsConfig:l||{id:``},params:f,enabled:i&&d&&!!l?.id&&!!e&&!!t}),g=m||c||u||n,_=h||r||null;return{usage:(0,T.useMemo)(()=>{if(!d||!t||_||!Array.isArray(p))return;let e=p[0];return{visits:Number(e?.visits)||0,views:Number(e?.views)||0}},[p,t,_,d]),loading:g,error:_}},A=({postId:e,resource:t=`posts`,enabled:n=!0})=>{let r=t===`posts`,{data:i,isLoading:a}=o({searchParams:{filter:`id:${e}`,include:x},enabled:n&&r}),{data:s,isLoading:c}=y({searchParams:{filter:`id:${e}`},enabled:n&&!r});if(r){let e=i?.posts?.[0];return{post:e&&{url:e.url,title:e.title,visibility:e.visibility,uuid:e.uuid},isLoading:a}}let l=s?.pages?.[0];return{post:l&&{url:l.url,title:l.title,visibility:l.visibility,uuid:l.uuid},isLoading:c}},j=e({default:()=>P}),M=i();function N(e){return e===0?`No visitors yet`:`${l(e)} ${e===1?`visitor`:`visitors`}`}var P=({open:e,onOpenChange:t,postId:n,resource:i=`posts`,source:a})=>{let o=r(),{mutateAsync:s}=w(),{mutateAsync:l}=C(),{post:y}=A({postId:n,resource:i,enabled:e}),[b,x]=(0,T.useState)(void 0),[S,D]=(0,T.useState)(`idle`),[O,j]=(0,T.useState)(!1),[P,F]=(0,T.useState)(!1),I=(0,T.useRef)(null),L=(0,T.useRef)(null),{usage:R}=k({postUuid:y?.uuid,token:b,enabled:e});(0,T.useEffect)(()=>{if(!e){L.current=null,F(!1);return}let t=L.current;(t?.postId!==n||t.resource!==i)&&(t={postId:n,resource:i,request:s({id:n,resource:i})},L.current=t);let r=!1;return F(!0),t.request.then(e=>{r||x(e.gift_links[0]?.token)}).catch(e=>{r||o(e)}).finally(()=>{r||F(!1)}),()=>{r=!0}},[e,n,i,s,o]),(0,T.useEffect)(()=>{S===`confirm`&&I.current?.focus()},[S]);let z=i===`pages`?`page`:`post`,B=y?.visibility??`unknown`,V=(0,T.useRef)(!1);(0,T.useEffect)(()=>{if(!e){V.current=!1;return}V.current||!y||(V.current=!0,c(`Gift Link Modal Opened`,{postType:z,visibility:B,source:a}))},[e,y,z,B,a]);let H=E(y?.url,b),U=`Anyone you share this link with will be able to access this ${z} without becoming a ${y?.visibility===`members`?`member`:`paid member`}.`,W=(0,T.useCallback)(async()=>{if(!O){j(!0);try{let e=await l({id:n,resource:i});x(e.gift_links[0]?.token),D(`idle`),c(`Gift Link Reset`,{postType:z,visibility:B,source:a})}catch(e){o(e)}finally{j(!1)}}},[O,l,n,i,o,z,B,a]),G=(0,T.useCallback)(e=>{e||D(`idle`),t(e)},[t]);return(0,M.jsx)(_,{open:e,onOpenChange:G,children:(0,M.jsxs)(h,{className:`max-w-lg gap-5`,children:[S===`idle`&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(m,{className:`gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(g,{className:`text-xl leading-none`,children:`Gift link`}),R&&(0,M.jsx)(d,{"data-testid":`gift-link-views`,variant:`secondary`,children:N(R.visits)})]}),(0,M.jsx)(p,{className:`text-sm leading-5`,children:U})]}),(0,M.jsx)(v.CopyURLBox,{className:`w-full min-w-0`,copyURL:P?`Generating link…`:H,children:(0,M.jsx)(v.CopyButton,{className:`shrink-0`,copyURL:H,"data-testid":`copy-gift-link`,disabled:P||!H,icon:`link`,size:`sm`,onClick:()=>c(`Gift Link Copied`,{postType:z,visibility:B,source:a})})}),(0,M.jsxs)(f,{className:`sm:items-center sm:justify-between`,children:[(0,M.jsx)(u,{className:`border-destructive/20 text-destructive hover:border-destructive hover:bg-transparent hover:text-destructive dark:border-state-danger/50 dark:text-state-danger dark:hover:border-state-danger dark:hover:bg-transparent dark:hover:text-state-danger`,"data-testid":`reset-gift-link`,disabled:!H,variant:`outline`,onClick:()=>D(`confirm`),children:`Reset`}),(0,M.jsx)(u,{variant:`outline`,onClick:()=>G(!1),children:`Close`})]})]}),S===`confirm`&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(m,{children:[(0,M.jsx)(g,{children:`Reset gift link`}),(0,M.jsxs)(p,{children:[`Are you sure you want to reset this link? Anyone with the current link will lose access to this `,z,`.`]})]}),(0,M.jsxs)(f,{children:[(0,M.jsx)(u,{ref:I,disabled:O,variant:`outline`,onClick:()=>D(`idle`),children:`Cancel`}),(0,M.jsx)(u,{"data-testid":`confirm-reset-gift-link`,disabled:O,variant:`destructive`,onClick:()=>{W()},children:O?`Resetting`:`Reset link`})]})]})]})})};export{O as i,j as n,k as r,P as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`d89e5a12-1767-4df8-a91f-10daf3314cee`,e._sentryDebugIdIdentifier=`sentry-dbid-d89e5a12-1767-4df8-a91f-10daf3314cee`)}catch{}})();import{i as e,n as t}from"./hooks-
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`d89e5a12-1767-4df8-a91f-10daf3314cee`,e._sentryDebugIdIdentifier=`sentry-dbid-d89e5a12-1767-4df8-a91f-10daf3314cee`)}catch{}})();import{i as e,n as t}from"./hooks-0r7qxGEo.js";var n=`GiftLinksResponseType`,r=({id:e,resource:t=`posts`})=>`/${t}/${e}/gift_links/`,i=e({dataType:n,path:e=>r({id:e})}),a=(e,t)=>{let n=i(e,t),r=n.data?.gift_links?.[0];return{...n,giftLink:r,token:r?.token}},o=t({method:`PUT`,path:r,invalidateQueries:{dataType:n}}),s=t({method:`POST`,path:r,invalidateQueries:{dataType:n}}),c=t({method:`PUT`,path:()=>`/gift_links/remove_all/`,invalidateQueries:{dataType:n}});export{c as i,s as n,o as r,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`5f15eed0-3eb5-43dd-aa56-6c5f7ad55782`,e._sentryDebugIdIdentifier=`sentry-dbid-5f15eed0-3eb5-43dd-aa56-6c5f7ad55782`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{N as n,g as r,o as i,u as a}from"./hooks-0r7qxGEo.js";import{t as o}from"./jsx-runtime-Bm2_KH-0.js";import{s}from"./config-CRAZ4Civ.js";import{u as c}from"./chunk-OB3PAWPO-D3muQBsq.js";import{a as l}from"./router-provider-Cf-bcYZr.js";import{L as u}from"./shade-provider-DvrXKKQZ.js";import{m as d}from"./api-BFocMbDg.js";import{t as f}from"./badge-DuMiqyUH.js";import{r as p,s as m,t as h}from"./dialog-BO1lcy8A.js";import{a as g,c as _,i as v,l as y,n as b,o as x,s as ee}from"./multi-select-combobox-BzBMUFst.js";import{d as te}from"./users-CKJaAxEJ.js";import{n as ne}from"./index.module-CnPepLB9.js";import{a as re,g as S,p as ie,y as ae}from"./schemas-21VB7GGY.js";import{Ht as oe,Kt as se,l as ce,z as le}from"./index-RuRs_qGS.js";import{t as ue}from"./__vite-browser-external-DTzigvMC.js";import{t as de}from"./search-index-sM3OjEUl.js";var C=e(t(),1),fe=`billing`;function pe(e,t){return t.flatMap(t=>{let n=e.safeParse(t);return n.success?[n.data]:[]})}var w={name:`Staff`,model:`user`,idField:`slug`,titleField:`name`,index:[`name`]},T={name:`Tags`,model:`tag`,idField:`slug`,titleField:`name`,index:[`name`]},E={name:`Posts`,model:`post`,idField:`id`,titleField:`title`,index:[`title`]},D={name:`Pages`,model:`page`,idField:`id`,titleField:`title`,index:[`title`]},me=[w,T,E,D].map(e=>e.name),he=ie({groupName:S().trim().min(1).refine(e=>!me.includes(e)),items:re(ae())}),ge=ie({id:S().min(1),title:S().min(1),path:S().regex(/^\/[^?#\s]*$/).refine(e=>e===`/`||!e.endsWith(`/`)),keywords:S().catch(``)});function _e(e){let t=he.safeParse(e);if(!t.success)return null;let n=pe(ge,t.data.items);return n.length===0?null:{name:t.data.groupName,key:fe,model:`pro-page`,idField:`id`,titleField:`title`,index:[`title`,`keywords`],staticItems:n}}function ve(e){let t=_e(e?.billing?.search);return t?[w,T,t,E,D]:[w,T,E,D]}var ye={scheduled:1,draft:2,published:3,sent:4};function be(e,t){if(t!==`post`&&t!==`page`)return e;let n=e=>ye[e.status??``]??5;return[...e].sort((e,t)=>n(e)-n(t))}function xe(e,t){return{id:`${e.model}.${t[e.idField]}`,path:t.path,title:t[e.titleField]??``,keywords:t.keywords,groupName:e.name,groupKey:e.key,status:t.status}}var Se=`/pro`;function Ce(e){if(e.groupKey===`billing`){let t=e.path??`/`;return{path:t===`/`?Se:`${Se}${t}`,billingSubRoute:t}}let t=e.id.indexOf(`.`),n=e.id.slice(0,t),r=encodeURIComponent(e.id.slice(t+1));switch(n){case`post`:return{path:`/editor/post/${r}`};case`page`:return{path:`/editor/page/${r}`};case`user`:return{path:`/settings/staff/${r}`};case`tag`:return{path:`/tags/${r}`};default:return null}}var O;function k(e){return e===void 0?!0:e}function A(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=j();return t}function j(){return Object.create(null)}function we(e,t){return t.length-e.length}function M(e){return typeof e==`string`}function N(e){return typeof e==`object`}function P(e){return typeof e==`function`}function Te(e,t){var n=Ee;if(e&&(t&&(e=F(e,t)),this.H&&(e=F(e,this.H)),this.J&&1<e.length&&(e=F(e,this.J)),n||n===``)){if(t=e.split(n),this.filter){e=this.filter,n=t.length;let r=[];for(let i=0,a=0;i<n;i++){let n=t[i];n&&!e[n]&&(r[a++]=n)}e=r}else e=t;return e}return e}var Ee=/[\p{Z}\p{S}\p{P}\p{C}]+/u,De=/[\u0300-\u036f]/g;function Oe(e,t){let n=Object.keys(e),r=n.length,i=[],a=``,o=0;for(let s=0,c,l;s<r;s++)c=n[s],(l=e[c])?(i[o++]=I(t?`(?!\\b)`+c+`(\\b|_)`:c),i[o++]=l):a+=(a?`|`:``)+c;return a&&(i[o++]=I(t?`(?!\\b)(`+a+`)(\\b|_)`:`(`+a+`)`),i[o]=``),i}function F(e,t){for(let n=0,r=t.length;n<r&&(e=e.replace(t[n],t[n+1]),e);n+=2);return e}function I(e){return new RegExp(e,`g`)}function ke(e){let t=``,n=``;for(let r=0,i=e.length,a;r<i;r++)(a=e[r])!==n&&(t+=n=a);return t}var Ae={encode:je,F:!1,G:``};function je(e){return Te.call(this,(``+e).toLowerCase(),!1)}var Me={},L={};function Ne(e){R(e,`add`),R(e,`append`),R(e,`search`),R(e,`update`),R(e,`remove`)}function R(e,t){e[t+`Async`]=function(){let e=this,n=arguments;var r=n[n.length-1];let i;return P(r)&&(i=r,delete n[n.length-1]),r=new Promise(function(r){setTimeout(function(){e.async=!0;let i=e[t].apply(e,n);e.async=!1,r(i)})}),i?(r.then(i),this):r}}function Pe(e,t,n,r){let i=e.length,a=[],o,s,c=0;r&&=[];for(let l=i-1;0<=l;l--){let u=e[l],d=u.length,f=j(),p=!o;for(let e=0;e<d;e++){let d=u[e],m=d.length;if(m)for(let e=0,u,h;e<m;e++)if(h=d[e],o){if(o[h]){if(!l){if(n)n--;else if(a[c++]=h,c===t)return a}(l||r)&&(f[h]=1),p=!0}if(r&&(u=(s[h]||0)+1,s[h]=u,u<i)){let e=r[u-2]||(r[u-2]=[]);e[e.length]=h}}else f[h]=1}if(r)o||(s=f);else if(!p)return[];o=f}if(r)for(let e=r.length-1,i,s;0<=e;e--){i=r[e],s=i.length;for(let e=0,r;e<s;e++)if(r=i[e],!o[r]){if(n)n--;else if(a[c++]=r,c===t)return a;o[r]=1}}return a}function Fe(e,t){let n=j(),r=j(),i=[];for(let t=0;t<e.length;t++)n[e[t]]=1;for(let e=0,a;e<t.length;e++){a=t[e];for(let e=0,t;e<a.length;e++)t=a[e],n[t]&&!r[t]&&(r[t]=1,i[i.length]=t)}return i}function z(e){this.l=!0!==e&&e,this.cache=j(),this.h=[]}function Ie(e,t,n){N(e)&&(e=e.query);let r=this.cache.get(e);return r||(r=this.search(e,t,n),this.cache.set(e,r)),r}z.prototype.set=function(e,t){if(!this.cache[e]){var n=this.h.length;for(n===this.l?delete this.cache[this.h[n-1]]:n++,--n;0<n;n--)this.h[n]=this.h[n-1];this.h[0]=e}this.cache[e]=t},z.prototype.get=function(e){let t=this.cache[e];if(this.l&&t&&(e=this.h.indexOf(e))){let t=this.h[e-1];this.h[e-1]=this.h[e],this.h[e]=t}return t};var Le={memory:{charset:`latin:extra`,D:3,B:4,m:!1},performance:{D:3,B:3,s:!1,context:{depth:2,D:1}},match:{charset:`latin:extra`,G:`reverse`},score:{charset:`latin:advanced`,D:20,B:3,context:{depth:3,D:9}},default:{}};function Re(e,t,n,r,i,a,o,s){setTimeout(function(){let c=e(n?n+`.`+r:r,JSON.stringify(o));c&&c.then?c.then(function(){t.export(e,t,n,i,a+1,s)}):t.export(e,t,n,i,a+1,s)})}function B(e,t){if(!(this instanceof B))return new B(e);var n;if(e){M(e)?e=Le[e]:(n=e.preset)&&(e=Object.assign({},n[n],e)),n=e.charset;var r=e.lang;M(n)&&(n.indexOf(`:`)===-1&&(n+=`:default`),n=L[n]),M(r)&&(r=Me[r])}else e={};let i,a,o=e.context||{};if(this.encode=e.encode||n&&n.encode||je,this.register=t||j(),this.D=i=e.resolution||9,this.G=t=n&&n.G||e.tokenize||`strict`,this.depth=t===`strict`&&o.depth,this.l=k(o.bidirectional),this.s=a=k(e.optimize),this.m=k(e.fastupdate),this.B=e.minlength||1,this.C=e.boost,this.map=a?A(i):j(),this.A=i=o.resolution||1,this.h=a?A(i):j(),this.F=n&&n.F||e.rtl,this.H=(t=e.matcher||r&&r.H)&&Oe(t,!1),this.J=(t=e.stemmer||r&&r.J)&&Oe(t,!0),n=t=e.filter||r&&r.filter){n=t,r=j();for(let e=0,t=n.length;e<t;e++)r[n[e]]=1;n=r}this.filter=n,this.cache=(t=e.cache)&&new z(t)}O=B.prototype,O.append=function(e,t){return this.add(e,t,!0)},O.add=function(e,t,n,r){if(t&&(e||e===0)){if(!r&&!n&&this.register[e])return this.update(e,t);if(t=this.encode(t),r=t.length){let l=j(),u=j(),d=this.depth,f=this.D;for(let p=0;p<r;p++){let m=t[this.F?r-1-p:p];var i=m.length;if(m&&i>=this.B&&(d||!u[m])){var a=V(f,r,p),o=``;switch(this.G){case`full`:if(2<i){for(a=0;a<i;a++)for(var s=i;s>a;s--)if(s-a>=this.B){var c=V(f,r,p,i,a);o=m.substring(a,s),H(this,u,o,c,e,n)}break}case`reverse`:if(1<i){for(s=i-1;0<s;s--)o=m[s]+o,o.length>=this.B&&H(this,u,o,V(f,r,p,i,s),e,n);o=``}case`forward`:if(1<i){for(s=0;s<i;s++)o+=m[s],o.length>=this.B&&H(this,u,o,a,e,n);break}default:if(this.C&&(a=Math.min(a/this.C(t,m,p)|0,f-1)),H(this,u,m,a,e,n),d&&1<r&&p<r-1){for(i=j(),o=this.A,a=m,s=Math.min(d+1,r-p),i[a]=1,c=1;c<s;c++)if((m=t[this.F?r-1-p-c:p+c])&&m.length>=this.B&&!i[m]){i[m]=1;let t=this.l&&m>a;H(this,l,t?a:m,V(o+(r/2>o?0:1),r,p,s-1,c-1),e,n,t?m:a)}}}}}this.m||(this.register[e]=1)}}return this};function V(e,t,n,r,i){return n&&1<e?t+(r||0)<=e?n+(i||0):(e-1)/(t+(r||0))*(n+(i||0))+1|0:0}function H(e,t,n,r,i,a,o){let s=o?e.h:e.map;(!t[n]||o&&!t[n][o])&&(e.s&&(s=s[r]),o?(t=t[n]||(t[n]=j()),t[o]=1,s=s[o]||(s[o]=j())):t[n]=1,s=s[n]||(s[n]=[]),e.s||(s=s[r]||(s[r]=[])),a&&s.includes(i)||(s[s.length]=i,e.m&&(e=e.register[i]||(e.register[i]=[]),e[e.length]=s)))}O.search=function(e,t,n){n||(!t&&N(e)?(n=e,e=n.query):N(t)&&(n=t));let r=[],i,a,o=0;if(n){e=n.query||e,t=n.limit,o=n.offset||0;var s=n.context;a=n.suggest}if(e&&(e=this.encode(``+e),i=e.length,1<i)){n=j();var c=[];for(let t=0,o=0,s;t<i;t++)if((s=e[t])&&s.length>=this.B&&!n[s])if(this.s||a||this.map[s])c[o++]=s,n[s]=1;else return r;e=c,i=e.length}if(!i)return r;t||=100,s=this.depth&&1<i&&!1!==s,n=0;let l;s?(l=e[0],n=1):1<i&&e.sort(we);for(let u,d;n<i;n++){if(d=e[n],s?(u=U(this,r,a,t,o,i===2,d,l),a&&!1===u&&r.length||(l=d)):u=U(this,r,a,t,o,i===1,d),u)return u;if(a&&n===i-1){if(c=r.length,!c){if(s){s=0,n=-1;continue}return r}if(c===1)return ze(r[0],t,o)}}return Pe(r,t,o,a)};function U(e,t,n,r,i,a,o,s){let c=[],l=s?e.h:e.map;if(e.s||(l=Be(l,o,s,e.l)),l){let n=0,u=Math.min(l.length,s?e.A:e.D);for(let t=0,d=0,f,p;t<u&&!((f=l[t])&&(e.s&&(f=Be(f,o,s,e.l)),i&&f&&a&&(p=f.length,p<=i?(i-=p,f=null):(f=f.slice(i),i=0)),f&&(c[n++]=f,a&&(d+=f.length,d>=r))));t++);if(n){if(a)return ze(c,r,0);t[t.length]=c;return}}return!n&&c}function ze(e,t,n){return e=e.length===1?e[0]:[].concat.apply([],e),n||e.length>t?e.slice(n,n+t):e}function Be(e,t,n,r){return n?(r&&=t>n,e=(e=e[r?t:n])&&e[r?n:t]):e=e[t],e}O.contain=function(e){return!!this.register[e]},O.update=function(e,t){return this.remove(e).add(e,t)},O.remove=function(e,t){let n=this.register[e];if(n){if(this.m)for(let t=0,r;t<n.length;t++)r=n[t],r.splice(r.indexOf(e),1);else W(this.map,e,this.D,this.s),this.depth&&W(this.h,e,this.A,this.s);if(t||delete this.register[e],this.cache){t=this.cache;for(let n=0,r,i;n<t.h.length;n++)i=t.h[n],r=t.cache[i],r.includes(e)&&(t.h.splice(n--,1),delete t.cache[i])}}return this};function W(e,t,n,r,i){let a=0;if(e.constructor===Array)if(i)t=e.indexOf(t),t===-1?a++:1<e.length&&(e.splice(t,1),a++);else{i=Math.min(e.length,n);for(let o=0,s;o<i;o++)(s=e[o])&&(a=W(s,t,n,r,i),r||a||delete e[o])}else for(let o in e)(a=W(e[o],t,n,r,i))||delete e[o];return a}O.searchCache=Ie,O.export=function(e,t,n,r,i,a){let o=!0;a===void 0&&(o=new Promise(e=>{a=e}));let s,c;switch(i||=0){case 0:if(s=`reg`,this.m){c=j();for(let e in this.register)c[e]=1}else c=this.register;break;case 1:s=`cfg`,c={doc:0,opt:+!!this.s};break;case 2:s=`map`,c=this.map;break;case 3:s=`ctx`,c=this.h;break;default:n===void 0&&a&&a();return}return Re(e,t||this,n,s,r,i,c,a),o},O.import=function(e,t){if(t)switch(M(t)&&(t=JSON.parse(t)),e){case`cfg`:this.s=!!t.opt;break;case`reg`:this.m=!1,this.register=t;break;case`map`:this.map=t;break;case`ctx`:this.h=t}},Ne(B.prototype);function Ve(e){e=e.data;var t=self._index;let n=e.args;var r=e.task;switch(r){case`init`:r=e.options||{},e=e.factory,t=r.encode,r.cache=!1,t&&t.indexOf(`function`)===0&&(r.encode=Function(`return `+t)()),e?(Function(`return `+e)()(self),self._index=new self.FlexSearch.Index(r),delete self.FlexSearch):self._index=new B(r);break;default:e=e.id,t=t[r].apply(t,n),postMessage(r===`search`?{id:e,msg:t}:{id:e})}}var He=0;function G(e){if(!(this instanceof G))return new G(e);var t;e?P(t=e.encode)&&(e.encode=t.toString()):e={},(t=(self||window)._factory)&&(t=t.toString());let n=typeof window>`u`&&self.exports,r=this;this.o=Ue(t,n,e.worker),this.h=j(),this.o&&(n?this.o.on(`message`,function(e){r.h[e.id](e.msg),delete r.h[e.id]}):this.o.onmessage=function(e){e=e.data,r.h[e.id](e.msg),delete r.h[e.id]},this.o.postMessage({task:`init`,factory:t,options:e}))}K(`add`),K(`append`),K(`search`),K(`update`),K(`remove`);function K(e){G.prototype[e]=G.prototype[e+`Async`]=function(){let t=this,n=[].slice.call(arguments);var r=n[n.length-1];let i;return P(r)&&(i=r,n.splice(n.length-1,1)),r=new Promise(function(r){setTimeout(function(){t.h[++He]=r,t.o.postMessage({task:e,id:He,args:n})})}),i?(r.then(i),this):r}}function Ue(e,t,n){let r;try{r=t?new(ue()).Worker(__dirname+`/node/node.js`):e?new Worker(URL.createObjectURL(new Blob([`onmessage=`+Ve.toString()],{type:`text/javascript`}))):new Worker(M(n)?n:`worker/worker.js`,{type:`module`})}catch{}return r}function q(e){if(!(this instanceof q))return new q(e);var t=e.document||e.doc||e,n;this.K=[],this.h=[],this.A=[],this.register=j(),this.key=(n=t.key||t.id)&&J(n,this.A)||`id`,this.m=k(e.fastupdate),this.C=(n=t.store)&&!0!==n&&[],this.store=n&&j(),this.I=(n=t.tag)&&J(n,this.A),this.l=n&&j(),this.cache=(n=e.cache)&&new z(n),e.cache=!1,this.o=e.worker,this.async=!1,n=j();let r=t.index||t.field||t;M(r)&&(r=[r]);for(let t=0,i,a;t<r.length;t++)i=r[t],M(i)||(a=i,i=i.field),a=N(a)?Object.assign({},e,a):e,this.o&&(n[i]=new G(a),n[i].o||(this.o=!1)),this.o||(n[i]=new B(a,this.register)),this.K[t]=J(i,this.A),this.h[t]=i;if(this.C)for(e=t.store,M(e)&&(e=[e]),t=0;t<e.length;t++)this.C[t]=J(e[t],this.A);this.index=n}function J(e,t){let n=e.split(`:`),r=0;for(let i=0;i<n.length;i++)e=n[i],0<=e.indexOf(`[]`)&&(e=e.substring(0,e.length-2))&&(t[r]=!0),e&&(n[r++]=e);return r<n.length&&(n.length=r),1<r?n:n[0]}function Y(e,t){if(M(t))e=e[t];else for(let n=0;e&&n<t.length;n++)e=e[t[n]];return e}function X(e,t,n,r,i){if(e=e[i],r===n.length-1)t[i]=e;else if(e)if(e.constructor===Array)for(t=t[i]=Array(e.length),i=0;i<e.length;i++)X(e,t,n,r,i);else t=t[i]||(t[i]=j()),i=n[++r],X(e,t,n,r,i)}function Z(e,t,n,r,i,a,o,s){if(e=e[o])if(r===t.length-1){if(e.constructor===Array){if(n[r]){for(t=0;t<e.length;t++)i.add(a,e[t],!0,!0);return}e=e.join(` `)}i.add(a,e,s,!0)}else if(e.constructor===Array)for(o=0;o<e.length;o++)Z(e,t,n,r,i,a,o,s);else o=t[++r],Z(e,t,n,r,i,a,o,s)}O=q.prototype,O.add=function(e,t,n){if(N(e)&&(t=e,e=Y(t,this.key)),t&&(e||e===0)){if(!n&&this.register[e])return this.update(e,t);for(let r=0,i,a;r<this.h.length;r++)a=this.h[r],i=this.K[r],M(i)&&(i=[i]),Z(t,i,this.A,0,this.index[a],e,i[0],n);if(this.I){let r=Y(t,this.I),i=j();M(r)&&(r=[r]);for(let t=0,a,o;t<r.length;t++)if(a=r[t],!i[a]&&(i[a]=1,o=this.l[a]||(this.l[a]=[]),!n||!o.includes(e))&&(o[o.length]=e,this.m)){let t=this.register[e]||(this.register[e]=[]);t[t.length]=o}}if(this.store&&(!n||!this.store[e])){let n;if(this.C){n=j();for(let e=0,r;e<this.C.length;e++)r=this.C[e],M(r)?n[r]=t[r]:X(t,n,r,0,r[0])}this.store[e]=n||t}}return this},O.append=function(e,t){return this.add(e,t,!0)},O.update=function(e,t){return this.remove(e).add(e,t)},O.remove=function(e){if(N(e)&&(e=Y(e,this.key)),this.register[e]){for(var t=0;t<this.h.length&&(this.index[this.h[t]].remove(e,!this.o),!this.m);t++);if(this.I&&!this.m)for(let n in this.l){t=this.l[n];let r=t.indexOf(e);r!==-1&&(1<t.length?t.splice(r,1):delete this.l[n])}this.store&&delete this.store[e],delete this.register[e]}return this},O.search=function(e,t,n,r){n||(!t&&N(e)?(n=e,e=``):N(t)&&(n=t,t=0));let i=[],a=[],o,s,c,l,u,d,f=0;if(n)if(n.constructor===Array)c=n,n=null;else{if(e=n.query||e,c=(o=n.pluck)||n.index||n.field,l=n.tag,s=this.store&&n.enrich,u=n.bool===`and`,t=n.limit||t||100,d=n.offset||0,l&&(M(l)&&(l=[l]),!e)){for(let e=0,n;e<l.length;e++)(n=We.call(this,l[e],t,d,s))&&(i[i.length]=n,f++);return f?i:[]}M(c)&&(c=[c])}c||=this.h,u&&=1<c.length||l&&1<l.length;let p=!r&&(this.o||this.async)&&[];for(let o=0,m,h,g;o<c.length;o++){let _;if(h=c[o],M(h)||(_=h,h=_.field,e=_.query||e,t=_.limit||t,s=_.enrich||s),p)p[o]=this.index[h].searchAsync(e,t,_||n);else{if(m=r?r[o]:this.index[h].search(e,t,_||n),g=m&&m.length,l&&g){let e=[],n=0;u&&(e[0]=[m]);for(let t=0,r,i;t<l.length;t++)r=l[t],(g=(i=this.l[r])&&i.length)&&(n++,e[e.length]=u?[i]:i);n&&(m=u?Pe(e,t||100,d||0):Fe(m,e),g=m.length)}if(g)a[f]=h,i[f++]=m;else if(u)return[]}}if(p){let r=this;return new Promise(function(i){Promise.all(p).then(function(a){i(r.search(e,t,n,a))})})}if(!f)return[];if(o&&(!s||!this.store))return i[0];for(let e=0,t;e<a.length;e++){if(t=i[e],t.length&&s&&(t=Ge.call(this,t)),o)return t;i[e]={field:a[e],result:t}}return i};function We(e,t,n,r){let i=this.l[e],a=i&&i.length-n;if(a&&0<a)return(a>t||n)&&(i=i.slice(n,n+t)),r&&(i=Ge.call(this,i)),{tag:e,result:i}}function Ge(e){let t=Array(e.length);for(let n=0,r;n<e.length;n++)r=e[n],t[n]={id:r,doc:this.store[r]};return t}O.contain=function(e){return!!this.register[e]},O.get=function(e){return this.store[e]},O.set=function(e,t){return this.store[e]=t,this},O.searchCache=Ie,O.export=function(e,t,n,r,i,a){let o;if(a===void 0&&(o=new Promise(e=>{a=e})),i||=0,r||=0,r<this.h.length){let n=this.h[r],o=this.index[n];t=this,setTimeout(function(){o.export(e,t,i?n:``,r,i++,a)||(r++,i=1,t.export(e,t,n,r,i,a))})}else{let t,o;switch(i){case 1:t=`tag`,o=this.l,n=null;break;case 2:t=`store`,o=this.store,n=null;break;default:a();return}Re(e,this,n,t,r,i,o,a)}return o},O.import=function(e,t){if(t)switch(M(t)&&(t=JSON.parse(t)),e){case`tag`:this.l=t;break;case`reg`:this.m=!1,this.register=t;for(let e=0,n;e<this.h.length;e++)n=this.index[this.h[e]],n.register=t,n.m=!1;break;case`store`:this.store=t;break;default:e=e.split(`.`);let n=e[0];e=e[1],n&&e&&this.index[n].import(e,t)}},Ne(q.prototype);var Ke={encode:Je,F:!1,G:``},qe=[I(`[àáâãäå]`),`a`,I(`[èéêë]`),`e`,I(`[ìíîï]`),`i`,I(`[òóôõöő]`),`o`,I(`[ùúûüű]`),`u`,I(`[ýŷÿ]`),`y`,I(`ñ`),`n`,I(`[çc]`),`k`,I(`ß`),`s`,I(` & `),` and `];function Je(e){var t=e=``+e;return t.normalize&&(t=t.normalize(`NFD`).replace(De,``)),Te.call(this,t.toLowerCase(),!e.normalize&&qe)}var Ye={encode:Qe,F:!1,G:`strict`},Xe=/[^a-z0-9]+/,Ze={b:`p`,v:`f`,w:`f`,z:`s`,x:`s`,ß:`s`,d:`t`,n:`m`,c:`k`,g:`k`,j:`k`,q:`k`,i:`e`,y:`e`,u:`o`};function Qe(e){e=Je.call(this,e).join(` `);let t=[];if(e){let n=e.split(Xe),r=n.length;for(let i=0,a,o=0;i<r;i++)if((e=n[i])&&(!this.filter||!this.filter[e])){a=e[0];let n=Ze[a]||a,r=n;for(let t=1;t<e.length;t++){a=e[t];let i=Ze[a]||a;i&&i!==r&&(n+=i,r=i)}t[o++]=n}}return t}var $e={encode:tt,F:!1,G:``},et=[I(`ae`),`a`,I(`oe`),`o`,I(`sh`),`s`,I(`th`),`t`,I(`ph`),`f`,I(`pf`),`f`,I(`(?![aeo])h(?![aeo])`),``,I(`(?!^[aeo])h(?!^[aeo])`),``];function tt(e,t){return e&&(e=Qe.call(this,e).join(` `),2<e.length&&(e=F(e,et)),t||(1<e.length&&(e=ke(e)),e&&=e.split(` `))),e||[]}var nt={encode:it,F:!1,G:``},rt=I(`(?!\\b)[aeo]`);function it(e){return e&&(e=tt.call(this,e,!0),1<e.length&&(e=e.replace(rt,``)),1<e.length&&(e=ke(e)),e&&=e.split(` `)),e||[]}L[`latin:default`]=Ae,L[`latin:simple`]=Ke,L[`latin:balance`]=Ye,L[`latin:advanced`]=$e,L[`latin:extra`]=nt;var at={Index:B,Document:q,Worker:G,registerCharset:function(e,t){L[e]=t},registerLanguage:function(e,t){Me[e]=t}},ot=100;function st(e,t){return e.model===`pro-page`?e.staticItems??[]:t[e.model]??[]}function ct(e,t){let n=[];return e.forEach(e=>{let r=be(t(e),e.model).slice(0,ot);r.length>0&&n.push({groupName:e.name,groupKey:e.key,options:r})}),n}function lt(e,t){let n=new Map(e.map(e=>{let n=new at.Document({tokenize:`forward`,document:{id:`id`,index:e.index,store:!0}});return st(e,t).forEach(e=>n.add(e)),[e.model,n]}));return{search(t){return ct(e,e=>{let r=new Set,i=[];return n.get(e.model)?.search(t,ot,{enrich:!0}).forEach(t=>{t.result.forEach(({doc:t})=>{r.has(t.id)||(r.add(t.id),i.push(xe(e,t)))})}),i})}}}function ut(e,t){let n=new Map(e.map(e=>[e.model,st(e,t).map(t=>xe(e,t))]));return{search(t){if(!t.trim())return[];let r=t.toLowerCase();return ct(e,e=>{let t=e.index.includes(`keywords`);return(n.get(e.model)??[]).filter(e=>e.title.toLowerCase().includes(r)||t&&!!e.keywords?.toLowerCase().includes(r))})}}}function dt(e,t,n){return t?.toLowerCase().startsWith(`en`)??!0?lt(e,n):ut(e,n)}var ft=200;function Q(e,t){let i=a(),o=r(),s=de(e,i),{data:c,isLoading:l,isFetching:u,isStale:d}=n({...s,queryFn:async()=>{try{return await s.queryFn()}catch(e){throw o(e),e}},enabled:t});return{items:c?.[e],isLoading:l||u&&d}}function pt(e){let[t]=ne(e,ft),n=e.trim()!==``,r=Q(`posts`,n),a=Q(`pages`,n),o=Q(`tags`,n),c=Q(`users`,n),{data:l,isLoading:u}=s(),{data:d,isLoading:f}=i(),{data:p,isLoading:m}=se(),h=le(),g=l?.config.hostSettings,_=!!h||!!g?.billing?.enabled&&!!(d&&te(d)),v=oe(p?.settings,`locale`),y=r.isLoading||a.isLoading||o.isLoading||c.isLoading||u||f||m,b=(0,C.useMemo)(()=>ve(_?g:void 0),[_,g]),x=(0,C.useMemo)(()=>y?null:dt(b,v,{post:r.items,page:a.items,tag:o.items,user:c.items}),[y,b,v,r.items,a.items,o.items,c.items]);return{results:(0,C.useMemo)(()=>n&&x?x.search(t):[],[n,x,t]),isLoading:n&&(y||e!==t)}}var $=o();function mt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function ht(e,t){let n=[],r=0;for(let i of e.matchAll(new RegExp(mt(t),`gi`)))i.index>r&&n.push({start:r,text:e.slice(r,i.index),match:!1}),n.push({start:i.index,text:i[0],match:!0}),r=i.index+i[0].length;return r<e.length&&n.push({start:r,text:e.slice(r),match:!1}),n}function gt({text:e,term:t}){return t.trim()?ht(e,t).map(e=>e.match?(0,$.jsx)(`mark`,{className:`bg-transparent font-semibold text-inherit underline`,children:e.text},e.start):(0,$.jsx)(C.Fragment,{children:e.text},e.start)):e}var _t={draft:{label:`Draft`,tone:`bg-pink/10 text-pink`},scheduled:{label:`Scheduled`,tone:`bg-green/10 text-green`}};function vt({status:e}){let t=e?_t[e]:void 0;return t?(0,$.jsx)(f,{className:u(`border-transparent`,t.tone),children:t.label}):null}function yt({onClose:e}){let[t,n]=(0,C.useState)(``),{results:r,isLoading:i}=pt(t),a=l(),{pathname:o}=c(),s=ce(),f=t=>{let n=Ce(t);e(),n&&(n.billingSubRoute&&o===n.path&&s(n.path)&&d(n.billingSubRoute)||a(n.path,{crossApp:s(n.path)}))},p=t.trim()!==``;return(0,$.jsxs)(b,{className:u(`sm:rounded-lg`,!p&&`[&_[cmdk-input-wrapper]]:border-b-0`),shouldFilter:!1,children:[(0,$.jsx)(x,{placeholder:`Search site`,value:t,onValueChange:n}),(0,$.jsxs)(_,{className:u(`max-h-[50vh]`,!p&&`hidden`),children:[r.map((e,n)=>(0,$.jsxs)(C.Fragment,{children:[n>0&&(0,$.jsx)(y,{alwaysRender:!0}),(0,$.jsx)(g,{className:`[&_[cmdk-group-heading]]:tracking-wide [&_[cmdk-group-heading]]:uppercase`,heading:e.groupName,children:e.options.map(e=>(0,$.jsxs)(ee,{className:`justify-between`,value:e.id,onSelect:()=>f(e),children:[(0,$.jsx)(`span`,{className:`truncate`,children:(0,$.jsx)(gt,{term:t,text:e.title})}),(0,$.jsx)(vt,{status:e.status})]},e.id))})]},e.groupKey??e.groupName)),p&&r.length===0&&(0,$.jsx)(v,{children:i?`Loading`:`No results found`})]})]})}function bt({open:e,onOpenChange:t}){return(0,$.jsx)(h,{open:e,onOpenChange:t,children:(0,$.jsxs)(p,{"aria-describedby":void 0,className:`gap-0 p-0`,children:[(0,$.jsx)(m,{className:`sr-only`,children:`Search site`}),(0,$.jsx)(yt,{onClose:()=>t(!1)})]})})}export{bt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`854f12ed-28d9-4e44-a29d-2a7486a7bc66`,e._sentryDebugIdIdentifier=`sentry-dbid-854f12ed-28d9-4e44-a29d-2a7486a7bc66`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{t as n}from"./jsx-runtime-Bm2_KH-0.js";import{i as r,n as i,t as a}from"./source-icon-DqBCPDIK.js";import{h as o}from"./chunk-OB3PAWPO-D3muQBsq.js";import{a as s}from"./router-provider-Cf-bcYZr.js";import{H as c,L as l}from"./shade-provider-DvrXKKQZ.js";import{Bn as u,L as d,c as f,g as p,t as m,u as h}from"./button-CTHYSI-d.js";import{a as g,i as _,n as v,o as y,r as b,t as x}from"./card-Cd6xB_Ok.js";import{t as S}from"./empty-indicator-BhVwqSVH.js";import{n as C,t as w}from"./skeleton-C1s6yr9e.js";import{a as T,c as E,n as D,r as O,s as k,t as A}from"./table-DQ63Yu4a.js";import{$ as j,$t as M,M as ee,Q as N,Zt as P,et as F,nt as I,rt as L,st as R,tt as z}from"./index-RuRs_qGS.js";import{t as B}from"./disabled-sources-indicator-DSRkkSw-.js";import{t as V}from"./chart-helpers-BSuFLd6-.js";import{t as te}from"./use-analytics-data-Byf83QE-.js";import{a as H,i as U,n as W,r as G,t as K}from"./kpi-card-Djsroynj.js";import{r as q,t as J}from"./post-analytics-header-D2anehCj.js";import{t as Y}from"./use-post-referrers-Bc8eq4uy.js";var X=e(t(),1),Z=n(),Q=`https://www.google.com/s2/favicons?domain=ghost.org&sz=64`,$=({headerStyle:e=`table`,children:t=`Source`,data:n,mode:r,defaultSourceIconUrl:i=Q})=>{let o=M();if(r===`growth`)return(0,Z.jsxs)(A,{children:[(0,Z.jsx)(k,{children:(0,Z.jsxs)(E,{children:[(0,Z.jsx)(T,{className:`min-w-[320px]`,variant:e===`table`?`default`:`cardhead`,children:t}),(0,Z.jsx)(T,{className:`w-[110px] text-right`,children:`Free members`}),o&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(T,{className:`w-[110px] text-right`,children:`Paid members`}),(0,Z.jsx)(T,{className:`w-[100px] text-right`,children:`MRR impact`})]})]})}),(0,Z.jsx)(D,{children:n?.map(e=>(0,Z.jsxs)(E,{className:`last:border-none`,children:[(0,Z.jsx)(O,{children:e.linkUrl?(0,Z.jsxs)(`a`,{className:`group flex items-center gap-2`,href:e.linkUrl,rel:`noreferrer`,target:`_blank`,children:[(0,Z.jsx)(a,{defaultSourceIconUrl:i,displayName:e.displayName,iconSrc:e.iconSrc}),(0,Z.jsx)(`span`,{className:`group-hover:underline`,children:e.displayName})]}):(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(a,{defaultSourceIconUrl:i,displayName:e.displayName,iconSrc:e.iconSrc}),(0,Z.jsx)(`span`,{children:e.displayName})]})}),(0,Z.jsxs)(O,{className:`text-right font-mono text-sm`,children:[`+`,c(e.free_members||0)]}),o&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(O,{className:`text-right font-mono text-sm`,children:[`+`,c(e.paid_members||0)]}),(0,Z.jsxs)(O,{className:`text-right font-mono text-sm`,children:[`+$`,c(V(e.mrr||0))]})]})]},e.source))})]})},ne=({title:e=`Top sources`,description:t,data:n,mode:a=`visits`,range:o=30,totalVisitors:s=0,siteUrl:c,siteIcon:u,defaultSourceIconUrl:f=Q,getPeriodText:h,className:C})=>{let w=P(),T=X.useMemo(()=>r({data:n,mode:a,siteUrl:c,siteIcon:u,defaultSourceIconUrl:f}),[n,c,u,a,f]),E=X.useMemo(()=>i({processedData:T,totalVisitors:s,mode:a}),[T,s,a]),D=E.slice(0,10),O=t||(a===`growth`?`Where did your growth come from?`:`How readers found your ${o?`site`:`post`}${o&&h?` ${h(o)}`:``}`),k=a===`growth`?`Sources`:`Top sources`,A=a===`growth`?`Where did your growth come from?`:`How readers found your ${o?`site`:`post`}${o&&h?` ${h(o)}`:``}`;return(0,Z.jsxs)(x,{className:l(`group/datalist w-full max-w-[calc(100vw-64px)] overflow-x-auto sidebar:max-w-[calc(100vw-64px-280px)]`,C),"data-testid":`top-sources-card`,children:[D.length<=0&&(0,Z.jsxs)(g,{children:[(0,Z.jsx)(y,{children:e}),(0,Z.jsx)(b,{children:O})]}),(0,Z.jsx)(v,{children:a===`growth`&&!w?(0,Z.jsx)(B,{className:`py-10`}):D.length>0?(0,Z.jsx)($,{data:D,defaultSourceIconUrl:f,getPeriodText:h,headerStyle:`card`,mode:a,range:o,children:(0,Z.jsxs)(g,{children:[(0,Z.jsx)(y,{children:e}),(0,Z.jsx)(b,{children:O})]})}):(0,Z.jsx)(`div`,{className:`py-20 text-center text-sm text-gray-700`,children:(0,Z.jsx)(S,{className:`h-full`,description:a===`growth`&&`Once someone signs up on this post, sources will show here`,title:`No sources data available ${h?h(o):``}`,children:(0,Z.jsx)(p,{strokeWidth:1.5})})})}),E.length>10&&(0,Z.jsx)(_,{children:(0,Z.jsxs)(N,{children:[(0,Z.jsx)(L,{asChild:!0,children:(0,Z.jsxs)(m,{variant:`subtle`,children:[`View all `,(0,Z.jsx)(d,{})]})}),(0,Z.jsxs)(j,{className:`overflow-y-auto pt-0 sm:max-w-[420px]`,children:[(0,Z.jsxs)(z,{className:`sticky top-0 z-40 -mx-6 bg-surface-elevated/60 p-6 backdrop-blur`,children:[(0,Z.jsx)(I,{children:k}),(0,Z.jsx)(F,{children:A})]}),(0,Z.jsx)(`div`,{className:`group/datalist`,children:(0,Z.jsx)($,{data:E,defaultSourceIconUrl:f,getPeriodText:h,mode:a,range:o})})]})]})})]})},re=()=>{let{site:e}=te(),{postId:t}=o(),{stats:n,totals:r,isLoading:i,currencySymbol:a}=Y(t||``),l=M(),d=s(),p=e=>d(ee({filter:e})),m=e.url,_=e.icon,S=`flex flex-col items-stretch gap-6`,T=``;return l||(S=`grid grid-cols-1 border rounded-md`,T=`border-none hover:shadow-none`),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(J,{currentTab:`Growth`}),(0,Z.jsx)(q,{children:i?(0,Z.jsxs)(`div`,{className:S,children:[(0,Z.jsx)(x,{className:T,children:(0,Z.jsx)(v,{className:`grid grid-cols-3 p-0`,children:Array.from({length:3},(e,t)=>(0,Z.jsxs)(`div`,{className:`h-[98px] gap-1 border-r px-6 py-5 last:border-r-0`,children:[(0,Z.jsx)(w,{className:`w-2/3`}),(0,Z.jsx)(w,{className:`h-7 w-12`})]},t))})}),(0,Z.jsxs)(x,{className:T,children:[(0,Z.jsxs)(g,{children:[(0,Z.jsx)(y,{children:`Top sources`}),(0,Z.jsx)(b,{children:`Where did your growth come from?`})]}),(0,Z.jsxs)(v,{children:[(0,Z.jsx)(R,{}),(0,Z.jsx)(C,{className:`pt-6`})]})]})]}):(0,Z.jsxs)(`div`,{className:S,children:[(0,Z.jsxs)(x,{className:T,"data-testid":`members-card`,children:[(0,Z.jsxs)(g,{className:`hidden`,children:[(0,Z.jsx)(y,{children:`Newsletters`}),(0,Z.jsx)(b,{children:`How did this post perform`})]}),(0,Z.jsx)(v,{className:`p-0`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col md:grid md:items-stretch ${l?`md:grid-cols-3`:`md:grid-cols-1`}`,children:[(0,Z.jsxs)(K,{className:`grow`,children:[(0,Z.jsx)(U,{onClick:()=>{p(`signup:'${t}'+conversion:-'${t}'`)},children:`View members →`}),(0,Z.jsxs)(G,{onClick:()=>{p(`signup:'${t}'+conversion:-'${t}'`)},children:[(0,Z.jsx)(h,{strokeWidth:1.5}),`Free members`]}),(0,Z.jsx)(W,{children:(0,Z.jsx)(H,{children:c(r?.free_members||0)})})]}),l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(K,{className:`grow`,children:[(0,Z.jsx)(U,{onClick:()=>{p(`conversion:'${t}'`)},children:`View members →`}),(0,Z.jsxs)(G,{onClick:()=>{p(`conversion:'${t}'`)},children:[(0,Z.jsx)(f,{strokeWidth:1.5}),`Paid members`]}),(0,Z.jsx)(W,{children:(0,Z.jsx)(H,{children:c(r?.paid_members||0)})})]}),(0,Z.jsxs)(K,{className:`grow`,children:[(0,Z.jsxs)(G,{children:[(0,Z.jsx)(u,{strokeWidth:1.5}),`MRR`]}),(0,Z.jsx)(W,{children:(0,Z.jsxs)(H,{children:[`+`,a,V(r?.mrr||0)]})})]})]})]})})]}),!l&&(0,Z.jsx)(R,{}),(0,Z.jsx)(ne,{className:T,data:n,mode:`growth`,siteIcon:_,siteUrl:m})]})})]})};export{re as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`12f558ad-5c93-4d3e-9501-750f5d0b7c74`,e._sentryDebugIdIdentifier=`sentry-dbid-12f558ad-5c93-4d3e-9501-750f5d0b7c74`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{t as n}from"./jsx-runtime-Bm2_KH-0.js";import{i as r}from"./pagemenu--UL0gW1x.js";import{i}from"./currency-DgOqjQBh.js";import{r as a,t as o}from"./source-icon-BjVangBd.js";import{_ as s}from"./chunk-OB3PAWPO-D3muQBsq.js";import{a as c}from"./router-provider-Cf-bcYZr.js";import{H as l,R as u,X as d,Y as f,Z as p,z as m}from"./shade-provider-DvrXKKQZ.js";import{L as h,On as g,dr as _,fr as v,lr as y,t as b}from"./button-CTHYSI-d.js";import{a as x,n as S,o as C,r as w,t as T}from"./card-Cd6xB_Ok.js";import{E as ee}from"./_baseAssignValue-cSgMM8MI.js";import{$ as E,C as te,E as ne,I as re,J as ie,K as ae,P as D,Q as O,S as k,Y as oe,Z as se,_ as ce,a as le,at as ue,b as de,ct as fe,dt as pe,et as me,g as he,i as ge,it as _e,n as ve,nt as ye,ot as A,r as be,st as j,ut as xe,w as Se,x as Ce,y as we}from"./chart-DnWIZbyZ.js";import{n as Te,t as Ee}from"./PolarAngleAxis-DQPGiC26.js";import{i as De,n as Oe,r as ke,t as Ae}from"./gh-chart-Boqv6SC0.js";import{n as je,t as M}from"./sort-button-ZZ-vJtEB.js";import{t as Me}from"./empty-indicator-BhVwqSVH.js";import{t as Ne}from"./skeleton-C1s6yr9e.js";import{t as Pe}from"./loading-indicator-DaRyGrxv.js";import{i as Fe,n as Ie,o as Le,s as Re,t as ze}from"./select-DeloOYCg.js";import{a as N,c as P,i as Be,n as F,r as I,s as Ve,t as He}from"./table-DQ63Yu4a.js";import{i as L,r as Ue,t as We}from"./tabs-CDb_TceL.js";import{n as Ge,r as R,t as Ke}from"./kpi-tabs-V1_Nu9sh.js";import{a as qe}from"./tiers-D7aGzwZ-.js";import{$ as Je,$t as Ye,Q as Xe,V as Ze,X as Qe,Zt as $e,ct as et,et as tt,ft as nt,nt as rt,q as z,rt as it,st as at,tt as ot,ut as st,vt as ct}from"./index-CuDhPtkB.js";import{i as lt,n as ut,r as dt,t as ft}from"./stats-view-DQZzKeEz.js";import{t as pt}from"./disabled-sources-indicator-DSRkkSw-.js";import{h as mt,i as ht,p as gt}from"./stats-CHOikfoP.js";import{a as _t,c as B,i as V,n as H,r as vt,s as yt,t as U}from"./chart-helpers-D-3N170i.js";import{t as bt}from"./use-growth-stats-BS62uyyn.js";import{t as xt}from"./use-analytics-data-oJ2o0pSS.js";import{n as St}from"./audience-Deg9lzfk.js";import{n as Ct}from"./referrers-DzP5QoXL.js";import{i as wt,r as Tt,t as W}from"./content-helpers-CwNOgwTh.js";import{t as Et}from"./url-helpers-BGuw1NzR.js";import{t as Dt}from"./get-site-timezone-BnQQpb6P.js";var G=e(t()),Ot=e(pe()),kt=e(re()),K=e(xe()),q=e(ee()),At;function J(e){"@babel/helpers - typeof";return J=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},J(e)}function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Y.apply(this,arguments)}function jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function X(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?jt(Object(n),!0).forEach(function(t){Z(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Mt(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Nt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Ht(r.key),r)}}function Pt(e,t,n){return t&&Nt(e.prototype,t),n&&Nt(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ft(e,t,n){return t=zt(t),It(e,Rt()?Reflect.construct(t,n||[],zt(e).constructor):t.apply(e,n))}function It(e,t){if(t&&(J(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return Lt(e)}function Lt(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function Rt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Rt=function(){return!!e})()}function zt(e){return zt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},zt(e)}function Bt(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Vt(e,t)}function Vt(e,t){return Vt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Vt(e,t)}function Z(e,t,n){return t=Ht(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e){var t=Ut(e,`string`);return J(t)==`symbol`?t:t+``}function Ut(e,t){if(J(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(J(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Q=function(e){function t(e){var n;return Mt(this,t),n=Ft(this,t,[e]),Z(n,`pieRef`,null),Z(n,`sectorRefs`,[]),Z(n,`id`,fe(`recharts-pie-`)),Z(n,`handleAnimationEnd`,function(){var e=n.props.onAnimationEnd;n.setState({isAnimationFinished:!0}),(0,q.default)(e)&&e()}),Z(n,`handleAnimationStart`,function(){var e=n.props.onAnimationStart;n.setState({isAnimationFinished:!1}),(0,q.default)(e)&&e()}),n.state={isAnimationFinished:!e.isAnimationActive,prevIsAnimationActive:e.isAnimationActive,prevAnimationId:e.animationId,sectorToFocus:0},n}return Bt(t,e),Pt(t,[{key:`isActiveIndex`,value:function(e){var t=this.props.activeIndex;return Array.isArray(t)?t.indexOf(e)!==-1:e===t}},{key:`hasActiveIndex`,value:function(){var e=this.props.activeIndex;return Array.isArray(e)?e.length!==0:e||e===0}},{key:`renderLabels`,value:function(e){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var n=this.props,r=n.label,i=n.labelLine,a=n.dataKey,o=n.valueKey,s=E(this.props,!1),c=E(r,!1),l=E(i,!1),u=r&&r.offsetRadius||20,d=e.map(function(e,n){var d=(e.startAngle+e.endAngle)/2,f=ne(e.cx,e.cy,e.outerRadius+u,d),p=X(X(X(X({},s),e),{},{stroke:`none`},c),{},{index:n,textAnchor:t.getTextAnchor(f.x,e.cx)},f),m=X(X(X(X({},s),e),{},{fill:`none`,stroke:e.fill},l),{},{index:n,points:[ne(e.cx,e.cy,e.outerRadius,d),f]}),h=a;return(0,K.default)(a)&&(0,K.default)(o)?h=`value`:(0,K.default)(a)&&(h=o),G.createElement(O,{key:`label-${e.startAngle}-${e.endAngle}-${e.midAngle}-${n}`},i&&t.renderLabelLineItem(i,m,`line`),t.renderLabelItem(r,p,D(e,h)))});return G.createElement(O,{className:`recharts-pie-labels`},d)}},{key:`renderSectorsStatically`,value:function(e){var t=this,n=this.props,r=n.activeShape,i=n.blendStroke,a=n.inactiveShape;return e.map(function(n,o){if(n?.startAngle===0&&n?.endAngle===0&&e.length!==1)return null;var s=t.isActiveIndex(o),c=a&&t.hasActiveIndex()?a:null,l=s?r:c,u=X(X({},n),{},{stroke:i?n.fill:n.stroke,tabIndex:-1});return G.createElement(O,Y({ref:function(e){e&&!t.sectorRefs.includes(e)&&t.sectorRefs.push(e)},tabIndex:-1,className:`recharts-pie-sector`},ye(t.props,n,o),{key:`sector-${n?.startAngle}-${n?.endAngle}-${n.midAngle}-${o}`}),G.createElement(ce,Y({option:l,isActive:s,shapeType:`sector`},u)))})}},{key:`renderSectorsWithAnimation`,value:function(){var e=this,t=this.props,n=t.sectors,r=t.isAnimationActive,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.animationId,c=this.state,l=c.prevSectors,u=c.prevIsAnimationActive;return G.createElement(we,{begin:i,duration:a,isActive:r,easing:o,from:{t:0},to:{t:1},key:`pie-${s}-${u}`,onAnimationStart:this.handleAnimationStart,onAnimationEnd:this.handleAnimationEnd},function(t){var r=t.t,i=[],a=(n&&n[0]).startAngle;return n.forEach(function(e,t){var n=l&&l[t],o=t>0?(0,Ot.default)(e,`paddingAngle`,0):0;if(n){var s=ue(n.endAngle-n.startAngle,e.endAngle-e.startAngle),c=X(X({},e),{},{startAngle:a+o,endAngle:a+s(r)+o});i.push(c),a=c.endAngle}else{var u=e.endAngle,d=e.startAngle,f=ue(0,u-d)(r),p=X(X({},e),{},{startAngle:a+o,endAngle:a+f+o});i.push(p),a=p.endAngle}}),G.createElement(O,null,e.renderSectorsStatically(i))})}},{key:`attachKeyboardHandlers`,value:function(e){var t=this;e.onkeydown=function(e){if(!e.altKey)switch(e.key){case`ArrowLeft`:var n=++t.state.sectorToFocus%t.sectorRefs.length;t.sectorRefs[n].focus(),t.setState({sectorToFocus:n});break;case`ArrowRight`:var r=--t.state.sectorToFocus<0?t.sectorRefs.length-1:t.state.sectorToFocus%t.sectorRefs.length;t.sectorRefs[r].focus(),t.setState({sectorToFocus:r});break;case`Escape`:t.sectorRefs[t.state.sectorToFocus].blur(),t.setState({sectorToFocus:0});break;default:}}}},{key:`renderSectors`,value:function(){var e=this.props,t=e.sectors,n=e.isAnimationActive,r=this.state.prevSectors;return n&&t&&t.length&&(!r||!(0,kt.default)(r,t))?this.renderSectorsWithAnimation():this.renderSectorsStatically(t)}},{key:`componentDidMount`,value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:`render`,value:function(){var e=this,t=this.props,n=t.hide,r=t.sectors,i=t.className,a=t.label,o=t.cx,s=t.cy,c=t.innerRadius,l=t.outerRadius,u=t.isAnimationActive,d=this.state.isAnimationFinished;if(n||!r||!r.length||!A(o)||!A(s)||!A(c)||!A(l))return null;var f=p(`recharts-pie`,i);return G.createElement(O,{tabIndex:this.props.rootTabIndex,className:f,ref:function(t){e.pieRef=t}},this.renderSectors(),a&&this.renderLabels(r),k.renderCallByParent(this.props,null,!1),(!u||d)&&Ce.renderCallByParent(this.props,r,!1))}}],[{key:`getDerivedStateFromProps`,value:function(e,t){return t.prevIsAnimationActive===e.isAnimationActive?e.isAnimationActive&&e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curSectors:e.sectors,prevSectors:t.curSectors,isAnimationFinished:!0}:e.sectors===t.curSectors?null:{curSectors:e.sectors,isAnimationFinished:!0}:{prevIsAnimationActive:e.isAnimationActive,prevAnimationId:e.animationId,curSectors:e.sectors,prevSectors:[],isAnimationFinished:!0}}},{key:`getTextAnchor`,value:function(e,t){return e>t?`start`:e<t?`end`:`middle`}},{key:`renderLabelLineItem`,value:function(e,t,n){if(G.isValidElement(e))return G.cloneElement(e,t);if((0,q.default)(e))return e(t);var r=p(`recharts-pie-label-line`,typeof e==`boolean`?``:e.className);return G.createElement(de,Y({},t,{key:n,type:`linear`,className:r}))}},{key:`renderLabelItem`,value:function(e,t,n){if(G.isValidElement(e))return G.cloneElement(e,t);var r=n;if((0,q.default)(e)&&(r=e(t),G.isValidElement(r)))return r;var i=p(`recharts-pie-label-text`,typeof e!=`boolean`&&!(0,q.default)(e)?e.className:``);return G.createElement(ae,Y({},t,{alignmentBaseline:`middle`,className:i}),r)}}])}(G.PureComponent);At=Q,Z(Q,`displayName`,`Pie`),Z(Q,`defaultProps`,{stroke:`#fff`,fill:`#808080`,legendType:`rect`,cx:`50%`,cy:`50%`,startAngle:0,endAngle:360,innerRadius:0,outerRadius:`80%`,paddingAngle:0,labelLine:!0,hide:!1,minAngle:0,isAnimationActive:!oe.isSsr,animationBegin:400,animationDuration:1500,animationEasing:`ease`,nameKey:`name`,blendStroke:!1,rootTabIndex:0}),Z(Q,`parseDeltaAngle`,function(e,t){return j(t-e)*Math.min(Math.abs(t-e),360)}),Z(Q,`getRealPieData`,function(e){var t=e.data,n=e.children,r=E(e,!1),i=me(n,ie);return t&&t.length?t.map(function(e,t){return X(X(X({payload:e},r),e),i&&i[t]&&i[t].props)}):i&&i.length?i.map(function(e){return X(X({},r),e.props)}):[]}),Z(Q,`parseCoordinateOfPie`,function(e,t){var n=t.top,r=t.left,i=t.width,a=t.height,o=Se(i,a);return{cx:r+_e(e.cx,i,i/2),cy:n+_e(e.cy,a,a/2),innerRadius:_e(e.innerRadius,o,0),outerRadius:_e(e.outerRadius,o,o*.8),maxRadius:e.maxRadius||Math.sqrt(i*i+a*a)/2}}),Z(Q,`getComposedData`,function(e){var t=e.item,n=e.offset,r=t.type.defaultProps===void 0?t.props:X(X({},t.type.defaultProps),t.props),i=At.getRealPieData(r);if(!i||!i.length)return null;var a=r.cornerRadius,o=r.startAngle,s=r.endAngle,c=r.paddingAngle,l=r.dataKey,u=r.nameKey,d=r.valueKey,f=r.tooltipType,p=Math.abs(r.minAngle),m=At.parseCoordinateOfPie(r,n),h=At.parseDeltaAngle(o,s),g=Math.abs(h),_=l;(0,K.default)(l)&&(0,K.default)(d)?(se(!1,`Use "dataKey" to specify the value of pie,
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`12f558ad-5c93-4d3e-9501-750f5d0b7c74`,e._sentryDebugIdIdentifier=`sentry-dbid-12f558ad-5c93-4d3e-9501-750f5d0b7c74`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{t as n}from"./jsx-runtime-Bm2_KH-0.js";import{i as r}from"./pagemenu-DXr_U43J.js";import{i}from"./currency-DgOqjQBh.js";import{r as a,t as o}from"./source-icon-DqBCPDIK.js";import{_ as s}from"./chunk-OB3PAWPO-D3muQBsq.js";import{a as c}from"./router-provider-Cf-bcYZr.js";import{H as l,R as u,X as d,Y as f,Z as p,z as m}from"./shade-provider-DvrXKKQZ.js";import{L as h,On as g,dr as _,fr as v,lr as y,t as b}from"./button-CTHYSI-d.js";import{a as x,n as S,o as C,r as w,t as T}from"./card-Cd6xB_Ok.js";import{E as ee}from"./_baseAssignValue-cSgMM8MI.js";import{$ as E,C as te,E as ne,I as re,J as ie,K as ae,P as D,Q as O,S as k,Y as oe,Z as se,_ as ce,a as le,at as ue,b as de,ct as fe,dt as pe,et as me,g as he,i as ge,it as _e,n as ve,nt as ye,ot as A,r as be,st as j,ut as xe,w as Se,x as Ce,y as we}from"./chart-DnWIZbyZ.js";import{n as Te,t as Ee}from"./PolarAngleAxis-DQPGiC26.js";import{i as De,n as Oe,r as ke,t as Ae}from"./gh-chart-Boqv6SC0.js";import{n as je,t as M}from"./sort-button-ZZ-vJtEB.js";import{t as Me}from"./empty-indicator-BhVwqSVH.js";import{t as Ne}from"./skeleton-C1s6yr9e.js";import{t as Pe}from"./loading-indicator-DaRyGrxv.js";import{i as Fe,n as Ie,o as Le,s as Re,t as ze}from"./select-DeloOYCg.js";import{a as N,c as P,i as Be,n as F,r as I,s as Ve,t as He}from"./table-DQ63Yu4a.js";import{i as L,r as Ue,t as We}from"./tabs-fHs3A8WC.js";import{n as Ge,r as R,t as Ke}from"./kpi-tabs-k4A9-imn.js";import{a as qe}from"./tiers-DlvS8D6_.js";import{$ as Je,$t as Ye,Q as Xe,V as Ze,X as Qe,Zt as $e,ct as et,et as tt,ft as nt,nt as rt,q as z,rt as it,st as at,tt as ot,ut as st,vt as ct}from"./index-RuRs_qGS.js";import{i as lt,n as ut,r as dt,t as ft}from"./stats-view-BwbdkdOQ.js";import{t as pt}from"./disabled-sources-indicator-DSRkkSw-.js";import{h as mt,i as ht,p as gt}from"./stats-BL_FJ7Ns.js";import{a as _t,c as B,i as V,n as H,r as vt,s as yt,t as U}from"./chart-helpers-BSuFLd6-.js";import{t as bt}from"./use-growth-stats-CCpnBgqS.js";import{t as xt}from"./use-analytics-data-Byf83QE-.js";import{n as St}from"./audience-Dn7LuH-r.js";import{n as Ct}from"./referrers-C8LJlrBm.js";import{i as wt,r as Tt,t as W}from"./content-helpers-CwNOgwTh.js";import{t as Et}from"./url-helpers-BGuw1NzR.js";import{t as Dt}from"./get-site-timezone-BnQQpb6P.js";var G=e(t()),Ot=e(pe()),kt=e(re()),K=e(xe()),q=e(ee()),At;function J(e){"@babel/helpers - typeof";return J=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},J(e)}function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Y.apply(this,arguments)}function jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function X(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?jt(Object(n),!0).forEach(function(t){Z(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Mt(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Nt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Ht(r.key),r)}}function Pt(e,t,n){return t&&Nt(e.prototype,t),n&&Nt(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ft(e,t,n){return t=zt(t),It(e,Rt()?Reflect.construct(t,n||[],zt(e).constructor):t.apply(e,n))}function It(e,t){if(t&&(J(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return Lt(e)}function Lt(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function Rt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Rt=function(){return!!e})()}function zt(e){return zt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},zt(e)}function Bt(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Vt(e,t)}function Vt(e,t){return Vt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Vt(e,t)}function Z(e,t,n){return t=Ht(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e){var t=Ut(e,`string`);return J(t)==`symbol`?t:t+``}function Ut(e,t){if(J(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(J(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Q=function(e){function t(e){var n;return Mt(this,t),n=Ft(this,t,[e]),Z(n,`pieRef`,null),Z(n,`sectorRefs`,[]),Z(n,`id`,fe(`recharts-pie-`)),Z(n,`handleAnimationEnd`,function(){var e=n.props.onAnimationEnd;n.setState({isAnimationFinished:!0}),(0,q.default)(e)&&e()}),Z(n,`handleAnimationStart`,function(){var e=n.props.onAnimationStart;n.setState({isAnimationFinished:!1}),(0,q.default)(e)&&e()}),n.state={isAnimationFinished:!e.isAnimationActive,prevIsAnimationActive:e.isAnimationActive,prevAnimationId:e.animationId,sectorToFocus:0},n}return Bt(t,e),Pt(t,[{key:`isActiveIndex`,value:function(e){var t=this.props.activeIndex;return Array.isArray(t)?t.indexOf(e)!==-1:e===t}},{key:`hasActiveIndex`,value:function(){var e=this.props.activeIndex;return Array.isArray(e)?e.length!==0:e||e===0}},{key:`renderLabels`,value:function(e){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var n=this.props,r=n.label,i=n.labelLine,a=n.dataKey,o=n.valueKey,s=E(this.props,!1),c=E(r,!1),l=E(i,!1),u=r&&r.offsetRadius||20,d=e.map(function(e,n){var d=(e.startAngle+e.endAngle)/2,f=ne(e.cx,e.cy,e.outerRadius+u,d),p=X(X(X(X({},s),e),{},{stroke:`none`},c),{},{index:n,textAnchor:t.getTextAnchor(f.x,e.cx)},f),m=X(X(X(X({},s),e),{},{fill:`none`,stroke:e.fill},l),{},{index:n,points:[ne(e.cx,e.cy,e.outerRadius,d),f]}),h=a;return(0,K.default)(a)&&(0,K.default)(o)?h=`value`:(0,K.default)(a)&&(h=o),G.createElement(O,{key:`label-${e.startAngle}-${e.endAngle}-${e.midAngle}-${n}`},i&&t.renderLabelLineItem(i,m,`line`),t.renderLabelItem(r,p,D(e,h)))});return G.createElement(O,{className:`recharts-pie-labels`},d)}},{key:`renderSectorsStatically`,value:function(e){var t=this,n=this.props,r=n.activeShape,i=n.blendStroke,a=n.inactiveShape;return e.map(function(n,o){if(n?.startAngle===0&&n?.endAngle===0&&e.length!==1)return null;var s=t.isActiveIndex(o),c=a&&t.hasActiveIndex()?a:null,l=s?r:c,u=X(X({},n),{},{stroke:i?n.fill:n.stroke,tabIndex:-1});return G.createElement(O,Y({ref:function(e){e&&!t.sectorRefs.includes(e)&&t.sectorRefs.push(e)},tabIndex:-1,className:`recharts-pie-sector`},ye(t.props,n,o),{key:`sector-${n?.startAngle}-${n?.endAngle}-${n.midAngle}-${o}`}),G.createElement(ce,Y({option:l,isActive:s,shapeType:`sector`},u)))})}},{key:`renderSectorsWithAnimation`,value:function(){var e=this,t=this.props,n=t.sectors,r=t.isAnimationActive,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.animationId,c=this.state,l=c.prevSectors,u=c.prevIsAnimationActive;return G.createElement(we,{begin:i,duration:a,isActive:r,easing:o,from:{t:0},to:{t:1},key:`pie-${s}-${u}`,onAnimationStart:this.handleAnimationStart,onAnimationEnd:this.handleAnimationEnd},function(t){var r=t.t,i=[],a=(n&&n[0]).startAngle;return n.forEach(function(e,t){var n=l&&l[t],o=t>0?(0,Ot.default)(e,`paddingAngle`,0):0;if(n){var s=ue(n.endAngle-n.startAngle,e.endAngle-e.startAngle),c=X(X({},e),{},{startAngle:a+o,endAngle:a+s(r)+o});i.push(c),a=c.endAngle}else{var u=e.endAngle,d=e.startAngle,f=ue(0,u-d)(r),p=X(X({},e),{},{startAngle:a+o,endAngle:a+f+o});i.push(p),a=p.endAngle}}),G.createElement(O,null,e.renderSectorsStatically(i))})}},{key:`attachKeyboardHandlers`,value:function(e){var t=this;e.onkeydown=function(e){if(!e.altKey)switch(e.key){case`ArrowLeft`:var n=++t.state.sectorToFocus%t.sectorRefs.length;t.sectorRefs[n].focus(),t.setState({sectorToFocus:n});break;case`ArrowRight`:var r=--t.state.sectorToFocus<0?t.sectorRefs.length-1:t.state.sectorToFocus%t.sectorRefs.length;t.sectorRefs[r].focus(),t.setState({sectorToFocus:r});break;case`Escape`:t.sectorRefs[t.state.sectorToFocus].blur(),t.setState({sectorToFocus:0});break;default:}}}},{key:`renderSectors`,value:function(){var e=this.props,t=e.sectors,n=e.isAnimationActive,r=this.state.prevSectors;return n&&t&&t.length&&(!r||!(0,kt.default)(r,t))?this.renderSectorsWithAnimation():this.renderSectorsStatically(t)}},{key:`componentDidMount`,value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:`render`,value:function(){var e=this,t=this.props,n=t.hide,r=t.sectors,i=t.className,a=t.label,o=t.cx,s=t.cy,c=t.innerRadius,l=t.outerRadius,u=t.isAnimationActive,d=this.state.isAnimationFinished;if(n||!r||!r.length||!A(o)||!A(s)||!A(c)||!A(l))return null;var f=p(`recharts-pie`,i);return G.createElement(O,{tabIndex:this.props.rootTabIndex,className:f,ref:function(t){e.pieRef=t}},this.renderSectors(),a&&this.renderLabels(r),k.renderCallByParent(this.props,null,!1),(!u||d)&&Ce.renderCallByParent(this.props,r,!1))}}],[{key:`getDerivedStateFromProps`,value:function(e,t){return t.prevIsAnimationActive===e.isAnimationActive?e.isAnimationActive&&e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curSectors:e.sectors,prevSectors:t.curSectors,isAnimationFinished:!0}:e.sectors===t.curSectors?null:{curSectors:e.sectors,isAnimationFinished:!0}:{prevIsAnimationActive:e.isAnimationActive,prevAnimationId:e.animationId,curSectors:e.sectors,prevSectors:[],isAnimationFinished:!0}}},{key:`getTextAnchor`,value:function(e,t){return e>t?`start`:e<t?`end`:`middle`}},{key:`renderLabelLineItem`,value:function(e,t,n){if(G.isValidElement(e))return G.cloneElement(e,t);if((0,q.default)(e))return e(t);var r=p(`recharts-pie-label-line`,typeof e==`boolean`?``:e.className);return G.createElement(de,Y({},t,{key:n,type:`linear`,className:r}))}},{key:`renderLabelItem`,value:function(e,t,n){if(G.isValidElement(e))return G.cloneElement(e,t);var r=n;if((0,q.default)(e)&&(r=e(t),G.isValidElement(r)))return r;var i=p(`recharts-pie-label-text`,typeof e!=`boolean`&&!(0,q.default)(e)?e.className:``);return G.createElement(ae,Y({},t,{alignmentBaseline:`middle`,className:i}),r)}}])}(G.PureComponent);At=Q,Z(Q,`displayName`,`Pie`),Z(Q,`defaultProps`,{stroke:`#fff`,fill:`#808080`,legendType:`rect`,cx:`50%`,cy:`50%`,startAngle:0,endAngle:360,innerRadius:0,outerRadius:`80%`,paddingAngle:0,labelLine:!0,hide:!1,minAngle:0,isAnimationActive:!oe.isSsr,animationBegin:400,animationDuration:1500,animationEasing:`ease`,nameKey:`name`,blendStroke:!1,rootTabIndex:0}),Z(Q,`parseDeltaAngle`,function(e,t){return j(t-e)*Math.min(Math.abs(t-e),360)}),Z(Q,`getRealPieData`,function(e){var t=e.data,n=e.children,r=E(e,!1),i=me(n,ie);return t&&t.length?t.map(function(e,t){return X(X(X({payload:e},r),e),i&&i[t]&&i[t].props)}):i&&i.length?i.map(function(e){return X(X({},r),e.props)}):[]}),Z(Q,`parseCoordinateOfPie`,function(e,t){var n=t.top,r=t.left,i=t.width,a=t.height,o=Se(i,a);return{cx:r+_e(e.cx,i,i/2),cy:n+_e(e.cy,a,a/2),innerRadius:_e(e.innerRadius,o,0),outerRadius:_e(e.outerRadius,o,o*.8),maxRadius:e.maxRadius||Math.sqrt(i*i+a*a)/2}}),Z(Q,`getComposedData`,function(e){var t=e.item,n=e.offset,r=t.type.defaultProps===void 0?t.props:X(X({},t.type.defaultProps),t.props),i=At.getRealPieData(r);if(!i||!i.length)return null;var a=r.cornerRadius,o=r.startAngle,s=r.endAngle,c=r.paddingAngle,l=r.dataKey,u=r.nameKey,d=r.valueKey,f=r.tooltipType,p=Math.abs(r.minAngle),m=At.parseCoordinateOfPie(r,n),h=At.parseDeltaAngle(o,s),g=Math.abs(h),_=l;(0,K.default)(l)&&(0,K.default)(d)?(se(!1,`Use "dataKey" to specify the value of pie,
|
|
2
2
|
the props "valueKey" will be deprecated in 1.1.0`),_=`value`):(0,K.default)(l)&&(se(!1,`Use "dataKey" to specify the value of pie,
|
|
3
3
|
the props "valueKey" will be deprecated in 1.1.0`),_=d);var v=i.filter(function(e){return D(e,_,0)!==0}).length,y=(g>=360?v:v-1)*c,b=g-v*p-y,x=i.reduce(function(e,t){var n=D(t,_,0);return e+(A(n)?n:0)},0),S;if(x>0){var C;S=i.map(function(e,t){var n=D(e,_,0),r=D(e,u,t),i=(A(n)?n:0)/x,s=t?C.endAngle+j(h)*c*(n===0?0:1):o,l=s+j(h)*((n===0?0:p)+i*b),d=(s+l)/2,g=(m.innerRadius+m.outerRadius)/2;return C=X(X(X({percent:i,cornerRadius:a,name:r,tooltipPayload:[{name:r,value:n,payload:e,dataKey:_,type:f}],midAngle:d,middleRadius:g,tooltipPosition:ne(m.cx,m.cy,g,d)},e),m),{},{value:D(e,_),startAngle:s,endAngle:l,payload:e,paddingAngle:j(h)*c}),C})}return X(X({},m),{},{sectors:S,data:i})});var Wt=le({chartName:`PieChart`,GraphicalChild:Q,validateTooltipEventTypes:[`item`],defaultTooltipEventType:`item`,legendContent:`children`,axisComponents:[{axisType:`angleAxis`,AxisComp:Ee},{axisType:`radiusAxis`,AxisComp:Te}],formatAxisMap:te,defaultProps:{layout:`centric`,startAngle:0,endAngle:360,cx:`50%`,cy:`50%`,innerRadius:0,outerRadius:`80%`}}),$=n(),Gt=e=>e===`total-members`||e===`free-members`||e===`paid-members`||e===`mrr`,Kt=({active:e,payload:t,range:n,color:r,showBreakdown:i})=>{if(!e||!t?.length)return null;let a=t[0].payload,{date:o,formattedValue:s,label:c,comped:u,gift:d}=a,f=a.value-(u||0)-(d||0);return(0,$.jsxs)(`div`,{className:`min-w-[200px] rounded-lg border bg-background px-3 py-2 shadow-lg`,children:[o&&(0,$.jsx)(`div`,{className:`mb-1 text-sm text-foreground`,children:m(o,n||0)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsxs)(`div`,{className:`flex grow items-center justify-between gap-5`,children:[(0,$.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`Paid subscriptions`}),(0,$.jsx)(`div`,{className:`font-mono text-xs`,children:l(f)})]})}),(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsxs)(`div`,{className:`flex grow items-center justify-between gap-5`,children:[(0,$.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`Gift subscriptions`}),(0,$.jsx)(`div`,{className:`font-mono text-xs`,children:d!==void 0&&d>0?l(d):`0`})]})}),(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsxs)(`div`,{className:`flex grow items-center justify-between gap-5`,children:[(0,$.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`Complimentary`}),(0,$.jsx)(`div`,{className:`font-mono text-xs`,children:u!==void 0&&u>0?l(u):`0`})]})}),(0,$.jsx)(at,{})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`inline-block size-2 rounded-full opacity-50`,style:{backgroundColor:r||`var(--chart-purple)`}}),(0,$.jsxs)(`div`,{className:`flex grow items-center justify-between gap-5`,children:[c&&(0,$.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:c}),(0,$.jsx)(`div`,{className:`font-mono font-medium`,children:s})]})]})]})]})},qt=({chartData:e,totals:t,initialTab:n,currencySymbol:r,isLoading:i,onTabChange:a})=>{let o=Gt(n)?n:`total-members`,[u,d]=(0,G.useState)(o),{range:f}=Qe(),p=Ye(),m=c(),[h]=s();(0,G.useEffect)(()=>{d(o)},[o]);let g=e=>{d(e);let t=new URLSearchParams(h);t.set(`tab`,e),m(`?${t.toString()}`,{replace:!0}),a&&a(e)},{totalMembers:_,freeMembers:v,paidMembers:y,mrr:b,percentChanges:x,directions:S}=t,{chartData:C,chartRange:w}=(0,G.useMemo)(()=>{if(!e||e.length===0)return{chartData:[],chartRange:f};let t=[],n=`value`;switch(u){case`free-members`:n=`free`;break;case`paid-members`:n=`paid`;break;case`mrr`:n=`mrr`;break;default:n=`value`}t=B(e,f,n,`exact`);let i=[];switch(u){case`free-members`:i=t.map(e=>({...e,value:e.free,formattedValue:l(e.free),label:`Free members`}));break;case`paid-members`:i=t.map(e=>({...e,value:e.paid,formattedValue:l(e.paid),label:`Paid members`,comped:e.comped,gift:e.gift,paid_subscribed:e.paid_subscribed}));break;case`mrr`:i=t.map(e=>({...e,value:U(e.mrr),formattedValue:`${r}${l(U(e.mrr))}`,label:`MRR`}));break;default:i=t.map(e=>{let t=e.free+e.paid;return{...e,value:t,formattedValue:l(t),label:`Total members`}})}return{chartData:i,chartRange:vt(f,e,{fieldName:n})}},[u,e,f,r]),T={"total-members":{color:`var(--chart-darkblue)`},"free-members":{color:`var(--chart-blue)`},"paid-members":{color:`var(--chart-purple)`},mrr:{color:`var(--chart-teal)`}};return i?(0,$.jsx)(`div`,{className:`-mb-6 flex h-[calc(16vw+132px)] w-full items-start justify-center`,children:(0,$.jsx)(Pe,{})}):(0,$.jsxs)(We,{defaultValue:o,variant:`kpis`,children:[(0,$.jsxs)(Ue,{className:`-mx-6 ${p?`hidden grid-cols-4 lg:visible! lg:grid!`:`grid grid-cols-4`}`,children:[(0,$.jsx)(Ge,{className:p?``:`cursor-auto after:hidden`,value:`total-members`,onClick:()=>{p&&g(`total-members`)},children:(0,$.jsx)(R,{color:`var(--chart-darkblue)`,diffDirection:f===z.allTime.value?`hidden`:S.total,diffValue:x.total,label:`Total members`,value:l(_)})}),p&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ge,{value:`free-members`,onClick:()=>{g(`free-members`)},children:(0,$.jsx)(R,{color:`var(--chart-blue)`,diffDirection:f===z.allTime.value?`hidden`:S.free,diffValue:x.free,label:`Free members`,value:l(v)})}),(0,$.jsx)(Ge,{value:`paid-members`,onClick:()=>{g(`paid-members`)},children:(0,$.jsx)(R,{color:`var(--chart-purple)`,diffDirection:f===z.allTime.value?`hidden`:S.paid,diffValue:x.paid,label:`Paid members`,value:l(y)})}),(0,$.jsx)(Ge,{value:`mrr`,onClick:()=>{g(`mrr`)},children:(0,$.jsx)(R,{color:`var(--chart-teal)`,diffDirection:f===z.allTime.value?`hidden`:S.mrr,diffValue:x.mrr,label:`MRR`,value:`${r}${l(U(b))}`})})]})]}),p&&(0,$.jsxs)(et,{children:[(0,$.jsx)(ct,{className:`lg:hidden`,asChild:!0,children:(0,$.jsxs)(Ke,{children:[u===`total-members`&&(0,$.jsx)(R,{color:`var(--chart-darkblue)`,diffDirection:f===z.allTime.value?`hidden`:S.total,diffValue:x.total,label:`Total members`,value:l(_)}),u===`free-members`&&(0,$.jsx)(R,{color:`var(--chart-blue)`,diffDirection:f===z.allTime.value?`hidden`:S.free,diffValue:x.free,label:`Free members`,value:l(v)}),u===`paid-members`&&(0,$.jsx)(R,{color:`var(--chart-purple)`,diffDirection:f===z.allTime.value?`hidden`:S.paid,diffValue:x.paid,label:`Paid members`,value:l(y)}),u===`mrr`&&(0,$.jsx)(R,{color:`var(--chart-teal)`,diffDirection:f===z.allTime.value?`hidden`:S.mrr,diffValue:x.mrr,label:`MRR`,value:`${r}${l(U(b))}`})]})}),(0,$.jsxs)(st,{align:`end`,className:`w-56`,children:[(0,$.jsx)(nt,{onClick:()=>g(`total-members`),children:`Total members`}),(0,$.jsx)(nt,{onClick:()=>g(`free-members`),children:`Free members`}),(0,$.jsx)(nt,{onClick:()=>g(`paid-members`),children:`Paid members`}),(0,$.jsx)(nt,{onClick:()=>g(`mrr`),children:`MRR`})]})]}),(0,$.jsx)(`div`,{className:`my-4 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500`,children:(0,$.jsx)(Ae,{className:`-mb-3 h-[16vw] max-h-[320px] w-full min-h-[180px]`,color:T[u].color,data:C,dataFormatter:u===`mrr`?e=>`${r}${l(e)}`:l,id:u,range:w,tooltipContent:u===`paid-members`?(0,$.jsx)(Kt,{color:T[`paid-members`].color,range:w,showBreakdown:!0}):void 0})})]})},Jt=(e,t=`signups desc`,n=50)=>{let{startDate:r,endDate:i,timezone:a}=_t(e),o={date_from:H(r),date_to:H(i),member_status:St(Ze),order:t,limit:n.toString()};return a&&(o.timezone=a),Ct({searchParams:o})},Yt=({data:e,currencySymbol:t,limit:n,defaultSourceIconUrl:r})=>{let i=n?e.slice(0,n):e,a=Ye();return(0,$.jsx)(F,{children:i.map(e=>(0,$.jsxs)(P,{className:`last:border-none`,children:[(0,$.jsx)(I,{className:`font-medium`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(o,{defaultSourceIconUrl:r,displayName:e.displayName,iconSrc:e.iconSrc}),e.linkUrl?(0,$.jsx)(`a`,{className:`hover:underline`,href:e.linkUrl,rel:`noreferrer`,target:`_blank`,children:e.displayName}):(0,$.jsx)(`span`,{children:e.displayName})]})}),(0,$.jsxs)(I,{className:`text-right font-mono text-sm`,children:[`+`,l(e.free_members)]}),a&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(I,{className:`text-right font-mono text-sm`,children:[`+`,l(e.paid_members)]}),(0,$.jsxs)(I,{className:`text-right font-mono text-sm`,children:[`+`,t,l(U(e.mrr))]})]})]},e.source))})},Xt=({range:e,limit:t=20,showViewAll:n=!1,sortBy:r,setSortBy:o})=>{let{site:s}=xt(),{data:c}=ht(),l=Ye(),u=$e(),[d,f]=(0,G.useState)(`free_members desc`),p=r||d,m=o||f,{data:_,isLoading:v}=Jt(e,p.replace(`free_members`,`signups`).replace(`paid_members`,`paid_conversions`),t),y=s.url,x=`https://www.google.com/s2/favicons?domain=ghost.org&sz=64`,S=G.useMemo(()=>{if(c?.stats&&c?.meta?.totals){let e=c.meta.totals,t=e[0];if(!t)return i(`usd`);for(let n of e)n.mrr>t.mrr&&(t=n);return i(t.currency)}return i(`usd`)},[c]),C=G.useMemo(()=>_?.stats?_.stats.map(e=>{let t=e.source||`Direct`,{domain:n}=a(t,y),r=n?`https://www.faviconextractor.com/favicon/${n}?larger=true`:x,i=n&&t!==`Direct`?`https://${n}`:void 0;return{source:t,free_members:e.signups,paid_members:e.paid_conversions,mrr:e.mrr,iconSrc:r,displayName:t,linkUrl:i}}):[],[_,y]),w=`Where did your growth come from ${V(e)}`;return u?v?(0,$.jsx)(F,{children:(0,$.jsx)(P,{className:`last:border-none`,children:(0,$.jsx)(I,{className:`border-none py-2`,colSpan:1,children:(0,$.jsx)(Ne,{containerClassName:`space-y-2`,count:5,maxWidth:75,randomize:!0})})})}):(0,$.jsxs)($.Fragment,{children:[C.length>0?(0,$.jsx)(Yt,{currencySymbol:S,data:C,defaultSourceIconUrl:x,limit:t}):(0,$.jsx)(F,{children:(0,$.jsx)(P,{className:`last:border-none`,children:(0,$.jsx)(I,{className:`border-none py-12 group-hover:bg-transparent!`,colSpan:l?4:2,children:(0,$.jsx)(Me,{description:`Try adjusting your date range to see more data.`,title:`No conversions ${V(e)}`,children:(0,$.jsx)(g,{strokeWidth:1.5})})})})}),n&&C.length>t&&(0,$.jsx)(Be,{className:`border-none bg-transparent hover:bg-transparent!`,children:(0,$.jsx)(P,{children:(0,$.jsx)(I,{className:`border-none bg-transparent px-0 pb-0 hover:bg-transparent!`,colSpan:4,children:(0,$.jsxs)(Xe,{children:[(0,$.jsx)(it,{asChild:!0,children:(0,$.jsxs)(b,{variant:`outline`,children:[`View all `,(0,$.jsx)(h,{})]})}),(0,$.jsxs)(Je,{className:`overflow-y-auto pt-0 sm:max-w-[420px]`,children:[(0,$.jsxs)(ot,{className:`sticky top-0 z-40 -mx-6 bg-surface-elevated/60 p-6 backdrop-blur`,children:[(0,$.jsx)(rt,{children:`Top sources`}),(0,$.jsx)(tt,{children:w})]}),(0,$.jsx)(`div`,{className:`group/datalist`,children:(0,$.jsxs)(He,{children:[(0,$.jsx)(Ve,{children:(0,$.jsxs)(P,{children:[(0,$.jsx)(N,{children:`Source`}),(0,$.jsx)(N,{className:`w-[110px] text-right`,children:(0,$.jsx)(M,{activeSortBy:p,setSortBy:m,sortBy:`free_members desc`,children:`Free members`})}),l&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(N,{className:`w-[110px] text-right`,children:(0,$.jsx)(M,{activeSortBy:p,setSortBy:m,sortBy:`paid_members desc`,children:`Paid members`})}),(0,$.jsx)(N,{className:`w-[110px] text-right`,children:(0,$.jsx)(M,{activeSortBy:p,setSortBy:m,sortBy:`mrr desc`,children:`MRR impact`})})]})]})}),(0,$.jsx)(Yt,{currencySymbol:S,data:C,defaultSourceIconUrl:x})]})})]})]})})})})]}):(0,$.jsx)(F,{children:(0,$.jsx)(P,{className:`last:border-none`,children:(0,$.jsx)(I,{className:`border-none py-12 group-hover:bg-transparent!`,colSpan:l?4:2,children:(0,$.jsx)(pt,{})})})})};d();var Zt=({active:e,payload:t})=>{if(e&&t&&t.length){let e=t[0];return(0,$.jsx)(`div`,{className:`rounded-lg border bg-background p-2 shadow-sm`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`size-2 rounded-full opacity-50`,style:{backgroundColor:e.payload.color}}),(0,$.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,$.jsx)(`span`,{className:`font-mono`,children:l(e.value)})]})})}return null},Qt=({isLoading:e,range:t})=>{let{data:n}=gt(),{data:{tiers:r=[]}={}}=qe(),[i,a]=(0,G.useState)(`billing-period`),{startDate:o,endDate:s}=(0,G.useMemo)(()=>_t(t),[t]),c=(0,G.useMemo)(()=>H(o),[o]),u=(0,G.useMemo)(()=>H(s),[s]),d=(0,G.useMemo)(()=>r.filter(e=>e.type===`paid`&&e.active).map(e=>({id:e.id,name:e.name})),[r]),p=(0,G.useMemo)(()=>{if(!n?.stats)return[];let e=f(c),t=f(u),r=n.stats.filter(n=>{let r=f(n.date);return r.isSameOrAfter(e)&&r.isSameOrBefore(t)}).reduce((e,t)=>{let n=t.cadence;return e[n]||(e[n]=0),e[n]+=t.signups,e},{});return Object.entries(r).map(([e,t],n)=>{let r=e,i=`url(#gradientPurple)`,a=`var(--chart-purple)`;return e===`month`?(r=`Monthly`,i=`url(#gradientPurple)`,a=`var(--chart-purple)`):e===`year`&&(r=`Annual`,i=`url(#gradientTeal)`,a=`var(--chart-teal)`),{id:`cadence-${n}`,name:r,count:t,fill:i,color:a}})},[n,c,u]),m=(0,G.useMemo)(()=>{if(!n?.stats||d.length===0)return[];let e=f(c),t=f(u),r=n.stats.filter(n=>{let r=f(n.date);return r.isSameOrAfter(e)&&r.isSameOrBefore(t)}).reduce((e,t)=>{let n=t.tier;return e[n]||(e[n]=0),e[n]+=t.signups,e},{}),i=[{gradient:`url(#gradientPurple)`,solid:`var(--chart-purple)`},{gradient:`url(#gradientTeal)`,solid:`var(--chart-teal)`},{gradient:`url(#gradientBlue)`,solid:`var(--chart-blue)`},{gradient:`url(#gradientRose)`,solid:`var(--chart-rose)`},{gradient:`url(#gradientOrange)`,solid:`var(--chart-orange)`},{gradient:`url(#gradientGreen)`,solid:`var(--chart-green)`},{gradient:`url(#gradientAmber)`,solid:`var(--chart-amber)`},{gradient:`url(#gradientYellow)`,solid:`var(--chart-yellow)`},{gradient:`url(#gradientDarkblue)`,solid:`var(--chart-darkblue)`},{gradient:`url(#gradientGray)`,solid:`var(--chart-darkgray)`}];return[...d.map(e=>{let t=r[e.id]||0;return{id:e.id,name:e.name,count:t}})].sort((e,t)=>t.count-e.count).map((e,t)=>{let n=t%i.length;return{...e,fill:i[n].gradient,color:i[n].solid}})},[n,d,c,u]),h=i===`billing-period`?p:m,g=(0,G.useMemo)(()=>h.reduce((e,t)=>e+t.count,0),[h]),_=(0,G.useMemo)(()=>{let e={count:{label:`Subscriptions`}};return h.forEach(t=>{e[t.id]={label:t.name,color:t.color}}),e},[h]),v=(0,G.useMemo)(()=>g===0?[]:h.map(e=>({label:e.name,count:e.count,percentage:e.count/g*100,color:e.color})),[h,g]);if(e||!n?.stats)return null;let b=h.length>0&&g>0;return(0,$.jsxs)(T,{children:[(0,$.jsx)(x,{children:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(C,{children:`Paid subscription breakdown`}),(0,$.jsxs)(w,{children:[`New paid subscriptions `,V(t)]})]}),d.length>1&&(0,$.jsx)(`div`,{children:(0,$.jsxs)(ze,{value:i,onValueChange:e=>a(e),children:[(0,$.jsx)(Le,{className:`w-full`,children:(0,$.jsx)(Re,{})}),(0,$.jsxs)(Ie,{align:`end`,children:[(0,$.jsx)(Fe,{value:`billing-period`,children:`Billing period`}),(0,$.jsx)(Fe,{value:`tiers`,children:`Tiers`})]})]})})]})}),(0,$.jsx)(S,{children:b?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ve,{className:`mx-auto aspect-square h-[250px] min-h-[250px] w-full`,config:_,children:(0,$.jsxs)(Wt,{children:[(0,$.jsxs)(`defs`,{children:[(0,$.jsxs)(`linearGradient`,{id:`gradientPurple`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-purple)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-purple)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientTeal`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-teal)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-teal)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientRose`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-rose)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-rose)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientBlue`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-blue)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-blue)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientOrange`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-orange)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-orange)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientGreen`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-green)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-green)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientAmber`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-amber)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-amber)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientYellow`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-yellow)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-yellow)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientDarkblue`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-darkblue)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-darkblue)`,stopOpacity:.6})]}),(0,$.jsxs)(`linearGradient`,{id:`gradientGray`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-darkgray)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-darkgray)`,stopOpacity:.6})]})]}),(0,$.jsx)(be,{content:(0,$.jsx)(Zt,{}),cursor:!1}),(0,$.jsx)(Q,{animationBegin:0,animationDuration:1e3,data:h,dataKey:`count`,innerRadius:70,nameKey:`name`,stroke:`var(--card)`,strokeWidth:5,children:(0,$.jsx)(k,{content:({viewBox:e})=>{if(e&&`cx`in e&&`cy`in e)return(0,$.jsxs)(`text`,{dominantBaseline:`middle`,textAnchor:`middle`,x:e.cx,y:e.cy,children:[(0,$.jsx)(`tspan`,{className:`fill-foreground text-2xl font-semibold tracking-tight`,x:e.cx,y:e.cy,children:l(g)}),(0,$.jsx)(`tspan`,{className:`fill-muted-foreground`,x:e.cx,y:(e.cy||0)+20,children:`Total`})]})}})})]})}),v.length>0&&(0,$.jsx)(`div`,{className:`mt-4 flex flex-wrap items-center justify-center gap-x-6 gap-y-1 text-sm text-muted-foreground`,children:v.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`size-2 rounded-full opacity-50`,style:{backgroundColor:e.color}}),(0,$.jsx)(`span`,{className:`max-w-[150px] truncate whitespace-nowrap`,title:e.label,children:e.label}),(0,$.jsxs)(`span`,{className:`font-medium text-foreground`,children:[Math.round(Number(e.percentage)||0),`%`]})]},e.label))})]}):(0,$.jsx)(`div`,{className:`py-12`,children:(0,$.jsx)(Me,{description:`No new paid subscriptions ${V(t)}.`,title:`No new subscribers`,children:(0,$.jsx)(y,{strokeWidth:1.5})})})})]})};d();var $t=(e,t,n)=>{if(t===1){let t=f().format(`YYYY-MM-DD`),n=e.find(e=>e.date===t);return[{date:t,signups:n?.signups||0,cancellations:n?.cancellations||0}]}let{startDate:r,endDate:i}=_t(t),a=f(r).format(`YYYY-MM-DD`),o=new Map(e.map(e=>[e.date,e])),s=[],c=new Set;if(n===`monthly`){let e=f(r).startOf(`month`),t=f(i).startOf(`month`);for(;e.isSameOrBefore(t);){let t=e.format(`YYYY-MM-DD`),n=t<a?a:t;if(!c.has(n)){c.add(n);let e=o.get(n);e?s.push(e):s.push({date:n,signups:0,cancellations:0})}e.add(1,`month`)}}else if(n===`weekly`){let e=f(r).startOf(`week`),t=f(i).startOf(`week`);for(;e.isSameOrBefore(t);){let t=e.format(`YYYY-MM-DD`),n=t<a?a:t;if(!c.has(n)){c.add(n);let e=o.get(n);e?s.push(e):s.push({date:n,signups:0,cancellations:0})}e.add(1,`week`)}}else{let e=f(r),t=f(i);for(;e.isSameOrBefore(t);){let t=e.format(`YYYY-MM-DD`),n=o.get(t);n?s.push(n):s.push({date:t,signups:0,cancellations:0}),e.add(1,`day`)}}return s},en=e=>{let t=yt(e);return t<30?[`daily`]:t>=91?[`weekly`,`monthly`]:[`daily`,`weekly`]},tn=e=>{let t=yt(e);return t<30?`daily`:t>=91?`monthly`:`weekly`},nn=({subscriptionData:e,memberData:t,range:n,isLoading:r})=>{let[i,a]=(0,G.useState)(()=>tn(n));(0,G.useEffect)(()=>{a(tn(n))},[n]);let o=(0,G.useMemo)(()=>en(n),[n]),s=(0,G.useMemo)(()=>{switch(i){case`daily`:return`none`;case`weekly`:return`weekly`;case`monthly`:return`monthly`}},[i]),c=(0,G.useMemo)(()=>vt(n,[],{overrideStrategy:s}),[n,s]),u=(0,G.useMemo)(()=>{if(e&&e.length>0){if(n===1){let t=f().format(`YYYY-MM-DD`),r=e.find(e=>e.date===t);return[{date:m(t,n),rawDate:t,new:r?.signups||0,cancelled:-(r?.cancellations||0)}]}let t=B(e,n,`signups`,`sum`,s),r=B(e,n,`cancellations`,`sum`,s),i=new Map(r.map(e=>[e.date,e])),a=t.map(e=>({date:e.date,signups:e.signups||0,cancellations:i.get(e.date)?.cancellations||0})),o=new Set(a.map(e=>e.date));return r.forEach(e=>{o.has(e.date)||a.push({date:e.date,signups:0,cancellations:e.cancellations||0})}),a.sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()),$t(a,n,s).map(e=>({date:m(e.date,c),rawDate:e.date,new:e.signups||0,cancelled:-(e.cancellations||0)}))}else{if(!t||t.length===0)return[];if(n===1){let e=f().format(`YYYY-MM-DD`),r=t.find(t=>t.date===e);return[{date:m(e,n),rawDate:e,new:r?.paid_subscribed||0,cancelled:-(r?.paid_canceled||0)}]}let e=B(t,n,`paid_subscribed`,`sum`,s),r=B(t,n,`paid_canceled`,`sum`,s),i=new Map(r.map(e=>[e.date,e])),a=e.map(e=>({date:e.date,paid_subscribed:e.paid_subscribed||0,paid_canceled:i.get(e.date)?.paid_canceled||0})),o=new Set(a.map(e=>e.date));return r.forEach(e=>{o.has(e.date)||a.push({date:e.date,paid_subscribed:0,paid_canceled:e.paid_canceled||0})}),a.sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()),a.map(e=>({date:m(e.date,c),rawDate:e.date,new:e.paid_subscribed||0,cancelled:-(e.paid_canceled||0)}))}},[t,e,n,s,c]),d={new:{label:`New`,color:`var(--chart-teal)`},cancelled:{label:`Cancelled`,color:`var(--chart-rose)`}},p=(0,G.useMemo)(()=>({new:u.reduce((e,t)=>e+t.new,0),cancelled:u.reduce((e,t)=>e+Math.abs(t.cancelled),0)}),[u]);if(r)return null;let h=u.length>0&&(p.new>0||p.cancelled>0),g=e=>e.charAt(0).toUpperCase()+e.slice(1);return(0,$.jsxs)(T,{"data-testid":`paid-members-change-card`,children:[(0,$.jsx)(x,{children:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(C,{children:`Paid subscriptions`}),(0,$.jsxs)(w,{children:[`New and cancelled paid subscriptions `,V(n)]})]}),o.length>1&&(0,$.jsx)(`div`,{children:(0,$.jsxs)(ze,{value:i,onValueChange:e=>a(e),children:[(0,$.jsx)(Le,{className:`w-[110px]`,children:(0,$.jsx)(Re,{})}),(0,$.jsx)(Ie,{align:`end`,children:o.map(e=>(0,$.jsx)(Fe,{value:e,children:g(e)},e))})]})})]})}),(0,$.jsx)(S,{children:h?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(ve,{className:`aspect-auto h-[200px] w-full md:h-[220px] xl:h-[260px]`,config:d,children:(0,$.jsxs)(je,{data:u,stackOffset:`sign`,children:[(0,$.jsx)(`defs`,{children:(0,$.jsxs)(`linearGradient`,{id:`tealGradient`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--color-new)`,stopOpacity:.8}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--color-new)`,stopOpacity:.6})]})}),(0,$.jsx)(`defs`,{children:(0,$.jsxs)(`linearGradient`,{id:`roseGradient`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--color-cancelled)`,stopOpacity:.6}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--color-cancelled)`,stopOpacity:.8})]})}),(0,$.jsx)(De,{stroke:`var(--border)`,vertical:!1}),(0,$.jsx)(ke,{axisLine:!1,dataKey:`date`,tickFormatter:()=>``,tickLine:!1,tickMargin:10}),(0,$.jsx)(Oe,{axisLine:!1,tickFormatter:e=>l(e<0?e*-1:e),tickLine:!1}),(0,$.jsx)(be,{content:(0,$.jsx)(ge,{className:`min-w-[120px]! px-3 py-2`,formatter:(e,t,n,r)=>{let i=Number(e),a=`0`;a=i===0?`0`:l(i<0?i*-1:i);let o=n?.payload,s=Number(o?.new||0)+Number(o?.cancelled||0),u=s===0?`0`:s>0?`+${l(s)}`:l(s),f=o?.date,p=o?.rawDate;return p&&(f=m(p,c)),(0,$.jsxs)(`div`,{className:`flex w-full flex-col`,children:[r===0&&(0,$.jsx)(`div`,{className:`mb-1 text-sm font-medium text-foreground`,children:f}),(0,$.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`div`,{className:`size-2 shrink-0 rounded-full bg-[var(--color-bg)] opacity-50`,style:{"--color-bg":`var(--color-${t})`}}),(0,$.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:d[t]?.label||t})]}),(0,$.jsx)(`div`,{className:`ml-auto flex items-baseline gap-0.5 font-mono font-medium text-foreground tabular-nums`,children:a})]}),r===1&&(0,$.jsxs)(`div`,{className:`mt-1 flex w-full items-center justify-between gap-4 border-t pt-1`,children:[(0,$.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Net change`}),(0,$.jsx)(`div`,{className:`ml-auto flex items-baseline gap-0.5 font-mono font-medium text-foreground tabular-nums`,children:u})]})]})},hideLabel:!0}),cursor:!1,isAnimationActive:!1,position:{y:10}}),(0,$.jsx)(he,{activeBar:{fillOpacity:1},dataKey:`new`,fill:`url(#tealGradient)`,fillOpacity:.75,maxBarSize:32,minPointSize:3,radius:[4,4,0,0],stackId:`a`}),(0,$.jsx)(he,{activeBar:{fillOpacity:1},dataKey:`cancelled`,fill:`url(#roseGradient)`,fillOpacity:.75,maxBarSize:32,radius:[4,4,0,0],stackId:`a`})]})}),(0,$.jsxs)(`div`,{className:`mt-3 flex items-center justify-center gap-6 text-sm text-muted-foreground`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`size-2 rounded-full opacity-50`,style:{backgroundColor:d.new.color}}),(0,$.jsx)(`span`,{children:`New`}),(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:l(p.new)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`size-2 rounded-full opacity-50`,style:{backgroundColor:d.cancelled.color}}),(0,$.jsx)(`span`,{children:`Cancelled`}),(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:l(p.cancelled)})]})]})]}):(0,$.jsx)(`div`,{className:`py-12`,children:(0,$.jsx)(Me,{description:`No paid subscription changes ${V(n)}.`,title:`No paid member changes`,children:(0,$.jsx)(_,{strokeWidth:1.5})})})})]})},rn=(e,t,n)=>{let r=e??30,i=t??`mrr desc`,{startDate:a,endDate:o}=(0,G.useMemo)(()=>_t(r),[r]),s=(0,G.useMemo)(()=>{let e={date_from:H(a),date_to:H(o),order:i};return n===`posts`?e.post_type=`post`:n===`pages`&&(e.post_type=`page`),e},[a,o,i,n]);return mt({searchParams:Object.fromEntries(Object.entries(s).filter(([,e])=>e!==void 0))})},an=()=>{let{range:e}=Qe(),{site:t,settings:n}=xt(),i=Dt(n),a=c(),[o,d]=(0,G.useState)(`free_members desc`),[f,p]=(0,G.useState)(W.POSTS_AND_PAGES),[m]=s(),h=Ye(),g=$e(),_=m.get(`tab`)||`total-members`,[y,ee]=(0,G.useState)(_);(0,G.useEffect)(()=>{_!==y&&ee(_)},[_]);let{isLoading:E,chartData:te,totals:ne,currencySymbol:re,subscriptionData:ie}=bt(e),{data:ae,isLoading:D}=rn(e,o,f),O=(0,G.useMemo)(()=>{let e=(ae?.stats||[]).reduce((e,t)=>{let n=t.post_id||(t.title&&t.title.trim()!==``?t.title:t.attribution_url);if(!n)return e;if(!e.has(n))e.set(n,t);else{let r=e.get(n);r.free_members+=t.free_members,r.paid_members+=t.paid_members,r.mrr+=t.mrr,e.set(n,r)}return e},new Map),t=Array.from(e.values()),n=t.reduce((e,t)=>e+t.free_members,0),r=t.reduce((e,t)=>e+t.paid_members,0),i=t.reduce((e,t)=>e+t.mrr,0);return t.map(e=>{let t=0;return o.includes(`free_members`)&&n>0?t=e.free_members/n:o.includes(`paid_members`)&&r>0?t=e.paid_members/r:o.includes(`mrr`)&&i>0&&(t=e.mrr/i),{title:e.title||e.attribution_url,post_id:e.post_id,attribution_url:e.attribution_url,attribution_type:e.attribution_type,attribution_id:e.attribution_id,free_members:e.free_members,paid_members:e.paid_members,mrr:e.mrr,percentage:t,published_at:e.published_at,url_exists:e.url_exists??!0}})},[ae,o]),k=E,oe=E||D;return(0,$.jsxs)(ut,{children:[(0,$.jsx)(dt,{children:(0,$.jsx)(r,{children:(0,$.jsx)(lt,{})})}),(0,$.jsxs)(ft,{data:k?void 0:te,isLoading:!1,loadingComponent:(0,$.jsx)($.Fragment,{}),children:[(0,$.jsx)(T,{"data-testid":`total-members-card`,children:(0,$.jsx)(S,{children:(0,$.jsx)(qt,{chartData:te,currencySymbol:re,initialTab:_,isLoading:k,totals:ne,onTabChange:ee})})}),h&&y===`paid-members`&&(0,$.jsxs)(`div`,{className:`grid grid-cols-1 gap-6 lg:grid-cols-2 xl:grid-cols-[2fr_minmax(460px,1fr)]`,children:[(0,$.jsx)(nn,{isLoading:k,memberData:te,range:e,subscriptionData:ie}),(0,$.jsx)(Qt,{isLoading:k,range:e})]}),(0,$.jsxs)(T,{className:`w-full overflow-x-auto`,"data-testid":`top-content-card`,children:[(0,$.jsxs)(x,{children:[(0,$.jsx)(C,{children:Tt(f)}),(0,$.jsx)(w,{children:wt(f,e,V)})]}),(0,$.jsx)(S,{children:(0,$.jsxs)(He,{children:[(0,$.jsx)(Ve,{children:(0,$.jsxs)(P,{className:`[&>th]:h-auto [&>th]:pt-0 [&>th]:pb-2`,children:[(0,$.jsx)(N,{className:`min-w-[320px] pl-0`,children:(0,$.jsx)(We,{defaultValue:f,variant:`button-sm`,onValueChange:e=>{p(e)},children:(0,$.jsxs)(Ue,{children:[(0,$.jsx)(L,{value:W.POSTS_AND_PAGES,children:`Posts & pages`}),(0,$.jsx)(L,{value:W.POSTS,children:`Posts`}),(0,$.jsx)(L,{value:W.PAGES,children:`Pages`}),(0,$.jsx)(L,{value:W.SOURCES,children:`Sources`})]})})}),(0,$.jsx)(N,{className:`w-[140px] text-right`,children:h?(0,$.jsx)(M,{activeSortBy:o,setSortBy:d,sortBy:`free_members desc`,children:`Free members`}):(0,$.jsx)($.Fragment,{children:`Free members`})}),h&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(N,{className:`w-[140px] text-right`,children:(0,$.jsx)(M,{activeSortBy:o,setSortBy:d,sortBy:`paid_members desc`,children:`Paid members`})}),(0,$.jsx)(N,{className:`w-[140px] text-right`,children:(0,$.jsx)(M,{activeSortBy:o,setSortBy:d,sortBy:`mrr desc`,children:`MRR impact`})})]})]})}),f===W.SOURCES?(0,$.jsx)(Xt,{limit:20,range:e,setSortBy:e=>d(e),showViewAll:!0,sortBy:o}):(0,$.jsx)(F,{children:oe?(0,$.jsx)(P,{className:`last:border-none`,children:(0,$.jsx)(I,{className:`border-none py-2`,colSpan:1,children:(0,$.jsx)(Ne,{containerClassName:`space-y-2`,count:5,maxWidth:75,randomize:!0})})}):g?O.length>0?O.map((e,n)=>(0,$.jsxs)(P,{className:`last:border-none`,children:[(0,$.jsx)(I,{children:(0,$.jsxs)(`div`,{className:`group/link inline-flex flex-col items-start gap-px`,children:[e.post_id&&e.attribution_type===`post`?(0,$.jsx)(b,{className:`h-auto p-0 text-left leading-tight font-medium whitespace-normal hover:underline!`,title:`View post analytics`,variant:`link`,onClick:Et(e.attribution_url,e.post_id,t.url||``,a,e.attribution_type),children:e.title}):(0,$.jsx)(`span`,{className:`font-medium`,children:e.title}),e.published_at&&u&&new Date(e.published_at).getTime()>0&&(0,$.jsxs)(`span`,{className:`text-muted-foreground`,children:[`Published on `,u(e.published_at,i)]})]})}),(0,$.jsxs)(I,{className:`text-right font-mono text-sm`,children:[e.free_members>0&&`+`,l(e.free_members)]}),h&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(I,{className:`text-right font-mono text-sm`,children:[e.paid_members>0&&`+`,l(e.paid_members)]}),(0,$.jsxs)(I,{className:`text-right font-mono text-sm`,children:[e.mrr>0&&`+`,re,l(U(e.mrr))]})]})]},`${f}-${e.post_id||`${e.title}-${n}`}`)):(0,$.jsx)(P,{className:`border-none`,children:(0,$.jsx)(I,{className:`py-12 group-hover:bg-transparent!`,colSpan:h?4:2,children:(0,$.jsx)(Me,{description:`Try adjusting your date range to see more data.`,title:`No conversions ${V(e)}`,children:(0,$.jsx)(v,{strokeWidth:1.5})})})}):(0,$.jsx)(P,{className:`last:border-none`,children:(0,$.jsx)(I,{className:`border-none py-12 group-hover:bg-transparent!`,colSpan:h?4:2,children:(0,$.jsx)(pt,{})})})})]})})]})]})]})};export{an as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`014d50e6-70ac-4180-ae86-5f0156ee9aca`,e._sentryDebugIdIdentifier=`sentry-dbid-014d50e6-70ac-4180-ae86-5f0156ee9aca`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{m as n}from"./framework-provider-CIvHFnik.js";import{t as r}from"./hooks-0r7qxGEo.js";import{t as i}from"./jsx-runtime-Bm2_KH-0.js";import{t as a}from"./use-filterable-api-CDrrxoGD.js";import{h as o}from"./chunk-OB3PAWPO-D3muQBsq.js";import{H as s,L as c,r as l}from"./shade-provider-DvrXKKQZ.js";import{t as u}from"./inline-Qoyy4r2g.js";import{t as d}from"./stack-C3OmgpUv.js";import{D as f,a as p,ar as m,bt as h,dt as g,hn as _,t as v}from"./button-CTHYSI-d.js";import{i as y,n as b,t as x}from"./action-list-CGRkUA1s.js";import{t as S}from"./avatar-YbECDnBI.js";import{t as C}from"./input-surface-DoDPknjt.js";import{t as w}from"./multi-select-combobox-BzBMUFst.js";import{a as T,i as E,t as D}from"./popover-r_3DwMi9.js";import{o as O,t as k}from"./field-DCPPrQDr.js";import{n as A}from"./loading-indicator-DaRyGrxv.js";import{n as j,t as M}from"./no-value-label-CKNmidLC.js";import{t as N}from"./switch-BppWscjz.js";import{p as P}from"./label-picker-DaivLdMw.js";import{t as F}from"./settings-modal-3x4v8abr.js";import"./index-RuRs_qGS.js";import{t as I}from"./use-settings-navigation-CO2nUqDW.js";var L=e(t(),1),R=i(),z=({offset:e,onTrigger:t})=>{let n=(0,L.useRef)(null);return(0,L.useEffect)(()=>{let e=new IntersectionObserver(e=>{e[0].intersectionRatio<=0||t()});return n.current&&e.observe(n.current),()=>e.disconnect()},[t]),(0,R.jsx)(`div`,{ref:n,className:`absolute w-full`,style:{bottom:e}})},B=`ActionsResponseType`,V=(e,t)=>{let n=e=>e.event===`edited`&&typeof e.context?.action_name==`string`?e.context.action_name:``;return e.resource_id===t.resource_id&&e.resource_type===t.resource_type&&e.event===t.event&&n(e)===n(t)},H=r({dataType:B,path:`/actions/`,returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.actions.map(({context:e,...t})=>({...t,context:JSON.parse(e)})));n=n.reverse();let r=1;n.forEach((e,t)=>{let i=n[t+1];i&&V(e,i)?(e.skip=!0,r+=1):r>1&&(e.count=r,r=1)});let i=t[t.length-1].meta;return{actions:n.reverse(),meta:i,isEnd:i?i.pagination.pages===i.pagination.page:!0}}}),U=e=>{let t=e.resource_type;if(e.event!==`deleted`)switch(e.resource_type){case`page`:case`post`:return!e.resource||!e.resource.id?void 0:(t===`post`&&e.context?.type&&(t=e.context?.type),{isExternal:!0,route:`editor/${t}/${e.resource.id}`,models:[t,e.resource.id]});case`integration`:return!e.resource||!e.resource.id?void 0:{route:`integrations/${e.resource.id}`};case`offer`:return!e.resource||!e.resource.id?void 0:{isExternal:!0,route:`offers/${e.resource.id}`,models:[e.resource.id]};case`tag`:return!e.resource||!e.resource.slug?void 0:{isExternal:!0,route:`tag`,models:[e.resource.slug]};case`product`:return{route:`tiers`};case`user`:return!e.resource||!e.resource.slug?void 0:{route:`staff/${e.resource.slug}`}}},W=e=>{let t=e.resource_type;t===`api_key`?t=`API key`:t===`setting`?t=`settings`:t===`product`?t=`tier`:t===`gift_link`?t=`gift link`:t===`security_action`?t=`security action`:t===`member_custom_field`?t=`custom field`:t===`app_installation`&&(t=`app`),t===`post`&&e.context?.type&&(t=e.context?.type);let n=e.event;return e.event===`edited`&&e.context?.action_name&&(n=e.context?.action_name),n===`reset_authentication`?n=`reset authentication`:n===`custom_fields_edited`&&(n=`custom fields edited`),e.context?.count&&e.context?.count>1?`${e.context?.count} ${t}s ${n}`:`${t.slice(0,1).toUpperCase()}${t.slice(1)} ${n}`},G=e=>{if(e.resource_type===`setting`&&e.context?.group&&e.context?.key)return{group:e.context?.group,key:e.context?.key}},K=e=>typeof e.context?.count==`number`&&e.context?.count>1,q=({action:e})=>{let t=h;switch(e.event){case`added`:t=g;break;case`deleted`:t=f;break}return(0,R.jsx)(t,{className:`size-3`})},J=({action:e})=>(0,R.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,R.jsx)(S,{className:`size-10`,...P({name:e.actor?.name||e.actor?.slug}),src:e.actor?.image}),(0,R.jsx)(`div`,{className:`absolute -right-1 -bottom-1 z-30 flex items-center justify-center rounded-full border border-border-default bg-background p-1 shadow-sm`,children:(0,R.jsx)(q,{action:e})})]}),Y=({label:e,item:t,excludedItems:n,toggleItem:r})=>{let i=(0,L.useId)();return(0,R.jsxs)(k,{orientation:`horizontal`,children:[(0,R.jsx)(O,{htmlFor:i,children:e}),(0,R.jsx)(N,{checked:!n.includes(t),id:i,onCheckedChange:e=>r(t,e)})]})},X=({userId:e,excludedEvents:t,excludedResources:n,toggleEventType:r,toggleResourceType:i})=>{let{isAdmin7:o}=l(),{updateRoute:s}=I(),f=a({path:`/users/`,filterKey:`name`,responseKey:`users`}),[h,g]=(0,L.useState)([]),[_,y]=(0,L.useState)(),[b,x]=(0,L.useState)(!1),[S,O]=(0,L.useState)(!1),k=(0,L.useRef)(0),A=(0,L.useRef)(null),j=(0,L.useRef)(f);j.current=f;let M=(0,L.useCallback)(async(e,t)=>{try{let n=await j.current.loadData(e);t===k.current&&g(n.map(e=>({label:e.name,value:e.id})))}catch{t===k.current&&g([])}finally{t===k.current&&O(!1)}},[]),N=(0,L.useCallback)((e,t=!1)=>{k.current+=1;let n=k.current;O(!0),A.current&&clearTimeout(A.current),t?A.current=setTimeout(()=>void M(e,n),500):M(e,n)},[M]);(0,L.useEffect)(()=>(N(``),()=>{k.current+=1,A.current&&clearTimeout(A.current)}),[N]),(0,L.useEffect)(()=>{let t=!1;if(!e){y(null);return}return j.current.loadInitialValues([e],`id`).then(([e])=>{if(!t&&e){let t={label:e.name,value:e.id};y(t),g(e=>e.some(e=>e.value===t.value)?e:[t,...e])}}).catch(()=>{t||y(null)}),()=>{t=!0}},[e]);let P=()=>{y(null)};return(0,R.jsxs)(u,{align:`center`,gap:`md`,children:[(0,R.jsxs)(D,{children:[(0,R.jsx)(T,{asChild:!0,children:(0,R.jsx)(v,{type:`button`,variant:`outline`,children:`Filter`})}),(0,R.jsx)(E,{align:`end`,className:`z-[9999] w-[220px]`,"data-testid":`history-filters`,children:(0,R.jsxs)(d,{gap:`2xl`,children:[(0,R.jsxs)(d,{gap:`md`,children:[(0,R.jsx)(Y,{excludedItems:t,item:`added`,label:`Added`,toggleItem:r}),(0,R.jsx)(Y,{excludedItems:t,item:`edited`,label:`Edited`,toggleItem:r}),(0,R.jsx)(Y,{excludedItems:t,item:`deleted`,label:`Deleted`,toggleItem:r})]}),(0,R.jsxs)(d,{gap:`md`,children:[(0,R.jsx)(Y,{excludedItems:n,item:`post`,label:`Posts`,toggleItem:i}),(0,R.jsx)(Y,{excludedItems:n,item:`page`,label:`Pages`,toggleItem:i}),(0,R.jsx)(Y,{excludedItems:n,item:`tag`,label:`Tags`,toggleItem:i}),(0,R.jsx)(Y,{excludedItems:n,item:`offer,product`,label:`Tiers & offers`,toggleItem:i}),(0,R.jsx)(Y,{excludedItems:n,item:`api_key,integration,setting,user,webhook`,label:`Settings & staff`,toggleItem:i})]})]})})]}),(0,R.jsx)(`div`,{className:`w-[200px]`,children:(0,R.jsxs)(u,{className:c(C(`within`),`relative h-(--control-height) overflow-hidden`,o&&`rounded-full`),gap:`none`,children:[(0,R.jsxs)(D,{open:b,onOpenChange:e=>{x(e),e&&N(``)},children:[(0,R.jsx)(T,{asChild:!0,children:(0,R.jsxs)(`button`,{"aria-label":`Staff`,className:`flex min-w-0 flex-1 items-center justify-between px-3 text-control`,"data-testid":`history-staff-filter`,role:`combobox`,type:`button`,children:[(0,R.jsx)(`span`,{className:_?`truncate pr-8`:`truncate pr-8 text-muted-foreground`,children:_?.label??`Search staff`}),(0,R.jsx)(m,{className:`ml-2 size-4 shrink-0 opacity-50`})]})}),(0,R.jsx)(E,{align:`start`,className:`z-[9999] w-72 p-0`,children:(0,R.jsx)(w,{i18n:{searchPlaceholder:`Search staff`},isLoading:S,isMultiSelect:!1,options:_&&!h.some(e=>e.value===_.value)?[_,...h]:h,shouldFilter:!1,values:_?[_.value]:[],autoCloseOnSelect:!0,onChange:e=>{let t=h.find(t=>t.value===e[0]);t&&(y(t),s(`history/view/${t.value}`))},onClose:()=>x(!1),onSearchChange:e=>N(e,!0)})})]}),_&&(0,R.jsx)(`button`,{"aria-label":`Clear selection`,className:`absolute top-1/2 right-10 z-10 flex size-8 -translate-y-1/2 items-center justify-center text-muted-foreground hover:text-foreground`,type:`button`,onClick:()=>{P(),s(`history/view`)},children:(0,R.jsx)(p,{className:`size-4`})})]})})]})},Z=({action:e})=>{let{updateRoute:t}=I(),n=G(e);if(e.resource_type===`security_action`&&e.context?.action_name===`reset_authentication`){let t=typeof e.context.api_keys_rotated==`number`?e.context.api_keys_rotated:null,n=typeof e.context.users_locked==`number`?e.context.users_locked:null,r=[t===null?null:`${s(t)} API ${t===1?`key`:`keys`} rotated`,n===null?null:`${s(n)} ${n===1?`user`:`users`} locked`].filter(Boolean);return(0,R.jsx)(R.Fragment,{children:r.length?r.join(`, `):`Authentication reset`})}else if(n){let{group:e,key:t}=n;return(0,R.jsxs)(R.Fragment,{children:[e.slice(0,1).toUpperCase(),e.slice(1),e!==t&&(0,R.jsxs)(`span`,{children:[` `,(0,R.jsxs)(`code`,{className:`mb-1 bg-white text-gray-800 dark:bg-gray-900 dark:text-white`,children:[`(`,t,`)`]})]})]})}else if(e.resource?.title||e.resource?.name||e.context?.primary_name){let n=U(e);return n?(0,R.jsx)(`a`,{className:`cursor-pointer font-bold`,onClick:e=>{e.preventDefault(),t(n)},children:e.resource?.title||e.resource?.name}):(0,R.jsx)(R.Fragment,{children:e.resource?.title||e.resource?.name||e.context?.primary_name})}else return(0,R.jsx)(`span`,{className:`text-gray-500`,children:`(unknown)`})},Q=e=>{let t=new Intl.DateTimeFormat(`en-US`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}).formatToParts(e).reduce((e,{type:t,value:n})=>({...e,[t]:n}),{});return`${t.year}-${t.month}-${t.day} ${t.hour}:${t.minute}:${t.second}`},$=200;function ee(){let{userId:e}=o(),{updateRoute:t}=I(),[r,i]=(0,L.useState)([]),[a,c]=(0,L.useState)([`label`]),{data:l,fetchNextPage:u,isFetchingNextPage:d}=H({searchParams:{include:`actor,resource`,limit:$.toString(),filter:[r.length&&`event:-[${r.join(`,`)}]`,a.length&&`resource_type:-[${a.join(`,`)}]`,e&&`actor_id:'${e}'`].filter(Boolean).join(`+`)},getNextPageParams:(e,t)=>({...t,filter:[t.filter,e.actions.length&&`created_at:<'${Q(new Date(e.actions[e.actions.length-1].created_at))}'`].join(`+`)}),placeholderData:n}),f=(0,L.useCallback)(()=>{l?.isEnd||u()},[l?.isEnd,u]),p=(e,t,n)=>{e(e=>n?e.concat(t):e.filter(e=>e!==t))},m=r.length>0||a.length>0||e;return(0,R.jsx)(F,{cancelLabel:``,okLabel:`Close`,scrolling:!0,size:`md`,stickyFooter:!0,stickyHeader:!0,testId:`history-modal`,title:`History`,topRightContent:(0,R.jsx)(X,{excludedEvents:r,excludedResources:a,toggleEventType:(e,t)=>p(i,e,!t),toggleResourceType:(e,t)=>p(c,e,!t),userId:e}),onClose:()=>{t(`history`)},onOk:()=>{t(`history`)},children:(0,R.jsx)(`div`,{className:`relative mt-6`,children:(0,R.jsxs)(x,{children:[l?.actions?l.actions.length>0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(z,{offset:250,onTrigger:f}),l.actions.map(e=>!e.skip&&(0,R.jsx)(b,{children:(0,R.jsxs)(y,{className:`flex items-center gap-3 py-3`,children:[(0,R.jsx)(J,{action:e}),(0,R.jsxs)(`div`,{className:`min-w-0 grow`,children:[(0,R.jsxs)(`div`,{children:[W(e),K(e)?``:`: `,!K(e)&&(0,R.jsx)(Z,{action:e}),e.count?(0,R.jsxs)(R.Fragment,{children:[` `,s(e.count),` times`]}):null,(0,R.jsxs)(`span`,{children:[` — by `,e.actor?.name||e.actor?.slug]})]}),(0,R.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:[new Date(e.created_at).toLocaleDateString(`default`,{year:`numeric`,month:`short`,day:`2-digit`}),new Date(e.created_at).toLocaleTimeString(`default`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})].join(` | `)})]})]})},e.id)),d&&(0,R.jsx)(`div`,{className:`flex items-center justify-center p-5`,children:(0,R.jsx)(A,{size:`md`})})]}):(0,R.jsxs)(M,{children:[(0,R.jsx)(j,{children:(0,R.jsx)(_,{})}),m?`No entries match your current filters.`:`No history entries found.`]}):l===void 0?(0,R.jsx)(`div`,{className:`flex items-center justify-center px-5 pt-12 pb-10`,children:(0,R.jsx)(`div`,{className:`flex h-64 items-center justify-center`,children:(0,R.jsx)(A,{size:`lg`})})}):(0,R.jsx)(M,{children:`No entries found.`}),l?.isEnd&&l.actions.length>0&&(0,R.jsx)(`div`,{className:`border-t border-border pt-2 text-sm text-muted-foreground`,children:`End of history log`})]})})})}export{ee as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`6d665def-c093-4326-a14d-f4e1cf39d6a3`,e._sentryDebugIdIdentifier=`sentry-dbid-6d665def-c093-4326-a14d-f4e1cf39d6a3`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{B as n,C as r,F as i,N as a,P as o,S as s,_ as c,a as l,b as u,c as d,d as f,f as p,g as m,h,i as g,l as _,o as v,p as y,r as b,s as x,u as S,v as C,w,x as T,y as E}from"./framework-provider-CIvHFnik.js";import{t as ee}from"./jsx-runtime-Bm2_KH-0.js";import{n as D}from"./dist-pogVoW2G.js";var te=class extends w{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=S(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),O(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return k(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return k(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof c(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!E(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&re(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||c(this.options.enabled,this.#t)!==c(t.enabled,this.#t)||C(this.options.staleTime,this.#t)!==C(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||c(this.options.enabled,this.#t)!==c(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return ie(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(h)),t}#g(){this.#b();let e=C(this.options.staleTime,this.#t);if(f.isServer()||this.#r.isStale||!y(e))return;let t=T(this.#r.dataUpdatedAt,e)+1;this.#d=s.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(f.isServer()||c(this.options.enabled,this.#t)===!1||!y(this.#p)||this.#p===0)&&(this.#f=s.setInterval(()=>{(this.options.refetchIntervalInBackground||r.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(s.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(s.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:l}=e,u={...l},d=!1,f;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&O(e,t),o=i&&re(e,n,t,r);(a||o)&&(u={...u,...v(l.data,e.options)}),t._optimisticResults===`isRestoring`&&(u.fetchStatus=`idle`)}let{error:p,errorUpdatedAt:h,status:g}=u;f=u.data;let _=!1;if(t.placeholderData!==void 0&&f===void 0&&g===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,_=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(g=`success`,f=m(i?.data,e,t),d=!0)}if(t.select&&f!==void 0&&!_)if(i&&f===a?.data&&t.select===this.#c)f=this.#l;else try{this.#c=t.select,f=t.select(f),f=m(i?.data,f,t),this.#l=f,this.#s=null}catch(e){this.#s=e}this.#s&&(p=this.#s,f=this.#l,h=Date.now(),g=`error`);let y=u.fetchStatus===`fetching`,b=g===`pending`,x=g===`error`,C=b&&y,w=f!==void 0,T={status:g,fetchStatus:u.fetchStatus,isPending:b,isSuccess:g===`success`,isError:x,isInitialLoading:C,isLoading:C,data:f,dataUpdatedAt:u.dataUpdatedAt,error:p,errorUpdatedAt:h,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:u.dataUpdateCount>s.dataUpdateCount||u.errorUpdateCount>s.errorUpdateCount,isFetching:y,isRefetching:y&&!b,isLoadingError:x&&!w,isPaused:u.fetchStatus===`paused`,isPlaceholderData:d,isRefetchError:x&&w,isStale:A(e,t),refetch:this.refetch,promise:this.#o,isEnabled:c(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=T.data!==void 0,r=T.status===`error`&&!t,i=e=>{r?e.reject(T.error):t&&e.resolve(T.data)},a=()=>{let e=this.#o=T.promise=S();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||T.data!==o.value)&&a();break;case`rejected`:(!r||T.error!==o.reason)&&a();break}}return T}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!E(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){_.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function ne(e,t){return c(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&c(t.retryOnMount,e)===!1)}function O(e,t){return ne(e,t)||e.state.data!==void 0&&k(e,t,t.refetchOnMount)}function k(e,t,n){if(c(t.enabled,e)!==!1&&C(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&A(e,t)}return!1}function re(e,t,n,r){return(e!==t||c(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&A(e,n)}function A(e,t){return c(t.enabled,e)!==!1&&e.isStaleByTime(C(t.staleTime,e))}function ie(e,t){return!E(e.getCurrentResult(),t)}var ae=class extends te{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,c=n.fetchMeta?.fetchMore?.direction,l=o&&c===`forward`,u=i&&c===`forward`,f=o&&c===`backward`,p=i&&c===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:x(t,n.data),hasPreviousPage:d(t,n.data),isFetchNextPageError:l,isFetchingNextPage:u,isFetchPreviousPageError:f,isFetchingPreviousPage:p,isRefetchError:s&&!l&&!f,isRefetching:a&&!u&&!p}}},oe=class extends w{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),E(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&p(t.mutationKey)!==p(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??l();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){_.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};ee();var j=e(t(),1),M=j.createContext(!1),se=()=>j.useContext(M);M.Provider;function ce(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var le=j.createContext(ce()),ue=()=>j.useContext(le),de=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?u(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},fe=e=>{j.useEffect(()=>{e.clearReset()},[e])},pe=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||u(n,[e.error,r])),me=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},he=(e,t)=>e.isLoading&&e.isFetching&&!t,ge=(e,t)=>e?.suspense&&t.isPending,_e=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function ve(e,t,n){let r=se(),i=ue(),a=g(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,me(o),de(o,i,s),fe(i);let l=!a.getQueryCache().get(o.queryHash),[u]=j.useState(()=>new t(a,o)),d=u.getOptimisticResult(o),p=!r&&c;if(j.useSyncExternalStore(j.useCallback(e=>{let t=p?u.subscribe(_.batchCalls(e)):h;return u.updateResult(),t},[u,p]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),j.useEffect(()=>{u.setOptions(o)},[o,u]),ge(o,d))throw _e(o,u,i);if(pe({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw d.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!f.isServer()&&he(d,r)&&(l?_e(o,u,i):s?.promise)?.catch(h).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}function N(e,t){return ve(e,te,t)}function P(e,t){let n=g(t),[r]=j.useState(()=>new oe(n,e));j.useEffect(()=>{r.setOptions(e)},[r,e]);let i=j.useSyncExternalStore(j.useCallback(e=>r.subscribe(_.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=j.useCallback((e,t)=>{r.mutate(e,t).catch(h)},[r]);if(i.error&&u(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function ye(e,t){return ve(e,ae,t)}var F=class extends Error{response;data;constructor(e,t,n,r){!n&&e&&e.url.includes(`/ghost/api/admin/`)&&(n=`Something went wrong while loading ${e.url.replace(/.+\/ghost\/api\/admin\//,``).replace(/\W.*/,``).replace(`_`,` `)}, please try again.`),super(n||`Something went wrong, please try again.`,r),this.response=e,this.data=t}},I=class extends F{data;constructor(e,t,n,r){super(e,t,n,r),this.data=t}},L=class extends I{constructor(e,t,n){super(e,t,`API server is running a newer version of Ghost, please upgrade.`,n)}},R=class extends F{constructor(e){super(void 0,void 0,`Something went wrong, please try again.`,e)}},be=class extends F{constructor(e){super(void 0,void 0,`Request timed out, please try again.`,e)}},z=class extends F{constructor(e,t,n){super(e,t,`Request is larger than the maximum file size the server allows`,n)}},B=class extends F{constructor(e,t,n){super(e,t,`Request contains an unknown or unsupported file type.`,n)}},V=class extends F{constructor(e,t,n){super(e,t,`Ghost is currently undergoing maintenance, please wait a moment then retry.`,n)}},H=class extends F{constructor(e,t,n){super(e,t,`You are not authorised to make this request.`,n)}},U=class extends H{},xe=class extends I{constructor(e,t,n){super(e,t,`Theme is not compatible or contains errors.`,n)}},W=class extends I{errorDetails;constructor(e,t,n){e instanceof Response?super(e,t,`A hosting plan limit was reached or exceeded.`,n):(super(void 0,void 0,e.message||`A hosting plan limit was reached or exceeded.`),this.errorDetails=e.errorDetails)}},Se=class extends I{constructor(e,t,n){super(e,t,`Please verify your email settings`,n)}},G=class extends I{constructor(e,t,n){super(e,t,t.errors[0].message,n)}};function K(e,t){let n=e instanceof I?e.data?.errors?.[0]:void 0;return n?.context||n?.message||t}var Ce=class extends Error{constructor(e){super(e)}};function we(e){D.dismiss(),D.error(e)}var q=()=>(0,j.useCallback)((e,{withToast:t=!0}={})=>{if(console.error(e),i()&&!(e instanceof U)&&n(t=>{t.setTag(`source`,`useHandleError`),t.setTag(`shown_to_user`,e instanceof F),e instanceof F&&(t.setContext(`ghost`,{displayed_message:K(e,e.message)}),e.response&&(t.setTag(`api_url`,e.response.url),t.setTag(`api_response_status`,e.response.status))),a(e)}),t)if(e instanceof F&&e.response?.status===418)D.dismiss();else if(e instanceof U)return;else e instanceof F?we(K(e,e.message)):we(`Something went wrong, please try again.`)},[]),Te=[/^\/signin\/?$/,/^\/signin\/verify\/?$/,/^\/signout\/?$/,/^\/signup\/[^/]+\/?$/,/^\/reset\/[^/]+\/?$/,/^\/setup\/?$/];function Ee(e){let[t]=e.split(`?`);return Te.some(e=>e.test(t))}function J(){let e=window.location.pathname,t=e.substr(0,e.search(`/ghost/`));return{subdir:t,adminRoot:`${t}/ghost/`,assetRoot:`${t}/ghost/assets/`,apiRoot:`${t}/ghost/api/admin`}}function De(e){let t=document.getElementById(`iframeDownload`);t||(t=document.createElement(`iframe`),t.id=`iframeDownload`,t.style.display=`none`,document.body.append(t)),t.setAttribute(`src`,e)}function Oe(e){De(`${J().apiRoot}${e}`)}function ke(e){if(!e)return;let t=e.match(/filename\*=([^;]+)/i);if(t?.[1]){let e=t[1].trim(),n=e.indexOf(`'`),r=n===-1?-1:e.indexOf(`'`,n+1),i=r===-1?e:e.slice(r+1);try{return decodeURIComponent(i.replace(/^["']|["']$/g,``))}catch{}}let n=e.match(/filename="([^"]*)"/i);if(n?.[1])return n[1].trim();let r=e.match(/filename=([^;]+)/i);if(r?.[1])return r[1].trim()}async function Ae(e,t,{signal:n}={}){let r=await fetch(e,{method:`GET`,signal:n});if(!r.ok)throw Error(`Download failed: ${r.status} ${r.statusText}`);let i=ke(r.headers.get(`content-disposition`))??t??`download`,a=await r.blob(),o=window.URL.createObjectURL(a),s=document.createElement(`a`);s.href=o,s.download=i,document.body.appendChild(s),s.click(),s.remove(),window.URL.revokeObjectURL(o)}async function je(e,t,n={}){return Ae(`${J().apiRoot}${e}`,t,n)}var Me=e=>!!e&&(e.startsWith(`text/`)||e.includes(`application/yaml`)),Ne=async(e,{responseType:t}={})=>{if(e.status===0)throw new R;if(e.status===503)throw new V(e,await e.text());if(e.status===415)throw new B(e,await e.text());if(e.status===413)throw new z(e,await e.text());if(e.status===401)throw e.headers.get(`content-type`)?.includes(`json`)?new H(e,await e.json()):new H(e,await e.text());if(!e.ok){if(!e.headers.get(`content-type`)?.includes(`json`))throw new F(e,await e.text());let t=await e.json();throw e.status===403&&t.errors?.[0]?.message===`Authorization failed`?new H(e,t):t.errors?.[0]?.type===`VersionMismatchError`?new L(e,t):t.errors?.[0]?.type===`ValidationError`||t.errors?.[0]?.type===`NoPermissionError`?new G(e,t):t.errors?.[0]?.type===`ThemeValidationError`?new xe(e,t):t.errors?.[0]?.type===`HostLimitError`?new W(e,t):t.errors?.[0]?.type===`EmailError`?new Se(e,t):new I(e,t)}else if(e.status===204)return;else if(t===`blob`)return await e.blob();else if(t===`arraybuffer`)return await e.arrayBuffer();else if(Me(e.headers.get(`content-type`)))return await e.text();else return await e.json()},Y=new Set;function Pe(e){return e instanceof L?`upgrade-required`:e instanceof V?`maintenance`:null}function Fe(e){return Y.add(e),()=>{Y.delete(e)}}function Ie(e){let t=Pe(e);t&&Y.forEach(e=>e(t))}var Le=e=>{let t=new Headers,n=e.getAllResponseHeaders()?.split(`\r
|
|
2
|
-
`)||[];for(let e of n){let n=e.indexOf(`:`);if(n===-1)continue;let r=e.slice(0,n),i=e.slice(n+1).trim();t.append(r,i)}return t},Re=e=>new Response(e.response,{status:e.status,statusText:e.statusText,headers:Le(e)}),ze=/\/ghost\/api\//,Be=/\/ghost\/api\/admin\/session([/?#]|$)/,Ve=/\/ghost\/api\/admin\/users\/me\/([?#]|$)/,He=!1,Ue=!1,X=new Set,We=()=>{let e=Symbol(`sessionExpiryRedirectHold`);return X.add(e),()=>{X.delete(e)}},Ge=e=>window.location.pathname===e&&(!window.location.hash||window.location.hash===`#/`||Ee(window.location.hash.slice(1))),Ke=e=>{let t=e.toString();return ze.test(t)&&!Be.test(t)},qe=()=>{let{adminRoot:e}=J();He&&!Ue&&X.size===0&&!Ge(e)&&(Ue=!0,window.location.replace(e))},Je=(e,t,{method:n,headers:r,credentials:i,body:a,signal:o})=>new Promise((s,c)=>{let l=()=>{c(new DOMException(`Aborted`,`AbortError`))};if(o.aborted){l();return}let u=new XMLHttpRequest;switch(u.open(n,t.toString(),!0),i){case`omit`:throw Error(`"omit" credentials cannot be represented with legacy XMLHttpRequest. Consider "same-origin".`);case`same-origin`:u.withCredentials=!1;break;case`include`:u.withCredentials=!0;break;default:throw Error(i)}u.responseType=`arraybuffer`;for(let[e,t]of Object.entries(r))u.setRequestHeader(e,t);u.upload.onprogress=t=>{t.lengthComputable&&e(t.loaded/t.total*100)},u.onload=()=>{s(Re(u))},u.onerror=()=>{c(TypeError(`Network request failed`))},u.onabort=l;let d=()=>u.abort();o.addEventListener(`abort`,d),u.onloadend=()=>{o.removeEventListener(`abort`,d)},u.send(a)}),Z=()=>{let{ghostVersion:e}=b();return(0,j.useCallback)(async(t,{method:n=`GET`,headers:r={},body:a,credentials:s=`include`,timeout:c,retry:l=!0,responseType:u,sessionExpiryRedirect:d=!0,onUploadProgress:f}={})=>{let p=new AbortController,m={method:n,headers:{"app-pragma":`no-cache`,...e?{"x-ghost-version":e}:{},...typeof a==`string`?{"content-type":`application/json`}:{},...r},credentials:s,mode:`cors`,body:a,signal:p.signal},h=0,g=0,_=Date.now(),v=[500,1e3],y=[R,V,TypeError],b=(e,r)=>{let i={error:r===void 0?void 0:String(r),status:e?.status,method:n,attempts:h,totalSeconds:(Date.now()-_)/1e3,endpoint:t.toString()};return t.toString().includes(`/ghost/api/`)&&(i.server=e?.headers.get(`server`)),i},x=f?Je.bind(null,f):fetch,S=c?setTimeout(()=>p.abort(),c):void 0;try{for(;h===0||l;)try{let e=await x(t,m),n=await Ne(e,{responseType:u});return Ve.test(t.toString())&&(He=!0),h!==0&&i()&&o(`Request took multiple attempts`,{extra:b(e)}),n}catch(e){if(g=Date.now()-_,l&&y.some(t=>e instanceof t)&&g<=15e3){await new Promise(e=>{setTimeout(e,v[h]||v[v.length-1])}),h+=1;continue}if(h!==0&&i()&&o(`Request failed after multiple attempts`,{extra:b(e instanceof F?e.response:void 0,e)}),e&&typeof e==`object`&&`name`in e&&e.name===`AbortError`)throw new be;if(e instanceof H&&Ke(t))throw d&&qe(),new U(e.response,e.data,{cause:e});let n=e;throw e instanceof F||(n=new R({cause:e})),ze.test(t.toString())&&Ie(n),n}}finally{clearTimeout(S)}},[e])},{apiRoot:Ye}=J(),Q=(e,t={})=>{let n=new URL(`${Ye}${e}`,window.location.origin);return n.search=new URLSearchParams(t).toString(),n.toString()},Xe=`UsersResponseType`,$=Q(`/users/me/`,{include:`roles`}),Ze=[Xe,$],Qe=({requestOptions:e}={})=>{let t=Z(),n=q(),r=N({queryKey:Ze,queryFn:()=>t($,e),select:e=>e.users[0],retryOnMount:!1});return(0,j.useEffect)(()=>{r.error&&n(r.error)},[n,r.error]),r},$e=(e,t)=>{let{data:n}=Qe(t);if(!e||e.length===0)return!0;let r=n?.roles.map(e=>e.name);return r?e.some(e=>r.includes(e)):!1},et=e=>({searchParams:t,requestOptions:n,...r}={})=>{let i=Q(e.path,t||e.defaultSearchParams),a=Z(),o=q(),s=$e(e.permissions,{requestOptions:n}),c=N({...r,enabled:s&&(r.enabled??!0),queryKey:[e.dataType,i],queryFn:async()=>{if(e.parseResponse){let t=await a(i,{headers:e.headers,...n});return e.parseResponse(t)}return a(i,{headers:e.headers,...n})}}),l=(0,j.useMemo)(()=>c.data&&e.returnData?e.returnData(c.data):c.data,[c.data]);return(0,j.useEffect)(()=>{c.error&&r.defaultErrorHandler!==!1&&o(c.error)},[o,c.error,r.defaultErrorHandler]),{...c,data:l}},tt=e=>({searchParams:t,requestOptions:n,getNextPageParams:r,...i}={})=>{let a=Z(),o=q(),s=$e(e.permissions,{requestOptions:n}),c=r||e.defaultNextPageParams||(()=>({})),l=ye({...i,enabled:s&&(i.enabled??!0),queryKey:[e.dataType,Q(e.path,t||e.defaultSearchParams)],queryFn:async({pageParam:r})=>{let i=r||t||e.defaultSearchParams||{},o=Q(e.path,i);if(e.parseResponse){let t=await a(o,{headers:e.headers,...n});return e.parseResponse(t,i)}return a(o,{headers:e.headers,...n})},initialPageParam:void 0,getNextPageParam:n=>c(n,t||e.defaultSearchParams||{})}),u=(0,j.useMemo)(()=>l.data&&e.returnData(l.data),[l.data]);return(0,j.useEffect)(()=>{l.error&&i.defaultErrorHandler!==!1&&o(l.error)},[o,l.error,i.defaultErrorHandler]),{...l,data:u}},nt=e=>(t,{searchParams:n,...r}={})=>et({...e,path:e.path(t)})({searchParams:n||e.defaultSearchParams,...r}),rt=({fetchApi:e,path:t,payload:n,searchParams:r,options:i})=>{let{defaultSearchParams:a,body:o,requestOptions:s,...c}=i,l=Q(t,r||a),u=n&&o?.(n),d;return u instanceof FormData?d=u:u&&(d=JSON.stringify(u)),e(l,{body:d,...c,...n===void 0?{}:s?.(n)})},it=({path:e,searchParams:t,defaultSearchParams:n,updateQueries:r,invalidateQueries:i,...a})=>()=>{let o=Z(),s=g(),{onUpdate:c,onInvalidate:l,onDelete:u}=b();return P({mutationFn:r=>rt({fetchApi:o,path:e(r),payload:r,searchParams:t?.(r)||n,options:a}),onSuccess:(0,j.useCallback)((e,t)=>{if(i&&`dataType`in i){let e=Array.isArray(i.dataType)?i.dataType:[i.dataType];for(let t of e)s.invalidateQueries({queryKey:[t]}),l(t)}else i&&s.invalidateQueries(i.filters,i.options);if(r){if(s.setQueriesData({queryKey:[r.dataType]},n=>r.update(e,n,t)),r.emberUpdateType===`createOrUpdate`)c(r.dataType,e);else if(r.emberUpdateType===`delete`){if(typeof t!=`string`)throw Error(`Expected delete mutation to have a string (ID) payload. Either change the payload or update the createMutation hook`);u(r.dataType,t)}}},[l,c,u,s])})};export{K as A,R as C,B as D,H as E,P as M,N,G as O,z as S,be as T,F as _,Ze as a,I as b,Q as c,Fe as d,je as f,q as g,Ee as h,nt as i,ye as j,L as k,We as l,J as m,it as n,Qe as o,Oe as p,et as r,Xe as s,tt as t,Z as u,Ce as v,U as w,V as x,W as y};
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`0738e25e-b40b-43f0-921b-0bc9ed4b3b65`,e._sentryDebugIdIdentifier=`sentry-dbid-0738e25e-b40b-43f0-921b-0bc9ed4b3b65`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{B as n,C as r,F as i,N as a,P as o,S as s,_ as c,a as l,b as u,c as d,d as f,f as p,g as m,h,i as g,l as _,o as v,p as y,r as b,s as x,u as S,v as C,w,x as T,y as E}from"./framework-provider-CIvHFnik.js";import{t as ee}from"./jsx-runtime-Bm2_KH-0.js";import{n as D}from"./dist-pogVoW2G.js";var te=class extends w{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=S(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),O(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return k(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return k(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof c(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!E(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&re(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||c(this.options.enabled,this.#t)!==c(t.enabled,this.#t)||C(this.options.staleTime,this.#t)!==C(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||c(this.options.enabled,this.#t)!==c(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return ie(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(h)),t}#g(){this.#b();let e=C(this.options.staleTime,this.#t);if(f.isServer()||this.#r.isStale||!y(e))return;let t=T(this.#r.dataUpdatedAt,e)+1;this.#d=s.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(f.isServer()||c(this.options.enabled,this.#t)===!1||!y(this.#p)||this.#p===0)&&(this.#f=s.setInterval(()=>{(this.options.refetchIntervalInBackground||r.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(s.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(s.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:l}=e,u={...l},d=!1,f;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&O(e,t),o=i&&re(e,n,t,r);(a||o)&&(u={...u,...v(l.data,e.options)}),t._optimisticResults===`isRestoring`&&(u.fetchStatus=`idle`)}let{error:p,errorUpdatedAt:h,status:g}=u;f=u.data;let _=!1;if(t.placeholderData!==void 0&&f===void 0&&g===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,_=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(g=`success`,f=m(i?.data,e,t),d=!0)}if(t.select&&f!==void 0&&!_)if(i&&f===a?.data&&t.select===this.#c)f=this.#l;else try{this.#c=t.select,f=t.select(f),f=m(i?.data,f,t),this.#l=f,this.#s=null}catch(e){this.#s=e}this.#s&&(p=this.#s,f=this.#l,h=Date.now(),g=`error`);let y=u.fetchStatus===`fetching`,b=g===`pending`,x=g===`error`,C=b&&y,w=f!==void 0,T={status:g,fetchStatus:u.fetchStatus,isPending:b,isSuccess:g===`success`,isError:x,isInitialLoading:C,isLoading:C,data:f,dataUpdatedAt:u.dataUpdatedAt,error:p,errorUpdatedAt:h,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:u.dataUpdateCount>s.dataUpdateCount||u.errorUpdateCount>s.errorUpdateCount,isFetching:y,isRefetching:y&&!b,isLoadingError:x&&!w,isPaused:u.fetchStatus===`paused`,isPlaceholderData:d,isRefetchError:x&&w,isStale:A(e,t),refetch:this.refetch,promise:this.#o,isEnabled:c(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=T.data!==void 0,r=T.status===`error`&&!t,i=e=>{r?e.reject(T.error):t&&e.resolve(T.data)},a=()=>{let e=this.#o=T.promise=S();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||T.data!==o.value)&&a();break;case`rejected`:(!r||T.error!==o.reason)&&a();break}}return T}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!E(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){_.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function ne(e,t){return c(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&c(t.retryOnMount,e)===!1)}function O(e,t){return ne(e,t)||e.state.data!==void 0&&k(e,t,t.refetchOnMount)}function k(e,t,n){if(c(t.enabled,e)!==!1&&C(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&A(e,t)}return!1}function re(e,t,n,r){return(e!==t||c(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&A(e,n)}function A(e,t){return c(t.enabled,e)!==!1&&e.isStaleByTime(C(t.staleTime,e))}function ie(e,t){return!E(e.getCurrentResult(),t)}var ae=class extends te{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,c=n.fetchMeta?.fetchMore?.direction,l=o&&c===`forward`,u=i&&c===`forward`,f=o&&c===`backward`,p=i&&c===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:x(t,n.data),hasPreviousPage:d(t,n.data),isFetchNextPageError:l,isFetchingNextPage:u,isFetchPreviousPageError:f,isFetchingPreviousPage:p,isRefetchError:s&&!l&&!f,isRefetching:a&&!u&&!p}}},oe=class extends w{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),E(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&p(t.mutationKey)!==p(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??l();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){_.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};ee();var j=e(t(),1),M=j.createContext(!1),se=()=>j.useContext(M);M.Provider;function ce(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var le=j.createContext(ce()),ue=()=>j.useContext(le),de=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?u(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},fe=e=>{j.useEffect(()=>{e.clearReset()},[e])},pe=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||u(n,[e.error,r])),me=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},he=(e,t)=>e.isLoading&&e.isFetching&&!t,ge=(e,t)=>e?.suspense&&t.isPending,_e=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function ve(e,t,n){let r=se(),i=ue(),a=g(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,me(o),de(o,i,s),fe(i);let l=!a.getQueryCache().get(o.queryHash),[u]=j.useState(()=>new t(a,o)),d=u.getOptimisticResult(o),p=!r&&c;if(j.useSyncExternalStore(j.useCallback(e=>{let t=p?u.subscribe(_.batchCalls(e)):h;return u.updateResult(),t},[u,p]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),j.useEffect(()=>{u.setOptions(o)},[o,u]),ge(o,d))throw _e(o,u,i);if(pe({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw d.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!f.isServer()&&he(d,r)&&(l?_e(o,u,i):s?.promise)?.catch(h).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}function N(e,t){return ve(e,te,t)}function P(e,t){let n=g(t),[r]=j.useState(()=>new oe(n,e));j.useEffect(()=>{r.setOptions(e)},[r,e]);let i=j.useSyncExternalStore(j.useCallback(e=>r.subscribe(_.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=j.useCallback((e,t)=>{r.mutate(e,t).catch(h)},[r]);if(i.error&&u(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function ye(e,t){return ve(e,ae,t)}var F=class extends Error{response;data;constructor(e,t,n,r){!n&&e&&e.url.includes(`/ghost/api/admin/`)&&(n=`Something went wrong while loading ${e.url.replace(/.+\/ghost\/api\/admin\//,``).replace(/\W.*/,``).replace(`_`,` `)}, please try again.`),super(n||`Something went wrong, please try again.`,r),this.response=e,this.data=t}},I=class extends F{data;constructor(e,t,n,r){super(e,t,n,r),this.data=t}},L=class extends I{constructor(e,t,n){super(e,t,`API server is running a newer version of Ghost, please upgrade.`,n)}},R=class extends F{constructor(e){super(void 0,void 0,`Something went wrong, please try again.`,e)}},be=class extends F{constructor(e){super(void 0,void 0,`Request timed out, please try again.`,e)}},z=class extends F{constructor(e,t,n){super(e,t,`Request is larger than the maximum file size the server allows`,n)}},B=class extends F{constructor(e,t,n){super(e,t,`Request contains an unknown or unsupported file type.`,n)}},V=class extends F{constructor(e,t,n){super(e,t,`Ghost is currently undergoing maintenance, please wait a moment then retry.`,n)}},H=class extends F{constructor(e,t,n){super(e,t,`You are not authorised to make this request.`,n)}},U=class extends H{},xe=class extends I{constructor(e,t,n){super(e,t,`Theme is not compatible or contains errors.`,n)}},W=class extends I{errorDetails;constructor(e,t,n){e instanceof Response?super(e,t,`A hosting plan limit was reached or exceeded.`,n):(super(void 0,void 0,e.message||`A hosting plan limit was reached or exceeded.`),this.errorDetails=e.errorDetails)}},Se=class extends I{constructor(e,t,n){super(e,t,`Please verify your email settings`,n)}},G=class extends I{constructor(e,t,n){super(e,t,t.errors[0].message,n)}};function K(e,t){let n=e instanceof I?e.data?.errors?.[0]:void 0;return n?.context||n?.message||t}var Ce=class extends Error{constructor(e){super(e)}};function we(e){D.dismiss(),D.error(e)}var q=()=>(0,j.useCallback)((e,{withToast:t=!0}={})=>{if(console.error(e),i()&&!(e instanceof U)&&n(t=>{t.setTag(`source`,`useHandleError`),t.setTag(`shown_to_user`,e instanceof F),e instanceof F&&(t.setContext(`ghost`,{displayed_message:K(e,e.message)}),e.response&&(t.setTag(`api_url`,e.response.url),t.setTag(`api_response_status`,e.response.status))),a(e)}),t)if(e instanceof F&&e.response?.status===418)D.dismiss();else if(e instanceof U)return;else e instanceof F?we(K(e,e.message)):we(`Something went wrong, please try again.`)},[]),Te=[/^\/signin\/?$/,/^\/signin\/verify\/?$/,/^\/signout\/?$/,/^\/signup\/[^/]+\/?$/,/^\/reset\/[^/]+\/?$/,/^\/setup\/?$/];function Ee(e){let[t]=e.split(`?`);return Te.some(e=>e.test(t))}function J(){let e=window.location.pathname,t=e.substr(0,e.search(`/ghost/`));return{subdir:t,adminRoot:`${t}/ghost/`,assetRoot:`${t}/ghost/assets/`,apiRoot:`${t}/ghost/api/admin`}}function De(e){let t=document.getElementById(`iframeDownload`);t||(t=document.createElement(`iframe`),t.id=`iframeDownload`,t.style.display=`none`,document.body.append(t)),t.setAttribute(`src`,e)}function Oe(e){De(`${J().apiRoot}${e}`)}function ke(e){if(!e)return;let t=e.match(/filename\*=([^;]+)/i);if(t?.[1]){let e=t[1].trim(),n=e.indexOf(`'`),r=n===-1?-1:e.indexOf(`'`,n+1),i=r===-1?e:e.slice(r+1);try{return decodeURIComponent(i.replace(/^["']|["']$/g,``))}catch{}}let n=e.match(/filename="([^"]*)"/i);if(n?.[1])return n[1].trim();let r=e.match(/filename=([^;]+)/i);if(r?.[1])return r[1].trim()}async function Ae(e,t,{signal:n}={}){let r=await fetch(e,{method:`GET`,signal:n});if(!r.ok)throw Error(`Download failed: ${r.status} ${r.statusText}`);let i=ke(r.headers.get(`content-disposition`))??t??`download`,a=await r.blob(),o=window.URL.createObjectURL(a),s=document.createElement(`a`);s.href=o,s.download=i,document.body.appendChild(s),s.click(),s.remove(),window.URL.revokeObjectURL(o)}async function je(e,t,n={}){return Ae(`${J().apiRoot}${e}`,t,n)}var Me=e=>!!e&&(e.startsWith(`text/`)||e.includes(`application/yaml`)),Ne=async(e,{responseType:t}={})=>{if(e.status===0)throw new R;if(e.status===503)throw new V(e,await e.text());if(e.status===415)throw new B(e,await e.text());if(e.status===413)throw new z(e,await e.text());if(e.status===401)throw e.headers.get(`content-type`)?.includes(`json`)?new H(e,await e.json()):new H(e,await e.text());if(!e.ok){if(!e.headers.get(`content-type`)?.includes(`json`))throw new F(e,await e.text());let t=await e.json();throw e.status===403&&t.errors?.[0]?.message===`Authorization failed`?new H(e,t):t.errors?.[0]?.type===`VersionMismatchError`?new L(e,t):t.errors?.[0]?.type===`ValidationError`||t.errors?.[0]?.type===`NoPermissionError`?new G(e,t):t.errors?.[0]?.type===`ThemeValidationError`?new xe(e,t):t.errors?.[0]?.type===`HostLimitError`?new W(e,t):t.errors?.[0]?.type===`EmailError`?new Se(e,t):new I(e,t)}else if(e.status===204)return;else if(t===`blob`)return await e.blob();else if(t===`arraybuffer`)return await e.arrayBuffer();else if(Me(e.headers.get(`content-type`)))return await e.text();else return await e.json()},Y=new Set;function Pe(e){return e instanceof L?`upgrade-required`:e instanceof V?`maintenance`:null}function Fe(e){return Y.add(e),()=>{Y.delete(e)}}function Ie(e){let t=Pe(e);t&&Y.forEach(e=>e(t))}var Le=e=>{let t=new Headers,n=e.getAllResponseHeaders()?.split(`\r
|
|
2
|
+
`)||[];for(let e of n){let n=e.indexOf(`:`);if(n===-1)continue;let r=e.slice(0,n),i=e.slice(n+1).trim();t.append(r,i)}return t},Re=e=>new Response([204,205,304].includes(e.status)?null:e.response,{status:e.status,statusText:e.statusText,headers:Le(e)}),ze=/\/ghost\/api\//,Be=/\/ghost\/api\/admin\/session([/?#]|$)/,Ve=/\/ghost\/api\/admin\/users\/me\/([?#]|$)/,He=!1,Ue=!1,X=new Set,We=()=>{let e=Symbol(`sessionExpiryRedirectHold`);return X.add(e),()=>{X.delete(e)}},Ge=e=>window.location.pathname===e&&(!window.location.hash||window.location.hash===`#/`||Ee(window.location.hash.slice(1))),Ke=e=>{let t=e.toString();return ze.test(t)&&!Be.test(t)},qe=()=>{let{adminRoot:e}=J();He&&!Ue&&X.size===0&&!Ge(e)&&(Ue=!0,window.location.replace(e))},Je=(e,t,{method:n,headers:r,credentials:i,body:a,signal:o})=>new Promise((s,c)=>{let l=()=>{c(new DOMException(`Aborted`,`AbortError`))};if(o.aborted){l();return}let u=new XMLHttpRequest;switch(u.open(n,t.toString(),!0),i){case`omit`:throw Error(`"omit" credentials cannot be represented with legacy XMLHttpRequest. Consider "same-origin".`);case`same-origin`:u.withCredentials=!1;break;case`include`:u.withCredentials=!0;break;default:throw Error(i)}u.responseType=`arraybuffer`;for(let[e,t]of Object.entries(r))u.setRequestHeader(e,t);u.upload.onprogress=t=>{t.lengthComputable&&e(t.loaded/t.total*100)},u.onload=()=>{try{s(Re(u))}catch(e){c(e)}},u.onerror=()=>{c(TypeError(`Network request failed`))},u.onabort=l;let d=()=>u.abort();o.addEventListener(`abort`,d),u.onloadend=()=>{o.removeEventListener(`abort`,d)},u.send(a)}),Z=()=>{let{ghostVersion:e}=b();return(0,j.useCallback)(async(t,{method:n=`GET`,headers:r={},body:a,credentials:s=`include`,timeout:c,retry:l=!0,responseType:u,sessionExpiryRedirect:d=!0,onUploadProgress:f}={})=>{let p=new AbortController,m={method:n,headers:{"app-pragma":`no-cache`,...e?{"x-ghost-version":e}:{},...typeof a==`string`?{"content-type":`application/json`}:{},...r},credentials:s,mode:`cors`,body:a,signal:p.signal},h=0,g=0,_=Date.now(),v=[500,1e3],y=[R,V,TypeError],b=(e,r)=>{let i={error:r===void 0?void 0:String(r),status:e?.status,method:n,attempts:h,totalSeconds:(Date.now()-_)/1e3,endpoint:t.toString()};return t.toString().includes(`/ghost/api/`)&&(i.server=e?.headers.get(`server`)),i},x=f?Je.bind(null,f):fetch,S=c?setTimeout(()=>p.abort(),c):void 0;try{for(;h===0||l;)try{let e=await x(t,m),n=await Ne(e,{responseType:u});return Ve.test(t.toString())&&(He=!0),h!==0&&i()&&o(`Request took multiple attempts`,{extra:b(e)}),n}catch(e){if(g=Date.now()-_,l&&y.some(t=>e instanceof t)&&g<=15e3){await new Promise(e=>{setTimeout(e,v[h]||v[v.length-1])}),h+=1;continue}if(h!==0&&i()&&o(`Request failed after multiple attempts`,{extra:b(e instanceof F?e.response:void 0,e)}),e&&typeof e==`object`&&`name`in e&&e.name===`AbortError`)throw new be;if(e instanceof H&&Ke(t))throw d&&qe(),new U(e.response,e.data,{cause:e});let n=e;throw e instanceof F||(n=new R({cause:e})),ze.test(t.toString())&&Ie(n),n}}finally{clearTimeout(S)}},[e])},{apiRoot:Ye}=J(),Q=(e,t={})=>{let n=new URL(`${Ye}${e}`,window.location.origin);return n.search=new URLSearchParams(t).toString(),n.toString()},Xe=`UsersResponseType`,$=Q(`/users/me/`,{include:`roles`}),Ze=[Xe,$],Qe=({requestOptions:e}={})=>{let t=Z(),n=q(),r=N({queryKey:Ze,queryFn:()=>t($,e),select:e=>e.users[0],retryOnMount:!1});return(0,j.useEffect)(()=>{r.error&&n(r.error)},[n,r.error]),r},$e=(e,t)=>{let{data:n}=Qe(t);if(!e||e.length===0)return!0;let r=n?.roles.map(e=>e.name);return r?e.some(e=>r.includes(e)):!1},et=e=>({searchParams:t,requestOptions:n,...r}={})=>{let i=Q(e.path,t||e.defaultSearchParams),a=Z(),o=q(),s=$e(e.permissions,{requestOptions:n}),c=N({...r,enabled:s&&(r.enabled??!0),queryKey:[e.dataType,i],queryFn:async()=>{if(e.parseResponse){let t=await a(i,{headers:e.headers,...n});return e.parseResponse(t)}return a(i,{headers:e.headers,...n})}}),l=(0,j.useMemo)(()=>c.data&&e.returnData?e.returnData(c.data):c.data,[c.data]);return(0,j.useEffect)(()=>{c.error&&r.defaultErrorHandler!==!1&&o(c.error)},[o,c.error,r.defaultErrorHandler]),{...c,data:l}},tt=e=>({searchParams:t,requestOptions:n,getNextPageParams:r,...i}={})=>{let a=Z(),o=q(),s=$e(e.permissions,{requestOptions:n}),c=r||e.defaultNextPageParams||(()=>({})),l=ye({...i,enabled:s&&(i.enabled??!0),queryKey:[e.dataType,Q(e.path,t||e.defaultSearchParams)],queryFn:async({pageParam:r})=>{let i=r||t||e.defaultSearchParams||{},o=Q(e.path,i);if(e.parseResponse){let t=await a(o,{headers:e.headers,...n});return e.parseResponse(t,i)}return a(o,{headers:e.headers,...n})},initialPageParam:void 0,getNextPageParam:n=>c(n,t||e.defaultSearchParams||{})}),u=(0,j.useMemo)(()=>l.data&&e.returnData(l.data),[l.data]);return(0,j.useEffect)(()=>{l.error&&i.defaultErrorHandler!==!1&&o(l.error)},[o,l.error,i.defaultErrorHandler]),{...l,data:u}},nt=e=>(t,{searchParams:n,...r}={})=>et({...e,path:e.path(t)})({searchParams:n||e.defaultSearchParams,...r}),rt=({fetchApi:e,path:t,payload:n,searchParams:r,options:i})=>{let{defaultSearchParams:a,body:o,requestOptions:s,...c}=i,l=Q(t,r||a),u=n&&o?.(n),d;return u instanceof FormData?d=u:u&&(d=JSON.stringify(u)),e(l,{body:d,...c,...n===void 0?{}:s?.(n)})},it=({path:e,searchParams:t,defaultSearchParams:n,updateQueries:r,invalidateQueries:i,...a})=>()=>{let o=Z(),s=g(),{onUpdate:c,onInvalidate:l,onDelete:u}=b();return P({mutationFn:r=>rt({fetchApi:o,path:e(r),payload:r,searchParams:t?.(r)||n,options:a}),onSuccess:(0,j.useCallback)((e,t)=>{if(i&&`dataType`in i){let e=Array.isArray(i.dataType)?i.dataType:[i.dataType];for(let t of e)s.invalidateQueries({queryKey:[t]}),l(t)}else i&&s.invalidateQueries(i.filters,i.options);if(r){if(s.setQueriesData({queryKey:[r.dataType]},n=>r.update(e,n,t)),r.emberUpdateType===`createOrUpdate`)c(r.dataType,e);else if(r.emberUpdateType===`delete`){if(typeof t!=`string`)throw Error(`Expected delete mutation to have a string (ID) payload. Either change the payload or update the createMutation hook`);u(r.dataType,t)}}},[l,c,u,s])})};export{K as A,R as C,B as D,H as E,P as M,N,G as O,z as S,be as T,F as _,Ze as a,I as b,Q as c,Fe as d,je as f,q as g,Ee as h,nt as i,ye as j,L as k,We as l,J as m,it as n,Qe as o,Oe as p,et as r,Xe as s,tt as t,Z as u,Ce as v,U as w,V as x,W as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`ac0bb852-2abe-41c0-b354-0f908f4cbc01`,e._sentryDebugIdIdentifier=`sentry-dbid-ac0bb852-2abe-41c0-b354-0f908f4cbc01`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{N as n}from"./framework-provider-CIvHFnik.js";import{t as r}from"./jsx-runtime-Bm2_KH-0.js";import{Z as i,n as a}from"./shade-provider-DvrXKKQZ.js";import{t as o}from"./stack-C3OmgpUv.js";import{t as s}from"./input-surface-DoDPknjt.js";import{o as c,r as l}from"./field-DCPPrQDr.js";import{F as u,I as d}from"./index-
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`ac0bb852-2abe-41c0-b354-0f908f4cbc01`,e._sentryDebugIdIdentifier=`sentry-dbid-ac0bb852-2abe-41c0-b354-0f908f4cbc01`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{N as n}from"./framework-provider-CIvHFnik.js";import{t as r}from"./jsx-runtime-Bm2_KH-0.js";import{Z as i,n as a}from"./shade-provider-DvrXKKQZ.js";import{t as o}from"./stack-C3OmgpUv.js";import{t as s}from"./input-surface-DoDPknjt.js";import{o as c,r as l}from"./field-DCPPrQDr.js";import{F as u,I as d}from"./index-RuRs_qGS.js";import{t as f}from"./error-boundary-DrxPFFO-.js";var p=e(t(),1),m=r(),h=({editor:e,onBlur:t,placeholder:r,nodes:i,emojiPicker:o=!0,darkMode:s=!1,singleParagraph:c=!1,children:l,initialEditorState:u,onChange:f,fileUploader:h,cardConfig:g,registerAPI:_})=>{let v=(0,p.useCallback)(e=>{try{n(e,{tags:{lexical:!0},contexts:{koenig:{version:d()}}})}catch(e){console.error(e)}console.error(e)},[]),{setFocusState:y}=a(),b=()=>{t&&t(),y(!1)},x=()=>{y(!0)},S=(0,p.useMemo)(()=>new Proxy({},{get:(t,n)=>e.read()[n]}),[e]),C={DEFAULT_NODES:S.DEFAULT_TRANSFORMERS,BASIC_NODES:S.BASIC_TRANSFORMERS,MINIMAL_NODES:S.MINIMAL_TRANSFORMERS,EMAIL_NODES:S.EMAIL_TRANSFORMERS,EMAIL_EDITOR_NODES:S.EMAIL_TRANSFORMERS},w=i||`DEFAULT_NODES`;return(0,m.jsx)(S.KoenigComposer,{cardConfig:g,darkMode:s,fileUploader:h,initialEditorState:u,nodes:S[w],onError:v,children:(0,m.jsxs)(S.KoenigComposableEditor,{className:`koenig-lexical koenig-lexical-editor-input`,isSnippetsEnabled:!1,markdownTransformers:C[w],placeholderClassName:`koenig-lexical-editor-input-placeholder line-clamp-1`,placeholderText:r,registerAPI:_,singleParagraph:c,onBlur:b,onChange:f,onFocus:x,children:[l(S),o?(0,m.jsx)(S.EmojiPickerPlugin,{}):null]})})},g=({className:e,children:t,initialEditorState:n,onChange:r,inheritFontStyles:i=!0,loadingFallback:o,...s})=>{let{darkMode:c}=a(),l=(0,p.useMemo)(()=>u(),[]);return(0,m.jsx)(`div`,{className:e||`w-full`,children:(0,m.jsx)(`div`,{className:`koenig-react-editor w-full ${i?`[&_*]:font-inherit! [&_*]:[font-size:inherit]!`:``}`,children:(0,m.jsx)(f,{name:`editor`,children:(0,m.jsx)(p.Suspense,{fallback:o||(0,m.jsx)(`p`,{className:`font-serif text-[2rem] leading-[1.6em] font-normal tracking-[0.1px] text-gray-500`,children:`Loading editor...`}),children:(0,m.jsx)(h,{...s,darkMode:c,editor:l,initialEditorState:n,onChange:r,children:t})})})})})},_=({value:e,onChange:t,singleParagraph:n=!0,...r})=>{let i=(0,p.useCallback)(n=>{let r=new DOMParser().parseFromString(n,`text/html`);r.querySelectorAll(`*`).forEach(e=>{e.style.removeProperty(`white-space`),e.getAttribute(`style`)||e.removeAttribute(`style`)}),r.body.innerHTML!==e&&t?.(r.body.innerHTML)},[e,t]);return(0,m.jsx)(g,{...r,singleParagraph:n,children:t=>(0,m.jsx)(t.HtmlOutputPlugin,{html:e,setHtml:i})})},v=({title:e,hideTitle:t,error:n,hint:r,value:a,clearBg:u=!1,className:d=``,containerClassName:f=``,hintClassName:p=``,unstyled:h=!1,...g})=>{let v=h?``:i(s(`within`),`flex min-h-8 items-center py-1.5 md:min-h-[var(--control-height)]`,u?`bg-transparent`:`px-3`,n&&`border-destructive`,e&&!t&&!u&&`mt-2`,d);return(0,m.jsxs)(o,{className:f,gap:`none`,children:[e&&(0,m.jsx)(c,{className:t?`sr-only`:void 0,children:e}),(0,m.jsx)(`div`,{className:v,children:(0,m.jsx)(_,{...g,value:a})}),r&&(0,m.jsx)(l,{className:i(`last:mt-2`,n&&`text-destructive`,p),children:r})]})};export{v as t};
|
package/core/built/admin/assets/{iframe-buffering-DW-Axhvc.js → iframe-buffering-cu-yK7NA.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`b2720e02-b1e7-403d-a158-c23c5e54098f`,e._sentryDebugIdIdentifier=`sentry-dbid-b2720e02-b1e7-403d-a158-c23c5e54098f`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{N as n}from"./framework-provider-CIvHFnik.js";import{t as r}from"./jsx-runtime-Bm2_KH-0.js";import{t as i}from"./debounce-Dg7iKwZN.js";var a=e(t(),1),o=r(),s=({generateContent:e,updateContent:t,className:r,height:s,width:c,parentClassName:l,testId:u,addDelay:d=!1})=>{let[f,p]=(0,a.useState)(0),m=[(0,a.useRef)(null),(0,a.useRef)(null)],[h,g]=(0,a.useState)(0);return(0,a.useEffect)(()=>{let t=+(f===0),n=m[t].current;if(n){e(n);let r=()=>{d?setTimeout(()=>{p(t)},500):p(t)};return n.addEventListener(`load`,r),()=>{n.removeEventListener(`load`,r)}}},[e]),(0,a.useEffect)(()=>{let e=m[f].current,t=i(()=>{g(e?.contentWindow?.scrollY||0)},250);return e?.contentWindow?.addEventListener(`scroll`,t),()=>{e?.contentWindow?.removeEventListener(`scroll`,t)}},[f,m]),(0,a.useEffect)(()=>{let e=m[f].current;if(e)try{e.contentWindow?.scrollTo(0,h)}catch(e){n(e)}},[h,f,m]),(0,a.useEffect)(()=>{t&&m.forEach(({current:e})=>{e&&t(e)})},[t]),(0,o.jsxs)(`div`,{className:l,"data-testid":u,children:[(0,o.jsx)(`iframe`,{ref:m[0],className:`${r} ${f===0?`z-20 opacity-100`:`z-10 opacity-0`}`,"data-visible":f===0,frameBorder:`0`,height:s,title:`Buffered Preview 1`,width:c}),(0,o.jsx)(`iframe`,{ref:m[1],className:`${r} ${f===1?`z-20 opacity-100`:`z-10 opacity-0`}`,"data-visible":f===1,frameBorder:`0`,height:s,title:`Buffered Preview 2`,width:c})]})};export{s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`eefa3712-c1be-4db1-b596-8d7a29b233c8`,e._sentryDebugIdIdentifier=`sentry-dbid-eefa3712-c1be-4db1-b596-8d7a29b233c8`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{n}from"./hooks-
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`eefa3712-c1be-4db1-b596-8d7a29b233c8`,e._sentryDebugIdIdentifier=`sentry-dbid-eefa3712-c1be-4db1-b596-8d7a29b233c8`)}catch{}})();import{s as e,t}from"./react-C9lG_SsT.js";import{n}from"./hooks-0r7qxGEo.js";import{t as r}from"./jsx-runtime-Bm2_KH-0.js";import{L as i,N as a,r as o}from"./shade-provider-DvrXKKQZ.js";import{t as s}from"./button-CTHYSI-d.js";import{t as c}from"./dropzone-C0p6KEsa.js";import{a as l,g as u,p as d}from"./schemas-21VB7GGY.js";var f=e(t(),1),p={base:`bg-surface-inverse text-surface-inverse-foreground hover:bg-surface-inverse/90 hover:text-surface-inverse-foreground`,pressed:`enabled:active:bg-surface-inverse enabled:active:text-surface-inverse-foreground enabled:aria-expanded:bg-surface-inverse enabled:aria-expanded:text-surface-inverse-foreground`};function m(e=!0){return i(p.base,e&&p.pressed)}var h=r(),g=f.forwardRef(({className:e,...t},n)=>(0,h.jsx)(`div`,{ref:n,className:i(`relative overflow-hidden rounded-md`,e),"data-slot":`image-upload`,...t}));g.displayName=`ImageUpload`;var _=f.forwardRef(({className:e,variant:t=`filled`,...n},r)=>(0,h.jsx)(c,{ref:r,className:i(`size-full text-foreground`,e),"data-slot":`image-upload-dropzone`,variant:t,...n}));_.displayName=`ImageUploadDropzone`;var v=a(`group relative flex size-full items-center justify-center overflow-hidden rounded-md bg-muted`,{variants:{background:{default:``,checkerboard:`[background-image:repeating-conic-gradient(var(--border-default)_0%_25%,var(--surface-elevated)_0%_50%)] [background-size:16px_16px]`}},defaultVariants:{background:`default`}}),y=f.forwardRef(({background:e,className:t,...n},r)=>(0,h.jsx)(`div`,{ref:r,className:i(v({background:e}),t),"data-slot":`image-upload-preview`,"data-testid":`image-upload-container`,...n}));y.displayName=`ImageUploadPreview`;var b=f.forwardRef(({alt:e=``,className:t,...n},r)=>(0,h.jsx)(`img`,{ref:r,alt:e,className:i(`size-full object-cover`,t),"data-slot":`image-upload-image`,...n}));b.displayName=`ImageUploadImage`;var x=f.forwardRef(({className:e,...t},n)=>(0,h.jsx)(`div`,{ref:n,className:i(`absolute top-2 right-2 flex gap-1 opacity-0 transition-opacity group-focus-within:opacity-100 group-hover:opacity-100 [@media(hover:none)]:opacity-100`,e),"data-slot":`image-upload-actions`,...t}));x.displayName=`ImageUploadActions`;var S=f.forwardRef(({className:e,size:t=`icon`,variant:n=`ghost`,...r},a)=>{let{isAdmin7:c}=o();return(0,h.jsx)(s,{ref:a,className:i(`size-8`,m(c),e),"data-slot":`image-upload-action`,size:t,variant:n,...r})});S.displayName=`ImageUploadAction`;var C=n({method:`POST`,path:()=>`/images/upload/`,body:({file:e})=>{let t=new FormData;return t.append(`file`,e),t.append(`purpose`,`image`),t},requestOptions:({sessionExpiryRedirect:e})=>({sessionExpiryRedirect:e})}),w=d({images:l(d({url:u().min(1)})).min(1)}),T=e=>w.parse(e).images[0].url;export{x as a,y as c,S as i,m as l,C as n,_ as o,g as r,b as s,T as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`2a69c544-bae8-46b3-8354-d2fc42259073`,e._sentryDebugIdIdentifier=`sentry-dbid-2a69c544-bae8-46b3-8354-d2fc42259073`)}catch{}})();import{i as e,s as t,t as n}from"./react-C9lG_SsT.js";import{t as r}from"./jsx-runtime-Bm2_KH-0.js";import{h as i}from"./chunk-OB3PAWPO-D3muQBsq.js";import{s as a}from"./router-provider-Cf-bcYZr.js";import{M as o}from"./shade-provider-DvrXKKQZ.js";import{Mt as s,dt as c,ln as l,t as u}from"./button-CTHYSI-d.js";import{C as d,D as f,E as p,S as m,T as h,_ as g,a as _,b as ee,g as v,h as y,m as b,n as x,v as S,w as C,x as w}from"./routes-
|
|
1
|
+
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`2a69c544-bae8-46b3-8354-d2fc42259073`,e._sentryDebugIdIdentifier=`sentry-dbid-2a69c544-bae8-46b3-8354-d2fc42259073`)}catch{}})();import{i as e,s as t,t as n}from"./react-C9lG_SsT.js";import{t as r}from"./jsx-runtime-Bm2_KH-0.js";import{h as i}from"./chunk-OB3PAWPO-D3muQBsq.js";import{s as a}from"./router-provider-Cf-bcYZr.js";import{M as o}from"./shade-provider-DvrXKKQZ.js";import{Mt as s,dt as c,ln as l,t as u}from"./button-CTHYSI-d.js";import{C as d,D as f,E as p,S as m,T as h,_ as g,a as _,b as ee,g as v,h as y,m as b,n as x,v as S,w as C,x as w}from"./routes-DKfpFMfF.js";import{i as T,o as te,r as ne,s as re,t as ie}from"./dialog-BO1lcy8A.js";import{a as ae,i as oe,t as E}from"./popover-r_3DwMi9.js";import{t as D}from"./empty-indicator-BhVwqSVH.js";import{t as O}from"./skeleton-C1s6yr9e.js";import{n as se}from"./loading-indicator-DaRyGrxv.js";import{t as ce}from"./use-navigate-with-base-path-pweMCFf6.js";import{a as k,i as A,l as le,n as j,r as M,t as ue,u as de}from"./content-formatters-C08JJbUJ.js";import{F as fe,K as N,b as P,h as pe,q as F}from"./use-activity-pub-queries-BgR1USeY.js";import{n as me}from"./index.module-CnPepLB9.js";import{st as I}from"./index-RuRs_qGS.js";import"./layout-_g2xhB0L.js";import{t as L}from"./topic-filter-DAJ-DFPb.js";import{i as he,n as ge,r as _e,t as ve}from"./use-reply-chain-data-BiV3Cl0B.js";var R=t(n(),1),z=r(),B=[`1.5rem`,`1.6rem`,`1.7rem`,`1.8rem`,`2rem`],V={BACKGROUND_COLOR:`ghost-ap-background-color`,FONT_SIZE:`ghost-ap-font-size`,FONT_FAMILY:`ghost-ap-font-family`,FONT_STYLE:`ghost-ap-font-style`},H={SYSTEM:{id:`system`,color:`#fff`,background:`bg-white dark:bg-black`,button:`bg-white dark:bg-black`,border:`border-black/[8%] dark:border-gray-950`},SEPIA:{id:`sepia`,color:`#FCF8F1`,background:`bg-[#FCF8F1]`,button:`bg-[#FCF8F1] hover:bg-black/[3%] text-black hover:text-black`,border:`border-black/[8%]`},LIGHT:{id:`light`,color:`#fff`,background:`bg-white`,button:`hover:bg-black/[3%] text-black hover:text-black`,border:`border-black/[8%] dark:border-gray-950`},DARK:{id:`dark`,color:`#15171a`,background:`bg-black`,button:`text-white dark:bg-black dark:hover:bg-gray-900`,border:`border-black/[8%] dark:border-gray-950`}},ye=()=>{let[e,t]=(0,R.useState)(()=>localStorage.getItem(V.BACKGROUND_COLOR)?.toUpperCase()||`SYSTEM`),[n,r]=(0,R.useState)(()=>{let e=localStorage.getItem(V.FONT_SIZE);return e?parseInt(e):2}),[i,a]=(0,R.useState)(()=>localStorage.getItem(V.FONT_STYLE)||`sans`);return(0,R.useEffect)(()=>{localStorage.setItem(V.FONT_SIZE,n.toString())},[n]),(0,R.useEffect)(()=>{localStorage.setItem(V.FONT_STYLE,i)},[i]),{backgroundColor:e,currentFontSizeIndex:n,fontStyle:i,handleColorChange:e=>{t(e),localStorage.setItem(V.BACKGROUND_COLOR,H[e].id)},setFontStyle:a,increaseFontSize:()=>{r(e=>Math.min(e+1,B.length-1))},decreaseFontSize:()=>{r(e=>Math.max(e-1,0))},resetFontSize:()=>r(2),fontSize:B[n]}},be=({backgroundColor:e,currentFontSizeIndex:t,fontStyle:n,onColorChange:r,onFontStyleChange:i,onDecreaseFontSize:a,onIncreaseFontSize:o,onResetFontSize:s,onOpenChange:c})=>(0,z.jsx)(U,{backgroundColor:e,currentFontSizeIndex:t,fontStyle:n,isActiveColor:t=>e===t,isActiveFont:e=>n===e,onColorChange:r,onDecreaseFontSize:a,onFontStyleChange:i,onIncreaseFontSize:o,onOpenChange:c,onResetFontSize:s}),U=({backgroundColor:e,isActiveColor:t,isActiveFont:n,onColorChange:r,onFontStyleChange:i,currentFontSizeIndex:a,onDecreaseFontSize:l,onIncreaseFontSize:d,onResetFontSize:f,onOpenChange:p})=>(0,z.jsxs)(E,{modal:!1,onOpenChange:p,children:[(0,z.jsx)(ae,{asChild:!0,children:(0,z.jsx)(u,{"aria-label":`Reading options`,className:`size-9 rounded-full ${H[e].button}`,variant:`ghost`,children:(0,z.jsx)(o.Typography,{className:`size-[18px]!`})})}),(0,z.jsx)(oe,{align:`end`,className:`w-[224px]`,onCloseAutoFocus:e=>e.preventDefault(),onOpenAutoFocus:e=>e.preventDefault(),children:(0,z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-[6px]`,children:[(0,z.jsx)(u,{className:`h-7 flex-1 rounded-[6px] bg-gray-200 p-0 text-[1.1rem] text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px] ${t(`SYSTEM`)?`outline-2 outline-green`:``}`,variant:`secondary`,onClick:()=>r(`SYSTEM`),children:`Auto`}),(0,z.jsx)(u,{className:`h-7 flex-1 rounded-[6px] bg-[#ece6d9] p-0 hover:bg-[#ece6d9] ${t(`SEPIA`)?`outline-2 outline-green`:`border border-[#ece6d9]`}`,onClick:()=>r(`SEPIA`)}),(0,z.jsx)(u,{className:`h-7 flex-1 rounded-[6px] bg-white p-0 hover:bg-white ${t(`LIGHT`)?`outline-2 outline-green`:`border border-gray-200`}`,onClick:()=>r(`LIGHT`)}),(0,z.jsx)(u,{className:`h-7 flex-1 rounded-[6px] bg-black p-0 hover:bg-black dark:border dark:border-gray-950 ${t(`DARK`)?`outline-2 outline-green`:``}`,onClick:()=>r(`DARK`)})]}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,z.jsxs)(u,{className:`flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 ${n(`sans`)&&`outline-2 outline-green`}`,variant:`secondary`,onClick:()=>i(`sans`),children:[(0,z.jsx)(`span`,{className:`text-[2rem] leading-none font-bold`,children:`Aa`}),(0,z.jsx)(`span`,{className:`text-[1.1rem]`,children:`System`})]}),(0,z.jsxs)(u,{className:`flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 ${n(`serif`)&&`outline-2 outline-green`}`,variant:`secondary`,onClick:()=>i(`serif`),children:[(0,z.jsx)(`span`,{className:`pt-1 font-serif text-[2rem] leading-none font-bold`,children:`Aa`}),(0,z.jsx)(`span`,{className:`font-serif text-[1.2rem]`,children:`Serif`})]})]}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,z.jsx)(u,{"aria-label":`Decrease text size`,className:`h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]`,disabled:a===0,variant:`secondary`,onClick:l,children:(0,z.jsx)(s,{})}),(0,z.jsx)(u,{"aria-label":`Reset text size`,className:`h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900`,variant:`secondary`,onClick:f,children:(0,z.jsx)(`span`,{className:`text-[1.6rem] font-bold`,children:`Aa`})}),(0,z.jsx)(u,{"aria-label":`Increase text size`,className:`h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]`,disabled:a===B.length-1,variant:`secondary`,onClick:d,children:(0,z.jsx)(c,{})})]})]})})]}),xe=({tocItems:e,iframeElement:t,modalRef:n,className:r=`visible! absolute inset-y-0 right-7 z-40 hidden lg:block!`,onOpenChange:i})=>{let[a,o]=(0,R.useState)(null),s=R.useRef(!1);return(0,R.useEffect)(()=>{if(!t?.contentDocument||e.length<=1)return;let r=n.current;if(!r)return;let i=()=>{if(s.current)return;let n=t.contentDocument;if(!n)return;let i=r.scrollTop,a=e.map(e=>n.getElementById(e.id)).filter(e=>e!==null).map(e=>({id:e.id,top:e.offsetTop}));if(!a.length)return;let c=a.reduce((e,t)=>t.top-100<=i?t:e);o(c?.id||null)},a=()=>{requestAnimationFrame(i)};return r.addEventListener(`scroll`,a),i(),()=>{r.removeEventListener(`scroll`,a)}},[t,e,n]),e.length<=1?null:(0,z.jsx)(`div`,{className:r,children:(0,z.jsx)(`div`,{className:`sticky top-1/2 -translate-y-1/2`,children:(0,z.jsx)(W,{activeHeading:a||``,items:e,onItemClick:e=>{if(!t?.contentDocument)return;let r=t.contentDocument.getElementById(e);r&&n.current&&(s.current=!0,o(e),n.current.scrollTo({top:r.offsetTop-20,behavior:`smooth`}),setTimeout(()=>{s.current=!1},1e3))},onOpenChange:i})})})},Se={1:`w-3`,2:`w-2`,3:`w-1`},Ce={1:`pl-2`,2:`pl-6`,3:`pl-10`},W=({items:e,activeHeading:t,onItemClick:n,onOpenChange:r})=>{let[i,a]=(0,R.useState)(!1),o=R.useRef();if(R.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]),e.length===0)return null;let s=e=>Math.min(e,3),c=e=>Se[s(e)],l=e=>Ce[s(e)],u=()=>{o.current&&clearTimeout(o.current),a(!0),r?.(!0)},d=()=>{o.current=setTimeout(()=>{a(!1),r?.(!1)},100)};return(0,z.jsxs)(E,{modal:!1,open:i,onOpenChange:a,children:[(0,z.jsx)(ae,{asChild:!0,children:(0,z.jsx)(`div`,{className:`absolute top-1/2 right-2 flex -translate-y-1/2 flex-col items-end gap-2 rounded-md p-2 text-base dark:bg-black`,onMouseEnter:u,onMouseLeave:d,children:e.map(e=>(0,z.jsx)(`div`,{className:`h-[2px] rounded-sm ${t===e.id?`bg-black dark:bg-white`:`bg-gray-400 dark:bg-gray-700`} pr-1 transition-all ${c(e.level)}`},e.id))})}),(0,z.jsx)(oe,{align:`center`,className:`w-[240px] p-2`,side:`left`,sideOffset:-28,onCloseAutoFocus:e=>e.preventDefault(),onMouseEnter:u,onMouseLeave:d,onOpenAutoFocus:e=>e.preventDefault(),children:(0,z.jsx)(`nav`,{"aria-label":`Table of contents navigation`,className:`max-h-[60vh] overflow-y-auto`,role:`navigation`,children:e.map(e=>(0,z.jsx)(`button`,{className:`line-clamp-2 block w-full cursor-pointer rounded py-1 text-left text-sm leading-tight ${t===e.id?`text-black dark:text-white`:`text-gray-700 dark:text-gray-600`} hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-950 dark:hover:text-white ${l(e.level)}`,type:`button`,onClick:()=>n(e.id),children:(0,z.jsx)(`span`,{className:`line-clamp-2`,children:e.text})},e.id))})})]})},we=()=>`<style>
|
|
2
2
|
|
|
3
3
|
/* Variables */
|
|
4
4
|
|