ghost 6.63.0 → 6.64.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/bin/lib/duplicate-deps.js +204 -0
- package/bin/validate-adapters.js +50 -6
- 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-api-framework-0.0.0.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/{tryghost-kg-default-cards-10.3.5.tgz → tryghost-kg-default-cards-10.3.6.tgz} +0 -0
- package/components/tryghost-kg-default-nodes-2.2.1.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.1.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/assets/built/screen.css +1 -1
- package/content/themes/source/assets/css/screen.css +1 -1
- package/content/themes/source/package.json +7 -7
- package/core/boot.js +10 -4
- package/core/built/admin/assets/Combination-DWfJPcz9.js +41 -0
- package/core/built/admin/assets/{PolarAngleAxis-pkMyqz8g.js → PolarAngleAxis-a81ieQUO.js} +2 -2
- package/core/built/admin/assets/RadialBarChart-CHRBhiBN.js +1 -0
- package/core/built/admin/assets/_baseAssignValue-DcPokYW8.js +1 -0
- package/core/built/admin/assets/about-39CAfroa.js +1 -0
- package/core/built/admin/assets/accordion-CJmRaqK7.js +1 -0
- package/core/built/admin/assets/account-migration-DYf7skbb.js +1 -0
- package/core/built/admin/assets/action-list-Crnh-_UI.js +1 -0
- package/core/built/admin/assets/add-integration-modal-B12oRifD.js +1 -0
- package/core/built/admin/assets/add-newsletter-modal-CTvXiIqY.js +1 -0
- package/core/built/admin/assets/add-recommendation-modal-CJf92edY.js +1 -0
- package/core/built/admin/assets/analytics-PHR1Fggi.js +1 -0
- package/core/built/admin/assets/announcement-bar-modal-Bql0CXdp.js +1 -0
- package/core/built/admin/assets/api-keys-CubH-7_H.js +1 -0
- package/core/built/admin/assets/{api-keys-BGPzLHzA.js → api-keys-omLA6iYn.js} +1 -1
- package/core/built/admin/assets/{audience-ceV3XVHq.js → audience-6GXevic-.js} +1 -1
- package/core/built/admin/assets/automated-emails-DJQ4uNZo.js +1 -0
- package/core/built/admin/assets/automations-DcZSLFDU.js +1 -0
- package/core/built/admin/assets/automations-hDVcRPjh.js +1 -0
- package/core/built/admin/assets/avatar-flipboard-DiAGgshK.js +1 -0
- package/core/built/admin/assets/badge-qP06OT7C.js +1 -0
- package/core/built/admin/assets/bluesky-sharing-CJw4d4Mf.js +1 -0
- package/core/built/admin/assets/box-CZ_LSVSy.js +1 -0
- package/core/built/admin/assets/brand-icon-D3ffDYaC.js +1 -0
- package/core/built/admin/assets/breadcrumb-Chn1Ip_q.js +1 -0
- package/core/built/admin/assets/button-DvIh2Bq-.js +1 -0
- package/core/built/admin/assets/calendar-1QGoStFM.js +1 -0
- package/core/built/admin/assets/card-FHQ4D10L.js +1 -0
- package/core/built/admin/assets/chart-helpers-CNpA7re_.js +1 -0
- package/core/built/admin/assets/{chart-BrhA41Zi.js → chart-jVz9Nf9t.js} +9 -9
- package/core/built/admin/assets/checkbox-DKht9xMl.js +1 -0
- package/core/built/admin/assets/{chunk-KS7C4IRE-DCsL4i4D.js → chunk-KS7C4IRE-DhOcHQOU.js} +1 -1
- package/core/built/admin/assets/{chunk.254.035b85ec456ebbd7336b.js → chunk.368.22ce1b732c0b40abd3f1.js} +159 -120
- package/core/built/admin/assets/chunk.524.cc9be98e44890cedc8c8.js +25 -0
- package/core/built/admin/assets/{chunk.582.98b485f9b2802f540897.js → chunk.582.e6fe742b3217207b11a6.js} +23 -30
- package/core/built/admin/assets/{chunk.901.4ccc639821020230bcca.js → chunk.972.4b8c97f93d66db15e751.js} +10625 -10088
- package/core/built/admin/assets/clean-tracked-url-dkN05vOf.js +1 -0
- package/core/built/admin/assets/code-editor-view-BLQIV85-.js +1 -0
- package/core/built/admin/assets/code-editor-view-Cg5eJxcr.js +1 -0
- package/core/built/admin/assets/color-picker-DQoghc0t.js +3 -0
- package/core/built/admin/assets/color-picker-field-BbeK5RRs.js +1 -0
- package/core/built/admin/assets/combobox-weO4FBbv.js +1 -0
- package/core/built/admin/assets/command-DlLrCm9V.js +1 -0
- package/core/built/admin/assets/comments-BjTitLmP.js +1 -0
- package/core/built/admin/assets/components-CwL6a6As-CCRaoCeP.js +1 -0
- package/core/built/admin/assets/{config-kSHvwdTG.js → config-BPljH6wF.js} +1 -1
- package/core/built/admin/assets/confirmation-context-IyqoXVk-.js +1 -0
- package/core/built/admin/assets/container-DAimjOF_.js +1 -0
- package/core/built/admin/assets/content-api-modal-0ZjuLcQ8.js +1 -0
- package/core/built/admin/assets/context-menu-BtioYFrg.js +1 -0
- package/core/built/admin/assets/copy-field-C6ujqJlP.js +1 -0
- package/core/built/admin/assets/create-ghost-browse-value-source-DAZMWZNq.js +1 -0
- package/core/built/admin/assets/custom-integration-modal-Dm8QI_J4.js +1 -0
- package/core/built/admin/assets/data-list-C0CKkeWW.js +1 -0
- package/core/built/admin/assets/date-range-select-DrjHQdgz.js +1 -0
- package/core/built/admin/assets/design-and-theme-modal-CXVOzBWu.js +2 -0
- package/core/built/admin/assets/detail-page-QpLIL-EO.js +1 -0
- package/core/built/admin/assets/dirty-confirm-dialog-DWwxREGh.js +1 -0
- package/core/built/admin/assets/disabled-sources-indicator-CLZhMv8J.js +1 -0
- package/core/built/admin/assets/dist-BRQkNYN1.js +11 -0
- package/core/built/admin/assets/{dist-B3keLvjj.js → dist-BXHrDV19.js} +2 -2
- package/core/built/admin/assets/dist-Bf-HQtVL.js +1 -0
- package/core/built/admin/assets/dist-Bm-PB47a.js +6 -0
- package/core/built/admin/assets/{dist-B6bJuxL3.js → dist-C2lYC76d.js} +1 -1
- package/core/built/admin/assets/dist-CUwte9v_.js +1 -0
- package/core/built/admin/assets/dist-Cm2qbZKL.js +1 -0
- package/core/built/admin/assets/{dist-BtaTA7Ii.js → dist-D7yMk931.js} +1 -1
- package/core/built/admin/assets/{dist-zwwGt8Yf.js → dist-DNAdeRyr.js} +1 -1
- package/core/built/admin/assets/dist-DS6zpxid.js +1 -0
- package/core/built/admin/assets/dist-DVVKsyPh.js +23 -0
- package/core/built/admin/assets/dist-DxfQlAmn.js +1 -0
- package/core/built/admin/assets/dist-DziNzWI2.js +1 -0
- package/core/built/admin/assets/dist-FEQQAwTe.js +1 -0
- package/core/built/admin/assets/dist-nmRzULcD.js +1 -0
- package/core/built/admin/assets/domain-DBrBic6q.js +1 -0
- package/core/built/admin/assets/dropzone-D61QVcEY.js +5 -0
- package/core/built/admin/assets/edit-profile-jCqJBxqw.js +1 -0
- package/core/built/admin/assets/editor-8Fm4UBEd.js +8 -0
- package/core/built/admin/assets/editor-screen-BSX_uC2B.js +27 -0
- package/core/built/admin/assets/email-previews-Bs-JDhIw.js +1 -0
- package/core/built/admin/assets/email-sending-status-context-C76KYL1V.js +1 -0
- package/core/built/admin/assets/email-sending-status-provider-DnNhlIvt.js +1 -0
- package/core/built/admin/assets/{emails-vFMk4yYl.js → emails-CgvIIz3q.js} +1 -1
- package/core/built/admin/assets/{embed-signup-form-modal-DGqsORxS.js → embed-signup-form-modal-DqtBs1WE.js} +1 -1
- package/core/built/admin/assets/empty-indicator-L4Ql5Db7.js +1 -0
- package/core/built/admin/assets/en-Cx75dJv5.js +1 -0
- package/core/built/admin/assets/esm--rhhUGIG.js +2 -0
- package/core/built/admin/assets/explore-DXhDCtKw.js +1 -0
- package/core/built/admin/assets/feature-flag-overrides-context-CrcQKm9Z.js +1 -0
- package/core/built/admin/assets/feature-image-placeholder-e2q6TcH6.js +1 -0
- package/core/built/admin/assets/feed-mmt4noNL.js +1 -0
- package/core/built/admin/assets/feedback-BTPBQLT5.js +1 -0
- package/core/built/admin/assets/field-p7KnP98B.js +1 -0
- package/core/built/admin/assets/filter-bar-CiIKBg3D.js +1 -0
- package/core/built/admin/assets/filter-sources-I-dRaQxl.js +1 -0
- package/core/built/admin/assets/filters-1injvyxJ.js +1 -0
- package/core/built/admin/assets/filters-DnpO6GWX.js +1 -0
- package/core/built/admin/assets/first-promoter-modal-wr73Dldc.js +1 -0
- package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-CkFA8EkI.js +1 -0
- package/core/built/admin/assets/framework-provider-DB-svAju.js +4 -0
- package/core/built/admin/assets/{ghost-b4e8a403baba61905cd7560e30b9732d.js → ghost-a1e6e172c6917e8ef8fa6b0007756d9b.js} +39 -30
- package/core/built/admin/assets/gift-link-modal-C3H7YFXO.js +1 -0
- package/core/built/admin/assets/{gift-links-CfLSnst2.js → gift-links-D8gl_yJS.js} +1 -1
- package/core/built/admin/assets/global-data-context-3MItMry2.js +1 -0
- package/core/built/admin/assets/grid-5vplBYri.js +1 -0
- package/core/built/admin/assets/growth-B1og1kQp.js +1 -0
- package/core/built/admin/assets/growth-Bf6OHZlK.js +3 -0
- package/core/built/admin/assets/heading-BB21QAbb.js +1 -0
- package/core/built/admin/assets/history-modal-t_qEnxPx.js +1 -0
- package/core/built/admin/assets/hooks-DYfTEQLk.js +2 -0
- package/core/built/admin/assets/html-field-COLQbV4r.js +1 -0
- package/core/built/admin/assets/iframe-buffering-Bq1el-gw.js +1 -0
- package/core/built/admin/assets/images-4mvoc3lB.js +1 -0
- package/core/built/admin/assets/{inbox-gJHG7_xd.js → inbox-DgSZ6w2p.js} +34 -34
- package/core/built/admin/assets/index-B3HZU2i8.css +2 -0
- package/core/built/admin/assets/index-DDd-zhNL.js +4 -0
- package/core/built/admin/assets/index.es-Ct5XQNSj.js +1 -0
- package/core/built/admin/assets/inline-B8H6NzIw.js +1 -0
- package/core/built/admin/assets/input-group-CLIN2ykI.js +1 -0
- package/core/built/admin/assets/{input-surface-BsrIZeSF.js → input-surface-wSO5CRy5.js} +1 -1
- package/core/built/admin/assets/integration-header-CKGrXNVP.js +1 -0
- package/core/built/admin/assets/{integrations-B4kuRBFY.js → integrations-DnJrZnHv.js} +1 -1
- package/core/built/admin/assets/invite-user-modal-BaN2mdhI.js +1 -0
- package/core/built/admin/assets/jsx-runtime-BlNNh7jY.js +1 -0
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +3 -3
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +1 -1
- package/core/built/admin/assets/{koenig-lexical-CGXb0F8o.js → koenig-lexical-CXVgQFUk.js} +1 -1
- package/core/built/admin/assets/koenig-loader-B1XPPY5C.js +2 -0
- package/core/built/admin/assets/kpi-card-CRLPVlFW.js +1 -0
- package/core/built/admin/assets/kpi-card-CRPbW8NZ.js +1 -0
- package/core/built/admin/assets/kpi-helpers-D7zT96bp.js +1 -0
- package/core/built/admin/assets/kpi-tabs-DE_yh9Go.js +1 -0
- package/core/built/admin/assets/label-CgeBxy4o.js +1 -0
- package/core/built/admin/assets/label-picker-DGDp4Vwr.js +1 -0
- package/core/built/admin/assets/labels-KMkFoRG6.js +1 -0
- package/core/built/admin/assets/layout-DWnOMly4.js +1 -0
- package/core/built/admin/assets/lib-_QYaUU89.js +2 -0
- package/core/built/admin/assets/link-helpers-8J7ixADV.js +1 -0
- package/core/built/admin/assets/links-FwNCVyVe.js +1 -0
- package/core/built/admin/assets/list-page-DLMP0PxC.js +1 -0
- package/core/built/admin/assets/luxon-BXCsmep3.js +1 -0
- package/core/built/admin/assets/member-activity-ClMWFyvN.js +1 -0
- package/core/built/admin/assets/member-activity-feed-BQY5Rwaj.js +1 -0
- package/core/built/admin/assets/member-custom-fields-Dd_ie1zG.js +1 -0
- package/core/built/admin/assets/member-detail-DjwkGVne.js +1 -0
- package/core/built/admin/assets/members--N9lhk1N.js +4 -0
- package/core/built/admin/assets/modal-page-Dz-9TP4E.js +1 -0
- package/core/built/admin/assets/moderation-DfYBKq9s.js +1 -0
- package/core/built/admin/assets/multi-select-combobox-BcBEzUW_.js +1 -0
- package/core/built/admin/assets/navigation-modal-Cd-scywg.js +1 -0
- package/core/built/admin/assets/newsletter-detail-modal-CFRY6vg_.js +1 -0
- package/core/built/admin/assets/newsletter-emails-4ntck1AC.js +1 -0
- package/core/built/admin/assets/newsletter-o6eCJtab.js +1 -0
- package/core/built/admin/assets/newsletters-Bmlv0edG.js +1 -0
- package/core/built/admin/assets/{newsletters-Rq1M3GD-.js → newsletters-Dz77m__5.js} +1 -1
- package/core/built/admin/assets/note-CWs3LF-0.js +1 -0
- package/core/built/admin/assets/notifications-BjSvTJqh.js +1 -0
- package/core/built/admin/assets/{nql-BLpCn7qX.js → nql-DnDc7UuU.js} +1 -1
- package/core/built/admin/assets/nql-lang-CeTB_Bhv.js +19 -0
- package/core/built/admin/assets/{offers--e2nGvkW.js → offers-ByWSK0rR.js} +1 -1
- package/core/built/admin/assets/offers-container-modal-Bc9A196w.js +1 -0
- package/core/built/admin/assets/onboarding-B4hfBi9a.js +1 -0
- package/core/built/admin/assets/onboarding-DV_XbHts.js +1 -0
- package/core/built/admin/assets/onboarding-route-Di1LJYEE.js +1 -0
- package/core/built/admin/assets/overview-DE7NHZQN.js +1 -0
- package/core/built/admin/assets/overview-DEF-ZY6x.js +1 -0
- package/core/built/admin/assets/page-header-B-G_g42C.js +1 -0
- package/core/built/admin/assets/pagemenu-CnkTDO71.js +1 -0
- package/core/built/admin/assets/{pages-CjDY2CBI.js → pages-DZ_YGB1D.js} +1 -1
- package/core/built/admin/assets/pages-route-VT7r7YhG.js +1 -0
- package/core/built/admin/assets/papaparse.min-BlhnCUXn.js +10 -0
- package/core/built/admin/assets/pintura-modal-BljM7hf8.js +1 -0
- package/core/built/admin/assets/portal-frame-D9V8iq5x.js +1 -0
- package/core/built/admin/assets/portal-modal-B5OOR9ZD.js +1 -0
- package/core/built/admin/assets/post-analytics-context-bt2YTBAC.js +1 -0
- package/core/built/admin/assets/post-analytics-header-J0WciLx6.js +1 -0
- package/core/built/admin/assets/post-analytics-provider-CgreZDjS.js +1 -0
- package/core/built/admin/assets/post-analytics-rGb-PgD-.js +1 -0
- package/core/built/admin/assets/post-share-modal-D0BbTo4W.js +1 -0
- package/core/built/admin/assets/posts-list-screen-CO5jAWoU.js +2 -0
- package/core/built/admin/assets/posts-route-DV-CXWK9.js +1 -0
- package/core/built/admin/assets/{posts-pCPrhQeR.js → posts-tcoO3iRG.js} +1 -1
- package/core/built/admin/assets/preferences-Tac29oG6.js +5 -0
- package/core/built/admin/assets/preview-chrome-C2lQgZBZ.js +1 -0
- package/core/built/admin/assets/preview-modal-CjRbBr8U.js +1 -0
- package/core/built/admin/assets/profile-yiM1f_Og.js +1 -0
- package/core/built/admin/assets/prop-types-6lTeqvom.js +1 -0
- package/core/built/admin/assets/radio-group-CKROWsw4.js +1 -0
- package/core/built/admin/assets/react-BXwhMTuc.js +1 -0
- package/core/built/admin/assets/{jsx-runtime-DX3WBWVO.js → react-dom-CMOtJ5MH.js} +2 -2
- package/core/built/admin/assets/{referrers-D8oHPmDB.js → referrers-1R8bPpoV.js} +1 -1
- package/core/built/admin/assets/router-provider-CU87qxXw.js +1 -0
- package/core/built/admin/assets/select-CKaC4ggu.js +1 -0
- package/core/built/admin/assets/settings-81kxUa28.js +1 -0
- package/core/built/admin/assets/settings-BVXFqBVK.js +4 -0
- package/core/built/admin/assets/settings-breadcrumbs-czGRx-iu.js +1 -0
- package/core/built/admin/assets/{shade-app-CcS3f8MZ-vwURazk8.js → shade-app-CcS3f8MZ-D5BnfHck.js} +1 -1
- package/core/built/admin/assets/share-modal-BL-16PiB.js +1 -0
- package/core/built/admin/assets/skeleton-DwCva0-b.js +1 -0
- package/core/built/admin/assets/slack-modal-D7W_fNON.js +1 -0
- package/core/built/admin/assets/sort-button-Dquc83jY.js +1 -0
- package/core/built/admin/assets/source-icon-CQboPZQ3.js +1 -0
- package/core/built/admin/assets/stack-BURz77VS.js +1 -0
- package/core/built/admin/assets/{stats-D9PDLS3x.js → stats-Cvp8Ep5m.js} +1 -1
- package/core/built/admin/assets/stats-view-NDja_g96.js +1 -0
- package/core/built/admin/assets/step-1-BKhjy0PV.js +1 -0
- package/core/built/admin/assets/step-2-PxA1OM7R.js +1 -0
- package/core/built/admin/assets/step-3-BJbAiq16.js +2 -0
- package/core/built/admin/assets/stripe-button-C3cfCAou.js +1 -0
- package/core/built/admin/assets/stripe-connect-modal-FyE3Ey2c.js +1 -0
- package/core/built/admin/assets/switch-zfUUy9Jh.js +1 -0
- package/core/built/admin/assets/table-dE4GTIRT.js +1 -0
- package/core/built/admin/assets/tabs-B3XK93sR.js +1 -0
- package/core/built/admin/assets/tag-detail-D4P-tZdM.js +2 -0
- package/core/built/admin/assets/tag-picker-BNSZ6Qxw.js +1 -0
- package/core/built/admin/assets/tags-BsZcaJ6h.js +1 -0
- package/core/built/admin/assets/{tags-ChfdwJyS.js → tags-NwZ7BPK6.js} +1 -1
- package/core/built/admin/assets/testimonials-modal-Dkt6ODLW.js +1 -0
- package/core/built/admin/assets/text-DC-ot6u2.js +1 -0
- package/core/built/admin/assets/textarea-B4FffFmE.js +1 -0
- package/core/built/admin/assets/themes-DtcEFQWm.js +1 -0
- package/core/built/admin/assets/tier-detail-modal-a77Z2VMH.js +1 -0
- package/core/built/admin/assets/{tiers-BCpIOGQr.js → tiers-6mPzCXlM.js} +1 -1
- package/core/built/admin/assets/toggle-group-D2p4okmJ.js +1 -0
- package/core/built/admin/assets/topic-filter-DVOe3D-b.js +1 -0
- package/core/built/admin/assets/transistor-modal-C8RMkhOD.js +1 -0
- package/core/built/admin/assets/trend-badge-B9v7kMF8.js +1 -0
- package/core/built/admin/assets/unsplash-modal-DXt7Brum.js +1 -0
- package/core/built/admin/assets/use-analytics-data-ChHqiZXv.js +1 -0
- package/core/built/admin/assets/use-availability-hPdeG76y.js +1 -0
- package/core/built/admin/assets/{use-check-theme-limit-error-DRUjK4YM.js → use-check-theme-limit-error-JD-J5aaZ.js} +2 -2
- package/core/built/admin/assets/use-email-sending-status-DNMtL5B9.js +1 -0
- package/core/built/admin/assets/use-filter-params-BSFigDIn.js +1 -0
- package/core/built/admin/assets/use-filterable-api-CEMSAYPg.js +1 -0
- package/core/built/admin/assets/use-form-DJKZJhQh.js +1 -0
- package/core/built/admin/assets/use-growth-stats-CqqdnESN.js +1 -0
- package/core/built/admin/assets/use-host-limits-mpTkZIq8.js +1 -0
- package/core/built/admin/assets/use-limiter-DBGjYqu7.js +19 -0
- package/core/built/admin/assets/use-navigate-with-base-path-88EQpw2k.js +1 -0
- package/core/built/admin/assets/use-pintura-config-BmU45Ruy.js +1 -0
- package/core/built/admin/assets/use-pintura-editor-Bz2bZ4iT.js +1 -0
- package/core/built/admin/assets/use-post-referrers-DyPjyBSN.js +1 -0
- package/core/built/admin/assets/use-query-params-DlOHCo-R.js +1 -0
- package/core/built/admin/assets/use-reply-chain-data-DmD2yX5D.js +1 -0
- package/core/built/admin/assets/use-router-history-entry-CKx9LhqD.js +1 -0
- package/core/built/admin/assets/use-sending-eta-CQeG6OP_.js +1 -0
- package/core/built/admin/assets/use-setting-group-Dza6bQ7W.js +1 -0
- package/core/built/admin/assets/use-settings-navigation-BIjI5mL3.js +1 -0
- package/core/built/admin/assets/use-simple-pagination-DwVxe-Lo.js +1 -0
- package/core/built/admin/assets/use-staff-users-i_Mq9OGR.js +1 -0
- package/core/built/admin/assets/{use-tinybird-query-CmdbCS9X.js → use-tinybird-query-DXoF74NM.js} +1 -1
- package/core/built/admin/assets/use-tinybird-token-Lk1RSn0t.js +1 -0
- package/core/built/admin/assets/use-unsaved-changes-guard-CKVPWz_F.js +1 -0
- package/core/built/admin/assets/use-upgrade-route-CVjDlNSs.js +1 -0
- package/core/built/admin/assets/{use-url-input-fvp-TpPx.js → use-url-input-DpmbDppC.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-BU4QCHE7.js +1 -0
- package/core/built/admin/assets/{users-DVNWrqg9.js → users-C60_hpn6.js} +1 -1
- package/core/built/admin/assets/{validator-Cr0sMKuW.js → validator-DlFQP70j.js} +1 -1
- package/core/built/admin/assets/virtual-list-DScLNuU8.js +1 -0
- package/core/built/admin/assets/web-BZS-t4H0.js +1 -0
- package/core/built/admin/assets/web-DxAUxnK3.js +2 -0
- package/core/built/admin/assets/zapier-modal-BafLUO4R.js +1 -0
- package/core/built/admin/index.html +35 -32
- package/core/cli/command.js +17 -2
- package/core/frontend/meta/asset-url.js +1 -16
- package/core/frontend/services/asset-hash/index.js +32 -2
- package/core/frontend/services/routing/controllers/unsubscribe.js +2 -1
- package/core/frontend/services/rss/generate-feed.js +1 -1
- package/core/frontend/services/theme-engine/active.js +2 -4
- package/core/frontend/services/theme-engine/i18n/i18n.js +11 -1
- package/core/frontend/services/theme-engine/i18next/theme-i18n.js +1 -1
- package/core/frontend/web/middleware/llms-discovery.js +34 -43
- package/core/server/adapters/route-settings/S3RouteSettingsStore.js +1 -1
- package/core/server/adapters/storage/LocalFilesStorage.js +12 -2
- package/core/server/adapters/storage/LocalStorageBase.js +13 -0
- package/core/server/api/endpoints/actions.js +2 -1
- package/core/server/api/endpoints/automated-emails.js +3 -2
- package/core/server/api/endpoints/automations.js +77 -49
- package/core/server/api/endpoints/emails.js +8 -3
- package/core/server/api/endpoints/index.js +1 -1
- package/core/server/api/endpoints/invites.js +2 -1
- package/core/server/api/endpoints/labels.js +6 -2
- package/core/server/api/endpoints/member-metafields.js +2 -2
- package/core/server/api/endpoints/members.js +22 -6
- package/core/server/api/endpoints/pages.js +2 -6
- package/core/server/api/endpoints/posts.js +3 -11
- package/core/server/api/endpoints/snippets.js +2 -1
- package/core/server/api/endpoints/tags.js +6 -2
- package/core/server/api/endpoints/users.js +2 -6
- package/core/server/api/endpoints/utils/api-filter-utils.js +62 -3
- package/core/server/api/endpoints/utils/serializers/output/utils/clean.js +2 -0
- package/core/server/api/endpoints/utils/serializers/output/utils/extra-attrs.js +3 -0
- package/core/server/api/endpoints/utils/validators/input/settings.js +15 -1
- package/core/server/data/exporter/exporter.js +2 -1
- package/core/server/data/exporter/table-lists.js +3 -5
- package/core/server/data/importer/importers/data/settings-importer.js +8 -2
- package/core/server/data/migrations/versions/6.64/2026-09-03-15-40-25-add-member-access-to-members-metafields.js +12 -0
- package/core/server/data/migrations/versions/6.64/2026-09-08-11-01-12-add-posts-auto-excerpt-and-reading-time-columns.js +17 -0
- package/core/server/data/migrations/versions/6.64/2026-09-09-13-56-18-add-automation-run-updated-at-indexes.js +6 -0
- package/core/server/data/migrations/versions/6.64/2026-09-09-13-56-18-add-tinybird-syncs-table.js +10 -0
- package/core/server/data/schema/schema.js +28 -2
- package/core/server/data/seeders/importers/automations-importer.js +0 -1
- package/core/server/data/seeders/importers/comments-importer.js +1 -1
- package/core/server/data/seeders/importers/email-recipients-importer.js +1 -1
- package/core/server/data/seeders/importers/emails-importer.js +1 -1
- package/core/server/data/seeders/importers/members-importer.js +1 -1
- package/core/server/data/seeders/importers/members-login-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +1 -1
- package/core/server/data/seeders/utils/blog-info.js +4 -3
- package/core/server/data/seeders/utils/event-generator.js +72 -46
- package/core/server/data/tinybird/datasources/_mv_automation_run_steps.datasource +10 -0
- package/core/server/data/tinybird/datasources/_mv_automation_runs.datasource +10 -0
- package/core/server/data/tinybird/datasources/_mv_pending_automation_runs.datasource +10 -0
- package/core/server/data/tinybird/datasources/automation_run_events.datasource +12 -0
- package/core/server/data/tinybird/datasources/automation_run_step_events.datasource +12 -0
- package/core/server/data/tinybird/endpoints/api_automation_browse_stats.pipe +43 -0
- package/core/server/data/tinybird/fixtures/automation_run_events.ndjson +7 -0
- package/core/server/data/tinybird/fixtures/automation_run_step_events.ndjson +8 -0
- package/core/server/data/tinybird/pipes/mv_automation_run_steps.pipe +13 -0
- package/core/server/data/tinybird/pipes/mv_automation_runs.pipe +15 -0
- package/core/server/data/tinybird/pipes/mv_pending_automation_runs.pipe +7 -0
- package/core/server/data/tinybird/tests/api_automation_browse_stats.yaml +18 -0
- package/core/server/ghost-server.js +3 -3
- package/core/server/lib/generate-password.js +54 -0
- package/core/server/lib/public-jwk.js +77 -0
- package/core/server/models/user.js +11 -9
- package/core/server/services/adapter-manager/base-classes.js +21 -3
- package/core/server/services/automations/automations-api.js +46 -1
- package/core/server/services/automations/tinybird-automation-stats.js +56 -0
- package/core/server/services/content-import/import/media.js +1 -1
- package/core/server/services/email-analytics/email-analytics-service-wrapper.js +15 -29
- package/core/server/services/email-analytics/email-analytics-service.js +19 -3
- package/core/server/services/email-analytics/index.js +9 -4
- package/core/server/services/email-rendering/finalize.js +7 -2
- package/core/server/services/email-service/README.md +3 -0
- package/core/server/services/email-service/email-renderer.js +7 -2
- package/core/server/services/email-service/email-service-wrapper.js +1 -1
- package/core/server/services/email-service/email-service.js +43 -34
- package/core/server/services/email-service/sending-status.js +10 -4
- package/core/server/services/gifts/gift-email-service.js +10 -3
- package/core/server/services/gifts/index.js +1 -0
- package/core/server/services/i18n.js +1 -1
- package/core/server/services/identity-tokens/identity-token-service-wrapper.js +3 -4
- package/core/server/services/limits.js +17 -1
- package/core/server/services/member-welcome-emails/service.js +1 -1
- package/core/server/services/members/import-export/index.js +5 -4
- package/core/server/services/members/members-api/controllers/router-controller.js +7 -2
- package/core/server/services/members/members-api/controllers/well-known-controller.js +2 -1
- package/core/server/services/members/members-api/repositories/event-repository.js +4 -0
- package/core/server/services/members/members-api/services/member-bread-service.js +15 -12
- package/core/server/services/members/members-api/services/token-service.js +11 -12
- package/core/server/services/members/middleware.js +9 -2
- package/core/server/services/members/request-integrity-token-provider.js +2 -1
- package/core/server/services/members-metafields/access.js +31 -20
- package/core/server/services/members-metafields/actions.js +1 -0
- package/core/server/services/members-metafields/codec.js +9 -2
- package/core/server/services/members-metafields/definitions-service.js +56 -46
- package/core/server/services/members-metafields/index.js +2 -2
- package/core/server/services/members-metafields/models.js +2 -0
- package/core/server/services/members-metafields/queries.js +39 -11
- package/core/server/services/members-metafields/schema.js +2 -0
- package/core/server/services/members-metafields/serializers.js +1 -0
- package/core/server/services/members-metafields/values-service.js +20 -11
- package/core/server/services/mentions/mention-discovery-service.js +1 -1
- package/core/server/services/mentions/mention-sending-service.js +1 -1
- package/core/server/services/mentions/mention.js +1 -1
- package/core/server/services/oembed/oembed-service.js +36 -11
- package/core/server/services/posts/post-scheduling.js +20 -0
- package/core/server/services/staff/staff-service-emails.js +5 -1
- package/core/server/services/stats/stats-service.js +12 -3
- package/core/server/services/tier-checkout-config/service.js +17 -1
- package/core/server/services/tinybird/tinybird-service.js +1 -0
- package/core/server/services/tinybird-sync/get-ingest-config.js +39 -0
- package/core/server/services/tinybird-sync/index.js +28 -0
- package/core/server/services/tinybird-sync/sync-table-to-tinybird.js +149 -0
- package/core/server/services/tinybird-sync/tinybird-sync-service.js +62 -0
- package/core/server/web/api/endpoints/admin/routes.js +33 -34
- package/core/server/web/well-known.js +12 -16
- package/core/shared/config/defaults.json +1 -2
- package/core/shared/{flush-logs.js → flush.js} +7 -3
- package/core/shared/labs.js +2 -0
- package/core/shared/timing-safe-string-equal.js +26 -0
- package/package.json +42 -42
- package/patches/@elastic__elasticsearch@8.19.2.patch +67 -0
- package/patches/juice@11.1.1.patch +46 -0
- package/pnpm-lock.yaml +457 -1391
- package/pnpm-workspace.yaml +34 -21
- package/scripts/prune.mts +70 -3
- package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
- package/core/built/admin/assets/Combination-B0l4MKVh.js +0 -41
- package/core/built/admin/assets/RadialBarChart-JAKoS4KT.js +0 -1
- package/core/built/admin/assets/_baseAssignValue-C_vooEQc.js +0 -1
- package/core/built/admin/assets/about-C1C3s5-g.js +0 -1
- package/core/built/admin/assets/accordion-CxGsDKwa.js +0 -1
- package/core/built/admin/assets/account-migration-CbUhW6gk.js +0 -1
- package/core/built/admin/assets/action-list-C4v0-du8.js +0 -1
- package/core/built/admin/assets/add-integration-modal-BT_onDJy.js +0 -1
- package/core/built/admin/assets/add-newsletter-modal-Cx1kQpiY.js +0 -1
- package/core/built/admin/assets/add-recommendation-modal-B5nvAhvr.js +0 -1
- package/core/built/admin/assets/analytics-DjoJWPI7.js +0 -1
- package/core/built/admin/assets/announcement-bar-modal-Dwd0EGFP.js +0 -1
- package/core/built/admin/assets/api-keys-BoeacM-s.js +0 -1
- package/core/built/admin/assets/automated-emails-BLesE41L.js +0 -1
- package/core/built/admin/assets/automations-BN4u3GR8.js +0 -1
- package/core/built/admin/assets/automations-C-ZTUwW3.js +0 -1
- package/core/built/admin/assets/avatar-flipboard-C6Kj3Awu.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-vzh-oPXL.js +0 -1
- package/core/built/admin/assets/box-CdfQAP_F.js +0 -1
- package/core/built/admin/assets/brand-icon-CrIGOA3Z.js +0 -1
- package/core/built/admin/assets/breadcrumb-CaLk2b7D.js +0 -1
- package/core/built/admin/assets/build-CsiH26uS.js +0 -1
- package/core/built/admin/assets/button-Dvcv1QSR.js +0 -1
- package/core/built/admin/assets/calendar-Bl9RLcZX.js +0 -1
- package/core/built/admin/assets/card--VNbfgo3.js +0 -1
- package/core/built/admin/assets/chart-helpers-FHywU0pj.js +0 -1
- package/core/built/admin/assets/checkbox-BtayFtjg.js +0 -1
- package/core/built/admin/assets/chunk.524.e6975095fccdf22d90f8.js +0 -32
- package/core/built/admin/assets/code-editor-view-C3ZfoF1X.js +0 -1
- package/core/built/admin/assets/code-editor-view-CAyRWy1s.js +0 -1
- package/core/built/admin/assets/color-picker-G4kGR7rp.js +0 -3
- package/core/built/admin/assets/color-picker-field-DQFVTNnT.js +0 -1
- package/core/built/admin/assets/combobox-BnYzgEB4.js +0 -1
- package/core/built/admin/assets/command-C_vyTikI.js +0 -1
- package/core/built/admin/assets/comments-aBrxfnZf.js +0 -1
- package/core/built/admin/assets/components-CwL6a6As-B0E0-NBJ.js +0 -1
- package/core/built/admin/assets/confirmation-context-DwXX_Y5h.js +0 -1
- package/core/built/admin/assets/container-BuQG1wuP.js +0 -1
- package/core/built/admin/assets/content-api-modal-D2G0nJP6.js +0 -1
- package/core/built/admin/assets/context-menu-DOVB6yaz.js +0 -1
- package/core/built/admin/assets/copy-field-DCJwh9qf.js +0 -1
- package/core/built/admin/assets/create-ghost-browse-value-source-5C53jJaX.js +0 -1
- package/core/built/admin/assets/custom-field-type-option-BAuW0F-E.js +0 -1
- package/core/built/admin/assets/custom-integration-modal-AbJGVyKc.js +0 -1
- package/core/built/admin/assets/data-list-CA2jYGPq.js +0 -1
- package/core/built/admin/assets/date-range-select-BY3K-ukj.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-BvEy4_pC.js +0 -2
- package/core/built/admin/assets/detail-page-Dnv-CdR1.js +0 -1
- package/core/built/admin/assets/dirty-confirm-dialog-DVPuGz3U.js +0 -1
- package/core/built/admin/assets/disabled-sources-indicator-Cy7Zp4c8.js +0 -1
- package/core/built/admin/assets/dist-4m6pHdc0.js +0 -23
- package/core/built/admin/assets/dist-8YJUlf3B.js +0 -1
- package/core/built/admin/assets/dist-CZgIBXQN.js +0 -1
- package/core/built/admin/assets/dist-CiHx7vA5.js +0 -6
- package/core/built/admin/assets/dist-DIC8yz5C.js +0 -1
- package/core/built/admin/assets/dist-Dcsslyo72.js +0 -1
- package/core/built/admin/assets/dist-Dgt2cr6a.js +0 -1
- package/core/built/admin/assets/dist-ECAUrdGc.js +0 -1
- package/core/built/admin/assets/dist-JLOy8o0Q.js +0 -1
- package/core/built/admin/assets/dist-Ndy-PuGN.js +0 -1
- package/core/built/admin/assets/dist-Z97pCNqS.js +0 -11
- package/core/built/admin/assets/domain-Dl61QGuk.js +0 -1
- package/core/built/admin/assets/dropzone-Dtz5Rmjt.js +0 -5
- package/core/built/admin/assets/edit-profile-DNJSMDwm.js +0 -1
- package/core/built/admin/assets/editor-DbAen9zf.js +0 -8
- package/core/built/admin/assets/editor-screen-BFWThIai.js +0 -26
- package/core/built/admin/assets/email-sending-status-context-CWDOD1FN.js +0 -1
- package/core/built/admin/assets/email-sending-status-provider-DCPkDICt.js +0 -1
- package/core/built/admin/assets/empty-indicator-D9QdpuNX.js +0 -1
- package/core/built/admin/assets/en-B1jX3WMs.js +0 -1
- package/core/built/admin/assets/esm-CXo5SEPy.js +0 -2
- package/core/built/admin/assets/explore-nnRr1Fja.js +0 -1
- package/core/built/admin/assets/feature-flag-overrides-context-DQjdJFAk.js +0 -1
- package/core/built/admin/assets/feature-image-placeholder-BrIHmPs8.js +0 -1
- package/core/built/admin/assets/feed-BNUcNu-W.js +0 -1
- package/core/built/admin/assets/feedback-DJ4Zb9rZ.js +0 -1
- package/core/built/admin/assets/field-C93_Mg6j.js +0 -1
- package/core/built/admin/assets/filter-bar-Da1qxybu.js +0 -1
- package/core/built/admin/assets/filter-sources-CGJb4C5r.js +0 -1
- package/core/built/admin/assets/filters--kKP-EC8.js +0 -1
- package/core/built/admin/assets/filters-DxA_a4FP.js +0 -1
- package/core/built/admin/assets/first-promoter-modal-BYDtrz2S.js +0 -1
- package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-BbSnGOtK.js +0 -1
- package/core/built/admin/assets/framework-provider-DqI25epG.js +0 -4
- package/core/built/admin/assets/gift-link-modal-B7u5bD4e.js +0 -1
- package/core/built/admin/assets/global-data-context-gAMDH9u1.js +0 -1
- package/core/built/admin/assets/grid-Dj29PY05.js +0 -1
- package/core/built/admin/assets/growth-Cd1uO9d2.js +0 -1
- package/core/built/admin/assets/growth-aG32xfdE.js +0 -3
- package/core/built/admin/assets/heading-Dh5SFVjL.js +0 -1
- package/core/built/admin/assets/history-modal-Df8lW8h-.js +0 -1
- package/core/built/admin/assets/hooks-Cy_-oZ4o.js +0 -2
- package/core/built/admin/assets/html-field-DA4eU7eq.js +0 -1
- package/core/built/admin/assets/iframe-buffering-B2OKJzbz.js +0 -1
- package/core/built/admin/assets/images-KXmyO3Ss.js +0 -1
- package/core/built/admin/assets/index-BHHXtR5C.css +0 -2
- package/core/built/admin/assets/index-CgMCwsxN.js +0 -4
- package/core/built/admin/assets/index.es-CY6-yuw9.js +0 -1
- package/core/built/admin/assets/inline-BWSs_VzR.js +0 -1
- package/core/built/admin/assets/input-group-BE8rM2y1.js +0 -1
- package/core/built/admin/assets/integration-header-Bm6IDb1A.js +0 -1
- package/core/built/admin/assets/invite-user-modal-B4CuNcx4.js +0 -1
- package/core/built/admin/assets/koenig-loader-BeM5rFPX.js +0 -2
- package/core/built/admin/assets/kpi-card-B21aToe8.js +0 -1
- package/core/built/admin/assets/kpi-card-pz6Wv4Ae.js +0 -1
- package/core/built/admin/assets/kpi-helpers-Dq5jelmP.js +0 -1
- package/core/built/admin/assets/kpi-tabs-DEZHpKUt.js +0 -1
- package/core/built/admin/assets/label-OLCzze8N.js +0 -1
- package/core/built/admin/assets/label-picker-BigOvMPV.js +0 -1
- package/core/built/admin/assets/labels-Dr0SgUQD.js +0 -1
- package/core/built/admin/assets/layout-DUTL8SH5.js +0 -1
- package/core/built/admin/assets/lib-7QPTI0FS.js +0 -1
- package/core/built/admin/assets/limit-service-BhiEvqcP.js +0 -20
- package/core/built/admin/assets/link-helpers-BRAg9SCj.js +0 -1
- package/core/built/admin/assets/links-BDHPTlyj.js +0 -1
- package/core/built/admin/assets/list-page-BucXJ0hi.js +0 -1
- package/core/built/admin/assets/luxon-D1RVjjpq.js +0 -1
- package/core/built/admin/assets/member-custom-fields-TRTHCAz9.js +0 -1
- package/core/built/admin/assets/member-detail-b6dRwc3C.js +0 -1
- package/core/built/admin/assets/members-Czt5lJSc.js +0 -4
- package/core/built/admin/assets/modal-page-xCivTMvI.js +0 -1
- package/core/built/admin/assets/moderation-ZWefD9uH.js +0 -1
- package/core/built/admin/assets/multi-select-combobox-CT13MTo-.js +0 -1
- package/core/built/admin/assets/navigation-modal-C8FEhBK5.js +0 -1
- package/core/built/admin/assets/newsletter-5VYW4RyJ.js +0 -1
- package/core/built/admin/assets/newsletter-detail-modal-ChjC0ZqH.js +0 -1
- package/core/built/admin/assets/newsletter-emails-DZH6I-PY.js +0 -1
- package/core/built/admin/assets/newsletters-DOC9KBcX.js +0 -1
- package/core/built/admin/assets/note-DIV-Pojr.js +0 -1
- package/core/built/admin/assets/notifications-s20-H49V.js +0 -1
- package/core/built/admin/assets/nql-lang-CaWrLesS.js +0 -19
- package/core/built/admin/assets/offers-container-modal-BmG5M5Tv.js +0 -1
- package/core/built/admin/assets/onboarding-CUuy9unR.js +0 -1
- package/core/built/admin/assets/onboarding-pXyct0Jm.js +0 -1
- package/core/built/admin/assets/onboarding-route-CK4pcXoR.js +0 -1
- package/core/built/admin/assets/overview-CaPsciMs.js +0 -1
- package/core/built/admin/assets/overview-a8GfcsKX.js +0 -1
- package/core/built/admin/assets/page-header-DM_KyoFI.js +0 -1
- package/core/built/admin/assets/pagemenu-vgZVUVKR.js +0 -1
- package/core/built/admin/assets/pages-route-BzKZYdV5.js +0 -1
- package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +0 -10
- package/core/built/admin/assets/pintura-modal-DExCF1ii.js +0 -1
- package/core/built/admin/assets/portal-frame-Cqanidq4.js +0 -1
- package/core/built/admin/assets/portal-modal-oinBgA27.js +0 -1
- package/core/built/admin/assets/post-analytics-C5oJ1dWV.js +0 -1
- package/core/built/admin/assets/post-analytics-context-D0Mw-Pmv.js +0 -1
- package/core/built/admin/assets/post-analytics-header-OATo3X_r.js +0 -1
- package/core/built/admin/assets/post-analytics-provider-tOpIVGT5.js +0 -1
- package/core/built/admin/assets/post-share-modal-DvhC1XgV.js +0 -1
- package/core/built/admin/assets/posts-list-screen-o4ZjbgS3.js +0 -2
- package/core/built/admin/assets/posts-route-9F--xdIb.js +0 -1
- package/core/built/admin/assets/preferences--vNubsqD.js +0 -5
- package/core/built/admin/assets/preview-chrome-BljUBlOk.js +0 -1
- package/core/built/admin/assets/preview-modal-YYbzlYdO.js +0 -1
- package/core/built/admin/assets/profile-BllKV3dR.js +0 -1
- package/core/built/admin/assets/prop-types-DeUPn3oD.js +0 -1
- package/core/built/admin/assets/radio-group-DL8GI8rt.js +0 -1
- package/core/built/admin/assets/react-Bb3IsNbi.js +0 -1
- package/core/built/admin/assets/rolldown-runtime-DAXXjFlN.js +0 -1
- package/core/built/admin/assets/router-provider-BSvTXgZY.js +0 -1
- package/core/built/admin/assets/select-v5YbA3Mw.js +0 -1
- package/core/built/admin/assets/settings-PEsZupw1.js +0 -4
- package/core/built/admin/assets/settings-breadcrumbs-NwPnCTC7.js +0 -1
- package/core/built/admin/assets/settings-u_s1CRkr.js +0 -1
- package/core/built/admin/assets/share-modal-SskCmVGL.js +0 -1
- package/core/built/admin/assets/skeleton-Ce9GgUpf.js +0 -1
- package/core/built/admin/assets/slack-modal-XxSJiYgo.js +0 -1
- package/core/built/admin/assets/sort-button-Cx1KtINE.js +0 -1
- package/core/built/admin/assets/source-icon-Bdp9Im_5.js +0 -1
- package/core/built/admin/assets/stack-B2eszIiq.js +0 -1
- package/core/built/admin/assets/stats-view-W2g6Jsd-.js +0 -1
- package/core/built/admin/assets/step-1-BQYzvBzr.js +0 -1
- package/core/built/admin/assets/step-2-xES32xJV.js +0 -1
- package/core/built/admin/assets/step-3-DA_XK5kW.js +0 -2
- package/core/built/admin/assets/stripe-button-CVsLHelt.js +0 -1
- package/core/built/admin/assets/stripe-connect-modal-ClmLOMGS.js +0 -1
- package/core/built/admin/assets/switch-CI4gLWqb.js +0 -1
- package/core/built/admin/assets/table-BenqVupI.js +0 -1
- package/core/built/admin/assets/tabs-eBBlxPp8.js +0 -1
- package/core/built/admin/assets/tag-detail-Ce8Se2qd.js +0 -2
- package/core/built/admin/assets/tag-picker-C3UR-uJ-.js +0 -1
- package/core/built/admin/assets/tags-B-kJxCs7.js +0 -1
- package/core/built/admin/assets/testimonials-modal-9Q6fT06V.js +0 -1
- package/core/built/admin/assets/text-BQDSDsKs.js +0 -1
- package/core/built/admin/assets/textarea-DJ1Q5V39.js +0 -1
- package/core/built/admin/assets/tier-detail-modal-CDyYdqK7.js +0 -1
- package/core/built/admin/assets/toggle-group-CviIkyok.js +0 -1
- package/core/built/admin/assets/topic-filter-I2jCBGxm.js +0 -1
- package/core/built/admin/assets/transistor-modal-p53u3W8y.js +0 -1
- package/core/built/admin/assets/trend-badge-CideVzQd.js +0 -1
- package/core/built/admin/assets/unsplash-modal-DY8UcKcE.js +0 -1
- package/core/built/admin/assets/use-analytics-data-DAIGcr2f.js +0 -1
- package/core/built/admin/assets/use-filter-params-JkZhIS8L.js +0 -1
- package/core/built/admin/assets/use-filterable-api-BVEVMrhZ.js +0 -1
- package/core/built/admin/assets/use-form-vRjI0Kwk.js +0 -1
- package/core/built/admin/assets/use-growth-stats-937CUj6j.js +0 -1
- package/core/built/admin/assets/use-host-limits-D0Dv3tKA.js +0 -1
- package/core/built/admin/assets/use-limiter-CohWfzvK.js +0 -2
- package/core/built/admin/assets/use-navigate-with-base-path-BkxcPj5l.js +0 -1
- package/core/built/admin/assets/use-pintura-config-xgytjU35.js +0 -1
- package/core/built/admin/assets/use-pintura-editor-CaV1mbfO.js +0 -1
- package/core/built/admin/assets/use-post-referrers-BCQI7fDg.js +0 -1
- package/core/built/admin/assets/use-query-params-BfzuqbcD.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-CYRhoaxY.js +0 -1
- package/core/built/admin/assets/use-router-history-entry-NOKcd--l.js +0 -1
- package/core/built/admin/assets/use-setting-group-bLKMwoBT.js +0 -1
- package/core/built/admin/assets/use-settings-navigation-B-qrriKD.js +0 -1
- package/core/built/admin/assets/use-simple-pagination-CNPd6Rf6.js +0 -1
- package/core/built/admin/assets/use-staff-users-pRIMIyiW.js +0 -1
- package/core/built/admin/assets/use-tinybird-token-KLne235s.js +0 -1
- package/core/built/admin/assets/use-unsaved-changes-guard-7-ug0JdH.js +0 -1
- package/core/built/admin/assets/use-upgrade-route-Dm_qqKr0.js +0 -1
- package/core/built/admin/assets/user-detail-modal-D3KlGYv-.js +0 -1
- package/core/built/admin/assets/virtual-list-CZ3RK2Yf.js +0 -1
- package/core/built/admin/assets/web-ClEJsCAj.js +0 -2
- package/core/built/admin/assets/web-X9rdnrtq.js +0 -1
- package/core/built/admin/assets/zapier-modal-DfVhV17j.js +0 -1
- /package/core/built/admin/assets/{chunk.901.4ccc639821020230bcca.js.LICENSE.txt → chunk.972.4b8c97f93d66db15e751.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{o as r,p as i}from"./hooks-Cy_-oZ4o.js";import{n as a,o,r as s,t as c}from"./pagemenu-vgZVUVKR.js";import{c as l}from"./posts-pCPrhQeR.js";import{t as u}from"./analytics-53FOa2wq.js";import{n as d,r as ee}from"./post-helpers-C88JBa4D.js";import{a as te}from"./router-provider-BSvTXgZY.js";import{f,l as p,m,u as h}from"./dist-B3keLvjj.js";import{t as g}from"./inline-BWSs_VzR.js";import{t as _}from"./text-BQDSDsKs.js";import{t as ne}from"./heading-Dh5SFVjL.js";import{E as re,Mn as ie,Nn as ae,X as oe,a as v,t as y,wr as b,xt as se}from"./button-Dvcv1QSR.js";import{a as ce,i as le,n as x,o as ue,r as de,t as fe}from"./breadcrumb-CaLk2b7D.js";import{r as S}from"./users-DVNWrqg9.js";import{Di as pe,Dr as me,Fr as he,Nr as ge,Or as C,Si as _e,T as ve,Tr as ye,Yn as w,ar as be,cr as xe,dr as Se,ir as Ce,kr as T,lr as we,or as Te,sr as E,ur as D}from"./index-CgMCwsxN.js";import{t as O}from"./use-analytics-data-DAIGcr2f.js";import{t as Ee}from"./get-site-timezone-HgL0jI_F.js";import{t as De}from"./post-share-modal-DvhC1XgV.js";import{n as k}from"./email-sending-status-context-CWDOD1FN.js";import{n as A}from"./post-analytics-context-D0Mw-Pmv.js";import{i as Oe,t as ke}from"./gift-link-modal-B7u5bD4e.js";var j=e(t(),1),M=n(),N=(0,j.forwardRef)(({children:e,className:t,...n},r)=>(0,M.jsx)(`section`,{ref:r,className:p(`flex size-full grow flex-col gap-6 py-8`,t),...n,children:e}));N.displayName=`PostAnalyticsContent`;var P=10,F=e=>e<=40?0:Math.round(e/60);function I(e,t){return t!==null&&F(e-P)<=t&&t<=F(e+P)?t:F(e)}function L(e){let t=e?.sending,n=e?`${e.id}:${e.sending.status}`:null,r=t?.status===`preparing`||t?.status===`submitting`?t.progress.estimated_seconds_remaining:null,[i,a]=(0,j.useState)({key:null,minutes:null}),o=r===null?null:I(r,i.key===n?i.minutes:null);return(i.key!==n||i.minutes!==o)&&a({key:n,minutes:o}),o===null?null:o===0?`Less than 1 minute left`:`About ${m(o)} ${o===1?`minute`:`minutes`} left`}var R=`email-sending-fill-clip`,z=()=>(0,M.jsxs)(`svg`,{"aria-hidden":`true`,fill:`none`,height:`12`,viewBox:`0 0 12 12`,width:`12`,children:[(0,M.jsx)(`clipPath`,{id:R,children:(0,M.jsx)(`circle`,{cx:`6`,cy:`6`,r:`5.1`})}),(0,M.jsx)(`circle`,{cx:`6`,cy:`6`,fill:`currentColor`,r:`4.8`}),(0,M.jsx)(`g`,{clipPath:`url(#${R})`,children:(0,M.jsx)(`rect`,{className:`animate-email-sending-fill-rise fill-muted-foreground motion-reduce:translate-y-1/2 motion-reduce:animate-none`,height:`12`,width:`12`,x:`0`,y:`0`})})]}),B=({sending:e})=>e.status===`preparing`?(0,M.jsx)(`span`,{className:`relative flex size-4 shrink-0 items-center justify-center overflow-hidden rounded-full bg-muted-foreground text-white ring-1 ring-muted-foreground ring-offset-1 ring-offset-background`,children:(0,M.jsx)(z,{})}):e.status===`failed`?(0,M.jsx)(`span`,{className:`relative flex size-4 shrink-0 items-center justify-center overflow-hidden rounded-full bg-state-danger text-white ring-1 ring-state-danger ring-offset-1 ring-offset-background`,children:(0,M.jsx)(v,{"aria-hidden":`true`,size:12,strokeWidth:2.5})}):(0,M.jsx)(`span`,{className:`relative flex size-4 shrink-0 items-center justify-center overflow-hidden rounded-full bg-state-info text-white ring-1 ring-state-info ring-offset-1 ring-offset-background`,children:(0,M.jsx)(`span`,{className:`animate-email-sending-arrow-rise motion-reduce:animate-none`,children:(0,M.jsx)(b,{"aria-hidden":`true`,size:12,strokeWidth:2.5})})}),V=(e,t)=>{let{completed:n,total:r}=e.progress;return r===0?t:(0,M.jsxs)(M.Fragment,{children:[`${m(n)} of ${m(r)}`,t&&` · ${t}`]})},H=(e,t)=>{let{completed:n,total:r}=e.progress,i=e.failed_during===`submitting`?n:0,a=i>0?`${m(i)} of ${m(r)} emails were sent.`:r>0?`None of the ${m(r)} emails were sent.`:`No emails were sent.`;return t?`${a} ${t}`:a},Ae=()=>{let{post:e}=A(),{status:t,isNewsletterDataHidden:n,hasUnknownDeliveryOutcome:r,isRetrying:i,retrySending:a}=k(),o=t?.sending,s=L(t);if(!o||o.status===`submitted`&&!n)return null;let c=o.status===`failed`,l=c?!r&&o.failed_during===`submitting`&&o.progress.completed>0:!1,u=c?l?`Some emails failed to send`:`Emails failed to send`:o.status===`preparing`?`Preparing emails`:`Sending emails`,d=c?r?e?.email?.error||`Something went wrong while sending this email.`:H(o,e?.email?.error):V(o,s);return(0,M.jsx)(w,{className:`bg-surface-elevated shadow-none hover:shadow-none`,"data-testid":`email-sending-status-banner`,role:c?`alert`:`status`,size:`lg`,children:(0,M.jsxs)(g,{align:`center`,gap:`md`,justify:`between`,wrap:!0,children:[(0,M.jsxs)(g,{align:`center`,className:`min-w-0`,gap:`sm`,children:[(0,M.jsx)(B,{sending:o}),(0,M.jsxs)(_,{className:`min-w-0 tabular-nums`,size:`sm`,children:[(0,M.jsx)(_,{as:`strong`,size:`sm`,weight:`semibold`,children:u}),d&&(0,M.jsxs)(_,{as:`span`,size:`sm`,tone:`secondary`,children:[` · `,d]})]})]}),c&&!r&&(0,M.jsx)(y,{className:`shrink-0`,disabled:i,size:`sm`,variant:`outline`,onClick:()=>void a(),children:i?`Sending…`:l?`Send remaining emails`:`Retry sending email`})]})})},U=e=>{let{data:t}=r();return!e||!t?!1:e.status===`published`&&!!e.visibility&&e.visibility!==`public`&&S(t)},W=({currentTab:e,children:t})=>{let n=te(),r=pe(),p=_e(),{mutateAsync:g}=l(),_=i(),[v,b]=(0,j.useState)(!1),[S,w]=(0,j.useState)(!1),[N,P]=(0,j.useState)(!1),{settings:F,site:I,statsConfig:L}=O(),{post:R,isPostLoading:z,postId:B}=A(),{hasNewsletterAnalytics:V,status:H}=k(),W=U(R),G=`/editor/post/${B}`,je=ve(G),K=Ee(F),q=R?.status===`published`,J=H?.sending.status===`failed`,Y=q&&(!V||J),Me=q&&V&&!J,X=(0,j.useRef)(!1);(0,j.useEffect)(()=>{if(!S){X.current=!1;return}X.current||(X.current=!0,u(`Share Modal Opened`,{giftLinkShown:W,source:`post-analytics`}))},[S,W]);let{activeVisitors:Z,isLoading:Q}=o({postUuid:R?.uuid,statsConfig:L,enabled:r}),$=(0,j.useMemo)(()=>{if(!R)return[];let e=[];return ee(R)&&!r||(e.push(`Overview`),!R.email_only&&r&&e.push(`Web`)),V&&e.push(`Newsletter`),p&&e.push(`Growth`),e},[R,r,p,V]),Ne=()=>{R&&b(!0)},Pe=async()=>{if(R)try{await g({id:B}),b(!1),n(`/posts/`,{crossApp:!0})}catch(e){_(e)}};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`header`,{className:`z-50 -mx-(--page-gutter) bg-white/70 backdrop-blur-md dark:bg-background`,children:(0,M.jsx)(`div`,{className:`relative flex min-h-[102px] w-full items-start justify-between gap-5 px-(--page-gutter) pt-[28px]! pb-0`,"data-header":`header`,children:(0,M.jsxs)(`div`,{className:`flex w-full flex-col gap-6`,children:[(0,M.jsxs)(`div`,{className:`flex w-full flex-col flex-wrap justify-between md:flex-row md:items-center`,children:[(0,M.jsx)(fe,{children:(0,M.jsxs)(le,{children:[(0,M.jsx)(x,{children:(0,M.jsx)(de,{asChild:!0,children:(0,M.jsx)(`button`,{className:`cursor-pointer rounded-sm focus-visible:ring-1 focus-visible:ring-focus-ring focus-visible:outline-hidden`,type:`button`,onClick:()=>n(`/analytics/`),children:`Analytics`})})}),(0,M.jsx)(ue,{}),(0,M.jsx)(x,{children:(0,M.jsx)(ce,{children:`Post analytics`})})]})}),(0,M.jsxs)(`div`,{className:`flex w-full items-center gap-2 md:w-auto`,children:[r&&!R?.email_only&&(0,M.jsx)(`div`,{className:`mr-3 flex grow items-center gap-2 md:grow-0`,children:(0,M.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,title:`Active readers in the last 5 minutes · Updates every 60 seconds`,children:[(0,M.jsxs)(`span`,{children:[Q?``:m(Z),` reading now`]}),(0,M.jsx)(`div`,{className:`size-2 rounded-full ${Q?`animate-pulse bg-muted`:Z?`bg-green-500`:`border border-muted-foreground`}`})]})}),!z&&(0,M.jsxs)(M.Fragment,{children:[!R?.email_only&&(0,M.jsx)(De,{author:R?.authors?.[0]?.name||``,canShareAsGift:W,description:``,faviconURL:I?.icon||``,featureImageURL:R?.feature_image??void 0,giftAccessLabel:Oe(R?.visibility),open:S,postExcerpt:R?.excerpt||``,postTitle:R?.title,postURL:R?.url,siteTitle:I?.title||``,onClose:()=>w(!1),onOpenChange:w,onShareAsGift:()=>{w(!1),P(!0)},children:(0,M.jsxs)(y,{variant:`outline`,onClick:()=>w(!0),children:[(0,M.jsx)(oe,{}),` Share`]})}),(0,M.jsxs)(ye,{children:[(0,M.jsx)(he,{asChild:!0,children:(0,M.jsx)(y,{variant:`outline`,children:(0,M.jsx)(ae,{})})}),(0,M.jsxs)(me,{align:`end`,children:[(0,M.jsxs)(C,{children:[(0,M.jsx)(T,{asChild:!0,children:(0,M.jsxs)(`a`,{href:R?.url,rel:`noopener noreferrer`,target:`_blank`,children:[(0,M.jsx)(ie,{}),`View in browser`]})}),(0,M.jsxs)(T,{onClick:()=>{n(G,{crossApp:je})},children:[(0,M.jsx)(se,{}),`Edit post`]})]}),(0,M.jsx)(ge,{}),(0,M.jsx)(C,{children:(0,M.jsxs)(T,{className:`text-destructive focus:text-destructive`,onClick:Ne,children:[(0,M.jsx)(re,{}),`Delete post`]})})]})]})]})]})]}),!z&&(0,M.jsxs)(`div`,{className:`flex items-start gap-6 md:items-center`,children:[R?.feature_image&&(0,M.jsx)(`div`,{className:`aspect-[16/10] w-full max-w-[100px] rounded-md bg-cover bg-center md:max-w-[132px]`,style:{backgroundImage:`url(${R.feature_image})`}}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(ne,{className:`-ml-px max-w-[920px] indent-0 !text-xl md:leading-[1.2em]`,"data-header":`header-title`,children:R?.title}),R?.published_at&&(0,M.jsxs)(`div`,{className:`mt-0.5 flex items-center justify-start leading-[1.65em] text-muted-foreground`,children:[d(R)&&`Sent on ${h(R.published_at,K)} at ${f(R.published_at,K)}`,Y&&`Published on your site on ${h(R.published_at,K)} at ${f(R.published_at,K)}`,Me&&`Published and sent on ${h(R.published_at,K)} at ${f(R.published_at,K)}`]})]})]}),(0,M.jsx)(Ae,{})]})})}),(0,M.jsxs)(s,{className:`sticky top-0 z-50 -mb-8 transform-gpu flex-col items-start gap-y-0 border-none bg-white/70 py-8 backdrop-blur-md lg:flex-row lg:items-center dark:bg-background`,children:[!z&&(0,M.jsxs)(c,{className:`min-h-[34px]`,defaultValue:e,responsive:!0,children:[$.includes(`Overview`)&&(0,M.jsx)(a,{value:`Overview`,onClick:()=>{n(`/posts/analytics/${B}`)},children:`Overview`}),$.includes(`Web`)&&(0,M.jsx)(a,{value:`Web`,onClick:()=>{n(`/posts/analytics/${B}/web`)},children:`Web traffic`}),$.includes(`Newsletter`)&&(0,M.jsx)(a,{value:`Newsletter`,onClick:()=>{n(`/posts/analytics/${B}/newsletter`)},children:`Newsletter`}),$.includes(`Growth`)&&(0,M.jsx)(a,{value:`Growth`,onClick:()=>{n(`/posts/analytics/${B}/growth`)},children:`Growth`})]}),t]}),W&&B&&(0,M.jsx)(ke,{open:N,postId:B,source:`share-modal`,onOpenChange:P},B),(0,M.jsx)(Ce,{open:v,onOpenChange:b,children:(0,M.jsxs)(E,{children:[(0,M.jsxs)(D,{children:[(0,M.jsx)(Se,{children:`Are you sure you want to delete this post?`}),(0,M.jsxs)(xe,{children:[`You're about to delete "`,(0,M.jsx)(`strong`,{children:R?.title}),`". This is permanent! We warned you, k?`]})]}),(0,M.jsxs)(we,{children:[(0,M.jsx)(Te,{children:`Cancel`}),(0,M.jsx)(be,{className:`bg-red-600 text-white hover:bg-red-700`,onClick:()=>void Pe(),children:`Delete`})]})]})})]})};export{U as n,N as r,W as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{r}from"./posts-pCPrhQeR.js";import{h as i}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{W as a,q as o}from"./index-CgMCwsxN.js";import{t as s}from"./post-analytics-context-D0Mw-Pmv.js";var c=e(t(),1),l=n(),u=({children:e})=>{let{postId:t}=i();if(!t)throw Error(`Post ID is required for PostAnalyticsProvider`);let[n,u]=(0,c.useState)(o.last30Days.value),{data:{posts:[d]}={posts:[]},isLoading:f,refetch:p}=r({searchParams:{filter:`id:${t}`,include:a}}),m=(0,c.useCallback)(async()=>{await p()},[p]);return(0,l.jsx)(s.Provider,{value:{postId:t,post:d,isPostLoading:f,refetchPost:m,range:n,setRange:u},children:e})};export{u as default};
|
|
@@ -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{r as n}from"./heading-Dh5SFVjL.js";import{t as r}from"./button-Dvcv1QSR.js";import{t as i}from"./share-modal-SskCmVGL.js";e();var a=t(),o=({author:e=``,canShareAsGift:t=!1,children:o,description:s=``,emailOnly:c=!1,faviconURL:l=``,featureImageURL:u=``,giftAccessLabel:d=``,onClose:f=()=>{},onShareAsGift:p=()=>{},postExcerpt:m=``,postTitle:h=``,postURL:g=``,primaryTitle:_=`Your post is published.`,secondaryTitle:v=`Spread the word!`,siteTitle:y=``,...b})=>{let x=encodeURIComponent(h),S=encodeURIComponent(g),C=encodeURIComponent(`${h} ${g}`),w=c?[]:[{href:`https://twitter.com/intent/tweet?text=${x}%0A${S}`,label:`Share on X`,service:`x`},{href:`https://threads.net/intent/post?text=${C}`,label:`Share on Threads`,service:`threads`},{href:`https://www.facebook.com/sharer/sharer.php?u=${S}`,label:`Share on Facebook`,service:`facebook`},{href:`https://www.linkedin.com/shareArticle?mini=true&title=${x}&url=${S}`,label:`Share on LinkedIn`,service:`linkedin`},{href:`https://bsky.app/intent/compose?text=${C}`,label:`Share on Bluesky`,service:`bluesky`}];return(0,a.jsxs)(i.Root,{...b,children:[o&&(0,a.jsx)(i.Trigger,{children:o}),(0,a.jsxs)(i.Content,{children:[(0,a.jsx)(`div`,{className:`sticky top-0 ml-auto size-0`,children:(0,a.jsx)(i.CloseButton,{className:`absolute -top-5 -right-5`,onClick:f})}),(0,a.jsxs)(i.Header,{className:`relative -mt-5`,children:[(0,a.jsxs)(i.Title,{className:`text-3xl leading-[1.15em] font-bold`,children:[_&&(0,a.jsx)(`span`,{className:`text-state-success`,children:_}),_&&v&&(0,a.jsx)(`br`,{}),v&&(0,a.jsx)(`span`,{children:v})]}),s&&(0,a.jsx)(i.Description,{className:`mb-0 pt-1 pb-0 text-lg text-foreground`,children:s})]}),(0,a.jsxs)(i.Preview,{className:`rounded-md`,href:g,children:[u&&(0,a.jsx)(`div`,{className:`aspect-video bg-cover bg-center`,style:{backgroundImage:`url(${u})`}}),(0,a.jsxs)(`div`,{className:`p-6 pt-5`,children:[(0,a.jsx)(n,{children:h}),m&&(0,a.jsx)(`p`,{className:`line-clamp-2`,children:m}),(0,a.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[(0,a.jsx)(`div`,{className:`mt-0.5 size-4 bg-cover bg-center`,style:{backgroundImage:`url(${l})`}}),(0,a.jsxs)(`div`,{className:`flex gap-1`,children:[(0,a.jsx)(`strong`,{children:y}),(0,a.jsx)(`span`,{children:`•`}),(0,a.jsx)(`span`,{children:e})]})]})]})]}),(0,a.jsx)(i.Footer,{children:c?(0,a.jsx)(r,{className:`cursor-pointer`,type:`button`,onClick:f,children:`Close`}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.SocialLinks,{links:w}),(0,a.jsx)(i.CopyButton,{className:`ml-0! grow cursor-pointer`,copyURL:g,icon:`link`})]})}),t&&!c&&(0,a.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[`Want to share full access to this `,d,` post?`,` `,(0,a.jsx)(r,{className:`h-auto p-0 align-baseline text-sm`,type:`button`,variant:`link`,onClick:p,children:`Share as a gift`}),`.`]})]})]})};export{o as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./gift-link-modal-B7u5bD4e.js","./rolldown-runtime-DAXXjFlN.js","./react-Bb3IsNbi.js","./jsx-runtime-DX3WBWVO.js","./hooks-Cy_-oZ4o.js","./framework-provider-DqI25epG.js","./dist-Ndy-PuGN.js","./use-tinybird-query-CmdbCS9X.js","./use-tinybird-token-KLne235s.js","./index-CgMCwsxN.js","./config-kSHvwdTG.js","./preload-helper-DYl5dUZ5.js","./chunk-KS7C4IRE-DCsL4i4D.js","./router-provider-BSvTXgZY.js","./feature-flag-overrides-context-DQjdJFAk.js","./dist-B3keLvjj.js","./text-BQDSDsKs.js","./heading-Dh5SFVjL.js","./lazy-component-COKiVB72.js","./shade-app-CcS3f8MZ-vwURazk8.js","./dist-8YJUlf3B.js","./overlay-escape-C7XYQuvP.js","./button-Dvcv1QSR.js","./dist-Dgt2cr6a.js","./Combination-B0l4MKVh.js","./dist-Dcsslyo72.js","./input-surface-BsrIZeSF.js","./skeleton-Ce9GgUpf.js","./use-navigate-with-base-path-BkxcPj5l.js","./onboarding-pXyct0Jm.js","./users-DVNWrqg9.js","./update-queries-C4CnvJaW.js","./onboarding-CUuy9unR.js","./schemas-BoYdB6YU.js","./index-BHHXtR5C.css","./posts-pCPrhQeR.js","./analytics-53FOa2wq.js","./share-modal-SskCmVGL.js","./pages-CjDY2CBI.js","./gift-links-CfLSnst2.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{_ as r,s as i}from"./framework-provider-DqI25epG.js";import{o as a,p as o}from"./hooks-Cy_-oZ4o.js";import{n as s}from"./dist-Ndy-PuGN.js";import{t as c}from"./build-CsiH26uS.js";import{a as l,i as u,o as d,r as f,s as p}from"./posts-pCPrhQeR.js";import{t as m}from"./preload-helper-DYl5dUZ5.js";import{_ as h,u as g}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{a as _}from"./router-provider-BSvTXgZY.js";import{l as v,m as y}from"./dist-B3keLvjj.js";import{t as ee}from"./box-CdfQAP_F.js";import{t as te}from"./container-BuQG1wuP.js";import{t as b}from"./inline-BWSs_VzR.js";import{t as x}from"./stack-B2eszIiq.js";import{t as S}from"./text-BQDSDsKs.js";import{$t as C,At as w,D as T,Dn as E,Er as ne,H as D,I as O,Rn as k,St as A,Tr as re,V as ie,Yt as j,_n as ae,b as oe,c as M,et as se,ft as ce,g as N,nn as P,or as le,rn as F,t as I,tn as L,tr as ue,tt as de,u as R,ur as z,vn as fe,xt as B}from"./button-Dvcv1QSR.js";import{i as V,n as H,o as pe,s as me,t as he}from"./select-v5YbA3Mw.js";import{t as ge}from"./checkbox-BtayFtjg.js";import{a as _e,i as ve,n as ye,r as be,t as xe}from"./context-menu-DOVB6yaz.js";import{t as Se}from"./empty-indicator-D9QdpuNX.js";import{c as Ce,f as we,l as Te,o as Ee,u as De}from"./users-DVNWrqg9.js";import{A as U,Cr as Oe,Dr as ke,Fr as Ae,Gn as je,Kn as Me,L as Ne,Mr as Pe,R as Fe,Sr as Ie,Tr as Le,Wn as Re,_i as W,_r as ze,ar as Be,br as Ve,cr as He,dr as Ue,gr as We,hr as Ge,ir as Ke,j as qe,jr as Je,lr as Ye,mt as Xe,n as Ze,nr as Qe,or as $e,pi as G,pr as et,r as tt,rr as nt,sr as rt,ur as it,xr as at,yi as ot,yr as st}from"./index-CgMCwsxN.js";import{c as ct,d as lt}from"./stats-D9PDLS3x.js";import{t as K}from"./page-header-DM_KyoFI.js";import{t as ut}from"./filter-bar-Da1qxybu.js";import{i as dt}from"./filters-DxA_a4FP.js";import{a as ft}from"./tiers-BCpIOGQr.js";import{t as pt}from"./post-share-modal-DvhC1XgV.js";import{t as mt}from"./feature-image-placeholder-BrIHmPs8.js";import{t as ht}from"./list-page-BucXJ0hi.js";import{n as gt,t as _t}from"./create-ghost-browse-value-source-5C53jJaX.js";import{a as vt,i as yt,o as bt,r as xt,s as St}from"./pages-CjDY2CBI.js";import{t as Ct}from"./virtual-list-CZ3RK2Yf.js";import{o as wt,s as Tt,t as Et}from"./tag-picker-C3UR-uJ-.js";import{n as Dt}from"./tags-ChfdwJyS.js";import{t as Ot}from"./nql-BLpCn7qX.js";var kt={deleted:{single:`{Type} deleted`,multiple:`{count} {type}s deleted`},unpublished:{single:`{Type} reverted to a draft`,multiple:`{count} {type}s reverted to drafts`},unscheduled:{single:`{Type} unscheduled`,multiple:`{count} {type}s unscheduled`},accessUpdated:{single:`{Type} access updated`,multiple:`{Type} access updated for {count} {type}s`},tagsAdded:{single:`Tags added`,multiple:`Tags added to {count} {type}s`},tagAdded:{single:`Tag added`,multiple:`Tag added to {count} {type}s`},duplicated:{single:`{Type} duplicated`,multiple:`{count} {type}s duplicated`},copiedPostUrl:{single:`Post link copied`},copiedPreviewUrl:{single:`Preview link copied`}};function q(e,{count:t,resource:n,isSingle:r=t===1}){let i=kt[e],a=(r?i.single:i.multiple)??i.single,o=n===`pages`?`page`:`post`;return a.replace(/\{Type\}/g,o.charAt(0).toUpperCase()+o.slice(1)).replace(/\{type\}/g,o).replace(/\{count\}/g,String(t))}function At(e,t){return e.uuid?`${t.replace(/\/$/,``)}/p/${e.uuid}/`:``}var J=e(t(),1),jt=new Set([`copy-link`,`copy-preview`,`duplicate`,`gift-link`,`delete`,`unpublish`,`unschedule`,`feature`,`unfeature`,`add-tag`,`change-access`]);function Mt({resource:e,posts:t,onShareAsGift:n,count:r,onBulkAction:a,selectionFilter:o,bucketFilters:c,isSingle:l,inverted:u}){let{data:d}=Xe(),f=d?.site.url??``,m=p(),h=St(),g=i();return(0,J.useCallback)(async i=>{let d=t[0];if(!d)return;let p=t=>{s.success(q(t,{count:r,resource:e,isSingle:l}))};try{switch(i){case`copy-link`:await navigator.clipboard.writeText(d.url),p(`copiedPostUrl`);break;case`copy-preview`:await navigator.clipboard.writeText(At(d,f)),p(`copiedPreviewUrl`);break;case`duplicate`:{e===`pages`?await h.mutateAsync(d.id):await m.mutateAsync(d.id);let t=e===`pages`?`PagesResponseType`:`PostsResponseType`;g.invalidateQueries({queryKey:[t]}),p(`duplicated`);break}case`gift-link`:n?.(d.id);break;default:a?.(i,{filter:o,posts:t,count:r,bucketFilters:c,isSingle:l,inverted:u});break}}catch(t){s.error(t instanceof Error&&t.message?t.message:`Could not complete that action on this ${e===`pages`?`page`:`post`}.`)}},[t,e,f,m,h,g,n,r,a,o,c,l,u])}var Y=n(),Nt={"copy-link":F,"copy-preview":F,"gift-link":fe,unpublish:oe,unschedule:z,feature:ie,unfeature:D,"add-tag":O,"change-access":C,duplicate:k,delete:T};function Pt({children:e,getItems:t,showGiftLink:n,enabled:r,onOpenChange:i,onAction:a}){if(!r)return(0,Y.jsx)(Y.Fragment,{children:e});let o=n?t():t().filter(e=>e.key!==`gift-link`);return(0,Y.jsxs)(xe,{onOpenChange:i,children:[(0,Y.jsx)(_e,{asChild:!0,children:e}),(0,Y.jsx)(ye,{children:o.map((e,t)=>{let n=Nt[e.key];return(0,Y.jsxs)(J.Fragment,{children:[t>0&&(e.separated||o[t-1].key===`gift-link`)&&(0,Y.jsx)(ve,{}),(0,Y.jsxs)(be,{"data-testid":`post-menu-${e.key}`,disabled:!jt.has(e.key),variant:e.destructive?`destructive`:void 0,onSelect:()=>{a(e.key)},children:[(0,Y.jsx)(n,{}),e.label]})]},e.key)})})]})}function Ft(e){return e.charAt(0).toUpperCase()+e.slice(1)}function It(e,t){return t===1?e:`${e}s`}function Lt(e,t){let n=RegExp(`${t}s:\\[(.*?)\\]`).exec(e);if(n)return n[1].split(`,`);let r=[...e.matchAll(RegExp(`${t}:(.*?)(?:,|$)`,`g`))].map(([,e])=>e).filter(Boolean);return r.length?r:null}function Rt(e=``){let t=e.split(`,`);if(t.includes(`status:free`)&&t.includes(`status:-free`))return`All subscribers`;let n=[];t.includes(`status:free`)?n.push(`Free subscribers`):t.includes(`status:-free`)&&n.push(`Paid subscribers`);let r=Lt(e,`label`);r&&n.push(`${It(`Label`,r.length)}: ${r.map(Ft).join(`, `)}`);let i=Lt(e,`product`);return i&&n.push(`${It(`Product`,i.length)}: ${i.map(Ft).join(`, `)}`),n.length?n.join(` & `):e}function X(e){return e.status??`draft`}function zt(e,t=`posts`){let n=X(e);return t===`posts`&&(n===`published`||n===`sent`)&&e.email?.status===`failed`}function Bt(e){return e.email?.status===`failed`}function Vt(e,t=`posts`){let n=X(e);return t===`posts`&&(n===`published`||n===`sent`)&&!!e.email&&!Bt(e)}function Ht(e){return(e.authors??[]).map(e=>e.name||e.email).filter(Boolean).join(`, `)}function Ut(e){let t=X(e);return t===`draft`||t===`scheduled`?`updated_at`:`published_at`}function Wt(e){return(Ut(e)===`updated_at`?e.updated_at:e.published_at)??void 0}function Gt(e){let t=Ht(e);return{byline:t?`By ${t}`:null,primaryTagName:e.primary_tag?.name??null}}function Kt(e,{timezone:t,now:n}={}){let{byline:r,primaryTagName:i}=Gt(e),a=Wt(e);return[r,i?`in ${i}`:null,a?Tt(a,{timezone:t,absolute:!0,short:!0,now:n}):null].filter(e=>!!e)}function qt(e,{timezone:t,now:n}={}){let r=Wt(e);if(r)return`${Ut(e)===`updated_at`?`Updated`:`Published`} ${Tt(r,{timezone:t,absolute:!0,now:n})}`}function Jt(e,t=`posts`){switch(X(e)){case`scheduled`:return`Scheduled`;case`published`:return zt(e,t)?`Published but failed to send newsletter`:Vt(e,t)?`Published and sent`:`Published`;case`sent`:return zt(e,t)?`Failed to send newsletter`:`Sent`;default:return`Draft`}}function Yt(e,{timezone:t,now:n,resource:r=`posts`}={}){if(X(e)===`scheduled`){let r=Tt(e.published_at,{timezone:t,scheduled:!0,now:n}),i=e.email_segment?`to ${Rt(e.email_segment)}`:null;return[e.email_only?`to be sent`:`to be published${e.newsletter?` and sent`:``}`,r,e.email_only||e.newsletter?i:null].filter(Boolean).join(` `)}if(Vt(e,r)){let t=e.email?.email_count??0;return`to ${y(t)} ${t===1?`member`:`members`}`}return null}var Xt={visitors:{label:`Visitors`,tab:`web`},opens:{label:`Opens`,tab:`newsletter`},clicks:{label:`Clicks`,tab:`newsletter`},sent:{label:`Sent`,tab:`newsletter`},members:{label:`Members`,tab:`growth`}};function Zt(e,t){return t===`posts`&&(e.status===`published`||e.status===`sent`)&&!!e.email&&e.email?.status!==`failed`}function Qt(e,t,n){return Zt(e,n)&&!t.isContributor&&t.membersSignupAccess!==`none`&&t.emailTrackOpens&&e.email?.track_opens===!0}function $t(e,t,n){return Zt(e,n)&&!t.isContributor&&t.membersSignupAccess!==`none`&&t.emailTrackClicks&&e.email?.track_clicks===!0}function en(e,t,n){return(n===`pages`||!e.email_only)&&e.status===`published`&&t.membersTrackSources&&!t.isMembersInviteOnly&&!t.isContributor}function tn(e,t,n){let r=[],i=e.status===`published`;if(t.webAnalyticsEnabled&&i&&r.push(`visitors`),e.email){let i=Qt(e,t,n),a=$t(e,t,n);i&&r.push(`opens`),a&&r.push(`clicks`),!i&&!a&&r.push(`sent`)}return t.membersTrackSources&&i&&r.push(`members`),r.map(e=>({key:e,...Xt[e]}))}function nn(e){let t=e.email?.email_count,n=e.count?.clicks;return!t||!n?0:Math.round(n/t*100)}function rn(e){let t=e.email?.email_count,n=e.email?.opened_count;return!t||!n?0:Math.round(n/t*100)}function an(e,t,n,r){return n!==`posts`||!r?!1:Qt(e,t,n)||$t(e,t,n)||en(e,t,n)}var on={visitors:ae,opens:j,clicks:w,sent:se,members:N,free:R,paid:M};function sn({title:e,rows:t,children:n}){return(0,Y.jsxs)(Re,{closeDelay:0,openDelay:0,children:[(0,Y.jsx)(Me,{asChild:!0,children:n}),(0,Y.jsx)(je,{className:`pointer-events-none w-48 p-3`,"data-testid":`post-metric-panel`,side:`top`,children:(0,Y.jsxs)(x,{gap:`xs`,children:[(0,Y.jsx)(S,{size:`sm`,weight:`semibold`,children:e}),t.map(e=>{let t=on[e.icon];return(0,Y.jsxs)(b,{gap:`md`,justify:`between`,children:[(0,Y.jsxs)(b,{align:`center`,gap:`xs`,children:[(0,Y.jsx)(t,{className:`size-3.5 shrink-0 text-muted-foreground`,strokeWidth:1.5}),(0,Y.jsx)(S,{size:`sm`,tone:`secondary`,children:e.label})]}),(0,Y.jsx)(S,{className:`font-mono`,size:`sm`,children:y(e.value)})]},e.label)})]})})]})}function cn(e,t,n){return e===`visitors`?{title:`Web traffic`,rows:[{label:`Unique visitors`,value:n.visitors??0,icon:`visitors`}]}:e===`opens`||e===`clicks`||e===`sent`?{title:`Newsletter performance`,rows:[{label:`Sent`,value:t.email?.email_count??0,icon:`sent`},...n.showOpens?[{label:`Opens`,value:t.email?.opened_count??0,icon:`opens`}]:[],...n.showClicks?[{label:`Clicks`,value:t.count?.clicks??0,icon:`clicks`}]:[]]}:{title:`New members`,rows:[{label:`Free`,value:n.freeMembers??0,icon:`free`},...n.paidMembersEnabled?[{label:`Paid`,value:n.paidMembers??0,icon:`paid`}]:[]]}}var ln=[`opens`,`clicks`,`sent`];function un(e,t,n,r){switch(e.key){case`visitors`:return y(n?.[t.uuid??``]??0);case`opens`:return`${rn(t)}%`;case`clicks`:return`${nn(t)}%`;case`sent`:return y(t.email?.email_count??0);case`members`:{let e=r?.[t.id];return y((e?.free??0)+(e?.paid??0))}default:return``}}function dn({post:e,settings:t,resource:n,visitorCounts:r,memberCounts:i,paidMembersEnabled:a,className:o}){let s=tn(e,t,n),c=new Set(s.map(e=>e.key)),l=i?.[e.id];if(s.length===0)return null;let u=[];return s.forEach(e=>{let t=u[u.length-1];ln.includes(e.key)&&t!==void 0&&ln.includes(t[0].key)?t.push(e):u.push([e])}),(0,Y.jsx)(b,{align:`center`,className:v(`shrink-0 max-[1200px]:hidden`,o),gap:`md`,children:u.map(t=>{let o=cn(t[0].key,e,{visitors:r?.[e.uuid??``],freeMembers:l?.free,paidMembers:l?.paid,paidMembersEnabled:a,showOpens:c.has(`opens`),showClicks:c.has(`clicks`)});return(0,Y.jsx)(sn,{rows:o.rows,title:o.title,children:(0,Y.jsx)(b,{align:`center`,gap:`md`,children:t.map(t=>{let a=on[t.key],o=un(t,e,r,i),s=(0,Y.jsxs)(b,{align:`center`,gap:`xs`,justify:`end`,children:[(0,Y.jsx)(a,{className:`size-4 shrink-0 text-muted-foreground`,strokeWidth:1.5}),(0,Y.jsx)(S,{className:`font-mono`,size:`sm`,children:o})]});return n===`pages`?(0,Y.jsx)(`span`,{"aria-label":`${t.label}: ${o}`,className:`min-w-16`,title:t.label,"data-ignore-select":!0,children:s},t.key):(0,Y.jsx)(`a`,{"aria-label":`${t.label}: ${o}`,className:`min-w-16 no-underline`,href:`#/posts/analytics/${e.id}/${t.tab}`,title:t.label,"data-ignore-select":!0,children:s},t.key)})})},t[0].key)})})}function fn(e,t){if(t)return`text-state-danger`;switch(e.status){case`draft`:return`text-pink`;case`scheduled`:return`text-green`;default:return`text-muted-foreground`}}var pn=`aspect-[16/10] w-[80px] shrink-0 rounded-sm lg:w-[100px]`;function mn({post:e}){return e.feature_image?(0,Y.jsx)(`div`,{className:v(pn,`bg-muted bg-cover bg-center`),role:`presentation`,style:{backgroundImage:`url(${JSON.stringify(e.feature_image)})`}}):(0,Y.jsx)(mt,{className:v(pn,`p-0`)})}var hn=(0,J.forwardRef)(function({post:e,resource:t,timezone:n,isContributor:r,hasAdminAccess:i,paidMembersEnabled:a,isSelected:o,onSelectMouseDown:s,onSelectClick:c,getMenuItems:l,showGiftLink:u,menuEnabled:d,menuOnOpenChange:f,menuOnAction:p,metricsSettings:m,visitorCounts:h,memberCounts:g,..._},y){let[ee,te]=(0,J.useState)(!1),C=Kt(e,{timezone:n}),w=qt(e,{timezone:n}),T=Jt(e,t),E=Yt(e,{timezone:n,resource:t}),ne=zt(e,t),D=e.status===`published`,O=t===`pages`?`page`:`post`,k=!!(r&&D),A=k?e.url:`#/editor/${O}/${e.id}`,j=an(e,m,t,!!i)?{href:`#/posts/analytics/${e.id}`,label:`Go to Analytics`,external:!1,Icon:le}:k?{href:e.url,label:`View post`,external:!0,Icon:re}:{href:A,label:`Go to Editor`,external:!1,Icon:B},ae=(0,Y.jsx)(`li`,{ref:y,..._,className:v(`group border-b border-border-default`,o?`bg-table-row-selected select-none`:`hover:bg-table-row-hover`),"data-selected":o?`true`:void 0,"data-testid":`posts-list-item`,onClickCapture:c,onMouseDownCapture:t=>{s?.(t,e.id)},onMouseEnter:()=>{te(!0)},onMouseLeave:()=>{te(!1)},children:(0,Y.jsxs)(b,{align:`center`,className:`pr-4`,gap:`md`,children:[(0,Y.jsxs)(`a`,{className:`flex min-w-0 flex-1 items-start gap-4 py-4 pl-4 no-underline`,"data-testid":`post-list-item-link`,href:A,rel:k?`noopener noreferrer`:void 0,target:k?`_blank`:void 0,children:[(0,Y.jsx)(mn,{post:e}),(0,Y.jsxs)(x,{className:`min-w-0 flex-1`,gap:`xs`,children:[(0,Y.jsxs)(b,{align:`center`,gap:`xs`,children:[e.featured&&(0,Y.jsx)(ie,{"aria-label":`Featured`,className:`size-4 shrink-0 fill-state-warning text-state-warning`,"data-testid":`post-featured`}),(0,Y.jsx)(S,{as:`h3`,className:`truncate`,weight:`semibold`,children:e.title})]}),C.length>0&&(0,Y.jsx)(S,{className:`truncate`,size:`sm`,title:w,tone:`secondary`,children:C.join(` - `)}),(0,Y.jsxs)(S,{className:fn(e,ne),size:`sm`,children:[T,ee&&E&&(0,Y.jsxs)(`span`,{children:[` `,E]})]})]})]}),(0,Y.jsx)(dn,{className:`py-4`,memberCounts:g,paidMembersEnabled:a,post:e,resource:t,settings:m,visitorCounts:h}),(0,Y.jsx)(I,{className:`my-4 ms-2 shrink-0 bg-control-surface px-4`,variant:`outline`,asChild:!0,children:(0,Y.jsx)(`a`,{"aria-label":j.label,"data-testid":`post-list-item-action`,href:j.href,rel:j.external?`noopener noreferrer`:void 0,target:j.external?`_blank`:void 0,title:j.label,"data-ignore-select":!0,children:(0,Y.jsx)(j.Icon,{})})})]})});return(0,Y.jsx)(Pt,{enabled:d??!1,getItems:l,showGiftLink:u??!1,onAction:p??(()=>{}),onOpenChange:f??(()=>{}),children:ae})}),gn=(0,J.memo)(hn),_n={posts:{title:`Posts`,plural:`posts`,newLabel:`New post`,newHref:`#/editor/post`,emptyTitle:`Start creating content.`,emptyAction:`Write a new post`},pages:{title:`Pages`,plural:`pages`,newLabel:`New page`,newHref:`#/editor/page`,emptyTitle:`Tell the world about yourself.`,emptyAction:`Create a new page`}};function vn(e){return _n[e]}function yn({resource:e,hasFilters:t,onClearFilters:n}){let r=vn(e);return t?(0,Y.jsx)(Se,{actions:(0,Y.jsxs)(I,{onClick:n,children:[`Show all `,r.plural]}),"data-testid":`posts-empty-filtered`,title:`No ${r.plural} match the current filter`,children:(0,Y.jsx)(de,{})}):(0,Y.jsx)(Se,{actions:(0,Y.jsx)(I,{asChild:!0,children:(0,Y.jsx)(`a`,{href:r.newHref,children:r.emptyAction})}),"data-testid":`posts-empty-cold`,title:r.emptyTitle,children:(0,Y.jsx)(A,{})})}var bn=[{value:`draft`,label:`Draft posts`},{value:`published`,label:`Published posts`},{value:`sent`,label:`Email only posts`},{value:`scheduled`,label:`Scheduled posts`},{value:`featured`,label:`Featured posts`}],xn=[{value:`draft`,label:`Draft pages`},{value:`published`,label:`Published pages`},{value:`scheduled`,label:`Scheduled pages`},{value:`featured`,label:`Featured pages`}],Sn=[{value:`public`,label:`Public`},{value:`members`,label:`Members-only`},{value:`[paid,tiers]`,label:`Paid members-only`}],Cn=[{value:`published_at asc`,label:`Oldest first`},{value:`updated_at desc`,label:`Recently updated`}],wn=`Newest first`;function Tn(e){return e===`pages`?xn:bn}function En(e){return e?Cn.find(t=>t.value===e)?.label??e:wn}var Dn=`100`;function On(e){return{value:e.slug,label:e.name||e.email,metadata:{id:e.id}}}var kn=_t({id:`posts.authors`,buildBrowseSearchParams:e=>({limit:Dn,order:`name asc`,...e?{filter:`name:~${c(e)}`}:{}}),buildHydrateFilter:e=>gt(`slug`,e),buildHydrateSearchParams:e=>({filter:e,order:`name asc`}),getMissingSelectedOption:e=>({value:e,label:`Unknown author`}),selectItems:e=>e?.users,useQuery:({enabled:e,searchParams:t})=>we({enabled:e,placeholderData:r,searchParams:t}),toOption:On,debounceMs:250});function An(){return kn()}var jn=`100`;function Mn(e){return{value:e.slug,label:e.name,detail:e.slug,metadata:{id:e.id}}}var Nn=_t({id:`posts.tags`,buildBrowseSearchParams:e=>({limit:jn,order:`name asc`,...e?{filter:`tags.name:~${c(e)}`}:{}}),buildHydrateFilter:e=>gt(`slug`,e),buildHydrateSearchParams:e=>({filter:e,order:`name asc`}),getMissingSelectedOption:e=>({value:e,label:`Unknown tag`}),selectItems:e=>e?.tags,useQuery:({enabled:e,searchParams:t})=>Dt({filter:{},enabled:e,placeholderData:r,searchParams:t}),toOption:Mn,debounceMs:250});function Pn(){return Nn()}var Z=[{value:`is`,label:`is`}];function Fn(e,t,n){return!t||e.some(e=>e.value===t)?e:[...e,{value:t,label:`Unknown ${n}`}]}function In({resource:e,authorValueSource:t,tagValueSource:n,isContributor:r=!1,isAuthorOrContributor:i=!1,params:a={}}){let o={key:`type`,label:`${e===`pages`?`Page`:`Post`} type`,type:`select`,icon:(0,Y.jsx)(E,{className:`size-4`}),operators:Z,options:Fn(Tn(e),a.type,`type`)};if(r)return[o];let s=[o,{key:`visibility`,label:`Access`,type:`select`,icon:(0,Y.jsx)(C,{className:`size-4`}),operators:Z,options:Fn(Sn,a.visibility,`access`)}];return i||s.push({key:`author`,label:`Author`,type:`select`,icon:(0,Y.jsx)(R,{className:`size-4`}),operators:Z,searchable:!0,placeholder:`Search authors`,valueSource:t}),s.push({key:`tag`,label:`Tag`,type:`select`,icon:(0,Y.jsx)(O,{className:`size-4`}),operators:Z,searchable:!0,placeholder:`Search tags`,valueSource:n,className:`w-[320px]`}),s}function Ln(e,t,n){return In({resource:e,authorValueSource:An(),tagValueSource:Pn(),isContributor:!!(t&&Te(t)),isAuthorOrContributor:!!(t&&Ce(t)),params:n})}function Rn({resource:e,filters:t,params:n,currentUser:r,iconOnly:i=!1,viewActions:a,onFiltersChange:o}){let s=Ln(e,r,n),c=t.length>0,l=i&&!c,u=c?(0,Y.jsxs)(b,{className:`shrink-0 sm:absolute sm:top-0 sm:right-0`,gap:`sm`,children:[(0,Y.jsx)(I,{className:`hidden items-center text-muted-foreground hover:text-foreground lg:inline-flex`,type:`button`,variant:`outline`,onClick:()=>o([]),children:`Clear`}),a]}):void 0;return(0,Y.jsx)(b,{align:`center`,className:v(!i&&`w-full`),"data-testid":`posts-filters`,gap:`sm`,children:(0,Y.jsx)(dt,{addButtonClassName:v(l&&`min-w-[34px] gap-0 !px-3 text-[0px] lg:min-w-0 lg:gap-1.5 lg:px-3 lg:text-base`,c&&`gap-0 !px-3 text-[0px]`),addButtonIcon:c?(0,Y.jsx)(P,{className:`size-4`}):(0,Y.jsx)(L,{className:`size-4`}),addButtonText:c?`Add filter`:`Filter`,allowMultiple:!1,className:v(`[&>button]:order-last`,i?`w-auto`:`w-full`,c&&`sm:!pr-40`),clearButton:u,fields:s,filters:t,keyboardShortcut:`f`,popoverAlign:`start`,showClearButton:c,showSearchInput:!1,onChange:o})})}var Q=[`midgrey`,`blue`,`green`,`red`,`teal`,`purple`,`yellow`,`orange`,`pink`];function zn(){return Q[Math.floor(Math.random()*Q.length)]}function Bn(e){let t={};return Fe.forEach(n=>{let r=e[n];r!=null&&r!==``&&(t[n]=r)}),t}function Vn(e,t,n){return{name:e.trim(),route:`posts`,color:n,filter:Bn(t)}}function Hn({isAdmin:e,resource:t,params:n,isDefaultView:r}){return!e||t!==`posts`||r?!1:Fe.some(e=>!!n[e])}function Un(e,t){let n=Bn(t);return e.find(e=>Fe.every(t=>(e.filter[t]??null)===(n[t]??null)))}var Wn=`Saved views could not be read, so nothing was changed`,Gn=`A view with this name already exists`,Kn=`Saved view could not be found`;function qn(e){let t;try{t=JSON.parse(e)}catch{throw Error(Wn)}if(!Array.isArray(t))throw Error(Wn);return t}function Jn(e,t){return e.route===`posts`&&typeof e.name==`string`&&U(e.name)===U(t.name)}function Yn(e,t,n){let r=U(t);return e.some((e,t)=>t!==n&&e.route===`posts`&&typeof e.name==`string`&&U(e.name)===r)}function Xn(e,t,n,r,i){let a=qn(e),o=Vn(t,n,r),s=i?a.findIndex(e=>Jn(e,i)):-1;if(i&&s===-1)throw Error(Kn);if(Yn(a,o.name,s))throw Error(Gn);let c=s===-1?[...a,o]:a.map((e,t)=>t===s?o:e);return JSON.stringify(c)}function Zn(e,t){let n=qn(e),r=n.findIndex(e=>Jn(e,t));if(r===-1)throw Error(Kn);return JSON.stringify(n.filter((e,t)=>t!==r))}var Qn=`Settings are still loading, so nothing was changed`;function $n(e){if(e)return G(e.settings,`shared_views`)??`[]`}function er(){let{data:e}=W(),t=$n(e);if(t===void 0)return[];let n=qe(t);return n.ok?n.views.filter(e=>e.route===`posts`):[]}function tr(){let{data:e}=W(),{mutateAsync:t}=ot(),n=o();return(0,J.useCallback)(async r=>{let i=$n(e);if(i===void 0){let e=Error(Qn);throw n(e,{withToast:!1}),e}let a=r(i);try{await t([{key:`shared_views`,value:a}])}catch(e){throw n(e,{withToast:!1}),e}},[e,t,n])}function nr(){let e=tr();return(0,J.useCallback)(async(t,n,r,i)=>{await e(e=>Xn(e,t,n,r,i))},[e])}function rr(){let e=tr();return(0,J.useCallback)(async t=>{await e(e=>Zn(e,t))},[e])}function ir(e){return Q.includes(e)}function ar({value:e,onChange:t}){return(0,Y.jsx)(b,{gap:`sm`,role:`radiogroup`,children:Q.map(n=>(0,Y.jsx)(`button`,{"aria-checked":n===e,"aria-label":n,className:v(`size-5 rounded-full border-2`,n===e?`border-foreground`:`border-transparent`),role:`radio`,style:{backgroundColor:tt(n)},type:`button`,onClick:()=>{t(n)}},n))})}function or({resource:e,params:t,activeView:n,onClose:r}){let[i,a]=(0,J.useState)(n?.name??``),[o,s]=(0,J.useState)(ir(n?.color)?n.color:zn()),[c,l]=(0,J.useState)(``),[u,d]=(0,J.useState)(!1),f=nr(),p=rr(),m=_(),h=!!n,g=async()=>{if(u)return;let e=i.trim();if(!e){l(`Please enter a name`);return}d(!0);try{await f(e,t,o,n),r()}catch(e){l(e instanceof Error?e.message:`Failed to save view`)}finally{d(!1)}},v=async()=>{if(!(!n||u)){d(!0);try{await p(n),r(),m(`/${e}`)}catch(e){l(e instanceof Error?e.message:`Failed to delete view`)}finally{d(!1)}}};return(0,Y.jsxs)(x,{gap:`md`,children:[(0,Y.jsx)(nt,{"aria-label":`View name`,placeholder:`Name this view`,value:i,autoFocus:!0,onChange:e=>{a(e.target.value),l(``)},onKeyDown:e=>{e.key===`Enter`&&g()}}),(0,Y.jsx)(ar,{value:o,onChange:s}),c&&(0,Y.jsx)(S,{className:`text-state-danger`,role:`alert`,size:`sm`,children:c}),(0,Y.jsxs)(b,{gap:`sm`,justify:h?`between`:`end`,children:[h&&(0,Y.jsx)(I,{disabled:u,variant:`destructive`,onClick:()=>void v(),children:`Delete`}),(0,Y.jsx)(I,{disabled:u,onClick:()=>void g(),children:h?`Save`:`Save view`})]})]})}function sr({resource:e,params:t,activeView:n}){let[r,i]=(0,J.useState)(!1);return(0,Y.jsxs)(et,{open:r,onOpenChange:i,children:[(0,Y.jsx)(We,{asChild:!0,children:(0,Y.jsx)(I,{"data-testid":`manage-post-view`,variant:`outline`,children:n?`Edit view`:`Save view`})}),(0,Y.jsx)(Ge,{align:`end`,className:`w-72`,children:(0,Y.jsx)(or,{activeView:n,params:t,resource:e,onClose:()=>{i(!1)}},n?.name??`new`)})]})}function cr({order:e,onOrderChange:t}){return(0,Y.jsxs)(Le,{children:[(0,Y.jsx)(Ae,{asChild:!0,children:(0,Y.jsxs)(I,{"aria-label":`Sort: ${En(e)}`,"data-testid":`posts-sort`,variant:`outline`,children:[(0,Y.jsx)(ne,{className:`size-4`}),En(e),(0,Y.jsx)(ue,{className:`size-4`})]})}),(0,Y.jsx)(ke,{align:`end`,children:(0,Y.jsxs)(Je,{value:e??``,onValueChange:e=>{t(e||null)},children:[(0,Y.jsx)(Pe,{value:``,children:wn}),Cn.map(e=>(0,Y.jsx)(Pe,{value:e.value,children:e.label},e.value))]})})]})}var lr=[`scheduled`,`draft`,`publishedAndSent`],ur=[`draft`,`scheduled`,`published`,`sent`],dr={draft:[`draft`],published:[`published`],scheduled:[`scheduled`],sent:[`sent`]};function fr(e){return[...dr[e??``]??ur]}function pr(e){return e.length===1?e[0]:`[${e.join(`,`)}]`}function mr(e){return e.filter(e=>{let t=e[1];return t!=null&&t.trim()!==``}).map(([e,t])=>`${e}:${t}`).join(`+`)}function hr(e,t,{ownAuthorSlug:n}){return[[`tag`,e.tag],[`visibility`,e.visibility],[`status`,pr(t)],[`featured`,e.type===`featured`?`true`:null],[`authors`,n||e.author]]}function gr(e,t={}){return mr(hr(e,fr(e.type),t))}function _r(e){let t=fr(e.type);return lr.filter(e=>e===`publishedAndSent`?t.includes(`published`)||t.includes(`sent`):t.includes(e))}function vr(e,t){return e===`publishedAndSent`?fr(t.type).filter(e=>e===`published`||e===`sent`):[e]}function yr(e,t,n={}){return mr(hr(t,vr(e,t),n))}function br(e,t){return t||(e===`draft`?`updated_at desc`:`published_at desc`)}function xr(e,t,n={}){return{filter:yr(e,t,n),order:br(e,t.order),limit:`30`}}function Sr(e){return`'${[...e].join(`','`)}'`}function Cr(e,t){let{selectedIds:n,inverted:r}=e;return r?t?n.size===0?t:`(${t})+id:-[${Sr(n)}]`:n.size===0?``:`id:-[${Sr(n)}]`:n.size===0?`id:nothing`:`id:[${Sr(n)}]`}function wr(e,t,n){let r=e.indexOf(t),i=e.indexOf(n);return r===-1||i===-1||i===r?[]:i>r?e.slice(r+1,i+1):e.slice(i,r+1)}function Tr(){return{selectedIds:new Set,inverted:!1,lastSelectedId:null,lastShiftGroup:new Set,transient:!1}}var Er=Tr();function Dr(e,t){return e.inverted?!e.selectedIds.has(t):e.selectedIds.has(t)}function Or(e){return!e.inverted&&e.selectedIds.size===1}function kr(e,t){return e.inverted?Math.max(t-e.selectedIds.size,1):e.selectedIds.size}function Ar(e,t){let n=new Set(e.selectedIds),r=n.delete(t);r||n.add(t);let i=e.lastSelectedId;return!r||e.inverted?i=t:e.lastSelectedId===t&&(i=null),{selectedIds:n,inverted:e.inverted,lastSelectedId:i,lastShiftGroup:new Set,transient:!1}}function jr(e,t,n){if(e.lastSelectedId===null)return Ar(e,t);let r=new Set(e.selectedIds);e.lastShiftGroup.forEach(t=>{e.inverted?r.add(t):r.delete(t)});let i=wr(n,e.lastSelectedId,t);return i.forEach(t=>{e.inverted?r.delete(t):r.add(t)}),{selectedIds:r,inverted:e.inverted,lastSelectedId:e.lastSelectedId,lastShiftGroup:new Set(i),transient:!1}}function Mr(e,t){switch(t.type){case`toggle`:return Ar(e,t.id);case`shift`:return jr(e,t.id,t.orderedIds);case`selectAll`:return{selectedIds:new Set,inverted:!e.inverted,lastSelectedId:null,lastShiftGroup:new Set,transient:!1};case`contextMenu`:return Dr(e,t.id)?e:{selectedIds:new Set([t.id]),inverted:!1,lastSelectedId:t.id,lastShiftGroup:new Set,transient:!0};case`keepOnly`:{if(e.inverted)return e;let n=new Set([...e.selectedIds].filter(e=>t.ids.has(e)));return{...e,selectedIds:n,lastShiftGroup:new Set}}case`closeContextMenu`:return e.transient?Tr():e;case`clear`:return Tr();default:return e}}function Nr(){let e=window.getSelection();e&&(e.empty?e.empty():e.removeAllRanges&&e.removeAllRanges())}function Pr({orderedIds:e,allFilter:t,enabled:n}){let[r,i]=(0,J.useReducer)(Mr,Er),[a,o]=(0,J.useState)(!1),s=(0,J.useRef)({orderedIds:e,enabled:n});s.current={orderedIds:e,enabled:n};let c=(0,J.useRef)(t);(0,J.useEffect)(()=>{c.current!==t&&(c.current=t,i({type:`clear`}))},[t]),(0,J.useEffect)(()=>{function e(e){if(!s.current.enabled)return;let t=e.target;if(!(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t?.isContentEditable===!0)){if((e.metaKey||e.ctrlKey)&&!e.shiftKey&&e.key.toLowerCase()===`a`){i({type:`selectAll`}),e.preventDefault();return}e.key===`Escape`&&i({type:`clear`})}}function t(e){o(e.metaKey||e.ctrlKey||e.shiftKey)}function n(){o(!1)}function r(e){s.current.enabled&&(e.target?.closest(`[role="menu"], [role="dialog"], [role="alertdialog"], [role="listbox"]`)||!e.metaKey&&!e.ctrlKey&&i({type:`clear`}))}return window.addEventListener(`keydown`,e),window.addEventListener(`keydown`,t),window.addEventListener(`keyup`,t),window.addEventListener(`click`,r),window.addEventListener(`click`,t),window.addEventListener(`blur`,n),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`keydown`,t),window.removeEventListener(`keyup`,t),window.removeEventListener(`click`,r),window.removeEventListener(`click`,t),window.removeEventListener(`blur`,n)}},[]);let l=(0,J.useCallback)((e,t)=>{if(s.current.enabled&&!e.target.closest(`[data-ignore-select]`)){if(e.ctrlKey||e.metaKey)i({type:`toggle`,id:t});else if(e.shiftKey)i({type:`shift`,id:t,orderedIds:s.current.orderedIds});else return;e.preventDefault(),e.stopPropagation(),Nr()}},[]),u=(0,J.useCallback)(e=>{s.current.enabled&&(e.target.closest(`[data-ignore-select]`)||!e.ctrlKey&&!e.metaKey&&!e.shiftKey||(e.preventDefault(),e.stopPropagation(),Nr()))},[]),d=(0,J.useCallback)((e,t)=>{s.current.enabled&&i(e?{type:`contextMenu`,id:t}:{type:`closeContextMenu`})},[]),f=(0,J.useRef)(new Map),p=(0,J.useCallback)(e=>{let t=f.current.get(e);if(t)return t;let n=t=>{d(t,e)};return f.current.set(e,n),n},[d]),m=(0,J.useCallback)(e=>{i({type:`keepOnly`,ids:e})},[]);return{state:r,filter:(0,J.useMemo)(()=>Cr(r,t),[r,t]),modifierHeld:n&&a,isSelected:(0,J.useCallback)(e=>n&&Dr(r,e),[n,r]),clear:(0,J.useCallback)(()=>i({type:`clear`}),[]),keepOnly:m,onRowMouseDown:l,onRowClick:u,getContextMenuOpenHandler:p,enabled:n}}function Fr({user:e,post:t}){if(!e||!t)return!1;let n=Ee(e)||De(e),r=t.status===`published`&&!!t.visibility&&t.visibility!==`public`;return n&&r}function Ir({wasPublished:e,type:t,emailOnly:n,postCount:r}){if(!e)return{primary:`All set!`,secondary:``};let i=typeof r==`number`,a=i?`Boom! It’s out there.`:`Your post is published.`;if(t===`page`)return{primary:a,secondary:`Your page is published.`};if(n)return{primary:a,secondary:`Your email has been sent.`};if(i){let e=r===1?`post`:`posts`;return{primary:a,secondary:`That’s ${y(r)} ${e} published.`}}return{primary:a,secondary:`Spread the word!`}}function Lr({post:e,type:t,wasPublished:n,postCount:r,siteTitle:i,onClose:a}){let o=Ir({wasPublished:n,type:t,emailOnly:e.email_only===!0,postCount:r});return(0,Y.jsx)(pt,{author:e.authors?.[0]?.name??``,emailOnly:e.email_only===!0,featureImageURL:e.feature_image??``,postExcerpt:e.excerpt??e.custom_excerpt??``,postTitle:e.title,postURL:e.url,primaryTitle:o.primary,secondaryTitle:o.secondary,siteTitle:i,open:!0,onClose:a,onOpenChange:e=>{e||a()}})}var $={published:`ghost-last-published-post`,scheduled:`ghost-last-scheduled-post`};function Rr(){let e=localStorage.getItem($.published),t=localStorage.getItem($.scheduled);localStorage.removeItem($.published),localStorage.removeItem($.scheduled);let n=e??t;if(!n)return null;try{let t=JSON.parse(n);return typeof t?.id!=`string`||!t.id?null:{id:t.id,type:typeof t.type==`string`?t.type:`post`,wasPublished:e!==null}}catch{return null}}function zr(){let[e,t]=(0,J.useState)(null),n=(0,J.useRef)(!1);(0,J.useEffect)(()=>{n.current||(n.current=!0,t(Rr()))},[]);let r=e?.type===`page`,i={filter:`id:${e?.id??``}`,limit:`1`,include:`authors,newsletter,email`},{data:a}=f({searchParams:i,enabled:!!e&&!r}),{data:o}=xt({searchParams:i,enabled:!!e&&r}),{data:s}=f({searchParams:{filter:`status:published`,limit:`1`},enabled:e?.wasPublished===!0});return{celebration:e,post:r?o?.pages?.[0]:a?.posts?.[0],postCount:e?.wasPublished?s?.meta?.pagination.total:void 0,dismiss:()=>{t(null)}}}function Br({isRunning:e,onConfirm:t,onCancel:n}){let[r,i]=(0,J.useState)([]),[a,o]=(0,J.useState)(``);return(0,Y.jsx)(ze,{open:!0,onOpenChange:e=>{e||n()},children:(0,Y.jsxs)(st,{"data-testid":`add-tag-modal`,onEscapeKeyDown:e=>{(r.length>0||a.length>0)&&e.preventDefault()},children:[(0,Y.jsxs)(Ie,{children:[(0,Y.jsx)(Oe,{children:`Add tags`}),(0,Y.jsx)(Ve,{children:`Added to everything selected, on top of any tags already applied.`})]}),(0,Y.jsx)(Et,{inputLabel:`Search tags`,selected:r,onAdd:e=>{i(t=>[...t,e])},onRemove:e=>{i(t=>t.filter(t=>wt(t)!==e))},onSearchChange:o}),(0,Y.jsxs)(at,{children:[(0,Y.jsx)(I,{disabled:e,variant:`outline`,onClick:n,children:`Cancel`}),(0,Y.jsx)(I,{disabled:e||r.length===0,onClick:()=>{t(r)},children:e?`Adding`:`Add`})]})]})})}var Vr={delete:{confirm:`Delete`,running:`Deleting`},unpublish:{confirm:`Unpublish`,running:`Unpublishing`},unschedule:{confirm:`Unschedule`,running:`Unscheduling`}};function Hr(e,{count:t,resource:n,title:r,isSingle:i=t===1}){let a=n===`pages`?`page`:`post`,o=i?`this ${a}`:`these ${a}s`,s=i?r?`"${r}"`:`this ${a}`:`${t} ${a}s`,c=e===`delete`?`You’re about to delete ${s}. This is permanent! We warned you, k?`:`You’re about to revert ${s} to a private draft.`;return{title:`Are you sure you want to ${e} ${o}?`,body:c,confirmLabel:Vr[e].confirm,runningLabel:Vr[e].running}}function Ur({count:e,resource:t,isSingle:n}){let r=t===`pages`?`page`:`post`;return n?`Change ${r} access`:`Change ${r} access for ${e} ${r}s`}var Wr=[{value:`public`,label:`Public`},{value:`members`,label:`Members only`},{value:`paid`,label:`Paid-members only`},{value:`tiers`,label:`Specific tier(s)`}];function Gr({resource:e,count:t,isSingle:n,currentVisibility:r,currentTiers:i,isRunning:a,onConfirm:o,onCancel:s}){let{data:c}=W(),l=G(c?.settings,`default_content_visibility`)??`public`,[u,d]=(0,J.useState)(n&&r?r:l),[f,p]=(0,J.useState)(n&&i?i.map(e=>e.id):[]),{data:m}=ft(),h=(m?.tiers??[]).filter(e=>e.type===`paid`&&e.active),g=u!==`tiers`||f.length>0;return(0,Y.jsx)(ze,{open:!0,onOpenChange:e=>{e||s()},children:(0,Y.jsxs)(st,{"data-testid":`change-access-modal`,children:[(0,Y.jsxs)(Ie,{children:[(0,Y.jsx)(Oe,{children:Ur({count:t,resource:e,isSingle:n})}),(0,Y.jsxs)(Ve,{children:[`Controls who can read the selected`,` `,(e===`pages`?`page`:`post`)+(n?``:`s`),`.`]})]}),(0,Y.jsxs)(x,{gap:`md`,children:[(0,Y.jsxs)(he,{value:u,onValueChange:d,children:[(0,Y.jsx)(pe,{"aria-label":`Access`,children:(0,Y.jsx)(me,{})}),(0,Y.jsx)(H,{children:Wr.map(e=>(0,Y.jsx)(V,{value:e.value,children:e.label},e.value))})]}),u===`tiers`&&(0,Y.jsx)(x,{gap:`sm`,children:h.map(e=>(0,Y.jsxs)(b,{align:`center`,gap:`sm`,children:[(0,Y.jsx)(ge,{checked:f.includes(e.id),id:`tier-${e.id}`,onCheckedChange:t=>{p(n=>t?[...n,e.id]:n.filter(t=>t!==e.id))}}),(0,Y.jsx)(`label`,{className:`text-sm`,htmlFor:`tier-${e.id}`,children:e.name})]},e.id))})]}),(0,Y.jsxs)(at,{children:[(0,Y.jsx)(I,{disabled:a,variant:`outline`,onClick:s,children:`Cancel`}),(0,Y.jsx)(I,{disabled:a||!g,onClick:()=>{o({visibility:u,tiers:u===`tiers`?f.map(e=>({id:e})):[]})},children:a?`Saving`:`Save`})]})]})})}function Kr({action:e,resource:t,count:n,title:r,isSingle:i,isRunning:a,onConfirm:o,onCancel:s}){let c=Hr(e,{count:n,resource:t,title:r,isSingle:i});return(0,Y.jsx)(Ke,{open:!0,onOpenChange:e=>{e||s()},children:(0,Y.jsxs)(rt,{"data-testid":`bulk-${e}-modal`,onEscapeKeyDown:e=>{a&&e.preventDefault()},children:[(0,Y.jsxs)(it,{children:[(0,Y.jsx)(Ue,{children:c.title}),(0,Y.jsx)(He,{children:c.body})]}),(0,Y.jsxs)(Ye,{children:[(0,Y.jsx)($e,{disabled:a,children:`Cancel`}),(0,Y.jsx)(Be,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,disabled:a,onClick:e=>{e.preventDefault(),o()},children:a?c.runningLabel:c.confirmLabel})]})]})})}var qr=e(Ot(),1),Jr=[{key:`primary_tag`,replacement:`tags.slug`,expansion:`posts_tags.sort_order:0+tags.visibility:public`},{key:`primary_author`,replacement:`authors.slug`,expansion:`posts_authors.sort_order:0+authors.visibility:public`},{key:`authors`,replacement:`authors.slug`},{key:`author`,replacement:`authors.slug`},{key:`tag`,replacement:`tags.slug`},{key:`tags`,replacement:`tags.slug`}];function Yr({posts:e,editedIds:t,filter:n}){let r=(0,qr.default)(n,{expansions:Jr});try{r.queryJSON({})}catch{return e}return e.filter(e=>t.has(e.id)?r.queryJSON(e):!0)}var Xr={unpublish:{action:`unpublish`,message:`unpublished`},unschedule:{action:`unschedule`,message:`unscheduled`},feature:{action:`feature`},unfeature:{action:`unfeature`}};function Zr(e,t){switch(t){case`unpublish`:return e.status===`published`?{...e,status:`draft`}:e;case`unschedule`:return e.status===`scheduled`?{...e,status:`draft`,published_at:void 0}:e;case`feature`:return{...e,featured:!0};case`unfeature`:return{...e,featured:!1};default:return e}}function Qr(e){let t=e[1];if(typeof t!=`string`)return null;try{return new URL(t,window.location.origin).searchParams.get(`filter`)}catch{return null}}function $r({resource:e,onDeleted:t,onEdited:n}){let[r,a]=(0,J.useState)(!1),o=i(),c=d(),u=bt(),f=l(),p=vt(),m=e===`pages`,h=m?`PagesResponseType`:`PostsResponseType`,g=(0,J.useCallback)((e,t)=>{let n=new Set(e.posts.map(e=>e.id)),r=t===`delete`,i=new Set;for(let a of e.bucketFilters)o.setQueriesData({queryKey:[h],predicate:e=>Qr(e.queryKey)===a},o=>{if(!Array.isArray(o?.pageParams)||!o.pages)return o;let s=0,c=0,l=o.pages.map(e=>{let o=m?`pages`:`posts`,l=e[o]??[],u;return r?u=l.filter(e=>!n.has(e.id)):(u=Yr({posts:l.map(e=>n.has(e.id)?Zr(e,t):e),editedIds:n,filter:a}),u.forEach(e=>{n.has(e.id)&&i.add(e.id)})),s+=l.length-u.length,c+=u.length,{...e,[o]:u}});return!r||s===0&&!e.inverted?{...o,pages:l}:{...o,pages:l.map(t=>typeof t.meta?.pagination?.total==`number`?{...t,meta:{...t.meta,pagination:{...t.meta.pagination,total:e.inverted?c:Math.max(0,t.meta.pagination.total-s)}}}:t)}});return i},[o,h,m]),_=(0,J.useCallback)(async(t,r,i)=>{a(!0);try{let a=t===`add-tag`?{type:`addTag`,meta:i}:{type:`access`,meta:i};if(m?await u.mutateAsync({filter:r.filter,action:a}):await c.mutateAsync({filter:r.filter,action:a}),t===`change-access`)s.success(q(`accessUpdated`,{count:r.count,resource:e,isSingle:r.isSingle}));else{let t=`tags`in i?i.tags.length:1;s.success(q(t>1?`tagsAdded`:`tagAdded`,{count:r.count,resource:e,isSingle:r.isSingle}))}n?.(new Set(r.posts.map(e=>e.id))),o.invalidateQueries({queryKey:[h]}),t===`add-tag`&&o.invalidateQueries({queryKey:[`TagsResponseType`]})}catch(e){s.error(e instanceof Error&&e.message?e.message:`That action could not be completed.`)}finally{a(!1)}},[m,e,n,o,h,c,u]);return{run:(0,J.useCallback)(async(r,i)=>{a(!0);try{if(r===`delete`){m?await p.mutateAsync({filter:i.filter}):await f.mutateAsync({filter:i.filter}),g(i,`delete`),o.invalidateQueries({queryKey:[h],refetchType:`none`}),s.success(q(`deleted`,{count:i.count,resource:e,isSingle:i.isSingle})),t?.();return}let a=Xr[r];if(!a)return;let l={filter:i.filter,action:{type:a.action}};m?await u.mutateAsync(l):await c.mutateAsync(l),a.message&&s.success(q(a.message,{count:i.count,resource:e,isSingle:i.isSingle}));let d=g(i,r);o.invalidateQueries({queryKey:[h],refetchType:`none`}),n?.(d)}catch(e){s.error(e instanceof Error&&e.message?e.message:`That action could not be completed.`)}finally{a(!1)}},[m,e,t,n,g,h,o,c,u,f,p]),runWithPayload:_,isRunning:r}}function ei(e){return e.length===1}function ti(e,t){return e.some(e=>e.status===t)}function ni(e){return e.filter(e=>e.featured).length<=e.length/2}function ri(e){let{posts:t,isAdmin:n,membersEnabled:r,canCopyGiftLink:i}=e;if(t.length===0)return[];let a=[],o=(e,t,n={})=>{a.push({key:e,label:t,separated:!1,...n})};return ti(t,`published`)?(ei(t)&&o(`copy-link`,`Copy link to post`),i&&o(`gift-link`,`Share as a gift`),o(`unpublish`,`Unpublish`)):(ei(t)&&o(`copy-preview`,`Copy preview link`),ti(t,`scheduled`)&&o(`unschedule`,`Unschedule`)),t.some(e=>e.status!==`sent`)&&(ni(t)?o(`feature`,`Feature`):o(`unfeature`,`Unfeature`)),o(`add-tag`,`Add a tag`),r&&o(`change-access`,`Change access`),ei(t)&&o(`duplicate`,`Duplicate`),n&&o(`delete`,`Delete`,{destructive:!0,separated:!0}),a}var ii=[`type`,`visibility`,`author`,`tag`],ai={type:null,visibility:null,author:null,tag:null},oi=`is`;function si(e){return ii.includes(e)}function ci(e){return ii.flatMap((t,n)=>{let r=e[t];return r==null||r.trim()===``?[]:[{id:`${t}:${n+1}`,field:t,operator:oi,values:[r]}]})}function li(e){return typeof e==`string`?e===``?null:e:typeof e==`number`||typeof e==`boolean`?String(e):null}function ui(e){let t={...ai};return e.forEach(e=>{si(e.field)&&(t[e.field]=li(e.values[0]))}),t}var di=`order`;function fi(e){let t={};return ii.forEach(n=>{t[n]=e.get(n)}),t.order=e.get(di),t}function pi(e,t){let n=new URLSearchParams(e);return Object.entries(t).forEach(([e,t])=>{t==null||t===``?n.delete(e):n.set(e,t)}),n}function mi(){let[e,t]=h(),n=(0,J.useMemo)(()=>fi(e),[e]),r=(0,J.useMemo)(()=>ci(n),[n]),i=n.order??null,a=(0,J.useCallback)((e,{replace:n=!0}={})=>{t(t=>pi(t,e),{replace:n})},[t]);return{filters:r,params:n,order:i,setFilters:(0,J.useCallback)((e,t)=>{a(ui(e),t)},[a]),setOrder:(0,J.useCallback)((e,t)=>{a({[di]:e},t)},[a]),clearFilters:(0,J.useCallback)(e=>{a(ui([]),e)},[a]),hasFilters:r.length>0}}function hi({items:e,webAnalyticsEnabled:t,membersTrackSources:n}){let r=(0,J.useMemo)(()=>e.filter(e=>e.status===`published`),[e]),i=(0,J.useMemo)(()=>r.map(e=>e.uuid).filter(e=>!!e),[r]),a=(0,J.useMemo)(()=>r.map(e=>e.id),[r]),{data:o}=lt(i,{enabled:t}),{data:s}=ct(a,{enabled:n});return{visitorCounts:o,memberCounts:s}}var gi=()=>{};function _i(e){let t=e.reduce((e,t)=>e+t.total,0),n=e.some(e=>e.isError);if(e.some(e=>e.isLoading))return{items:[],totalItems:t,hasNextPage:!1,isFetchingNextPage:!1,isLoading:!0,isError:n,fetchNextPage:gi};let r=[],i;for(let t of e){if(r.push(t),t.isError)break;if(t.hasNextPage){i=t;break}}return{items:r.flatMap(e=>e.items),totalItems:t,hasNextPage:!!i,isFetchingNextPage:i?.isFetchingNextPage??!1,isLoading:!1,isError:n,fetchNextPage:i?.fetchNextPage??gi}}function vi(e,{resource:t,params:n,context:i},a){let o=xr(e,n,i),s=u({searchParams:o,enabled:a&&t===`posts`,placeholderData:r}),c=yt({searchParams:o,enabled:a&&t===`pages`,placeholderData:r}),l=t===`pages`?c:s;return{bucket:e,items:(t===`pages`?c.data?.pages:s.data?.posts)??[],total:l.data?.meta?.pagination.total??0,hasNextPage:l.hasNextPage,isLoading:a&&l.isLoading,isFetchingNextPage:l.isFetchingNextPage,isError:l.isError,fetchNextPage:()=>{l.fetchNextPage()}}}function yi(e){let t=_r(e.params),n={scheduled:vi(`scheduled`,e,t.includes(`scheduled`)),draft:vi(`draft`,e,t.includes(`draft`)),publishedAndSent:vi(`publishedAndSent`,e,t.includes(`publishedAndSent`))};return _i(lr.filter(e=>t.includes(e)).map(e=>n[e]))}var bi=[`delete`,`unpublish`,`unschedule`],xi=(0,J.lazy)(()=>m(()=>import(`./gift-link-modal-B7u5bD4e.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]),import.meta.url));function Si({resource:e}){let t=vn(e),{params:n,filters:r,order:i,setFilters:o,setOrder:s,hasFilters:c,clearFilters:l}=mi(),{data:u}=a(),{data:d}=W(),f=g();(0,J.useEffect)(()=>{Ne(e,f.search)},[e,f.search]);let p=G(d?.settings,`timezone`)??void 0,m=!!(u&&Te(u)),h=!!(u&&Ee(u)),_=d?.settings??null,y=(0,J.useMemo)(()=>({webAnalyticsEnabled:G(_,`web_analytics_enabled`)===!0,membersTrackSources:G(_,`members_track_sources`)===!0,emailTrackOpens:G(_,`email_track_opens`)===!0,emailTrackClicks:G(_,`email_track_clicks`)===!0,membersSignupAccess:G(_,`members_signup_access`)??`all`,isMembersInviteOnly:G(_,`members_signup_access`)===`invite`,isContributor:m}),[_,m]),b=G(_,`paid_members_enabled`)===!0,C=er(),w=e===`posts`?Un(C,n):void 0,T=Hn({isAdmin:h,resource:e,params:n,isDefaultView:Ze.some(e=>Un([{...e,route:`posts`}],n))}),E=c,ne=T&&!E,D=!!(u&&Ce(u)),O=u&&D?u.slug:null,{items:k,isLoading:A,isError:re,hasNextPage:ie,isFetchingNextPage:j,fetchNextPage:ae,totalItems:oe}=yi({resource:e,params:n,context:{ownAuthorSlug:O}}),M=Pr({orderedIds:k.map(e=>e.id),allFilter:gr(n,{ownAuthorSlug:O}),enabled:!!u&&!D}),se=(0,J.useMemo)(()=>_r(n).map(e=>yr(e,n,{ownAuthorSlug:O})),[n,O]),N=M.state,P=(0,J.useMemo)(()=>k.filter(e=>Dr(N,e.id)),[k,N]),le=G(_,`members_signup_access`)!==`none`,F=(0,J.useMemo)(()=>ri({posts:P,resource:e,isAdmin:h,membersEnabled:le,canCopyGiftLink:!0}),[P,e,h,le]),L=Or(N)?P[0]:void 0,ue=L&&Fr({user:u,post:L})?L.id:null,[de,R]=(0,J.useState)(null),z=zr(),{data:fe}=Xe(),[B,V]=(0,J.useState)(null),H=$r({resource:e,onDeleted:()=>{V(null),M.clear()},onEdited:e=>{V(null),M.keepOnly(e)}}),pe=(0,J.useRef)(F),me=(0,J.useRef)(()=>{});pe.current=F;let he=(0,J.useCallback)(()=>pe.current,[]),ge=(0,J.useCallback)(e=>me.current(e),[]);me.current=Mt({resource:e,posts:P,onShareAsGift:R,onBulkAction:(e,t)=>{if(e===`feature`||e===`unfeature`){H.run(e,t);return}V({key:e,snapshot:t})},selectionFilter:M.filter,bucketFilters:se,isSingle:Or(N),inverted:N.inverted,count:kr(N,oe)});let{visitorCounts:_e,memberCounts:ve}=hi({items:k,webAnalyticsEnabled:y.webAnalyticsEnabled,membersTrackSources:y.membersTrackSources});return(0,Y.jsx)(ee,{className:`size-full`,children:(0,Y.jsxs)(te,{className:`relative flex h-full flex-col`,size:`page`,children:[(0,Y.jsxs)(ht,{"data-testid":`${e}-page`,children:[(0,Y.jsxs)(ht.Header,{children:[(0,Y.jsxs)(K,{blurredBackground:!1,sticky:!1,children:[(0,Y.jsx)(K.Left,{children:(0,Y.jsx)(K.Title,{children:t.title})}),(0,Y.jsx)(K.Actions,{children:(0,Y.jsxs)(K.ActionGroup,{children:[!E&&(0,Y.jsx)(Rn,{currentUser:u,filters:r,iconOnly:!0,params:n,resource:e,onFiltersChange:o}),(0,Y.jsx)(cr,{order:i,onOrderChange:s}),ne&&(0,Y.jsx)(sr,{activeView:w,params:n,resource:e}),(0,Y.jsx)(I,{asChild:!0,children:(0,Y.jsxs)(`a`,{className:`font-bold`,href:t.newHref,children:[(0,Y.jsx)(ce,{className:`size-4`}),(0,Y.jsx)(`span`,{className:`hidden sm:inline`,children:t.newLabel})]})})]})})]}),E&&(0,Y.jsx)(ut,{children:(0,Y.jsx)(Rn,{currentUser:u,filters:r,params:n,resource:e,viewActions:T&&(0,Y.jsx)(sr,{activeView:w,params:n,resource:e}),onFiltersChange:o})})]}),(0,Y.jsx)(ht.Body,{children:A?(0,Y.jsx)(x,{align:`center`,className:`flex-1`,justify:`center`,children:(0,Y.jsx)(Qe,{size:`lg`})}):re?(0,Y.jsx)(x,{align:`center`,className:`flex-1`,justify:`center`,children:(0,Y.jsxs)(S,{tone:`secondary`,children:[`Error loading `,t.title.toLowerCase()]})}):k.length===0?(0,Y.jsx)(x,{align:`center`,className:`flex-1`,justify:`center`,children:(0,Y.jsx)(yn,{hasFilters:c,resource:e,onClearFilters:l})}):(0,Y.jsxs)(x,{gap:`md`,children:[(0,Y.jsx)(`ul`,{className:v(`border-t border-border-default`,M.modifierHeld&&[`cursor-default`,`[&_li_*]:pointer-events-none [&_li_*]:cursor-default`,`[&_li_[data-ignore-select]]:pointer-events-auto`,`[&_li_[data-ignore-select]]:cursor-pointer`]),"data-ctrl":M.modifierHeld?`true`:void 0,"data-selection":M.state.inverted?`inverted`:void 0,"data-testid":`posts-list`,children:k.map(t=>(0,Y.jsx)(gn,{getMenuItems:he,hasAdminAccess:h,isContributor:m,isSelected:M.isSelected(t.id),memberCounts:ve,menuEnabled:M.enabled,menuOnAction:ge,menuOnOpenChange:M.getContextMenuOpenHandler(t.id),metricsSettings:y,paidMembersEnabled:b,post:t,resource:e,showGiftLink:ue===t.id,timezone:p,visitorCounts:_e,onSelectClick:M.onRowClick,onSelectMouseDown:M.onRowMouseDown},t.id))}),ie&&(0,Y.jsx)(Ct,{isLoading:j,onClick:ae})]})})]}),B&&bi.includes(B.key)&&(0,Y.jsx)(Kr,{action:B.key,count:B.snapshot.count,isRunning:H.isRunning,isSingle:B.snapshot.isSingle,resource:e,title:B.snapshot.posts[0]?.title,onCancel:()=>{V(null)},onConfirm:()=>{H.run(B.key,B.snapshot)}}),B?.key===`add-tag`&&(0,Y.jsx)(Br,{isRunning:H.isRunning,onCancel:()=>{V(null)},onConfirm:e=>{H.runWithPayload(`add-tag`,B.snapshot,{tags:e})}}),B?.key===`change-access`&&(0,Y.jsx)(Gr,{count:B.snapshot.count,currentTiers:B.snapshot.posts[0]?.tiers,currentVisibility:B.snapshot.posts[0]?.visibility,isRunning:H.isRunning,isSingle:B.snapshot.isSingle,resource:e,onCancel:()=>{V(null)},onConfirm:e=>{H.runWithPayload(`change-access`,B.snapshot,e)}}),z.celebration&&z.post&&(0,Y.jsx)(Lr,{post:z.post,postCount:z.postCount,siteTitle:fe?.site.title??``,type:z.celebration.type,wasPublished:z.celebration.wasPublished,onClose:z.dismiss}),de&&(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(xi,{postId:de,resource:e,source:`context-menu`,open:!0,onOpenChange:e=>{e||R(null)}})})]})})}export{Si as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-DX3WBWVO.js";import{t}from"./posts-list-screen-o4ZjbgS3.js";var n=e();function r(){return(0,n.jsx)(t,{resource:`posts`})}export{r as default};
|