ghost 6.53.0 → 6.54.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ghost-storage-base-3.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
- package/components/tryghost-adapter-base-scheduling-0.2.0.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.1.tgz +0 -0
- package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/tryghost-kg-converters-1.2.3.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
- package/core/boot.js +9 -6
- package/core/built/admin/assets/Combination-CJG7Flp-.js +41 -0
- package/core/built/admin/assets/Growth-BTP1LthE.js +3 -0
- package/core/built/admin/assets/Newsletters-CSEX0myc.js +1 -0
- package/core/built/admin/assets/Overview-BjACEsJF.js +1 -0
- package/core/built/admin/assets/{PolarAngleAxis-pciQ0MOy.js → PolarAngleAxis-BGjf7sBu.js} +1 -1
- package/core/built/admin/assets/{RadialBarChart-DWmw2PcX.js → RadialBarChart-zeFf9mBz.js} +1 -1
- package/core/built/admin/assets/Web-CxxxjCcv.js +2 -0
- package/core/built/admin/assets/account-migration-BklF2I_I.js +1 -0
- package/core/built/admin/assets/activitypub/{account-migration-BPZG37DJ.js → account-migration-CNovr6W-.js} +13 -13
- package/core/built/admin/assets/activitypub/activitypub.js +8 -8
- package/core/built/admin/assets/activitypub/{avatar-ZYco0ITb.js → avatar-B3DEDB1l.js} +10 -10
- package/core/built/admin/assets/activitypub/{avatar-flipboard-D541lc4F.js → avatar-flipboard-Cqrg0XMx.js} +3 -3
- package/core/built/admin/assets/activitypub/{bluesky-sharing-NOHUtHjl.js → bluesky-sharing-Ceslb1_M.js} +38 -37
- package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-B-GOFDPZ.js → chunk-KS7C4IRE-D4HEcEwi.js} +716 -710
- package/core/built/admin/assets/activitypub/{content-formatters-bwrp4iEO.js → content-formatters-BpQARh28.js} +229 -181
- package/core/built/admin/assets/activitypub/{copy-C7m7ovHw.js → copy-D9UWIAan.js} +2 -2
- package/core/built/admin/assets/activitypub/{dist-BqkDUQxJ2.js → dist-ByFmDSNP2.js} +64 -63
- package/core/built/admin/assets/activitypub/{dist-B5ira32t.js → dist-DHAjBcV3.js} +5 -5
- package/core/built/admin/assets/activitypub/{domain-iqE4YXwD.js → domain-C1qQvJ8C.js} +33 -33
- package/core/built/admin/assets/activitypub/{edit-profile-B8MFYh28.js → edit-profile-BcH-jEfM.js} +46 -45
- package/core/built/admin/assets/activitypub/{explore-BbdKodp3.js → explore-AxwBh9dI.js} +20 -20
- package/core/built/admin/assets/activitypub/{feed-Cl3A5owG.js → feed-BaOlbh7a.js} +15 -15
- package/core/built/admin/assets/activitypub/{field-DL6WyR-c.js → field-B7mYYQpN.js} +13 -13
- package/core/built/admin/assets/activitypub/{hash-6G3DzwL9.js → hash-BC9Q0N4c.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-YmhuBice.js → inbox-DQ4ZnC1m.js} +2 -2
- package/core/built/admin/assets/activitypub/inbox-vXez-5uJ.js +1221 -0
- package/core/built/admin/assets/activitypub/{label-DGbLjDvE.js → label-Chv5T8bw.js} +6 -6
- package/core/built/admin/assets/activitypub/layout-CziktJXo.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-qnBtk1zS.js → moderation-DtSM2i1I.js} +32 -31
- package/core/built/admin/assets/activitypub/{note-C7ZRoSJv.js → note-Dckp4S-2.js} +21 -21
- package/core/built/admin/assets/activitypub/{notifications-DiEA4b1o.js → notifications-CG5T22vg.js} +17 -17
- package/core/built/admin/assets/activitypub/{onboarding-_JVgEwgV.js → onboarding-BFDkzeR2.js} +2 -2
- package/core/built/admin/assets/activitypub/{onboarding-DG4zu3qM.js → onboarding-D6rcBdPe.js} +5 -5
- package/core/built/admin/assets/activitypub/{preferences-B3FtocnP.js → preferences-D_799jdl.js} +1607 -1606
- package/core/built/admin/assets/activitypub/{profile-D8ZJfYXB.js → profile-D2JfXBQl.js} +264 -263
- package/core/built/admin/assets/activitypub/{reply-C1vggenw.js → reply-CpdMeAO5.js} +2 -2
- package/core/built/admin/assets/activitypub/{routes-BOii-V9n.js → routes-CCHe2dQp.js} +1317 -1298
- package/core/built/admin/assets/activitypub/{separator-1gNokN5S.js → separator-BI1FLsYM.js} +4 -4
- package/core/built/admin/assets/activitypub/{settings--9Sb0nbl.js → settings-kx-9Enkz.js} +14 -14
- package/core/built/admin/assets/activitypub/{site-fkMmqv0V.js → site-x4_IjVJ0.js} +10 -10
- package/core/built/admin/assets/activitypub/{step-1-QhivSMw2.js → step-1-DIDg4aHb.js} +15 -15
- package/core/built/admin/assets/activitypub/{step-2-pMk9YwqD.js → step-2-BfGe8BYt.js} +7 -7
- package/core/built/admin/assets/activitypub/{step-3-DvmVC1fo.js → step-3-mE9spAqw.js} +12 -12
- package/core/built/admin/assets/activitypub/{tabs-Dc0FEEYD.js → tabs-CyPRQQ1N.js} +241 -237
- package/core/built/admin/assets/activitypub/{topic-filter-CuDyM5bD.js → topic-filter-DLHBZT93.js} +4 -4
- package/core/built/admin/assets/activitypub/use-activity-pub-queries-VzbN99u_.js +1957 -0
- package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Drx1kdAK.js → use-navigate-with-base-path-CAwXTmqH.js} +165 -175
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-BHkCHcW5.js → use-reply-chain-data-BAB6fNGt.js} +8 -8
- package/core/built/admin/assets/activitypub/users-BLeiOTHc.js +1464 -0
- package/core/built/admin/assets/activitypub/{x-BHCEe-c2.js → x-C8tAnXly.js} +2 -2
- package/core/built/admin/assets/{audience-adiFehTD.js → audience-X_XsZivI.js} +1 -1
- package/core/built/admin/assets/{automated-emails-UWM02CMr.js → automated-emails-of1MvVsv.js} +1 -1
- package/core/built/admin/assets/automations-B7-y3dXt.js +1 -0
- package/core/built/admin/assets/automations-DRFjW5fw.js +1 -0
- package/core/built/admin/assets/{avatar-flipboard-Lz3F9fNT.js → avatar-flipboard-C6Kj3Awu.js} +1 -1
- package/core/built/admin/assets/bluesky-sharing-BbbjWdzs.js +1 -0
- package/core/built/admin/assets/box-BWbhXh21.js +1 -0
- package/core/built/admin/assets/breadcrumb-B-M9Ip_2.js +1 -0
- package/core/built/admin/assets/card-DGoDJzrn.js +1 -0
- package/core/built/admin/assets/{chart-ChpW-NzQ.js → chart-BuRT2Y6p.js} +14 -14
- package/core/built/admin/assets/chart-helpers-xiSsW8r0.js +1 -0
- package/core/built/admin/assets/checkbox-EhJKHFdZ.js +1 -0
- package/core/built/admin/assets/{chunk.432.c2caa0b20f03e71d1a35.js → chunk.211.6f7328d63c41536451b3.js} +2025 -2819
- package/core/built/admin/assets/{chunk.432.c2caa0b20f03e71d1a35.js.LICENSE.txt → chunk.211.6f7328d63c41536451b3.js.LICENSE.txt} +1 -62
- package/core/built/admin/assets/{chunk.831.0703a12e49f51cec3f3a.js → chunk.361.3cdb584b973959e52ccc.js} +78 -85
- package/core/built/admin/assets/chunk.524.8365cd9280405c0f6216.js +25 -0
- package/core/built/admin/assets/chunk.582.61d078937e6102769f2c.js +27 -0
- package/core/built/admin/assets/code-editor-view-CZtJFGhR.js +1 -0
- package/core/built/admin/assets/comments-CvyXxOyN.js +1 -0
- package/core/built/admin/assets/container-BYz2Ed39.js +1 -0
- package/core/built/admin/assets/data-list-16rkJYYi.js +1 -0
- package/core/built/admin/assets/date-range-select-CTlyo8zW.js +1 -0
- package/core/built/admin/assets/disabled-sources-indicator-qs2GfLvl.js +1 -0
- package/core/built/admin/assets/{dist-DJ6c4_De.js → dist-2Tnz2Yfq.js} +1 -1
- package/core/built/admin/assets/{dist-CsekE4FL.js → dist-CQJY6SVY.js} +1 -1
- package/core/built/admin/assets/dist-CjY-f5Z1.js +1 -0
- package/core/built/admin/assets/dist-DGzPJ_bO.js +4 -0
- package/core/built/admin/assets/dist-DIC8yz5C.js +1 -0
- package/core/built/admin/assets/{dist-BbGrW05X.js → dist-DyViJwIy.js} +1 -1
- package/core/built/admin/assets/dist-Ndy-PuGN.js +1 -0
- package/core/built/admin/assets/dist-P_ohUlTi.js +1 -0
- package/core/built/admin/assets/domain-CPNXKVOV.js +1 -0
- package/core/built/admin/assets/dropzone-BmCXnw6J.js +5 -0
- package/core/built/admin/assets/edit-profile-SGrJve5M.js +1 -0
- package/core/built/admin/assets/editor-BOG2YPUm.js +8 -0
- package/core/built/admin/assets/empty-indicator-oX1u1Pkn.js +1 -0
- package/core/built/admin/assets/esm-CFX93H5M.js +2 -0
- package/core/built/admin/assets/explore-CUYLv9G9.js +1 -0
- package/core/built/admin/assets/feed-CPdJMttL.js +1 -0
- package/core/built/admin/assets/field-D0XISCK2.js +1 -0
- package/core/built/admin/assets/{filter-sources-v39ihhhV.js → filter-sources-Bieps75g.js} +1 -1
- package/core/built/admin/assets/filters-CuB-A7ma.js +1 -0
- package/core/built/admin/assets/filters-bXkkWro8.js +1 -0
- package/core/built/admin/assets/framework-provider-CmtnPXIT.js +4 -0
- package/core/built/admin/assets/{ghost-b57f077997b739a8ae9a70772dc016cb.js → ghost-05f9a7182ed56903dba05878a5b8422b.js} +46 -41
- package/core/built/admin/assets/ghost-dark-c8d0ab7f515b2010c173e23e9b32ea8a.css +1 -0
- package/core/built/admin/assets/gift-link-modal-su8MsRdg.js +1 -0
- package/core/built/admin/assets/{gift-links-CY3GwiVi.js → gift-links-nBxJjZiQ.js} +1 -1
- package/core/built/admin/assets/growth-Ba6S5FQX.js +1 -0
- package/core/built/admin/assets/hooks-BApwwBE0.js +2 -0
- package/core/built/admin/assets/{inbox-TEISAmth.js → inbox-Xx1CdnfO.js} +38 -38
- package/core/built/admin/assets/index-D8PbzuT9.css +1 -0
- package/core/built/admin/assets/index-ukW_0Uie.js +67 -0
- package/core/built/admin/assets/inline-EMAm3okk.js +1 -0
- package/core/built/admin/assets/input-group-CGOXcy4l.js +1 -0
- package/core/built/admin/assets/input-surface-BpAjZXY5.js +1 -0
- package/core/built/admin/assets/{react-dom-C6aoWSfl.js → jsx-runtime-DX3WBWVO.js} +1 -1
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +5 -2
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +2 -2
- package/core/built/admin/assets/{koenig-lexical-Di7b48ED.js → koenig-lexical-B61IALf5.js} +2 -2
- package/core/built/admin/assets/kpi-card-BlZaG1Lo.js +1 -0
- package/core/built/admin/assets/kpi-card-DCdlyaSS.js +1 -0
- package/core/built/admin/assets/kpi-helpers-DpAuS1Nb.js +1 -0
- package/core/built/admin/assets/kpi-tabs-Dme44bQS.js +1 -0
- package/core/built/admin/assets/label-dSs5aepE.js +1 -0
- package/core/built/admin/assets/label-picker-Uq91atex.js +1 -0
- package/core/built/admin/assets/{labels-GbxlXWtf.js → labels-Cyayfd-e.js} +1 -1
- package/core/built/admin/assets/layout-WUcz6tu1.js +1 -0
- package/core/built/admin/assets/limit-service-9fwD33lU.js +20 -0
- package/core/built/admin/assets/link-helpers-tOlxmuH5.js +1 -0
- package/core/built/admin/assets/list-page-B6ANtzkd.js +1 -0
- package/core/built/admin/assets/mailchimp-Ds_NQ04w.svg +9 -0
- package/core/built/admin/assets/member-custom-fields-NCzrMuba.js +1 -0
- package/core/built/admin/assets/member-detail-DPWDtYnN.js +1 -0
- package/core/built/admin/assets/members-B9rO7qr4.js +10 -0
- package/core/built/admin/assets/modals-CxRaan1J.js +31 -0
- package/core/built/admin/assets/moderation-D8zon60E.js +1 -0
- package/core/built/admin/assets/multi-select-combobox-1wYm3nle.js +1 -0
- package/core/built/admin/assets/newsletter-DbYMRxRS.js +1 -0
- package/core/built/admin/assets/{newsletters-DZm3yLj8.js → newsletters-D1jbtV-h.js} +1 -1
- package/core/built/admin/assets/note-PiWPnnrh.js +1 -0
- package/core/built/admin/assets/notifications-DEgqqB9G.js +1 -0
- package/core/built/admin/assets/nql-lang-B7faUf8D.js +19 -0
- package/core/built/admin/assets/{offers-D11QtPXX.js → offers-CrY6nSRR.js} +1 -1
- package/core/built/admin/assets/onboarding-route-BzF6HeVn.js +1 -0
- package/core/built/admin/assets/overview-DixLeIqY.js +1 -0
- package/core/built/admin/assets/page-header-op0eN36I.js +1 -0
- package/core/built/admin/assets/{pages-BnObVRrf.js → pages-BbNWFcGj.js} +1 -1
- package/core/built/admin/assets/pintura-CXOmq-5H.svg +15 -0
- package/core/built/admin/assets/post-analytics-WwRDEnrV.js +1 -0
- package/core/built/admin/assets/post-analytics-header-DsMoLx0R.js +1 -0
- package/core/built/admin/assets/{post-analytics-provider-DSfBCtnj.js → post-analytics-provider-BJCPLMIb.js} +1 -1
- package/core/built/admin/assets/post-share-modal-Dx-MEjhI.js +1 -0
- package/core/built/admin/assets/{posts-CwH8VJvB.js → posts-EWpZIjkr.js} +1 -1
- package/core/built/admin/assets/preferences-D7-j6A4C.js +5 -0
- package/core/built/admin/assets/profile-Dl69QPp0.js +1 -0
- package/core/built/admin/assets/{referrers-nxR52jPI.js → referrers-BCfFYSHc.js} +1 -1
- package/core/built/admin/assets/router-provider-C1R4AZ2o.js +1 -0
- package/core/built/admin/assets/select-C1qDZnW4.js +1 -0
- package/core/built/admin/assets/settings-BbmC_Iqq.js +4 -0
- package/core/built/admin/assets/settings-H6HxFgfI.js +1 -0
- package/core/built/admin/assets/shade-app-B3heOAfz-CGXQwWeO.js +3 -0
- package/core/built/admin/assets/share-modal-BJCadJyp.js +1 -0
- package/core/built/admin/assets/social-urls-BPL1nADp.js +8 -0
- package/core/built/admin/assets/sort-button-DyYlfYp7.js +1 -0
- package/core/built/admin/assets/source-icon-_ubRDbg_.js +1 -0
- package/core/built/admin/assets/stack-xiN0eQ6Z.js +1 -0
- package/core/built/admin/assets/stats-BQZMGMvn.js +1 -0
- package/core/built/admin/assets/stats-view-Doei-qCX.js +1 -0
- package/core/built/admin/assets/step-1-IKiLBPoC.js +1 -0
- package/core/built/admin/assets/step-2-jJ41PsDN.js +1 -0
- package/core/built/admin/assets/step-3-CaqFAEqf.js +2 -0
- package/core/built/admin/assets/switch-t-WyENU2.js +1 -0
- package/core/built/admin/assets/table-DxUL78jU.js +1 -0
- package/core/built/admin/assets/tabs-BQcJQ1ke.js +1 -0
- package/core/built/admin/assets/tags-CNujGwkT.js +1 -0
- package/core/built/admin/assets/text-DwtjwGkh.js +1 -0
- package/core/built/admin/assets/textarea-Bjccvh_E.js +1 -0
- package/core/built/admin/assets/{tiers-EghDzCKc.js → tiers-BgYLWRJv.js} +1 -1
- package/core/built/admin/assets/toggle-group-BeEpQ69p.js +1 -0
- package/core/built/admin/assets/topic-filter-Bb5MOD-1.js +1 -0
- package/core/built/admin/assets/{use-analytics-data-0l_OHtnR.js → use-analytics-data-Cds6XDjg.js} +1 -1
- package/core/built/admin/assets/use-filter-params-DjXkhO54.js +1 -0
- package/core/built/admin/assets/use-growth-stats-D8uf98-G.js +1 -0
- package/core/built/admin/assets/{use-post-referrers-DwI31Ril.js → use-post-referrers-CRtgyuXB.js} +1 -1
- package/core/built/admin/assets/use-reply-chain-data-DbKYX50v.js +1 -0
- package/core/built/admin/assets/use-simple-pagination-DC01kpo0.js +1 -0
- package/core/built/admin/assets/{use-tinybird-query-DvZBBMG7.js → use-tinybird-query-C7bQRJWw.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-CQtebkvU.js → use-tinybird-token-Az4tam7_.js} +1 -1
- package/core/built/admin/assets/{users-Pc8IRjk9.js → users-CcSCQFcQ.js} +1 -1
- package/core/built/admin/assets/virtual-list-Dhuh9fGx.js +1 -0
- package/core/built/admin/assets/web-LtHNiNBV.js +1 -0
- package/core/built/admin/index.html +22 -22
- package/core/frontend/apps/private-blogging/index.js +1 -1
- package/core/frontend/apps/private-blogging/lib/middleware.js +1 -1
- package/core/frontend/helpers/split.js +2 -1
- package/core/frontend/meta/asset-url.js +1 -1
- package/core/frontend/meta/author-image.js +1 -1
- package/core/frontend/meta/blog-logo.js +1 -1
- package/core/frontend/meta/canonical-url.js +1 -1
- package/core/frontend/meta/cover-image.js +1 -1
- package/core/frontend/meta/get-meta.js +1 -1
- package/core/frontend/meta/og-image.js +1 -1
- package/core/frontend/meta/paginated-url.js +1 -1
- package/core/frontend/meta/twitter-image.js +1 -1
- package/core/frontend/meta/url.js +1 -1
- package/core/frontend/services/assets-minification/admin-auth-assets.js +1 -1
- package/core/frontend/services/llms/handler.js +1 -1
- package/core/frontend/services/proxy.js +42 -3
- package/core/frontend/services/routing/collection-router.js +1 -1
- package/core/frontend/services/routing/controllers/email-post.js +1 -1
- package/core/frontend/services/routing/controllers/entry/markdown.js +1 -1
- package/core/frontend/services/routing/controllers/entry/markdown.ts +1 -1
- package/core/frontend/services/routing/controllers/entry.js +1 -1
- package/core/frontend/services/routing/controllers/entry.ts +1 -1
- package/core/frontend/services/routing/controllers/previews.js +6 -7
- package/core/frontend/services/routing/controllers/unsubscribe.js +7 -3
- package/core/frontend/services/routing/email-router.js +1 -1
- package/core/frontend/services/routing/events.js +12 -0
- package/core/frontend/services/routing/middleware/page-param.js +1 -1
- package/core/frontend/services/routing/parent-router.js +1 -1
- package/core/frontend/services/routing/preview-router.js +1 -1
- package/core/frontend/services/routing/router-manager.js +4 -8
- package/core/frontend/services/routing/rss-router.js +1 -1
- package/core/frontend/services/routing/static-pages-router.js +1 -1
- package/core/frontend/services/routing/static-routes-router.js +1 -1
- package/core/frontend/services/routing/taxonomy-router.js +1 -1
- package/core/frontend/services/rss/generate-feed.js +1 -1
- package/core/frontend/services/sitemap/base-site-map-generator.js +23 -4
- package/core/frontend/services/sitemap/site-map-index-generator.js +1 -1
- package/core/frontend/services/sitemap/site-map-manager.js +14 -8
- package/core/frontend/services/sitemap/utils.js +1 -1
- package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +1 -1
- package/core/frontend/services/theme-engine/middleware/update-local-template-options.js +1 -1
- package/core/frontend/utils/images.js +1 -1
- package/core/frontend/web/middleware/admin-toolbar.js +1 -1
- package/core/frontend/web/middleware/handle-image-sizes.js +2 -2
- package/core/frontend/web/middleware/redirect-ghost-to-admin.js +1 -1
- package/core/frontend/web/routers/serve-favicon.js +1 -1
- package/core/frontend/web/routers/serve-public-file.js +1 -1
- package/core/frontend/web/site.js +5 -5
- package/core/server/adapters/cache/AdapterCacheMemoryTTL.js +2 -2
- package/core/server/adapters/cache/MemoryCache.js +2 -2
- package/core/server/adapters/cache/Redis.js +1 -1
- package/core/server/adapters/cache/index.js +1 -1
- package/core/server/adapters/lib/redis/AdapterCacheRedis.js +2 -2
- package/core/server/adapters/route-settings/FileStore.js +2 -8
- package/core/server/adapters/route-settings/FileStore.ts +1 -6
- package/core/server/adapters/route-settings/S3RouteSettingsStore.js +206 -0
- package/core/server/adapters/route-settings/S3RouteSettingsStore.ts +199 -0
- package/core/server/adapters/route-settings/utils.js +13 -0
- package/core/server/adapters/route-settings/utils.ts +7 -0
- package/core/server/adapters/scheduling/deps.d.ts +0 -2
- package/core/server/adapters/scheduling/error-capture.js +76 -0
- package/core/server/adapters/scheduling/error-capture.ts +91 -0
- package/core/server/adapters/scheduling/utils.js +18 -34
- package/core/server/adapters/scheduling/utils.ts +36 -0
- package/core/server/adapters/storage/LocalFilesStorage.js +13 -11
- package/core/server/adapters/storage/LocalFilesStorage.ts +24 -0
- package/core/server/adapters/storage/LocalImagesStorage.js +14 -12
- package/core/server/adapters/storage/LocalImagesStorage.ts +24 -0
- package/core/server/adapters/storage/LocalMediaStorage.js +13 -11
- package/core/server/adapters/storage/LocalMediaStorage.ts +24 -0
- package/core/server/adapters/storage/LocalStorageBase.js +107 -167
- package/core/server/adapters/storage/LocalStorageBase.ts +342 -0
- package/core/server/adapters/storage/S3Storage.js +2 -2
- package/core/server/adapters/storage/S3Storage.ts +1 -1
- package/core/server/adapters/storage/utils.js +36 -50
- package/core/server/adapters/storage/utils.ts +60 -0
- package/core/server/api/endpoints/authentication.js +1 -1
- package/core/server/api/endpoints/db.js +6 -0
- package/core/server/api/endpoints/featurebase.js +1 -1
- package/core/server/api/endpoints/files.js +2 -2
- package/core/server/api/endpoints/images.js +2 -2
- package/core/server/api/endpoints/libraries.d.ts +0 -1
- package/core/server/api/endpoints/media.js +8 -5
- package/core/server/api/endpoints/member-custom-fields.js +4 -1
- package/core/server/api/endpoints/member-custom-fields.ts +4 -1
- package/core/server/api/endpoints/members.js +25 -28
- package/core/server/api/endpoints/pages.js +6 -1
- package/core/server/api/endpoints/posts.js +28 -3
- package/core/server/api/endpoints/search-index-public.js +4 -3
- package/core/server/api/endpoints/search-index.js +5 -4
- package/core/server/api/endpoints/settings-public.js +1 -1
- package/core/server/api/endpoints/settings.js +3 -1
- package/core/server/api/endpoints/utils/serializers/input/utils/url.js +9 -1
- package/core/server/api/endpoints/utils/serializers/output/default.js +7 -0
- package/core/server/api/endpoints/utils/serializers/output/files.js +1 -1
- package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +4 -1
- package/core/server/api/endpoints/utils/serializers/output/media.js +1 -1
- package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.js +7 -4
- package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.ts +8 -4
- package/core/server/api/endpoints/utils/serializers/output/members.js +27 -106
- package/core/server/api/endpoints/utils/serializers/output/pages.js +7 -0
- package/core/server/api/endpoints/utils/serializers/output/posts.js +13 -0
- package/core/server/api/endpoints/utils/serializers/output/utils/url.js +1 -1
- package/core/server/api/endpoints/utils/validators/input/members.js +2 -52
- package/core/server/data/db/backup.js +1 -1
- package/core/server/data/exporter/export-filename.js +2 -1
- package/core/server/data/importer/handlers/image.js +3 -3
- package/core/server/data/importer/import-manager.js +6 -4
- package/core/server/data/importer/importers/content-file-importer.js +2 -2
- package/core/server/data/importer/importers/data/revue-subscriber-importer.js +6 -10
- package/core/server/data/importer/importers/json-to-html.js +24 -4
- package/core/server/data/migrations/utils/schema.js +4 -2
- package/core/server/data/migrations/versions/6.54/2026-07-19-16-59-00-add-content-import-permission.js +10 -0
- package/core/server/data/migrations/versions/6.54/2026-07-20-13-59-21-drop-email-tracked-sent-count-from-automation-action-revisions.js +7 -0
- package/core/server/data/migrations/versions/6.54/2026-07-21-01-58-20-add-automation-run-steps-poller-index.js +3 -0
- package/core/server/data/migrations/versions/6.54/2026-07-21-21-08-15-add-automated-email-recipients-mailgun-message-id-index.js +3 -0
- package/core/server/data/migrations/versions/6.54/2026-07-22-10-41-08-add-click-tracking-to-automated-email-recipients.js +13 -0
- package/core/server/data/migrations/versions/6.54/2026-07-22-15-10-30-add-email-clicked-count-to-automation-action-revisions.js +7 -0
- package/core/server/data/migrations/versions/6.54/2026-07-23-10-24-18-add-automation-action-revision-to-redirects.js +9 -0
- package/core/server/data/schema/commands.js +37 -3
- package/core/server/data/schema/fixtures/fixtures.json +7 -0
- package/core/server/data/schema/lib/default-index-name.js +20 -0
- package/core/server/data/schema/schema.js +40 -17
- package/core/server/data/seeders/data-generator.js +4 -2
- package/core/server/lib/image/image-size.js +7 -23
- package/core/server/lib/image/image-utils.js +16 -2
- package/core/server/lib/image/index.js +4 -4
- package/core/server/lib/lexical.js +3 -3
- package/core/server/lib/mobiledoc.js +2 -2
- package/core/server/lib/request-external.js +1 -1
- package/core/server/lib/validate-password.js +1 -1
- package/core/server/models/action.js +9 -0
- package/core/server/models/base/plugins/generate-slug.js +1 -1
- package/core/server/models/collection.js +1 -1
- package/core/server/models/custom-theme-setting.js +1 -1
- package/core/server/models/member.js +73 -0
- package/core/server/models/newsletter.js +1 -1
- package/core/server/models/post.js +19 -5
- package/core/server/models/posts-meta.js +1 -1
- package/core/server/models/redirect.js +1 -1
- package/core/server/models/settings.js +1 -1
- package/core/server/models/snippet.js +1 -1
- package/core/server/models/tag.js +1 -1
- package/core/server/models/user.js +47 -71
- package/core/server/models/welcome-email-automated-email.js +1 -1
- package/core/server/services/activitypub/activity-pub-service-wrapper.js +1 -1
- package/core/server/services/adapter-manager/adapter-manager.js +5 -1
- package/core/server/services/adapter-manager/adapter-manager.ts +7 -2
- package/core/server/services/adapter-manager/index.js +18 -15
- package/core/server/services/adapter-manager/index.ts +23 -17
- package/core/server/services/adapter-manager/utils.js +124 -14
- package/core/server/services/adapter-manager/utils.ts +130 -14
- package/core/server/services/api-version-compatibility/mw-version-rewrites.js +1 -1
- package/core/server/services/audience-feedback/index.js +1 -1
- package/core/server/services/auth/passwordreset.js +1 -1
- package/core/server/services/auth/session/express-session.js +1 -1
- package/core/server/services/auth/session/index.js +2 -2
- package/core/server/services/auth/session/session-service.js +29 -2
- package/core/server/services/automations/automations-api.js +8 -25
- package/core/server/services/automations/automations-api.ts +8 -37
- package/core/server/services/automations/automations-repository.ts +16 -0
- package/core/server/services/automations/database-automations-repository.js +37 -4
- package/core/server/services/automations/database-automations-repository.ts +41 -4
- package/core/server/services/automations/poll.js +16 -12
- package/core/server/services/automations/poll.ts +17 -15
- package/core/server/services/automations/service.js +1 -1
- package/core/server/services/automations/service.ts +3 -13
- package/core/server/services/automations/welcome-email-automation-poll.js +2 -1
- package/core/server/services/comments/comments-service-emails.js +4 -1
- package/core/server/services/comments/index.js +1 -1
- package/core/server/services/custom-redirects/index.js +2 -2
- package/core/server/services/email-analytics/email-analytics-service-wrapper.js +14 -13
- package/core/server/services/email-analytics/email-analytics-service.js +1 -1
- package/core/server/services/email-analytics/events/start-email-analytics-job-event.js +11 -15
- package/core/server/services/email-analytics/events/start-email-analytics-job-event.ts +15 -0
- package/core/server/services/email-analytics/index.js +2 -3
- package/core/server/services/email-analytics/index.ts +1 -2
- package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.js +1 -6
- package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.ts +0 -9
- package/core/server/services/email-analytics/jobs/fetch-latest/index.js +1 -1
- package/core/server/services/email-analytics/jobs/index.js +0 -2
- package/core/server/services/email-service/email-service-wrapper.js +1 -1
- package/core/server/services/email-service/email-service.js +20 -4
- package/core/server/services/explore-ping/explore-ping-service.js +24 -39
- package/core/server/services/explore-ping/explore-ping-service.ts +198 -0
- package/core/server/services/explore-ping/index.js +11 -11
- package/core/server/services/explore-ping/index.ts +42 -0
- package/core/server/services/gifts/gift-reminder-scheduler.js +1 -1
- package/core/server/services/gifts/gift-reminder-scheduler.ts +1 -1
- package/core/server/services/gifts/gift-service-wrapper.js +1 -1
- package/core/server/services/identity-tokens/identity-token-service-wrapper.js +1 -1
- package/core/server/services/indexnow-ping/constants.js +30 -0
- package/core/server/services/indexnow-ping/constants.ts +32 -0
- package/core/server/services/indexnow-ping/index.js +29 -253
- package/core/server/services/indexnow-ping/index.ts +37 -0
- package/core/server/services/indexnow-ping/indexnow-ping-service.js +229 -0
- package/core/server/services/indexnow-ping/indexnow-ping-service.ts +319 -0
- package/core/server/services/invites/index.js +1 -1
- package/core/server/services/lib/mailgun-client.js +3 -3
- package/core/server/services/link-redirection/index.js +2 -2
- package/core/server/services/link-redirection/link-redirect-repository.js +1 -1
- package/core/server/services/link-redirection/link-redirect.js +12 -13
- package/core/server/services/link-redirection/link-redirect.ts +22 -0
- package/core/server/services/link-redirection/link-redirects-service.js +1 -1
- package/core/server/services/link-tracking/full-post-link.js +2 -2
- package/core/server/services/link-tracking/index.js +1 -1
- package/core/server/services/mail/ghost-mailer.js +1 -1
- package/core/server/services/mail/index.js +1 -1
- package/core/server/services/media-inliner/external-media-inliner.js +2 -2
- package/core/server/services/media-inliner/service.js +4 -3
- package/core/server/services/member-attribution/index.js +1 -1
- package/core/server/services/member-welcome-emails/service.js +1 -1
- package/core/server/services/members/api.js +8 -2
- package/core/server/services/members/import-export/config.js +30 -0
- package/core/server/services/members/import-export/config.ts +34 -0
- package/core/server/services/members/import-export/csv/index.js +10 -0
- package/core/server/services/members/import-export/csv/index.ts +2 -0
- package/core/server/services/members/import-export/csv/parse.js +64 -0
- package/core/server/services/members/import-export/csv/parse.ts +69 -0
- package/core/server/services/members/import-export/csv/serialize.js +13 -0
- package/core/server/services/members/import-export/csv/serialize.ts +18 -0
- package/core/server/services/members/import-export/export/exporter.js +202 -0
- package/core/server/services/members/import-export/export/exporter.ts +325 -0
- package/core/server/services/members/import-export/import/completion-email.js +65 -0
- package/core/server/services/members/import-export/import/completion-email.ts +119 -0
- package/core/server/services/members/import-export/import/importer.js +276 -0
- package/core/server/services/members/import-export/import/importer.ts +430 -0
- package/core/server/services/members/import-export/import/reader.js +32 -0
- package/core/server/services/members/import-export/import/reader.ts +33 -0
- package/core/server/services/members/import-export/import/row.js +33 -0
- package/core/server/services/members/import-export/import/row.ts +52 -0
- package/core/server/services/members/import-export/import/spool.js +30 -0
- package/core/server/services/members/import-export/import/spool.ts +38 -0
- package/core/server/services/members/import-export/index.js +90 -0
- package/core/server/services/members/import-export/index.ts +118 -0
- package/core/server/services/members/members-api/controllers/router-controller.js +7 -0
- package/core/server/services/members/members-api/members-api.js +4 -2
- package/core/server/services/members/members-api/repositories/event-repository.js +13 -2
- package/core/server/services/members/members-api/services/member-bread-service.js +42 -19
- package/core/server/services/members/middleware.js +1 -1
- package/core/server/services/members/service.js +28 -17
- package/core/server/services/members/stripe-connect.js +1 -1
- package/core/server/services/members-custom-fields/actions.js +3 -0
- package/core/server/services/members-custom-fields/actions.ts +6 -2
- package/core/server/services/members-custom-fields/config.js +34 -0
- package/core/server/services/members-custom-fields/config.ts +38 -0
- package/core/server/services/members-custom-fields/definitions-service.js +156 -21
- package/core/server/services/members-custom-fields/definitions-service.ts +170 -25
- package/core/server/services/members-custom-fields/index.js +16 -3
- package/core/server/services/members-custom-fields/index.ts +17 -3
- package/core/server/services/members-custom-fields/values-service.js +56 -10
- package/core/server/services/members-custom-fields/values-service.ts +62 -10
- package/core/server/services/mentions/mention-sending-service.js +22 -2
- package/core/server/services/mentions/service.js +21 -5
- package/core/server/services/newsletters/index.js +1 -1
- package/core/server/services/oembed/oembed-service.js +122 -33
- package/core/server/services/oembed/service.js +4 -2
- package/core/server/services/offers/service.js +1 -1
- package/core/server/services/post-scheduling/index.js +4 -3
- package/core/server/services/post-scheduling/index.ts +4 -3
- package/core/server/services/post-scheduling/post-scheduling.js +1 -1
- package/core/server/services/post-scheduling/post-scheduling.ts +1 -1
- package/core/server/services/posts/post-email-handler.js +13 -6
- package/core/server/services/posts/post-scheduling.js +1 -1
- package/core/server/services/posts/posts-exporter.js +6 -4
- package/core/server/services/posts/posts-service-instance.js +1 -1
- package/core/server/services/posts/posts-service.js +4 -4
- package/core/server/services/posts-public/service.js +1 -1
- package/core/server/services/public-config/site.js +1 -1
- package/core/server/services/recommendations/recommendation-service-wrapper.js +1 -1
- package/core/server/services/recommendations/service/libraries.d.ts +0 -2
- package/core/server/services/route-settings/dynamic-routing-service.js +2 -3
- package/core/server/services/route-settings/index.js +1 -1
- package/core/server/services/route-settings/route-settings-parser.js +134 -124
- package/core/server/services/route-settings/route-settings-parser.ts +160 -125
- package/core/server/services/route-settings/validation-errors.js +178 -0
- package/core/server/services/route-settings/validation-errors.ts +196 -0
- package/core/server/services/settings/settings-service.js +2 -2
- package/core/server/services/settings-helpers/index.js +1 -1
- package/core/server/services/slack-notifications/service.js +1 -1
- package/core/server/services/slack-ping/constants.js +16 -0
- package/core/server/services/slack-ping/constants.ts +15 -0
- package/core/server/services/slack-ping/index.js +26 -204
- package/core/server/services/slack-ping/index.ts +35 -0
- package/core/server/services/slack-ping/slack-ping-service.js +214 -0
- package/core/server/services/slack-ping/slack-ping-service.ts +296 -0
- package/core/server/services/staff/index.js +1 -1
- package/core/server/services/stats/posts-stats-service.js +1 -1
- package/core/server/services/stats/service.js +1 -1
- package/core/server/services/stripe/service.js +1 -1
- package/core/server/services/tags-public/service.js +1 -1
- package/core/server/services/themes/storage.js +9 -0
- package/core/server/services/themes/theme-storage.js +1 -1
- package/core/server/services/themes/validate.js +1 -1
- package/core/server/services/update-check/index.js +1 -1
- package/core/server/services/url/lazy-url-service.js +66 -6
- package/core/server/services/url/lazy-url-service.ts +73 -6
- package/core/server/services/url/url-generator.js +1 -1
- package/core/server/services/url/url-service-facade.js +68 -3
- package/core/server/services/url/url-service-facade.ts +79 -4
- package/core/server/services/url/url-service.js +1 -1
- package/core/server/services/url/urls.js +1 -1
- package/core/server/services/webhooks/index.js +19 -2
- package/core/server/services/webhooks/listen.js +6 -11
- package/core/server/services/webhooks/payload.js +1 -3
- package/core/server/services/webhooks/serialize.js +16 -1
- package/core/server/web/admin/app.js +1 -1
- package/core/server/web/admin/middleware/redirect-admin-urls.js +1 -1
- package/core/server/web/api/endpoints/admin/routes.js +1 -0
- package/core/server/web/api/middleware/cors.js +1 -1
- package/core/server/web/api/middleware/upload.js +4 -0
- package/core/server/web/gift-preview/controller.js +1 -1
- package/core/server/web/shared/middleware/redirect-amp-urls.js +1 -1
- package/core/server/web/shared/middleware/uncapitalise.js +2 -2
- package/core/server/web/shared/middleware/url-redirects.js +1 -1
- package/core/shared/config/defaults.json +10 -2
- package/core/shared/config/overrides.json +4 -0
- package/core/shared/express.js +6 -1
- package/core/shared/labs.js +2 -1
- package/core/shared/url-utils.js +19 -15
- package/core/shared/url-utils.ts +20 -0
- package/ghost.js +0 -1
- package/package.json +30 -35
- package/pnpm-lock.yaml +681 -2789
- package/pnpm-workspace.yaml +31 -17
- package/components/tryghost-adapter-base-scheduling-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.0.0.tgz +0 -0
- package/core/built/admin/assets/Combination--5EZGaDs.js +0 -43
- package/core/built/admin/assets/Growth-C0NoKcHQ.js +0 -3
- package/core/built/admin/assets/Newsletters-Ed8kDjdy.js +0 -1
- package/core/built/admin/assets/Overview-CArPgRZt.js +0 -1
- package/core/built/admin/assets/Web-CjjYoVM3.js +0 -2
- package/core/built/admin/assets/account-migration-mfa5mNI9.js +0 -1
- package/core/built/admin/assets/activitypub/inbox-B3rjKMTv.js +0 -1221
- package/core/built/admin/assets/activitypub/layout-jcurg3rU.js +0 -1
- package/core/built/admin/assets/activitypub/use-activity-pub-queries-yqGRcnLn.js +0 -2569
- package/core/built/admin/assets/activitypub/users-CfyHIsTG.js +0 -1316
- package/core/built/admin/assets/automations-DkUnxNdv.js +0 -1
- package/core/built/admin/assets/automations-vjXofmV_.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-T-pO3RcP.js +0 -1
- package/core/built/admin/assets/breadcrumb-CekPYTCn.js +0 -1
- package/core/built/admin/assets/button--i2uMDDn.js +0 -4
- package/core/built/admin/assets/card-CSWz_BXq.js +0 -1
- package/core/built/admin/assets/chart-helpers-C_4Ka_vT.js +0 -1
- package/core/built/admin/assets/chunk.524.8ce2c741473e2f0929dc.js +0 -25
- package/core/built/admin/assets/chunk.582.453459d6228d2955408b.js +0 -27
- package/core/built/admin/assets/code-editor-view-BfkwQto2.js +0 -1
- package/core/built/admin/assets/command-K75Jzs0G.js +0 -1
- package/core/built/admin/assets/comments-BEIi1DH-.js +0 -1
- package/core/built/admin/assets/container-BNXvlcjA.js +0 -1
- package/core/built/admin/assets/data-list-BmK5QMab.js +0 -1
- package/core/built/admin/assets/date-range-select-5sKzwbt7.js +0 -1
- package/core/built/admin/assets/disabled-sources-indicator-L_ssJTNr.js +0 -1
- package/core/built/admin/assets/dist-BBIJuyPg.js +0 -1
- package/core/built/admin/assets/dist-BHE0dp6o.js +0 -1
- package/core/built/admin/assets/dist-CT46_f_J.js +0 -1
- package/core/built/admin/assets/dist-DW0QXQO3.js +0 -1
- package/core/built/admin/assets/dist-DxFLceO5.js +0 -1
- package/core/built/admin/assets/dist-QcACAOAD.js +0 -1
- package/core/built/admin/assets/dist-duxRDcQu.js +0 -177
- package/core/built/admin/assets/domain-CLaPZ9Rc.js +0 -1
- package/core/built/admin/assets/dropzone-E0bSX4_a.js +0 -5
- package/core/built/admin/assets/edit-profile-DqNPKaA4.js +0 -1
- package/core/built/admin/assets/editor-CkLXQDRp.js +0 -8
- package/core/built/admin/assets/empty-indicator-BTtOlgIo.js +0 -1
- package/core/built/admin/assets/esm-TSfGW7nz.js +0 -2
- package/core/built/admin/assets/explore-BEstLxKr.js +0 -1
- package/core/built/admin/assets/feed-C58p2voG.js +0 -1
- package/core/built/admin/assets/field-BSbDUHPv.js +0 -1
- package/core/built/admin/assets/filters-BgYv8Gt7.js +0 -1
- package/core/built/admin/assets/filters-DvenFkmK.js +0 -1
- package/core/built/admin/assets/framework-provider-jQktxm9P.js +0 -4
- package/core/built/admin/assets/ghost-dark-8590dea6cd695ff90f27d262c4464538.css +0 -1
- package/core/built/admin/assets/gift-link-modal-BPjXkEFt.js +0 -1
- package/core/built/admin/assets/growth-D4JNiVTe.js +0 -1
- package/core/built/admin/assets/hooks-Cjxexi_I.js +0 -2
- package/core/built/admin/assets/index-BacwlcOy.js +0 -67
- package/core/built/admin/assets/index-DxRNHH0o.css +0 -1
- package/core/built/admin/assets/inline-C22rnPro.js +0 -1
- package/core/built/admin/assets/input-group-CKfrILLP.js +0 -1
- package/core/built/admin/assets/jsx-runtime-CtMZ-PAS.js +0 -1
- package/core/built/admin/assets/kpi-card-DZxQKAIb.js +0 -1
- package/core/built/admin/assets/kpi-card-FidQ5zg3.js +0 -1
- package/core/built/admin/assets/kpi-helpers-C5T8Vaf1.js +0 -1
- package/core/built/admin/assets/kpi-tabs-_VRK6hGV.js +0 -1
- package/core/built/admin/assets/label-Cza7hPgn.js +0 -1
- package/core/built/admin/assets/label-picker-DgC_zLaw.js +0 -1
- package/core/built/admin/assets/layout-BxsXnKFX.js +0 -1
- package/core/built/admin/assets/limit-service-CTurluJQ.js +0 -20
- package/core/built/admin/assets/link-helpers-C3Gqy2cz.js +0 -1
- package/core/built/admin/assets/list-page-BtqCnow_.js +0 -1
- package/core/built/admin/assets/member-custom-fields-9uXFBqSt.js +0 -1
- package/core/built/admin/assets/member-detail-Dq6ZDIxo.js +0 -1
- package/core/built/admin/assets/members-CUWD9jal.js +0 -10
- package/core/built/admin/assets/modals-CIdwHVga.js +0 -31
- package/core/built/admin/assets/moderation-DTt04UDA.js +0 -1
- package/core/built/admin/assets/newsletter-cC8vcc9h.js +0 -1
- package/core/built/admin/assets/note-DZU0IY9e.js +0 -1
- package/core/built/admin/assets/notifications-NoHpBHJ4.js +0 -1
- package/core/built/admin/assets/nql-lang-CvCSOQG3.js +0 -19
- package/core/built/admin/assets/onboarding-route-Deg2hNm8.js +0 -1
- package/core/built/admin/assets/overview-BQPt_9w3.js +0 -1
- package/core/built/admin/assets/page-header-D6bEqPo2.js +0 -1
- package/core/built/admin/assets/post-analytics-header-BPw_B2_D.js +0 -1
- package/core/built/admin/assets/post-analytics-kp2_--XO.js +0 -1
- package/core/built/admin/assets/post-share-modal-Cave3Z4W.js +0 -1
- package/core/built/admin/assets/preferences-C7h3j_uy.js +0 -5
- package/core/built/admin/assets/profile-B2x4q2oB.js +0 -1
- package/core/built/admin/assets/router-provider-5fsX1CYn.js +0 -1
- package/core/built/admin/assets/select-PhPjIBBT.js +0 -1
- package/core/built/admin/assets/settings-D5P9Gwgo.js +0 -6
- package/core/built/admin/assets/settings-zUOzQV5I.js +0 -1
- package/core/built/admin/assets/share-modal-EfpfbuWF.js +0 -1
- package/core/built/admin/assets/social-urls-DgAF08Xc.js +0 -18
- package/core/built/admin/assets/sort-button-WOQYJm2H.js +0 -1
- package/core/built/admin/assets/source-icon-hm8Cj-Gx.js +0 -1
- package/core/built/admin/assets/stats-CnQDb62m.js +0 -1
- package/core/built/admin/assets/stats-view-CCfTJgSe.js +0 -1
- package/core/built/admin/assets/step-1-BGlhY4DS.js +0 -1
- package/core/built/admin/assets/step-2-D3sDEyFH.js +0 -1
- package/core/built/admin/assets/step-3-CvZoUdsc.js +0 -2
- package/core/built/admin/assets/switch-CNjkOmwz.js +0 -1
- package/core/built/admin/assets/table-C5nZYPnW.js +0 -1
- package/core/built/admin/assets/tabs-dtOcExye.js +0 -1
- package/core/built/admin/assets/tags-Dhm0FB_g.js +0 -1
- package/core/built/admin/assets/textarea-CeKw3wmV.js +0 -1
- package/core/built/admin/assets/toggle-group-DfhZIMTW.js +0 -1
- package/core/built/admin/assets/topic-filter-Cxe1Il41.js +0 -1
- package/core/built/admin/assets/typeof-Ca-duI-z.js +0 -1
- package/core/built/admin/assets/use-filter-params-Bub6BqNy.js +0 -1
- package/core/built/admin/assets/use-growth-stats-BJORomv0.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-B89YjVoo.js +0 -1
- package/core/built/admin/assets/use-simple-pagination-BL2SYXKi.js +0 -1
- package/core/built/admin/assets/virtual-list-DNJOSK9I.js +0 -1
- package/core/built/admin/assets/web-BHUE3YQc.js +0 -1
- package/core/server/adapters/scheduling/scheduling-base.js +0 -5
- package/core/server/adapters/sso/SSOBase.js +0 -5
- package/core/server/adapters/storage/index.js +0 -17
- package/core/server/services/mail/templates/newsletter.html +0 -876
- package/core/server/services/members/exporter/query.js +0 -206
- package/core/server/services/members/importer/index.js +0 -30
- package/core/server/services/members/importer/labels.js +0 -125
- package/core/server/services/members/importer/members-csv-importer.js +0 -502
- /package/core/server/services/members/{importer → import-export/import}/email-template.js +0 -0
- /package/core/server/services/members/{importer/members-csv-importer-stripe-utils.js → import-export/import/stripe-utils.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
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{n as r}from"./dist-Ndy-PuGN.js";import{i,n as a,r as o,t as s}from"./tabs-BQcJQ1ke.js";import{Ft as c,It as l,Kt as u,Nr as d,Os as f,Q as p,R as m,Rn as h,V as g,_t as _,bt as v,gs as y,tr as b,tt as x,ut as S,vt as C,yt as w,zn as T}from"./index-ukW_0Uie.js";import"./layout-WUcz6tu1.js";var E=e(t(),1),D=n(),O=()=>{let{data:e,isLoading:t}=w(`index`),{data:n,isLoading:O}=v(`index`),k=t?[,,,,,].fill({apId:``,name:``,handle:``,avatarUrl:``}):e?.pages.flatMap(e=>e.accounts)??[],A=O?[,,,,,].fill({apId:``,name:``}):n?.pages.flatMap(e=>e.domains)??[],j=C(`index`),M=l(`index`),[N,P]=(0,E.useState)(new Set),F=_(`index`),I=c(`index`),[L,R]=(0,E.useState)(new Set),[z,B]=(0,E.useState)(null),V=u(),H=e=>{P(t=>{let n=new Set([...t]);return n.add(e.apId),n}),M.mutate(e),r.success(`User unblocked`)},U=e=>{P(t=>{let n=new Set([...t]);return n.delete(e.apId),n}),j.mutate(e),r.success(`User blocked`)},W=e=>{R(t=>{let n=new Set([...t]);return n.add(e.url),n}),I.mutate({url:e.url}),r.success(`Domain unblocked`)},G=e=>{R(t=>{let n=new Set([...t]);return n.delete(e.url),n}),F.mutate({url:e.url}),r.success(`Domain blocked`)};return(0,D.jsx)(m,{children:(0,D.jsxs)(`div`,{className:`mx-auto max-w-[620px] py-[min(4vh,48px)]`,children:[(0,D.jsx)(`div`,{className:`flex items-center justify-between gap-8`,children:(0,D.jsx)(f,{children:`Moderation`})}),(0,D.jsx)(`div`,{className:`mt-6`,children:(0,D.jsxs)(s,{defaultValue:`blocked_users`,variant:`underline`,children:[(0,D.jsxs)(o,{children:[(0,D.jsx)(i,{value:`blocked_users`,children:`Blocked users`}),(0,D.jsx)(i,{value:`blocked_domains`,children:`Blocked domains`})]}),(0,D.jsx)(a,{className:`mt-2`,value:`blocked_users`,children:!t&&k.length===0?(0,D.jsxs)(h,{children:[(0,D.jsx)(T,{children:(0,D.jsx)(y,{})}),(0,D.jsx)(`div`,{className:`mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center`,children:(0,D.jsx)(`p`,{children:`When you block someone, they won't be able to follow you or interact with your content on the social web.`})})]}):k.map((e,n)=>(0,D.jsx)(x,{actor:e,isCurrentUser:!0,children:(0,D.jsx)(`div`,{children:(0,D.jsxs)(g,{onClick:t?void 0:()=>p(e.handle,V),children:[(0,D.jsx)(S,{author:{icon:{url:e.avatarUrl},name:e.name,handle:e.handle}}),(0,D.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,D.jsx)(`span`,{className:`block truncate font-semibold text-black dark:text-white`,children:t?(0,D.jsx)(b,{className:`w-24`}):e.name}),(0,D.jsx)(`span`,{className:`block truncate text-sm text-gray-600`,children:t?(0,D.jsx)(b,{className:`w-40`}):e.handle})]}),N.has(e.apId)?(0,D.jsx)(d,{className:`ml-auto min-w-[90px] text-red hover:bg-red/5! hover:text-red-400`,variant:`outline`,onClick:t=>{t.stopPropagation(),U(e)},children:`Block`}):t?(0,D.jsx)(`div`,{className:`ml-auto w-16`,children:(0,D.jsx)(b,{})}):(0,D.jsx)(d,{className:`ml-auto min-w-[90px]`,variant:`destructive`,onClick:t=>{t.stopPropagation(),H(e)},onMouseEnter:()=>B(e.apId),onMouseLeave:()=>B(null),children:z===e.apId?`Unblock`:`Blocked`})]})})},e.apId?e.apId:`loading-${n}`))}),(0,D.jsx)(a,{className:`mt-[11px]`,value:`blocked_domains`,children:!O&&A.length===0?(0,D.jsxs)(h,{children:[(0,D.jsx)(T,{children:(0,D.jsx)(y,{})}),(0,D.jsx)(`div`,{className:`mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center`,children:(0,D.jsx)(`p`,{children:`When you block a domain, all users from that domain won't be able to follow you or interact with your content.`})})]}):A.map((e,t)=>(0,D.jsxs)(g,{children:[(0,D.jsx)(`div`,{className:`flex min-w-0 flex-col`,children:(0,D.jsx)(`span`,{className:`block truncate font-semibold text-black dark:text-white`,children:O?(0,D.jsx)(b,{className:`w-48`}):new URL(e.url).hostname})}),L.has(e.url)?(0,D.jsx)(d,{className:`ml-auto min-w-[90px] text-red hover:bg-red/5! hover:text-red-400`,variant:`outline`,onClick:()=>G(e),children:`Block`}):O?(0,D.jsx)(`div`,{className:`ml-auto w-16`,children:(0,D.jsx)(b,{})}):(0,D.jsx)(d,{className:`ml-auto min-w-[90px]`,variant:`destructive`,onClick:()=>W(e),onMouseEnter:()=>B(e.url),onMouseLeave:()=>B(null),children:z===e.url?`Unblock`:`Blocked`})]},e.url?e.url:`loading-${t}`))})]})})]})})};export{O as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{c as r}from"./dist-DGzPJ_bO.js";import{a as i,c as a,i as o,l as s,n as c,o as ee,s as l}from"./switch-t-WyENU2.js";import{es as u,io as d}from"./index-ukW_0Uie.js";var f=e(t(),1),p=n(),m={searchPlaceholder:`Search...`,noResultsFound:`No results found.`,loading:`Loading...`,loadMore:`Load more`};function h(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)||e.detail?.toLowerCase().includes(n)):e}function g(e,t,n,r,i,a,o){if(e)return{...e,shouldClientFilter:o??e.shouldClientFilter};let s=!!t,c=t?.useOptions({query:r,selectedValues:i});return{options:s?c?.options??[]:n??[],isInitialLoad:s?c?.isInitialLoad??!1:a&&(n?.length??0)===0,isSearching:s?c?.isSearching??!1:a&&(n?.length??0)>0,hasMore:s?c?.hasMore??!1:!1,isLoadingMore:s?c?.isLoadingMore??!1:!1,loadMore:s?c?.loadMore??(()=>{}):()=>{},shouldClientFilter:o??!s}}function _({optionSource:e,options:t,values:n,onChange:_,valueSource:v,searchable:y=!0,isLoading:b=!1,maxSelections:x,isMultiSelect:S=!0,onClose:C,autoCloseOnSelect:w=!1,className:T,searchInputClassName:E,shouldFilter:D,onSearchChange:O,i18n:k,renderItem:A,groupBy:j,header:M,footer:N}){let P=(0,f.useMemo)(()=>({...m,...k}),[k]),[F,I]=(0,f.useState)(``),L=(0,f.useCallback)(t=>{I(t),e?.onSearchChange?.(t),O?.(t)},[O,e]),R=g(e,v,t,F,n,b,D),z=R.options,[B,V]=(0,f.useState)([]),H=(0,f.useMemo)(()=>z.filter(e=>n.includes(e.value)),[z,n]);(0,f.useEffect)(()=>{if(n.length===0){V([]);return}H.length>0&&V(e=>{let t=[];for(let r of n){let n=H.find(e=>e.value===r)??e.find(e=>e.value===r);n&&t.push(n)}return t})},[H,n]);let U=(0,f.useMemo)(()=>n.length===0?[]:B.length>0?B:H,[B,n.length,H]),W=(0,f.useMemo)(()=>h(U,F),[F,U]),G=(0,f.useMemo)(()=>z.filter(e=>!n.includes(e.value)),[z,n]),K=(0,f.useMemo)(()=>{let e=new Map;for(let t of G){let n=j?.(t),r=typeof n==`string`?n:n?.key,i=typeof n==`string`?n:n?.label,a=e.get(r);e.set(r,{label:i,options:[...a?.options??[],t]})}return[...e.entries()].map(([e,t])=>({key:e,...t}))},[j,G]),q=(0,f.useCallback)(e=>{_(n.filter(t=>t!==e.value))},[_,n]),J=e=>{_([]),C?.()},Y=e=>{let t=[...n,e.value];x&&t.length>x||(_(t),w&&C?.())},X=e=>{_([e.value]),C?.()},Z=S?q:J,Q=S?Y:X,te=(0,f.useCallback)(()=>L(``),[L]),ne=(e,t)=>{if(t)return;let n=e.detail?` - ${e.detail}`:``;return e.label+n},$=A??(({option:e,isSelected:t,onSelect:n})=>(0,p.jsxs)(l,{className:`group flex items-center gap-2`,value:ne(e,t),onSelect:n,children:[e.icon,(0,p.jsxs)(`div`,{className:`flex flex-col overflow-hidden`,children:[(0,p.jsx)(`span`,{className:`truncate text-accent-foreground`,title:e.label,children:e.label}),e.detail&&(0,p.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,title:e.detail,children:e.detail})]}),(0,p.jsx)(u,{className:r(`ms-auto text-primary`,!t&&`opacity-0`)})]},String(e.value)));return(0,p.jsx)(`div`,{className:r(`w-full`,T),children:(0,p.jsxs)(c,{shouldFilter:R.shouldClientFilter,children:[M?.({selectedOptions:U,onDeselect:q}),y&&(0,p.jsxs)(`div`,{className:`relative`,children:[(0,p.jsx)(ee,{className:r(`h-(--control-height) pr-8 text-sm`,E),placeholder:P.searchPlaceholder,value:F,onValueChange:L}),R.isSearching&&(0,p.jsx)(d,{className:`pointer-events-none absolute top-1/2 right-3 size-4 -translate-y-1/2 animate-spin text-muted-foreground`})]}),(0,p.jsxs)(a,{className:`outline-hidden`,children:[R.isInitialLoad?(0,p.jsxs)(`div`,{className:`flex items-center justify-center py-6 text-sm text-muted-foreground`,children:[(0,p.jsx)(d,{className:`mr-2 size-4 animate-spin`}),P.loading]}):(0,p.jsx)(o,{children:P.noResultsFound}),W.length>0&&(0,p.jsx)(i,{heading:P.selectedHeading,children:W.map(e=>$({option:e,isSelected:!0,onSelect:()=>Z(e)}))}),G.length>0&&(0,p.jsxs)(p.Fragment,{children:[W.length>0&&(0,p.jsx)(s,{}),K.map(e=>(0,p.jsx)(i,{heading:e.label,children:e.options.map(e=>$({option:e,isSelected:!1,onSelect:()=>Q(e)}))},e.key===void 0?`ungrouped`:`group:${e.key}`))]}),R.hasMore&&(0,p.jsxs)(p.Fragment,{children:[(W.length>0||G.length>0)&&(0,p.jsx)(s,{}),(0,p.jsx)(`div`,{className:`p-1.5`,children:(0,p.jsxs)(`button`,{className:`flex w-full items-center justify-center rounded-xs px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50`,disabled:R.isLoadingMore,type:`button`,onClick:R.loadMore,children:[R.isLoadingMore&&(0,p.jsx)(d,{className:`mr-2 size-4 animate-spin`}),R.isLoadingMore?P.loading:P.loadMore]})})]})]}),N?.({searchInput:F,clearSearch:te})]})})}export{_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
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{i as r}from"./hooks-BApwwBE0.js";import{i,r as a}from"./stats-BQZMGMvn.js";import{t as o}from"./posts-EWpZIjkr.js";import{o as s}from"./post-helpers-C5OQMBoi.js";import{m as c}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{a as l}from"./router-provider-C1R4AZ2o.js";import{_ as u,f as d,m as f,p}from"./dist-DGzPJ_bO.js";import{i as m,r as h,t as g}from"./tabs-BQcJQ1ke.js";import{a as _,i as v,n as y,o as b,r as x,t as S}from"./card-DGoDJzrn.js";import{c as C,l as w,n as T,o as E,r as ee,s as te,t as ne,u as re}from"./data-list-16rkJYYi.js";import{i as ie,n as ae,o as oe,r as se,t as D}from"./use-simple-pagination-DC01kpo0.js";import{$n as ce,Br as O,Gn as k,Ji as A,Ma as le,Nr as j,Rr as M,Rs as ue,Xn as N,Yi as P,Zn as F,Zo as I,js as L,na as R,nr as de,rr as fe,ys as pe}from"./index-ukW_0Uie.js";import{t as me}from"./member-route-0Aa52Ntz.js";import{a as z,i as B,n as V,r as H,t as U}from"./kpi-card-BlZaG1Lo.js";import{r as he,t as ge}from"./post-analytics-header-DsMoLx0R.js";import{n as _e}from"./post-analytics-context-D0Mw-Pmv.js";import{a as ve,i as ye,n as W,o as G,r as K}from"./link-helpers-tOlxmuH5.js";var q=r({dataType:`FeedbackResponseType`,path:e=>`/feedback/${e}/`}),J=e(t(),1),Y=(e,t)=>{let{data:n,isLoading:r,error:i}=q(e,{searchParams:{limit:`50`,...t===void 0?{}:{score:t.toString()}}});return{feedback:(0,J.useMemo)(()=>n?.feedback?n.feedback:[],[n]),isLoading:r,error:i}},X=n(),be=({feedbackStats:e})=>{let{postId:t}=c(),n=l(),[r,i]=(0,J.useState)(`positive`),{feedback:a,isLoading:o}=Y(t||``,+(r===`positive`)),{totalPages:s,paginatedData:d,nextPage:C,previousPage:w,hasNextPage:T,hasPreviousPage:E}=D({data:a,itemsPerPage:9}),ee=o;return(0,X.jsxs)(S,{children:[(0,X.jsxs)(_,{className:`pb-5`,children:[(0,X.jsx)(b,{children:`Feedback`}),(0,X.jsx)(x,{children:`What did your readers think?`})]}),e.totalFeedback>0?(0,X.jsxs)(y,{className:`pb-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,X.jsx)(g,{className:`pb-3`,defaultValue:`positive`,value:r,variant:`button`,onValueChange:e=>i(e),children:(0,X.jsxs)(h,{className:`gap-1`,children:[(0,X.jsx)(m,{className:`h-7`,value:`positive`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-1 text-xs`,children:[(0,X.jsx)(A,{size:14,strokeWidth:1.25}),(0,X.jsx)(`span`,{className:`hidden font-medium sm:visible! sm:inline!`,children:`More like this`}),(0,X.jsx)(`span`,{className:`font-semibold tracking-tight`,children:p(e.positiveFeedback/e.totalFeedback)})]})}),(0,X.jsx)(m,{className:`h-7`,value:`negative`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-1 text-xs`,children:[(0,X.jsx)(P,{size:14,strokeWidth:1.25}),(0,X.jsx)(`span`,{className:`hidden font-medium sm:visible! sm:inline!`,children:`Less like this`}),(0,X.jsx)(`span`,{className:`font-semibold tracking-tight`,children:p(e.negativeFeedback/e.totalFeedback)})]})})]})}),(0,X.jsx)(L,{className:`mr-2 mb-3 lg:hidden xl:visible! xl:block!`,children:`Date`})]}),(0,X.jsx)(k,{}),ee?(0,X.jsx)(de,{className:`mt-3`,lines:3}):d&&d.length>0?(0,X.jsx)(`div`,{className:`flex w-full flex-col py-3`,children:d.map(e=>(0,X.jsxs)(`div`,{className:`flex h-10 w-full items-center justify-between gap-3 rounded-sm border-none px-2 text-sm hover:cursor-pointer hover:bg-accent`,onClick:()=>{n(`/members/${e.member.id}`,{crossApp:!0})},children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 font-medium`,children:[(0,X.jsxs)(N,{className:`size-7`,children:[e.member?.avatar_image&&(0,X.jsx)(`img`,{className:`absolute aspect-square size-full`,src:e.member?.avatar_image}),(0,X.jsx)(F,{className:`text-white`,style:{backgroundColor:`${u(M(e.member),`45`,`55`)}`},children:O(e.member)})]}),M(e.member)]}),(0,X.jsx)(`div`,{className:`whitespace-nowrap text-muted-foreground`,children:f(e.created_at)})]},e.id))}):(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center py-8 text-center text-sm text-muted-foreground`,children:(0,X.jsxs)(`div`,{children:[`No `,r===`positive`?`positive`:`negative`,` feedback yet`]})})]}):(0,X.jsxs)(y,{className:`flex grow flex-col items-center justify-center text-center text-sm text-muted-foreground`,children:[(0,X.jsx)(`div`,{children:`No members have given feedback yet`}),(0,X.jsx)(`div`,{children:`When someone does, you'll see their response here.`})]}),e.totalFeedback>0&&(0,X.jsx)(v,{className:`grow-0`,children:(0,X.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3`,children:[(0,X.jsxs)(j,{variant:`outline`,onClick:()=>{let e=`(feedback.post_id:'${t}'+feedback.score:1)`,i=`(feedback.post_id:'${t}'+feedback.score:0)`,a=`${encodeURIComponent(e)}&post=${t}`,o=`${encodeURIComponent(i)}&post=${t}`;n(`/members?filter=${r===`positive`?a:o}`,{crossApp:!0})},children:[`View all`,(0,X.jsx)(R,{})]}),s>1&&(0,X.jsx)(ae,{className:`pb-0`,children:(0,X.jsxs)(se,{children:[(0,X.jsx)(oe,{disabled:!E,onClick:w}),(0,X.jsx)(ie,{disabled:!T,onClick:C})]})})]})})]})},xe=()=>{let{mutateAsync:e,isPending:t}=ye();return{editLinks:e,isEditLinksLoading:t}},Se=e=>{let{data:t,isLoading:n}=o(e),{data:r,isLoading:s}=o(e,{searchParams:{include:`count.positive_feedback,count.negative_feedback`}}),c=(0,J.useMemo)(()=>t?.posts[0],[t]),l=(0,J.useMemo)(()=>r?.posts[0],[r]),u=(0,J.useMemo)(()=>c?{sent:c.email?.email_count||0,opened:c.email?.opened_count||0,clicked:c.count?.clicks||0,openedRate:c.email?.opened_count?c.email.opened_count/c.email.email_count:0,clickedRate:c.count?.clicks&&c.email?.email_count?c.count.clicks/c.email.email_count:0}:{sent:0,opened:0,clicked:0,openedRate:0,clickedRate:0},[c]),d=(0,J.useMemo)(()=>{if(!l?.count)return{positiveFeedback:0,negativeFeedback:0,totalFeedback:0};let e=l.count.positive_feedback||0,t=l.count.negative_feedback||0;return{positiveFeedback:e,negativeFeedback:t,totalFeedback:e+t}},[l]),f=(0,J.useMemo)(()=>c?.newsletter?.id,[c]),{data:p,isLoading:m}=a({searchParams:f?{newsletter_id:f}:{},enabled:!!f}),h=(0,J.useMemo)(()=>p?.stats?p.stats.map(e=>e.post_id):[],[p]),{data:g,isLoading:_}=i({searchParams:f&&h.length>0?{newsletter_id:f,post_ids:h.join(`,`)}:{},enabled:!!f&&h.length>0}),v=(0,J.useMemo)(()=>{if(!p?.stats)return;let e=p.stats,t=g?.stats||[],n=new Map;t.forEach(e=>{n.set(e.post_id,e)});let r=e.map(e=>{let t=n.get(e.post_id);return{...e,total_clicks:t?.total_clicks||0,click_rate:t?.click_rate||0}});return{...p,stats:r}},[p,g]),y=m||_,{data:b,isLoading:x,refetch:S}=ve({searchParams:{filter:`post_id:'${e}'`}}),C=(0,J.useMemo)(()=>{if(!v||!v.stats)return{openRate:0,clickRate:0};let e=v.stats;if(e.length===0)return{openRate:0,clickRate:0};let t=e.reduce((e,t)=>e+(t.open_rate||0),0),n=e.reduce((e,t)=>e+(t.click_rate||0),0);return{openRate:Number((t/e.length).toFixed(2)),clickRate:Number((n/e.length).toFixed(2))}},[v]),w=(0,J.useMemo)(()=>K(b),[b]);return{post:c,stats:u,feedbackStats:d,averageStats:(0,J.useMemo)(()=>({openedRate:C.openRate,clickedRate:C.clickRate}),[C]),topLinks:w,refetchTopLinks:S,isLoading:n||s||y||x}},Ce=({breakpoints:e={sm:1080,md:1280,lg:1360}}={})=>{let[t,n]=(0,J.useState)(`md`);return(0,J.useEffect)(()=>{let t=()=>{let t=window.innerWidth;t<e.sm?n(`sm`):t<e.md?n(`md`):n(`lg`)};return t(),window.addEventListener(`resize`,t),()=>window.removeEventListener(`resize`,t)},[e]),{chartSize:t,isSmall:t===`sm`,isMedium:t===`md`,isLarge:t===`lg`}},we=()=>(0,X.jsx)(`div`,{className:`absolute top-1/2 -right-4 z-10 hidden size-8 -translate-y-1/2 items-center justify-center rounded-full border bg-background text-muted-foreground md:visible! md:flex!`,children:(0,X.jsx)(I,{className:`ml-0.5`,size:16,strokeWidth:1.5})}),Te=({dataColor:e,value:t,avgValue:n})=>(0,X.jsxs)(`div`,{className:`absolute top-6 left-1/2 z-50 flex w-[200px] -translate-x-1/2 flex-col items-stretch gap-1.5 rounded-md bg-background px-4 py-2 text-sm opacity-0 shadow-md transition-all group-hover/block:top-3 group-hover/block:opacity-100`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,X.jsx)(`div`,{className:`size-2 rounded-full bg-chart-blue opacity-50`,style:{backgroundColor:e}}),`This newsletter`]}),(0,X.jsx)(`div`,{className:`text-right font-mono`,children:t})]}),(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,X.jsx)(`div`,{className:`size-2 rounded-full bg-chart-gray opacity-80`}),`Average`]}),(0,X.jsx)(`div`,{className:`text-right font-mono`,children:n})]})]}),Ee=()=>{let e=l(),[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(``),a=(0,J.useRef)(null),o=(0,J.useRef)(null),{chartSize:c}=Ce(),{appSettings:u}=ue(),{emailTrackClicks:f,emailTrackOpens:m}=u?.analytics||{},{post:h,isPostLoading:g,postId:O}=_e(),A=t=>e(me({filter:t}),{crossApp:!0}),M=h,N=s(M);(0,J.useEffect)(()=>{!g&&!N&&e(`/posts/analytics/${O}`)},[e,O,g,N]);let{stats:P,averageStats:F,topLinks:I,isLoading:R,refetchTopLinks:ve}=Se(O),{editLinks:ye}=xe(),K=(0,J.useMemo)(()=>{if(!M?.count)return{positiveFeedback:0,negativeFeedback:0,totalFeedback:0};let e=M.count.positive_feedback||0,t=M.count.negative_feedback||0;return{positiveFeedback:e,negativeFeedback:t,totalFeedback:e+t}},[M]),q=(0,J.useMemo)(()=>M?.newsletter?.feedback_enabled===!0,[M]),Y=(0,J.useMemo)(()=>K.totalFeedback>0?!0:q,[K.totalFeedback,q]),Ee=e=>{let t=W(I,e);t&&(n(e),i(t.link.to))},De=()=>{if(!t)return;let e=W(I,t);if(!e)return;let a=r.trim();if(a===``||a===e.link.to){n(null),i(``);return}ye({originalUrl:e.link.originalTo,editedUrl:r,postId:O},{onSuccess:()=>{n(null),i(``),ve()}})},{totalPages:Oe,paginatedData:ke,nextPage:Ae,previousPage:je,hasNextPage:Me,hasPreviousPage:Ne}=D({data:I,itemsPerPage:10});(0,J.useEffect)(()=>{if(t&&a.current){a.current.focus();let e=W(I,t),s=t=>{o.current&&!o.current.contains(t.target)&&r===e?.link.to&&(n(null),i(``))};return document.addEventListener(`mousedown`,s),()=>{document.removeEventListener(`mousedown`,s)}}},[t,r,I]);let Z=R||g,Pe=[{datatype:`Sent`,value:1,fill:`url(#gradientPurple)`,color:`var(--chart-purple)`}],Fe={percentage:{label:`O`},Average:{label:`Average`},"This newsletter":{label:`This newsletter`}},Ie=[{datatype:`Average`,value:F.openedRate,fill:`url(#gradientGray)`,color:`var(--chart-gray)`},{datatype:`This newsletter`,value:P.openedRate,fill:`url(#gradientBlue)`,color:`var(--chart-blue)`}],Le={percentage:{label:`Opened`},Average:{label:`Average`},"This newsletter":{label:`This newsletter`}},Re=[{datatype:`Average`,value:F.clickedRate,fill:`url(#gradientGray)`,color:`var(--chart-gray)`},{datatype:`This newsletter`,value:P.clickedRate,fill:`url(#gradientTeal)`,color:`var(--chart-teal)`}],ze={percentage:{label:`Clicked`},Average:{label:`Average`},"This newsletter":{label:`This newsletter`}},Q=`grid-cols-3`,$=`aspect-[16/10] w-full max-w-[320px] sm:aspect-[2/1] md:aspect-[10/14] md:max-w-none lg:aspect-square`;return(!f||!m)&&(Q=`grid-cols-2`,$=`aspect-[16/10] w-full max-w-[320px] sm:aspect-[2/1] md:aspect-square md:max-w-none lg:aspect-[15/10]`),!f&&!m&&(Q=`grid-cols-1`,$=`aspect-square w-full sm:aspect-[16/10] md:max-w-[320px] md:max-h-[320px] lg:aspect-[12/10]`),(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ge,{currentTab:`Newsletter`}),(0,X.jsx)(he,{children:(0,X.jsxs)(`div`,{className:`grid grid-cols-1 gap-6 ${Y&&f&&`lg:grid-cols-2`}`,children:[(0,X.jsxs)(S,{className:Y&&f?`lg:col-span-2`:``,children:[(0,X.jsxs)(_,{className:`hidden`,children:[(0,X.jsx)(b,{children:`Newsletters`}),(0,X.jsx)(x,{children:`How did this post perform`})]}),Z?(0,X.jsx)(y,{className:`h-[25vw] p-6`,children:(0,X.jsx)(ce,{})}):(0,X.jsxs)(y,{className:`p-0`,children:[(0,X.jsxs)(`div`,{className:`grid ${Q} items-stretch border-b`,children:[(0,X.jsxs)(U,{className:`group relative isolate grow p-3 md:px-6 md:py-5`,children:[(0,X.jsx)(B,{onClick:()=>{A(`emails.post_id:${O}`)},children:`View members →`}),(0,X.jsxs)(H,{onClick:()=>{A(`emails.post_id:${O}`)},children:[(0,X.jsx)(`div`,{className:`ml-0.5 size-[9px] rounded-full bg-chart-purple opacity-50`}),`Sent`]}),(0,X.jsx)(V,{children:(0,X.jsx)(z,{className:`text-xl leading-none sm:text-2xl md:text-[2.6rem]`,children:d(P.sent)})})]}),m&&(0,X.jsxs)(U,{className:`p-3 md:px-6 md:py-5`,children:[(0,X.jsx)(B,{onClick:()=>{A(`opened_emails.post_id:${O}`)},children:`View members →`}),(0,X.jsxs)(H,{onClick:()=>{A(`opened_emails.post_id:${O}`)},children:[(0,X.jsx)(`div`,{className:`ml-0.5 size-[9px] rounded-full bg-chart-blue opacity-50`}),`Opened`]}),(0,X.jsx)(V,{children:(0,X.jsx)(z,{className:`text-xl leading-none sm:text-2xl md:text-[2.6rem]`,children:d(P.opened)})})]}),f&&(0,X.jsxs)(U,{className:`group relative isolate grow p-3 md:px-6 md:py-5`,children:[(0,X.jsx)(B,{onClick:()=>{A(`clicked_links.post_id:${O}`)},children:`View members →`}),(0,X.jsxs)(H,{onClick:()=>{A(`clicked_links.post_id:${O}`)},children:[(0,X.jsx)(`div`,{className:`ml-0.5 size-[9px] rounded-full bg-chart-teal opacity-50`}),`Clicked`]}),(0,X.jsx)(V,{children:(0,X.jsx)(z,{className:`text-xl leading-none sm:text-2xl md:text-[2.6rem]`,children:d(P.clicked)})})]})]}),(0,X.jsxs)(`div`,{className:`$ mx-auto grid grid-cols-1 items-center justify-center gap-4 transition-all md:gap-0 ${Q===`grid-cols-2`&&`md:grid-cols-2`} ${Q===`grid-cols-3`&&`md:grid-cols-3`}`,children:[(0,X.jsxs)(`div`,{className:`relative border-r-0 px-6 ${(m||f)&&`md:border-r`}`,children:[(0,X.jsx)(G,{className:$,config:Fe,data:Pe,percentageLabel:`Sent`,percentageValue:p(1),size:c,tooltip:!1}),(m||f)&&(0,X.jsx)(we,{})]}),m&&(0,X.jsxs)(`div`,{className:`group/block relative border-r-0 px-6 transition-all hover:bg-muted/25 ${f&&`md:border-r`}`,children:[(0,X.jsx)(Te,{avgValue:p(F.openedRate),dataColor:`var(--chart-blue)`,value:p(P.openedRate)}),(0,X.jsx)(G,{className:$,config:Le,data:Ie,percentageLabel:`Open rate`,percentageValue:p(P.openedRate),size:c,tooltip:!1}),f&&(0,X.jsx)(we,{})]}),f&&(0,X.jsxs)(`div`,{className:`group/block relative px-6 transition-all hover:bg-muted/25`,children:[(0,X.jsx)(Te,{avgValue:p(F.clickedRate),dataColor:`var(--chart-teal)`,value:p(P.clickedRate)}),(0,X.jsx)(G,{className:$,config:ze,data:Re,percentageLabel:`Click rate`,percentageValue:p(P.clickedRate),size:c,tooltip:!1})]})]})]})]}),Y&&(0,X.jsx)(be,{feedbackStats:K}),f&&(0,X.jsxs)(S,{className:`group/datalist overflow-hidden`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between p-6`,children:[(0,X.jsxs)(_,{className:`p-0`,children:[(0,X.jsx)(b,{children:`Newsletter clicks`}),(0,X.jsx)(x,{children:`Which links resonated with your readers`})]}),(0,X.jsx)(L,{className:`mr-2`,children:`Members`})]}),Z?(0,X.jsxs)(y,{className:`p-6 pt-0`,children:[(0,X.jsx)(k,{}),(0,X.jsx)(de,{className:`mt-6`})]}):(0,X.jsxs)(y,{className:`pb-0`,children:[(0,X.jsx)(k,{}),I.length>0?(0,X.jsx)(ne,{className:``,children:(0,X.jsx)(ee,{children:ke?.map(e=>{let n=P.clicked>0?e.count/P.clicked:0,s=e.link.link_id,c=e.link.title,l=e.link.to,u=e.link.edited;return(0,X.jsxs)(re,{children:[t!==s&&(0,X.jsx)(T,{style:{width:`${n?Math.round(n*100):0}%`}}),(0,X.jsx)(E,{className:`w-full`,children:t===s?(0,X.jsxs)(`div`,{ref:o,className:`flex w-full items-center gap-2`,children:[(0,X.jsx)(fe,{ref:a,className:`z-50 h-7 w-full border-border bg-background text-sm`,value:r,onChange:e=>i(e.target.value)}),(0,X.jsx)(j,{size:`sm`,onClick:De,children:`Update`})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(j,{className:`mr-2 shrink-0 bg-background`,size:`sm`,variant:`outline`,onClick:()=>Ee(s),children:(0,X.jsx)(le,{})}),(0,X.jsx)(`a`,{className:`block truncate font-medium hover:underline`,href:l,rel:`noreferrer`,target:`_blank`,title:c,children:c}),u&&(0,X.jsx)(`span`,{className:`ml-1 text-gray-500`,children:`(edited)`})]})}),(0,X.jsxs)(te,{children:[(0,X.jsx)(C,{children:d(e.count||0)}),(0,X.jsx)(w,{children:p(n)})]})]},s)})})}):(0,X.jsx)(`div`,{className:`py-20 text-center text-sm text-gray-700`,children:`You have no links in your post.`})]}),!Z&&I.length>1&&(0,X.jsx)(v,{children:(0,X.jsxs)(`div`,{className:`flex w-full items-start justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`mt-2 flex items-start gap-2 pl-4 text-sm text-green`,children:[(0,X.jsx)(pe,{size:20,strokeWidth:1.5}),`Sent a broken link? You can update it!`]}),Oe>1&&(0,X.jsx)(ae,{className:`pb-0`,children:(0,X.jsxs)(se,{children:[(0,X.jsx)(oe,{disabled:!Ne,onClick:je}),(0,X.jsx)(ie,{disabled:!Me,onClick:Ae})]})})]})})]})]})})]})};export{Ee as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,n as t,t as n}from"./hooks-
|
|
1
|
+
import{i as e,n as t,t as n}from"./hooks-BApwwBE0.js";import{n as r,r as i}from"./update-queries-C4CnvJaW.js";var a=`NewslettersResponseType`,o=a,s=n({dataType:a,path:`/newsletters/`,defaultSearchParams:{include:`count.active_members,count.posts`,limit:`50`},defaultNextPageParams:(e,t)=>({...t,page:(e.meta?.pagination.next||1).toString()}),returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.newsletters),r=t[t.length-1].meta;return{newsletters:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}});e({dataType:a,path:e=>`/newsletters/${e}/`});var c=t({method:`POST`,path:()=>`/newsletters/`,body:({opt_in_existing:e,...t})=>({newsletters:[t]}),searchParams:e=>({opt_in_existing:e.opt_in_existing.toString(),include:`count.active_members,count.posts`}),updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:r(`newsletters`)}}),l=t({method:`PUT`,path:e=>`/newsletters/${e.id}/`,body:e=>({newsletters:[e]}),defaultSearchParams:{include:`count.active_members,count.posts`},updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:i(`newsletters`)}}),u=t({method:`PUT`,path:()=>`/newsletters/verifications/`,body:({token:e})=>({token:e}),defaultSearchParams:{include:`count.active_members,count.posts`},updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:i(`newsletters`)}});export{u as a,l as i,c as n,s as r,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
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{m as r}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{s as i}from"./router-provider-C1R4AZ2o.js";import{Ht as a,I as o,Kt as s,L as c,Q as l,R as u,Wt as d,Y as f,Z as p,er as m,tr as h,tt as g,ut as _,vo as v}from"./index-ukW_0Uie.js";import{i as y,n as b,r as x,t as S}from"./use-reply-chain-data-DbKYX50v.js";var C=e(t(),1),w=n(),T=()=>(0,w.jsx)(`div`,{className:`h-px w-full bg-gray-200 dark:bg-gray-950`}),E=()=>{let{postId:e}=r(),{canGoBack:t}=i(),[n,E]=(0,C.useState)(new Set),[D,O]=(0,C.useState)(new Set),[k,A]=(0,C.useState)(new Set),[j,M]=(0,C.useState)(!1),N=(0,C.useRef)(null),P=(0,C.useRef)(null),F=(0,C.useRef)(null),I=(0,C.useRef)(null),L=s(),{threadParents:R,post:z,processedReplies:B,isLoading:V,loadMoreChildren:H,loadMoreChildReplies:U,hasMoreChildren:W,hasMoreChildReplies:G}=S(decodeURIComponent(e??``),{includeAncestors:!0}),K=z?.object,q=K?.replyCount??0,[J,Y]=(0,C.useState)(!1);if((0,C.useEffect)(()=>{P.current&&R.length>0&&!J&&(P.current.scrollIntoView({behavior:`instant`,block:`start`}),Y(!0))},[R,J]),(0,C.useEffect)(()=>{F.current&&F.current.disconnect();let e=document.querySelector(`[data-scrollable-container]`);if(e)return F.current=new IntersectionObserver(async e=>{if(e[0].isIntersecting&&W&&!j){M(!0);try{await H()}catch(e){console.error(`Failed to load more top-level replies:`,e)}finally{M(!1)}}},{root:e,rootMargin:`200px`}),I.current&&F.current.observe(I.current),()=>{F.current&&F.current.disconnect()}},[W,j,H]),V)return(0,w.jsx)(u,{children:(0,w.jsxs)(`div`,{className:`mx-auto flex max-w-[620px] flex-col items-center gap-3 pt-9 lg:px-8`,children:[(0,w.jsxs)(`div`,{className:`flex w-full items-center gap-3`,children:[(0,w.jsx)(h,{className:`size-10 rounded-full`}),(0,w.jsxs)(`div`,{className:`grow pt-1`,children:[(0,w.jsx)(h,{className:`w-24`}),(0,w.jsx)(h,{className:`w-3/5`})]})]}),(0,w.jsxs)(`div`,{className:`mb-7 w-full`,children:[(0,w.jsx)(h,{}),(0,w.jsx)(h,{className:`w-4/5`}),(0,w.jsx)(h,{})]}),(0,w.jsx)(T,{}),(0,w.jsxs)(`div`,{className:`flex w-full items-center gap-3 py-3`,children:[(0,w.jsx)(h,{className:`block size-full`,containerClassName:`size-10 rounded-full overflow-hidden`}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(h,{className:`w-52`}),(0,w.jsx)(h,{className:`w-28`})]})]}),(0,w.jsx)(T,{})]})});if(!z)return(0,w.jsx)(u,{children:(0,w.jsx)(`div`,{className:`mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center`,children:(0,w.jsxs)(c,{children:[(0,w.jsx)(o,{children:(0,w.jsx)(v,{})}),(0,w.jsx)(`div`,{children:`Error loading note.`})]})})});function X(){}function Z(e){E(t=>{let n=new Set(t);return n.has(e)?n.delete(e):(n.add(e),O(t=>{let n=new Set(t);return n.add(e),n})),n})}async function Q(e,t){if(!k.has(e)){A(t=>new Set(t).add(e));try{U&&await U(t)}catch(e){console.error(`Failed to load more replies for chain:`,e)}finally{A(t=>{let n=new Set(t);return n.delete(e),n})}}}return(0,w.jsx)(u,{children:(0,w.jsx)(`div`,{className:`mx-auto flex h-full max-w-[620px] flex-col`,children:(0,w.jsx)(`div`,{className:`relative flex-1`,children:(0,w.jsx)(`div`,{className:`grow overflow-y-auto`,children:(0,w.jsxs)(`div`,{className:`mx-auto px-8 pt-5 pb-10 max-lg:px-0`,children:[!R.length&&(0,w.jsx)(g,{actor:z.actor,isCurrentUser:z.object.authored,children:(0,w.jsxs)(`div`,{className:`col-[2/3] mx-auto flex w-full cursor-pointer items-center gap-3 ${t?`pt-10 max-md:pt-5`:`pt-5`}`,children:[(0,w.jsx)(`div`,{className:`relative z-10`,children:(0,w.jsx)(_,{author:z.actor,showFollowButton:!z.object.authored&&!z.actor.followedByMe})}),(0,w.jsxs)(`div`,{className:`relative z-10 flex w-full min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]`,onClick:e=>{l(z.actor,L,e)},children:[(0,w.jsx)(`div`,{className:`flex w-full`,children:(0,w.jsx)(`span`,{className:`min-w-0 truncate font-semibold whitespace-nowrap hover:underline`,children:z.actor.name})}),(0,w.jsxs)(`div`,{className:`flex w-full`,children:[(0,w.jsx)(`span`,{className:`truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-["·"]`,children:d(z.actor)}),(0,w.jsx)(`span`,{className:`text-gray-700`,children:p(K,!K.authored)})]})]})]})}),R.map(e=>e.object.type===`Tombstone`?(0,w.jsx)(x,{last:!1}):(0,w.jsx)(f,{actor:e.actor,allowDelete:!1,commentCount:e.object.replyCount??0,last:!1,layout:`reply`,likeCount:e.object.likeCount??0,object:e.object,repostCount:e.object.repostCount??0,type:`Note`,onClick:()=>{L(`/${e.object.type===`Article`?`reader`:`notes`}/${encodeURIComponent(e.object.id)}`)}})),(0,w.jsx)(`div`,{ref:P,className:`${t?`scroll-mt-[12px]`:`scroll-mt-[124px]`}`,children:(0,w.jsxs)(`div`,{className:`${R.length>0&&`min-h-[calc(100vh-52px)]`}`,children:[(0,w.jsx)(f,{actor:z.actor,allowDelete:!1,commentCount:q,last:!0,layout:`modal`,likeCount:K.likeCount??0,object:K,repostCount:K.repostCount,showHeader:R.length>0,showStats:!0,type:`Note`}),(0,w.jsx)(y,{object:K}),(0,w.jsx)(T,{}),(0,w.jsxs)(`div`,{ref:N,children:[B.map((e,t)=>{let r=t===B.length-1,i=e.mainReply.id,o=n.has(i),s=D.has(i),c=k.has(i),l=e.chain.length>0;return(0,w.jsxs)(C.Fragment,{children:[(0,w.jsx)(f,{actor:e.mainReply.actor,allowDelete:e.mainReply.object.authored,commentCount:e.mainReply.object.replyCount??0,isChainParent:l,isPending:a(e.mainReply.id),last:!l,layout:`reply`,likeCount:e.mainReply.object.likeCount??0,object:e.mainReply.object,parentId:K.id,repostCount:e.mainReply.object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(e.mainReply.id)}`)},onDelete:X}),l&&e.chain[0]&&(0,w.jsx)(f,{actor:e.chain[0].actor,allowDelete:e.chain[0].object.authored,commentCount:e.chain[0].object.replyCount??0,isChainContinuation:!0,isPending:a(e.chain[0].id),last:e.chain.length===1,layout:`reply`,likeCount:e.chain[0].object.likeCount??0,object:e.chain[0].object,parentId:K.id,repostCount:e.chain[0].object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(e.chain[0].id)}`)},onDelete:X},e.chain[0].id),l&&o&&e.chain.slice(1).map((n,r)=>{let i=r===e.chain.slice(1).length-1,o=G&&G(t),s=i&&o;return(0,w.jsx)(f,{actor:n.actor,allowDelete:n.object.authored,commentCount:n.object.replyCount??0,isChainContinuation:!0,isPending:a(n.id),last:i&&!s,layout:`reply`,likeCount:n.object.likeCount??0,object:n.object,parentId:K.id,repostCount:n.object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(n.id)}`)},onDelete:X},n.id)}),l&&e.chain.length>1&&!o&&(0,w.jsx)(b,{variant:`expand`,onClick:()=>Z(i)}),l&&o&&s&&G&&G(t)&&(0,w.jsx)(b,{loading:c,variant:`loadMore`,onClick:()=>Q(i,t)}),!r&&(0,w.jsx)(T,{})]},e.mainReply.id)}),j&&(0,w.jsx)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:(0,w.jsx)(m,{size:`md`})})]}),W&&(0,w.jsx)(`div`,{ref:I,className:`h-1`})]})})]})})})})})};export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{f as r}from"./dist-DGzPJ_bO.js";import{$o as i,F as a,I as o,Kt as s,L as c,Nr as l,Ot as u,Pi as d,Q as f,R as p,Ut as m,X as h,Z as g,_o as _,ba as v,ct as y,er as b,et as x,lt as S,ms as C,st as w,tr as T,tt as E,ut as D,va as O,vs as k}from"./index-ukW_0Uie.js";import"./layout-WUcz6tu1.js";var A=e(t(),1),j=n(),M=({notificationType:e,size:t=`lg`,className:n})=>{let r,i=``,a=`white`,o=t===`sm`?13:20,s=t===`sm`?2:1.5;switch(e){case`follow`:r=(0,j.jsx)(d,{className:`-mt-0.5 -mr-0.5 ${t===`sm`&&`size-[11px]`}`,color:a,size:o,strokeWidth:s}),i=`bg-blue-600`;break;case`like`:r=(0,j.jsx)(_,{className:`${t===`sm`?`size-[11px]`:`mt-px size-5`}`,color:a,strokeWidth:s}),i=`bg-pink-600`;break;case`reply`:r=(0,j.jsx)(O,{className:`mr-px mb-px`,color:a,size:o,strokeWidth:s}),i=`bg-purple-600`;break;case`repost`:r=(0,j.jsx)(v,{color:a,size:o,strokeWidth:s}),i=`bg-green-500`;break;case`mention`:r=(0,j.jsx)(k,{className:`${t===`sm`?`size-[12px]`:`size-5`}`,color:a,size:o,strokeWidth:s}),i=`bg-orange-500`;break}return(0,j.jsx)(`div`,{className:`flex ${t===`sm`?`size-5`:`size-9`} items-center justify-center rounded-full ${i} ${n&&n}`,children:r})},N=A.createContext(void 0),P=({isGrouped:e,centerAlign:t,children:n,onClick:r,url:i,className:a})=>(0,j.jsx)(N.Provider,{value:{onClick:r,url:i},children:(0,j.jsx)(`div`,{className:`group relative -mx-4 -my-px ${e?`grid`:`flex`} ${t?`items-center`:`items-start`} break-anywhere cursor-pointer grid-cols-[auto_1fr] gap-x-4 gap-y-2.5 rounded-lg px-4 py-5 text-left hover:bg-gray-100 ${a}`,role:`button`,onClick:r,children:n})});P.Icon=({size:e=`lg`,type:t})=>(0,j.jsx)(`div`,{className:`col-start-1 row-start-1`,children:(0,j.jsx)(M,{notificationType:t,size:e})}),P.Avatars=({children:e})=>(0,j.jsx)(`div`,{className:`col-start-2 row-start-1 flex gap-2`,children:e}),P.Content=({children:e})=>(0,j.jsx)(`div`,{className:`col-start-2 row-start-2 -mt-0.5 grow overflow-hidden`,children:e});var F=()=>(0,j.jsx)(`div`,{className:`h-px w-full bg-gray-200 dark:bg-gray-950`});function I(e){let t=1440*60*1e3,n=new Date(e).getTime();return(Math.floor(n/t)*t).toString()}function L(e){let t={},n=null,r=0;return e.forEach(e=>{e.type!==n&&(r+=1,n=e.type);let i=``,a=`_${I(e.createdAt)}`,o=`_seq${r}`;switch(e.type){case`like`:e.post?.id&&(i=`like_${e.post.id}${a}${o}`);break;case`reply`:i=`reply_${e.id}`;break;case`repost`:e.post?.id&&(i=`repost_${e.post.id}${a}${o}`);break;case`follow`:i=`follow_${a}${o}`;break;case`mention`:i=`mention_${e.id}`;break}t[i]||(t[i]={id:e.id,type:e.type,actors:[],post:e.post,inReplyTo:e.inReplyTo,createdAt:e.createdAt}),t[i].actors.find(t=>t.id===e.actor.id)||t[i].actors.push(e.actor)}),Object.values(t)}var R=({group:e})=>{let[t,...n]=e.actors,i=n.length>0,a=n.length,o=s(),c=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(E,{actor:t,align:`center`,isCurrentUser:!1,children:(0,j.jsx)(`span`,{className:`cursor-pointer font-semibold hover:underline text-black dark:text-white`,onClick:e=>{e?.stopPropagation(),t.handle&&f(t.handle,o)},children:t.name})}),i&&` and ${r(a)} ${a>1?`others`:`other`}`]});switch(e.type){case`follow`:return(0,j.jsxs)(j.Fragment,{children:[c,` followed you`]});case`like`:return(0,j.jsxs)(j.Fragment,{children:[c,` liked your `,e.post?.type===`article`?`post`:`note`]});case`repost`:return(0,j.jsxs)(j.Fragment,{children:[c,` reposted your `,e.post?.type===`article`?`post`:`note`]});case`reply`:if(e.inReplyTo&&typeof e.inReplyTo!=`string`)return c;break;case`mention`:return c}return(0,j.jsx)(j.Fragment,{})},z=({content:e,className:t,stripTags:n=[]})=>{let r=(0,A.useRef)(null),i=s();return(0,A.useEffect)(()=>{let e=r.current;if(!e)return;let t=e=>{let t=e.target.closest(`a[data-profile]`);if(t){let n=t.getAttribute(`data-profile`)?.trim();/^@([\w.-]+)@([\w-]+\.[\w.-]+[a-zA-Z])$/.test(n||``)&&n&&(e.preventDefault(),e.stopPropagation(),f(n,i))}};return e.addEventListener(`click`,t),()=>{e.removeEventListener(`click`,t)}},[i,e]),(0,j.jsx)(`div`,{dangerouslySetInnerHTML:{__html:w(y(e||``,n))},ref:r,className:t})},B=()=>{let[e,t]=A.useState({}),n=s(),d=e=>{t(t=>({...t,[e]:!t[e]}))},_=()=>{},{data:v,error:E,fetchNextPage:O,hasNextPage:k,isFetchingNextPage:N,isLoading:I}=u(`index`),B=v?.pages.flatMap(e=>L(e.notifications))??Array(10).fill({actors:[{}]}),V=(0,A.useRef)(null),H=(0,A.useRef)(null);(0,A.useEffect)(()=>(V.current&&V.current.disconnect(),V.current=new IntersectionObserver(e=>{e[0].isIntersecting&&k&&!N&&O()}),H.current&&V.current.observe(H.current),()=>{V.current&&V.current.disconnect()}),[k,N,O]);let U=(e,t)=>{switch(e.type){case`like`:e.post&&n(`/${e.post.type===`article`?`reader`:`notes`}/${encodeURIComponent(e.post.id)}`);break;case`reply`:e.post&&e.inReplyTo&&n(`/notes/${encodeURIComponent(e.post.id)}`);break;case`repost`:e.post&&n(`/${e.post.type===`article`?`reader`:`notes`}/${encodeURIComponent(e.post.id)}`);break;case`follow`:e.actors.length>1?d(e.id||`${e.type}_${t}`):e.actors[0]?.handle&&f(e.actors[0].handle,n);break;case`mention`:e.post&&n(`/notes/${encodeURIComponent(e.post.id)}`);break}};return E&&m(E)?(0,j.jsx)(a,{errorCode:E.code,statusCode:E.statusCode}):(0,j.jsx)(p,{children:(0,j.jsxs)(`div`,{className:`z-0 flex w-full flex-col items-center`,children:[I===!1&&B.length===0&&(0,j.jsxs)(c,{children:[(0,j.jsx)(o,{children:(0,j.jsx)(C,{})}),`Quiet for now, but not for long! When someone likes, boosts, or replies to you, you'll find it here.`]}),B.length>0&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`my-8 flex w-full max-w-[620px] flex-col max-md:mt-5`,children:B.map((t,a)=>(0,j.jsxs)(A.Fragment,{children:[(0,j.jsxs)(P,{centerAlign:t.actors.length<2&&t.type===`follow`,className:`hover:bg-gray-100 dark:hover:bg-gray-950`,isGrouped:t.actors.length>1,onClick:()=>U(t,a),children:[I?(0,j.jsx)(T,{className:`rounded-full`,containerClassName:`flex h-10 w-10`}):t.actors.length>1?(0,j.jsx)(P.Icon,{type:t.type}):(0,j.jsxs)(`div`,{className:`relative`,children:[(0,j.jsx)(D,{author:{icon:{url:t.actors[0].avatarUrl||``},name:t.actors[0].name,handle:t.actors[0].handle},size:`notification`},t.actors[0].id),(0,j.jsx)(M,{className:`absolute -right-1 -bottom-1 z-10 border-2 border-white dark:border-black`,notificationType:t.type,size:`sm`})]}),t.actors.length>1&&(0,j.jsx)(P.Avatars,{children:(0,j.jsxs)(`div`,{className:`flex w-full flex-col`,children:[(0,j.jsxs)(`div`,{className:`relative flex w-fit items-center pl-2`,children:[!e[t.id||`${t.type}_${a}`]&&t.actors.slice(0,5).map(e=>(0,j.jsx)(D,{author:{icon:{url:e.avatarUrl||``},name:e.name,handle:e.handle},className:`-ml-2 bg-[#F3F3F3]! outline-2 outline-white group-hover:bg-[#EDEEF0]! group-hover:outline-gray-100 dark:outline-black group-hover:dark:outline-gray-950`,size:`notification`},e.id)),t.actors.length>5&&!e[t.id||`${t.type}_${a}`]&&(0,j.jsx)(`div`,{className:`absolute right-[28px] z-10 flex size-9 items-center justify-center rounded-full bg-black/50 text-base font-semibold tracking-tightest text-white`,children:`+${r(t.actors.length-5)}`}),t.actors.length>1&&(0,j.jsxs)(l,{className:`group flex items-center gap-0.5 text-gray-700 hover:bg-transparent hover:text-black dark:text-gray-600 dark:hover:text-white ${e[t.id||`${t.type}_${a}`]?`ml-[-20px]`:`ml-0 w-[28px]`}`,variant:`ghost`,onClick:e=>{e?.stopPropagation(),d(t.id||`${t.type}_${a}`)},children:[(0,j.jsx)(i,{className:`${e[t.id||`${t.type}_${a}`]?`rotate-180`:``}`,size:20,strokeWidth:1.5}),e[t.id||`${t.type}_${a}`]?`Hide`:(0,j.jsx)(`span`,{className:`sr-only`,children:`Show all`})]})]}),(0,j.jsx)(`div`,{className:`overflow-hidden transition-all duration-300 ease-in-out ${e[t.id||`${t.type}_${a}`]?`mb-2 max-h-[1384px] opacity-100`:`max-h-0 opacity-0`}`,children:e[t.id||`${t.type}_${a}`]&&t.actors.length>1&&(0,j.jsx)(`div`,{className:`flex flex-col gap-2 pt-2`,children:t.actors.map(e=>(0,j.jsxs)(`div`,{className:`group/item break-anywhere flex items-center justify-between gap-4`,onClick:t=>{t?.stopPropagation(),e.handle&&f(e.handle,n)},children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center`,children:[(0,j.jsx)(D,{author:{icon:{url:e.avatarUrl||``},name:e.name,handle:e.handle},size:`xs`}),(0,j.jsx)(`span`,{className:`ml-2 line-clamp-1 text-base font-semibold group-hover/item:underline dark:text-white`,children:e.name}),(0,j.jsx)(`span`,{className:`ml-1 line-clamp-1 text-base text-gray-700 dark:text-gray-600`,children:e.handle})]}),t.type===`follow`&&!e.followedByMe&&e.handle&&(0,j.jsx)(S,{following:!1,handle:e.handle,variant:`link`})]},e.id))})})]})}),(0,j.jsxs)(P.Content,{children:[(0,j.jsx)(`div`,{children:I?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(T,{}),(0,j.jsx)(T,{className:`w-full max-w-60`})]}):(0,j.jsxs)(`div`,{className:`flex justify-between`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,j.jsx)(`span`,{className:`truncate`,children:(0,j.jsx)(R,{group:t})}),t.actors.length<2&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`mt-px text-[8px] text-gray-700 dark:text-gray-600`,children:`•`}),(0,j.jsx)(`span`,{className:`mt-0.5 text-sm text-gray-700 dark:text-gray-600`,children:g(t,!1)})]})]}),t.actors.length===1&&(t.type===`follow`||t.type===`reply`||t.type===`mention`)&&!t.actors[0].followedByMe&&t.actors[0].handle&&(0,j.jsx)(S,{following:!1,handle:t.actors[0].handle,variant:`link`})]})}),(t.type===`reply`&&t.inReplyTo||t.type===`mention`||t.type===`like`&&!t.post?.name&&t.post?.content||t.type===`repost`&&!t.post?.name&&t.post?.content)&&(t.type!==`reply`&&t.type!==`mention`?(0,j.jsxs)(`div`,{className:`ap-note-content mt-0.5 line-clamp-1 text-sm text-pretty text-gray-700 dark:text-gray-600`,children:[t.post?.type===`article`&&t.post?.title&&(0,j.jsxs)(j.Fragment,{children:[t.post.title,` — `]}),(0,j.jsx)(`span`,{dangerouslySetInnerHTML:{__html:w(y(t.post?.content||``))}})]}):(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(`div`,{className:`mt-2.5 rounded-md bg-gray-100 px-5 py-[14px] group-hover:bg-gray-200 dark:bg-gray-950/30 group-hover:dark:bg-black/40`,children:[(0,j.jsx)(z,{className:`ap-note-content text-pretty`,content:t.post?.content||``,stripTags:[`a`]}),t.post&&t.post.attachments&&t.post.attachments.length>0&&(0,j.jsx)(`div`,{className:`notification-attachments mb-1 [&_.attachment-gallery]:flex [&_.attachment-gallery]:flex-wrap [&_img]:aspect-square [&_img]:max-w-[calc(20%-6.4px)]`,children:h({...t.post,type:`Note`,attachment:t.post.attachments})})]})})),(t.type===`reply`&&t.post||t.type===`mention`)&&(0,j.jsx)(`div`,{className:`mt-1.5`,children:(0,j.jsx)(x,{actor:{...t.actors[0],icon:{url:t.actors[0].avatarUrl||``},id:t.actors[0].url,preferredUsername:t.actors[0].handle?.replace(/^@([^@]+)@.*$/,`$1`)||`unknown`},buttonClassName:`hover:bg-gray-200`,commentCount:t.post.replyCount||0,layout:`notification`,likeCount:t.post.likeCount||0,object:{...t.post,liked:t.post.likedByMe,reposted:t.post.repostedByMe},repostCount:t.post.repostCount||0,onLikeClick:_})})]})]}),a<B.length-1&&(0,j.jsx)(`div`,{className:`pl-[52px]`,children:(0,j.jsx)(F,{})})]},t.id||`${t.type}_${a}`))}),(0,j.jsx)(`div`,{ref:H,className:`h-1`}),N&&(0,j.jsx)(`div`,{className:`-mt-4 mb-8 flex flex-col items-center justify-center gap-4 text-center`,children:(0,j.jsx)(b,{size:`md`})})]})]})})};export{B as default};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import{a as e,i as t,n,r,t as i}from"./rolldown-runtime-DAXXjFlN.js";var a=i(((e,t)=>{t.exports=function(){if(typeof Symbol!=`function`||typeof Object.getOwnPropertySymbols!=`function`)return!1;if(typeof Symbol.iterator==`symbol`)return!0;var e={},t=Symbol(`test`),n=Object(t);if(typeof t==`string`||Object.prototype.toString.call(t)!==`[object Symbol]`||Object.prototype.toString.call(n)!==`[object Symbol]`)return!1;var r=42;for(var i in e[t]=r,e)return!1;if(typeof Object.keys==`function`&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames==`function`&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor==`function`){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==r||o.enumerable!==!0)return!1}return!0}})),o=i(((e,t)=>{var n=a();t.exports=function(){return n()&&!!Symbol.toStringTag}})),s=i(((e,t)=>{t.exports=Object})),c=i(((e,t)=>{t.exports=Error})),l=i(((e,t)=>{t.exports=EvalError})),u=i(((e,t)=>{t.exports=RangeError})),d=i(((e,t)=>{t.exports=ReferenceError})),f=i(((e,t)=>{t.exports=SyntaxError})),p=i(((e,t)=>{t.exports=TypeError})),m=i(((e,t)=>{t.exports=URIError})),h=i(((e,t)=>{t.exports=Math.abs})),g=i(((e,t)=>{t.exports=Math.floor})),_=i(((e,t)=>{t.exports=Math.max})),v=i(((e,t)=>{t.exports=Math.min})),y=i(((e,t)=>{t.exports=Math.pow})),b=i(((e,t)=>{t.exports=Math.round})),x=i(((e,t)=>{t.exports=Number.isNaN||function(e){return e!==e}})),S=i(((e,t)=>{var n=x();t.exports=function(e){return n(e)||e===0?e:e<0?-1:1}})),C=i(((e,t)=>{t.exports=Object.getOwnPropertyDescriptor})),w=i(((e,t)=>{var n=C();if(n)try{n([],`length`)}catch{n=null}t.exports=n})),T=i(((e,t)=>{var n=Object.defineProperty||!1;if(n)try{n({},`a`,{value:1})}catch{n=!1}t.exports=n})),E=i(((e,t)=>{var n=typeof Symbol<`u`&&Symbol,r=a();t.exports=function(){return typeof n!=`function`||typeof Symbol!=`function`||typeof n(`foo`)!=`symbol`||typeof Symbol(`bar`)!=`symbol`?!1:r()}})),D=i(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect.getPrototypeOf||null})),O=i(((e,t)=>{t.exports=s().getPrototypeOf||null})),k=i(((e,t)=>{var n=Object.prototype.toString,r=Math.max,i=`[object Function]`,a=function(e,t){for(var n=[],r=0;r<e.length;r+=1)n[r]=e[r];for(var i=0;i<t.length;i+=1)n[i+e.length]=t[i];return n},o=function(e,t){for(var n=[],r=t||0,i=0;r<e.length;r+=1,i+=1)n[i]=e[r];return n},s=function(e,t){for(var n=``,r=0;r<e.length;r+=1)n+=e[r],r+1<e.length&&(n+=t);return n};t.exports=function(e){var t=this;if(typeof t!=`function`||n.apply(t)!==i)throw TypeError(`Function.prototype.bind called on incompatible `+t);for(var c=o(arguments,1),l,u=function(){if(this instanceof l){var n=t.apply(this,a(c,arguments));return Object(n)===n?n:this}return t.apply(e,a(c,arguments))},d=r(0,t.length-c.length),f=[],p=0;p<d;p++)f[p]=`$`+p;if(l=Function(`binder`,`return function (`+s(f,`,`)+`){ return binder.apply(this,arguments); }`)(u),t.prototype){var m=function(){};m.prototype=t.prototype,l.prototype=new m,m.prototype=null}return l}})),A=i(((e,t)=>{var n=k();t.exports=Function.prototype.bind||n})),j=i(((e,t)=>{t.exports=Function.prototype.call})),M=i(((e,t)=>{t.exports=Function.prototype.apply})),ee=i(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect&&Reflect.apply})),N=i(((e,t)=>{var n=A(),r=M(),i=j();t.exports=ee()||n.call(i,r)})),P=i(((e,t)=>{var n=A(),r=p(),i=j(),a=N();t.exports=function(e){if(e.length<1||typeof e[0]!=`function`)throw new r(`a function is required`);return a(n,i,e)}})),F=i(((e,t)=>{var n=P(),r=w(),i;try{i=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!=`object`||!(`code`in e)||e.code!==`ERR_PROTO_ACCESS`)throw e}var a=!!i&&r&&r(Object.prototype,`__proto__`),o=Object,s=o.getPrototypeOf;t.exports=a&&typeof a.get==`function`?n([a.get]):typeof s==`function`?function(e){return s(e==null?e:o(e))}:!1})),I=i(((e,t)=>{var n=D(),r=O(),i=F();t.exports=n?function(e){return n(e)}:r?function(e){if(!e||typeof e!=`object`&&typeof e!=`function`)throw TypeError(`getProto: not an object`);return r(e)}:i?function(e){return i(e)}:null})),L=i(((e,t)=>{var n=Function.prototype.call,r=Object.prototype.hasOwnProperty;t.exports=A().call(n,r)})),R=i(((e,t)=>{var n,r=s(),i=c(),a=l(),o=u(),x=d(),C=f(),k=p(),ee=m(),N=h(),P=g(),F=_(),R=v(),z=y(),te=b(),B=S(),V=Function,ne=function(e){try{return V(`"use strict"; return (`+e+`).constructor;`)()}catch{}},H=w(),re=T(),ie=function(){throw new k},ae=H?function(){try{return arguments.callee,ie}catch{try{return H(arguments,`callee`).get}catch{return ie}}}():ie,U=E()(),W=I(),oe=O(),se=D(),ce=M(),G=j(),K={},le=typeof Uint8Array>`u`||!W?n:W(Uint8Array),q={__proto__:null,"%AggregateError%":typeof AggregateError>`u`?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>`u`?n:ArrayBuffer,"%ArrayIteratorPrototype%":U&&W?W([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":K,"%AsyncGenerator%":K,"%AsyncGeneratorFunction%":K,"%AsyncIteratorPrototype%":K,"%Atomics%":typeof Atomics>`u`?n:Atomics,"%BigInt%":typeof BigInt>`u`?n:BigInt,"%BigInt64Array%":typeof BigInt64Array>`u`?n:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>`u`?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>`u`?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":a,"%Float16Array%":typeof Float16Array>`u`?n:Float16Array,"%Float32Array%":typeof Float32Array>`u`?n:Float32Array,"%Float64Array%":typeof Float64Array>`u`?n:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>`u`?n:FinalizationRegistry,"%Function%":V,"%GeneratorFunction%":K,"%Int8Array%":typeof Int8Array>`u`?n:Int8Array,"%Int16Array%":typeof Int16Array>`u`?n:Int16Array,"%Int32Array%":typeof Int32Array>`u`?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":U&&W?W(W([][Symbol.iterator]())):n,"%JSON%":typeof JSON==`object`?JSON:n,"%Map%":typeof Map>`u`?n:Map,"%MapIteratorPrototype%":typeof Map>`u`||!U||!W?n:W(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":r,"%Object.getOwnPropertyDescriptor%":H,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>`u`?n:Promise,"%Proxy%":typeof Proxy>`u`?n:Proxy,"%RangeError%":o,"%ReferenceError%":x,"%Reflect%":typeof Reflect>`u`?n:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>`u`?n:Set,"%SetIteratorPrototype%":typeof Set>`u`||!U||!W?n:W(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>`u`?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":U&&W?W(``[Symbol.iterator]()):n,"%Symbol%":U?Symbol:n,"%SyntaxError%":C,"%ThrowTypeError%":ae,"%TypedArray%":le,"%TypeError%":k,"%Uint8Array%":typeof Uint8Array>`u`?n:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>`u`?n:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>`u`?n:Uint16Array,"%Uint32Array%":typeof Uint32Array>`u`?n:Uint32Array,"%URIError%":ee,"%WeakMap%":typeof WeakMap>`u`?n:WeakMap,"%WeakRef%":typeof WeakRef>`u`?n:WeakRef,"%WeakSet%":typeof WeakSet>`u`?n:WeakSet,"%Function.prototype.call%":G,"%Function.prototype.apply%":ce,"%Object.defineProperty%":re,"%Object.getPrototypeOf%":oe,"%Math.abs%":N,"%Math.floor%":P,"%Math.max%":F,"%Math.min%":R,"%Math.pow%":z,"%Math.round%":te,"%Math.sign%":B,"%Reflect.getPrototypeOf%":se};if(W)try{null.error}catch(e){q[`%Error.prototype%`]=W(W(e))}var ue=function e(t){var n;if(t===`%AsyncFunction%`)n=ne(`async function () {}`);else if(t===`%GeneratorFunction%`)n=ne(`function* () {}`);else if(t===`%AsyncGeneratorFunction%`)n=ne(`async function* () {}`);else if(t===`%AsyncGenerator%`){var r=e(`%AsyncGeneratorFunction%`);r&&(n=r.prototype)}else if(t===`%AsyncIteratorPrototype%`){var i=e(`%AsyncGenerator%`);i&&W&&(n=W(i.prototype))}return q[t]=n,n},de={__proto__:null,"%ArrayBufferPrototype%":[`ArrayBuffer`,`prototype`],"%ArrayPrototype%":[`Array`,`prototype`],"%ArrayProto_entries%":[`Array`,`prototype`,`entries`],"%ArrayProto_forEach%":[`Array`,`prototype`,`forEach`],"%ArrayProto_keys%":[`Array`,`prototype`,`keys`],"%ArrayProto_values%":[`Array`,`prototype`,`values`],"%AsyncFunctionPrototype%":[`AsyncFunction`,`prototype`],"%AsyncGenerator%":[`AsyncGeneratorFunction`,`prototype`],"%AsyncGeneratorPrototype%":[`AsyncGeneratorFunction`,`prototype`,`prototype`],"%BooleanPrototype%":[`Boolean`,`prototype`],"%DataViewPrototype%":[`DataView`,`prototype`],"%DatePrototype%":[`Date`,`prototype`],"%ErrorPrototype%":[`Error`,`prototype`],"%EvalErrorPrototype%":[`EvalError`,`prototype`],"%Float32ArrayPrototype%":[`Float32Array`,`prototype`],"%Float64ArrayPrototype%":[`Float64Array`,`prototype`],"%FunctionPrototype%":[`Function`,`prototype`],"%Generator%":[`GeneratorFunction`,`prototype`],"%GeneratorPrototype%":[`GeneratorFunction`,`prototype`,`prototype`],"%Int8ArrayPrototype%":[`Int8Array`,`prototype`],"%Int16ArrayPrototype%":[`Int16Array`,`prototype`],"%Int32ArrayPrototype%":[`Int32Array`,`prototype`],"%JSONParse%":[`JSON`,`parse`],"%JSONStringify%":[`JSON`,`stringify`],"%MapPrototype%":[`Map`,`prototype`],"%NumberPrototype%":[`Number`,`prototype`],"%ObjectPrototype%":[`Object`,`prototype`],"%ObjProto_toString%":[`Object`,`prototype`,`toString`],"%ObjProto_valueOf%":[`Object`,`prototype`,`valueOf`],"%PromisePrototype%":[`Promise`,`prototype`],"%PromiseProto_then%":[`Promise`,`prototype`,`then`],"%Promise_all%":[`Promise`,`all`],"%Promise_reject%":[`Promise`,`reject`],"%Promise_resolve%":[`Promise`,`resolve`],"%RangeErrorPrototype%":[`RangeError`,`prototype`],"%ReferenceErrorPrototype%":[`ReferenceError`,`prototype`],"%RegExpPrototype%":[`RegExp`,`prototype`],"%SetPrototype%":[`Set`,`prototype`],"%SharedArrayBufferPrototype%":[`SharedArrayBuffer`,`prototype`],"%StringPrototype%":[`String`,`prototype`],"%SymbolPrototype%":[`Symbol`,`prototype`],"%SyntaxErrorPrototype%":[`SyntaxError`,`prototype`],"%TypedArrayPrototype%":[`TypedArray`,`prototype`],"%TypeErrorPrototype%":[`TypeError`,`prototype`],"%Uint8ArrayPrototype%":[`Uint8Array`,`prototype`],"%Uint8ClampedArrayPrototype%":[`Uint8ClampedArray`,`prototype`],"%Uint16ArrayPrototype%":[`Uint16Array`,`prototype`],"%Uint32ArrayPrototype%":[`Uint32Array`,`prototype`],"%URIErrorPrototype%":[`URIError`,`prototype`],"%WeakMapPrototype%":[`WeakMap`,`prototype`],"%WeakSetPrototype%":[`WeakSet`,`prototype`]},J=A(),Y=L(),fe=J.call(G,Array.prototype.concat),X=J.call(ce,Array.prototype.splice),Z=J.call(G,String.prototype.replace),Q=J.call(G,String.prototype.slice),$=J.call(G,RegExp.prototype.exec),pe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,me=/\\(\\)?/g,he=function(e){var t=Q(e,0,1),n=Q(e,-1);if(t===`%`&&n!==`%`)throw new C("invalid intrinsic syntax, expected closing `%`");if(n===`%`&&t!==`%`)throw new C("invalid intrinsic syntax, expected opening `%`");var r=[];return Z(e,pe,function(e,t,n,i){r[r.length]=n?Z(i,me,`$1`):t||e}),r},ge=function(e,t){var n=e,r;if(Y(de,n)&&(r=de[n],n=`%`+r[0]+`%`),Y(q,n)){var i=q[n];if(i===K&&(i=ue(n)),i===void 0&&!t)throw new k(`intrinsic `+e+` exists, but is not available. Please file an issue!`);return{alias:r,name:n,value:i}}throw new C(`intrinsic `+e+` does not exist!`)};t.exports=function(e,t){if(typeof e!=`string`||e.length===0)throw new k(`intrinsic name must be a non-empty string`);if(arguments.length>1&&typeof t!=`boolean`)throw new k(`"allowMissing" argument must be a boolean`);if($(/^%?[^%]*%?$/,e)===null)throw new C("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=he(e),r=n.length>0?n[0]:``,i=ge(`%`+r+`%`,t),a=i.name,o=i.value,s=!1,c=i.alias;c&&(r=c[0],X(n,fe([0,1],c)));for(var l=1,u=!0;l<n.length;l+=1){var d=n[l],f=Q(d,0,1),p=Q(d,-1);if((f===`"`||f===`'`||f==="`"||p===`"`||p===`'`||p==="`")&&f!==p)throw new C(`property names with quotes must have matching quotes`);if((d===`constructor`||!u)&&(s=!0),r+=`.`+d,a=`%`+r+`%`,Y(q,a))o=q[a];else if(o!=null){if(!(d in o)){if(!t)throw new k(`base intrinsic for `+e+` exists, but the property is not available.`);return}if(H&&l+1>=n.length){var m=H(o,d);u=!!m,o=u&&`get`in m&&!(`originalValue`in m.get)?m.get:o[d]}else u=Y(o,d),o=o[d];u&&!s&&(q[a]=o)}}return o}})),z=i(((e,t)=>{var n=R(),r=P(),i=r([n(`%String.prototype.indexOf%`)]);t.exports=function(e,t){var a=n(e,!!t);return typeof a==`function`&&i(e,`.prototype.`)>-1?r([a]):a}})),te=i(((e,t)=>{var n=o()(),r=z()(`Object.prototype.toString`),i=function(e){return n&&e&&typeof e==`object`&&Symbol.toStringTag in e?!1:r(e)===`[object Arguments]`},a=function(e){return i(e)?!0:typeof e==`object`&&!!e&&`length`in e&&typeof e.length==`number`&&e.length>=0&&r(e)!==`[object Array]`&&`callee`in e&&r(e.callee)===`[object Function]`},s=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=s?i:a})),B=i(((e,t)=>{var n=z(),r=o()(),i=L(),a=w(),s;if(r){var c=n(`RegExp.prototype.exec`),l={},u=function(){throw l},d={toString:u,valueOf:u};typeof Symbol.toPrimitive==`symbol`&&(d[Symbol.toPrimitive]=u),s=function(e){if(!e||typeof e!=`object`)return!1;var t=a(e,`lastIndex`);if(!(t&&i(t,`value`)))return!1;try{c(e,d)}catch(e){return e===l}}}else{var f=n(`Object.prototype.toString`),p=`[object RegExp]`;s=function(e){return!e||typeof e!=`object`&&typeof e!=`function`?!1:f(e)===p}}t.exports=s})),V=i(((e,t)=>{var n=z(),r=B(),i=n(`RegExp.prototype.exec`),a=p();t.exports=function(e){if(!r(e))throw new a("`regex` must be a RegExp");return function(t){return i(e,t)!==null}}})),ne=i(((e,t)=>{var n=function*(){}.constructor;t.exports=()=>n})),H=i(((e,t)=>{var n=z(),r=V()(/^\s*(?:function)?\*/),i=o()(),a=I(),s=n(`Object.prototype.toString`),c=n(`Function.prototype.toString`),l=ne();t.exports=function(e){if(typeof e!=`function`)return!1;if(r(c(e)))return!0;if(!i)return s(e)===`[object GeneratorFunction]`;if(!a)return!1;var t=l();return t&&a(e)===t.prototype}})),re=i(((e,t)=>{var n=Function.prototype.toString,r=typeof Reflect==`object`&&Reflect!==null&&Reflect.apply,i,a;if(typeof r==`function`&&typeof Object.defineProperty==`function`)try{i=Object.defineProperty({},"length",{get:function(){throw a}}),a={},r(function(){throw 42},null,i)}catch(e){e!==a&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(e){try{var t=n.call(e);return o.test(t)}catch{return!1}},c=function(e){try{return s(e)?!1:(n.call(e),!0)}catch{return!1}},l=Object.prototype.toString,u=`[object Object]`,d=`[object Function]`,f=`[object GeneratorFunction]`,p=`[object HTMLAllCollection]`,m=`[object HTML document.all class]`,h=`[object HTMLCollection]`,g=typeof Symbol==`function`&&!!Symbol.toStringTag,_=!(0 in[,]),v=function(){return!1};if(typeof document==`object`){var y=document.all;l.call(y)===l.call(document.all)&&(v=function(e){if((_||!e)&&(e===void 0||typeof e==`object`))try{var t=l.call(e);return(t===p||t===m||t===h||t===u)&&e(``)==null}catch{}return!1})}t.exports=r?function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;try{r(e,null,i)}catch(e){if(e!==a)return!1}return!s(e)&&c(e)}:function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;if(g)return c(e);if(s(e))return!1;var t=l.call(e);return t!==d&&t!==f&&!/^\[object HTML/.test(t)?!1:c(e)}})),ie=i(((e,t)=>{var n=re(),r=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=function(e,t,n){for(var r=0,a=e.length;r<a;r++)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))},o=function(e,t,n){for(var r=0,i=e.length;r<i;r++)n==null?t(e.charAt(r),r,e):t.call(n,e.charAt(r),r,e)},s=function(e,t,n){for(var r in e)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))};function c(e){return r.call(e)===`[object Array]`}t.exports=function(e,t,r){if(!n(t))throw TypeError(`iterator must be a function`);var i;arguments.length>=3&&(i=r),c(e)?a(e,t,i):typeof e==`string`?o(e,t,i):s(e,t,i)}})),ae=i(((e,t)=>{t.exports=[`Float16Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Int16Array`,`Int32Array`,`Uint8Array`,`Uint8ClampedArray`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`]})),U=i(((e,t)=>{var n=ae(),r=typeof globalThis>`u`?global:globalThis;t.exports=function(){for(var e=[],t=0;t<n.length;t++)typeof r[n[t]]==`function`&&(e[e.length]=n[t]);return e}})),W=i(((e,t)=>{var n=T(),r=f(),i=p(),a=w();t.exports=function(e,t,o){if(!e||typeof e!=`object`&&typeof e!=`function`)throw new i("`obj` must be an object or a function`");if(typeof t!=`string`&&typeof t!=`symbol`)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=`boolean`&&arguments[3]!==null)throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=`boolean`&&arguments[4]!==null)throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=`boolean`&&arguments[5]!==null)throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=`boolean`)throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,u=arguments.length>6?arguments[6]:!1,d=!!a&&a(e,t);if(n)n(e,t,{configurable:l===null&&d?d.configurable:!l,enumerable:s===null&&d?d.enumerable:!s,value:o,writable:c===null&&d?d.writable:!c});else if(u||!s&&!c&&!l)e[t]=o;else throw new r(`This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.`)}})),oe=i(((e,t)=>{var n=T(),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return n([],`length`,{value:1}).length!==1}catch{return!0}},t.exports=r})),se=i(((e,t)=>{var n=R(),r=W(),i=oe()(),a=w(),o=p(),s=n(`%Math.floor%`);t.exports=function(e,t){if(typeof e!=`function`)throw new o("`fn` is not a function");if(typeof t!=`number`||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],c=!0,l=!0;if(`length`in e&&a){var u=a(e,`length`);u&&!u.configurable&&(c=!1),u&&!u.writable&&(l=!1)}return(c||l||!n)&&(i?r(e,`length`,t,!0,!0):r(e,`length`,t)),e}})),ce=i(((e,t)=>{var n=A(),r=M(),i=N();t.exports=function(){return i(n,r,arguments)}})),G=i(((e,t)=>{var n=se(),r=T(),i=P(),a=ce();t.exports=function(e){var t=i(arguments),r=1+e.length-(arguments.length-1);return n(t,r>0?r:0,!0)},r?r(t.exports,`apply`,{value:a}):t.exports.apply=a})),K=i(((e,t)=>{var n=ie(),r=U(),i=G(),a=z(),s=w(),c=I(),l=a(`Object.prototype.toString`),u=o()(),d=typeof globalThis>`u`?global:globalThis,f=r(),p=a(`String.prototype.slice`),m=a(`Array.prototype.indexOf`,!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},h={__proto__:null};u&&s&&c?n(f,function(e){var t=new d[e];if(Symbol.toStringTag in t&&c){var n=c(t),r=s(n,Symbol.toStringTag);if(!r&&n&&(r=s(c(n),Symbol.toStringTag)),r&&r.get){var a=i(r.get);h[`$`+e]=a}}}):n(f,function(e){var t=new d[e],n=t.slice||t.set;if(n){var r=i(n);h[`$`+e]=r}});function g(e){var t=!1;return n(h,function(n,r){if(!t)try{`$`+n(e)===r&&(t=p(r,1))}catch{}}),t}function _(e){var t=!1;return n(h,function(n,r){if(!t)try{n(e),t=p(r,1)}catch{}}),t}function v(e){return m(f,e)>-1}t.exports=function(e){if(!e||typeof e!=`object`)return!1;if(!u){var t=p(l(e),8,-1);return v(t)?t:t===`Object`?_(e):!1}return s?g(e):null}})),le=i(((e,t)=>{var n=K();t.exports=function(e){return!!n(e)}})),q=i((e=>{var t=te(),n=H(),r=K(),i=le();function a(e){return e.call.bind(e)}var o=typeof BigInt<`u`,s=typeof Symbol<`u`,c=a(Object.prototype.toString),l=a(Number.prototype.valueOf),u=a(String.prototype.valueOf),d=a(Boolean.prototype.valueOf);if(o)var f=a(BigInt.prototype.valueOf);if(s)var p=a(Symbol.prototype.valueOf);function m(e,t){if(typeof e!=`object`)return!1;try{return t(e),!0}catch{return!1}}e.isArgumentsObject=t,e.isGeneratorFunction=n,e.isTypedArray=i;function h(e){return typeof Promise<`u`&&e instanceof Promise||typeof e==`object`&&!!e&&typeof e.then==`function`&&typeof e.catch==`function`}e.isPromise=h;function g(e){return typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):i(e)||R(e)}e.isArrayBufferView=g;function _(e){return r(e)===`Uint8Array`}e.isUint8Array=_;function v(e){return r(e)===`Uint8ClampedArray`}e.isUint8ClampedArray=v;function y(e){return r(e)===`Uint16Array`}e.isUint16Array=y;function b(e){return r(e)===`Uint32Array`}e.isUint32Array=b;function x(e){return r(e)===`Int8Array`}e.isInt8Array=x;function S(e){return r(e)===`Int16Array`}e.isInt16Array=S;function C(e){return r(e)===`Int32Array`}e.isInt32Array=C;function w(e){return r(e)===`Float32Array`}e.isFloat32Array=w;function T(e){return r(e)===`Float64Array`}e.isFloat64Array=T;function E(e){return r(e)===`BigInt64Array`}e.isBigInt64Array=E;function D(e){return r(e)===`BigUint64Array`}e.isBigUint64Array=D;function O(e){return c(e)===`[object Map]`}O.working=typeof Map<`u`&&O(new Map);function k(e){return typeof Map>`u`?!1:O.working?O(e):e instanceof Map}e.isMap=k;function A(e){return c(e)===`[object Set]`}A.working=typeof Set<`u`&&A(new Set);function j(e){return typeof Set>`u`?!1:A.working?A(e):e instanceof Set}e.isSet=j;function M(e){return c(e)===`[object WeakMap]`}M.working=typeof WeakMap<`u`&&M(new WeakMap);function ee(e){return typeof WeakMap>`u`?!1:M.working?M(e):e instanceof WeakMap}e.isWeakMap=ee;function N(e){return c(e)===`[object WeakSet]`}N.working=typeof WeakSet<`u`&&N(new WeakSet);function P(e){return N(e)}e.isWeakSet=P;function F(e){return c(e)===`[object ArrayBuffer]`}F.working=typeof ArrayBuffer<`u`&&F(new ArrayBuffer);function I(e){return typeof ArrayBuffer>`u`?!1:F.working?F(e):e instanceof ArrayBuffer}e.isArrayBuffer=I;function L(e){return c(e)===`[object DataView]`}L.working=typeof ArrayBuffer<`u`&&typeof DataView<`u`&&L(new DataView(new ArrayBuffer(1),0,1));function R(e){return typeof DataView>`u`?!1:L.working?L(e):e instanceof DataView}e.isDataView=R;var z=typeof SharedArrayBuffer<`u`?SharedArrayBuffer:void 0;function B(e){return c(e)===`[object SharedArrayBuffer]`}function V(e){return z===void 0?!1:(B.working===void 0&&(B.working=B(new z)),B.working?B(e):e instanceof z)}e.isSharedArrayBuffer=V;function ne(e){return c(e)===`[object AsyncFunction]`}e.isAsyncFunction=ne;function re(e){return c(e)===`[object Map Iterator]`}e.isMapIterator=re;function ie(e){return c(e)===`[object Set Iterator]`}e.isSetIterator=ie;function ae(e){return c(e)===`[object Generator]`}e.isGeneratorObject=ae;function U(e){return c(e)===`[object WebAssembly.Module]`}e.isWebAssemblyCompiledModule=U;function W(e){return m(e,l)}e.isNumberObject=W;function oe(e){return m(e,u)}e.isStringObject=oe;function se(e){return m(e,d)}e.isBooleanObject=se;function ce(e){return o&&m(e,f)}e.isBigIntObject=ce;function G(e){return s&&m(e,p)}e.isSymbolObject=G;function q(e){return W(e)||oe(e)||se(e)||ce(e)||G(e)}e.isBoxedPrimitive=q;function ue(e){return typeof Uint8Array<`u`&&(I(e)||V(e))}e.isAnyArrayBuffer=ue,[`isProxy`,`isExternal`,`isModuleNamespaceObject`].forEach(function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw Error(t+` is not supported in userland`)}})})})),ue=i(((e,t)=>{t.exports=function(e){return e&&typeof e==`object`&&typeof e.copy==`function`&&typeof e.fill==`function`&&typeof e.readUInt8==`function`}})),de=i(((e,t)=>{typeof Object.create==`function`?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),J=i((e=>{var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},n=/%[sdj%]/g;e.format=function(e){if(!x(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(o(arguments[r]));return t.join(` `)}for(var r=1,i=arguments,a=i.length,s=String(e).replace(n,function(e){if(e===`%%`)return`%`;if(r>=a)return e;switch(e){case`%s`:return String(i[r++]);case`%d`:return Number(i[r++]);case`%j`:try{return JSON.stringify(i[r++])}catch{return`[Circular]`}default:return e}}),c=i[r];r<a;c=i[++r])v(c)||!T(c)?s+=` `+c:s+=` `+o(c);return s},e.deprecate=function(t,n){if(typeof process<`u`&&process.noDeprecation===!0)return t;if(typeof process>`u`)return function(){return e.deprecate(t,n).apply(this,arguments)};var r=!1;function i(){if(!r){if(process.throwDeprecation)throw Error(n);process.traceDeprecation?console.trace(n):console.error(n),r=!0}return t.apply(this,arguments)}return i};var r={},i=/^$/;if({}.NODE_DEBUG){var a={}.NODE_DEBUG;a=a.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`).replace(/\*/g,`.*`).replace(/,/g,`$|^`).toUpperCase(),i=RegExp(`^`+a+`$`,`i`)}e.debuglog=function(t){if(t=t.toUpperCase(),!r[t])if(i.test(t)){var n=process.pid;r[t]=function(){var r=e.format.apply(e,arguments);console.error(`%s %d: %s`,t,n,r)}}else r[t]=function(){};return r[t]};function o(t,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),_(n)?r.showHidden=n:n&&e._extend(r,n),C(r.showHidden)&&(r.showHidden=!1),C(r.depth)&&(r.depth=2),C(r.colors)&&(r.colors=!1),C(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=s),u(r,t,r.depth)}e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:`cyan`,number:`yellow`,boolean:`yellow`,undefined:`grey`,null:`bold`,string:`green`,date:`magenta`,regexp:`red`};function s(e,t){var n=o.styles[t];return n?`\x1B[`+o.colors[n][0]+`m`+e+`\x1B[`+o.colors[n][1]+`m`:e}function c(e,t){return e}function l(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function u(t,n,r){if(t.customInspect&&n&&O(n.inspect)&&n.inspect!==e.inspect&&!(n.constructor&&n.constructor.prototype===n)){var i=n.inspect(r,t);return x(i)||(i=u(t,i,r)),i}var a=d(t,n);if(a)return a;var o=Object.keys(n),s=l(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(n)),D(n)&&(o.indexOf(`message`)>=0||o.indexOf(`description`)>=0))return f(n);if(o.length===0){if(O(n)){var c=n.name?`: `+n.name:``;return t.stylize(`[Function`+c+`]`,`special`)}if(w(n))return t.stylize(RegExp.prototype.toString.call(n),`regexp`);if(E(n))return t.stylize(Date.prototype.toString.call(n),`date`);if(D(n))return f(n)}var _=``,v=!1,y=[`{`,`}`];if(g(n)&&(v=!0,y=[`[`,`]`]),O(n)&&(_=` [Function`+(n.name?`: `+n.name:``)+`]`),w(n)&&(_=` `+RegExp.prototype.toString.call(n)),E(n)&&(_=` `+Date.prototype.toUTCString.call(n)),D(n)&&(_=` `+f(n)),o.length===0&&(!v||n.length==0))return y[0]+_+y[1];if(r<0)return w(n)?t.stylize(RegExp.prototype.toString.call(n),`regexp`):t.stylize(`[Object]`,`special`);t.seen.push(n);var b=v?p(t,n,r,s,o):o.map(function(e){return m(t,n,r,s,e,v)});return t.seen.pop(),h(b,_,y)}function d(e,t){if(C(t))return e.stylize(`undefined`,`undefined`);if(x(t)){var n=`'`+JSON.stringify(t).replace(/^"|"$/g,``).replace(/'/g,`\\'`).replace(/\\"/g,`"`)+`'`;return e.stylize(n,`string`)}if(b(t))return e.stylize(``+t,`number`);if(_(t))return e.stylize(``+t,`boolean`);if(v(t))return e.stylize(`null`,`null`)}function f(e){return`[`+Error.prototype.toString.call(e)+`]`}function p(e,t,n,r,i){for(var a=[],o=0,s=t.length;o<s;++o)N(t,String(o))?a.push(m(e,t,n,r,String(o),!0)):a.push(``);return i.forEach(function(i){i.match(/^\d+$/)||a.push(m(e,t,n,r,i,!0))}),a}function m(e,t,n,r,i,a){var o,s,c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]};if(c.get?s=c.set?e.stylize(`[Getter/Setter]`,`special`):e.stylize(`[Getter]`,`special`):c.set&&(s=e.stylize(`[Setter]`,`special`)),N(r,i)||(o=`[`+i+`]`),s||(e.seen.indexOf(c.value)<0?(s=v(n)?u(e,c.value,null):u(e,c.value,n-1),s.indexOf(`
|
|
2
|
+
`)>-1&&(s=a?s.split(`
|
|
3
|
+
`).map(function(e){return` `+e}).join(`
|
|
4
|
+
`).slice(2):`
|
|
5
|
+
`+s.split(`
|
|
6
|
+
`).map(function(e){return` `+e}).join(`
|
|
7
|
+
`))):s=e.stylize(`[Circular]`,`special`)),C(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(``+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,`name`)):(o=o.replace(/'/g,`\\'`).replace(/\\"/g,`"`).replace(/(^"|"$)/g,`'`),o=e.stylize(o,`string`))}return o+`: `+s}function h(e,t,n){var r=0;return e.reduce(function(e,t){return r++,t.indexOf(`
|
|
8
|
+
`)>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,``).length+1},0)>60?n[0]+(t===``?``:t+`
|
|
9
|
+
`)+` `+e.join(`,
|
|
10
|
+
`)+` `+n[1]:n[0]+t+` `+e.join(`, `)+` `+n[1]}e.types=q();function g(e){return Array.isArray(e)}e.isArray=g;function _(e){return typeof e==`boolean`}e.isBoolean=_;function v(e){return e===null}e.isNull=v;function y(e){return e==null}e.isNullOrUndefined=y;function b(e){return typeof e==`number`}e.isNumber=b;function x(e){return typeof e==`string`}e.isString=x;function S(e){return typeof e==`symbol`}e.isSymbol=S;function C(e){return e===void 0}e.isUndefined=C;function w(e){return T(e)&&A(e)===`[object RegExp]`}e.isRegExp=w,e.types.isRegExp=w;function T(e){return typeof e==`object`&&!!e}e.isObject=T;function E(e){return T(e)&&A(e)===`[object Date]`}e.isDate=E,e.types.isDate=E;function D(e){return T(e)&&(A(e)===`[object Error]`||e instanceof Error)}e.isError=D,e.types.isNativeError=D;function O(e){return typeof e==`function`}e.isFunction=O;function k(e){return e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`||typeof e==`symbol`||e===void 0}e.isPrimitive=k,e.isBuffer=ue();function A(e){return Object.prototype.toString.call(e)}function j(e){return e<10?`0`+e.toString(10):e.toString(10)}var M=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function ee(){var e=new Date,t=[j(e.getHours()),j(e.getMinutes()),j(e.getSeconds())].join(`:`);return[e.getDate(),M[e.getMonth()],t].join(` `)}e.log=function(){console.log(`%s - %s`,ee(),e.format.apply(e,arguments))},e.inherits=de(),e._extend=function(e,t){if(!t||!T(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e};function N(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var P=typeof Symbol<`u`?Symbol(`util.promisify.custom`):void 0;e.promisify=function(e){if(typeof e!=`function`)throw TypeError(`The "original" argument must be of type Function`);if(P&&e[P]){var n=e[P];if(typeof n!=`function`)throw TypeError(`The "util.promisify.custom" argument must be of type Function`);return Object.defineProperty(n,P,{value:n,enumerable:!1,writable:!1,configurable:!0}),n}function n(){for(var t,n,r=new Promise(function(e,r){t=e,n=r}),i=[],a=0;a<arguments.length;a++)i.push(arguments[a]);i.push(function(e,r){e?n(e):t(r)});try{e.apply(this,i)}catch(e){n(e)}return r}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),P&&Object.defineProperty(n,P,{value:n,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(n,t(e))},e.promisify.custom=P;function F(e,t){if(!e){var n=Error(`Promise was rejected with a falsy value`);n.reason=e,e=n}return t(e)}function I(e){if(typeof e!=`function`)throw TypeError(`The "original" argument must be of type Function`);function n(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var r=t.pop();if(typeof r!=`function`)throw TypeError(`The last argument must be of type Function`);var i=this,a=function(){return r.apply(i,arguments)};e.apply(this,t).then(function(e){process.nextTick(a.bind(null,null,e))},function(e){process.nextTick(F.bind(null,e,a))})}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,t(e)),n}e.callbackify=I}));function Y(e){"@babel/helpers - typeof";return Y=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Y(e)}var fe=n((()=>{}));function X(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}var Z=n((()=>{}));function Q(e,t){if(t.length<e)throw TypeError(e+` argument`+(e>1?`s`:``)+` required, but only `+t.length+` present`)}var $=n((()=>{}));function pe(e){Q(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||Y(e)===`object`&&t===`[object Date]`?new Date(e.getTime()):typeof e==`number`||t===`[object Number]`?new Date(e):((typeof e==`string`||t===`[object String]`)&&typeof console<`u`&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(Error().stack)),new Date(NaN))}var me=n((()=>{fe(),$()}));function he(e,t){Q(2,arguments);var n=pe(e),r=X(t);return isNaN(r)?new Date(NaN):(r&&n.setDate(n.getDate()+r),n)}var ge=n((()=>{Z(),me(),$()}));function _e(e,t){Q(2,arguments);var n=pe(e),r=X(t);if(isNaN(r))return new Date(NaN);if(!r)return n;var i=n.getDate(),a=new Date(n.getTime());return a.setMonth(n.getMonth()+r+1,0),i>=a.getDate()?a:(n.setFullYear(a.getFullYear(),a.getMonth(),i),n)}var ve=n((()=>{Z(),me(),$()})),ye=r({default:()=>be});function be(e,t){if(Q(2,arguments),!t||Y(t)!==`object`)return new Date(NaN);var n=t.years?X(t.years):0,r=t.months?X(t.months):0,i=t.weeks?X(t.weeks):0,a=t.days?X(t.days):0,o=t.hours?X(t.hours):0,s=t.minutes?X(t.minutes):0,c=t.seconds?X(t.seconds):0,l=pe(e),u=r||n?_e(l,r+n*12):l,d=a||i?he(u,a+i*7):u,f=(c+(s+o*60)*60)*1e3;return new Date(d.getTime()+f)}var xe=n((()=>{fe(),ge(),ve(),me(),$(),Z()}));function Se(e,t){return Q(2,arguments),he(e,-X(t))}var Ce=n((()=>{ge(),$(),Z()}));function we(e,t){return Q(2,arguments),_e(e,-X(t))}var Te=n((()=>{Z(),ve(),$()})),Ee=r({default:()=>De});function De(e,t){if(Q(2,arguments),!t||Y(t)!==`object`)return new Date(NaN);var n=t.years?X(t.years):0,r=t.months?X(t.months):0,i=t.weeks?X(t.weeks):0,a=t.days?X(t.days):0,o=t.hours?X(t.hours):0,s=t.minutes?X(t.minutes):0,c=t.seconds?X(t.seconds):0,l=Se(we(e,r+n*12),a+i*7),u=(c+(s+o*60)*60)*1e3;return new Date(l.getTime()-u)}var Oe=n((()=>{fe(),Ce(),Te(),$(),Z()})),ke=i(((t,n)=>{J();var r={add:(xe(),e(ye)),sub:(Oe(),e(Ee))},i={d:`days`,w:`weeks`,M:`months`,y:`years`,h:`hours`,m:`minutes`,s:`seconds`},a=e=>e.toISOString().replace(`T`,` `).replace(/\.[0-9]{3}Z/,``);n.exports={ungroup(e){return e.yg?e.yg:e},unescape(e){let t=RegExp(`\\\\(['"])`,`g`);return e.replace(t,`$1`)},stringToRegExp(e,t){let n=e.replace(/[.*+?^$(){}|[\]\\]/g,`\\$&`);return t===`^`?n=`^`+n:t===`$`&&(n+=`$`),new RegExp(n,`i`)},relDateToAbsolute(e,t,n){if(this.preserveRelativeDates)return{$relativeDate:{op:e,amount:Number(t),unit:i[n]}};let o=new Date;return a(r[e](o,{[i[n]]:t}))},debug(){}}})),Ae=i(((e,t)=>{t.exports={}})),je=i(((e,n)=>{var r=(function(){var e=function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},t=[1,5],n=[1,7],r=[1,8],i=[1,6,10],a=[1,9],o=[1,6,8,10],s=[1,24],c=[1,25],l=[1,26],u=[1,27],d=[1,28],f=[1,29],p=[1,30],m=[1,17],h=[1,18],g=[1,19],_=[22,23,24,25,26,30,31],v=[1,6,8,10,18],y=[1,49],b=[6,18],x=[2,17],S=[8,18],C={trace:function(){},yy:{},symbols_:{error:2,expressions:3,expression:4,andCondition:5,OR:6,filterExpr:7,AND:8,LPAREN:9,RPAREN:10,propExpr:11,valueExpr:12,PROP:13,NOT:14,REGEXPOP:15,LBRACKET:16,inExpr:17,RBRACKET:18,allExpr:19,OP:20,VALUE:21,NULL:22,TRUE:23,FALSE:24,NUMBER:25,NOW:26,DATEOP:27,AMOUNT:28,INTERVAL:29,LITERAL:30,STRING:31,ADD:32,SUB:33,CONTAINS:34,STARTSWITH:35,ENDSWITH:36,GT:37,LT:38,GTE:39,LTE:40,$accept:0,$end:1},terminals_:{2:`error`,6:`OR`,8:`AND`,9:`LPAREN`,10:`RPAREN`,13:`PROP`,14:`NOT`,16:`LBRACKET`,18:`RBRACKET`,22:`NULL`,23:`TRUE`,24:`FALSE`,25:`NUMBER`,26:`NOW`,28:`AMOUNT`,29:`INTERVAL`,30:`LITERAL`,31:`STRING`,32:`ADD`,33:`SUB`,34:`CONTAINS`,35:`STARTSWITH`,36:`ENDSWITH`,37:`GT`,38:`LT`,39:`GTE`,40:`LTE`},productions_:[0,[3,1],[4,1],[4,3],[5,1],[5,3],[7,3],[7,2],[11,1],[12,2],[12,1],[12,4],[12,3],[12,3],[12,2],[12,1],[17,3],[17,1],[19,3],[19,3],[21,1],[21,1],[21,1],[21,1],[21,4],[21,1],[21,1],[27,1],[27,1],[15,2],[15,2],[15,2],[20,1],[20,1],[20,1],[20,1],[20,1]],performAction:function(e,t,n,r,i,a,o,s){var c=a.length-1;switch(i){case 1:return r.debug(`expression`,a[c]),r.debug(`opt`,s),a[c]&&a[c].yg?a[c].yg:a[c];case 2:r.debug(`andCondition`,a[c]),this.$=a[c];break;case 3:r.debug(`expression OR andCondition`,a[c-2],a[c]),a[c-2]=a[c-2].$or?a[c-2]:{$or:[r.ungroup(a[c-2])]},a[c-2].$or.push(r.ungroup(a[c])),this.$=a[c-2];break;case 4:r.debug(`filterExpr`,a[c]),this.$=a[c];break;case 5:r.debug(`andCondition AND filterExpr`,a[c-2],a[c]),a[c-2]=a[c-2].$and?a[c-2]:{$and:[r.ungroup(a[c-2])]},a[c-2].$and.push(r.ungroup(a[c])),this.$=a[c-2];break;case 6:r.debug(`LPAREN expression RPAREN`,a[c-1]),this.$={yg:a[c-1]};break;case 7:this.$={[a[c-1]]:a[c]};break;case 8:a[c]=a[c].replace(/:$/,``),a[c]=s.aliases&&s.aliases[a[c]]?s.aliases[a[c]]:a[c],this.$=a[c];break;case 9:this.$={$not:a[c]};break;case 10:this.$={$regex:a[c]};break;case 11:this.$={$nin:a[c-1]};break;case 12:this.$={$in:a[c-1]};break;case 13:this.$={$all:a[c-1]};break;case 14:this.$={},this.$[a[c-1]]=a[c];break;case 15:this.$=a[c];break;case 16:case 18:this.$.push(a[c]);break;case 17:this.$=[a[c]];break;case 19:this.$=[a[c-2],a[c]];break;case 20:this.$=null;break;case 21:this.$=!0;break;case 22:this.$=!1;break;case 23:this.$=parseInt(e);break;case 24:this.$=r.relDateToAbsolute(a[c-2],a[c-1],a[c]);break;case 25:this.$=r.unescape(a[c]);break;case 26:a[c]=a[c].replace(/^'|'$/g,``),this.$=r.unescape(a[c]);break;case 27:this.$=`add`;break;case 28:this.$=`sub`;break;case 29:a[c]=a[c].replace(/^'|'$/g,``),a[c]=r.unescape(a[c]),this.$=r.stringToRegExp(a[c]);break;case 30:a[c]=a[c].replace(/^'|'$/g,``),a[c]=r.unescape(a[c]),this.$=r.stringToRegExp(a[c],`^`);break;case 31:a[c]=a[c].replace(/^'|'$/g,``),a[c]=r.unescape(a[c]),this.$=r.stringToRegExp(a[c],`$`);break;case 32:this.$=`$ne`;break;case 33:this.$=`$gt`;break;case 34:this.$=`$lt`;break;case 35:this.$=`$gte`;break;case 36:this.$=`$lte`;break}},table:[{3:1,4:2,5:3,7:4,9:t,11:6,13:n},{1:[3]},{1:[2,1],6:r},e(i,[2,2],{8:a}),e(o,[2,4]),{4:10,5:3,7:4,9:t,11:6,13:n},{12:11,14:[1,12],15:13,16:[1,14],20:15,21:16,22:s,23:c,24:l,25:u,26:d,30:f,31:p,34:m,35:h,36:g,37:[1,20],38:[1,21],39:[1,22],40:[1,23]},e([14,16,22,23,24,25,26,30,31,34,35,36,37,38,39,40],[2,8]),{5:31,7:4,9:t,11:6,13:n},{7:32,9:t,11:6,13:n},{6:r,10:[1,33]},e(o,[2,7]),e(_,[2,32],{15:34,16:[1,35],34:m,35:h,36:g}),e(o,[2,10]),{17:36,19:37,21:38,22:s,23:c,24:l,25:u,26:d,30:f,31:p},{21:39,22:s,23:c,24:l,25:u,26:d,30:f,31:p},e(o,[2,15]),{31:[1,40]},{31:[1,41]},{31:[1,42]},e(_,[2,33]),e(_,[2,34]),e(_,[2,35]),e(_,[2,36]),e(v,[2,20]),e(v,[2,21]),e(v,[2,22]),e(v,[2,23]),{27:43,32:[1,44],33:[1,45]},e(v,[2,25]),e(v,[2,26]),e(i,[2,3],{8:a}),e(o,[2,5]),e(o,[2,6]),e(o,[2,9]),{17:46,21:47,22:s,23:c,24:l,25:u,26:d,30:f,31:p},{6:y,18:[1,48]},{8:[1,51],18:[1,50]},e(b,x,{8:[1,52]}),e(o,[2,14]),e(o,[2,29]),e(o,[2,30]),e(o,[2,31]),{28:[1,53]},{28:[2,27]},{28:[2,28]},{6:y,18:[1,54]},e(b,x),e(o,[2,12]),{21:55,22:s,23:c,24:l,25:u,26:d,30:f,31:p},e(o,[2,13]),{21:56,22:s,23:c,24:l,25:u,26:d,30:f,31:p},{21:57,22:s,23:c,24:l,25:u,26:d,30:f,31:p},{29:[1,58]},e(o,[2,11]),e(b,[2,16]),e(S,[2,18]),e(S,[2,19]),e(v,[2,24])],defaultActions:{44:[2,27],45:[2,28]},parseError:function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},parse:function(e){var t=this,n=[0],r=[null],i=[],a=this.table,o=``,s=0,c=0,l=0,u=2,d=1,f=i.slice.call(arguments,1),p=Object.create(this.lexer),m={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(m.yy[h]=this.yy[h]);p.setInput(e,m.yy),m.yy.lexer=p,m.yy.parser=this,p.yylloc===void 0&&(p.yylloc={});var g=p.yylloc;i.push(g);var _=p.options&&p.options.ranges;typeof m.yy.parseError==`function`?this.parseError=m.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;_token_stack:var v=function(){var e=p.lex()||d;return typeof e!=`number`&&(e=t.symbols_[e]||e),e};for(var y,b,x,S,C,w={},T,E,D,O;;){if(x=n[n.length-1],this.defaultActions[x]?S=this.defaultActions[x]:(y??=v(),S=a[x]&&a[x][y]),S===void 0||!S.length||!S[0]){var k=``;for(T in O=[],a[x])this.terminals_[T]&&T>u&&O.push(`'`+this.terminals_[T]+`'`);k=p.showPosition?`Parse error on line `+(s+1)+`:
|
|
11
|
+
`+p.showPosition()+`
|
|
12
|
+
Expecting `+O.join(`, `)+`, got '`+(this.terminals_[y]||y)+`'`:`Parse error on line `+(s+1)+`: Unexpected `+(y==d?`end of input`:`'`+(this.terminals_[y]||y)+`'`),this.parseError(k,{text:p.match,token:this.terminals_[y]||y,line:p.yylineno,loc:g,expected:O})}if(S[0]instanceof Array&&S.length>1)throw Error(`Parse Error: multiple actions possible at state: `+x+`, token: `+y);switch(S[0]){case 1:n.push(y),r.push(p.yytext),i.push(p.yylloc),n.push(S[1]),y=null,b?(y=b,b=null):(c=p.yyleng,o=p.yytext,s=p.yylineno,g=p.yylloc,l>0&&l--);break;case 2:if(E=this.productions_[S[1]][1],w.$=r[r.length-E],w._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},_&&(w._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),C=this.performAction.apply(w,[o,c,s,m.yy,S[1],r,i].concat(f)),C!==void 0)return C;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),i=i.slice(0,-1*E)),n.push(this.productions_[S[1]][0]),r.push(w.$),i.push(w._$),D=a[n[n.length-2]][n[n.length-1]],n.push(D);break;case 3:return!0}}return!0}};C.parseError=function(e,t){var n=e.split(`
|
|
13
|
+
`);throw n[0]=`Query Error: unexpected character in filter at char `+(t.loc.first_column+1),Error(n.join(`
|
|
14
|
+
`))},C.lexer=(function(){var e={EOF:1,parseError:function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
15
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},showPosition:function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
16
|
+
`+t+`^`},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
|
|
17
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:break;case 1:return 22;case 2:return 23;case 3:return 24;case 4:return 13;case 5:return 25;case 6:return 16;case 7:return 18;case 8:return this.pushState(`reldate`),26;case 9:return 33;case 10:return 32;case 11:return 28;case 12:return this.popState(),29;case 13:return 30;case 14:return 31;case 15:return 9;case 16:return 10;case 17:return 6;case 18:return 8;case 19:return 14;case 20:return 39;case 21:return 40;case 22:return 37;case 23:return 38;case 24:return 35;case 25:return 36;case 26:return 34;case 27:return 30}},rules:[/^(?:\s+)/,/^(?:(?:null|NULL|Null)(?!(\\(['"\+\,\(\)\>\<=\[\]\~\^\$])|([^\s'"\+\,\(\)\>\<=\[\]\~]))+))/,/^(?:(?:true|TRUE|True)(?!(\\(['"\+\,\(\)\>\<=\[\]\~\^\$])|([^\s'"\+\,\(\)\>\<=\[\]\~]))+))/,/^(?:(?:false|FALSE|False)(?!(\\(['"\+\,\(\)\>\<=\[\]\~\^\$])|([^\s'"\+\,\(\)\>\<=\[\]\~]))+))/,/^(?:[a-zA-Z_][a-zA-Z0-9_\.]*[:])/,/^(?:[0-9]+(\.[0-9]+)?\b(?![\-]))/,/^(?:\[)/,/^(?:\])/,/^(?:now(?=[-+]\d+[dwMyhms](?:([\+\,\(\)\[\]])|$)))/,/^(?:-)/,/^(?:\+)/,/^(?:\d+)/,/^(?:[dwMyhms])/,/^(?:([^\s'"\+\,\(\)\>\<=\[\]\~\-])(\\(['"\+\,\(\)\>\<=\[\]\~\^\$])|([^\s'"\+\,\(\)\>\<=\[\]\~]))+)/,/^(?:['](\\['"]|[^'"])+?['])/,/^(?:\()/,/^(?:\))/,/^(?:,)/,/^(?:\+)/,/^(?:-)/,/^(?:>=)/,/^(?:<=)/,/^(?:>)/,/^(?:<)/,/^(?:~\^)/,/^(?:~\$)/,/^(?:~)/,/^(?:([a-zA-Z])(?![a-zA-Z'"\,\(\)\>\<=\[\]\~]))/],conditions:{reldate:{rules:[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],inclusive:!0},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27],inclusive:!0}}};return e.parseError=function(e,t){var n=e.split(`
|
|
18
|
+
`),r=n[2].indexOf(`^`);throw n[0]=`Query Error: unrecognized text "`+n[1].charAt(r)+`" in filter at char `+(r+1),Error(n.join(`
|
|
19
|
+
`))},e})();function w(){this.yy={}}return w.prototype=C,C.Parser=w,new w})();t!==void 0&&e!==void 0&&(e.parser=r,e.Parser=r.Parser,e.parse=function(){return r.parse.apply(r,arguments)},e.main=function(t){t[1]||(console.log(`Usage: `+t[0]+` FILE`),process.exit(1));var n=Ae().readFileSync(Ae().normalize(t[1]),`utf8`);return e.parser.parse(n)},n!==void 0&&t.main===n&&e.main(process.argv.slice(1)))})),Me=i((e=>{var t=ke(),n=je().parser;n.yy=t,e.lex=e=>{n.lexer.setInput(e);let t=n.lexer.lex(),r=[];for(;t!==n.lexer.EOF;)r.push({token:n.terminals_[t],matched:n.lexer.match}),t=n.lexer.lex();return r},e.parse=(e,r)=>{let i=r||{};t.preserveRelativeDates=i.preserveRelativeDates===!0;try{return n.parse(e,i)}finally{t.preserveRelativeDates=!1}}})),Ne=i(((e,t)=>{t.exports=Me()}));export{Ne as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{o as e}from"./framework-provider-CmtnPXIT.js";import{i as t,n,r}from"./hooks-BApwwBE0.js";import{n as i,r as a}from"./update-queries-C4CnvJaW.js";var o=`OffersResponseType`,s=()=>{let t=e();return()=>t.invalidateQueries({queryKey:[o]})},c=r({dataType:o,path:`/offers/`,defaultSearchParams:{}}),l=t({dataType:o,path:e=>`/offers/${e}/`}),u=n({method:`PUT`,path:e=>`/offers/${e.id}/`,body:e=>({offers:[e]}),updateQueries:{dataType:o,emberUpdateType:`createOrUpdate`,update:a(`offers`)}}),d=n({method:`POST`,path:()=>`/offers/`,body:e=>({offers:[e]}),updateQueries:{dataType:o,emberUpdateType:`createOrUpdate`,update:i(`offers`)}});export{s as a,u as i,c as n,l as r,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
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{g as r}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{a as i,t as a}from"./router-provider-C1R4AZ2o.js";import{En as o,Nr as s,Sn as c,_a as l,bn as u,es as d,ho as f,n as p,t as m,xs as h}from"./index-ukW_0Uie.js";import{t as g}from"./share-modal-BJCadJyp.js";var _=e(t(),1),v=``+new URL(`logo-loader-dark-CuSPz-zc.mp4`,import.meta.url).href,y=``+new URL(`logo-loader-88VPEpXE.mp4`,import.meta.url).href,b=n();function x(){return(0,b.jsxs)(`div`,{className:`relative mb-6 size-20`,children:[(0,b.jsx)(`video`,{"aria-hidden":`true`,autoPlay:!0,className:`size-20 dark:hidden`,height:80,loop:!0,muted:!0,playsInline:!0,preload:`metadata`,role:`presentation`,tabIndex:-1,width:80,children:(0,b.jsx)(`source`,{src:y,type:`video/mp4`})}),(0,b.jsx)(`video`,{"aria-hidden":`true`,autoPlay:!0,className:`hidden size-20 dark:block`,height:80,loop:!0,muted:!0,playsInline:!0,preload:`metadata`,role:`presentation`,tabIndex:-1,width:80,children:(0,b.jsx)(`source`,{src:v,type:`video/mp4`})}),(0,b.jsx)(`div`,{className:`pointer-events-none absolute inset-0 hidden bg-[hsl(216deg_11%_70%/1%)] dark:block`})]})}function S({complete:e,id:t,isBeforeNext:n,isLast:r,isNext:i,onClick:a,step:o}){let s=o.icon;return(0,b.jsxs)(`button`,{className:`group ${i?`relative z-10 -mx-8 flex w-[calc(100%+64px)] items-center justify-between rounded-md bg-background px-8 py-6 text-left shadow-[0_1px_0_rgba(17,17,26,0.05),0_0_8px_rgba(17,17,26,0.10)] transition-none dark:ring-1 dark:ring-border ${r?`-mb-[18px]`:`mb-1.5`}`:`relative flex w-full items-center justify-between bg-transparent py-6 text-left ${r||n||i?``:`after:absolute after:inset-x-0 after:bottom-0 after:h-px after:bg-border after:content-['']`}`}`,"data-testid":`onboarding-step-${o.id}`,id:t,type:`button`,onClick:a,children:[(0,b.jsxs)(`span`,{className:`flex min-w-0 items-center ${e?`opacity-20 group-hover:opacity-25`:`group-hover:opacity-90`}`,children:[(0,b.jsx)(s,{className:`mr-4 size-5 shrink-0 text-purple`}),(0,b.jsxs)(`span`,{className:`min-w-0 text-left`,children:[(0,b.jsx)(`span`,{className:`block truncate pr-8 text-[16px] leading-[1.3] font-bold text-foreground`,children:o.title}),i&&(0,b.jsx)(`span`,{className:`mt-1 block pr-8 text-[15px] leading-[1.4] text-muted-foreground`,children:o.description})]})]}),(0,b.jsx)(`span`,{className:`flex shrink-0 items-center transition-transform group-hover:translate-x-[5px] ${e?`text-green`:`text-purple`}`,children:e?(0,b.jsx)(d,{className:`size-5`}):(0,b.jsx)(h,{className:`size-3.5`})})]})}function C({allStepsCompleted:e,completedSteps:t,nextStep:n,onComplete:r,onDismiss:i,onStepClick:a,siteTitle:o}){let c=new Set(t);return(0,b.jsx)(`main`,{className:`relative flex min-h-screen flex-col items-center justify-center px-6 py-8`,children:(0,b.jsxs)(`section`,{className:`mt-[-48px] flex w-full flex-col items-center`,"data-test-dashboard":`onboarding-checklist`,"data-testid":`onboarding-checklist`,children:[(0,b.jsxs)(`div`,{className:`mb-8 flex flex-col items-center text-center`,children:[(0,b.jsx)(x,{}),e?(0,b.jsx)(`h1`,{className:`text-[32px] leading-[1.15] font-bold tracking-normal text-foreground max-[480px]:text-[24px]`,children:`You're all set.`}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`h1`,{className:`text-[32px] leading-[1.15] font-bold tracking-normal text-foreground max-[480px]:text-[24px]`,children:`Let's get started!`}),(0,b.jsxs)(`p`,{className:`mt-2 mb-0 text-[15px] text-muted-foreground max-[480px]:m-0 max-[480px]:text-[14px]`,children:[`Welcome! It's time to set up `,o,`.`]})]})]}),(0,b.jsxs)(`div`,{className:`w-full max-w-[540px] rounded-md border border-border bg-background px-6 pt-4 pb-1`,children:[(0,b.jsxs)(`div`,{className:`mt-[-12px] flex items-center justify-between py-6 ${n===`customize-design`?`border-b-0`:`border-b border-border`}`,children:[(0,b.jsxs)(`span`,{className:`flex min-w-0 items-center opacity-20`,children:[(0,b.jsx)(l,{className:`mr-4 size-5 shrink-0 text-purple`}),(0,b.jsx)(`span`,{className:`truncate pr-8 text-[16px] leading-[1.3] font-bold text-foreground`,children:`Start a new Ghost publication`})]}),(0,b.jsx)(`span`,{className:`shrink-0 text-green`,children:(0,b.jsx)(d,{className:`size-5`})})]}),p.map((e,t)=>(0,b.jsx)(S,{complete:c.has(e.id),id:`ob-${e.id}`,isBeforeNext:p[t+1]?.id===n,isLast:t===p.length-1,isNext:n===e.id,step:e,onClick:()=>a(e.id)},e.id))]}),e&&(0,b.jsx)(s,{className:`mt-6 h-auto w-full max-w-[540px] px-3 py-3 text-[16px] max-[480px]:text-[15px]`,"data-testid":`onboarding-complete`,id:`ob-completed`,type:`button`,onClick:r,children:`Explore your dashboard`}),(0,b.jsxs)(`p`,{className:`mt-8 mb-0 text-[15px] text-muted-foreground max-[480px]:text-[14px]`,children:[`More questions? Check out our`,` `,(0,b.jsx)(s,{asChild:!0,className:`h-auto p-0 align-baseline text-[15px] text-green hover:text-green/90 max-[480px]:text-[14px]`,variant:`link`,children:(0,b.jsx)(`a`,{href:`https://ghost.org/help?utm_source=admin&utm_campaign=onboarding`,id:`ob-help-center`,rel:`noreferrer`,target:`_blank`,children:`Help Center`})}),`.`]}),!e&&(0,b.jsx)(s,{className:`mt-6 h-[38px] overflow-hidden px-3.5 py-px text-[15px] font-normal whitespace-nowrap text-muted-foreground hover:border-gray-300 hover:text-foreground`,"data-testid":`onboarding-skip`,id:`ob-skip`,type:`button`,variant:`outline`,onClick:i,children:`Skip onboarding`})]})})}function w({description:e,imageUrl:t,onOpenChange:n,open:r,siteTitle:i,siteUrl:a}){let o=encodeURIComponent(a),c=[{href:`https://twitter.com/intent/tweet?url=${o}`,id:`ob-share-on-x`,label:`Share your publication on X`,service:`x`},{href:`https://threads.net/intent/post?text=${o}`,id:`ob-share-on-threads`,label:`Share your publication on Threads`,service:`threads`},{href:`https://www.facebook.com/sharer/sharer.php?u=${o}`,id:`ob-share-on-fb`,label:`Share your publication on Facebook`,service:`facebook`},{href:`https://www.linkedin.com/feed/?shareActive=true&text=${o}`,id:`ob-share-on-li`,label:`Share your publication on LinkedIn`,service:`linkedin`}];return(0,b.jsx)(g.Root,{open:r,onOpenChange:n,children:(0,b.jsxs)(g.Content,{className:`dark:bg-surface-elevated`,"data-test-modal":`onboarding-share`,"data-testid":`onboarding-share-modal`,children:[(0,b.jsxs)(g.Header,{className:`flex-row items-center justify-between gap-4 space-y-0 text-left`,children:[(0,b.jsx)(g.Title,{className:`text-2xl`,children:`Share your publication`}),(0,b.jsx)(g.CloseButton,{id:`ob-close-share-modal`,onClick:()=>n(!1)})]}),(0,b.jsxs)(g.Preview,{className:`rounded-lg bg-card`,href:a,children:[t?(0,b.jsx)(`div`,{className:`aspect-video bg-cover bg-center`,style:{backgroundImage:`url(${t})`}}):(0,b.jsx)(`div`,{className:`flex aspect-video items-center justify-center bg-muted text-muted-foreground`,children:(0,b.jsx)(f,{className:`size-8`})}),(0,b.jsxs)(`div`,{className:`p-5`,children:[(0,b.jsx)(`div`,{className:`text-lg font-semibold`,children:i}),e&&(0,b.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:e})]})]}),(0,b.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Set your publication's cover image and description in`,` `,(0,b.jsx)(s,{asChild:!0,className:`h-auto p-0 align-baseline text-sm text-green hover:text-green/90`,variant:`link`,children:(0,b.jsx)(`a`,{href:`#/settings/design/edit?ref=setup`,id:`ob-share-modal-design-settings`,children:`Design settings`})}),`.`]}),(0,b.jsxs)(g.Footer,{children:[(0,b.jsx)(g.SocialLinks,{links:c}),(0,b.jsx)(g.CopyButton,{className:`ml-0! grow cursor-pointer`,copyURL:a,"data-testid":`onboarding-copy-link`,icon:`link`,id:`ob-copy-publication-link`,label:`Copy link`})]})]})})}function T(e){return e&&/^\/analytics(?:\/|\?|$)/.test(e)?e:`/analytics`}function E(){let e=i(),[t]=r(),n=T(t.get(`returnTo`)),s=m(),l=o(),d=u(),f=(0,_.useRef)(!1),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(!1),x=String(c(l.data?.settings,`title`)||d.data?.site.title||`your publication`),S=String(c(l.data?.settings,`description`)||d.data?.site.description||``),E=String(c(l.data?.settings,`cover_image`)||``),D=d.data?.site.url||`/`,{allStepsCompleted:O,completeChecklist:k,completedSteps:A,dismissChecklist:j,shouldShowChecklist:M,isLoading:N,markStepCompleted:P,nextStep:F}=s;if(N||d.isLoading||h||f.current)return null;if(!M)return(0,b.jsx)(a,{replace:!0,to:n});let I=async t=>{f.current=!0,g(!0);try{await t(),e(n,{replace:!0})}catch(e){f.current=!1,g(!1),console.error(e)}},L=async t=>{if(t===`share-publication`){await P(t),y(!0);return}await P(t);let n=p.find(({id:e})=>e===t);n?.route&&e(n.route)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C,{allStepsCompleted:O,completedSteps:A,nextStep:F,siteTitle:x,onComplete:()=>{I(k)},onDismiss:()=>{I(j)},onStepClick:e=>{L(e)}}),(0,b.jsx)(w,{description:S,imageUrl:E,open:v,siteTitle:x,siteUrl:D,onOpenChange:y})]})}export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{t as r}from"./use-tinybird-query-C7bQRJWw.js";import{i,o as a}from"./post-helpers-C5OQMBoi.js";import{m as o}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{a as s}from"./router-provider-C1R4AZ2o.js";import{f as c,p as l}from"./dist-DGzPJ_bO.js";import{a as u,i as d,t as f}from"./chart-helpers-xiSsW8r0.js";import{a as p,n as m,o as h,t as g}from"./card-DGoDJzrn.js";import{c as _,l as v,n as y,o as b,r as x,s as ee,t as S,u as C}from"./data-list-16rkJYYi.js";import{t as w}from"./empty-indicator-oX1u1Pkn.js";import{$n as T,Gn as E,Hr as D,Nr as O,Rs as te,Vr as ne,Xa as k,bo as re,c as ie,ca as ae,js as A,oo as oe,tr as j,yo as M,zr as N}from"./index-ukW_0Uie.js";import{n as P,r as F,t as I}from"./kpi-card-DCdlyaSS.js";import{t as se}from"./disabled-sources-indicator-qs2GfLvl.js";import{t as ce}from"./use-analytics-data-Cds6XDjg.js";import{a as L,n as R,r as z,t as B}from"./kpi-card-BlZaG1Lo.js";import{n as le,r as ue,t as de}from"./post-analytics-header-DsMoLx0R.js";import{t as fe}from"./gift-links-nBxJjZiQ.js";import{r as pe,t as me}from"./gift-link-modal-su8MsRdg.js";import{n as he}from"./post-analytics-context-D0Mw-Pmv.js";import{n as ge,t as _e}from"./use-post-referrers-CRtgyuXB.js";import{a as V,o as H,r as U,t as W}from"./link-helpers-tOlxmuH5.js";import{n as ve,r as G}from"./kpi-helpers-DpAuS1Nb.js";var K=e(t(),1),q=n(),ye=({post:e,isNewsletterStatsLoading:t,isWebShown:n})=>{let{postId:r}=o(),i=s(),a=(0,K.useMemo)(()=>{let t=e.email?.opened_count||0,n=e.email?.email_count||0,r=e.count?.clicks||0;return{opened:t,clicked:r,openedRate:n>0?t/n:0,clickedRate:n>0?r/n:0,sent:n}},[e]),{data:u}=V({searchParams:{filter:`post_id:'${r}'`}}),d=(0,K.useMemo)(()=>U(u),[u]),f=[{datatype:`Clicked`,value:a.clickedRate,fill:`url(#gradientTeal)`,color:`var(--chart-teal)`},{datatype:`Opened`,value:a.openedRate,fill:`url(#gradientBlue)`,color:`var(--chart-blue)`}],w={percentage:{label:`Opened`},Average:{label:`Clicked`},"This newsletter":{label:`Opened`}},D=e.email_only||!n;return(0,q.jsxs)(g,{className:`group/datalist overflow-hidden ${D&&`col-span-2`}`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(p,{children:(0,q.jsxs)(h,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(k,{size:16,strokeWidth:1.5}),`Newsletter performance`]})}),(0,q.jsx)(O,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{i(`/posts/analytics/${r}/newsletter`)},children:`View more`})]}),t?(0,q.jsx)(m,{children:(0,q.jsx)(`div`,{className:`mx-auto flex min-h-[250px] items-center justify-center xl:size-full`,children:(0,q.jsx)(T,{})})}):(0,q.jsxs)(m,{className:`${D&&`grid grid-cols-2`}`,children:[(0,q.jsxs)(`div`,{className:`${D&&`border-r pr-6`}`,children:[(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-6`,children:[(0,q.jsx)(I,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(P,{color:`var(--chart-blue)`,children:`Open rate`}),(0,q.jsx)(F,{value:l(a.openedRate)})]})}),(0,q.jsx)(I,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(P,{color:`var(--chart-teal)`,children:`Click rate`}),(0,q.jsx)(F,{value:l(a.clickedRate)})]})})]}),!D&&(0,q.jsx)(E,{}),(0,q.jsx)(`div`,{className:`mx-auto my-6 h-[240px]`,children:(0,q.jsx)(H,{className:`pointer-events-none aspect-square h-[240px]`,config:w,data:f,tooltip:!1})})]}),(0,q.jsxs)(`div`,{className:`${D&&`pl-6`}`,children:[!D&&(0,q.jsx)(E,{}),(0,q.jsxs)(`div`,{className:D?``:`pt-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 ${D?`pb-3`:`py-3`}`,children:[(0,q.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:`Top clicked links in this email`}),(0,q.jsx)(A,{children:`Members`})]}),d.length>0?(0,q.jsx)(S,{className:``,children:(0,q.jsx)(x,{children:d.slice(0,D?10:5).map(e=>{let t=a.clicked>0?e.count/a.clicked:0;return(0,q.jsxs)(C,{children:[(0,q.jsx)(y,{style:{width:`${t?Math.round(t*100):0}%`}}),(0,q.jsx)(b,{children:(0,q.jsxs)(`div`,{className:`flex items-center space-x-2 overflow-hidden`,children:[(0,q.jsx)(oe,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),(0,q.jsx)(`a`,{className:`block truncate font-medium hover:underline`,href:e.link.to,rel:`noreferrer`,target:`_blank`,title:e.link.to,children:W(e.link.to,!0)})]})}),(0,q.jsxs)(ee,{children:[(0,q.jsx)(_,{children:c(e.count||0)}),(0,q.jsx)(v,{children:l(t)})]})]},e.link.link_id)})})}):(0,q.jsx)(`div`,{className:`py-20 text-center text-sm text-gray-700`,children:`You have no links in your post.`})]})]})]})]})},be=({chartData:e,range:t,isLoading:n,visitors:r,sourcesData:i,isNewsletterShown:a=!0})=>{let{postId:l}=o(),d=s(),{site:f}=ce(),_=f.url,v=f.icon,y=(0,K.useMemo)(()=>i?i.reduce((e,t)=>e+Number(t.visits||0),0):0,[i]);return(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(g,{className:`group/datalist overflow-hidden ${!a&&`col-span-2`}`,"data-testid":`web-performance`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(p,{children:(0,q.jsxs)(h,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(M,{size:16,strokeWidth:1.5}),`Web performance`]})}),(0,q.jsx)(O,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{d(`/posts/analytics/${l}/web`)},children:`View more`})]}),(0,q.jsxs)(m,{children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(I,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,"data-testid":`unique-visitors`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(P,{color:`var(--chart-blue)`,children:`Unique visitors`}),(0,q.jsx)(F,{value:c(r)})]})}),(0,q.jsx)(E,{}),(0,q.jsx)(`div`,{className:`max-h-[288px] py-6 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500`,children:n?(0,q.jsx)(`div`,{className:`flex h-[16vw] min-h-[240px] items-center justify-center`,children:(0,q.jsx)(T,{})}):(0,q.jsx)(u,{className:`aspect-auto h-[240px] w-full`,color:`var(--chart-blue)`,data:e||[],id:`visitors`,range:t,syncId:`overview-charts`})})]}),a&&(0,q.jsxs)(`div`,{className:a?`border-t pt-3`:`-mt-3`,children:[(0,q.jsx)(`div`,{children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-3`,children:[(0,q.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:`How readers found this post`}),(0,q.jsx)(A,{children:`Visitors`})]})}),i&&i.length>0?(0,q.jsx)(G,{data:i,range:t,siteIcon:v,siteUrl:_,tableOnly:!0,topSourcesLimit:5,totalVisitors:y}):(0,q.jsx)(w,{className:`h-full py-10`,description:`Once someone visits this post, sources will show here`,title:`No visitors since you published this post`,children:(0,q.jsx)(M,{strokeWidth:1.5})})]})]})]})})},J=()=>{let e=s(),{statsConfig:t,isLoading:n}=ce(),{post:o,isPostLoading:l,postId:u}=he(),{totals:_,isLoading:v,currencySymbol:y}=_e(u),{appSettings:b}=te(),{emailTrackClicks:x,emailTrackOpens:ee}=b?.analytics||{},S=b?.analytics?.webAnalytics===!0,C=le(o),{token:w,isLoading:E,error:k}=fe(u,{enabled:C}),{usage:A,loading:oe,error:M}=pe({postUuid:o?.uuid,token:w,tokenLoading:E,tokenError:k,enabled:C}),[P,F]=(0,K.useState)(!1),I=(0,K.useMemo)(()=>o?.published_at?D(o.published_at):ie.allTime.value,[o?.published_at]),{startDate:V,endDate:H,timezone:U}=ne(I),W=(0,K.useMemo)(()=>{let e={site_uuid:t?.id||``,date_from:N(V),date_to:N(H),timezone:U,post_uuid:``};return!l&&o?.uuid?{...e,post_uuid:o.uuid}:e},[l,o,t?.id,V,H,U]),{data:G,loading:J}=r({endpoint:`api_kpis`,statsConfig:t,params:W}),xe=(0,K.useMemo)(()=>G?.length?G.reduce((e,t)=>{let n=Number(t.visits);return e+(isNaN(n)?0:n)},0):0,[G]),Y=ve.visits,Se=f(I,G||[],{fieldName:Y.dataKey}),Ce=d(G||[],I,Y.dataKey,`sum`)?.map(e=>{let t=Number(e[Y.dataKey]);return{date:String(e.date),value:t,formattedValue:Y.formatter(t),label:Y.label}}),{data:we,loading:Te}=r({endpoint:`api_top_sources`,statsConfig:t,params:W}),Ee=n||v||l||J,De=l||n||J,X=a(o)&&ee&&x,Z=!o?.email_only&&S,Q=b?.analytics.membersTrackSources,$=!!(C&&o&&b?.analytics.webAnalytics);return(0,K.useEffect)(()=>{!l&&o&&i(o)&&!S&&Q&&e(`/posts/analytics/${u}/growth`,{replace:!0})},[l,o,S,e,u,Q]),l?(0,q.jsx)(T,{}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(de,{currentTab:`Overview`}),(0,q.jsx)(ue,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 lg:grid lg:grid-cols-2`,children:[Z&&(0,q.jsx)(be,{chartData:Ce,isLoading:De||Ee||Te,isNewsletterShown:X,range:Se,sourcesData:we,visitors:xe}),X&&(0,q.jsx)(ye,{isNewsletterStatsLoading:l,isWebShown:Z,post:o}),(Q||$)&&(0,q.jsxs)(`div`,{className:`col-span-2 flex flex-col gap-6 lg:grid lg:grid-cols-3`,children:[Q&&(0,q.jsxs)(g,{className:`group overflow-hidden p-0 ${$?`lg:col-span-2`:`lg:col-span-3`}`,"data-testid":`growth`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(p,{children:(0,q.jsxs)(h,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(ae,{size:16,strokeWidth:1.5}),`Growth`]})}),(0,q.jsx)(O,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-200 group-hover:translate-x-0 group-hover:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{e(`/posts/analytics/${u}/growth`)},children:`View more`})]}),(0,q.jsx)(m,{className:`flex flex-col gap-6 px-0 md:grid md:grid-cols-3 md:items-stretch md:gap-0`,children:Ee?Array.from({length:3},(e,t)=>(0,q.jsxs)(`div`,{className:`h-[98px] gap-1 border-r px-6 py-5 last:border-r-0`,children:[(0,q.jsx)(j,{className:`w-2/3`}),(0,q.jsx)(j,{className:`h-7 w-12`})]},t)):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`Free members`}),(0,q.jsx)(R,{children:(0,q.jsx)(L,{className:`text-[2.2rem]`,children:c(_?.free_members||0)})})]}),b?.paidMembersEnabled&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`Paid members`}),(0,q.jsx)(R,{children:(0,q.jsx)(L,{className:`text-[2.2rem]`,children:c(_?.paid_members||0)})})]}),(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`MRR impact`}),(0,q.jsx)(R,{children:(0,q.jsxs)(L,{className:`text-[2.2rem]`,children:[y,c(ge(_?.mrr||0))]})})]})]})]})})]}),$&&(0,q.jsxs)(g,{className:`group/datalist overflow-hidden ${Q?`lg:col-span-1`:`lg:col-span-3`}`,"data-testid":`gift-link-card`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(p,{children:(0,q.jsxs)(h,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(re,{size:16,strokeWidth:1.5}),`Gift link`]})}),(0,q.jsx)(O,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>F(!0),children:`Share`})]}),!oe&&!M&&(0,q.jsxs)(m,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Visitors`}),(0,q.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold`,"data-testid":`gift-link-card-visitors`,children:c(A?.visits??0)})]})]})]}),!Z&&!X&&!Q&&!$&&(0,q.jsx)(se,{className:`col-span-2 py-20`})]})}),$&&(0,q.jsx)(me,{open:P,postId:u,source:`gift-link-card`,onOpenChange:F},u)]})};export{J as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{c as r}from"./dist-DGzPJ_bO.js";import{t as i}from"./inline-EMAm3okk.js";import{t as a}from"./stack-xiN0eQ6Z.js";import{t as o}from"./text-DwtjwGkh.js";import{Ds as s,Gr as c,qr as l,ti as u}from"./index-ukW_0Uie.js";var d=e(t(),1),f=n();function p({className:e,children:t}){return(0,f.jsx)(i,{align:`center`,className:r(`pt-1 text-sm text-muted-foreground`,e),"data-page-header":`breadcrumb`,gap:`sm`,children:t})}function m({className:e,children:t}){return(0,f.jsx)(o,{as:`span`,className:r(`ml-1 text-base tabular-nums`,e),"data-page-header":`count`,tone:`secondary`,weight:`regular`,children:t})}function h({className:e,children:t}){return(0,f.jsx)(o,{as:`p`,className:e,"data-page-header":`description`,size:`sm`,tone:`secondary`,children:t})}function g({className:e,children:t}){return(0,f.jsx)(o,{as:`p`,className:r(`mt-0.5`,e),"data-page-header":`meta`,size:`sm`,tone:`secondary`,children:t})}function _({className:e,children:t}){let n=[],i=[];d.Children.forEach(t,e=>{if(!d.isValidElement(e)){n.push(e);return}switch(e.type){case h:case g:i.push(e);break;default:n.push(e)}});let o=(0,f.jsx)(s,{className:r(`text-lg font-semibold tracking-[0.1px] whitespace-nowrap`,e),"data-page-header":`title`,children:n});return i.length>0?(0,f.jsxs)(a,{"data-page-header":`title-body`,gap:`none`,children:[o,i]}):o}function v({className:e,children:t}){return(0,f.jsx)(a,{className:r(`h-full min-h-(--control-height) min-w-0`,e),"data-page-header":`left`,gap:`xs`,justify:`center`,children:t})}function y({children:e}){return(0,f.jsx)(f.Fragment,{children:e})}function b({children:e}){return(0,f.jsx)(c,{children:e})}function x({children:e,...t}){return(0,f.jsx)(u,{asChild:!0,...t,children:e})}function S({children:e,...t}){return(0,f.jsx)(l,{align:`end`,sideOffset:8,...t,children:e})}var C=640,w=e=>typeof window>`u`?!1:window.innerWidth<e,T=e=>{let[t,n]=d.useState(()=>w(e));return d.useEffect(()=>{let t=()=>{n(w(e))};return t(),window.addEventListener(`resize`,t),()=>{window.removeEventListener(`resize`,t)}},[e]),t},E=Object.assign(function({className:e,children:t,mobileMenuBreakpoint:n=C}){let r=d.Children.toArray(t),a=[],o=null,s=null,c=T(n);return r.forEach(e=>{if(!d.isValidElement(e)){a.push(e);return}let t=e;if(t.type===b){o=t;return}if(t.type===y){s=t.props.children??null,a.push(t.props.children??null);return}a.push(t)}),o?c?(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:(0,f.jsxs)(i,{align:`center`,className:`ml-auto`,"data-page-header":`action-group-mobile`,gap:`sm`,children:[o,s&&(0,f.jsx)(`div`,{"data-page-header":`action-group-mobile-primary`,children:s})]})}):(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:(0,f.jsx)(i,{align:`center`,"data-page-header":`action-group-desktop`,gap:`sm`,justify:`end`,children:a})}):(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:t})},{Primary:y,MobileMenu:b,MobileMenuTrigger:x,MobileMenuContent:S});function D({className:e,children:t}){return(0,f.jsx)(i,{align:`center`,className:r(`min-h-(--control-height) shrink-0`,e),"data-page-header":`actions`,gap:`lg`,children:t})}var O=Object.assign(function({className:e,children:t,sticky:n=!0,blurredBackground:a=!0}){return(0,f.jsx)(`header`,{className:r(`flex flex-col`,n&&`sticky top-0 z-50`,a&&`bg-gradient-to-b from-background via-background/70 to-background/70 backdrop-blur-md dark:bg-black`,e),"data-page-header":`page-header`,children:(0,f.jsx)(i,{align:`start`,className:`w-full`,"data-page-header":`main`,gap:`lg`,justify:`between`,children:t})})},{Left:v,Breadcrumb:p,Title:_,Count:m,Description:h,Meta:g,Actions:D,ActionGroup:E});export{O as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,r as t,t as n}from"./hooks-
|
|
1
|
+
import{i as e,r as t,t as n}from"./hooks-BApwwBE0.js";var r=`PagesResponseType`,i=t({dataType:r,path:`/pages/`});e({dataType:r,path:e=>`/pages/${e}/`});var a=n({dataType:r,path:`/pages/`,defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.pages),r=t[t.length-1].meta;return{pages:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}});export{a as n,i as t};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
+
<g clip-path="url(#clip0_2155_3551)">
|
|
3
|
+
<rect width="256" height="256" fill="white"/>
|
|
4
|
+
<rect width="256" height="256" fill="url(#pattern0)"/>
|
|
5
|
+
</g>
|
|
6
|
+
<defs>
|
|
7
|
+
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
8
|
+
<use xlink:href="#image0_2155_3551" transform="scale(0.00390625)"/>
|
|
9
|
+
</pattern>
|
|
10
|
+
<clipPath id="clip0_2155_3551">
|
|
11
|
+
<rect width="256" height="256" fill="white"/>
|
|
12
|
+
</clipPath>
|
|
13
|
+
<image id="image0_2155_3551" width="256" height="256" xlink:href="data:image/png;base64,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"/>
|
|
14
|
+
</defs>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
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{n as r}from"./posts-EWpZIjkr.js";import{t as i}from"./analytics-53FOa2wq.js";import{r as a}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{t as o}from"./box-BWbhXh21.js";import{t as s}from"./container-BYz2Ed39.js";import{t as c}from"./use-analytics-data-Cds6XDjg.js";import{t as l}from"./post-share-modal-Dx-MEjhI.js";var u=e(t(),1),d=n(),f=({children:e})=>(0,d.jsx)(o,{className:`size-full`,children:(0,d.jsx)(s,{className:`relative flex h-full flex-col`,size:`page`,children:(0,d.jsx)(`div`,{className:`grid w-full grow`,children:(0,d.jsx)(`div`,{className:`flex h-full flex-col px-8`,children:e})})})}),p=()=>{let[e,t]=(0,u.useState)(!1),[n,i]=(0,u.useState)(null),[a,o]=(0,u.useState)(null),{site:s}=c(),{data:l}=r({searchParams:n?{filter:`id:${n.id}`,include:`authors,newsletter,email`}:{},enabled:!!n}),{data:d}=r({searchParams:{filter:`status:[published,sent]`,limit:`1`,fields:`id`},enabled:!!n}),f=l?.posts?.[0],p=e=>`${e.toLocaleString()} subscriber${e===1?``:`s`}`,m=e=>new Date(e).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),h=e=>e?.map(e=>e.name).join(`, `)||``,g=(0,u.useMemo)(()=>{if(!f)return null;let n=!!a,r=()=>{let e=[];if(f.email_only?e.push(`Your email was sent to`):f.email?.email_count?e.push(`Your post was published on your site and sent to`):e.push(`Your post was published on your site`),f.email?.email_count){let t=p(f.email.email_count);e.push(` `),e.push(u.createElement(`strong`,{key:`subscriber-count`},t)),f.newsletter?.name&&(e.push(` of `),e.push(u.createElement(`strong`,{key:`newsletter-name`},f.newsletter.name))),e.push(`,`)}if(f.published_at){let t=new Date(f.published_at);t.toDateString()===new Date().toDateString()?(e.push(` `),e.push(u.createElement(`strong`,{key:`today`},`today`))):(e.push(` on `),e.push(u.createElement(`strong`,{key:`date`},t.toLocaleDateString(`en-US`,{month:`long`,day:`numeric`})))),e.push(` at `),e.push(u.createElement(`strong`,{key:`time`},m(f.published_at)))}return e.push(`.`),u.createElement(`span`,{},...e)},c=()=>{t(!1),i(null),o(null)};return{open:e,onOpenChange:e=>{e||c()},emailOnly:f.email_only,postURL:f.url||``,primaryTitle:`Boom! It's out there.`,secondaryTitle:n&&a?`That's ${a.toLocaleString()} post${a===1?``:`s`} published.`:`Spread the word!`,description:r(),featureImageURL:f.feature_image||``,postTitle:f.title||``,postExcerpt:f.excerpt||``,faviconURL:s?.icon||``,siteTitle:s?.title||``,author:h(f.authors),onClose:c}},[f,e,a,s?.title]);return(0,u.useEffect)(()=>{let e=()=>{try{let e=localStorage.getItem(`ghost-last-published-post`);if(e){let n=JSON.parse(e);i(n),t(!0),localStorage.removeItem(`ghost-last-published-post`)}}catch{}};e();let n=setTimeout(e,100);return()=>clearTimeout(n)},[]),(0,u.useEffect)(()=>{d?.meta?.pagination?.total&&o(d.meta.pagination.total)},[d]),{isModalOpen:e,post:f,postCount:a,showPostCount:!!a,closeModal:()=>{t(!1),i(null),o(null)},modalProps:g}},m=()=>{let{isModalOpen:e,modalProps:t}=p(),n=e&&!!t;return(0,u.useEffect)(()=>{n&&i(`Share Modal Opened`,{giftLinkShown:!1,source:`publish-flow`})},[n]),(0,d.jsxs)(f,{children:[(0,d.jsx)(a,{}),e&&t&&(0,d.jsx)(l,{...t})]})};export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{a as r,p as ee}from"./hooks-BApwwBE0.js";import{h as te,m as i,p as ne,v as re}from"./stats-BQZMGMvn.js";import{i as ie}from"./posts-EWpZIjkr.js";import{t as ae}from"./analytics-53FOa2wq.js";import{i as a,n as o,o as s,r as c}from"./post-helpers-C5OQMBoi.js";import{a as oe}from"./router-provider-C1R4AZ2o.js";import{c as l,f as se,l as u,u as d}from"./dist-DGzPJ_bO.js";import{a as ce,i as le,n as f,o as ue,r as de,t as fe}from"./breadcrumb-B-M9Ip_2.js";import{r as p}from"./users-CcSCQFcQ.js";import{$r as pe,Ds as me,Gi as he,Gr as ge,Jr as m,Ma as _e,No as h,Nr as g,Po as _,Rs as v,Yr as y,ar as b,cr as x,dr as S,ir as C,lr as w,or as T,qr as E,sr as D,ti as O,ua as k,ur as A}from"./index-ukW_0Uie.js";import{t as j}from"./use-analytics-data-Cds6XDjg.js";import{t as M}from"./post-share-modal-Dx-MEjhI.js";import{t as N}from"./get-site-timezone-HgL0jI_F.js";import{i as P,t as ve}from"./gift-link-modal-su8MsRdg.js";import{n as F}from"./post-analytics-context-D0Mw-Pmv.js";var I=e(t(),1),L=n(),R=(0,I.forwardRef)(({children:e,className:t,...n},r)=>(0,L.jsx)(`section`,{ref:r,className:l(`flex size-full grow flex-col gap-6 py-8`,t),...n,children:e}));R.displayName=`PostAnalyticsContent`;var z=e=>{let{data:t}=r();return!e||!t?!1:e.status===`published`&&!!e.visibility&&e.visibility!==`public`&&p(t)},B=({currentTab:e,children:t})=>{let n=oe(),{appSettings:r}=v(),{mutateAsync:l}=ie(),p=ee(),[R,B]=(0,I.useState)(!1),[V,H]=(0,I.useState)(!1),[ye,U]=(0,I.useState)(!1),{settings:be,site:W,statsConfig:xe}=j(),{post:G,isPostLoading:K,postId:q}=F(),J=z(G),Y=N(be),X=(0,I.useRef)(!1);(0,I.useEffect)(()=>{if(!V){X.current=!1;return}X.current||(X.current=!0,ae(`Share Modal Opened`,{giftLinkShown:J,source:`post-analytics`}))},[V,J]);let{activeVisitors:Z,isLoading:Q}=re({postUuid:G?.uuid,statsConfig:xe,enabled:r?.analytics?.webAnalytics??!1}),$=(0,I.useMemo)(()=>{if(!G)return[];let e=[];return a(G)&&!r?.analytics.webAnalytics||(e.push(`Overview`),!G.email_only&&r?.analytics.webAnalytics&&e.push(`Web`)),s(G)&&e.push(`Newsletter`),r?.analytics.membersTrackSources&&e.push(`Growth`),e},[G,r?.analytics.webAnalytics,r?.analytics.membersTrackSources]),Se=()=>{G&&B(!0)},Ce=async()=>{if(G)try{await l(q),B(!1),n(`/posts/`,{crossApp:!0})}catch(e){p(e)}};return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`header`,{className:`z-50 -mx-8 bg-white/70 backdrop-blur-md dark:bg-background`,children:(0,L.jsx)(`div`,{className:`relative flex min-h-[102px] w-full items-start justify-between gap-5 px-8 pt-8 pb-0`,"data-header":`header`,children:(0,L.jsxs)(`div`,{className:`flex w-full flex-col gap-6`,children:[(0,L.jsxs)(`div`,{className:`flex w-full flex-col justify-between md:flex-row md:items-center`,children:[(0,L.jsx)(fe,{children:(0,L.jsxs)(le,{children:[(0,L.jsx)(f,{children:(0,L.jsx)(de,{asChild:!0,children:(0,L.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/`,{crossApp:!0}),children:`Analytics`})})}),(0,L.jsx)(ue,{}),(0,L.jsx)(f,{children:(0,L.jsx)(ce,{children:`Post analytics`})})]})}),(0,L.jsxs)(`div`,{className:`flex w-full items-center gap-2 md:w-auto`,children:[r?.analytics.webAnalytics&&!G?.email_only&&(0,L.jsx)(`div`,{className:`mr-3 flex grow items-center gap-2 md:grow-0`,children:(0,L.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,L.jsxs)(`span`,{children:[Q?``:se(Z),` reading now`]}),(0,L.jsx)(`div`,{className:`size-2 rounded-full ${Q?`animate-pulse bg-muted`:Z?`bg-green-500`:`border border-muted-foreground`}`})]})}),!K&&(0,L.jsxs)(L.Fragment,{children:[!G?.email_only&&(0,L.jsx)(M,{author:G?.authors?.[0]?.name||``,canShareAsGift:J,description:``,faviconURL:W?.icon||``,featureImageURL:G?.feature_image,giftAccessLabel:P(G?.visibility),open:V,postExcerpt:G?.excerpt||``,postTitle:G?.title,postURL:G?.url,siteTitle:W?.title||``,onClose:()=>H(!1),onOpenChange:H,onShareAsGift:()=>{H(!1),U(!0)},children:(0,L.jsxs)(g,{variant:`outline`,onClick:()=>H(!0),children:[(0,L.jsx)(k,{}),` Share`]})}),(0,L.jsxs)(ge,{children:[(0,L.jsx)(O,{asChild:!0,children:(0,L.jsx)(g,{variant:`outline`,children:(0,L.jsx)(_,{})})}),(0,L.jsxs)(E,{align:`end`,children:[(0,L.jsxs)(m,{children:[(0,L.jsx)(y,{asChild:!0,children:(0,L.jsxs)(`a`,{href:G?.url,rel:`noopener noreferrer`,target:`_blank`,children:[(0,L.jsx)(h,{}),`View in browser`]})}),(0,L.jsxs)(y,{onClick:()=>{n(`/editor/post/${q}`,{crossApp:!0})},children:[(0,L.jsx)(_e,{}),`Edit post`]})]}),(0,L.jsx)(pe,{}),(0,L.jsx)(m,{children:(0,L.jsxs)(y,{className:`text-destructive focus:text-destructive`,onClick:Se,children:[(0,L.jsx)(he,{}),`Delete post`]})})]})]})]})]})]}),!K&&(0,L.jsxs)(`div`,{className:`flex items-start gap-6 md:items-center`,children:[G?.feature_image&&(0,L.jsx)(`div`,{className:`aspect-[16/10] w-full max-w-[100px] rounded-md bg-cover bg-center md:max-w-[132px]`,style:{backgroundImage:`url(${G.feature_image})`}}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(me,{className:`-ml-px max-w-[920px] indent-0 !text-xl md:leading-[1.2em]`,"data-header":`header-title`,children:G?.title}),G?.published_at&&(0,L.jsxs)(`div`,{className:`mt-0.5 flex items-center justify-start leading-[1.65em] text-muted-foreground`,children:[o(G)&&`Sent on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`,a(G)&&`Published on your site on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`,c(G)&&`Published and sent on ${u(G.published_at,Y)} at ${d(G.published_at,Y)}`]})]})]})]})})}),(0,L.jsxs)(te,{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:[!K&&(0,L.jsxs)(ne,{className:`min-h-[34px]`,defaultValue:e,responsive:!0,children:[$.includes(`Overview`)&&(0,L.jsx)(i,{value:`Overview`,onClick:()=>{n(`/posts/analytics/${q}`)},children:`Overview`}),$.includes(`Web`)&&(0,L.jsx)(i,{value:`Web`,onClick:()=>{n(`/posts/analytics/${q}/web`)},children:`Web traffic`}),$.includes(`Newsletter`)&&(0,L.jsx)(i,{value:`Newsletter`,onClick:()=>{n(`/posts/analytics/${q}/newsletter`)},children:`Newsletter`}),$.includes(`Growth`)&&(0,L.jsx)(i,{value:`Growth`,onClick:()=>{n(`/posts/analytics/${q}/growth`)},children:`Growth`})]}),t]}),J&&q&&(0,L.jsx)(ve,{open:ye,postId:q,source:`share-modal`,onOpenChange:U},q),(0,L.jsx)(C,{open:R,onOpenChange:B,children:(0,L.jsxs)(D,{children:[(0,L.jsxs)(A,{children:[(0,L.jsx)(S,{children:`Are you sure you want to delete this post?`}),(0,L.jsxs)(x,{children:[`You're about to delete "`,(0,L.jsx)(`strong`,{children:G?.title}),`". This is permanent! We warned you, k?`]})]}),(0,L.jsxs)(w,{children:[(0,L.jsx)(T,{children:`Cancel`}),(0,L.jsx)(b,{className:`bg-red-600 text-white hover:bg-red-700`,onClick:()=>void Ce(),children:`Delete`})]})]})})]})};export{z as n,R as r,B as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-
|
|
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{n as r}from"./posts-EWpZIjkr.js";import{m as i}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{c as a}from"./index-ukW_0Uie.js";import{t as o}from"./constants-c-JNF9c2.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)(a.last30Days.value),{data:{posts:[d]}={posts:[]},isLoading:f}=r({searchParams:{filter:`id:${t}`,include:o}});return(0,l.jsx)(s.Provider,{value:{postId:t,post:d,isPostLoading:f,range:n,setRange:u},children:e})};export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{Nr as n,ks as r}from"./index-ukW_0Uie.js";import{t as i}from"./share-modal-BJCadJyp.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`}];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)(r,{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)(n,{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)(n,{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 +1 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"./hooks-
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"./hooks-BApwwBE0.js";var i=`PostsResponseType`,a=n({dataType:i,path:`/posts/`}),o=r({dataType:i,path:`/posts/`,defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.posts),r=t[t.length-1].meta;return{posts:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),s=e({dataType:i,path:e=>`/posts/${e}/`}),c=t({method:`DELETE`,path:e=>`/posts/${e}/`});n({dataType:i,path:`/search-index/posts/`});export{c as i,a as n,o as r,s as t};
|