ghost 6.62.0 → 6.63.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/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
- package/components/tryghost-admin-api-schema-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.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-cards-10.3.5.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.2.1.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-lexical-html-renderer-1.5.0.tgz +0 -0
- package/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
- package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
- package/components/tryghost-limit-service-0.0.0.tgz +0 -0
- package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
- package/content/themes/source/package.json +2 -2
- package/content/themes/source/partials/post-card.hbs +1 -1
- package/core/boot.js +7 -5
- package/core/built/admin/assets/{about-Dyae_UT6.js → about-C1C3s5-g.js} +1 -1
- package/core/built/admin/assets/accordion-CxGsDKwa.js +1 -0
- package/core/built/admin/assets/{account-migration-CESa0mnX.js → account-migration-CbUhW6gk.js} +1 -1
- package/core/built/admin/assets/activitypub/{account-migration-By69CgCp.js → account-migration-KA6Jjf9L.js} +7 -7
- package/core/built/admin/assets/activitypub/activitypub.js +3 -3
- package/core/built/admin/assets/activitypub/{avatar-DLPL3Abs.js → avatar-DVJF5bxP.js} +2 -2
- package/core/built/admin/assets/activitypub/{avatar-flipboard-C9iDY-QV.js → avatar-flipboard-csQaNeYK.js} +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-BJcPMrDd.js → bluesky-sharing-C7nTDMvw.js} +9 -9
- package/core/built/admin/assets/activitypub/{content-formatters-3rTHg3mp.js → content-formatters-CLcjaBwV.js} +4 -4
- package/core/built/admin/assets/activitypub/{copy-DIAOQoCZ.js → copy-DcOh8kXw.js} +2 -2
- package/core/built/admin/assets/activitypub/{domain-DUR4xSkV.js → domain-fZ-X8i4-.js} +9 -9
- package/core/built/admin/assets/activitypub/{edit-profile-BqtfzxCp.js → edit-profile-BqMLQV88.js} +6 -6
- package/core/built/admin/assets/activitypub/{explore-BxuJd-J4.js → explore-B4yPoP8E.js} +10 -10
- package/core/built/admin/assets/activitypub/{feed-BM1TcksA.js → feed-BRC_mvAe.js} +9 -9
- package/core/built/admin/assets/activitypub/{field-Dn7HHx2-.js → field-COacNgOt.js} +3 -3
- package/core/built/admin/assets/activitypub/{hash-Bm3WxYN4.js → hash-C7u-irQQ.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-CCjkuow2.js → inbox-BW-yvUoN.js} +10 -10
- package/core/built/admin/assets/activitypub/{inbox-d8oJRTf4.js → inbox-CbTTdDQ3.js} +2 -2
- package/core/built/admin/assets/activitypub/{label-1AA_s9Fa.js → label-kPMmYI7l.js} +3 -3
- package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-CnmxEB8w.js → moderation-CuidJzc0.js} +10 -10
- package/core/built/admin/assets/activitypub/{note-ZKc_Bnba.js → note-CAMRRSqD.js} +7 -7
- package/core/built/admin/assets/activitypub/{notifications-CB2tJZau.js → notifications-BmNlXGgp.js} +9 -9
- package/core/built/admin/assets/activitypub/{onboarding-BsJ9E5qf.js → onboarding-Bqg7fh_L.js} +2 -2
- package/core/built/admin/assets/activitypub/{onboarding-CSUJJIlh.js → onboarding-Dmun9jr_.js} +2 -2
- package/core/built/admin/assets/activitypub/{preferences-0-JZnUkI.js → preferences--oH19wf9.js} +11 -11
- package/core/built/admin/assets/activitypub/{profile-C35cFIhM.js → profile-DH_tQx2D.js} +14 -14
- package/core/built/admin/assets/activitypub/{reply-DYK5vVqb.js → reply-Cap9PxSH.js} +2 -2
- package/core/built/admin/assets/activitypub/{routes-BD4vscyc.js → routes-DdyY9uFF.js} +30 -30
- package/core/built/admin/assets/activitypub/{separator-BbQqTm-p.js → separator-CAxxu8VV.js} +3 -3
- package/core/built/admin/assets/activitypub/{settings-BsMROdqh.js → settings-B6EEcVkW.js} +6 -6
- package/core/built/admin/assets/activitypub/{site-O0RL9YCN.js → site-BYps63oh.js} +2 -2
- package/core/built/admin/assets/activitypub/{step-1-BMSx7c_X.js → step-1-CKjR2KAm.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-2-DtPQzlTH.js → step-2-B6PKfOUQ.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-3-CLlOZTyt.js → step-3-C-qBbcUo.js} +11 -11
- package/core/built/admin/assets/activitypub/{tabs-Dxk-b9M-.js → tabs-DLhZtVde.js} +6 -6
- package/core/built/admin/assets/activitypub/{topic-filter-5yZH6tId.js → topic-filter-DsUOuu0k.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CV50qe03.js → use-activity-pub-queries-CX9snsLs.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Bmk5h4lW.js → use-navigate-with-base-path-DsJTGDSS.js} +988 -959
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-Cbvzgjzd.js → use-reply-chain-data-AJi9zkzm.js} +5 -5
- package/core/built/admin/assets/activitypub/{users-BjcoP_HC.js → users-inweyKL5.js} +186 -160
- package/core/built/admin/assets/activitypub/{x-DbQZOLiI.js → x-DR8AT3-4.js} +2 -2
- package/core/built/admin/assets/{add-integration-modal-BlF6rs_f.js → add-integration-modal-BT_onDJy.js} +1 -1
- package/core/built/admin/assets/{add-newsletter-modal-CglVQqah.js → add-newsletter-modal-Cx1kQpiY.js} +1 -1
- package/core/built/admin/assets/{add-recommendation-modal-wz7BsuaG.js → add-recommendation-modal-B5nvAhvr.js} +1 -1
- package/core/built/admin/assets/{analytics-C4HE1gBg.js → analytics-DjoJWPI7.js} +1 -1
- package/core/built/admin/assets/{announcement-bar-modal-Ci4zz8jO.js → announcement-bar-modal-Dwd0EGFP.js} +1 -1
- package/core/built/admin/assets/{api-keys-3-0vJC3Y.js → api-keys-BGPzLHzA.js} +1 -1
- package/core/built/admin/assets/{api-keys-Ck-Yteiv.js → api-keys-BoeacM-s.js} +1 -1
- package/core/built/admin/assets/{audience-CtbA54Sn.js → audience-ceV3XVHq.js} +1 -1
- package/core/built/admin/assets/automated-emails-BLesE41L.js +1 -0
- package/core/built/admin/assets/{automations-sAcJ1334.js → automations-BN4u3GR8.js} +1 -1
- package/core/built/admin/assets/automations-C-ZTUwW3.js +1 -0
- package/core/built/admin/assets/{bluesky-sharing-BEtJ_gL_.js → bluesky-sharing-vzh-oPXL.js} +1 -1
- package/core/built/admin/assets/{breadcrumb-zUrZrBtW.js → breadcrumb-CaLk2b7D.js} +1 -1
- package/core/built/admin/assets/{button-eNMKQWXr.js → button-Dvcv1QSR.js} +1 -1
- package/core/built/admin/assets/calendar-Bl9RLcZX.js +1 -0
- package/core/built/admin/assets/{chart-helpers-CfBKt0vT.js → chart-helpers-FHywU0pj.js} +1 -1
- package/core/built/admin/assets/{checkbox-CgOn_tKW.js → checkbox-BtayFtjg.js} +1 -1
- package/core/built/admin/assets/chunk.254.035b85ec456ebbd7336b.js +440 -0
- package/core/built/admin/assets/{chunk.524.a697dee88db67fdf6021.js → chunk.524.e6975095fccdf22d90f8.js} +5 -5
- package/core/built/admin/assets/{chunk.582.5ed5d124cfca9c259b9c.js → chunk.582.98b485f9b2802f540897.js} +6 -6
- package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js → chunk.901.4ccc639821020230bcca.js} +9949 -7921
- package/core/built/admin/assets/{code-editor-view-K2wI-I5f.js → code-editor-view-C3ZfoF1X.js} +1 -1
- package/core/built/admin/assets/{code-editor-view-BYNoAoNV.js → code-editor-view-CAyRWy1s.js} +1 -1
- package/core/built/admin/assets/{color-picker-Ddw80xX6.js → color-picker-G4kGR7rp.js} +1 -1
- package/core/built/admin/assets/{color-picker-field-D9nUhvA7.js → color-picker-field-DQFVTNnT.js} +1 -1
- package/core/built/admin/assets/{combobox-w9j8PPQT.js → combobox-BnYzgEB4.js} +1 -1
- package/core/built/admin/assets/{command-BfpHORBv.js → command-C_vyTikI.js} +1 -1
- package/core/built/admin/assets/comments-aBrxfnZf.js +1 -0
- package/core/built/admin/assets/{config-DOMQDZGZ.js → config-kSHvwdTG.js} +1 -1
- package/core/built/admin/assets/{confirmation-context-CBM8G0Vj.js → confirmation-context-DwXX_Y5h.js} +1 -1
- package/core/built/admin/assets/{content-api-modal-TXRz3U7S.js → content-api-modal-D2G0nJP6.js} +1 -1
- package/core/built/admin/assets/{context-menu-_QMdd3kp.js → context-menu-DOVB6yaz.js} +1 -1
- package/core/built/admin/assets/{copy-field-6N01S07E.js → copy-field-DCJwh9qf.js} +1 -1
- package/core/built/admin/assets/{create-ghost-browse-value-source-qIBymvvf.js → create-ghost-browse-value-source-5C53jJaX.js} +1 -1
- package/core/built/admin/assets/custom-field-type-option-BAuW0F-E.js +1 -0
- package/core/built/admin/assets/{custom-integration-modal-DmNquxUV.js → custom-integration-modal-AbJGVyKc.js} +1 -1
- package/core/built/admin/assets/{date-range-select-uvz_DtPh.js → date-range-select-BY3K-ukj.js} +1 -1
- package/core/built/admin/assets/design-and-theme-modal-BvEy4_pC.js +2 -0
- package/core/built/admin/assets/{dirty-confirm-dialog-BZ1iytEd.js → dirty-confirm-dialog-DVPuGz3U.js} +1 -1
- package/core/built/admin/assets/{disabled-sources-indicator-DMRrxsiJ.js → disabled-sources-indicator-Cy7Zp4c8.js} +1 -1
- package/core/built/admin/assets/{domain-BNYrt0aD.js → domain-Dl61QGuk.js} +1 -1
- package/core/built/admin/assets/{dropzone-D7nFdAe5.js → dropzone-Dtz5Rmjt.js} +4 -4
- package/core/built/admin/assets/edit-profile-DNJSMDwm.js +1 -0
- package/core/built/admin/assets/editor-DbAen9zf.js +8 -0
- package/core/built/admin/assets/editor-screen-BFWThIai.js +26 -0
- package/core/built/admin/assets/email-sending-status-context-CWDOD1FN.js +1 -0
- package/core/built/admin/assets/email-sending-status-provider-DCPkDICt.js +1 -0
- package/core/built/admin/assets/emails-vFMk4yYl.js +1 -0
- package/core/built/admin/assets/{embed-signup-form-modal-Ds6mPEi5.js → embed-signup-form-modal-DGqsORxS.js} +1 -1
- package/core/built/admin/assets/{explore-UY10Egsp.js → explore-nnRr1Fja.js} +1 -1
- package/core/built/admin/assets/feature-flag-overrides-context-DQjdJFAk.js +1 -0
- package/core/built/admin/assets/{feature-image-placeholder-D1iF_8bc.js → feature-image-placeholder-BrIHmPs8.js} +1 -1
- package/core/built/admin/assets/{feed-81C8mJWR.js → feed-BNUcNu-W.js} +1 -1
- package/core/built/admin/assets/feedback-DJ4Zb9rZ.js +1 -0
- package/core/built/admin/assets/{field-Dihp5p18.js → field-C93_Mg6j.js} +1 -1
- package/core/built/admin/assets/filter-sources-CGJb4C5r.js +1 -0
- package/core/built/admin/assets/{filters-DirqNXjH.js → filters--kKP-EC8.js} +1 -1
- package/core/built/admin/assets/filters-DxA_a4FP.js +1 -0
- package/core/built/admin/assets/{first-promoter-modal-CT6MxYZb.js → first-promoter-modal-BYDtrz2S.js} +1 -1
- package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-BbSnGOtK.js +1 -0
- package/core/built/admin/assets/{ghost-8eabfc1ece81b03cf7b90780d31487e8.css → ghost-8fd5bb799356bbefb254210ba7e1236d.css} +1 -1
- package/core/built/admin/assets/{ghost-c2848508292937415f20f5a830eea59e.js → ghost-b4e8a403baba61905cd7560e30b9732d.js} +43 -27
- package/core/built/admin/assets/{ghost-dark-a7bebe2c561f55369dcf29f4c820f7ff.css → ghost-dark-cac0cb2d5bb78e9bd14d8d1c2768ed45.css} +1 -1
- package/core/built/admin/assets/{gift-link-modal-CQVAye17.js → gift-link-modal-B7u5bD4e.js} +1 -1
- package/core/built/admin/assets/{gift-links-DLDS7ljO.js → gift-links-CfLSnst2.js} +1 -1
- package/core/built/admin/assets/growth-Cd1uO9d2.js +1 -0
- package/core/built/admin/assets/growth-aG32xfdE.js +3 -0
- package/core/built/admin/assets/{history-modal-CFd1Hvx6.js → history-modal-Df8lW8h-.js} +1 -1
- package/core/built/admin/assets/hooks-Cy_-oZ4o.js +2 -0
- package/core/built/admin/assets/{html-field-CJBCLTvv.js → html-field-DA4eU7eq.js} +1 -1
- package/core/built/admin/assets/{images-scfkWZiK.js → images-KXmyO3Ss.js} +1 -1
- package/core/built/admin/assets/{inbox-Mcp4DXZN.js → inbox-gJHG7_xd.js} +6 -6
- package/core/built/admin/assets/index-BHHXtR5C.css +2 -0
- package/core/built/admin/assets/index-CgMCwsxN.js +4 -0
- package/core/built/admin/assets/index.es-CY6-yuw9.js +1 -0
- package/core/built/admin/assets/{input-group-CMhe2DvY.js → input-group-BE8rM2y1.js} +1 -1
- package/core/built/admin/assets/{integrations-Bjbu86Z0.js → integrations-B4kuRBFY.js} +1 -1
- package/core/built/admin/assets/{invite-user-modal-DfheMXs0.js → invite-user-modal-B4CuNcx4.js} +1 -1
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +2 -2
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +2 -2
- package/core/built/admin/assets/{koenig-lexical-DBSqAuiI.js → koenig-lexical-CGXb0F8o.js} +2 -2
- package/core/built/admin/assets/koenig-loader-BeM5rFPX.js +2 -0
- package/core/built/admin/assets/{kpi-card-DBRMfGOW.js → kpi-card-B21aToe8.js} +1 -1
- package/core/built/admin/assets/{kpi-card-DFafD1qq.js → kpi-card-pz6Wv4Ae.js} +1 -1
- package/core/built/admin/assets/{kpi-helpers-Cv8i8hns.js → kpi-helpers-Dq5jelmP.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-BJItvLYm.js → kpi-tabs-DEZHpKUt.js} +1 -1
- package/core/built/admin/assets/{label-BnSCvffu.js → label-OLCzze8N.js} +1 -1
- package/core/built/admin/assets/label-picker-BigOvMPV.js +1 -0
- package/core/built/admin/assets/{labels-CH3Kn8RV.js → labels-Dr0SgUQD.js} +1 -1
- package/core/built/admin/assets/layout-DUTL8SH5.js +1 -0
- package/core/built/admin/assets/lib-7QPTI0FS.js +1 -0
- package/core/built/admin/assets/link-helpers-BRAg9SCj.js +1 -0
- package/core/built/admin/assets/links-BDHPTlyj.js +1 -0
- package/core/built/admin/assets/{member-custom-fields-DDQV6QeG.js → member-custom-fields-TRTHCAz9.js} +1 -1
- package/core/built/admin/assets/member-detail-b6dRwc3C.js +1 -0
- package/core/built/admin/assets/members-Czt5lJSc.js +4 -0
- package/core/built/admin/assets/{moderation-AgCIEso4.js → moderation-ZWefD9uH.js} +1 -1
- package/core/built/admin/assets/{multi-select-combobox-BcITkUVr.js → multi-select-combobox-CT13MTo-.js} +1 -1
- package/core/built/admin/assets/navigation-modal-C8FEhBK5.js +1 -0
- package/core/built/admin/assets/newsletter-5VYW4RyJ.js +1 -0
- package/core/built/admin/assets/newsletter-detail-modal-ChjC0ZqH.js +1 -0
- package/core/built/admin/assets/{newsletter-emails-DKzwafuh.js → newsletter-emails-DZH6I-PY.js} +1 -1
- package/core/built/admin/assets/{newsletters-BRBb_uQC.js → newsletters-DOC9KBcX.js} +1 -1
- package/core/built/admin/assets/newsletters-Rq1M3GD-.js +1 -0
- package/core/built/admin/assets/{note-DyGHtS9a.js → note-DIV-Pojr.js} +1 -1
- package/core/built/admin/assets/{notifications-ZgWniKna.js → notifications-s20-H49V.js} +1 -1
- package/core/built/admin/assets/{offers-9J1CSiLy.js → offers--e2nGvkW.js} +1 -1
- package/core/built/admin/assets/{offers-container-modal-B-E8TIWr.js → offers-container-modal-BmG5M5Tv.js} +1 -1
- package/core/built/admin/assets/onboarding-CUuy9unR.js +1 -0
- package/core/built/admin/assets/{onboarding-CzIsre-d.js → onboarding-pXyct0Jm.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-CaavZulg.js → onboarding-route-CK4pcXoR.js} +1 -1
- package/core/built/admin/assets/overview-CaPsciMs.js +1 -0
- package/core/built/admin/assets/overview-a8GfcsKX.js +1 -0
- package/core/built/admin/assets/{page-header-De0VzKBi.js → page-header-DM_KyoFI.js} +1 -1
- package/core/built/admin/assets/{pagemenu-B5KKCpbA.js → pagemenu-vgZVUVKR.js} +1 -1
- package/core/built/admin/assets/pages-CjDY2CBI.js +1 -0
- package/core/built/admin/assets/pages-route-BzKZYdV5.js +1 -0
- package/core/built/admin/assets/{pintura-modal-BZ2J9w3n.js → pintura-modal-DExCF1ii.js} +1 -1
- package/core/built/admin/assets/{portal-frame-B6Hr9wHc.js → portal-frame-Cqanidq4.js} +1 -1
- package/core/built/admin/assets/portal-modal-oinBgA27.js +1 -0
- package/core/built/admin/assets/post-analytics-C5oJ1dWV.js +1 -0
- package/core/built/admin/assets/post-analytics-header-OATo3X_r.js +1 -0
- package/core/built/admin/assets/post-analytics-provider-tOpIVGT5.js +1 -0
- package/core/built/admin/assets/post-helpers-C88JBa4D.js +1 -0
- package/core/built/admin/assets/post-share-modal-DvhC1XgV.js +1 -0
- package/core/built/admin/assets/post-utils-DKF4mfuo.js +1 -0
- package/core/built/admin/assets/posts-list-screen-o4ZjbgS3.js +2 -0
- package/core/built/admin/assets/posts-pCPrhQeR.js +1 -0
- package/core/built/admin/assets/posts-route-9F--xdIb.js +1 -0
- package/core/built/admin/assets/{preferences-C5YJLp74.js → preferences--vNubsqD.js} +2 -2
- package/core/built/admin/assets/{preview-modal-BfeFqi5y.js → preview-modal-YYbzlYdO.js} +1 -1
- package/core/built/admin/assets/profile-BllKV3dR.js +1 -0
- package/core/built/admin/assets/radio-group-DL8GI8rt.js +1 -0
- package/core/built/admin/assets/{referrers-CnhCMWCs.js → referrers-D8oHPmDB.js} +1 -1
- package/core/built/admin/assets/router-provider-BSvTXgZY.js +1 -0
- package/core/built/admin/assets/schemas-BoYdB6YU.js +64 -0
- package/core/built/admin/assets/{select-cb0t_TAJ.js → select-v5YbA3Mw.js} +1 -1
- package/core/built/admin/assets/settings-PEsZupw1.js +4 -0
- package/core/built/admin/assets/{settings-breadcrumbs-DLzbRRSt.js → settings-breadcrumbs-NwPnCTC7.js} +1 -1
- package/core/built/admin/assets/{settings-DZqxR0Da.js → settings-u_s1CRkr.js} +1 -1
- package/core/built/admin/assets/{share-modal-D2-Bz1_I.js → share-modal-SskCmVGL.js} +1 -1
- package/core/built/admin/assets/{slack-modal-DYDTUria.js → slack-modal-XxSJiYgo.js} +1 -1
- package/core/built/admin/assets/{sort-button-VVeQjjbu.js → sort-button-Cx1KtINE.js} +1 -1
- package/core/built/admin/assets/{source-icon-Ck5_5Kgq.js → source-icon-Bdp9Im_5.js} +1 -1
- package/core/built/admin/assets/stats-D9PDLS3x.js +1 -0
- package/core/built/admin/assets/stats-view-W2g6Jsd-.js +1 -0
- package/core/built/admin/assets/{step-1-CsaBjeN4.js → step-1-BQYzvBzr.js} +1 -1
- package/core/built/admin/assets/{step-2-D2vnxOOM.js → step-2-xES32xJV.js} +1 -1
- package/core/built/admin/assets/{step-3-wBoLdGEb.js → step-3-DA_XK5kW.js} +2 -2
- package/core/built/admin/assets/{stripe-button-CDgLz0S0.js → stripe-button-CVsLHelt.js} +1 -1
- package/core/built/admin/assets/{stripe-connect-modal-CSjMJetP.js → stripe-connect-modal-ClmLOMGS.js} +1 -1
- package/core/built/admin/assets/style-Wd9nQubI.css +1 -0
- package/core/built/admin/assets/{table-Do6iQ83Q.js → table-BenqVupI.js} +1 -1
- package/core/built/admin/assets/{tabs-D2yWLMp_.js → tabs-eBBlxPp8.js} +1 -1
- package/core/built/admin/assets/tag-detail-Ce8Se2qd.js +2 -0
- package/core/built/admin/assets/tag-picker-C3UR-uJ-.js +1 -0
- package/core/built/admin/assets/tags-B-kJxCs7.js +1 -0
- package/core/built/admin/assets/{tags-zTFiKRpb.js → tags-ChfdwJyS.js} +1 -1
- package/core/built/admin/assets/{testimonials-modal-CtnZBJKl.js → testimonials-modal-9Q6fT06V.js} +1 -1
- package/core/built/admin/assets/tier-detail-modal-CDyYdqK7.js +1 -0
- package/core/built/admin/assets/tiers-BCpIOGQr.js +1 -0
- package/core/built/admin/assets/{toggle-group-ByUJsxwD.js → toggle-group-CviIkyok.js} +1 -1
- package/core/built/admin/assets/{topic-filter-BgC3g5_v.js → topic-filter-I2jCBGxm.js} +1 -1
- package/core/built/admin/assets/{transistor-modal-Drr0SNfo.js → transistor-modal-p53u3W8y.js} +1 -1
- package/core/built/admin/assets/{trend-badge-6ye93YAW.js → trend-badge-CideVzQd.js} +1 -1
- package/core/built/admin/assets/{unsplash-modal-p6AoQoWp.js → unsplash-modal-DY8UcKcE.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data-CWCMAESo.js → use-analytics-data-DAIGcr2f.js} +1 -1
- package/core/built/admin/assets/{use-check-theme-limit-error-Cw3WQHy8.js → use-check-theme-limit-error-DRUjK4YM.js} +1 -1
- package/core/built/admin/assets/use-filter-params-JkZhIS8L.js +1 -0
- package/core/built/admin/assets/{use-filterable-api-CzXcpUh8.js → use-filterable-api-BVEVMrhZ.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-DCVG3s9w.js → use-growth-stats-937CUj6j.js} +1 -1
- package/core/built/admin/assets/use-host-limits-D0Dv3tKA.js +1 -0
- package/core/built/admin/assets/{use-limiter-D2WRRx0H.js → use-limiter-CohWfzvK.js} +1 -1
- package/core/built/admin/assets/{use-navigate-with-base-path-BHPA228f.js → use-navigate-with-base-path-BkxcPj5l.js} +1 -1
- package/core/built/admin/assets/use-pintura-config-xgytjU35.js +1 -0
- package/core/built/admin/assets/{use-pintura-editor-BfN1UwzH.js → use-pintura-editor-CaV1mbfO.js} +1 -1
- package/core/built/admin/assets/{use-post-referrers-Czg47m8s.js → use-post-referrers-BCQI7fDg.js} +1 -1
- package/core/built/admin/assets/{use-reply-chain-data-ns0caK8k.js → use-reply-chain-data-CYRhoaxY.js} +1 -1
- package/core/built/admin/assets/{use-router-history-entry-uldn7zJO.js → use-router-history-entry-NOKcd--l.js} +1 -1
- package/core/built/admin/assets/{use-setting-group-DpcuCUDg.js → use-setting-group-bLKMwoBT.js} +1 -1
- package/core/built/admin/assets/{use-settings-navigation-CZjGrhsp.js → use-settings-navigation-B-qrriKD.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-DzJWobPR.js → use-simple-pagination-CNPd6Rf6.js} +1 -1
- package/core/built/admin/assets/use-staff-users-pRIMIyiW.js +1 -0
- package/core/built/admin/assets/{use-tinybird-query-CSnGXzZh.js → use-tinybird-query-CmdbCS9X.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-DTOKRR7e.js → use-tinybird-token-KLne235s.js} +1 -1
- package/core/built/admin/assets/{use-unsaved-changes-guard-CBzs-KPi.js → use-unsaved-changes-guard-7-ug0JdH.js} +1 -1
- package/core/built/admin/assets/use-upgrade-route-Dm_qqKr0.js +1 -0
- package/core/built/admin/assets/{use-url-input-DFr8lCbS.js → use-url-input-fvp-TpPx.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-D3KlGYv-.js +1 -0
- package/core/built/admin/assets/{users-Cg-OeGzC.js → users-DVNWrqg9.js} +1 -1
- package/core/built/admin/assets/{vendor-5753232c7d6ffb3c44e1eb0a02133953.js → vendor-2dd263291938d407802568d3357ec69e.js} +19 -17
- package/core/built/admin/assets/{virtual-list-BW-padMe.js → virtual-list-CZ3RK2Yf.js} +1 -1
- package/core/built/admin/assets/{web-C1v33ehA.js → web-ClEJsCAj.js} +2 -2
- package/core/built/admin/assets/web-X9rdnrtq.js +1 -0
- package/core/built/admin/assets/{zapier-modal-BBFfI6Ml.js → zapier-modal-DfVhV17j.js} +1 -1
- package/core/built/admin/index.html +19 -18
- package/core/server/adapters/jobs/InMemoryJobsBackend.js +74 -29
- package/core/server/api/endpoints/authentication.js +1 -2
- package/core/server/api/endpoints/authors-public.js +15 -5
- package/core/server/api/endpoints/emails.js +13 -0
- package/core/server/api/endpoints/index.js +8 -0
- package/core/server/api/endpoints/member-metafields-members.js +23 -0
- package/core/server/api/endpoints/member-metafields.js +33 -20
- package/core/server/api/endpoints/members-account.js +42 -0
- package/core/server/api/endpoints/newsletters-public.js +10 -1
- package/core/server/api/endpoints/pages-public.js +15 -5
- package/core/server/api/endpoints/posts-public.js +15 -5
- package/core/server/api/endpoints/tags-public.js +22 -3
- package/core/server/api/endpoints/tiers-checkout-config.js +2 -2
- package/core/server/api/endpoints/tiers-public.js +38 -1
- package/core/server/api/endpoints/users.js +2 -2
- package/core/server/api/endpoints/utils/api-filter-utils.js +170 -3
- package/core/server/api/endpoints/utils/public-cache-keys.js +3 -0
- package/core/server/api/endpoints/utils/serializers/input/authors.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/members.js +16 -2
- package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/tags.js +2 -0
- package/core/server/api/endpoints/utils/serializers/output/emails.js +7 -0
- package/core/server/api/endpoints/utils/serializers/output/index.js +4 -0
- package/core/server/api/endpoints/utils/serializers/output/member-metafields.js +3 -3
- package/core/server/api/endpoints/utils/serializers/output/members-account.js +19 -0
- package/core/server/api/endpoints/utils/serializers/output/members-csv-transform.js +1 -1
- package/core/server/api/endpoints/utils/serializers/output/tiers.js +10 -2
- package/core/server/api/endpoints/utils/serializers/output/users.js +0 -10
- package/core/server/data/exporter/table-lists.js +3 -3
- package/core/server/data/migrations/versions/6.53/2026-07-15-20-22-53-add-members-custom-field-values.js +1 -1
- package/core/server/data/migrations/versions/6.57/2026-08-04-18-00-00-store-custom-field-values-as-leaf-rows.js +10 -1
- package/core/server/data/migrations/versions/6.63/2026-09-03-10-07-03-rename-custom-field-tables-to-metafields.js +169 -0
- package/core/server/data/migrations/versions/6.63/2026-09-03-11-03-31-remove-member-custom-field-read-permissions.js +30 -0
- package/core/server/data/schema/fixtures/fixtures.json +0 -11
- package/core/server/data/schema/lib/default-index-name.js +8 -11
- package/core/server/data/schema/schema.js +18 -18
- package/core/server/data/seeders/README.md +48 -0
- package/core/server/data/tinybird/pipes/mv_hits.pipe +86 -50
- package/core/server/lib/db-types/count.js +16 -0
- package/core/server/lib/validate-password.js +81 -120
- package/core/server/models/action.js +4 -4
- package/core/server/models/base/plugins/filtered-collection.js +16 -0
- package/core/server/models/member.js +6 -6
- package/core/server/models/user.js +1 -1
- package/core/server/services/automations/automations-api.js +1 -1
- package/core/server/services/automations/database-automations-repository.js +11 -4
- package/core/server/services/email-service/CONTEXT.md +37 -0
- package/core/server/services/email-service/README.md +42 -0
- package/core/server/services/email-service/batch-sending-service.js +2 -0
- package/core/server/services/email-service/email-controller.js +18 -2
- package/core/server/services/email-service/email-service-wrapper.js +3 -0
- package/core/server/services/email-service/sending-status-schema.js +21 -0
- package/core/server/services/email-service/sending-status-serializers.js +33 -0
- package/core/server/services/email-service/sending-status-service.js +47 -0
- package/core/server/services/email-service/sending-status.js +111 -0
- package/core/server/services/email-suppression-list/email-suppression-list.js +0 -33
- package/core/server/services/email-suppression-list/mailgun-email-suppression-list.js +6 -7
- package/core/server/services/gifts/README.md +2 -2
- package/core/server/services/gifts/constants.js +1 -1
- package/core/server/services/gifts/gift-service.js +19 -57
- package/core/server/services/gifts/index.js +0 -2
- package/core/server/services/jobs-service/index.js +8 -0
- package/core/server/services/jobs-service/jobs-service.js +52 -3
- package/core/server/services/jobs-service/register-job-handlers.js +13 -2
- package/core/server/services/members/account-service.js +98 -0
- package/core/server/services/members/api.js +4 -4
- package/core/server/services/members/import-export/export/exporter.js +20 -20
- package/core/server/services/members/import-export/import/completion-email.js +6 -6
- package/core/server/services/members/import-export/import/importer.js +13 -13
- package/core/server/services/members/import-export/index.js +7 -7
- package/core/server/services/members/members-api/members-api.js +26 -6
- package/core/server/services/members/members-api/repositories/member-repository.js +4 -4
- package/core/server/services/members/members-api/services/member-bread-service.js +45 -39
- package/core/server/services/members/members-ssr.js +18 -0
- package/core/server/services/members/middleware.js +95 -81
- package/core/server/services/members/service.js +70 -42
- package/core/server/services/members/utils.js +9 -0
- package/core/server/services/members-metafields/access.js +28 -0
- package/core/server/services/{members-custom-fields → members-metafields}/actions.js +5 -5
- package/core/server/services/members-metafields/bindings-service.js +147 -0
- package/core/server/services/{members-custom-fields → members-metafields}/codec.js +4 -4
- package/core/server/services/{members-custom-fields → members-metafields}/config.js +1 -1
- package/core/server/services/{members-custom-fields → members-metafields}/definitions-service.js +17 -23
- package/core/server/services/{members-custom-fields → members-metafields}/filter.js +9 -9
- package/core/server/services/{members-custom-fields → members-metafields}/index.js +16 -7
- package/core/server/services/{members-custom-fields → members-metafields}/key.js +1 -1
- package/core/server/services/{members-custom-fields → members-metafields}/models.js +4 -4
- package/core/server/services/members-metafields/namespaces.js +34 -0
- package/core/server/services/{members-custom-fields → members-metafields}/queries.js +1 -1
- package/core/server/services/{members-custom-fields → members-metafields}/schema.js +16 -12
- package/core/server/services/{members-custom-fields → members-metafields}/serializers.js +6 -6
- package/core/server/services/{members-custom-fields → members-metafields}/values-service.js +32 -22
- package/core/server/services/mentions/mention-sending-service.js +26 -9
- package/core/server/services/mentions/send-webmentions-job.js +18 -0
- package/core/server/services/mentions/service.js +1 -31
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +2 -2
- package/core/server/services/stripe/stripe-service.js +4 -4
- package/core/server/services/tier-checkout-config/codec.js +2 -2
- package/core/server/services/tier-checkout-config/index.js +2 -1
- package/core/server/services/tier-checkout-config/models.js +2 -2
- package/core/server/services/tier-checkout-config/queries.js +8 -8
- package/core/server/services/tier-checkout-config/serializers.js +57 -0
- package/core/server/services/tier-checkout-config/service.js +1 -1
- package/core/server/services/tiers/service.js +3 -3
- package/core/server/services/url/router-filter.js +8 -10
- package/core/server/services/users.js +1 -19
- package/core/server/web/api/endpoints/admin/routes.js +1 -0
- package/core/server/web/members/account/index.js +2 -0
- package/core/server/web/members/account/routes.js +46 -0
- package/core/server/web/members/app.js +4 -18
- package/core/shared/config/defaults.json +1 -1
- package/core/shared/labs.js +4 -2
- package/package.json +22 -22
- package/pnpm-lock.yaml +513 -571
- package/pnpm-workspace.yaml +12 -12
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/core/built/admin/assets/activitypub/layout-2-0bw6HN.js +0 -1
- package/core/built/admin/assets/automated-emails-D5VVMND9.js +0 -1
- package/core/built/admin/assets/automations-CzKt5fb8.js +0 -1
- package/core/built/admin/assets/chunk.598.7e056fabb47ce7dbd73f.js +0 -366
- package/core/built/admin/assets/comments-BLmCmyCs.js +0 -1
- package/core/built/admin/assets/custom-field-type-option-BddFlJFa.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-BSmo12Op.js +0 -2
- package/core/built/admin/assets/edit-profile-C5Asm4LA.js +0 -1
- package/core/built/admin/assets/editor-REokrzci.js +0 -8
- package/core/built/admin/assets/filter-sources-BO9xUPj7.js +0 -1
- package/core/built/admin/assets/filters-CRUWecfY.js +0 -1
- package/core/built/admin/assets/growth-BWIu-6xj.js +0 -3
- package/core/built/admin/assets/growth-DU29oxeA.js +0 -1
- package/core/built/admin/assets/hooks-CuEZV2-q.js +0 -2
- package/core/built/admin/assets/index-6MkPdCtr.js +0 -4
- package/core/built/admin/assets/index-Bn7QhcZu.css +0 -2
- package/core/built/admin/assets/index.es-CNnuNH0d.js +0 -1
- package/core/built/admin/assets/koenig-loader-aFQNlJlD.js +0 -2
- package/core/built/admin/assets/label-picker-KVoo91sh.js +0 -1
- package/core/built/admin/assets/layout-Bjv2Ll-5.js +0 -1
- package/core/built/admin/assets/link-helpers-MVDdnFCY.js +0 -1
- package/core/built/admin/assets/member-detail-CdJF6Agw.js +0 -1
- package/core/built/admin/assets/members-DjQbq9Z2.js +0 -4
- package/core/built/admin/assets/navigation-modal-BkT7b1M2.js +0 -1
- package/core/built/admin/assets/newsletter-BMMAuvgq.js +0 -1
- package/core/built/admin/assets/newsletter-detail-modal-0SCJ7Zpm.js +0 -1
- package/core/built/admin/assets/newsletters-DhNigJUh.js +0 -1
- package/core/built/admin/assets/onboarding-qg8Akovm.js +0 -1
- package/core/built/admin/assets/overview-BW8GLeYi.js +0 -1
- package/core/built/admin/assets/overview-BkXZNzaZ.js +0 -1
- package/core/built/admin/assets/pages-jgaFm69d.js +0 -1
- package/core/built/admin/assets/pages-route-CIUAQxtY.js +0 -1
- package/core/built/admin/assets/portal-modal-D4ceei3t.js +0 -1
- package/core/built/admin/assets/post-analytics-header-BYCsT0GP.js +0 -1
- package/core/built/admin/assets/post-analytics-ot7f6pih.js +0 -1
- package/core/built/admin/assets/post-analytics-provider-Bo1gmYaP.js +0 -1
- package/core/built/admin/assets/post-helpers-C5OQMBoi.js +0 -1
- package/core/built/admin/assets/post-share-modal-C-PaYZ_e.js +0 -1
- package/core/built/admin/assets/posts-DuGazgTb.js +0 -1
- package/core/built/admin/assets/posts-list-screen-CBGGgjjj.js +0 -2
- package/core/built/admin/assets/posts-route-D6xmS7Vf.js +0 -1
- package/core/built/admin/assets/profile-B8mx2yAu.js +0 -1
- package/core/built/admin/assets/radio-group-DczlLKOn.js +0 -1
- package/core/built/admin/assets/router-provider-B0gZyiGJ.js +0 -1
- package/core/built/admin/assets/schemas-DppqmpeJ.js +0 -64
- package/core/built/admin/assets/settings-DvfTNdHQ.js +0 -4
- package/core/built/admin/assets/stats-Rjmk5owg.js +0 -1
- package/core/built/admin/assets/stats-view-BGGmkmgv.js +0 -1
- package/core/built/admin/assets/tag-detail-BhXlOsCa.js +0 -2
- package/core/built/admin/assets/tags-ldukRApe.js +0 -1
- package/core/built/admin/assets/tier-detail-modal-BOs8e_G8.js +0 -1
- package/core/built/admin/assets/tiers-Nd_z4BZY.js +0 -1
- package/core/built/admin/assets/use-filter-params-BIni9taJ.js +0 -1
- package/core/built/admin/assets/use-host-limits-DZtR08oa.js +0 -1
- package/core/built/admin/assets/use-pintura-config-h-J0Lvta.js +0 -1
- package/core/built/admin/assets/use-staff-users-Csipb-O0.js +0 -1
- package/core/built/admin/assets/use-upgrade-route-DhRSo7at.js +0 -1
- package/core/built/admin/assets/user-detail-modal-B_iUClI6.js +0 -1
- package/core/built/admin/assets/web-C4BKzn2T.js +0 -1
- package/core/server/services/email-suppression-list/in-memory-email-suppression-list.js +0 -39
- package/core/server/services/members-custom-fields/bindings-service.js +0 -120
- /package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js.LICENSE.txt → chunk.901.4ccc639821020230bcca.js.LICENSE.txt} +0 -0
- /package/core/server/services/{members-custom-fields → members-metafields}/storage.js +0 -0
package/pnpm-workspace.yaml
CHANGED
|
@@ -36,25 +36,24 @@ catalog:
|
|
|
36
36
|
'@tanstack/react-virtual': 3.14.9
|
|
37
37
|
'@testing-library/jest-dom': 6.9.1
|
|
38
38
|
'@testing-library/react': 14.3.1
|
|
39
|
-
'@tryghost/api-framework': 3.3.
|
|
39
|
+
'@tryghost/api-framework': 3.3.12
|
|
40
40
|
'@tryghost/brute-knex': 3.2.2
|
|
41
41
|
'@tryghost/color-utils': 0.2.20
|
|
42
42
|
'@tryghost/custom-fonts': 1.0.11
|
|
43
|
-
'@tryghost/debug': 2.3.
|
|
44
|
-
'@tryghost/domain-events': 3.3.
|
|
45
|
-
'@tryghost/errors': 3.3.
|
|
43
|
+
'@tryghost/debug': 2.3.12
|
|
44
|
+
'@tryghost/domain-events': 3.3.13
|
|
45
|
+
'@tryghost/errors': 3.3.12
|
|
46
46
|
'@tryghost/helpers': 1.1.106
|
|
47
|
-
'@tryghost/
|
|
48
|
-
'@tryghost/logging': 5.4.0
|
|
47
|
+
'@tryghost/logging': 5.4.3
|
|
49
48
|
'@tryghost/mg-clean-html': 0.12.6
|
|
50
|
-
'@tryghost/metrics': 3.5.
|
|
49
|
+
'@tryghost/metrics': 3.5.3
|
|
51
50
|
'@tryghost/mongo-knex': 0.11.2
|
|
52
51
|
'@tryghost/nql': 0.13.4
|
|
53
52
|
'@tryghost/nql-lang': 0.7.0
|
|
54
|
-
'@tryghost/request': 4.0.
|
|
53
|
+
'@tryghost/request': 4.0.5
|
|
55
54
|
'@tryghost/string': 0.3.5
|
|
56
55
|
'@tryghost/timezone-data': 1.0.0
|
|
57
|
-
'@tryghost/tpl': 2.3.
|
|
56
|
+
'@tryghost/tpl': 2.3.12
|
|
58
57
|
'@types/express': 4.17.25
|
|
59
58
|
'@types/html-minifier': ^4.0.6
|
|
60
59
|
'@types/lodash': 4.17.25
|
|
@@ -79,7 +78,6 @@ catalog:
|
|
|
79
78
|
ajv-formats: 3.0.1
|
|
80
79
|
better-sqlite3: 12.11.1
|
|
81
80
|
bson-objectid: 2.0.4
|
|
82
|
-
c8: 11.0.0
|
|
83
81
|
chai: 4.5.0
|
|
84
82
|
chalk: 4.1.2
|
|
85
83
|
clsx: 2.1.1
|
|
@@ -108,6 +106,7 @@ catalog:
|
|
|
108
106
|
knex-migrator: 5.4.1
|
|
109
107
|
lodash: 4.18.1
|
|
110
108
|
lucide-react: 1.23.0
|
|
109
|
+
microdiff: 1.5.0
|
|
111
110
|
mingo: 2.5.3
|
|
112
111
|
moment: 2.30.1
|
|
113
112
|
moment-timezone: 0.5.45
|
|
@@ -174,7 +173,7 @@ catalog:
|
|
|
174
173
|
cron-validate: 1.4.5
|
|
175
174
|
'@types/stoppable': 1.1.3
|
|
176
175
|
'@types/express-brute': 1.0.6
|
|
177
|
-
'@tryghost/validator': 3.2.
|
|
176
|
+
'@tryghost/validator': 3.2.12
|
|
178
177
|
catalogs:
|
|
179
178
|
react17:
|
|
180
179
|
react: 17.0.2
|
|
@@ -269,12 +268,13 @@ overrides:
|
|
|
269
268
|
'@tryghost/adapter-base-scheduling': file:components/tryghost-adapter-base-scheduling-0.2.3.tgz
|
|
270
269
|
'@tryghost/adapter-base-sso': file:components/tryghost-adapter-base-sso-0.1.3.tgz
|
|
271
270
|
'@tryghost/admin-api-schema': file:components/tryghost-admin-api-schema-0.0.0.tgz
|
|
272
|
-
'@tryghost/
|
|
271
|
+
'@tryghost/metafield-types': file:components/tryghost-metafield-types-0.0.0.tgz
|
|
273
272
|
'@tryghost/i18n': file:components/tryghost-i18n-0.0.0.tgz
|
|
274
273
|
'@tryghost/kg-card-factory': file:components/tryghost-kg-card-factory-5.2.4.tgz
|
|
275
274
|
'@tryghost/kg-converters': file:components/tryghost-kg-converters-1.2.5.tgz
|
|
276
275
|
'@tryghost/kg-utils': file:components/tryghost-kg-utils-1.1.4.tgz
|
|
277
276
|
'@tryghost/kg-clean-basic-html': file:components/tryghost-kg-clean-basic-html-4.3.4.tgz
|
|
277
|
+
'@tryghost/limit-service': file:components/tryghost-limit-service-0.0.0.tgz
|
|
278
278
|
'@tryghost/nql-string': file:components/tryghost-nql-string-0.0.0.tgz
|
|
279
279
|
'@tryghost/parse-email-address': file:components/tryghost-parse-email-address-0.0.0.tgz
|
|
280
280
|
ghost-storage-base: file:components/ghost-storage-base-3.0.0.tgz
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./routes-BD4vscyc.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{f as n,l as r,n as i,r as a}from"./hooks-CuEZV2-q.js";import{t as o}from"./use-filterable-api-CzXcpUh8.js";import{n as s,r as c}from"./update-queries-C4CnvJaW.js";import{n as l}from"./offers-9J1CSiLy.js";import{t as u}from"./posts-DuGazgTb.js";var d=e(t(),1),f={image:{mimeTypes:[`image/gif`,`image/jpg`,`image/jpeg`,`image/png`,`image/svg+xml`,`image/webp`],extensions:[`gif`,`jpg`,`jpeg`,`png`,`svg`,`svgz`,`webp`],endpoint:`/images/upload/`,requestMethod:`post`,resourceName:`images`},video:{mimeTypes:[`video/mp4`,`video/webm`,`video/ogg`],extensions:[`mp4`,`webm`,`ogv`],endpoint:`/media/upload/`,requestMethod:`post`,resourceName:`media`},audio:{mimeTypes:[`audio/mp3`,`audio/mpeg`,`audio/ogg`,`audio/wav`,`audio/vnd.wav`,`audio/wave`,`audio/x-wav`,`audio/mp4`,`audio/x-m4a`],extensions:[`mp3`,`wav`,`ogg`,`m4a`],endpoint:`/media/upload/`,requestMethod:`post`,resourceName:`media`},mediaThumbnail:{mimeTypes:[`image/gif`,`image/jpg`,`image/jpeg`,`image/png`,`image/webp`],extensions:[`gif`,`jpg`,`jpeg`,`png`,`webp`],endpoint:`/media/thumbnail/upload/`,requestMethod:`put`,resourceName:`media`},file:{extensions:[],endpoint:`/files/upload/`,requestMethod:`post`,resourceName:`files`}},p=(e,t)=>{let n=e;for(let e of t)if(n&&typeof n==`object`&&e in n)n=n[e];else return null;return typeof n==`string`?n:null},m=(e=`image`)=>{let[t,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)([]),[l,u]=(0,d.useState)(0),m=(0,d.useRef)(new Map),h=r();function g(){if(m.current.size===0){i(0);return}let e=0;m.current.forEach(t=>{e+=t}),i(Math.round(e/m.current.size))}let _=t=>{if(e===`file`)return!0;let n=f[e].extensions,[,r]=/(?:\.([^.]+))?$/.exec(t.name)??[];return n&&(!r||n.indexOf(r.toLowerCase())===-1)?`The file type you uploaded is not supported. Please use ${`.${n.join(`, .`).toUpperCase()}`}`:!0},v=(e=[])=>{let t=[];for(let n=0;n<e.length;n+=1){let r=e[n],i=_(r);i!==!0&&t.push({fileName:r.name,message:i})}return t},y=async(t,{formData:r={}}={})=>{m.current.set(t,0);let i=new FormData;i.append(`file`,t,t.name),Object.keys(r).forEach(e=>{i.append(e,r[e])});let a=`${n().apiRoot}${f[e].endpoint}`;try{let n=await h(a,{method:f[e].requestMethod,body:i,onUploadProgress(e){m.current.set(t,e),g()}});m.current.set(t,100),g();let r;if(n){let t=n[f[e].resourceName];t&&Array.isArray(t)&&t[0]&&(r=t[0].url)}return{url:r,fileName:t.name}}catch(e){console.error(e);let n=p(e,[`data`,`errors`,0,`context`])||``,r=p(e,[`data`,`errors`,0,`message`])||p(e,[`message`])||``;throw{message:n||r,context:n,fileName:t.name}}};return{progress:t,isLoading:a,upload:async(e=[],t={})=>{u(e.length),o(!0),c([]);let n=v(e);if(n.length)return c(n),o(!1),i(100),null;let r=[];for(let n=0;n<e.length;n+=1){let i=e[n];r.push(y(i,t))}try{let e=await Promise.all(r);return i(100),m.current.clear(),o(!1),c([]),e}catch(e){return console.error(e),c([e]),o(!1),i(100),m.current.clear(),null}},errors:s,filesNumber:l}},h=()=>{let e=r();return(0,d.useCallback)(async(t,{type:r}={})=>{let i=new URL(`${n().apiRoot}/oembed/`,window.location.origin);return i.searchParams.set(`url`,t),r&&i.searchParams.set(`type`,r),await e(i)},[e])},g=({siteUrl:e,membersSignupAccess:t,donationsEnabled:n,recommendationsEnabled:r,includeShareLink:i=!1,shareLinkLabel:a=`Share`})=>{let{data:s}=l(),{data:c}=u({searchParams:{filter:`status:published`,fields:`id,url,title,visibility,published_at`,order:`published_at desc`,limit:`5`}}),f=o({path:`/search-index/posts/`,filterKey:`title`,responseKey:`posts`}),p=o({path:`/search-index/pages/`,filterKey:`title`,responseKey:`pages`}),m=(0,d.useMemo)(()=>[{label:`Latest posts`,items:(c?.posts||[]).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at}))}],[c?.posts]);return{fetchAutocompleteLinks:(0,d.useCallback)(async()=>{let o=[{label:`Homepage`,value:e},{label:`Free signup`,value:`#/portal/signup/free`}],c=i?[{label:a,value:`#/share`}]:[],l=t===`all`?[{label:`Paid signup`,value:`#/portal/signup`},{label:`Upgrade or change plan`,value:`#/portal/account/plans`}]:[],u=n?[{label:`Tips and donations`,value:`#/portal/support`}]:[],d=r?[{label:`Recommendations`,value:`#/portal/recommendations`}]:[],f=(s?.offers||[]).filter(e=>e.status===`active`&&e.redemption_type===`signup`).map(t=>({label:`Offer - ${t.name}`,value:new URL(t.code,e).toString()}));return[...o,...l,...u,...c,...d,...f]},[n,i,t,s?.offers,r,a,e]),searchLinks:(0,d.useCallback)(async e=>{if(!e)return m;let[t,n]=await Promise.all([f.loadData(e),p.loadData(e)]);return[{label:`Posts`,items:t.filter(e=>e.status===`published`).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at}))},{label:`Pages`,items:n.filter(e=>e.status===`published`).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at}))}].filter(e=>e.items.length>0)},[m,p,f])}};function _(e,t){let n=e.editorInstance.getRootElement();if(!n)return;let{bottom:r}=n.getBoundingClientRect();t.pageY>r&&t.clientY>r&&(t.preventDefault(),e.lastNodeIsDecorator()&&e.insertParagraphAtBottom(),e.focusEditor({position:`bottom`}))}var v=`AutomatedEmailsResponseType`,y=a({dataType:v,path:`/automated_emails/`}),b=i({method:`POST`,path:()=>`/automated_emails/`,body:e=>({automated_emails:[e]}),updateQueries:{dataType:v,emberUpdateType:`createOrUpdate`,update:s(`automated_emails`)}}),x=i({method:`PUT`,path:e=>`/automated_emails/${e.id}/`,body:e=>({automated_emails:[e]}),updateQueries:{dataType:v,emberUpdateType:`createOrUpdate`,update:c(`automated_emails`)}}),S=i({method:`PUT`,path:()=>`/automated_emails/senders/`,body:e=>e,updateQueries:{dataType:v,emberUpdateType:`createOrUpdate`,update:c(`automated_emails`)}}),C=i({method:`PUT`,path:()=>`/automated_emails/verifications/`,body:({token:e})=>({token:e}),updateQueries:{dataType:v,emberUpdateType:`createOrUpdate`,update:c(`automated_emails`)}}),w=i({method:`POST`,path:({id:e})=>`/automated_emails/${e}/test/`,body:({email:e,subject:t,lexical:n})=>({email:e,subject:t,lexical:n})}),T=i({method:`POST`,path:({id:e})=>`/automated_emails/${e}/preview/`,body:({subject:e,lexical:t})=>({subject:e,lexical:t})});export{T as a,_ as c,f as d,m as f,S as i,g as l,y as n,w as o,x as r,C as s,b as t,h as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{o as n}from"./hooks-CuEZV2-q.js";import{s as r}from"./config-DOMQDZGZ.js";import{n as i}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{g as a,l as o,m as s}from"./dist-B3keLvjj.js";import{t as c}from"./box-CdfQAP_F.js";import{t as l}from"./container-BuQG1wuP.js";import{Rt as u,i as d}from"./button-eNMKQWXr.js";import{t as f}from"./skeleton-Ce9GgUpf.js";import{a as p,c as m,n as h,r as g,s as _,t as v}from"./table-Do6iQ83Q.js";import{l as y}from"./users-Cg-OeGzC.js";import{$r as b,Kn as x,Qr as S,ii as C}from"./index-6MkPdCtr.js";import{t as w}from"./page-header-De0VzKBi.js";import{f as T,s as E}from"./automations-sAcJ1334.js";import{t as D}from"./list-page-BucXJ0hi.js";e();var O=t(),k=`https://forum.ghost.org`,A=`https://ghost.org/help/automations-beta`,j=`block w-full rounded-xl border border-border bg-card p-6 text-left transition-all hover:shadow-xs hover:bg-table-row-hover group/card`,M=({title:e,description:t,children:n})=>(0,O.jsxs)(`div`,{className:`flex items-center gap-6`,children:[n,(0,O.jsxs)(`div`,{className:`flex flex-col gap-0.5 leading-tight`,children:[(0,O.jsx)(`span`,{className:`text-base font-semibold`,children:e}),(0,O.jsx)(`span`,{className:`text-sm font-normal text-gray-700`,children:t})]})]}),N=({url:e,className:t,title:n,description:r,children:i})=>(0,O.jsx)(`a`,{className:o(j,t),href:e,rel:`noreferrer`,target:`_blank`,children:(0,O.jsx)(M,{description:r,title:n,children:i})}),P=({className:e,title:t,description:n,children:r,onClick:i,onMouseEnter:a,onFocus:s})=>(0,O.jsx)(`button`,{className:o(j,`cursor-pointer appearance-none`,e),type:`button`,onClick:i,onFocus:s,onMouseEnter:a,children:(0,O.jsx)(M,{description:n,title:t,children:r})}),F=()=>(0,O.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tr from-[#8B5CF6]/20 to-[#EC4899]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,O.jsx)(d,{className:`text-[#8B5CF6]`,size:20,strokeWidth:1.5})}),I=()=>(0,O.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tl from-[#10B981]/20 to-[#0EA5E9]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,O.jsx)(u,{className:`text-[#0EA5E9]`,size:20,strokeWidth:1.5})}),L=`Share your feedback`,R=`Tell us what’s working and what’s missing — your input shapes what we build next.`,z=()=>{let{data:e}=n(),{isAvailable:t,openFeedbackWidget:r,preloadFeedbackWidget:i}=S(),a=t&&e&&!y(e);return(0,O.jsxs)(`div`,{className:`mt-auto grid grid-cols-1 gap-6 pt-10 lg:grid-cols-2`,children:[(0,O.jsx)(N,{description:`Learn how to set up automations, customize your emails, and get the most out of the beta.`,title:`Automations in Ghost`,url:A,children:(0,O.jsx)(F,{})}),a?(0,O.jsx)(P,{description:R,title:L,onClick:()=>r(),onFocus:i,onMouseEnter:i,children:(0,O.jsx)(I,{})}):(0,O.jsx)(N,{description:R,title:L,url:k,children:(0,O.jsx)(I,{})})]})},B={"member-welcome-email-free":`Welcome new free members after they sign up.`,"member-welcome-email-paid":`Welcome new paid members after they start their subscription.`},V=[{key:`lastEntry`,label:`Last entry`,widthClassName:`lg:w-40`,skeletonWidthClassName:`w-20`},{key:`totalEntries`,label:`Total entries`,widthClassName:`lg:w-32`,skeletonWidthClassName:`w-10`},{key:`inProgressEntries`,label:`In progress`,widthClassName:`lg:w-32`,skeletonWidthClassName:`w-10`}],H=e=>{e.defaultPrevented||!(e.target instanceof Element)||e.target.closest(`a, button, input, select, textarea`)||e.currentTarget.querySelector(`a`)?.click()},U=()=>(0,O.jsx)(v,{"aria-busy":`true`,"aria-label":`Automations`,className:`flex table-fixed flex-col lg:table`,"data-testid":`automations-list-loading`,children:(0,O.jsx)(h,{className:`flex flex-col lg:table-row-group`,children:Array.from({length:2},(e,t)=>(0,O.jsxs)(m,{"aria-hidden":`true`,className:`grid w-full grid-cols-[repeat(3,minmax(0,1fr))_auto] items-center gap-x-4 gap-y-3 px-2 py-6 lg:table-row lg:gap-0 lg:p-0`,children:[(0,O.jsxs)(g,{className:`col-span-3 row-start-1 min-w-0 p-0 lg:table-cell lg:p-4`,children:[(0,O.jsx)(f,{className:`mb-1 h-3 w-48 max-w-full `}),(0,O.jsx)(f,{className:`h-3 w-80 max-w-full`})]}),V.map(e=>(0,O.jsx)(g,{className:o(`row-start-2 min-w-0 p-0 lg:table-cell lg:p-4`,e.widthClassName),children:(0,O.jsx)(f,{className:o(`h-3`,e.skeletonWidthClassName)})},e.key)),(0,O.jsx)(g,{className:`col-start-4 row-start-1 w-auto p-0 text-right lg:table-cell lg:w-28 lg:p-4 lg:text-left`,children:(0,O.jsx)(f,{className:`ml-auto h-3 w-16 lg:ml-0`})})]},t))})}),W=({automations:e=[],isLoading:t=!1})=>{if(t)return(0,O.jsx)(U,{});let n=e.every(e=>e.stats!==void 0);return(0,O.jsxs)(v,{"aria-label":`Automations`,className:o(`flex table-fixed flex-col lg:table`,!n&&`border-t`),"data-testid":`automations-list`,children:[n&&(0,O.jsx)(_,{className:`hidden lg:table-header-group`,children:(0,O.jsxs)(m,{className:`hover:bg-transparent`,children:[(0,O.jsx)(p,{className:`lg:px-4`,scope:`col`,children:`Name`}),V.map(e=>(0,O.jsx)(p,{className:o(`lg:px-4`,e.widthClassName),scope:`col`,children:e.label},e.key)),(0,O.jsx)(p,{className:`w-28 lg:px-4`,scope:`col`,children:`Status`})]})}),(0,O.jsx)(h,{className:`flex flex-col lg:table-row-group`,children:e.map(e=>{let t=B[e.slug],r=e.stats?.last_run_created_at,c=e.stats?.total_run_count??0,l=e.stats?.in_progress_run_count??0,u={lastEntry:{content:r?(0,O.jsx)(`time`,{dateTime:r,children:a(r)}):`Never`,isEmpty:!r},totalEntries:{content:s(c),isEmpty:c===0},inProgressEntries:{content:s(l),isEmpty:l===0}};return(0,O.jsxs)(m,{className:`grid w-full cursor-pointer grid-cols-[repeat(3,minmax(0,1fr))_auto] items-center gap-x-4 gap-y-3 px-2 py-6 hover:bg-table-row-hover has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-[-2px] has-[:focus-visible]:outline-focus-ring lg:table-row lg:gap-0 lg:p-0`,"data-testid":`automation-list-row`,onClick:H,children:[(0,O.jsxs)(p,{className:`col-span-3 row-start-1 h-auto min-w-0 p-0 text-left text-base font-normal tracking-normal text-foreground lg:table-cell lg:p-4`,scope:`row`,children:[(0,O.jsx)(i,{className:`rounded-sm focus-visible:outline-hidden`,to:`/automations/${e.id}`,children:(0,O.jsx)(`span`,{className:`block text-md font-semibold`,children:e.name})}),t&&(0,O.jsx)(`span`,{className:`block text-muted-foreground`,children:t})]}),n&&V.map(e=>{let t=u[e.key];return(0,O.jsxs)(g,{className:o(`row-start-2 flex min-w-0 flex-col p-0 lg:table-cell lg:p-4`,e.widthClassName,t.isEmpty&&`text-muted-foreground`),children:[t.content,(0,O.jsx)(`span`,{className:`mt-0.5 text-sm leading-tight whitespace-nowrap text-muted-foreground lg:hidden`,children:e.label})]},e.key)}),(0,O.jsx)(g,{className:o(`col-start-4 row-start-1 w-auto p-0 text-right lg:table-cell lg:p-4`,n?`lg:w-28 lg:text-left`:`lg:w-32`),children:(0,O.jsx)(T,{status:e.status})})]},e.slug)})})]})},G={free:`member-welcome-email-free`,paid:`member-welcome-email-paid`},K=()=>{let{data:e,error:t,isError:n,isLoading:i}=E({defaultErrorHandler:!1,refetchOnMount:`always`,staleTime:0}),{data:a,isLoading:o}=C(),{data:s,isLoading:c}=r();return{automations:b(a?.settings||[],s?.config||{})?e?.automations:e?.automations?.filter(e=>e.slug!==G.paid),error:t,isError:n,isLoading:i||o||c}},q=()=>{let{automations:e,error:t,isError:n,isLoading:r}=K();if(n)throw t instanceof Error?t:Error(`Failed to load automations`);return(0,O.jsx)(c,{className:`size-full`,"data-sentry-mask":`true`,children:(0,O.jsx)(l,{className:`relative flex h-full flex-col`,size:`page`,children:(0,O.jsxs)(D,{"data-testid":`automations-page`,children:[(0,O.jsx)(D.Header,{children:(0,O.jsx)(w,{blurredBackground:!1,sticky:!1,children:(0,O.jsx)(w.Left,{children:(0,O.jsx)(w.Title,{children:(0,O.jsxs)(`span`,{className:`inline-flex items-baseline gap-2`,children:[`Automations`,(0,O.jsx)(x,{className:`px-1 py-px text-[10px] leading-none tracking-wider uppercase`,variant:`secondary`,children:`Beta`})]})})})})}),(0,O.jsxs)(D.Body,{children:[(0,O.jsx)(W,{automations:e,isLoading:r}),(0,O.jsx)(z,{})]})]})})})};export{q as default};
|
|
@@ -1,366 +0,0 @@
|
|
|
1
|
-
(globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]).push([[598],{25305(e,t){"use strict"
|
|
2
|
-
Object.defineProperty(t,"__esModule",{value:!0}),t.cleanBasicHtml=function(e="",t={}){const r=Object.assign({},{},t)
|
|
3
|
-
if(!r.createDocument){const e="undefined"!=typeof DOMParser&&DOMParser||"undefined"!=typeof window&&window.DOMParser
|
|
4
|
-
if(!e)throw new Error("cleanBasicHtml() must be passed a `createDocument` function as an option when used in a non-browser environment")
|
|
5
|
-
r.createDocument=function(t){return(new e).parseFromString(t,"text/html")}}let a=e
|
|
6
|
-
if(r.allowBr&&"<br>"!==a||(a=a.replace(/<br\s?\/?>/g," ")),r.removeCodeWrappers&&(a=function(e){return e.replace(/<code\b[^>]*>((.*?){.*?}(.*?))<\/code>/gi,"$1")}(a)),a=a.replace(/(\s| ){2,}/g," ").trim().replace(/^ | $/g,"").trim(),a){const e=r.createDocument(a)
|
|
7
|
-
if(""===e.body.textContent)return""
|
|
8
|
-
e.body.querySelectorAll("*").forEach(t=>{if(!t.textContent?.trim().replace(/\u200c+/g,"")){if(r.allowBr&&"BR"===t.tagName)return
|
|
9
|
-
if(r.allowBr&&t.querySelector("br"))return t.replaceWith(e.createElement("br"))
|
|
10
|
-
if(t.textContent&&t.textContent.length>0){const r=e.createTextNode(" ")
|
|
11
|
-
return t.replaceWith(r)}return t.remove()}}),a=r.firstChildInnerContent&&e.body.firstElementChild?e.body.firstElementChild.innerHTML.trim():e.body.innerHTML.trim()}return a}},27929(e,t,r){"use strict"
|
|
12
|
-
Object.defineProperty(t,"__esModule",{value:!0}),t.cleanBasicHtml=void 0
|
|
13
|
-
var a=r(25305)
|
|
14
|
-
Object.defineProperty(t,"cleanBasicHtml",{enumerable:!0,get:function(){return a.cleanBasicHtml}})},90724(e,t,r){"use strict"
|
|
15
|
-
Object.defineProperty(t,"__esModule",{value:!0}),t.mobiledocToLexical=t.lexicalToMobiledoc=void 0
|
|
16
|
-
var a=r(34104)
|
|
17
|
-
Object.defineProperty(t,"lexicalToMobiledoc",{enumerable:!0,get:function(){return a.lexicalToMobiledoc}}),Object.defineProperty(t,"mobiledocToLexical",{enumerable:!0,get:function(){return a.mobiledocToLexical}})},34104(e,t,r){"use strict"
|
|
18
|
-
Object.defineProperty(t,"__esModule",{value:!0}),t.mobiledocToLexical=t.lexicalToMobiledoc=void 0
|
|
19
|
-
const a=r(52217)
|
|
20
|
-
Object.defineProperty(t,"lexicalToMobiledoc",{enumerable:!0,get:function(){return a.lexicalToMobiledoc}})
|
|
21
|
-
const s=r(22297)
|
|
22
|
-
Object.defineProperty(t,"mobiledocToLexical",{enumerable:!0,get:function(){return s.mobiledocToLexical}})},52217(e,t){"use strict"
|
|
23
|
-
Object.defineProperty(t,"__esModule",{value:!0}),t.lexicalToMobiledoc=function(e){if(null==e||""===e)return JSON.stringify(s)
|
|
24
|
-
const t=JSON.parse(e)
|
|
25
|
-
if(!t.root)return JSON.stringify(s)
|
|
26
|
-
const n={version:r,ghostVersion:a,atoms:[],cards:[],markups:[],sections:[]}
|
|
27
|
-
return t.root.children?.forEach(e=>function(e,t){"paragraph"===e.type&&p(e,t),o.includes(e.type)&&p(e,t,e.tag),"quote"===e.type&&p(e,t,"blockquote"),"aside"===e.type&&p(e,t,"aside"),"list"===e.type&&function(e,t,r="ul"){const a=function(e,t){const r=[]
|
|
28
|
-
return function(e){const t=[];(function e(r){r.children?.forEach(r=>{r.children?.forEach(t=>{"list"===t.type&&(e(t),r.children.splice(r.children.indexOf(t),1))}),"listitem"===r.type&&r.children?.length&&t.push(r)})})(e),e.children=t}(e),e.children?.forEach(e=>{if("listitem"===e.type){const a=m(e,t)
|
|
29
|
-
r.push(a)}}),r}(e,t),s=[3,r,a]
|
|
30
|
-
t.sections.push(s)}(e,t,e.tag),u.includes(e.type)&&function(e,t){const r=e.type
|
|
31
|
-
let a=e.type
|
|
32
|
-
l[a]&&(a=l[a])
|
|
33
|
-
const s={}
|
|
34
|
-
for(const i of Object.keys(e))"type"!==i&&(s[i]=e[i])
|
|
35
|
-
if(c[r]){const e=c[r]
|
|
36
|
-
for(const[t,r]of Object.entries(e))s[r]=s[t],delete s[t]}const n=[a,s]
|
|
37
|
-
t.cards.push(n)
|
|
38
|
-
const o=[10,t.cards.length-1]
|
|
39
|
-
t.sections.push(o)}(e,t)}(e,n)),JSON.stringify(n)}
|
|
40
|
-
const r="0.3.1",a="4.0",s={version:r,ghostVersion:a,markups:[],atoms:[],cards:[],sections:[[1,"p",[[0,[],0,""]]]]},n=new Map([[1,"strong"],[2,"em"],[4,"s"],[8,"u"],[16,"code"],[32,"sub"],[64,"sup"]]),o=["heading","extended-heading"],i=["text","extended-text"],u=["audio","bookmark","button","callout","codeblock","email-cta","email","embed","file","gallery","header","horizontalrule","html","image","markdown","paywall","product","signup","toggle","video"],l={codeblock:"code",horizontalrule:"hr"},c={embed:{embedType:"type"}}
|
|
41
|
-
function d(e,t){let r=t.markups.findIndex(t=>t[0]===e)
|
|
42
|
-
return-1===r&&(t.markups.push([e]),r=t.markups.length-1),r}function p(e,t,r="p"){const a=[1,r,m(e,t)]
|
|
43
|
-
t.sections.push(a)}function m(e,t){const r=[]
|
|
44
|
-
if(e.children?.length){let a=[]
|
|
45
|
-
e.children.forEach((s,n)=>{if(i.includes(s.type))if(0!==s.format){const o=[]
|
|
46
|
-
let u=0
|
|
47
|
-
if(f(s.format).forEach(e=>{a.includes(e)||(a.push(e),o.push(e))}),e.children[n+1]&&i.includes(e.children[n+1].type)){const t=f(e.children[n+1].format),r=a.findIndex(e=>!t.includes(e));-1!==r&&(u=a.slice(r).length,a=a.slice(0,r))}else u=a.length,a=[]
|
|
48
|
-
const l=o.map(e=>d(e,t))
|
|
49
|
-
r.push([0,l,u,s.text])}else{const e=a.length
|
|
50
|
-
a=[],r.push([0,[],e,s.text])}if("link"===s.type){const e=["a",["href",s.url]],n=t.markups.push(e)-1
|
|
51
|
-
s.children?.forEach((o,i)=>{if(0!==o.format){const u=[],l=[]
|
|
52
|
-
0===i&&(a.push(e),u.push(n))
|
|
53
|
-
let c=0
|
|
54
|
-
if(f(o.format).forEach(e=>{a.includes(e)||(a.push(e),l.push(e))}),s.children[i+1]){const t=f(s.children[i+1].format),r=a.findIndex(r=>!(JSON.stringify(r)===JSON.stringify(e)||t.includes(r)));-1!==r&&(c=a.slice(r).length,a=a.slice(0,r))}else c=a.length,a=[]
|
|
55
|
-
u.push(...l.map(e=>d(e,t))),r.push([0,u,c,o.text])}else{const t=[]
|
|
56
|
-
0===i&&(a.push(e),t.push(n))
|
|
57
|
-
let u=a.length-1
|
|
58
|
-
s.children[i+1]||(u+=1,a=[]),r.push([0,t,u,o.text])}})}if("linebreak"===s.type){const e=function(e,t){let r=t.atoms.findIndex(t=>t===e)
|
|
59
|
-
return-1===r&&(t.atoms.push(e),r=t.atoms.length-1),r}(["soft-return","",{}],t)
|
|
60
|
-
r.push([1,[],0,e])}})}else r.push([0,[],0,""])
|
|
61
|
-
return r}function f(e){const t=[]
|
|
62
|
-
return n.forEach((r,a)=>{0!==(e&a)&&t.push(r)}),t}},22297(e,t){"use strict"
|
|
63
|
-
Object.defineProperty(t,"__esModule",{value:!0}),t.mobiledocToLexical=function(e){if(null==e||""===e)return JSON.stringify(r)
|
|
64
|
-
const t=JSON.parse(e)
|
|
65
|
-
if(!t.sections)return JSON.stringify(r)
|
|
66
|
-
const a={root:{children:[],direction:null,format:"",indent:0,type:"root",version:1}}
|
|
67
|
-
return t.sections.forEach(e=>function(e,t,r){const a=e[0]
|
|
68
|
-
if(1===a){const a=function(e,t){const r=e[1],a=e[2],s=d(r)
|
|
69
|
-
return l(s,a,t),s}(e,t)
|
|
70
|
-
r.root.children.push(a),a.children&&a.children.length>0&&(r.root.direction="ltr")}else if(2===a);else if(3===a){const a=function(e,t){const r=e[1],a=e[2],s=d(r,{tag:r,type:"list",listType:"ul"===r?"bullet":"number",start:1,direction:"ltr"})
|
|
71
|
-
return a?.forEach((e,r)=>{const a=d("li",{type:"listitem",value:r+1,direction:"ltr"})
|
|
72
|
-
l(a,e,t),s.children.push(a)}),s}(e,t)
|
|
73
|
-
r.root.children.push(a),r.root.direction="ltr"}else if(10===a){const a=function(e,t){const r=e[1]
|
|
74
|
-
let[a,s]=t.cards[r]
|
|
75
|
-
if(a=o[a]||a,i[a]){const e=i[a]
|
|
76
|
-
for(const[t,r]of Object.entries(e))s[r]=s[t],delete s[t]}return u[a]&&(s=u[a](s)),delete s.type,{type:a,...s}}(e,t)
|
|
77
|
-
r.root.children.push(a)}}(e,t,a)),JSON.stringify(a)}
|
|
78
|
-
const r={root:{children:[],direction:null,format:"",indent:0,type:"root",version:1}},a={p:{type:"paragraph"},h1:{type:"heading",tag:"h1"},h2:{type:"heading",tag:"h2"},h3:{type:"heading",tag:"h3"},h4:{type:"heading",tag:"h4"},h5:{type:"heading",tag:"h5"},h6:{type:"heading",tag:"h6"},blockquote:{type:"quote"},aside:{type:"aside"},a:{type:"link",rel:null,target:null,title:null,url:null}},s={"soft-return":{type:"linebreak",version:1}},n={strong:1,b:1,em:2,i:2,s:4,u:8,code:16,sub:32,sup:64},o={code:"codeblock",hr:"horizontalrule"},i={embed:{type:"embedType"}},u={callout:e=>(e.backgroundColor&&!e.backgroundColor.match(/^[a-zA-Z\d-]+$/)&&(e.backgroundColor="white"),e)}
|
|
79
|
-
function l(e,t,r){const a=r.markups,n=r.atoms,o=[]
|
|
80
|
-
let i,u,l,f=!1
|
|
81
|
-
for(let h=0;h<t.length;h++){const[r,g,y,b]=t[h]
|
|
82
|
-
if("atom"==(0===r?"markup":"atom")){const t=n[b][0]
|
|
83
|
-
p(e,s[t])
|
|
84
|
-
continue}if(g.forEach(e=>{const t=a[e]
|
|
85
|
-
if("a"===t[0]){f=!0
|
|
86
|
-
const e=t[1]
|
|
87
|
-
e&&"href"===e[0]&&(u=e[1]),e&&"rel"===e[2]&&(l=e[3])}o.push(t)}),void 0!==b){const t=m(o)
|
|
88
|
-
f?(i=void 0!==i?i:d("a",{url:u,rel:l||null}),p(i,c(b,t))):p(e,c(b,t))}for(let t=0;t<y;t++){const t=o.pop()
|
|
89
|
-
t&&"a"===t[0]&&(p(e,i),f=!1,u=void 0,i=void 0)}}}function c(e,t){return{detail:0,format:t,mode:"normal",style:"",text:e,type:"text",version:1}}function d(e,t={}){const r=a[e]
|
|
90
|
-
return{children:[],direction:"ltr",format:"",indent:0,...r,...t,type:r?.type||t.type||e,version:1}}function p(e,t){t&&(e.children.push(t),t&&"text"in t&&t.text&&(e.direction="ltr"))}function m(e){let t=0
|
|
91
|
-
return e.forEach(e=>{const r=e[0]
|
|
92
|
-
r in n&&(t|=n[r])}),t}},54551(e,t,r){var a={"./af":1199,"./af.js":1199,"./ar":36347,"./ar-dz":77230,"./ar-dz.js":77230,"./ar-kw":63390,"./ar-kw.js":63390,"./ar-ly":65283,"./ar-ly.js":65283,"./ar-ma":30570,"./ar-ma.js":30570,"./ar-ps":15505,"./ar-ps.js":15505,"./ar-sa":94112,"./ar-sa.js":94112,"./ar-tn":20386,"./ar-tn.js":20386,"./ar.js":36347,"./az":2067,"./az.js":2067,"./be":2405,"./be.js":2405,"./bg":77091,"./bg.js":77091,"./bm":36429,"./bm.js":36429,"./bn":88548,"./bn-bd":62919,"./bn-bd.js":62919,"./bn.js":88548,"./bo":94219,"./bo.js":94219,"./br":89248,"./br.js":89248,"./bs":30551,"./bs.js":30551,"./ca":36e3,"./ca.js":36e3,"./cs":46330,"./cs.js":46330,"./cv":32805,"./cv.js":32805,"./cy":51096,"./cy.js":51096,"./da":96035,"./da.js":96035,"./de":3015,"./de-at":30917,"./de-at.js":30917,"./de-ch":24475,"./de-ch.js":24475,"./de.js":3015,"./dv":29706,"./dv.js":29706,"./el":95637,"./el.js":95637,"./en-au":33146,"./en-au.js":33146,"./en-ca":45800,"./en-ca.js":45800,"./en-gb":2053,"./en-gb.js":2053,"./en-ie":86274,"./en-ie.js":86274,"./en-il":53993,"./en-il.js":53993,"./en-in":2663,"./en-in.js":2663,"./en-nz":38060,"./en-nz.js":38060,"./en-sg":95022,"./en-sg.js":95022,"./eo":14060,"./eo.js":14060,"./es":44920,"./es-do":98508,"./es-do.js":98508,"./es-mx":22604,"./es-mx.js":22604,"./es-us":75269,"./es-us.js":75269,"./es.js":44920,"./et":85773,"./et.js":85773,"./eu":75598,"./eu.js":75598,"./fa":17933,"./fa.js":17933,"./fi":83909,"./fi.js":83909,"./fil":80893,"./fil.js":80893,"./fo":24455,"./fo.js":24455,"./fr":49940,"./fr-ca":53317,"./fr-ca.js":53317,"./fr-ch":77678,"./fr-ch.js":77678,"./fr.js":49940,"./fy":53429,"./fy.js":53429,"./ga":96692,"./ga.js":96692,"./gd":72511,"./gd.js":72511,"./gl":82103,"./gl.js":82103,"./gom-deva":33906,"./gom-deva.js":33906,"./gom-latn":96893,"./gom-latn.js":96893,"./gu":55896,"./gu.js":55896,"./he":98755,"./he.js":98755,"./hi":46639,"./hi.js":46639,"./hr":9130,"./hr.js":9130,"./hu":29171,"./hu.js":29171,"./hy-am":26406,"./hy-am.js":26406,"./id":74694,"./id.js":74694,"./is":24220,"./is.js":24220,"./it":72681,"./it-ch":40757,"./it-ch.js":40757,"./it.js":72681,"./ja":33649,"./ja.js":33649,"./jv":75572,"./jv.js":75572,"./ka":14824,"./ka.js":14824,"./kk":81770,"./kk.js":81770,"./km":35724,"./km.js":35724,"./kn":94005,"./kn.js":94005,"./ko":65814,"./ko.js":65814,"./ku":17028,"./ku-kmr":25683,"./ku-kmr.js":25683,"./ku.js":17028,"./ky":23984,"./ky.js":23984,"./lb":21038,"./lb.js":21038,"./lo":4009,"./lo.js":4009,"./lt":27208,"./lt.js":27208,"./lv":53970,"./lv.js":53970,"./me":13030,"./me.js":13030,"./mi":51413,"./mi.js":51413,"./mk":85336,"./mk.js":85336,"./ml":26189,"./ml.js":26189,"./mn":17227,"./mn.js":17227,"./mr":1975,"./mr.js":1975,"./ms":12256,"./ms-my":87323,"./ms-my.js":87323,"./ms.js":12256,"./mt":36053,"./mt.js":36053,"./my":1042,"./my.js":1042,"./nb":1228,"./nb.js":1228,"./ne":60057,"./ne.js":60057,"./nl":31442,"./nl-be":17014,"./nl-be.js":17014,"./nl.js":31442,"./nn":46152,"./nn.js":46152,"./oc-lnc":62100,"./oc-lnc.js":62100,"./pa-in":41771,"./pa-in.js":41771,"./pl":6300,"./pl.js":6300,"./pt":88340,"./pt-br":20645,"./pt-br.js":20645,"./pt.js":88340,"./ro":15195,"./ro.js":15195,"./ru":75813,"./ru.js":75813,"./sd":62339,"./sd.js":62339,"./se":6876,"./se.js":6876,"./si":41176,"./si.js":41176,"./sk":52930,"./sk.js":52930,"./sl":38891,"./sl.js":38891,"./sq":91392,"./sq.js":91392,"./sr":28025,"./sr-cyrl":50808,"./sr-cyrl.js":50808,"./sr.js":28025,"./ss":38538,"./ss.js":38538,"./sv":50773,"./sv.js":50773,"./sw":22582,"./sw.js":22582,"./ta":23155,"./ta.js":23155,"./te":27863,"./te.js":27863,"./tet":29464,"./tet.js":29464,"./tg":58425,"./tg.js":58425,"./th":9492,"./th.js":9492,"./tk":21341,"./tk.js":21341,"./tl-ph":37317,"./tl-ph.js":37317,"./tlh":59394,"./tlh.js":59394,"./tr":15622,"./tr.js":15622,"./tzl":26952,"./tzl.js":26952,"./tzm":61567,"./tzm-latn":83753,"./tzm-latn.js":83753,"./tzm.js":61567,"./ug-cn":34856,"./ug-cn.js":34856,"./uk":40816,"./uk.js":40816,"./ur":25695,"./ur.js":25695,"./uz":51639,"./uz-latn":15521,"./uz-latn.js":15521,"./uz.js":51639,"./vi":80885,"./vi.js":80885,"./x-pseudo":97765,"./x-pseudo.js":97765,"./yo":93592,"./yo.js":93592,"./zh-cn":71922,"./zh-cn.js":71922,"./zh-hk":37406,"./zh-hk.js":37406,"./zh-mo":81043,"./zh-mo.js":81043,"./zh-tw":72998,"./zh-tw.js":72998}
|
|
93
|
-
function s(e){var t=n(e)
|
|
94
|
-
return r(t)}function n(e){if(!r.o(a,e)){var t=new Error("Cannot find module '"+e+"'")
|
|
95
|
-
throw t.code="MODULE_NOT_FOUND",t}return a[e]}s.keys=function(){return Object.keys(a)},s.resolve=n,e.exports=s,s.id=54551},86147(){},21901(){},32712(e,t){window._eai_r=require,window._eai_d=define},82211(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
96
|
-
var a="ConfigResponseType",s=a,n=r(90665).createQuery({dataType:a,path:"/config/"}),o="/pro"
|
|
97
|
-
t.DEFAULT_UPGRADE_ROUTE=o,t.configDataType=s,t.hasSendingDomain=e=>{const t=e?.hostSettings?.managedEmail?.sendingDomain
|
|
98
|
-
return"string"==typeof t&&t.length>0},t.isManagedEmail=e=>!!e?.hostSettings?.managedEmail?.enabled,t.sendingDomain=e=>e?.hostSettings?.managedEmail?.sendingDomain,t.upgradeRoute=e=>{const t=e?.hostSettings?.billing?.upgradeUrl
|
|
99
|
-
return t?t.replace(/^#/,""):o},t.useBrowseConfig=n},48808(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
100
|
-
const a=r(51184),s=r(79522)
|
|
101
|
-
let n=r(6841),o=r(80576)
|
|
102
|
-
var i="UsersResponseType",u=s.apiUrl("/users/me/",{include:"roles"}),l=[i,u]
|
|
103
|
-
t.currentUserQueryKey=l,t.useCurrentUser=()=>{const e=s.useFetchApi(),t=a(),r=(0,n.useQuery)({queryKey:l,queryFn:()=>e(u),select:e=>e.users[0]})
|
|
104
|
-
return(0,o.useEffect)(()=>{r.error&&t(r.error)},[t,r.error]),r},t.usersDataType=i},16757(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
105
|
-
const a=r(90665),s=r(72215)
|
|
106
|
-
var n="InvitesResponseType",o=a.createInfiniteQuery({dataType:n,path:"/invites/",permissions:["Owner","Administrator"],defaultSearchParams:{limit:"100",include:"roles"},defaultNextPageParams:(e,t)=>({...t,page:(e.meta?.pagination.next||1).toString()}),returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.invites),a=t[t.length-1].meta
|
|
107
|
-
return{invites:r,meta:a,isEnd:!a||a.pagination.pages===a.pagination.page}}}),i=a.createMutation({method:"POST",path:()=>"/invites/",body:({email:e,roleId:t})=>({invites:[{email:e,role_id:t,expires:null,status:null,token:null}]}),updateQueries:{dataType:n,emberUpdateType:"createOrUpdate",update:s.insertToQueryCache("invites")}}),u=a.createMutation({path:e=>`/invites/${e}/`,method:"DELETE",updateQueries:{dataType:n,emberUpdateType:"delete",update:s.deleteFromQueryCache("invites")}})
|
|
108
|
-
t.useAddInvite=i,t.useBrowseInvites=o,t.useDeleteInvite=u},77898(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
109
|
-
const a=r(79522),s=r(48808),n=r(90665),o=r(28091)
|
|
110
|
-
let i=r(6841),u=r(80576)
|
|
111
|
-
var l="MembersResponseType",c="/members/",d={limit:"1"},p=()=>[l,a.apiUrl(c,d)],m=n.createQuery({dataType:l,path:c}),f=n.createQuery({dataType:l,path:c,defaultSearchParams:d}),h=n.createMutation({method:"POST",path:()=>"/members/",body:e=>({members:[e]}),invalidateQueries:{dataType:l}}),g=n.createMutation({method:"POST",retry:!1,path:()=>"/members/upload/",body:function({file:e,labels:t=[],mapping:r={}}){const a=new FormData
|
|
112
|
-
a.append("membersfile",e)
|
|
113
|
-
for(const s of t)a.append("labels",s)
|
|
114
|
-
for(const[s,n]of Object.entries(r))"string"==typeof n&&a.append(`mapping[${s}]`,n)
|
|
115
|
-
return a},invalidateQueries:{dataType:l}}),y=n.createQueryWithId({dataType:l,path:e=>`/members/${e}/`}),b=n.createMutation({method:"POST",path:({id:e})=>`/members/${e}/commenting/disable`,body:({reason:e,hideComments:t})=>({reason:e,hide_comments:t}),invalidateQueries:{dataType:["CommentsResponseType",l]}}),w=n.createMutation({method:"POST",path:({id:e})=>`/members/${e}/commenting/enable`,body:()=>({}),invalidateQueries:{dataType:["CommentsResponseType",l]}}),v=n.createInfiniteQuery({dataType:l,path:c,defaultSearchParams:{include:"labels,tiers",limit:"100",order:"created_at desc"},defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.members),a=t[t.length-1].meta
|
|
116
|
-
return{members:r,meta:a,isEnd:!a||a.pagination.pages===a.pagination.page}}})
|
|
117
|
-
function j({filter:e,search:t,all:r}){if(!r&&!e&&!t)throw new Error("Bulk operation requires a filter, search, or all flag")
|
|
118
|
-
const a={}
|
|
119
|
-
return r&&(a.all="true"),e&&(a.filter=e),t&&(a.search=t),a}var T=n.createMutation({method:"PUT",path:()=>"/members/bulk/",body:({action:e})=>({bulk:{action:e.type,meta:e.meta||{},newsletter:e.newsletter}}),searchParams:j,invalidateQueries:{dataType:l}}),E=n.createMutation({method:"DELETE",path:()=>"/members/",searchParams:j,invalidateQueries:{dataType:l}}),S=n.createMutation({method:"PUT",path:({id:e})=>`/members/${e}/`,searchParams:()=>({include:"tiers,metafields"}),body:({id:e,...t})=>({members:[{id:e,...t}]}),invalidateQueries:{dataType:l}}),P=n.createMutation({method:"DELETE",path:({id:e})=>`/members/${e}/`,searchParams:({cancel:e})=>({cancel:e?"true":"false"}),invalidateQueries:{dataType:l}}),M=n.createQueryWithId({dataType:"MemberSigninUrlResponseType",path:e=>`/members/${e}/signin_urls/`,returnData:e=>e.member_signin_urls?.[0]??{member_id:"",url:""}}),k=n.createMutation({method:"DELETE",path:({id:e})=>`/members/${e}/sessions/`,invalidateQueries:{dataType:l}}),O=n.createMutation({method:"PUT",path:({memberId:e,subscriptionId:t})=>`/members/${e}/subscriptions/${t}/`,body:({cancelAtPeriodEnd:e,status:t})=>({...void 0!==e?{cancel_at_period_end:e}:{},...t?{status:t}:{}}),invalidateQueries:{dataType:l}}),x=n.createMutation({method:"DELETE",path:({id:e})=>`/members/${e}/suppression/`,invalidateQueries:{dataType:l}}),U="20"
|
|
120
|
-
function _(e){return`data.member_id:'${e}'`}var C=n.createInfiniteQuery({dataType:"MemberActivityFeedResponseType",path:"/members/events/",defaultSearchParams:{limit:U},defaultNextPageParams:(e,t)=>{const r=Number(t.limit??U),a=function(e){const t=e[e.length-1]?.data?.created_at
|
|
121
|
-
if(t)return new Date(t).toISOString().slice(0,19).replace("T"," ")}(e.events)
|
|
122
|
-
if(a&&!(e.events.length<r))return{...t,filter:`data.created_at:<'${a}'+${t.filter??""}`}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.events),a=t[t.length-1],s=a?.meta?.pagination?.limit,n="number"==typeof s?s:Number(U)
|
|
123
|
-
return{events:r,meta:a?.meta,isEnd:(a?.events.length??0)<n}}})
|
|
124
|
-
t.getMemberCountQueryKey=p,t.isImportMembersCompleteResponse=function(e){return"number"==typeof e.meta?.stats?.imported},t.useAddMember=h,t.useBrowseMembers=m,t.useBrowseMembersInfinite=function(e={}){const t=v(e)
|
|
125
|
-
return function(e,t){const r=(0,i.useQueryClient)(),a=e.data?.meta?.pagination?.total,s=function(e){return!e?.filter&&!e?.search}(t);(0,u.useEffect)(()=>{if(!s||e.isError||e.isPlaceholderData||"number"!=typeof a)return
|
|
126
|
-
const t=p(),n=r.getQueryState(t),o=n?.data,i=o?.meta?.pagination
|
|
127
|
-
if(!n||!o||!i)return
|
|
128
|
-
const u=i.total===a,l=n.dataUpdatedAt<=e.dataUpdatedAt
|
|
129
|
-
!u&&l&&r.setQueryData(t,{...o,meta:{...o.meta,pagination:{...i,total:a}}},{updatedAt:e.dataUpdatedAt})},[r,s,a,e.dataUpdatedAt,e.isError,e.isPlaceholderData])}(t,e.searchParams),t},t.useBulkDeleteMembers=E,t.useBulkEditMembers=T,t.useDeleteMember=P,t.useDisableMemberCommenting=b,t.useEditMember=S,t.useEditMemberSubscription=O,t.useEnableMemberCommenting=w,t.useImportMembers=g,t.useMember=y,t.useMemberActivityFeed=function(e,t={}){const{limit:r=U,enabled:a}=t
|
|
130
|
-
return C({searchParams:{filter:_(e),limit:r},...void 0!==a?{enabled:a}:{}})},t.useMemberCount=function(){const{data:e}=s.useCurrentUser(),{data:t}=f({enabled:Boolean(e&&o.canManageMembers(e))})
|
|
131
|
-
return t?.meta?.pagination.total},t.useMemberLogout=k,t.useMemberSigninUrl=M,t.useMembersFetching=()=>(0,i.useIsFetching)({queryKey:[l]})>0,t.useRemoveMemberEmailSuppression=x},93147(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
132
|
-
const a=r(90665),s=r(72215)
|
|
133
|
-
var n="NewslettersResponseType",o=n,i=a.createInfiniteQuery({dataType:n,path:"/newsletters/",defaultSearchParams:{include:"count.active_members,count.posts",limit:"50"},defaultNextPageParams:(e,t)=>({...t,page:(e.meta?.pagination.next||1).toString()}),returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.newsletters),a=t[t.length-1].meta
|
|
134
|
-
return{newsletters:r,meta:a,isEnd:!a||a.pagination.pages===a.pagination.page}}}),u=a.createMutation({method:"POST",path:()=>"/newsletters/",body:({opt_in_existing:e,...t})=>({newsletters:[t]}),searchParams:e=>({opt_in_existing:e.opt_in_existing.toString(),include:"count.active_members,count.posts"}),updateQueries:{dataType:n,emberUpdateType:"createOrUpdate",update:s.insertToQueryCache("newsletters")}}),l=a.createMutation({method:"PUT",path:e=>`/newsletters/${e.id}/`,body:e=>({newsletters:[e]}),defaultSearchParams:{include:"count.active_members,count.posts"},updateQueries:{dataType:n,emberUpdateType:"createOrUpdate",update:s.updateQueryCache("newsletters")}}),c=a.createMutation({method:"PUT",path:()=>"/newsletters/verifications/",body:({token:e})=>({token:e}),defaultSearchParams:{include:"count.active_members,count.posts"},updateQueries:{dataType:n,emberUpdateType:"createOrUpdate",update:s.updateQueryCache("newsletters")}})
|
|
135
|
-
t.newslettersDataType=o,t.useAddNewsletter=u,t.useBrowseNewsletters=i,t.useEditNewsletter=l,t.useVerifyNewsletterEmail=c},37380(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
136
|
-
const a=r(90665),s=r(72215)
|
|
137
|
-
let n=r(6841)
|
|
138
|
-
var o="OffersResponseType",i=a.createQuery({dataType:o,path:"/offers/",defaultSearchParams:{}}),u=a.createQueryWithId({dataType:o,path:e=>`/offers/${e}/`}),l=a.createMutation({method:"PUT",path:e=>`/offers/${e.id}/`,body:e=>({offers:[e]}),updateQueries:{dataType:o,emberUpdateType:"createOrUpdate",update:s.updateQueryCache("offers")}}),c=a.createMutation({method:"POST",path:()=>"/offers/",body:e=>({offers:[e]}),updateQueries:{dataType:o,emberUpdateType:"createOrUpdate",update:s.insertToQueryCache("offers")}})
|
|
139
|
-
t.useAddOffer=c,t.useBrowseOffers=i,t.useBrowseOffersById=u,t.useEditOffer=l,t.useInvalidateOffers=()=>{const e=(0,n.useQueryClient)()
|
|
140
|
-
return()=>e.invalidateQueries({queryKey:[o]})}},42262(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
141
|
-
const a=r(90665)
|
|
142
|
-
var s="PostsResponseType",n=a.createQuery({dataType:s,path:"/posts/"}),o=a.createInfiniteQuery({dataType:s,path:"/posts/",defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.posts),a=t[t.length-1].meta
|
|
143
|
-
return{posts:r,meta:a,isEnd:!a||a.pagination.pages===a.pagination.page}}}),i=a.createQueryWithId({dataType:s,path:e=>`/posts/${e}/`}),u=a.createMutation({method:"DELETE",path:e=>`/posts/${e}/`}),l=a.createMutation({method:"PUT",path:()=>"/posts/bulk/",searchParams:({filter:e})=>({filter:e}),body:({action:e})=>({bulk:{action:e.type,meta:"meta"in e?e.meta:{}}})}),c=a.createMutation({method:"DELETE",path:()=>"/posts/",searchParams:({filter:e})=>({filter:e})}),d=a.createMutation({method:"POST",path:e=>`/posts/${e}/copy/`}),p=a.createMutation({method:"POST",retry:!1,path:()=>"/posts/upload/",body:({file:e,mapping:t})=>{const r=new FormData
|
|
144
|
-
r.append("postsfile",e)
|
|
145
|
-
for(const[a,s]of Object.entries(t))r.append(`mapping[${a}]`,s)
|
|
146
|
-
return r}})
|
|
147
|
-
t.useBrowsePosts=n,t.useBrowsePostsInfinite=o,t.useBulkDeletePosts=c,t.useBulkEditPosts=l,t.useCopyPost=d,t.useDeletePost=u,t.useImportContentCSV=p,t.usePost=i},80916(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
148
|
-
var a=r(90665).createQuery({dataType:"RolesResponseType",path:"/roles/",defaultSearchParams:{limit:"100"}})
|
|
149
|
-
t.useBrowseRoles=a},12098(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
150
|
-
const a=r(90665)
|
|
151
|
-
var s="SettingsResponseType",n=a.createQuery({dataType:s,path:"/settings/",defaultSearchParams:{group:"site,theme,private,members,portal,newsletter,email,labs,slack,unsplash,views,firstpromoter,editor,comments,analytics,announcement,pintura,donations,security,social_web,explore,transistor"}}),o=a.createMutation({method:"PUT",path:()=>"/settings/",body:e=>({settings:e.map(({key:e,value:t})=>({key:e,value:t}))}),updateQueries:{dataType:s,emberUpdateType:"createOrUpdate",update:e=>({...e,settings:e.settings})},invalidateQueries:{filters:{predicate:e=>e.queryKey[0]!==s}}}),i=a.createMutation({method:"POST",path:()=>"/settings/access_code/regenerate/",updateQueries:{dataType:s,emberUpdateType:"createOrUpdate",update:e=>({...e,settings:e.settings})},invalidateQueries:{filters:{predicate:e=>e.queryKey[0]!==s}}}),u=a.createMutation({method:"DELETE",path:()=>"/settings/stripe/connect/",invalidateQueries:{dataType:s}}),l=a.createMutation({method:"POST",path:()=>"/slack/test/"})
|
|
152
|
-
function c(e,t){return e&&e.find(e=>e.key===t)?.value||null}function d(){const{data:e}=n()
|
|
153
|
-
return e?.settings}t.checkStripeEnabled=function(e,t){const r=t=>e.some(e=>e.key===t&&e.value),a=r("stripe_secret_key")&&r("stripe_publishable_key"),s=r("stripe_connect_secret_key")&&r("stripe_connect_publishable_key")
|
|
154
|
-
return t.stripeDirect?a:s||a},t.getSettingValue=c,t.getSettingValues=function(e,t){return t.map(t=>e?.find(e=>e.key===t)?.value)},t.humanizeSettingKey=function(e){return e.replace(/^[a-z]/,e=>e.toUpperCase()).replace(/_/g," ").replace(new RegExp(`\\b(${["API","CTA","RSS"].join("|")})\\b`,"ig"),e=>e.toUpperCase())},t.isSettingReadOnly=function(e,t){if(e)return e.find(e=>e.key===t)?.is_read_only||!1},t.useBrowseSettings=n,t.useDeleteStripeSettings=u,t.useEditSettings=o,t.useEmailTrackClicks=function(){const e=d()
|
|
155
|
-
if(e)return c(e,"email_track_clicks")??!1},t.useEmailTrackOpens=function(){const e=d()
|
|
156
|
-
if(e)return c(e,"email_track_opens")??!1},t.useMembersTrackSources=function(){const e=d()
|
|
157
|
-
if(e)return c(e,"members_track_sources")??!1},t.useNewslettersEnabled=function(){const e=d()
|
|
158
|
-
if(e)return"disabled"!==c(e,"editor_default_email_recipients")},t.usePaidMembersEnabled=function(){const e=d()
|
|
159
|
-
if(e)return c(e,"paid_members_enabled")??!1},t.useRegenerateAccessCode=i,t.useTestSlack=l,t.useWebAnalyticsEnabled=function(){const e=d()
|
|
160
|
-
return!!e&&!0===c(e,"web_analytics_enabled")}},28091(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
161
|
-
const a=r(48808),s=r(90665),n=r(72215)
|
|
162
|
-
var o=a.usersDataType,i=s.createInfiniteQuery({dataType:o,path:"/users/",defaultSearchParams:{limit:"100",include:"roles"},defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.users),a=t[t.length-1].meta
|
|
163
|
-
return{users:r,meta:a,isEnd:!a||a.pagination.pages===a.pagination.page}}}),u=s.createQueryWithId({dataType:o,path:e=>`/users/slug/${e}/`,defaultSearchParams:{include:"roles"}}),l=s.createMutation({method:"PUT",path:e=>`/users/${e.id}/`,body:e=>({users:[e]}),searchParams:()=>({include:"roles"}),updateQueries:{dataType:o,emberUpdateType:"createOrUpdate",update:n.updateQueryCache("users")}}),c=s.createMutation({method:"DELETE",path:e=>`/users/${e}/`,updateQueries:{dataType:o,emberUpdateType:"delete",update:n.deleteFromQueryCache("users")}}),d=s.createMutation({method:"PUT",path:()=>"/users/password/",body:({newPassword:e,confirmNewPassword:t,userId:r,oldPassword:a})=>({password:[{user_id:r,oldPassword:a||"",newPassword:e,ne2Password:t}]})}),p=s.createMutation({method:"PUT",path:()=>"/users/owner/",body:e=>({owner:[{id:e}]}),updateQueries:{dataType:o,emberUpdateType:"createOrUpdate",update:n.updateQueryCache("users")}})
|
|
164
|
-
function m(e){return e.roles.some(e=>"Owner"===e.name)}function f(e){return e.roles.some(e=>"Administrator"===e.name)}function h(e){return e.roles.some(e=>"Editor"===e.name)||e.roles.some(e=>"Super Editor"===e.name)}function g(e){return e.roles.some(e=>"Super Editor"===e.name)}function y(e){return e.roles.some(e=>"Author"===e.name)}function b(e){return e.roles.some(e=>"Contributor"===e.name)}t.canAccessSettings=function(e){return m(e)||f(e)||h(e)},t.canManageAutomations=function(e){return m(e)||f(e)},t.canManageGiftLinks=function(e){return m(e)||f(e)||h(e)},t.canManageMembers=function(e){return m(e)||f(e)||g(e)},t.canManageTags=function(e){return m(e)||f(e)||h(e)},t.hasAdminAccess=function(e){return m(e)||f(e)},t.isAdminUser=f,t.isAuthorOrContributor=function(e){return y(e)||b(e)},t.isAuthorUser=y,t.isContributorUser=b,t.isEditorUser=h,t.isOwnerUser=m,t.isSuperEditorUser=g,t.useBrowseUsers=i,t.useDeleteUser=c,t.useEditUser=l,t.useGetUserBySlug=u,t.useMakeOwner=p,t.useUpdatePassword=d},88950(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
165
|
-
const a=r(51184),s=r(79522),n=r(20031),o=r(27057),i=r(48078),u=r(99767),l=r(77699),c=r(26781),d=r(26322),p=r(4418),m=r(64573),f=r(99489)
|
|
166
|
-
t.koenigFileUploadTypes=u.koenigFileUploadTypes,t.useConfirmUnload=n.useConfirmUnload,t.useFeatureFlag=d.useFeatureFlag,t.useFetchApi=s.useFetchApi,t.useFilterableApi=i,t.useForm=o,t.useHandleError=a,t.useHostLimits=p.useHostLimits,t.useKoenigFetchEmbed=l.useKoenigFetchEmbed,t.useKoenigFileUpload=u.useKoenigFileUpload,t.useKoenigLinkSuggestions=c.useKoenigLinkSuggestions,t.useLimiter=m.useLimiter,t.usePinturaConfig=f.usePinturaConfig},20031(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
167
|
-
const a=r(2940)
|
|
168
|
-
let s=r(80576)
|
|
169
|
-
s=a.__toESM(s,1),t.useConfirmUnload=function(e){s.useEffect(()=>{if(!e)return
|
|
170
|
-
const t=e=>{e.preventDefault(),e.returnValue=""}
|
|
171
|
-
return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t)}},[e])}},26322(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
172
|
-
const a=r(82211)
|
|
173
|
-
t.useFeatureFlag=e=>{const{data:t}=a.useBrowseConfig({refetchOnMount:!1})
|
|
174
|
-
return!0===t?.config.labs?.[e]}},48078(e,t,r){const a=r(79522)
|
|
175
|
-
let s=r(80576),n=r(26031)
|
|
176
|
-
var o=(e=[],t,r)=>e&&r?e.filter(e=>e[t]?.toLowerCase().includes(r.toLowerCase())):e
|
|
177
|
-
e.exports=({path:e,filterKey:t,responseKey:r,limit:i=20})=>{const u=a.useFetchApi(),l=(0,s.useRef)({}),c=async s=>{if((l.current.allLoaded||l.current.lastInput===s)&&l.current.data)return o(l.current.data,t,s)
|
|
178
|
-
const c=await u(a.apiUrl(e,{filter:s?`${t}:~${(0,n.escapeNqlString)(s)}`:"",limit:i.toString()}))
|
|
179
|
-
return l.current.data=c[r],l.current.allLoaded=!s&&!c.meta?.pagination.next,l.current.lastInput=s,o(c[r],t,s)}
|
|
180
|
-
return{loadData:c,loadInitialValues:async(t,s)=>{await c("")
|
|
181
|
-
const n=[...l.current.data||[]],o=t.filter(e=>!l.current.data?.find(t=>t[s]===e))
|
|
182
|
-
if(o.length){const t=await u(a.apiUrl(e,{filter:`${s}:[${o.join(",")}]`,limit:"100"}))
|
|
183
|
-
n.push(...t[r])}return t.map(e=>n.find(t=>t[s]===e))}}}},27057(e,t,r){let a=r(80576)
|
|
184
|
-
e.exports=({initialState:e,savingDelay:t,savedDelay:r=2e3,onSave:s,onSaveError:n,onSavedStateReset:o,onValidate:i})=>{const[u,l]=(0,a.useState)(e),[c,d]=(0,a.useState)(""),[p,m]=(0,a.useState)({});(0,a.useEffect)(()=>{"saved"===c&&setTimeout(()=>{o?.(),d(e=>"saved"===e?"":e)},r)},[c,r])
|
|
185
|
-
const f=e=>0===Object.values(e).filter(Boolean).length,h=(0,a.useCallback)(()=>{if(!i)return!0
|
|
186
|
-
const e=i(u)
|
|
187
|
-
return m(e),f(e)},[u,i]),g=(0,a.useCallback)(async(e={})=>{if(!h())return d("error"),!1
|
|
188
|
-
if("unsaved"!==c&&!e.force&&!e.fakeWhenUnchanged)return!0
|
|
189
|
-
const r=Date.now()
|
|
190
|
-
d("saving")
|
|
191
|
-
try{("unsaved"===c||e.force)&&await s(u)
|
|
192
|
-
const a=Date.now()-r
|
|
193
|
-
return t&&a<t&&await new Promise(e=>{setTimeout(e,t-a)}),d("saved"),!0}catch(e){throw await(n?.(e)),d("unsaved"),e}},[u,c,t,s,n,h]),y=(0,a.useCallback)(e=>{l(e),d("unsaved")},[])
|
|
194
|
-
let b="default"
|
|
195
|
-
"saved"===c?b="default":"error"===c&&(b="destructive")
|
|
196
|
-
let w=""
|
|
197
|
-
"saved"===c?w="Saved":"saving"===c?w="Saving...":"error"===c&&(w="Retry")
|
|
198
|
-
const v={disabled:"saving"===c,variant:b,label:w||void 0}
|
|
199
|
-
return{formState:u,saveState:c,handleSave:g,updateForm:y,setFormState:l,reset(){l(e),d("")},validate:h,isValid:f(p),clearError:e=>{m(t=>({...t,[e]:""}))},errors:p,setErrors:m,okProps:v}}},51184(e,t,r){const a=r(2940),s=r(85089),n=r(27621)
|
|
200
|
-
let o=r(28219)
|
|
201
|
-
o=a.__toESM(o,1)
|
|
202
|
-
let i=r(80576),u=r(89860)
|
|
203
|
-
function l(e){u.toast.dismiss(),u.toast.error(e)}e.exports=()=>{const{sentryDSN:e}=s.useFramework()
|
|
204
|
-
return(0,i.useCallback)((t,{withToast:r=!0}={})=>{console.error(t),!e||t instanceof n.SessionExpiredError||o.withScope(e=>{t instanceof n.APIError&&t.response&&(e.setTag("api_url",t.response.url),e.setTag("api_response_status",t.response.status)),o.captureException(t)}),r&&(t instanceof n.APIError&&418===t.response?.status||t instanceof n.SessionExpiredError?u.toast.dismiss():t instanceof n.APIError?l(n.getErrorMessage(t,t.message)):l("Something went wrong, please try again."))},[e])}},4418(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
205
|
-
const a=r(82211)
|
|
206
|
-
t.useHostLimits=()=>{const{data:e}=a.useBrowseConfig({refetchOnMount:!1})
|
|
207
|
-
return e?.config.hostSettings?.limits}},77699(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
208
|
-
const a=r(65955),s=r(79522)
|
|
209
|
-
let n=r(80576)
|
|
210
|
-
t.useKoenigFetchEmbed=()=>{const e=s.useFetchApi()
|
|
211
|
-
return(0,n.useCallback)(async(t,{type:r}={})=>{const s=new URL(`${a.getGhostPaths().apiRoot}/oembed/`,window.location.origin)
|
|
212
|
-
return s.searchParams.set("url",t),r&&s.searchParams.set("type",r),await e(s)},[e])}},99767(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
213
|
-
const a=r(65955),s=r(79522)
|
|
214
|
-
let n=r(80576)
|
|
215
|
-
var o={image:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/svg+xml","image/webp"],extensions:["gif","jpg","jpeg","png","svg","svgz","webp"],endpoint:"/images/upload/",requestMethod:"post",resourceName:"images"},video:{mimeTypes:["video/mp4","video/webm","video/ogg"],extensions:["mp4","webm","ogv"],endpoint:"/media/upload/",requestMethod:"post",resourceName:"media"},audio:{mimeTypes:["audio/mp3","audio/mpeg","audio/ogg","audio/wav","audio/vnd.wav","audio/wave","audio/x-wav","audio/mp4","audio/x-m4a"],extensions:["mp3","wav","ogg","m4a"],endpoint:"/media/upload/",requestMethod:"post",resourceName:"media"},mediaThumbnail:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/webp"],extensions:["gif","jpg","jpeg","png","webp"],endpoint:"/media/thumbnail/upload/",requestMethod:"put",resourceName:"media"},file:{extensions:[],endpoint:"/files/upload/",requestMethod:"post",resourceName:"files"}},i=(e,t)=>{let r=e
|
|
216
|
-
for(const a of t){if(!r||"object"!=typeof r||!(a in r))return null
|
|
217
|
-
r=r[a]}return"string"==typeof r?r:null}
|
|
218
|
-
t.koenigFileUploadTypes=o,t.useKoenigFileUpload=(e="image")=>{const[t,r]=(0,n.useState)(0),[u,l]=(0,n.useState)(!1),[c,d]=(0,n.useState)([]),[p,m]=(0,n.useState)(0),f=(0,n.useRef)(new Map),h=s.useFetchApi()
|
|
219
|
-
function g(){if(0===f.current.size)return void r(0)
|
|
220
|
-
let e=0
|
|
221
|
-
f.current.forEach(t=>{e+=t}),r(Math.round(e/f.current.size))}const y=t=>{if("file"===e)return!0
|
|
222
|
-
const r=o[e].extensions,[,a]=/(?:\.([^.]+))?$/.exec(t.name)??[]
|
|
223
|
-
return!r||!(!a||-1===r.indexOf(a.toLowerCase()))||`The file type you uploaded is not supported. Please use .${r.join(", .").toUpperCase()}`},b=async(t,{formData:r={}}={})=>{f.current.set(t,0)
|
|
224
|
-
const s=new FormData
|
|
225
|
-
s.append("file",t,t.name),Object.keys(r).forEach(e=>{s.append(e,r[e])})
|
|
226
|
-
const n=`${a.getGhostPaths().apiRoot}${o[e].endpoint}`
|
|
227
|
-
try{const r=await h(n,{method:o[e].requestMethod,body:s,onUploadProgress(e){f.current.set(t,e),g()}})
|
|
228
|
-
let a
|
|
229
|
-
if(f.current.set(t,100),g(),r){const t=r[o[e].resourceName]
|
|
230
|
-
t&&Array.isArray(t)&&t[0]&&(a=t[0].url)}return{url:a,fileName:t.name}}catch(e){console.error(e)
|
|
231
|
-
const a=i(e,["data","errors",0,"context"])||"",s=i(e,["data","errors",0,"message"])||i(e,["message"])||""
|
|
232
|
-
throw{message:a||s,context:a,fileName:t.name}}}
|
|
233
|
-
return{progress:t,isLoading:u,upload:async(e=[],t={})=>{m(e.length),l(!0),d([])
|
|
234
|
-
const a=((e=[])=>{const t=[]
|
|
235
|
-
for(let r=0;r<e.length;r+=1){const a=e[r],s=y(a)
|
|
236
|
-
!0!==s&&t.push({fileName:a.name,message:s})}return t})(e)
|
|
237
|
-
if(a.length)return d(a),l(!1),r(100),null
|
|
238
|
-
const s=[]
|
|
239
|
-
for(let r=0;r<e.length;r+=1){const a=e[r]
|
|
240
|
-
s.push(b(a,t))}try{const e=await Promise.all(s)
|
|
241
|
-
return r(100),f.current.clear(),l(!1),d([]),e}catch(e){return console.error(e),d([e]),l(!1),r(100),f.current.clear(),null}},errors:c,filesNumber:p}}},26781(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
242
|
-
const a=r(48078),s=r(37380),n=r(42262)
|
|
243
|
-
let o=r(80576)
|
|
244
|
-
t.useKoenigLinkSuggestions=({siteUrl:e,membersSignupAccess:t,donationsEnabled:r,recommendationsEnabled:i,includeShareLink:u=!1,shareLinkLabel:l="Share"})=>{const{data:c}=s.useBrowseOffers(),{data:d}=n.useBrowsePosts({searchParams:{filter:"status:published",fields:"id,url,title,visibility,published_at",order:"published_at desc",limit:"5"}}),p=a({path:"/search-index/posts/",filterKey:"title",responseKey:"posts"}),m=a({path:"/search-index/pages/",filterKey:"title",responseKey:"pages"}),f=(0,o.useMemo)(()=>[{label:"Latest posts",items:(d?.posts||[]).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at}))}],[d?.posts])
|
|
245
|
-
return{fetchAutocompleteLinks:(0,o.useCallback)(async()=>[{label:"Homepage",value:e},{label:"Free signup",value:"#/portal/signup/free"},..."all"===t?[{label:"Paid signup",value:"#/portal/signup"},{label:"Upgrade or change plan",value:"#/portal/account/plans"}]:[],...r?[{label:"Tips and donations",value:"#/portal/support"}]:[],...u?[{label:l,value:"#/share"}]:[],...i?[{label:"Recommendations",value:"#/portal/recommendations"}]:[],...(c?.offers||[]).filter(e=>"active"===e.status&&"signup"===e.redemption_type).map(t=>({label:`Offer - ${t.name}`,value:new URL(t.code,e).toString()}))],[r,u,t,c?.offers,i,l,e]),searchLinks:(0,o.useCallback)(async e=>{if(!e)return f
|
|
246
|
-
const[t,r]=await Promise.all([p.loadData(e),m.loadData(e)])
|
|
247
|
-
return[{label:"Posts",items:t.filter(e=>"published"===e.status).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at}))},{label:"Pages",items:r.filter(e=>"published"===e.status).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at}))}].filter(e=>e.items.length>0)},[f,m,p])}}},64573(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
248
|
-
const a=r(27621),s=r(82211),n=r(16757),o=r(28091),i=r(77898),u=r(93147),l=r(80916)
|
|
249
|
-
let c=r(80576)
|
|
250
|
-
var d=Promise.resolve().then(r.t.bind(r,91373,23)),p=class extends Error{constructor({message:e}){super(e)}}
|
|
251
|
-
t.useLimiter=()=>{const{data:e}=s.useBrowseConfig({refetchOnMount:!1}),t=e?.config,[r,m]=(0,c.useState)(null);(0,c.useEffect)(()=>{d.then(e=>m(()=>e.default))},[])
|
|
252
|
-
const{data:{users:f}={users:[]},isLoading:h}=o.useBrowseUsers(),{data:{invites:g}={invites:[]},isLoading:y}=n.useBrowseInvites(),{data:{roles:b}={},isLoading:w}=l.useBrowseRoles(),v=h||y||w,{refetch:j}=i.useBrowseMembers({searchParams:{limit:"1"},enabled:!1}),{refetch:T}=u.useBrowseNewsletters({searchParams:{filter:"status:active",limit:"1"},enabled:!1}),E=(0,c.useMemo)(()=>!0===t?.hostSettings?.billing?.enabled&&t.hostSettings.billing.url?t.hostSettings.billing.url:"https://ghost.org/help/",[t?.hostSettings?.billing])
|
|
253
|
-
return(0,c.useMemo)(()=>{const e={isLimited:()=>!1,isDisabled:()=>!1,checkWouldGoOverLimit:()=>Promise.resolve(!1),errorIfWouldGoOverLimit:()=>Promise.resolve(),errorIfIsOverLimit:()=>Promise.resolve()}
|
|
254
|
-
if(!r||!t?.hostSettings?.limits||v)return e
|
|
255
|
-
const s={...t.hostSettings.limits},n=new r
|
|
256
|
-
return s.staff&&(s.staff.currentCountQuery=()=>{const e=f.filter(e=>"inactive"!==e.status&&!e.roles.some(e=>"Contributor"===e.name)),t=g.filter(e=>"Contributor"!==(b?.find(({id:t})=>t===e.role_id))?.name)
|
|
257
|
-
return Promise.resolve(e.length+t.length)}),s.members&&(s.members.currentCountQuery=async()=>{const{data:e}=await j()
|
|
258
|
-
return e?.meta?.pagination?.total||0}),s.newsletters&&(s.newsletters.currentCountQuery=async()=>{const{data:{pages:e}={pages:[]}}=await T()
|
|
259
|
-
return e[0].meta?.pagination.total||0}),n.loadLimits({limits:s,helpLink:E,errors:{HostLimitError:a.HostLimitError,IncorrectUsageError:p}}),{isLimited:e=>n.isLimited(e),isDisabled:e=>n.isDisabled(e),checkWouldGoOverLimit:e=>n.checkWouldGoOverLimit(e),errorIfWouldGoOverLimit:(e,t={})=>n.errorIfWouldGoOverLimit(e,t),errorIfIsOverLimit:e=>n.errorIfIsOverLimit(e)}},[r,t,j,T,E,g,v,b,f])}},63501(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
260
|
-
const a=r(48808)
|
|
261
|
-
t.usePermission=e=>{const{data:t}=a.useCurrentUser()
|
|
262
|
-
if(!e||0===e.length)return!0
|
|
263
|
-
const r=t?.roles.map(e=>e.name)
|
|
264
|
-
return!!r&&e.some(e=>r.includes(e))}},99489(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
265
|
-
const a=r(65955),s=r(12098),n=r(82211)
|
|
266
|
-
let o=r(80576)
|
|
267
|
-
var i=e=>{if(null!=e){if("string"==typeof e)return e
|
|
268
|
-
throw new TypeError("Expected value to be null, undefined, or a string")}},u=e=>{if(e.startsWith("/")){const{adminRoot:t}=a.getGhostPaths()
|
|
269
|
-
return window.location.origin+t.replace(/\/$/,"")+e}return e}
|
|
270
|
-
t.usePinturaConfig=function(){const{data:e}=n.useBrowseConfig(),{data:t}=s.useBrowseSettings(),r=(e?.config)?.pintura,[a,l,c]=s.getSettingValues(t?.settings??null,["pintura","pintura_js_url","pintura_css_url"])
|
|
271
|
-
let d,p
|
|
272
|
-
return a&&(d=r?.js||i(l),p=r?.css||i(c)),(0,o.useMemo)(()=>d&&p?{jsUrl:u(d),cssUrl:u(p)}:null,[d,p])}},85089(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
273
|
-
const a=r(5852)
|
|
274
|
-
let s=r(28219),n=r(6841),o=r(80576),i=r(49628)
|
|
275
|
-
var u=(0,o.createContext)({ghostVersion:"",externalNavigate:()=>{},unsplashConfig:{Authorization:"","Accept-Version":"","Content-Type":"","App-Pragma":"","X-Unsplash-Cache":!0},sentryDSN:null,onUpdate:()=>{},onInvalidate:()=>{},onDelete:()=>{}})
|
|
276
|
-
t.FrameworkProvider=function({children:e,queryClient:t,...r}){return(0,i.jsx)(s.ErrorBoundary,{children:(0,i.jsx)(n.QueryClientProvider,{client:(0,o.useMemo)(()=>t||a,[t]),children:(0,i.jsx)(u.Provider,{value:r,children:e})})})},t.defaultUnsplashConfig={Authorization:"Client-ID 8672af113b0a8573edae3aa3713886265d9bb741d707f6c01a486cde8c278980","Accept-Version":"v1","Content-Type":"application/json","App-Pragma":"no-cache","X-Unsplash-Cache":!0},t.useFramework=()=>(0,o.useContext)(u)},2940(e,t){var r=Object.create,a=Object.defineProperty,s=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,u=(e,t,u)=>(u=null!=e?r(o(e)):{},((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var u,l=n(t),c=0,d=l.length;c<d;c++)u=l[c],i.call(e,u)||void 0===u||a(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(o=s(t,u))||o.enumerable})
|
|
277
|
-
return e})(!t&&e&&e.__esModule?u:a(u,"default",{value:e,enumerable:!0}),e))
|
|
278
|
-
Object.defineProperty(t,"__toESM",{enumerable:!0,get:function(){return u}})},79522(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
279
|
-
const a=r(2940),s=r(85089),n=r(27621),o=r(65955),i=r(95167)
|
|
280
|
-
let u=r(28219)
|
|
281
|
-
u=a.__toESM(u,1)
|
|
282
|
-
let l=r(80576)
|
|
283
|
-
var c=e=>{const t=new Headers,r=e.getAllResponseHeaders()?.split("\r\n")||[]
|
|
284
|
-
for(const a of r){const e=a.indexOf(":")
|
|
285
|
-
if(-1===e)continue
|
|
286
|
-
const r=a.slice(0,e),s=a.slice(e+1).trim()
|
|
287
|
-
t.append(r,s)}return t},d=/\/ghost\/api\//,p=/\/ghost\/api\/admin\/session([/?#]|$)/,m=/^#\/(?:reset|setup|signin|signup)(?:[/?]|$)/,f=!1,h=e=>{const t=e.toString()
|
|
288
|
-
return d.test(t)&&!p.test(t)},g=()=>{const{adminRoot:e}=o.getGhostPaths()
|
|
289
|
-
f||(e=>window.location.pathname===e&&(!window.location.hash||"#/"===window.location.hash||m.test(window.location.hash)))(e)||(f=!0,window.location.replace(e))},y=(e,t,{method:r,headers:a,credentials:s,body:n,signal:o})=>new Promise((i,u)=>{const l=()=>{u(new DOMException("Aborted","AbortError"))}
|
|
290
|
-
if(o.aborted)return void l()
|
|
291
|
-
const d=new XMLHttpRequest
|
|
292
|
-
switch(d.open(r,t.toString(),!0),s){case"omit":throw new Error('"omit" credentials cannot be represented with legacy XMLHttpRequest. Consider "same-origin".')
|
|
293
|
-
case"same-origin":d.withCredentials=!1
|
|
294
|
-
break
|
|
295
|
-
case"include":d.withCredentials=!0
|
|
296
|
-
break
|
|
297
|
-
default:throw new Error(s)}d.responseType="arraybuffer"
|
|
298
|
-
for(const[e,t]of Object.entries(a))d.setRequestHeader(e,t)
|
|
299
|
-
d.upload.onprogress=t=>{t.lengthComputable&&e(t.loaded/t.total*100)},d.onload=()=>{i((e=>new Response(e.response,{status:e.status,statusText:e.statusText,headers:c(e)}))(d))},d.onerror=()=>{u(new TypeError("Network request failed"))},d.onabort=l
|
|
300
|
-
const p=()=>d.abort()
|
|
301
|
-
o.addEventListener("abort",p),d.onloadend=()=>{o.removeEventListener("abort",p)},d.send(n)}),{apiRoot:b}=o.getGhostPaths()
|
|
302
|
-
t.apiUrl=(e,t={})=>{const r=new URL(`${b}${e}`,window.location.origin)
|
|
303
|
-
return r.search=new URLSearchParams(t).toString(),r.toString()},t.useFetchApi=()=>{const{ghostVersion:e,sentryDSN:t}=s.useFramework()
|
|
304
|
-
return(0,l.useCallback)(async(r,{method:a="GET",headers:s={},body:o,credentials:l="include",timeout:c,retry:d=!0,responseType:p,onUploadProgress:m}={})=>{const f=new AbortController,b={method:a,headers:{"app-pragma":"no-cache",...e?{"x-ghost-version":e}:{},..."string"==typeof o?{"content-type":"application/json"}:{},...s},credentials:l,mode:"cors",body:o,signal:f.signal}
|
|
305
|
-
let w=0,v=0
|
|
306
|
-
const j=Date.now(),T=[500,1e3],E=[n.ServerUnreachableError,n.MaintenanceError,TypeError],S=(e,t)=>{const a={errorName:e?.name,attempts:w,totalSeconds:v/1e3,endpoint:r.toString()}
|
|
307
|
-
return r.toString().includes("/ghost/api/")&&(a.server=t?.headers.get("server")),a},P=m?y.bind(null,m):fetch,M=c?setTimeout(()=>f.abort(),c):void 0
|
|
308
|
-
try{for(;0===w||d;)try{return await i(await P(r,b),{responseType:p})}catch(e){if(v=Date.now()-j,d&&E.some(t=>e instanceof t)&&v<=15e3){await new Promise(e=>{setTimeout(e,T[w]||T[T.length-1])}),w+=1
|
|
309
|
-
continue}if(0!==w&&t&&u.captureMessage("Request failed after multiple attempts",{extra:S()}),e&&"object"==typeof e&&"name"in e&&"AbortError"===e.name)throw new n.TimeoutError
|
|
310
|
-
if(e instanceof n.UnauthorizedError&&h(r))throw g(),new n.SessionExpiredError(e.response,e.data,{cause:e})
|
|
311
|
-
let s=e
|
|
312
|
-
throw e instanceof n.APIError||(s=new n.ServerUnreachableError({cause:e})),s}}finally{clearTimeout(M)}},[e,t])}},95167(e,t,r){const a=r(27621)
|
|
313
|
-
e.exports=async(e,{responseType:t}={})=>{if(0===e.status)throw new a.ServerUnreachableError
|
|
314
|
-
if(503===e.status)throw new a.MaintenanceError(e,await e.text())
|
|
315
|
-
if(415===e.status)throw new a.UnsupportedMediaTypeError(e,await e.text())
|
|
316
|
-
if(413===e.status)throw new a.RequestEntityTooLargeError(e,await e.text())
|
|
317
|
-
if(401===e.status){if(e.headers.get("content-type")?.includes("json"))throw new a.UnauthorizedError(e,await e.json())
|
|
318
|
-
throw new a.UnauthorizedError(e,await e.text())}if(e.ok)return 204===e.status?void 0:"blob"===t?await e.blob():"arraybuffer"===t?await e.arrayBuffer():(r=e.headers.get("content-type"))&&(r.startsWith("text/")||r.includes("application/yaml"))?await e.text():await e.json()
|
|
319
|
-
{if(!e.headers.get("content-type")?.includes("json"))throw new a.APIError(e,await e.text())
|
|
320
|
-
const t=await e.json()
|
|
321
|
-
throw 403===e.status&&"Authorization failed"===t.errors?.[0]?.message?new a.UnauthorizedError(e,t):"VersionMismatchError"===t.errors?.[0]?.type?new a.VersionMismatchError(e,t):"ValidationError"===t.errors?.[0]?.type||"NoPermissionError"===t.errors?.[0]?.type?new a.ValidationError(e,t):"ThemeValidationError"===t.errors?.[0]?.type?new a.ThemeValidationError(e,t):"HostLimitError"===t.errors?.[0]?.type?new a.HostLimitError(e,t):"EmailError"===t.errors?.[0]?.type?new a.EmailError(e,t):new a.JSONError(e,t)}var r}},90665(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
322
|
-
const a=r(85089),s=r(51184),n=r(79522),o=r(63501)
|
|
323
|
-
let i=r(6841),u=r(80576)
|
|
324
|
-
var l=e=>({searchParams:t,...r}={})=>{const a=n.apiUrl(e.path,t||e.defaultSearchParams),l=n.useFetchApi(),c=s(),d=o.usePermission(e.permissions),p=(0,i.useQuery)({...r,enabled:d&&(r.enabled??!0),queryKey:[e.dataType,a],queryFn:()=>l(a,{...e})}),m=(0,u.useMemo)(()=>p.data&&e.returnData?e.returnData(p.data):p.data,[p.data])
|
|
325
|
-
return(0,u.useEffect)(()=>{p.error&&!1!==r.defaultErrorHandler&&c(p.error)},[c,p.error,r.defaultErrorHandler]),{...p,data:m}}
|
|
326
|
-
t.createInfiniteQuery=e=>({searchParams:t,getNextPageParams:r,...a}={})=>{const l=n.useFetchApi(),c=s(),d=o.usePermission(e.permissions),p=r||e.defaultNextPageParams||(()=>({})),m=(0,i.useInfiniteQuery)({...a,enabled:d&&(a.enabled??!0),queryKey:[e.dataType,n.apiUrl(e.path,t||e.defaultSearchParams)],queryFn:({pageParam:r})=>l(n.apiUrl(e.path,r||t||e.defaultSearchParams),{...e}),initialPageParam:void 0,getNextPageParam:r=>p(r,t||e.defaultSearchParams||{})}),f=(0,u.useMemo)(()=>m.data&&e.returnData(m.data),[m.data])
|
|
327
|
-
return(0,u.useEffect)(()=>{m.error&&!1!==a.defaultErrorHandler&&c(m.error)},[c,m.error,a.defaultErrorHandler]),{...m,data:f}},t.createMutation=({path:e,searchParams:t,defaultSearchParams:r,updateQueries:s,invalidateQueries:o,...l})=>()=>{const c=n.useFetchApi(),d=(0,i.useQueryClient)(),{onUpdate:p,onInvalidate:m,onDelete:f}=a.useFramework()
|
|
328
|
-
return(0,i.useMutation)({mutationFn:a=>(({fetchApi:e,path:t,payload:r,searchParams:a,options:s})=>{const{defaultSearchParams:o,body:i,...u}=s,l=n.apiUrl(t,a||o),c=r&&i?.(r)
|
|
329
|
-
let d
|
|
330
|
-
return c instanceof FormData?d=c:c&&(d=JSON.stringify(c)),e(l,{body:d,...u})})({fetchApi:c,path:e(a),payload:a,searchParams:t?.(a)||r,options:l}),onSuccess:(0,u.useCallback)((e,t)=>{if(o&&"dataType"in o){const e=Array.isArray(o.dataType)?o.dataType:[o.dataType]
|
|
331
|
-
for(const t of e)d.invalidateQueries({queryKey:[t]}),m(t)}else o&&d.invalidateQueries(o.filters,o.options)
|
|
332
|
-
if(s)if(d.setQueriesData({queryKey:[s.dataType]},r=>s.update(e,r,t)),"createOrUpdate"===s.emberUpdateType)p(s.dataType,e)
|
|
333
|
-
else if("delete"===s.emberUpdateType){if("string"!=typeof t)throw new Error("Expected delete mutation to have a string (ID) payload. Either change the payload or update the createMutation hook")
|
|
334
|
-
f(s.dataType,t)}},[m,p,f,d])})},t.createQuery=l,t.createQueryWithId=e=>(t,{searchParams:r,...a}={})=>l({...e,path:e.path(t)})({searchParams:r||e.defaultSearchParams,...a})},72215(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.deleteFromQueryCache=(e,t)=>(r,a,s)=>{if(!a)return a
|
|
335
|
-
const n=t?.(s)||[s]
|
|
336
|
-
if("object"==typeof a&&"pages"in a){const{pages:t}=a
|
|
337
|
-
return{...a,pages:t.map(t=>({...t,[e]:t[e].filter(e=>!n.includes(e.id))}))}}return{...a,[e]:a[e].filter(e=>!n.includes(e.id))}},t.insertToQueryCache=(e,t)=>(r,a)=>{if(!a)return a
|
|
338
|
-
const s=t||(t=>t[e])
|
|
339
|
-
if("object"==typeof a&&"pages"in a){const{pages:t}=a,n=t[t.length-1]
|
|
340
|
-
return{...a,pages:t.slice(0,-1).concat({...n,[e]:n[e].concat(s(r))})}}return{...a,[e]:a[e].concat(s(r))}},t.updateQueryCache=(e,t)=>(r,a)=>{if(!a)return a
|
|
341
|
-
const s=(t||(t=>t[e].reduce((e,t)=>({...e,[t.id]:t}),{})))(r)
|
|
342
|
-
if("object"==typeof a&&"pages"in a){const{pages:t}=a
|
|
343
|
-
return{...a,pages:t.map(t=>({...t,[e]:t[e].map(e=>s[e.id]||e)}))}}return{...a,[e]:a[e].map(e=>s[e.id]||e)}}},27621(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
|
|
344
|
-
var r=class extends Error{response
|
|
345
|
-
data
|
|
346
|
-
constructor(e,t,r,a){!r&&e&&e.url.includes("/ghost/api/admin/")&&(r=`Something went wrong while loading ${e.url.replace(/.+\/ghost\/api\/admin\//,"").replace(/\W.*/,"").replace("_"," ")}, please try again.`),super(r||"Something went wrong, please try again.",a),this.response=e,this.data=t}},a=class extends r{data
|
|
347
|
-
constructor(e,t,r,a){super(e,t,r,a),this.data=t}},s=class extends r{constructor(e,t,r){super(e,t,"You are not authorised to make this request.",r)}},n=class extends a{constructor(e,t,r){super(e,t,"Theme is not compatible or contains errors.",r)}},o=class extends a{errorDetails
|
|
348
|
-
constructor(e,t,r){e instanceof Response?super(e,t,"A hosting plan limit was reached or exceeded.",r):(super(void 0,void 0,e.message||"A hosting plan limit was reached or exceeded."),this.errorDetails=e.errorDetails)}},i=class extends a{constructor(e,t,r){super(e,t,"Please verify your email settings",r)}},u=class extends a{constructor(e,t,r){super(e,t,t.errors[0].message,r)}},l=[u,n,o,i],c=class extends Error{constructor(e){super(e)}}
|
|
349
|
-
t.APIError=r,t.AlreadyExistsError=c,t.EmailError=i,t.HostLimitError=o,t.JSONError=a,t.MaintenanceError=class extends r{constructor(e,t,r){super(e,t,"Ghost is currently undergoing maintenance, please wait a moment then retry.",r)}},t.RequestEntityTooLargeError=class extends r{constructor(e,t,r){super(e,t,"Request is larger than the maximum file size the server allows",r)}},t.ServerUnreachableError=class extends r{constructor(e){super(void 0,void 0,"Something went wrong, please try again.",e)}},t.SessionExpiredError=class extends s{},t.ThemeValidationError=n,t.TimeoutError=class extends r{constructor(e){super(void 0,void 0,"Request timed out, please try again.",e)}},t.UnauthorizedError=s,t.UnsupportedMediaTypeError=class extends r{constructor(e,t,r){super(e,t,"Request contains an unknown or unsupported file type.",r)}},t.ValidationError=u,t.VersionMismatchError=class extends a{constructor(e,t,r){super(e,t,"API server is running a newer version of Ghost, please upgrade.",r)}},t.errorsWithMessage=l,t.getErrorMessage=function(e,t){const r=e instanceof a?e.data?.errors?.[0]:void 0
|
|
350
|
-
return r?.context||r?.message||t}},65955(e,t){function r(){const e=window.location.pathname,t=e.substr(0,e.search("/ghost/"))
|
|
351
|
-
return{subdir:t,adminRoot:`${t}/ghost/`,assetRoot:`${t}/ghost/assets/`,apiRoot:`${t}/ghost/api/admin`}}function a(e){let t=document.getElementById("iframeDownload")
|
|
352
|
-
t||(t=document.createElement("iframe"),t.id="iframeDownload",t.style.display="none",document.body.append(t)),t.setAttribute("src",e)}function s(e){if(!e)return
|
|
353
|
-
const t=e.match(/filename\*=([^;]+)/i)
|
|
354
|
-
if(t?.[1]){const e="'",r=t[1].trim(),a=r.indexOf(e),s=-1===a?-1:r.indexOf(e,a+1),n=-1===s?r:r.slice(s+1)
|
|
355
|
-
try{return decodeURIComponent(n.replace(/^["']|["']$/g,""))}catch{}}const r=e.match(/filename="([^"]*)"/i)
|
|
356
|
-
if(r?.[1])return r[1].trim()
|
|
357
|
-
const a=e.match(/filename=([^;]+)/i)
|
|
358
|
-
return a?.[1]?a[1].trim():void 0}async function n(e,t,{signal:r}={}){const a=await fetch(e,{method:"GET",signal:r})
|
|
359
|
-
if(!a.ok)throw new Error(`Download failed: ${a.status} ${a.statusText}`)
|
|
360
|
-
const n=s(a.headers.get("content-disposition"))??t??"download",o=await a.blob(),i=window.URL.createObjectURL(o),u=document.createElement("a")
|
|
361
|
-
u.href=i,u.download=n,document.body.appendChild(u),u.click(),u.remove(),window.URL.revokeObjectURL(i)}Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.blobDownload=n,t.blobDownloadFromEndpoint=async function(e,t,a={}){return n(`${r().apiRoot}${e}`,t,a)},t.downloadFile=a,t.downloadFromEndpoint=function(e){a(`${r().apiRoot}${e}`)},t.getFilenameFromContentDisposition=s,t.getGhostPaths=r},5852(e,t,r){let a=r(6841)
|
|
362
|
-
var s=window.adminXQueryClient||new a.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:3e5,gcTime:6e5,retry:!1,networkMode:"always"}}})
|
|
363
|
-
window.__TANSTACK_QUERY_CLIENT__=s,window.adminXQueryClient||(window.adminXQueryClient=s),e.exports=s},26031(e,t,r){"use strict"
|
|
364
|
-
function a(e){return`'${e.replace(/(['"])/g,"\\$1")}'`}r.r(t),r.d(t,{escapeNqlString:()=>a})}}])
|
|
365
|
-
|
|
366
|
-
//# sourceMappingURL=chunk.598.7e056fabb47ce7dbd73f.map
|