ghost 6.62.0 → 6.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/lib/duplicate-deps.js +204 -0
- package/bin/validate-adapters.js +50 -6
- package/components/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
- package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
- package/components/tryghost-api-framework-0.0.0.tgz +0 -0
- package/components/tryghost-checkout-0.0.0.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
- package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
- package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.6.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.5.1.tgz +0 -0
- package/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
- package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
- package/components/tryghost-limit-service-0.0.0.tgz +0 -0
- package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
- package/content/themes/source/assets/built/screen.css +1 -1
- package/content/themes/source/assets/css/screen.css +1 -1
- package/content/themes/source/package.json +7 -7
- package/content/themes/source/partials/post-card.hbs +1 -1
- package/core/boot.js +17 -9
- package/core/built/admin/assets/Combination-DWfJPcz9.js +41 -0
- package/core/built/admin/assets/{PolarAngleAxis-pkMyqz8g.js → PolarAngleAxis-a81ieQUO.js} +2 -2
- package/core/built/admin/assets/RadialBarChart-CHRBhiBN.js +1 -0
- package/core/built/admin/assets/_baseAssignValue-DcPokYW8.js +1 -0
- package/core/built/admin/assets/about-39CAfroa.js +1 -0
- package/core/built/admin/assets/accordion-CJmRaqK7.js +1 -0
- package/core/built/admin/assets/account-migration-DYf7skbb.js +1 -0
- package/core/built/admin/assets/action-list-Crnh-_UI.js +1 -0
- package/core/built/admin/assets/activitypub/{account-migration-By69CgCp.js → account-migration-KA6Jjf9L.js} +7 -7
- package/core/built/admin/assets/activitypub/activitypub.js +3 -3
- package/core/built/admin/assets/activitypub/{avatar-DLPL3Abs.js → avatar-DVJF5bxP.js} +2 -2
- package/core/built/admin/assets/activitypub/{avatar-flipboard-C9iDY-QV.js → avatar-flipboard-csQaNeYK.js} +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-BJcPMrDd.js → bluesky-sharing-C7nTDMvw.js} +9 -9
- package/core/built/admin/assets/activitypub/{content-formatters-3rTHg3mp.js → content-formatters-CLcjaBwV.js} +4 -4
- package/core/built/admin/assets/activitypub/{copy-DIAOQoCZ.js → copy-DcOh8kXw.js} +2 -2
- package/core/built/admin/assets/activitypub/{domain-DUR4xSkV.js → domain-fZ-X8i4-.js} +9 -9
- package/core/built/admin/assets/activitypub/{edit-profile-BqtfzxCp.js → edit-profile-BqMLQV88.js} +6 -6
- package/core/built/admin/assets/activitypub/{explore-BxuJd-J4.js → explore-B4yPoP8E.js} +10 -10
- package/core/built/admin/assets/activitypub/{feed-BM1TcksA.js → feed-BRC_mvAe.js} +9 -9
- package/core/built/admin/assets/activitypub/{field-Dn7HHx2-.js → field-COacNgOt.js} +3 -3
- package/core/built/admin/assets/activitypub/{hash-Bm3WxYN4.js → hash-C7u-irQQ.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-CCjkuow2.js → inbox-BW-yvUoN.js} +10 -10
- package/core/built/admin/assets/activitypub/{inbox-d8oJRTf4.js → inbox-CbTTdDQ3.js} +2 -2
- package/core/built/admin/assets/activitypub/{label-1AA_s9Fa.js → label-kPMmYI7l.js} +3 -3
- package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-CnmxEB8w.js → moderation-CuidJzc0.js} +10 -10
- package/core/built/admin/assets/activitypub/{note-ZKc_Bnba.js → note-CAMRRSqD.js} +7 -7
- package/core/built/admin/assets/activitypub/{notifications-CB2tJZau.js → notifications-BmNlXGgp.js} +9 -9
- package/core/built/admin/assets/activitypub/{onboarding-BsJ9E5qf.js → onboarding-Bqg7fh_L.js} +2 -2
- package/core/built/admin/assets/activitypub/{onboarding-CSUJJIlh.js → onboarding-Dmun9jr_.js} +2 -2
- package/core/built/admin/assets/activitypub/{preferences-0-JZnUkI.js → preferences--oH19wf9.js} +11 -11
- package/core/built/admin/assets/activitypub/{profile-C35cFIhM.js → profile-DH_tQx2D.js} +14 -14
- package/core/built/admin/assets/activitypub/{reply-DYK5vVqb.js → reply-Cap9PxSH.js} +2 -2
- package/core/built/admin/assets/activitypub/{routes-BD4vscyc.js → routes-DdyY9uFF.js} +30 -30
- package/core/built/admin/assets/activitypub/{separator-BbQqTm-p.js → separator-CAxxu8VV.js} +3 -3
- package/core/built/admin/assets/activitypub/{settings-BsMROdqh.js → settings-B6EEcVkW.js} +6 -6
- package/core/built/admin/assets/activitypub/{site-O0RL9YCN.js → site-BYps63oh.js} +2 -2
- package/core/built/admin/assets/activitypub/{step-1-BMSx7c_X.js → step-1-CKjR2KAm.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-2-DtPQzlTH.js → step-2-B6PKfOUQ.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-3-CLlOZTyt.js → step-3-C-qBbcUo.js} +11 -11
- package/core/built/admin/assets/activitypub/{tabs-Dxk-b9M-.js → tabs-DLhZtVde.js} +6 -6
- package/core/built/admin/assets/activitypub/{topic-filter-5yZH6tId.js → topic-filter-DsUOuu0k.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CV50qe03.js → use-activity-pub-queries-CX9snsLs.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Bmk5h4lW.js → use-navigate-with-base-path-DsJTGDSS.js} +988 -959
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-Cbvzgjzd.js → use-reply-chain-data-AJi9zkzm.js} +5 -5
- package/core/built/admin/assets/activitypub/{users-BjcoP_HC.js → users-inweyKL5.js} +186 -160
- package/core/built/admin/assets/activitypub/{x-DbQZOLiI.js → x-DR8AT3-4.js} +2 -2
- package/core/built/admin/assets/add-integration-modal-B12oRifD.js +1 -0
- package/core/built/admin/assets/add-newsletter-modal-CTvXiIqY.js +1 -0
- package/core/built/admin/assets/add-recommendation-modal-CJf92edY.js +1 -0
- package/core/built/admin/assets/analytics-PHR1Fggi.js +1 -0
- package/core/built/admin/assets/announcement-bar-modal-Bql0CXdp.js +1 -0
- package/core/built/admin/assets/api-keys-CubH-7_H.js +1 -0
- package/core/built/admin/assets/{api-keys-3-0vJC3Y.js → api-keys-omLA6iYn.js} +1 -1
- package/core/built/admin/assets/{audience-CtbA54Sn.js → audience-6GXevic-.js} +1 -1
- package/core/built/admin/assets/automated-emails-DJQ4uNZo.js +1 -0
- package/core/built/admin/assets/automations-DcZSLFDU.js +1 -0
- package/core/built/admin/assets/automations-hDVcRPjh.js +1 -0
- package/core/built/admin/assets/avatar-flipboard-DiAGgshK.js +1 -0
- package/core/built/admin/assets/badge-qP06OT7C.js +1 -0
- package/core/built/admin/assets/bluesky-sharing-CJw4d4Mf.js +1 -0
- package/core/built/admin/assets/box-CZ_LSVSy.js +1 -0
- package/core/built/admin/assets/brand-icon-D3ffDYaC.js +1 -0
- package/core/built/admin/assets/breadcrumb-Chn1Ip_q.js +1 -0
- package/core/built/admin/assets/button-DvIh2Bq-.js +1 -0
- package/core/built/admin/assets/calendar-1QGoStFM.js +1 -0
- package/core/built/admin/assets/card-FHQ4D10L.js +1 -0
- package/core/built/admin/assets/chart-helpers-CNpA7re_.js +1 -0
- package/core/built/admin/assets/{chart-BrhA41Zi.js → chart-jVz9Nf9t.js} +9 -9
- package/core/built/admin/assets/checkbox-DKht9xMl.js +1 -0
- package/core/built/admin/assets/{chunk-KS7C4IRE-DCsL4i4D.js → chunk-KS7C4IRE-DhOcHQOU.js} +1 -1
- package/core/built/admin/assets/chunk.368.22ce1b732c0b40abd3f1.js +479 -0
- package/core/built/admin/assets/chunk.524.cc9be98e44890cedc8c8.js +25 -0
- package/core/built/admin/assets/{chunk.582.5ed5d124cfca9c259b9c.js → chunk.582.e6fe742b3217207b11a6.js} +23 -30
- package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js → chunk.972.4b8c97f93d66db15e751.js} +13582 -11017
- package/core/built/admin/assets/clean-tracked-url-dkN05vOf.js +1 -0
- package/core/built/admin/assets/code-editor-view-BLQIV85-.js +1 -0
- package/core/built/admin/assets/code-editor-view-Cg5eJxcr.js +1 -0
- package/core/built/admin/assets/color-picker-DQoghc0t.js +3 -0
- package/core/built/admin/assets/color-picker-field-BbeK5RRs.js +1 -0
- package/core/built/admin/assets/combobox-weO4FBbv.js +1 -0
- package/core/built/admin/assets/command-DlLrCm9V.js +1 -0
- package/core/built/admin/assets/comments-BjTitLmP.js +1 -0
- package/core/built/admin/assets/components-CwL6a6As-CCRaoCeP.js +1 -0
- package/core/built/admin/assets/{config-DOMQDZGZ.js → config-BPljH6wF.js} +1 -1
- package/core/built/admin/assets/confirmation-context-IyqoXVk-.js +1 -0
- package/core/built/admin/assets/container-DAimjOF_.js +1 -0
- package/core/built/admin/assets/content-api-modal-0ZjuLcQ8.js +1 -0
- package/core/built/admin/assets/context-menu-BtioYFrg.js +1 -0
- package/core/built/admin/assets/copy-field-C6ujqJlP.js +1 -0
- package/core/built/admin/assets/create-ghost-browse-value-source-DAZMWZNq.js +1 -0
- package/core/built/admin/assets/custom-integration-modal-Dm8QI_J4.js +1 -0
- package/core/built/admin/assets/data-list-C0CKkeWW.js +1 -0
- package/core/built/admin/assets/date-range-select-DrjHQdgz.js +1 -0
- package/core/built/admin/assets/design-and-theme-modal-CXVOzBWu.js +2 -0
- package/core/built/admin/assets/detail-page-QpLIL-EO.js +1 -0
- package/core/built/admin/assets/dirty-confirm-dialog-DWwxREGh.js +1 -0
- package/core/built/admin/assets/disabled-sources-indicator-CLZhMv8J.js +1 -0
- package/core/built/admin/assets/dist-BRQkNYN1.js +11 -0
- package/core/built/admin/assets/{dist-B3keLvjj.js → dist-BXHrDV19.js} +2 -2
- package/core/built/admin/assets/dist-Bf-HQtVL.js +1 -0
- package/core/built/admin/assets/dist-Bm-PB47a.js +6 -0
- package/core/built/admin/assets/{dist-B6bJuxL3.js → dist-C2lYC76d.js} +1 -1
- package/core/built/admin/assets/dist-CUwte9v_.js +1 -0
- package/core/built/admin/assets/dist-Cm2qbZKL.js +1 -0
- package/core/built/admin/assets/{dist-BtaTA7Ii.js → dist-D7yMk931.js} +1 -1
- package/core/built/admin/assets/{dist-zwwGt8Yf.js → dist-DNAdeRyr.js} +1 -1
- package/core/built/admin/assets/dist-DS6zpxid.js +1 -0
- package/core/built/admin/assets/dist-DVVKsyPh.js +23 -0
- package/core/built/admin/assets/dist-DxfQlAmn.js +1 -0
- package/core/built/admin/assets/dist-DziNzWI2.js +1 -0
- package/core/built/admin/assets/dist-FEQQAwTe.js +1 -0
- package/core/built/admin/assets/dist-nmRzULcD.js +1 -0
- package/core/built/admin/assets/domain-DBrBic6q.js +1 -0
- package/core/built/admin/assets/dropzone-D61QVcEY.js +5 -0
- package/core/built/admin/assets/edit-profile-jCqJBxqw.js +1 -0
- package/core/built/admin/assets/editor-8Fm4UBEd.js +8 -0
- package/core/built/admin/assets/editor-screen-BSX_uC2B.js +27 -0
- package/core/built/admin/assets/email-previews-Bs-JDhIw.js +1 -0
- package/core/built/admin/assets/email-sending-status-context-C76KYL1V.js +1 -0
- package/core/built/admin/assets/email-sending-status-provider-DnNhlIvt.js +1 -0
- package/core/built/admin/assets/emails-CgvIIz3q.js +1 -0
- package/core/built/admin/assets/{embed-signup-form-modal-Ds6mPEi5.js → embed-signup-form-modal-DqtBs1WE.js} +1 -1
- package/core/built/admin/assets/empty-indicator-L4Ql5Db7.js +1 -0
- package/core/built/admin/assets/en-Cx75dJv5.js +1 -0
- package/core/built/admin/assets/esm--rhhUGIG.js +2 -0
- package/core/built/admin/assets/explore-DXhDCtKw.js +1 -0
- package/core/built/admin/assets/feature-flag-overrides-context-CrcQKm9Z.js +1 -0
- package/core/built/admin/assets/feature-image-placeholder-e2q6TcH6.js +1 -0
- package/core/built/admin/assets/feed-mmt4noNL.js +1 -0
- package/core/built/admin/assets/feedback-BTPBQLT5.js +1 -0
- package/core/built/admin/assets/field-p7KnP98B.js +1 -0
- package/core/built/admin/assets/filter-bar-CiIKBg3D.js +1 -0
- package/core/built/admin/assets/filter-sources-I-dRaQxl.js +1 -0
- package/core/built/admin/assets/filters-1injvyxJ.js +1 -0
- package/core/built/admin/assets/filters-DnpO6GWX.js +1 -0
- package/core/built/admin/assets/first-promoter-modal-wr73Dldc.js +1 -0
- package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-CkFA8EkI.js +1 -0
- package/core/built/admin/assets/framework-provider-DB-svAju.js +4 -0
- package/core/built/admin/assets/{ghost-8eabfc1ece81b03cf7b90780d31487e8.css → ghost-8fd5bb799356bbefb254210ba7e1236d.css} +1 -1
- package/core/built/admin/assets/{ghost-c2848508292937415f20f5a830eea59e.js → ghost-a1e6e172c6917e8ef8fa6b0007756d9b.js} +71 -46
- package/core/built/admin/assets/{ghost-dark-a7bebe2c561f55369dcf29f4c820f7ff.css → ghost-dark-cac0cb2d5bb78e9bd14d8d1c2768ed45.css} +1 -1
- package/core/built/admin/assets/gift-link-modal-C3H7YFXO.js +1 -0
- package/core/built/admin/assets/{gift-links-DLDS7ljO.js → gift-links-D8gl_yJS.js} +1 -1
- package/core/built/admin/assets/global-data-context-3MItMry2.js +1 -0
- package/core/built/admin/assets/grid-5vplBYri.js +1 -0
- package/core/built/admin/assets/growth-B1og1kQp.js +1 -0
- package/core/built/admin/assets/growth-Bf6OHZlK.js +3 -0
- package/core/built/admin/assets/heading-BB21QAbb.js +1 -0
- package/core/built/admin/assets/history-modal-t_qEnxPx.js +1 -0
- package/core/built/admin/assets/hooks-DYfTEQLk.js +2 -0
- package/core/built/admin/assets/html-field-COLQbV4r.js +1 -0
- package/core/built/admin/assets/iframe-buffering-Bq1el-gw.js +1 -0
- package/core/built/admin/assets/images-4mvoc3lB.js +1 -0
- package/core/built/admin/assets/{inbox-Mcp4DXZN.js → inbox-DgSZ6w2p.js} +34 -34
- package/core/built/admin/assets/index-B3HZU2i8.css +2 -0
- package/core/built/admin/assets/index-DDd-zhNL.js +4 -0
- package/core/built/admin/assets/index.es-Ct5XQNSj.js +1 -0
- package/core/built/admin/assets/inline-B8H6NzIw.js +1 -0
- package/core/built/admin/assets/input-group-CLIN2ykI.js +1 -0
- package/core/built/admin/assets/{input-surface-BsrIZeSF.js → input-surface-wSO5CRy5.js} +1 -1
- package/core/built/admin/assets/integration-header-CKGrXNVP.js +1 -0
- package/core/built/admin/assets/{integrations-Bjbu86Z0.js → integrations-DnJrZnHv.js} +1 -1
- package/core/built/admin/assets/invite-user-modal-BaN2mdhI.js +1 -0
- package/core/built/admin/assets/jsx-runtime-BlNNh7jY.js +1 -0
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +4 -4
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +2 -2
- package/core/built/admin/assets/{koenig-lexical-DBSqAuiI.js → koenig-lexical-CXVgQFUk.js} +2 -2
- package/core/built/admin/assets/koenig-loader-B1XPPY5C.js +2 -0
- package/core/built/admin/assets/kpi-card-CRLPVlFW.js +1 -0
- package/core/built/admin/assets/kpi-card-CRPbW8NZ.js +1 -0
- package/core/built/admin/assets/kpi-helpers-D7zT96bp.js +1 -0
- package/core/built/admin/assets/kpi-tabs-DE_yh9Go.js +1 -0
- package/core/built/admin/assets/label-CgeBxy4o.js +1 -0
- package/core/built/admin/assets/label-picker-DGDp4Vwr.js +1 -0
- package/core/built/admin/assets/labels-KMkFoRG6.js +1 -0
- package/core/built/admin/assets/layout-DWnOMly4.js +1 -0
- package/core/built/admin/assets/lib-_QYaUU89.js +2 -0
- package/core/built/admin/assets/link-helpers-8J7ixADV.js +1 -0
- package/core/built/admin/assets/links-FwNCVyVe.js +1 -0
- package/core/built/admin/assets/list-page-DLMP0PxC.js +1 -0
- package/core/built/admin/assets/luxon-BXCsmep3.js +1 -0
- package/core/built/admin/assets/member-activity-ClMWFyvN.js +1 -0
- package/core/built/admin/assets/member-activity-feed-BQY5Rwaj.js +1 -0
- package/core/built/admin/assets/member-custom-fields-Dd_ie1zG.js +1 -0
- package/core/built/admin/assets/member-detail-DjwkGVne.js +1 -0
- package/core/built/admin/assets/members--N9lhk1N.js +4 -0
- package/core/built/admin/assets/modal-page-Dz-9TP4E.js +1 -0
- package/core/built/admin/assets/moderation-DfYBKq9s.js +1 -0
- package/core/built/admin/assets/multi-select-combobox-BcBEzUW_.js +1 -0
- package/core/built/admin/assets/navigation-modal-Cd-scywg.js +1 -0
- package/core/built/admin/assets/newsletter-detail-modal-CFRY6vg_.js +1 -0
- package/core/built/admin/assets/newsletter-emails-4ntck1AC.js +1 -0
- package/core/built/admin/assets/newsletter-o6eCJtab.js +1 -0
- package/core/built/admin/assets/newsletters-Bmlv0edG.js +1 -0
- package/core/built/admin/assets/newsletters-Dz77m__5.js +1 -0
- package/core/built/admin/assets/note-CWs3LF-0.js +1 -0
- package/core/built/admin/assets/notifications-BjSvTJqh.js +1 -0
- package/core/built/admin/assets/{nql-BLpCn7qX.js → nql-DnDc7UuU.js} +1 -1
- package/core/built/admin/assets/nql-lang-CeTB_Bhv.js +19 -0
- package/core/built/admin/assets/{offers-9J1CSiLy.js → offers-ByWSK0rR.js} +1 -1
- package/core/built/admin/assets/offers-container-modal-Bc9A196w.js +1 -0
- package/core/built/admin/assets/onboarding-B4hfBi9a.js +1 -0
- package/core/built/admin/assets/onboarding-DV_XbHts.js +1 -0
- package/core/built/admin/assets/onboarding-route-Di1LJYEE.js +1 -0
- package/core/built/admin/assets/overview-DE7NHZQN.js +1 -0
- package/core/built/admin/assets/overview-DEF-ZY6x.js +1 -0
- package/core/built/admin/assets/page-header-B-G_g42C.js +1 -0
- package/core/built/admin/assets/pagemenu-CnkTDO71.js +1 -0
- package/core/built/admin/assets/pages-DZ_YGB1D.js +1 -0
- package/core/built/admin/assets/pages-route-VT7r7YhG.js +1 -0
- package/core/built/admin/assets/papaparse.min-BlhnCUXn.js +10 -0
- package/core/built/admin/assets/pintura-modal-BljM7hf8.js +1 -0
- package/core/built/admin/assets/portal-frame-D9V8iq5x.js +1 -0
- package/core/built/admin/assets/portal-modal-B5OOR9ZD.js +1 -0
- package/core/built/admin/assets/post-analytics-context-bt2YTBAC.js +1 -0
- package/core/built/admin/assets/post-analytics-header-J0WciLx6.js +1 -0
- package/core/built/admin/assets/post-analytics-provider-CgreZDjS.js +1 -0
- package/core/built/admin/assets/post-analytics-rGb-PgD-.js +1 -0
- package/core/built/admin/assets/post-helpers-C88JBa4D.js +1 -0
- package/core/built/admin/assets/post-share-modal-D0BbTo4W.js +1 -0
- package/core/built/admin/assets/post-utils-DKF4mfuo.js +1 -0
- package/core/built/admin/assets/posts-list-screen-CO5jAWoU.js +2 -0
- package/core/built/admin/assets/posts-route-DV-CXWK9.js +1 -0
- package/core/built/admin/assets/posts-tcoO3iRG.js +1 -0
- package/core/built/admin/assets/preferences-Tac29oG6.js +5 -0
- package/core/built/admin/assets/preview-chrome-C2lQgZBZ.js +1 -0
- package/core/built/admin/assets/preview-modal-CjRbBr8U.js +1 -0
- package/core/built/admin/assets/profile-yiM1f_Og.js +1 -0
- package/core/built/admin/assets/prop-types-6lTeqvom.js +1 -0
- package/core/built/admin/assets/radio-group-CKROWsw4.js +1 -0
- package/core/built/admin/assets/react-BXwhMTuc.js +1 -0
- package/core/built/admin/assets/{jsx-runtime-DX3WBWVO.js → react-dom-CMOtJ5MH.js} +2 -2
- package/core/built/admin/assets/{referrers-CnhCMWCs.js → referrers-1R8bPpoV.js} +1 -1
- package/core/built/admin/assets/router-provider-CU87qxXw.js +1 -0
- package/core/built/admin/assets/schemas-BoYdB6YU.js +64 -0
- package/core/built/admin/assets/select-CKaC4ggu.js +1 -0
- package/core/built/admin/assets/settings-81kxUa28.js +1 -0
- package/core/built/admin/assets/settings-BVXFqBVK.js +4 -0
- package/core/built/admin/assets/settings-breadcrumbs-czGRx-iu.js +1 -0
- package/core/built/admin/assets/{shade-app-CcS3f8MZ-vwURazk8.js → shade-app-CcS3f8MZ-D5BnfHck.js} +1 -1
- package/core/built/admin/assets/share-modal-BL-16PiB.js +1 -0
- package/core/built/admin/assets/skeleton-DwCva0-b.js +1 -0
- package/core/built/admin/assets/slack-modal-D7W_fNON.js +1 -0
- package/core/built/admin/assets/sort-button-Dquc83jY.js +1 -0
- package/core/built/admin/assets/source-icon-CQboPZQ3.js +1 -0
- package/core/built/admin/assets/stack-BURz77VS.js +1 -0
- package/core/built/admin/assets/stats-Cvp8Ep5m.js +1 -0
- package/core/built/admin/assets/stats-view-NDja_g96.js +1 -0
- package/core/built/admin/assets/step-1-BKhjy0PV.js +1 -0
- package/core/built/admin/assets/step-2-PxA1OM7R.js +1 -0
- package/core/built/admin/assets/step-3-BJbAiq16.js +2 -0
- package/core/built/admin/assets/stripe-button-C3cfCAou.js +1 -0
- package/core/built/admin/assets/stripe-connect-modal-FyE3Ey2c.js +1 -0
- package/core/built/admin/assets/style-Wd9nQubI.css +1 -0
- package/core/built/admin/assets/switch-zfUUy9Jh.js +1 -0
- package/core/built/admin/assets/table-dE4GTIRT.js +1 -0
- package/core/built/admin/assets/tabs-B3XK93sR.js +1 -0
- package/core/built/admin/assets/tag-detail-D4P-tZdM.js +2 -0
- package/core/built/admin/assets/tag-picker-BNSZ6Qxw.js +1 -0
- package/core/built/admin/assets/tags-BsZcaJ6h.js +1 -0
- package/core/built/admin/assets/{tags-zTFiKRpb.js → tags-NwZ7BPK6.js} +1 -1
- package/core/built/admin/assets/testimonials-modal-Dkt6ODLW.js +1 -0
- package/core/built/admin/assets/text-DC-ot6u2.js +1 -0
- package/core/built/admin/assets/textarea-B4FffFmE.js +1 -0
- package/core/built/admin/assets/themes-DtcEFQWm.js +1 -0
- package/core/built/admin/assets/tier-detail-modal-a77Z2VMH.js +1 -0
- package/core/built/admin/assets/tiers-6mPzCXlM.js +1 -0
- package/core/built/admin/assets/toggle-group-D2p4okmJ.js +1 -0
- package/core/built/admin/assets/topic-filter-DVOe3D-b.js +1 -0
- package/core/built/admin/assets/transistor-modal-C8RMkhOD.js +1 -0
- package/core/built/admin/assets/trend-badge-B9v7kMF8.js +1 -0
- package/core/built/admin/assets/unsplash-modal-DXt7Brum.js +1 -0
- package/core/built/admin/assets/use-analytics-data-ChHqiZXv.js +1 -0
- package/core/built/admin/assets/use-availability-hPdeG76y.js +1 -0
- package/core/built/admin/assets/{use-check-theme-limit-error-Cw3WQHy8.js → use-check-theme-limit-error-JD-J5aaZ.js} +2 -2
- package/core/built/admin/assets/use-email-sending-status-DNMtL5B9.js +1 -0
- package/core/built/admin/assets/use-filter-params-BSFigDIn.js +1 -0
- package/core/built/admin/assets/use-filterable-api-CEMSAYPg.js +1 -0
- package/core/built/admin/assets/use-form-DJKZJhQh.js +1 -0
- package/core/built/admin/assets/use-growth-stats-CqqdnESN.js +1 -0
- package/core/built/admin/assets/use-host-limits-mpTkZIq8.js +1 -0
- package/core/built/admin/assets/use-limiter-DBGjYqu7.js +19 -0
- package/core/built/admin/assets/use-navigate-with-base-path-88EQpw2k.js +1 -0
- package/core/built/admin/assets/use-pintura-config-BmU45Ruy.js +1 -0
- package/core/built/admin/assets/use-pintura-editor-Bz2bZ4iT.js +1 -0
- package/core/built/admin/assets/use-post-referrers-DyPjyBSN.js +1 -0
- package/core/built/admin/assets/use-query-params-DlOHCo-R.js +1 -0
- package/core/built/admin/assets/use-reply-chain-data-DmD2yX5D.js +1 -0
- package/core/built/admin/assets/use-router-history-entry-CKx9LhqD.js +1 -0
- package/core/built/admin/assets/use-sending-eta-CQeG6OP_.js +1 -0
- package/core/built/admin/assets/use-setting-group-Dza6bQ7W.js +1 -0
- package/core/built/admin/assets/use-settings-navigation-BIjI5mL3.js +1 -0
- package/core/built/admin/assets/use-simple-pagination-DwVxe-Lo.js +1 -0
- package/core/built/admin/assets/use-staff-users-i_Mq9OGR.js +1 -0
- package/core/built/admin/assets/{use-tinybird-query-CSnGXzZh.js → use-tinybird-query-DXoF74NM.js} +1 -1
- package/core/built/admin/assets/use-tinybird-token-Lk1RSn0t.js +1 -0
- package/core/built/admin/assets/use-unsaved-changes-guard-CKVPWz_F.js +1 -0
- package/core/built/admin/assets/use-upgrade-route-CVjDlNSs.js +1 -0
- package/core/built/admin/assets/{use-url-input-DFr8lCbS.js → use-url-input-DpmbDppC.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-BU4QCHE7.js +1 -0
- package/core/built/admin/assets/{users-Cg-OeGzC.js → users-C60_hpn6.js} +1 -1
- package/core/built/admin/assets/{validator-Cr0sMKuW.js → validator-DlFQP70j.js} +1 -1
- package/core/built/admin/assets/{vendor-5753232c7d6ffb3c44e1eb0a02133953.js → vendor-2dd263291938d407802568d3357ec69e.js} +19 -17
- package/core/built/admin/assets/virtual-list-DScLNuU8.js +1 -0
- package/core/built/admin/assets/web-BZS-t4H0.js +1 -0
- package/core/built/admin/assets/web-DxAUxnK3.js +2 -0
- package/core/built/admin/assets/zapier-modal-BafLUO4R.js +1 -0
- package/core/built/admin/index.html +38 -34
- package/core/cli/command.js +17 -2
- package/core/frontend/meta/asset-url.js +1 -16
- package/core/frontend/services/asset-hash/index.js +32 -2
- package/core/frontend/services/routing/controllers/unsubscribe.js +2 -1
- package/core/frontend/services/rss/generate-feed.js +1 -1
- package/core/frontend/services/theme-engine/active.js +2 -4
- package/core/frontend/services/theme-engine/i18n/i18n.js +11 -1
- package/core/frontend/services/theme-engine/i18next/theme-i18n.js +1 -1
- package/core/frontend/web/middleware/llms-discovery.js +34 -43
- package/core/server/adapters/jobs/InMemoryJobsBackend.js +74 -29
- package/core/server/adapters/route-settings/S3RouteSettingsStore.js +1 -1
- package/core/server/adapters/storage/LocalFilesStorage.js +12 -2
- package/core/server/adapters/storage/LocalStorageBase.js +13 -0
- package/core/server/api/endpoints/actions.js +2 -1
- package/core/server/api/endpoints/authentication.js +1 -2
- package/core/server/api/endpoints/authors-public.js +15 -5
- package/core/server/api/endpoints/automated-emails.js +3 -2
- package/core/server/api/endpoints/automations.js +77 -49
- package/core/server/api/endpoints/emails.js +21 -3
- package/core/server/api/endpoints/index.js +9 -1
- package/core/server/api/endpoints/invites.js +2 -1
- package/core/server/api/endpoints/labels.js +6 -2
- package/core/server/api/endpoints/member-metafields-members.js +23 -0
- package/core/server/api/endpoints/member-metafields.js +34 -21
- package/core/server/api/endpoints/members-account.js +42 -0
- package/core/server/api/endpoints/members.js +22 -6
- package/core/server/api/endpoints/newsletters-public.js +10 -1
- package/core/server/api/endpoints/pages-public.js +15 -5
- package/core/server/api/endpoints/pages.js +2 -6
- package/core/server/api/endpoints/posts-public.js +15 -5
- package/core/server/api/endpoints/posts.js +3 -11
- package/core/server/api/endpoints/snippets.js +2 -1
- package/core/server/api/endpoints/tags-public.js +22 -3
- package/core/server/api/endpoints/tags.js +6 -2
- package/core/server/api/endpoints/tiers-checkout-config.js +2 -2
- package/core/server/api/endpoints/tiers-public.js +38 -1
- package/core/server/api/endpoints/users.js +4 -8
- package/core/server/api/endpoints/utils/api-filter-utils.js +232 -6
- package/core/server/api/endpoints/utils/public-cache-keys.js +3 -0
- package/core/server/api/endpoints/utils/serializers/input/authors.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/members.js +16 -2
- package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/tags.js +2 -0
- package/core/server/api/endpoints/utils/serializers/output/emails.js +7 -0
- package/core/server/api/endpoints/utils/serializers/output/index.js +4 -0
- package/core/server/api/endpoints/utils/serializers/output/member-metafields.js +3 -3
- package/core/server/api/endpoints/utils/serializers/output/members-account.js +19 -0
- package/core/server/api/endpoints/utils/serializers/output/members-csv-transform.js +1 -1
- package/core/server/api/endpoints/utils/serializers/output/tiers.js +10 -2
- package/core/server/api/endpoints/utils/serializers/output/users.js +0 -10
- package/core/server/api/endpoints/utils/serializers/output/utils/clean.js +2 -0
- package/core/server/api/endpoints/utils/serializers/output/utils/extra-attrs.js +3 -0
- package/core/server/api/endpoints/utils/validators/input/settings.js +15 -1
- package/core/server/data/exporter/exporter.js +2 -1
- package/core/server/data/exporter/table-lists.js +6 -8
- package/core/server/data/importer/importers/data/settings-importer.js +8 -2
- package/core/server/data/migrations/versions/6.53/2026-07-15-20-22-53-add-members-custom-field-values.js +1 -1
- package/core/server/data/migrations/versions/6.57/2026-08-04-18-00-00-store-custom-field-values-as-leaf-rows.js +10 -1
- package/core/server/data/migrations/versions/6.63/2026-09-03-10-07-03-rename-custom-field-tables-to-metafields.js +169 -0
- package/core/server/data/migrations/versions/6.63/2026-09-03-11-03-31-remove-member-custom-field-read-permissions.js +30 -0
- package/core/server/data/migrations/versions/6.64/2026-09-03-15-40-25-add-member-access-to-members-metafields.js +12 -0
- package/core/server/data/migrations/versions/6.64/2026-09-08-11-01-12-add-posts-auto-excerpt-and-reading-time-columns.js +17 -0
- package/core/server/data/migrations/versions/6.64/2026-09-09-13-56-18-add-automation-run-updated-at-indexes.js +6 -0
- package/core/server/data/migrations/versions/6.64/2026-09-09-13-56-18-add-tinybird-syncs-table.js +10 -0
- package/core/server/data/schema/fixtures/fixtures.json +0 -11
- package/core/server/data/schema/lib/default-index-name.js +8 -11
- package/core/server/data/schema/schema.js +46 -20
- package/core/server/data/seeders/README.md +48 -0
- package/core/server/data/seeders/importers/automations-importer.js +0 -1
- package/core/server/data/seeders/importers/comments-importer.js +1 -1
- package/core/server/data/seeders/importers/email-recipients-importer.js +1 -1
- package/core/server/data/seeders/importers/emails-importer.js +1 -1
- package/core/server/data/seeders/importers/members-importer.js +1 -1
- package/core/server/data/seeders/importers/members-login-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +1 -1
- package/core/server/data/seeders/utils/blog-info.js +4 -3
- package/core/server/data/seeders/utils/event-generator.js +72 -46
- package/core/server/data/tinybird/datasources/_mv_automation_run_steps.datasource +10 -0
- package/core/server/data/tinybird/datasources/_mv_automation_runs.datasource +10 -0
- package/core/server/data/tinybird/datasources/_mv_pending_automation_runs.datasource +10 -0
- package/core/server/data/tinybird/datasources/automation_run_events.datasource +12 -0
- package/core/server/data/tinybird/datasources/automation_run_step_events.datasource +12 -0
- package/core/server/data/tinybird/endpoints/api_automation_browse_stats.pipe +43 -0
- package/core/server/data/tinybird/fixtures/automation_run_events.ndjson +7 -0
- package/core/server/data/tinybird/fixtures/automation_run_step_events.ndjson +8 -0
- package/core/server/data/tinybird/pipes/mv_automation_run_steps.pipe +13 -0
- package/core/server/data/tinybird/pipes/mv_automation_runs.pipe +15 -0
- package/core/server/data/tinybird/pipes/mv_hits.pipe +86 -50
- package/core/server/data/tinybird/pipes/mv_pending_automation_runs.pipe +7 -0
- package/core/server/data/tinybird/tests/api_automation_browse_stats.yaml +18 -0
- package/core/server/ghost-server.js +3 -3
- package/core/server/lib/db-types/count.js +16 -0
- package/core/server/lib/generate-password.js +54 -0
- package/core/server/lib/public-jwk.js +77 -0
- package/core/server/lib/validate-password.js +81 -120
- package/core/server/models/action.js +4 -4
- package/core/server/models/base/plugins/filtered-collection.js +16 -0
- package/core/server/models/member.js +6 -6
- package/core/server/models/user.js +12 -10
- package/core/server/services/adapter-manager/base-classes.js +21 -3
- package/core/server/services/automations/automations-api.js +46 -1
- package/core/server/services/automations/database-automations-repository.js +11 -4
- package/core/server/services/automations/tinybird-automation-stats.js +56 -0
- package/core/server/services/content-import/import/media.js +1 -1
- package/core/server/services/email-analytics/email-analytics-service-wrapper.js +15 -29
- package/core/server/services/email-analytics/email-analytics-service.js +19 -3
- package/core/server/services/email-analytics/index.js +9 -4
- package/core/server/services/email-rendering/finalize.js +7 -2
- package/core/server/services/email-service/CONTEXT.md +37 -0
- package/core/server/services/email-service/README.md +45 -0
- package/core/server/services/email-service/batch-sending-service.js +2 -0
- package/core/server/services/email-service/email-controller.js +18 -2
- package/core/server/services/email-service/email-renderer.js +7 -2
- package/core/server/services/email-service/email-service-wrapper.js +4 -1
- package/core/server/services/email-service/email-service.js +43 -34
- package/core/server/services/email-service/sending-status-schema.js +21 -0
- package/core/server/services/email-service/sending-status-serializers.js +33 -0
- package/core/server/services/email-service/sending-status-service.js +47 -0
- package/core/server/services/email-service/sending-status.js +117 -0
- package/core/server/services/email-suppression-list/email-suppression-list.js +0 -33
- package/core/server/services/email-suppression-list/mailgun-email-suppression-list.js +6 -7
- package/core/server/services/gifts/README.md +2 -2
- package/core/server/services/gifts/constants.js +1 -1
- package/core/server/services/gifts/gift-email-service.js +10 -3
- package/core/server/services/gifts/gift-service.js +19 -57
- package/core/server/services/gifts/index.js +1 -2
- package/core/server/services/i18n.js +1 -1
- package/core/server/services/identity-tokens/identity-token-service-wrapper.js +3 -4
- package/core/server/services/jobs-service/index.js +8 -0
- package/core/server/services/jobs-service/jobs-service.js +52 -3
- package/core/server/services/jobs-service/register-job-handlers.js +13 -2
- package/core/server/services/limits.js +17 -1
- package/core/server/services/member-welcome-emails/service.js +1 -1
- package/core/server/services/members/account-service.js +98 -0
- package/core/server/services/members/api.js +4 -4
- package/core/server/services/members/import-export/export/exporter.js +20 -20
- package/core/server/services/members/import-export/import/completion-email.js +6 -6
- package/core/server/services/members/import-export/import/importer.js +13 -13
- package/core/server/services/members/import-export/index.js +10 -9
- package/core/server/services/members/members-api/controllers/router-controller.js +7 -2
- package/core/server/services/members/members-api/controllers/well-known-controller.js +2 -1
- package/core/server/services/members/members-api/members-api.js +26 -6
- package/core/server/services/members/members-api/repositories/event-repository.js +4 -0
- package/core/server/services/members/members-api/repositories/member-repository.js +4 -4
- package/core/server/services/members/members-api/services/member-bread-service.js +57 -48
- package/core/server/services/members/members-api/services/token-service.js +11 -12
- package/core/server/services/members/members-ssr.js +18 -0
- package/core/server/services/members/middleware.js +104 -83
- package/core/server/services/members/request-integrity-token-provider.js +2 -1
- package/core/server/services/members/service.js +70 -42
- package/core/server/services/members/utils.js +9 -0
- package/core/server/services/members-metafields/access.js +39 -0
- package/core/server/services/{members-custom-fields → members-metafields}/actions.js +6 -5
- package/core/server/services/members-metafields/bindings-service.js +147 -0
- package/core/server/services/members-metafields/codec.js +21 -0
- package/core/server/services/{members-custom-fields → members-metafields}/config.js +1 -1
- package/core/server/services/{members-custom-fields → members-metafields}/definitions-service.js +71 -67
- package/core/server/services/{members-custom-fields → members-metafields}/filter.js +9 -9
- package/core/server/services/{members-custom-fields → members-metafields}/index.js +16 -7
- package/core/server/services/{members-custom-fields → members-metafields}/key.js +1 -1
- package/core/server/services/{members-custom-fields → members-metafields}/models.js +6 -4
- package/core/server/services/members-metafields/namespaces.js +34 -0
- package/core/server/services/members-metafields/queries.js +60 -0
- package/core/server/services/{members-custom-fields → members-metafields}/schema.js +18 -12
- package/core/server/services/{members-custom-fields → members-metafields}/serializers.js +7 -6
- package/core/server/services/{members-custom-fields → members-metafields}/values-service.js +46 -27
- package/core/server/services/mentions/mention-discovery-service.js +1 -1
- package/core/server/services/mentions/mention-sending-service.js +27 -10
- package/core/server/services/mentions/mention.js +1 -1
- package/core/server/services/mentions/send-webmentions-job.js +18 -0
- package/core/server/services/mentions/service.js +1 -31
- package/core/server/services/oembed/oembed-service.js +36 -11
- package/core/server/services/posts/post-scheduling.js +20 -0
- package/core/server/services/staff/staff-service-emails.js +5 -1
- package/core/server/services/stats/stats-service.js +12 -3
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +2 -2
- package/core/server/services/stripe/stripe-service.js +4 -4
- package/core/server/services/tier-checkout-config/codec.js +2 -2
- package/core/server/services/tier-checkout-config/index.js +2 -1
- package/core/server/services/tier-checkout-config/models.js +2 -2
- package/core/server/services/tier-checkout-config/queries.js +8 -8
- package/core/server/services/tier-checkout-config/serializers.js +57 -0
- package/core/server/services/tier-checkout-config/service.js +18 -2
- package/core/server/services/tiers/service.js +3 -3
- package/core/server/services/tinybird/tinybird-service.js +1 -0
- package/core/server/services/tinybird-sync/get-ingest-config.js +39 -0
- package/core/server/services/tinybird-sync/index.js +28 -0
- package/core/server/services/tinybird-sync/sync-table-to-tinybird.js +149 -0
- package/core/server/services/tinybird-sync/tinybird-sync-service.js +62 -0
- package/core/server/services/url/router-filter.js +8 -10
- package/core/server/services/users.js +1 -19
- package/core/server/web/api/endpoints/admin/routes.js +34 -34
- package/core/server/web/members/account/index.js +2 -0
- package/core/server/web/members/account/routes.js +46 -0
- package/core/server/web/members/app.js +4 -18
- package/core/server/web/well-known.js +12 -16
- package/core/shared/config/defaults.json +2 -3
- package/core/shared/{flush-logs.js → flush.js} +7 -3
- package/core/shared/labs.js +6 -2
- package/core/shared/timing-safe-string-equal.js +26 -0
- package/package.json +46 -46
- package/patches/@elastic__elasticsearch@8.19.2.patch +67 -0
- package/patches/juice@11.1.1.patch +46 -0
- package/pnpm-lock.yaml +750 -1742
- package/pnpm-workspace.yaml +37 -24
- package/scripts/prune.mts +70 -3
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
- package/core/built/admin/assets/Combination-B0l4MKVh.js +0 -41
- package/core/built/admin/assets/RadialBarChart-JAKoS4KT.js +0 -1
- package/core/built/admin/assets/_baseAssignValue-C_vooEQc.js +0 -1
- package/core/built/admin/assets/about-Dyae_UT6.js +0 -1
- package/core/built/admin/assets/account-migration-CESa0mnX.js +0 -1
- package/core/built/admin/assets/action-list-C4v0-du8.js +0 -1
- package/core/built/admin/assets/activitypub/layout-2-0bw6HN.js +0 -1
- package/core/built/admin/assets/add-integration-modal-BlF6rs_f.js +0 -1
- package/core/built/admin/assets/add-newsletter-modal-CglVQqah.js +0 -1
- package/core/built/admin/assets/add-recommendation-modal-wz7BsuaG.js +0 -1
- package/core/built/admin/assets/analytics-C4HE1gBg.js +0 -1
- package/core/built/admin/assets/announcement-bar-modal-Ci4zz8jO.js +0 -1
- package/core/built/admin/assets/api-keys-Ck-Yteiv.js +0 -1
- package/core/built/admin/assets/automated-emails-D5VVMND9.js +0 -1
- package/core/built/admin/assets/automations-CzKt5fb8.js +0 -1
- package/core/built/admin/assets/automations-sAcJ1334.js +0 -1
- package/core/built/admin/assets/avatar-flipboard-C6Kj3Awu.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-BEtJ_gL_.js +0 -1
- package/core/built/admin/assets/box-CdfQAP_F.js +0 -1
- package/core/built/admin/assets/brand-icon-CrIGOA3Z.js +0 -1
- package/core/built/admin/assets/breadcrumb-zUrZrBtW.js +0 -1
- package/core/built/admin/assets/build-CsiH26uS.js +0 -1
- package/core/built/admin/assets/button-eNMKQWXr.js +0 -1
- package/core/built/admin/assets/card--VNbfgo3.js +0 -1
- package/core/built/admin/assets/chart-helpers-CfBKt0vT.js +0 -1
- package/core/built/admin/assets/checkbox-CgOn_tKW.js +0 -1
- package/core/built/admin/assets/chunk.524.a697dee88db67fdf6021.js +0 -32
- package/core/built/admin/assets/chunk.598.7e056fabb47ce7dbd73f.js +0 -366
- package/core/built/admin/assets/code-editor-view-BYNoAoNV.js +0 -1
- package/core/built/admin/assets/code-editor-view-K2wI-I5f.js +0 -1
- package/core/built/admin/assets/color-picker-Ddw80xX6.js +0 -3
- package/core/built/admin/assets/color-picker-field-D9nUhvA7.js +0 -1
- package/core/built/admin/assets/combobox-w9j8PPQT.js +0 -1
- package/core/built/admin/assets/command-BfpHORBv.js +0 -1
- package/core/built/admin/assets/comments-BLmCmyCs.js +0 -1
- package/core/built/admin/assets/components-CwL6a6As-B0E0-NBJ.js +0 -1
- package/core/built/admin/assets/confirmation-context-CBM8G0Vj.js +0 -1
- package/core/built/admin/assets/container-BuQG1wuP.js +0 -1
- package/core/built/admin/assets/content-api-modal-TXRz3U7S.js +0 -1
- package/core/built/admin/assets/context-menu-_QMdd3kp.js +0 -1
- package/core/built/admin/assets/copy-field-6N01S07E.js +0 -1
- package/core/built/admin/assets/create-ghost-browse-value-source-qIBymvvf.js +0 -1
- package/core/built/admin/assets/custom-field-type-option-BddFlJFa.js +0 -1
- package/core/built/admin/assets/custom-integration-modal-DmNquxUV.js +0 -1
- package/core/built/admin/assets/data-list-CA2jYGPq.js +0 -1
- package/core/built/admin/assets/date-range-select-uvz_DtPh.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-BSmo12Op.js +0 -2
- package/core/built/admin/assets/detail-page-Dnv-CdR1.js +0 -1
- package/core/built/admin/assets/dirty-confirm-dialog-BZ1iytEd.js +0 -1
- package/core/built/admin/assets/disabled-sources-indicator-DMRrxsiJ.js +0 -1
- package/core/built/admin/assets/dist-4m6pHdc0.js +0 -23
- package/core/built/admin/assets/dist-8YJUlf3B.js +0 -1
- package/core/built/admin/assets/dist-CZgIBXQN.js +0 -1
- package/core/built/admin/assets/dist-CiHx7vA5.js +0 -6
- package/core/built/admin/assets/dist-DIC8yz5C.js +0 -1
- package/core/built/admin/assets/dist-Dcsslyo72.js +0 -1
- package/core/built/admin/assets/dist-Dgt2cr6a.js +0 -1
- package/core/built/admin/assets/dist-ECAUrdGc.js +0 -1
- package/core/built/admin/assets/dist-JLOy8o0Q.js +0 -1
- package/core/built/admin/assets/dist-Ndy-PuGN.js +0 -1
- package/core/built/admin/assets/dist-Z97pCNqS.js +0 -11
- package/core/built/admin/assets/domain-BNYrt0aD.js +0 -1
- package/core/built/admin/assets/dropzone-D7nFdAe5.js +0 -5
- package/core/built/admin/assets/edit-profile-C5Asm4LA.js +0 -1
- package/core/built/admin/assets/editor-REokrzci.js +0 -8
- package/core/built/admin/assets/empty-indicator-D9QdpuNX.js +0 -1
- package/core/built/admin/assets/en-B1jX3WMs.js +0 -1
- package/core/built/admin/assets/esm-CXo5SEPy.js +0 -2
- package/core/built/admin/assets/explore-UY10Egsp.js +0 -1
- package/core/built/admin/assets/feature-image-placeholder-D1iF_8bc.js +0 -1
- package/core/built/admin/assets/feed-81C8mJWR.js +0 -1
- package/core/built/admin/assets/field-Dihp5p18.js +0 -1
- package/core/built/admin/assets/filter-bar-Da1qxybu.js +0 -1
- package/core/built/admin/assets/filter-sources-BO9xUPj7.js +0 -1
- package/core/built/admin/assets/filters-CRUWecfY.js +0 -1
- package/core/built/admin/assets/filters-DirqNXjH.js +0 -1
- package/core/built/admin/assets/first-promoter-modal-CT6MxYZb.js +0 -1
- package/core/built/admin/assets/framework-provider-DqI25epG.js +0 -4
- package/core/built/admin/assets/gift-link-modal-CQVAye17.js +0 -1
- package/core/built/admin/assets/global-data-context-gAMDH9u1.js +0 -1
- package/core/built/admin/assets/grid-Dj29PY05.js +0 -1
- package/core/built/admin/assets/growth-BWIu-6xj.js +0 -3
- package/core/built/admin/assets/growth-DU29oxeA.js +0 -1
- package/core/built/admin/assets/heading-Dh5SFVjL.js +0 -1
- package/core/built/admin/assets/history-modal-CFd1Hvx6.js +0 -1
- package/core/built/admin/assets/hooks-CuEZV2-q.js +0 -2
- package/core/built/admin/assets/html-field-CJBCLTvv.js +0 -1
- package/core/built/admin/assets/iframe-buffering-B2OKJzbz.js +0 -1
- package/core/built/admin/assets/images-scfkWZiK.js +0 -1
- package/core/built/admin/assets/index-6MkPdCtr.js +0 -4
- package/core/built/admin/assets/index-Bn7QhcZu.css +0 -2
- package/core/built/admin/assets/index.es-CNnuNH0d.js +0 -1
- package/core/built/admin/assets/inline-BWSs_VzR.js +0 -1
- package/core/built/admin/assets/input-group-CMhe2DvY.js +0 -1
- package/core/built/admin/assets/integration-header-Bm6IDb1A.js +0 -1
- package/core/built/admin/assets/invite-user-modal-DfheMXs0.js +0 -1
- package/core/built/admin/assets/koenig-loader-aFQNlJlD.js +0 -2
- package/core/built/admin/assets/kpi-card-DBRMfGOW.js +0 -1
- package/core/built/admin/assets/kpi-card-DFafD1qq.js +0 -1
- package/core/built/admin/assets/kpi-helpers-Cv8i8hns.js +0 -1
- package/core/built/admin/assets/kpi-tabs-BJItvLYm.js +0 -1
- package/core/built/admin/assets/label-BnSCvffu.js +0 -1
- package/core/built/admin/assets/label-picker-KVoo91sh.js +0 -1
- package/core/built/admin/assets/labels-CH3Kn8RV.js +0 -1
- package/core/built/admin/assets/layout-Bjv2Ll-5.js +0 -1
- package/core/built/admin/assets/limit-service-BhiEvqcP.js +0 -20
- package/core/built/admin/assets/link-helpers-MVDdnFCY.js +0 -1
- package/core/built/admin/assets/list-page-BucXJ0hi.js +0 -1
- package/core/built/admin/assets/luxon-D1RVjjpq.js +0 -1
- package/core/built/admin/assets/member-custom-fields-DDQV6QeG.js +0 -1
- package/core/built/admin/assets/member-detail-CdJF6Agw.js +0 -1
- package/core/built/admin/assets/members-DjQbq9Z2.js +0 -4
- package/core/built/admin/assets/modal-page-xCivTMvI.js +0 -1
- package/core/built/admin/assets/moderation-AgCIEso4.js +0 -1
- package/core/built/admin/assets/multi-select-combobox-BcITkUVr.js +0 -1
- package/core/built/admin/assets/navigation-modal-BkT7b1M2.js +0 -1
- package/core/built/admin/assets/newsletter-BMMAuvgq.js +0 -1
- package/core/built/admin/assets/newsletter-detail-modal-0SCJ7Zpm.js +0 -1
- package/core/built/admin/assets/newsletter-emails-DKzwafuh.js +0 -1
- package/core/built/admin/assets/newsletters-BRBb_uQC.js +0 -1
- package/core/built/admin/assets/newsletters-DhNigJUh.js +0 -1
- package/core/built/admin/assets/note-DyGHtS9a.js +0 -1
- package/core/built/admin/assets/notifications-ZgWniKna.js +0 -1
- package/core/built/admin/assets/nql-lang-CaWrLesS.js +0 -19
- package/core/built/admin/assets/offers-container-modal-B-E8TIWr.js +0 -1
- package/core/built/admin/assets/onboarding-CzIsre-d.js +0 -1
- package/core/built/admin/assets/onboarding-qg8Akovm.js +0 -1
- package/core/built/admin/assets/onboarding-route-CaavZulg.js +0 -1
- package/core/built/admin/assets/overview-BW8GLeYi.js +0 -1
- package/core/built/admin/assets/overview-BkXZNzaZ.js +0 -1
- package/core/built/admin/assets/page-header-De0VzKBi.js +0 -1
- package/core/built/admin/assets/pagemenu-B5KKCpbA.js +0 -1
- package/core/built/admin/assets/pages-jgaFm69d.js +0 -1
- package/core/built/admin/assets/pages-route-CIUAQxtY.js +0 -1
- package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +0 -10
- package/core/built/admin/assets/pintura-modal-BZ2J9w3n.js +0 -1
- package/core/built/admin/assets/portal-frame-B6Hr9wHc.js +0 -1
- package/core/built/admin/assets/portal-modal-D4ceei3t.js +0 -1
- package/core/built/admin/assets/post-analytics-context-D0Mw-Pmv.js +0 -1
- package/core/built/admin/assets/post-analytics-header-BYCsT0GP.js +0 -1
- package/core/built/admin/assets/post-analytics-ot7f6pih.js +0 -1
- package/core/built/admin/assets/post-analytics-provider-Bo1gmYaP.js +0 -1
- package/core/built/admin/assets/post-helpers-C5OQMBoi.js +0 -1
- package/core/built/admin/assets/post-share-modal-C-PaYZ_e.js +0 -1
- package/core/built/admin/assets/posts-DuGazgTb.js +0 -1
- package/core/built/admin/assets/posts-list-screen-CBGGgjjj.js +0 -2
- package/core/built/admin/assets/posts-route-D6xmS7Vf.js +0 -1
- package/core/built/admin/assets/preferences-C5YJLp74.js +0 -5
- package/core/built/admin/assets/preview-chrome-BljUBlOk.js +0 -1
- package/core/built/admin/assets/preview-modal-BfeFqi5y.js +0 -1
- package/core/built/admin/assets/profile-B8mx2yAu.js +0 -1
- package/core/built/admin/assets/prop-types-DeUPn3oD.js +0 -1
- package/core/built/admin/assets/radio-group-DczlLKOn.js +0 -1
- package/core/built/admin/assets/react-Bb3IsNbi.js +0 -1
- package/core/built/admin/assets/rolldown-runtime-DAXXjFlN.js +0 -1
- package/core/built/admin/assets/router-provider-B0gZyiGJ.js +0 -1
- package/core/built/admin/assets/schemas-DppqmpeJ.js +0 -64
- package/core/built/admin/assets/select-cb0t_TAJ.js +0 -1
- package/core/built/admin/assets/settings-DZqxR0Da.js +0 -1
- package/core/built/admin/assets/settings-DvfTNdHQ.js +0 -4
- package/core/built/admin/assets/settings-breadcrumbs-DLzbRRSt.js +0 -1
- package/core/built/admin/assets/share-modal-D2-Bz1_I.js +0 -1
- package/core/built/admin/assets/skeleton-Ce9GgUpf.js +0 -1
- package/core/built/admin/assets/slack-modal-DYDTUria.js +0 -1
- package/core/built/admin/assets/sort-button-VVeQjjbu.js +0 -1
- package/core/built/admin/assets/source-icon-Ck5_5Kgq.js +0 -1
- package/core/built/admin/assets/stack-B2eszIiq.js +0 -1
- package/core/built/admin/assets/stats-Rjmk5owg.js +0 -1
- package/core/built/admin/assets/stats-view-BGGmkmgv.js +0 -1
- package/core/built/admin/assets/step-1-CsaBjeN4.js +0 -1
- package/core/built/admin/assets/step-2-D2vnxOOM.js +0 -1
- package/core/built/admin/assets/step-3-wBoLdGEb.js +0 -2
- package/core/built/admin/assets/stripe-button-CDgLz0S0.js +0 -1
- package/core/built/admin/assets/stripe-connect-modal-CSjMJetP.js +0 -1
- package/core/built/admin/assets/switch-CI4gLWqb.js +0 -1
- package/core/built/admin/assets/table-Do6iQ83Q.js +0 -1
- package/core/built/admin/assets/tabs-D2yWLMp_.js +0 -1
- package/core/built/admin/assets/tag-detail-BhXlOsCa.js +0 -2
- package/core/built/admin/assets/tags-ldukRApe.js +0 -1
- package/core/built/admin/assets/testimonials-modal-CtnZBJKl.js +0 -1
- package/core/built/admin/assets/text-BQDSDsKs.js +0 -1
- package/core/built/admin/assets/textarea-DJ1Q5V39.js +0 -1
- package/core/built/admin/assets/tier-detail-modal-BOs8e_G8.js +0 -1
- package/core/built/admin/assets/tiers-Nd_z4BZY.js +0 -1
- package/core/built/admin/assets/toggle-group-ByUJsxwD.js +0 -1
- package/core/built/admin/assets/topic-filter-BgC3g5_v.js +0 -1
- package/core/built/admin/assets/transistor-modal-Drr0SNfo.js +0 -1
- package/core/built/admin/assets/trend-badge-6ye93YAW.js +0 -1
- package/core/built/admin/assets/unsplash-modal-p6AoQoWp.js +0 -1
- package/core/built/admin/assets/use-analytics-data-CWCMAESo.js +0 -1
- package/core/built/admin/assets/use-filter-params-BIni9taJ.js +0 -1
- package/core/built/admin/assets/use-filterable-api-CzXcpUh8.js +0 -1
- package/core/built/admin/assets/use-form-vRjI0Kwk.js +0 -1
- package/core/built/admin/assets/use-growth-stats-DCVG3s9w.js +0 -1
- package/core/built/admin/assets/use-host-limits-DZtR08oa.js +0 -1
- package/core/built/admin/assets/use-limiter-D2WRRx0H.js +0 -2
- package/core/built/admin/assets/use-navigate-with-base-path-BHPA228f.js +0 -1
- package/core/built/admin/assets/use-pintura-config-h-J0Lvta.js +0 -1
- package/core/built/admin/assets/use-pintura-editor-BfN1UwzH.js +0 -1
- package/core/built/admin/assets/use-post-referrers-Czg47m8s.js +0 -1
- package/core/built/admin/assets/use-query-params-BfzuqbcD.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-ns0caK8k.js +0 -1
- package/core/built/admin/assets/use-router-history-entry-uldn7zJO.js +0 -1
- package/core/built/admin/assets/use-setting-group-DpcuCUDg.js +0 -1
- package/core/built/admin/assets/use-settings-navigation-CZjGrhsp.js +0 -1
- package/core/built/admin/assets/use-simple-pagination-DzJWobPR.js +0 -1
- package/core/built/admin/assets/use-staff-users-Csipb-O0.js +0 -1
- package/core/built/admin/assets/use-tinybird-token-DTOKRR7e.js +0 -1
- package/core/built/admin/assets/use-unsaved-changes-guard-CBzs-KPi.js +0 -1
- package/core/built/admin/assets/use-upgrade-route-DhRSo7at.js +0 -1
- package/core/built/admin/assets/user-detail-modal-B_iUClI6.js +0 -1
- package/core/built/admin/assets/virtual-list-BW-padMe.js +0 -1
- package/core/built/admin/assets/web-C1v33ehA.js +0 -2
- package/core/built/admin/assets/web-C4BKzn2T.js +0 -1
- package/core/built/admin/assets/zapier-modal-BBFfI6Ml.js +0 -1
- package/core/server/services/email-suppression-list/in-memory-email-suppression-list.js +0 -39
- package/core/server/services/members-custom-fields/bindings-service.js +0 -120
- package/core/server/services/members-custom-fields/codec.js +0 -14
- package/core/server/services/members-custom-fields/queries.js +0 -32
- /package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js.LICENSE.txt → chunk.972.4b8c97f93d66db15e751.js.LICENSE.txt} +0 -0
- /package/core/server/services/{members-custom-fields → members-metafields}/storage.js +0 -0
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./luxon-D1RVjjpq.js";var r=t(((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}})),i=t(((e,t)=>{var n=r();t.exports=function(){return n()&&!!Symbol.toStringTag}})),a=t(((e,t)=>{t.exports=Object})),o=t(((e,t)=>{t.exports=Error})),s=t(((e,t)=>{t.exports=EvalError})),c=t(((e,t)=>{t.exports=RangeError})),l=t(((e,t)=>{t.exports=ReferenceError})),u=t(((e,t)=>{t.exports=SyntaxError})),d=t(((e,t)=>{t.exports=TypeError})),f=t(((e,t)=>{t.exports=URIError})),p=t(((e,t)=>{t.exports=Math.abs})),m=t(((e,t)=>{t.exports=Math.floor})),h=t(((e,t)=>{t.exports=Math.max})),g=t(((e,t)=>{t.exports=Math.min})),_=t(((e,t)=>{t.exports=Math.pow})),v=t(((e,t)=>{t.exports=Math.round})),y=t(((e,t)=>{t.exports=Number.isNaN||function(e){return e!==e}})),b=t(((e,t)=>{var n=y();t.exports=function(e){return n(e)||e===0?e:e<0?-1:1}})),x=t(((e,t)=>{t.exports=Object.getOwnPropertyDescriptor})),S=t(((e,t)=>{var n=x();if(n)try{n([],`length`)}catch{n=null}t.exports=n})),C=t(((e,t)=>{var n=Object.defineProperty||!1;if(n)try{n({},`a`,{value:1})}catch{n=!1}t.exports=n})),w=t(((e,t)=>{var n=typeof Symbol<`u`&&Symbol,i=r();t.exports=function(){return typeof n!=`function`||typeof Symbol!=`function`||typeof n(`foo`)!=`symbol`||typeof Symbol(`bar`)!=`symbol`?!1:i()}})),T=t(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect.getPrototypeOf||null})),E=t(((e,t)=>{t.exports=a().getPrototypeOf||null})),D=t(((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}})),O=t(((e,t)=>{var n=D();t.exports=Function.prototype.bind||n})),k=t(((e,t)=>{t.exports=Function.prototype.call})),A=t(((e,t)=>{t.exports=Function.prototype.apply})),j=t(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect&&Reflect.apply})),M=t(((e,t)=>{var n=O(),r=A(),i=k();t.exports=j()||n.call(i,r)})),N=t(((e,t)=>{var n=O(),r=d(),i=k(),a=M();t.exports=function(e){if(e.length<1||typeof e[0]!=`function`)throw new r(`a function is required`);return a(n,i,e)}})),P=t(((e,t)=>{var n=N(),r=S(),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})),F=t(((e,t)=>{var n=T(),r=E(),i=P();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})),I=t(((e,t)=>{var n=Function.prototype.call,r=Object.prototype.hasOwnProperty;t.exports=O().call(n,r)})),L=t(((e,t)=>{var n,r=a(),i=o(),y=s(),x=c(),D=l(),j=u(),M=d(),N=f(),P=p(),L=m(),R=h(),ee=g(),z=_(),B=v(),V=b(),te=Function,H=function(e){try{return te(`"use strict"; return (`+e+`).constructor;`)()}catch{}},U=S(),ne=C(),W=function(){throw new M},re=U?function(){try{return arguments.callee,W}catch{try{return U(arguments,`callee`).get}catch{return W}}}():W,G=w()(),K=F(),q=E(),J=T(),ie=A(),Y=k(),X={},ae=typeof Uint8Array>`u`||!K?n:K(Uint8Array),Z={__proto__:null,"%AggregateError%":typeof AggregateError>`u`?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>`u`?n:ArrayBuffer,"%ArrayIteratorPrototype%":G&&K?K([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":X,"%AsyncGenerator%":X,"%AsyncGeneratorFunction%":X,"%AsyncIteratorPrototype%":X,"%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%":y,"%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%":te,"%GeneratorFunction%":X,"%Int8Array%":typeof Int8Array>`u`?n:Int8Array,"%Int16Array%":typeof Int16Array>`u`?n:Int16Array,"%Int32Array%":typeof Int32Array>`u`?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":G&&K?K(K([][Symbol.iterator]())):n,"%JSON%":typeof JSON==`object`?JSON:n,"%Map%":typeof Map>`u`?n:Map,"%MapIteratorPrototype%":typeof Map>`u`||!G||!K?n:K(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":r,"%Object.getOwnPropertyDescriptor%":U,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>`u`?n:Promise,"%Proxy%":typeof Proxy>`u`?n:Proxy,"%RangeError%":x,"%ReferenceError%":D,"%Reflect%":typeof Reflect>`u`?n:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>`u`?n:Set,"%SetIteratorPrototype%":typeof Set>`u`||!G||!K?n:K(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>`u`?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":G&&K?K(``[Symbol.iterator]()):n,"%Symbol%":G?Symbol:n,"%SyntaxError%":j,"%ThrowTypeError%":re,"%TypedArray%":ae,"%TypeError%":M,"%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%":N,"%WeakMap%":typeof WeakMap>`u`?n:WeakMap,"%WeakRef%":typeof WeakRef>`u`?n:WeakRef,"%WeakSet%":typeof WeakSet>`u`?n:WeakSet,"%Function.prototype.call%":Y,"%Function.prototype.apply%":ie,"%Object.defineProperty%":ne,"%Object.getPrototypeOf%":q,"%Math.abs%":P,"%Math.floor%":L,"%Math.max%":R,"%Math.min%":ee,"%Math.pow%":z,"%Math.round%":B,"%Math.sign%":V,"%Reflect.getPrototypeOf%":J};if(K)try{null.error}catch(e){Z[`%Error.prototype%`]=K(K(e))}var oe=function e(t){var n;if(t===`%AsyncFunction%`)n=H(`async function () {}`);else if(t===`%GeneratorFunction%`)n=H(`function* () {}`);else if(t===`%AsyncGeneratorFunction%`)n=H(`async function* () {}`);else if(t===`%AsyncGenerator%`){var r=e(`%AsyncGeneratorFunction%`);r&&(n=r.prototype)}else if(t===`%AsyncIteratorPrototype%`){var i=e(`%AsyncGenerator%`);i&&K&&(n=K(i.prototype))}return Z[t]=n,n},se={__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`]},Q=O(),$=I(),ce=Q.call(Y,Array.prototype.concat),le=Q.call(ie,Array.prototype.splice),ue=Q.call(Y,String.prototype.replace),de=Q.call(Y,String.prototype.slice),fe=Q.call(Y,RegExp.prototype.exec),pe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,me=/\\(\\)?/g,he=function(e){var t=de(e,0,1),n=de(e,-1);if(t===`%`&&n!==`%`)throw new j("invalid intrinsic syntax, expected closing `%`");if(n===`%`&&t!==`%`)throw new j("invalid intrinsic syntax, expected opening `%`");var r=[];return ue(e,pe,function(e,t,n,i){r[r.length]=n?ue(i,me,`$1`):t||e}),r},ge=function(e,t){var n=e,r;if($(se,n)&&(r=se[n],n=`%`+r[0]+`%`),$(Z,n)){var i=Z[n];if(i===X&&(i=oe(n)),i===void 0&&!t)throw new M(`intrinsic `+e+` exists, but is not available. Please file an issue!`);return{alias:r,name:n,value:i}}throw new j(`intrinsic `+e+` does not exist!`)};t.exports=function(e,t){if(typeof e!=`string`||e.length===0)throw new M(`intrinsic name must be a non-empty string`);if(arguments.length>1&&typeof t!=`boolean`)throw new M(`"allowMissing" argument must be a boolean`);if(fe(/^%?[^%]*%?$/,e)===null)throw new j("`%` 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],le(n,ce([0,1],c)));for(var l=1,u=!0;l<n.length;l+=1){var d=n[l],f=de(d,0,1),p=de(d,-1);if((f===`"`||f===`'`||f==="`"||p===`"`||p===`'`||p==="`")&&f!==p)throw new j(`property names with quotes must have matching quotes`);if((d===`constructor`||!u)&&(s=!0),r+=`.`+d,a=`%`+r+`%`,$(Z,a))o=Z[a];else if(o!=null){if(!(d in o)){if(!t)throw new M(`base intrinsic for `+e+` exists, but the property is not available.`);return}if(U&&l+1>=n.length){var m=U(o,d);u=!!m,o=u&&`get`in m&&!(`originalValue`in m.get)?m.get:o[d]}else u=$(o,d),o=o[d];u&&!s&&(Z[a]=o)}}return o}})),R=t(((e,t)=>{var n=L(),r=N(),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}})),ee=t(((e,t)=>{var n=i()(),r=R()(`Object.prototype.toString`),a=function(e){return n&&e&&typeof e==`object`&&Symbol.toStringTag in e?!1:r(e)===`[object Arguments]`},o=function(e){return a(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 a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o})),z=t(((e,t)=>{var n=R(),r=i()(),a=I(),o=S(),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=o(e,`lastIndex`);if(!(t&&a(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})),B=t(((e,t)=>{var n=R(),r=z(),i=n(`RegExp.prototype.exec`),a=d();t.exports=function(e){if(!r(e))throw new a("`regex` must be a RegExp");return function(t){return i(e,t)!==null}}})),V=t(((e,t)=>{var n=function*(){}.constructor;t.exports=()=>n})),te=t(((e,t)=>{var n=R(),r=B()(/^\s*(?:function)?\*/),a=i()(),o=F(),s=n(`Object.prototype.toString`),c=n(`Function.prototype.toString`),l=V();t.exports=function(e){if(typeof e!=`function`)return!1;if(r(c(e)))return!0;if(!a)return s(e)===`[object GeneratorFunction]`;if(!o)return!1;var t=l();return t&&o(e)===t.prototype}})),H=t(((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)}})),U=t(((e,t)=>{var n=H(),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)}})),ne=t(((e,t)=>{t.exports=[`Float16Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Int16Array`,`Int32Array`,`Uint8Array`,`Uint8ClampedArray`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`]})),W=t(((e,t)=>{var n=ne(),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}})),re=t(((e,t)=>{var n=C(),r=u(),i=d(),a=S();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.`)}})),G=t(((e,t)=>{var n=C(),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})),K=t(((e,t)=>{var n=L(),r=re(),i=G()(),a=S(),o=d(),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}})),q=t(((e,t)=>{var n=O(),r=A(),i=M();t.exports=function(){return i(n,r,arguments)}})),J=t(((e,t)=>{var n=K(),r=C(),i=N(),a=q();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})),ie=t(((e,t)=>{var n=U(),r=W(),a=J(),o=R(),s=S(),c=F(),l=o(`Object.prototype.toString`),u=i()(),d=typeof globalThis>`u`?global:globalThis,f=r(),p=o(`String.prototype.slice`),m=o(`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 i=a(r.get);h[`$`+e]=i}}}):n(f,function(e){var t=new d[e],n=t.slice||t.set;if(n){var r=a(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}})),Y=t(((e,t)=>{var n=ie();t.exports=function(e){return!!n(e)}})),X=t((e=>{var t=ee(),n=te(),r=ie(),i=Y();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)||z(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 N(e){return typeof WeakMap>`u`?!1:M.working?M(e):e instanceof WeakMap}e.isWeakMap=N;function P(e){return c(e)===`[object WeakSet]`}P.working=typeof WeakSet<`u`&&P(new WeakSet);function F(e){return P(e)}e.isWeakSet=F;function I(e){return c(e)===`[object ArrayBuffer]`}I.working=typeof ArrayBuffer<`u`&&I(new ArrayBuffer);function L(e){return typeof ArrayBuffer>`u`?!1:I.working?I(e):e instanceof ArrayBuffer}e.isArrayBuffer=L;function R(e){return c(e)===`[object DataView]`}R.working=typeof ArrayBuffer<`u`&&typeof DataView<`u`&&R(new DataView(new ArrayBuffer(1),0,1));function z(e){return typeof DataView>`u`?!1:R.working?R(e):e instanceof DataView}e.isDataView=z;var B=typeof SharedArrayBuffer<`u`?SharedArrayBuffer:void 0;function V(e){return c(e)===`[object SharedArrayBuffer]`}function H(e){return B===void 0?!1:(V.working===void 0&&(V.working=V(new B)),V.working?V(e):e instanceof B)}e.isSharedArrayBuffer=H;function U(e){return c(e)===`[object AsyncFunction]`}e.isAsyncFunction=U;function ne(e){return c(e)===`[object Map Iterator]`}e.isMapIterator=ne;function W(e){return c(e)===`[object Set Iterator]`}e.isSetIterator=W;function re(e){return c(e)===`[object Generator]`}e.isGeneratorObject=re;function G(e){return c(e)===`[object WebAssembly.Module]`}e.isWebAssemblyCompiledModule=G;function K(e){return m(e,l)}e.isNumberObject=K;function q(e){return m(e,u)}e.isStringObject=q;function J(e){return m(e,d)}e.isBooleanObject=J;function X(e){return o&&m(e,f)}e.isBigIntObject=X;function ae(e){return s&&m(e,p)}e.isSymbolObject=ae;function Z(e){return K(e)||q(e)||J(e)||X(e)||ae(e)}e.isBoxedPrimitive=Z;function oe(e){return typeof Uint8Array<`u`&&(L(e)||H(e))}e.isAnyArrayBuffer=oe,[`isProxy`,`isExternal`,`isModuleNamespaceObject`].forEach(function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw Error(t+` is not supported in userland`)}})})})),ae=t(((e,t)=>{t.exports=function(e){return e&&typeof e==`object`&&typeof e.copy==`function`&&typeof e.fill==`function`&&typeof e.readUInt8==`function`}})),Z=t(((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}}})),oe=t((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)P(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`)),P(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=X();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=ae();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 N(){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`,N(),e.format.apply(e,arguments))},e.inherits=Z(),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 P(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var F=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(F&&e[F]){var n=e[F];if(typeof n!=`function`)throw TypeError(`The "util.promisify.custom" argument must be of type Function`);return Object.defineProperty(n,F,{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)),F&&Object.defineProperty(n,F,{value:n,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(n,t(e))},e.promisify.custom=F;function I(e,t){if(!e){var n=Error(`Promise was rejected with a falsy value`);n.reason=e,e=n}return t(e)}function L(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(I.bind(null,e,a))})}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,t(e)),n}e.callbackify=L})),se=t(((e,t)=>{oe();var{DateTime:r}=n(),i={d:`days`,w:`weeks`,M:`months`,y:`years`,h:`hours`,m:`minutes`,s:`seconds`},a=`yyyy-MM-dd HH:mm:ss`;t.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=r.utc(),s={[i[n]]:Number(t)};return(e===`add`?o.plus(s):o.minus(s)).toFormat(a)},debug(){}}})),Q=t(((e,t)=>{t.exports={}})),$=t(((t,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})();e!==void 0&&t!==void 0&&(t.parser=r,t.Parser=r.Parser,t.parse=function(){return r.parse.apply(r,arguments)},t.main=function(e){e[1]||(console.log(`Usage: `+e[0]+` FILE`),process.exit(1));var n=Q().readFileSync(Q().normalize(e[1]),`utf8`);return t.parser.parse(n)},n!==void 0&&e.main===n&&t.main(process.argv.slice(1)))})),ce=t((e=>{var t=se(),n=$().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}}})),le=t(((e,t)=>{t.exports=ce()}));export{le as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{_ as r,f as i,p as a}from"./hooks-CuEZV2-q.js";import{n as o}from"./dist-Ndy-PuGN.js";import{t as s}from"./use-form-vRjI0Kwk.js";import{a as c,i as l,n as u,r as d,t as f}from"./offers-9J1CSiLy.js";import{i as p,r as m}from"./currency-Dy4Tc2R2.js";import{m as h}from"./dist-B3keLvjj.js";import{t as g}from"./inline-BWSs_VzR.js";import{t as _}from"./stack-B2eszIiq.js";import{Or as v,Sr as y,br as b,en as x,t as S}from"./button-eNMKQWXr.js";import{t as C}from"./switch-CI4gLWqb.js";import{i as w,n as T,o as E,s as D,t as O}from"./select-cb0t_TAJ.js";import{o as k,t as A}from"./use-settings-navigation-CZjGrhsp.js";import{a as j,i as M,n as N,o as P,r as F,t as I}from"./field-Dihp5p18.js";import{a as L,i as R,n as z,r as B,t as V}from"./input-group-CMhe2DvY.js";import{n as H,t as ee}from"./radio-group-DczlLKOn.js";import{a as U,c as W,n as G,r as K,s as te,t as q}from"./table-Do6iQ83Q.js";import{t as J}from"./textarea-DJ1Q5V39.js";import{$n as Y,Cr as ne,Dr as re,Er as ie,Kn as X,Or as ae,Sr as oe,Tr as se,jr as ce,kr as le,ut as ue,xr as de}from"./index-6MkPdCtr.js";import{a as fe,r as pe}from"./tiers-Nd_z4BZY.js";import{n as me}from"./confirmation-context-CBM8G0Vj.js";import{n as Z}from"./global-data-context-gAMDH9u1.js";import{t as he}from"./brand-icon-CrIGOA3Z.js";import{o as ge,r as _e}from"./zapier-modal-BBFfI6Ml.js";import{t as ve}from"./preview-modal-BfeFqi5y.js";import{t as ye}from"./portal-frame-B6Hr9wHc.js";import{t as be}from"./settings-breadcrumbs-DLzbRRSt.js";var xe=(e,t)=>{let{disableBackground:n=!1,name:r,code:i,displayTitle:a=``,displayDescription:o=``,type:s,cadence:c,amount:l=0,duration:u,durationInMonths:d,currency:f=`usd`,status:p,tierId:m,redemptionType:h=`signup`}=e;t=t.replace(/\/$/,``);let g=new URLSearchParams;return g.append(`disableBackground`,`false`),g.append(`name`,encodeURIComponent(r)),g.append(`code`,encodeURIComponent(i)),g.append(`display_title`,encodeURIComponent(a)),g.append(`display_description`,encodeURIComponent(o)),g.append(`type`,encodeURIComponent(s)),g.append(`cadence`,encodeURIComponent(c)),g.append(`amount`,encodeURIComponent(l)),g.append(`duration`,encodeURIComponent(u)),g.append(`duration_in_months`,encodeURIComponent(d)),g.append(`currency`,encodeURIComponent(f)),g.append(`status`,encodeURIComponent(p)),g.append(`tier_id`,encodeURIComponent(m)),g.append(`redemption_type`,encodeURIComponent(h)),n&&g.append(`disableBackground`,`true`),g.append(`admin_toolbar`,`0`),`${t}/?v=modal-portal-offer#/portal/preview/offer?${g.toString()}`},Se=e=>{let t=[];return e.forEach(e=>{t.push({label:`${e.name} - Monthly`,value:`${e.id}-month-${e.currency}`}),t.push({label:`${e.name} - Yearly`,value:`${e.id}-year-${e.currency}`})}),t},Q=e(t(),1),$=n();function Ce(e){return e.toString().toLowerCase().trim().replace(/\s+/g,`-`).replace(/[^\w-]+/g,``).replace(/--+/g,`-`)}var we=191,Te=e=>{let{fixedAmount:t=0,percentAmount:n=0,trialAmount:r=0,amount:i=0}=e;switch(e.type){case`fixed`:return t*100;case`percent`:return n;case`trial`:return r;default:return i}},Ee=({tierOptions:e,handleTierChange:t,selectedTier:n,typeOptions:r,durationOptions:i,handleTypeChange:a,handleDurationChange:o,overrides:s,handleAmountTypeChange:c,handleNameInput:l,handleTextAreaInput:u,handleDisplayTitleInput:d,handleDurationInMonthsInput:f,handleAmountInput:p,handleCodeInput:m,clearError:g,errors:_,testId:v,handleTrialAmountInput:y,amountOptions:b})=>{let x=s.cadence===`year`,C=x?i.filter(e=>e.value!==`repeating`):i,[k,A]=(0,Q.useState)(0),B=k>40?`text-red`:`text-green`,{siteData:U}=Z(),[W,G]=(0,Q.useState)(!1),K=ue(U),te=`${K}${s.code.value}`,q=async()=>{await navigator.clipboard.writeText(te),G(!0),setTimeout(()=>G(!1),2e3)};return(0,$.jsx)(`div`,{className:`pt-7`,"data-testid":v,children:(0,$.jsxs)(j,{className:`mb-10 gap-8`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h2`,{className:`mb-4 text-lg`,children:`General`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,$.jsxs)(I,{"data-invalid":!!_.name||void 0,children:[(0,$.jsx)(P,{htmlFor:`offer-name`,children:`Offer name`}),(0,$.jsx)(Y,{"aria-invalid":!!_.name||void 0,id:`offer-name`,maxLength:40,placeholder:`Black Friday`,onChange:e=>{l(e),A(e.target.value.length)},onKeyDown:()=>g(`name`)}),_.name?(0,$.jsx)(M,{children:_.name}):(0,$.jsx)(F,{children:(0,$.jsxs)(`div`,{className:`flex justify-between`,children:[(0,$.jsx)(`span`,{children:`Visible to members on Stripe Checkout page`}),(0,$.jsxs)(`strong`,{children:[(0,$.jsx)(`span`,{className:B,children:h(k)}),` /`,` `,h(40)]})]})})]}),(0,$.jsxs)(I,{"data-invalid":!!_.displayTitle||void 0,children:[(0,$.jsx)(P,{htmlFor:`offer-display-title`,children:`Display title`}),(0,$.jsx)(Y,{"aria-invalid":!!_.displayTitle||void 0,id:`offer-display-title`,maxLength:we,placeholder:`Black Friday Special`,value:s.displayTitle.value,onChange:e=>{d(e)},onKeyDown:()=>g(`displayTitle`)}),_.displayTitle&&(0,$.jsx)(M,{children:_.displayTitle})]}),(0,$.jsxs)(I,{children:[(0,$.jsx)(P,{htmlFor:`offer-display-description`,children:`Display description`}),(0,$.jsx)(J,{id:`offer-display-description`,maxLength:we,placeholder:`Take advantage of this limited-time offer.`,value:s.displayDescription,onChange:e=>{u(e)}})]})]})]}),(0,$.jsxs)(`section`,{className:`mt-4`,children:[(0,$.jsx)(`h2`,{className:`mb-4 text-lg`,children:`Details`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,$.jsx)(ee,{"aria-label":`Offer type`,className:`rounded-md border border-border-default p-4`,value:s.type===`trial`?`trial`:`percent`,onValueChange:a,children:r.map(e=>{let t=`offer-type-${e.value}`;return(0,$.jsxs)(I,{orientation:`horizontal`,children:[(0,$.jsx)(H,{id:t,value:e.value}),(0,$.jsxs)(N,{children:[(0,$.jsx)(P,{className:`cursor-pointer`,htmlFor:t,children:e.title}),(0,$.jsx)(F,{children:e.description})]})]},e.value)})}),(0,$.jsxs)(I,{children:[(0,$.jsx)(P,{children:`Tier — Cadence`}),(0,$.jsxs)(O,{value:n.value,onValueChange:n=>{let r=e.find(e=>e.value===n);r&&t(r)},children:[(0,$.jsx)(E,{"aria-label":`Tier — Cadence`,"data-testid":`tier-cadence-select-offers`,children:(0,$.jsx)(D,{})}),(0,$.jsx)(T,{children:e.map(e=>(0,$.jsx)(w,{value:e.value,children:e.label},e.value))})]})]}),s.type!==`trial`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(I,{"data-invalid":!!_.amount||void 0,children:[(0,$.jsx)(P,{htmlFor:`offer-amount`,children:`Amount off`}),(0,$.jsxs)(V,{"data-invalid":!!_.amount||void 0,children:[(0,$.jsx)(R,{id:`offer-amount`,type:`number`,value:s.type===`fixed`?s.fixedAmount===0?``:s.fixedAmount?.toString():s.percentAmount===0?``:s.percentAmount?.toString(),onChange:e=>{p(e)},onKeyDown:()=>g(`amount`)}),(0,$.jsx)(z,{align:`inline-end`,children:(0,$.jsxs)(O,{value:s.type===`percent`?b[0].value:b[1].value,onValueChange:c,children:[(0,$.jsx)(E,{"aria-label":`Amount type`,className:`h-7 w-20 border-0 bg-transparent px-2 shadow-none focus-visible:ring-0`,"data-testid":`amount-type-select-offers`,children:(0,$.jsx)(D,{})}),(0,$.jsx)(T,{align:`end`,children:b.map(e=>(0,$.jsx)(w,{value:e.value,children:e.label},e.value))})]})})]}),_.amount&&(0,$.jsx)(M,{children:_.amount})]}),(0,$.jsxs)(I,{children:[(0,$.jsx)(P,{children:`Duration`}),(0,$.jsxs)(O,{value:s.duration,onValueChange:e=>{g(`durationInMonths`),o(e)},children:[(0,$.jsx)(E,{"aria-label":`Duration`,"data-testid":`duration-select-offers`,children:(0,$.jsx)(D,{})}),(0,$.jsx)(T,{children:C.map(e=>(0,$.jsx)(w,{value:e.value,children:e.label},e.value))})]})]}),s.duration===`repeating`&&!x&&(0,$.jsx)(`div`,{className:`-mt-4`,children:(0,$.jsxs)(I,{"data-invalid":!!_.durationInMonths||void 0,children:[(0,$.jsxs)(V,{"data-invalid":!!_.durationInMonths||void 0,children:[(0,$.jsx)(R,{"aria-invalid":!!_.durationInMonths||void 0,"data-testid":`duration-months-input`,type:`number`,value:s.durationInMonths===0?``:String(s.durationInMonths),onChange:e=>{f(e)},onKeyDown:()=>g(`durationInMonths`)}),(0,$.jsx)(z,{align:`inline-end`,children:(0,$.jsx)(L,{children:s.durationInMonths===1?`month`:`months`})})]}),_.durationInMonths&&(0,$.jsx)(M,{children:_.durationInMonths})]})})]}),s.type===`trial`&&(0,$.jsxs)(I,{"data-invalid":!!_.amount||void 0,children:[(0,$.jsx)(P,{htmlFor:`trial-duration`,children:`Trial duration`}),(0,$.jsx)(Y,{"aria-invalid":!!_.amount||void 0,id:`trial-duration`,type:`number`,value:s.trialAmount?.toString(),onChange:e=>{y(e)},onKeyDown:()=>g(`amount`)}),_.amount&&(0,$.jsx)(M,{children:_.amount})]}),(0,$.jsxs)(I,{"data-invalid":!!_.code||void 0,children:[(0,$.jsx)(P,{htmlFor:`offer-code`,children:`Offer code`}),(0,$.jsx)(Y,{"aria-invalid":!!_.code||void 0,id:`offer-code`,placeholder:`black-friday`,value:s.code.value,onChange:e=>{m(e)},onKeyDown:()=>g(`code`)}),_.code?(0,$.jsx)(M,{children:_.code}):s.code.value!==``&&(0,$.jsx)(F,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{children:[K,(0,$.jsx)(`span`,{className:`font-bold`,children:s.code.value})]}),(0,$.jsx)(S,{className:`h-auto p-0 text-sm text-green hover:text-green`,size:`sm`,type:`button`,variant:`link`,onClick:()=>void q(),children:W?`Copied`:`Copy`})]})})]})]})]})]})})},De=e=>{let[t,n,r]=e.split(`-`);if(!t||!n||!r)throw Error(`Invalid input format. Expected format is: id-period-currency`);return{id:t,period:n,currency:r}},Oe=()=>{let{siteData:e}=Z(),t=[{title:`Discount`,description:`Offer a special reduced price`,value:`percent`},{title:`Free trial`,description:`Give free access for a limited time`,value:`trial`}],n=[{value:`once`,label:`First-payment`},{value:`repeating`,label:`Multiple-months`},{value:`forever`,label:`Forever`}],[i,a]=(0,Q.useState)(``),{updateRoute:c}=A(),{data:{tiers:l}={}}=fe(),d=pe(l||[]),p=Se(d),{mutateAsync:m}=f(),[h,g]=(0,Q.useState)({tier:p[0]||{},dataset:{id:p[0]?.value?De(p[0]?.value).id:``,period:p[0]?.value?De(p[0]?.value).period:``,currency:p[0]?.value?De(p[0]?.value).currency:``}}),{data:{offers:_=[]}={}}=u(),{formState:v,updateForm:y,handleSave:b,saveState:x,okProps:S,validate:C,errors:w,clearError:T}=s({initialState:{disableBackground:!1,name:``,code:{isDirty:!1,value:``},displayTitle:{isDirty:!1,value:``},displayDescription:``,type:`percent`,cadence:h?.dataset?.period||``,amount:0,duration:`once`,durationInMonths:1,currency:h?.dataset?.currency||`USD`,status:`active`,tierId:h?.dataset?.id||``,trialAmount:7,fixedAmount:0,percentAmount:0},onSave:async()=>{let e=v.type===`trial`?`trial`:v.duration,t={name:v.name,code:v.code.value,display_title:v.displayTitle.value,display_description:v.displayDescription,cadence:v.cadence,amount:Te(v)||0,duration:e,...e===`repeating`?{duration_in_months:v.durationInMonths}:{},currency:v.currency,status:v.status,redemption_type:`signup`,tier:{id:v.tierId},type:v.type,currency_restriction:!1},n=await m(t);n&&n.offers&&n.offers.length>0&&c(`offers/success/${n.offers[0].id}`)},onSaveError:()=>{},onValidate:()=>{let e={};return!v.name&&v.name.length===0&&(e.name=`Name is required`),!v.code.value&&v.code.value.length===0&&(e.code=`Code is required`),!v.displayTitle.value&&v.displayTitle.value.length===0&&(e.displayTitle=`Display title is required`),v.type===`percent`&&v.percentAmount===0&&(e.amount=`Enter an amount greater than 0.`),v.type===`percent`&&(v.percentAmount<1||v.percentAmount>100)&&(e.amount=`Enter an amount between 1 and 100%.`),(v.type===`fixed`&&v.fixedAmount===0||v.type===`fixed`&&v.fixedAmount<1)&&(e.amount=`Enter an amount greater than 0.`),v.type===`trial`&&v.trialAmount===0&&(e.amount=`Enter an amount greater than 0.`),v.type===`trial`&&v.trialAmount<1&&(e.amount=`Free trial must be at least 1 day.`),v.type!==`trial`&&v.duration===`repeating`&&(!Number.isInteger(v.durationInMonths)||v.durationInMonths<1)&&(e.durationInMonths=`Enter a whole number of months (1 or more).`),e},savingDelay:500}),E=[{value:`percent`,label:`%`},{value:`fixed`,label:v.currency}],D=e=>{let t=De(e.value),n=t.period===`year`;g({tier:e,dataset:t}),y(e=>({...e,cadence:t.period,currency:t.currency,tierId:t.id,duration:n&&e.duration===`repeating`?`once`:e.duration})),n&&T(`durationInMonths`)},O=e=>{e===`trial`&&(T(`amount`),T(`durationInMonths`)),y(t=>({...t,type:e}))},k=e=>{y(t=>({...t,type:e===`percent`?`percent`:`fixed`}))},j=e=>{let t=e.target;v.type===`fixed`?y(e=>({...e,fixedAmount:Number(t.value)})):v.type===`percent`?y(e=>({...e,percentAmount:Number(t.value)})):y(e=>({...e,amount:Number(t.value)}))},M=e=>{let t=e.target,n=Number(t.value);y(e=>({...e,durationInMonths:Number.isNaN(n)?0:n}))},N=e=>{let t=e.target.value;y(e=>{let n={...e};return n.name=t,e.code.isDirty||(T(`code`),n.code={...e.code,value:Ce(t)}),e.displayTitle.isDirty||(T(`displayTitle`),n.displayTitle={...e.displayTitle,value:t}),n})},P=e=>{let t=e.target;y(e=>({...e,displayTitle:{...e.displayTitle,isDirty:!0,value:t.value}}))},F=e=>{let t=e.target;y(e=>({...e,displayDescription:t.value}))},I=e=>{let t=e.target;y(e=>({...e,trialAmount:Number(t.value)}))},L=e=>{y(t=>({...t,duration:e}))},R=e=>{let t=e.target;y(e=>({...e,code:{...e.code,isDirty:!0,value:t.value}}))},z=()=>{_.length>0?c(`offers/edit`):c(`offers`)},B=(0,Q.useMemo)(()=>({name:v.name||``,code:v.code.value||``,displayTitle:v.displayTitle.value||``,displayDescription:v.displayDescription||``,type:v.type||`percent`,cadence:v.cadence||`month`,amount:Te(v)||0,duration:v.type===`trial`?`trial`:v.duration||`once`,durationInMonths:v.durationInMonths||0,currency:v.currency||`USD`,status:v.status||`active`,tierId:v.tierId||d[0]?.id,redemptionType:`signup`}),[v,d]);(0,Q.useEffect)(()=>{let t=xe(B,e.url);a(t)},[v,e.url,v.type,B]);let V=(0,$.jsx)(Ee,{amountOptions:E,clearError:T,durationOptions:n,errors:w,handleAmountInput:j,handleAmountTypeChange:k,handleCodeInput:R,handleDisplayTitleInput:P,handleDurationChange:L,handleDurationInMonthsInput:M,handleNameInput:N,handleTextAreaInput:F,handleTierChange:D,handleTrialAmountInput:I,handleTypeChange:O,overrides:v,selectedTier:h.tier,testId:`add-offer-sidebar`,tierOptions:p,typeOptions:t,validate:C}),H=(0,$.jsx)(ye,{href:i||``,portalParent:`offers`});return(0,$.jsx)(ve,{backDropClick:!1,cancelLabel:`Cancel`,dirty:x===`unsaved`,height:`full`,okLabel:`Publish`,okVariant:S.variant,preview:H,previewToolbar:!1,sidebar:V,size:`lg`,testId:`add-offer-modal`,title:`Offer`,width:1140,onCancel:z,onClose:()=>{c(`offers`)},onOk:async()=>{if(C(),!Object.values(w).every(e=>!e)){o.dismiss(),o.info(`Can't save offer`,{description:`Make sure you filled all required fields`});return}try{if(await b({force:!0}))return}catch(e){let t;e instanceof r&&e.data&&e.data.errors[0]&&(t=e.data.errors[0].context||e.data.errors[0].message),o.dismiss(),t&&o.error(`Can't save offer`,{description:t||`Please try again later`})}}})},ke=e=>new Date(e).toLocaleDateString(`default`,{year:`numeric`,month:`short`,day:`2-digit`}),Ae=e=>{let t=`${i().adminRoot}#/members`,n=`offer_redemptions:[${e.join(`,`)}]`;return`${t}?filter=${encodeURIComponent(n)}`},je=e=>Ae([e]),Me=({amount:e,duration:t})=>e===100&&t===`repeating`,Ne=(e,t)=>`Retention ${e} (${t})`,Pe=({amount:e,duration:t,durationInMonths:n})=>Me({amount:e,duration:t})?`${n} ${n===1?`month`:`months`} free`:t===`once`?`${e}% off once`:t===`repeating`?`${e}% off for ${n} mo`:`${e}% off forever`,Fe=(e,t)=>{let n=t.trim(),r=Pe(e),i=Ne(r,n);if(i.length<=40)return i;let a=i.length-40,o=Math.max(3,n.length-a);return Ne(r,n.slice(0,o))},Ie=e=>e===`month`?`monthly`:`yearly`,Le=e=>e===`once`?`First payment`:e===`repeating`?`Repeating`:`Forever`,Re=(e,t,n,r,i)=>{let a=``,o=n===`month`?i?.monthly_price??0:i?.yearly_price??0,s=o,c=e=>parseFloat(e.toFixed(2)),l=e=>h(c(m(e)),{maximumFractionDigits:2}),u=p(r)+l(o);switch(e){case`percent`:a=`${h(t)}% off`,s=o-o*t/100;break;case`fixed`:a=`${l(t)} ${r} off`,s=o-t;break;case`trial`:a=`${h(t)} days free`,u=``;break;default:break}s<0&&(s=0);let d=p(r)+l(s);return{discountOffer:a,originalPriceWithCurrency:u,updatedPriceWithCurrency:d}};function ze(e){return new Date(e).toLocaleDateString(`default`,{year:`numeric`,month:`short`,day:`2-digit`})}var Be=({clearError:e,errors:t,offer:n,updateOffer:r})=>{let{siteData:i}=Z(),[s,c]=(0,Q.useState)(!1),u=a(),{confirm:d}=me(),{mutateAsync:f}=l(),[p,m]=(0,Q.useState)(n?.name.length||0),g=p>40?`text-red`:`text-green`,{updateRoute:_}=A();(0,Q.useEffect)(()=>{n?.name&&m(n?.name.length)},[n?.name]);let v=ue(i),y=`${v}${n?.code}`,b=async()=>{await navigator.clipboard.writeText(y),c(!0),setTimeout(()=>c(!1),2e3)},x=()=>{n?.status===`active`?d({title:`Archive offer`,prompt:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{children:`New members will no longer be able to subscribe using this offer.`}),(0,$.jsxs)(`p`,{children:[`All members that previously redeemed `,(0,$.jsx)(`strong`,{children:n?.name}),` will remain unchanged.`]})]}),okLabel:`Archive`,okVariant:`destructive`,onOk:async e=>{try{await f({...n,status:`archived`}),e?.remove(),o.success(`Offer archived`),_(`offers/edit`)}catch(e){u(e)}}}):d({title:`Reactivate offer`,prompt:(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`p`,{children:[`Reactivating `,(0,$.jsx)(`strong`,{children:n?.name}),` will allow new members to subscribe using this offer. Existing members will remain unchanged.`]})}),okLabel:`Reactivate`,onOk:async e=>{try{await f({...n,status:`active`}),e?.remove(),o.success(`Offer reactivated`),_(`offers/edit`)}catch(e){u(e)}}})};return(0,$.jsxs)(`div`,{className:`flex grow flex-col pt-2`,children:[(0,$.jsxs)(j,{className:`mb-10 grow gap-8`,children:[(0,$.jsx)(`section`,{children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-5 rounded-md border border-gray-300 p-4 pb-3.5 dark:border-gray-800`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-sm leading-none font-semibold text-gray-700`,children:`Created on`}),(0,$.jsx)(`span`,{children:ze(n?.created_at?n.created_at:``)})]}),(0,$.jsxs)(`div`,{className:`flex items-end justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-sm leading-none font-semibold text-gray-700`,children:`Performance`}),(0,$.jsxs)(`span`,{children:[h(n?.redemption_count||0),` `,n?.redemption_count===1?`redemption`:`redemptions`]})]}),n?.redemption_count>0&&n?.last_redeemed?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-sm leading-none font-semibold text-gray-700`,children:`Last redemption`}),(0,$.jsx)(`span`,{children:ze(n?.last_redeemed)})]}):null]}),n?.redemption_count>0?(0,$.jsx)(`a`,{className:`font-semibold text-green`,href:je(n?.id),children:`See members →`}):null]})]})}),(0,$.jsxs)(`section`,{className:`mt-2`,children:[(0,$.jsx)(`h2`,{className:`mb-4 text-lg`,children:`General`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,$.jsxs)(I,{"data-invalid":!!t.name||void 0,children:[(0,$.jsx)(P,{htmlFor:`offer-name`,children:`Offer name`}),(0,$.jsx)(Y,{"aria-invalid":!!t.name||void 0,id:`offer-name`,maxLength:40,placeholder:`Black Friday`,value:n?.name??``,onChange:e=>{m(e.target.value.length),r({name:e.target.value})},onKeyDown:()=>e(`name`)}),t.name?(0,$.jsx)(M,{children:t.name}):(0,$.jsx)(F,{children:(0,$.jsxs)(`div`,{className:`flex justify-between`,children:[(0,$.jsx)(`span`,{children:`Visible to members on Stripe Checkout page`}),(0,$.jsxs)(`strong`,{children:[(0,$.jsx)(`span`,{className:g,children:h(p)}),` /`,` `,h(40)]})]})})]}),(0,$.jsxs)(I,{className:`group`,"data-invalid":!!t.code||void 0,children:[(0,$.jsx)(P,{htmlFor:`offer-code`,children:`Offer code`}),(0,$.jsxs)(V,{"data-invalid":!!t.code||void 0,children:[(0,$.jsx)(R,{"aria-invalid":!!t.code||void 0,id:`offer-code`,placeholder:`black-friday`,value:n?.code??``,onChange:e=>r({code:e.target.value}),onKeyDown:()=>e(`code`)}),n?.code!==``&&(0,$.jsx)(z,{align:`inline-end`,children:(0,$.jsx)(B,{onClick:()=>void b(),children:s?`Copied!`:`Copy link`})})]}),t.code?(0,$.jsx)(M,{children:t.code}):n?.code!==``&&(0,$.jsxs)(F,{className:`truncate`,children:[v,(0,$.jsx)(`span`,{className:`font-bold text-foreground`,children:n?.code})]})]}),(0,$.jsxs)(I,{"data-invalid":!!t.displayTitle||void 0,children:[(0,$.jsx)(P,{htmlFor:`offer-display-title`,children:`Display title`}),(0,$.jsx)(Y,{"aria-invalid":!!t.displayTitle||void 0,id:`offer-display-title`,placeholder:`Black Friday Special`,value:n?.display_title??``,onChange:e=>r({display_title:e.target.value}),onKeyDown:()=>e(`displayTitle`)}),t.displayTitle&&(0,$.jsx)(M,{children:t.displayTitle})]}),(0,$.jsxs)(I,{children:[(0,$.jsx)(P,{htmlFor:`offer-display-description`,children:`Display description`}),(0,$.jsx)(J,{id:`offer-display-description`,placeholder:`Take advantage of this limited-time offer.`,value:n?.display_description??``,onChange:e=>r({display_description:e.target.value})})]})]})]})]}),(0,$.jsx)(`div`,{className:`mb-2`,children:n?.status===`active`?(0,$.jsx)(S,{className:`h-auto p-0 text-destructive hover:text-destructive`,type:`button`,variant:`link`,onClick:x,children:`Archive offer`}):(0,$.jsx)(S,{className:`h-auto p-0 text-green hover:text-green`,type:`button`,variant:`link`,onClick:x,children:`Reactivate offer`})})]})},Ve=({id:e})=>{let{siteData:t}=Z(),{updateRoute:n}=A(),i=a(),{mutateAsync:c}=l(),[u,f]=(0,Q.useState)(``),{data:{offers:p=[]}={}}=d(e||``),{formState:m,saveState:h,updateForm:g,setFormState:_,handleSave:v,validate:y,errors:b,clearError:x,okProps:S}=s({initialState:p[0],savingDelay:500,onSave:async()=>{await c(m)},onSaveError:i,onValidate:()=>{let e={};return m?.name||(e.name=`Name is required`),m?.display_title||(e.displayTitle=`Display title is required`),m?.code||(e.code=`Please enter a code`),e}});(0,Q.useEffect)(()=>{_(()=>p[0])},[_,p]);let C=(0,$.jsx)(Be,{clearError:x,errors:b,offer:m,updateOffer:e=>{g(t=>({...t,...e}))},validate:y});(0,Q.useEffect)(()=>{let e=xe({name:m?.name||``,code:m?.code||``,displayTitle:m?.display_title||``,displayDescription:m?.display_description||``,type:m?.type||``,cadence:m?.cadence||``,amount:m?.amount,duration:m?.duration||``,durationInMonths:m?.duration_in_months||0,currency:m?.currency||``,status:m?.status||``,tierId:m?.tier?.id||``,redemptionType:`signup`},t.url);f(e)},[m,t]);let w=(0,$.jsx)(ye,{href:u||``,portalParent:`offers`}),T=()=>{n(`offers/edit`)};return p?(0,$.jsx)(ve,{backDropClick:!1,cancelLabel:`Cancel`,dirty:h===`unsaved`,height:`full`,okLabel:S.label||`Save`,okVariant:S.variant,preview:w,previewToolbarBreadcrumbs:(0,$.jsx)(be,{current:m?.name||`Offer`,label:`Offers`,onBack:T}),sidebar:C,size:`lg`,testId:`offer-update-modal`,title:`Offer`,width:1140,onCancel:T,onClose:()=>{n(`offers`)},onOk:async()=>{try{if(await v({force:!0}))return}catch(e){let t;e instanceof r&&e.data&&e.data.errors[0]&&(t=e.data.errors[0].context||e.data.errors[0].message),o.dismiss(),t&&o.error(`Can't save offer`,{description:`Please try again later`})}}}):null},He=[{title:`Percentage discount`,description:`Offer a special reduced price`,value:`percent`},{title:`Free month(s)`,description:`Give free access for a limited time`,value:`free_months`}],Ue=[{value:`once`,label:`First-payment`},{value:`repeating`,label:`Multiple-months`},{value:`forever`,label:`Forever`}],We=191,Ge=99,Ke=`Enter a whole number of months between 1 and ${Ge}.`,qe=e=>Math.max(1,Number.isFinite(e)?Math.trunc(e):0),Je=({type:e,percentAmount:t,freeMonths:n,lastPercentAmount:r,lastFreeMonths:i})=>e===`free_months`?n>0?n:i:t>0?t:r,Ye=(e=`monthly`)=>({enabled:!1,displayTitle:``,displayDescription:``,type:e===`yearly`?`percent`:`free_months`,percentAmount:20,duration:`once`,durationInMonths:1,freeMonths:1}),Xe=e=>e.type===`percent`&&e.amount===100&&e.duration===`repeating`,Ze=(e,t=`monthly`)=>{let n=Ye(t);if(!e)return n;let r=Xe(e),i=e.type===`percent`&&!r,a=e.duration===`repeating`&&e.duration_in_months?e.duration_in_months:n.durationInMonths;return{enabled:e.status===`active`,displayTitle:e.display_title||``,displayDescription:e.display_description||``,type:r?`free_months`:`percent`,percentAmount:i?e.amount:n.percentAmount,duration:i?e.duration:n.duration,durationInMonths:a,freeMonths:r&&e.duration_in_months||n.freeMonths}},Qe=({formState:e,lastPercentAmount:t,lastFreeMonths:n})=>{let r=Je({type:e.type,percentAmount:e.percentAmount,freeMonths:e.freeMonths,lastPercentAmount:t,lastFreeMonths:n});if(e.type===`free_months`)return{type:`percent`,amount:100,duration:`repeating`,durationInMonths:qe(r)};let i=e.duration;return{type:`percent`,amount:r,duration:i,durationInMonths:i===`repeating`?qe(e.durationInMonths):0}},$e=e=>{if(!e)return null;let t=e.duration_in_months??0;return{type:`percent`,amount:e.amount,duration:e.duration,durationInMonths:t}},et=e=>e?`${e.type}:${e.amount}:${e.duration}:${e.durationInMonths}`:``,tt=e=>Number.isInteger(e)&&e>0&&e<=Ge,nt=(e,t)=>e.displayTitle!==t.displayTitle||e.displayDescription!==t.displayDescription||e.type!==t.type||e.percentAmount!==t.percentAmount||e.duration!==t.duration||e.durationInMonths!==t.durationInMonths||e.freeMonths!==t.freeMonths,rt=({formState:e,updateForm:t,clearError:n,errors:r,cadence:i,lastRedeemed:a,membersFilterUrl:o,redemptions:s})=>{let c=i===`yearly`?Ue.filter(e=>e.value!==`repeating`):Ue;return(0,$.jsx)(`div`,{className:`flex grow flex-col pt-2`,children:(0,$.jsxs)(j,{className:`mb-10 grow gap-8`,children:[(0,$.jsx)(`section`,{children:(0,$.jsx)(`div`,{className:`flex flex-col gap-5 rounded-md border border-gray-300 p-4 pb-3.5 dark:border-gray-800`,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:(0,$.jsxs)(`div`,{className:`flex items-end justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-sm leading-none font-semibold text-gray-700`,children:`Performance`}),(0,$.jsxs)(`span`,{children:[h(s),` `,s===1?`redemption`:`redemptions`]})]}),s>0&&a?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-sm leading-none font-semibold text-gray-700`,children:`Last redemption`}),(0,$.jsx)(`span`,{children:ke(a)})]}):null]}),s>0&&o?(0,$.jsx)(`a`,{className:`font-semibold text-green`,href:o,children:`See members →`}):null]})})})}),(0,$.jsx)(`section`,{className:`mt-2`,children:(0,$.jsxs)(I,{orientation:`horizontal`,children:[(0,$.jsxs)(N,{children:[(0,$.jsxs)(P,{htmlFor:`${i}-retention-enabled`,children:[`Enable `,i,` retention`]}),(0,$.jsx)(F,{children:i===`monthly`?`Applied to monthly plans`:`Applied to annual plans`})]}),(0,$.jsx)(C,{checked:e.enabled,id:`${i}-retention-enabled`,onCheckedChange:e=>t(t=>({...t,enabled:e}))})]})}),e.enabled&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`section`,{className:`mt-2`,children:[(0,$.jsx)(`h2`,{className:`mb-4 text-lg`,children:`General`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,$.jsxs)(I,{children:[(0,$.jsx)(P,{htmlFor:`retention-display-title`,children:`Display title`}),(0,$.jsx)(Y,{id:`retention-display-title`,maxLength:We,placeholder:`Before you go`,value:e.displayTitle,onChange:e=>{t(t=>({...t,displayTitle:e.target.value}))}})]}),(0,$.jsxs)(I,{children:[(0,$.jsx)(P,{htmlFor:`retention-display-description`,children:`Display description`}),(0,$.jsx)(J,{id:`retention-display-description`,maxLength:We,placeholder:`We'd hate to see you leave. How about a special offer to stay?`,value:e.displayDescription,onChange:e=>{t(t=>({...t,displayDescription:e.target.value}))}})]})]})]}),(0,$.jsxs)(`section`,{className:`mt-4`,children:[(0,$.jsx)(`h2`,{className:`mb-4 text-lg`,children:`Details`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[i===`monthly`&&(0,$.jsx)(ee,{"aria-label":`${i} retention offer type`,className:`rounded-md border border-border-default p-4`,value:e.type,onValueChange:e=>{n(`amount`),n(`durationInMonths`),t(t=>({...t,type:e}))},children:He.map(e=>{let t=`${i}-retention-type-${e.value}`;return(0,$.jsxs)(I,{orientation:`horizontal`,children:[(0,$.jsx)(H,{id:t,value:e.value}),(0,$.jsxs)(N,{children:[(0,$.jsx)(P,{className:`cursor-pointer`,htmlFor:t,children:e.title}),(0,$.jsx)(F,{children:e.description})]})]},e.value)})}),e.type===`percent`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(I,{"data-invalid":!!r.amount||void 0,children:[(0,$.jsx)(P,{htmlFor:`retention-amount`,children:`Amount off`}),(0,$.jsxs)(V,{"data-invalid":!!r.amount||void 0,children:[(0,$.jsx)(R,{"aria-invalid":!!r.amount||void 0,id:`retention-amount`,type:`number`,value:e.percentAmount===0?``:String(e.percentAmount),onChange:e=>{let n=Number(e.target.value),r=Number.isNaN(n)?0:n;t(e=>({...e,percentAmount:r}))},onKeyDown:()=>n(`amount`)}),(0,$.jsx)(z,{align:`inline-end`,children:(0,$.jsx)(L,{children:`%`})})]}),r.amount&&(0,$.jsx)(M,{children:r.amount})]}),(0,$.jsxs)(I,{children:[(0,$.jsx)(P,{children:`Duration`}),(0,$.jsxs)(O,{value:e.duration,onValueChange:e=>{n(`durationInMonths`),t(t=>({...t,duration:e}))},children:[(0,$.jsx)(E,{"aria-label":`Duration`,children:(0,$.jsx)(D,{})}),(0,$.jsx)(T,{children:c.map(e=>(0,$.jsx)(w,{value:e.value,children:e.label},e.value))})]})]}),e.duration===`repeating`&&(0,$.jsx)(`div`,{className:`-mt-4`,children:(0,$.jsxs)(I,{"data-invalid":!!r.durationInMonths||void 0,children:[(0,$.jsxs)(V,{"data-invalid":!!r.durationInMonths||void 0,children:[(0,$.jsx)(R,{"aria-invalid":!!r.durationInMonths||void 0,"data-testid":`duration-months-input`,type:`number`,value:e.durationInMonths===0?``:String(e.durationInMonths),onChange:e=>{let n=Number(e.target.value);t(e=>({...e,durationInMonths:Number.isNaN(n)?0:n}))},onKeyDown:()=>n(`durationInMonths`)}),(0,$.jsx)(z,{align:`inline-end`,children:(0,$.jsx)(L,{children:e.durationInMonths===1?`month`:`months`})})]}),r.durationInMonths&&(0,$.jsx)(M,{children:r.durationInMonths})]})})]}),e.type===`free_months`&&(0,$.jsxs)(I,{"data-invalid":!!r.amount||void 0,children:[(0,$.jsx)(P,{htmlFor:`retention-free-months`,children:`Free months`}),(0,$.jsxs)(V,{"data-invalid":!!r.amount||void 0,children:[(0,$.jsx)(R,{"aria-invalid":!!r.amount||void 0,id:`retention-free-months`,type:`number`,value:e.freeMonths===0?``:String(e.freeMonths),onChange:e=>{let n=Number(e.target.value);t(e=>({...e,freeMonths:Number.isNaN(n)?0:n}))},onKeyDown:()=>n(`amount`)}),(0,$.jsx)(z,{align:`inline-end`,children:(0,$.jsx)(L,{children:e.freeMonths===1?`month`:`months`})})]}),r.amount&&(0,$.jsx)(M,{children:r.amount})]})]})]})]})]})})},it=({cadence:e})=>{let{updateRoute:t}=A(),{siteData:n}=Z(),{data:{tiers:i=[]}={}}=fe(),{data:{offers:a=[]}={},isFetched:d,isFetching:p}=u(),{mutateAsync:m}=f(),{mutateAsync:h}=l(),g=c(),[_,v]=(0,Q.useState)(``),y=e===`monthly`?`Monthly retention`:`Yearly retention`,b=e===`monthly`?`month`:`year`,x=pe(i||[]),S=(0,Q.useMemo)(()=>a.filter(e=>e.redemption_type===`retention`&&e.cadence===b).sort((e,t)=>{let n=e.created_at?new Date(e.created_at).getTime():0;return(t.created_at?new Date(t.created_at).getTime():0)-n}),[a,b]),C=(0,Q.useMemo)(()=>S.find(e=>e.status===`active`)||null,[S]),w=S[0]||null,T=C||w,E=(0,Q.useMemo)(()=>S.reduce((e,t)=>e+(t.redemption_count||0),0),[S]),D=(0,Q.useMemo)(()=>S.map(e=>e.id),[S]),O=(0,Q.useMemo)(()=>S.map(e=>e.last_redeemed).filter(e=>!!e).sort((e,t)=>new Date(t).getTime()-new Date(e).getTime())[0]||null,[S]),k=(0,Q.useMemo)(()=>E===0||D.length===0?null:Ae(D),[D,E]),[j,M]=(0,Q.useState)(20),[N,P]=(0,Q.useState)(1),[F,I]=(0,Q.useState)(null),{formState:L,setFormState:R,updateForm:z,handleSave:B,saveState:V,okProps:H,errors:ee,clearError:U}=s({initialState:Ye(e),savingDelay:500,onSave:async()=>{let t=!1,n=Qe({formState:L,lastPercentAmount:j,lastFreeMonths:N}),r=et($e(T))!==et(n),i=L.enabled?`active`:`archived`,a=L.displayTitle||``,o=L.displayDescription||``,s=T?a!==(T.display_title||``)||o!==(T.display_description||``):a!==``||o!==``,c=Ye(e),l=!L.enabled&&!T&&nt(L,c),u=async e=>{let r=crypto.getRandomValues(new Uint32Array(1))[0].toString(16).padStart(8,`0`),i=Fe(n,r);await m({name:i,code:r,display_title:a,display_description:o,cadence:b,amount:n.amount,duration:n.duration,duration_in_months:n.duration===`repeating`?n.durationInMonths:null,currency:null,status:e,redemption_type:`retention`,tier:null,type:n.type,currency_restriction:!1}),t=!0},d=async()=>{t&&await g()};if(!(!T&&!L.enabled&&!l)){if(r){!L.enabled&&C&&(await h({...C,status:`archived`}),t=!0),await u(i),await d();return}if(T){let e=T.status!==i;(s||e)&&(await h({...T,display_title:a,display_description:o,status:i}),t=!0),await d();return}(L.enabled||l)&&await u(i),await d()}},onSaveError:e=>{let t=`Please try again later`;e instanceof r&&e.data&&e.data.errors[0]&&(t=e.data.errors[0].context||e.data.errors[0].message||t),o.dismiss(),o.error(`Failed to save offer`,{description:t})},onValidate:()=>{let e={};return L.enabled?(L.type===`percent`&&((L.percentAmount<1||L.percentAmount>100)&&(e.amount=`Enter an amount between 1 and 100%.`),L.duration===`repeating`&&!tt(L.durationInMonths)&&(e.durationInMonths=Ke)),L.type===`free_months`&&(tt(L.freeMonths)||(e.amount=Ke)),e):e}}),W=`${e}:${T?.id||`none`}`;(0,Q.useEffect)(()=>{!d||p||V===`unsaved`||F===W||(R(()=>Ze(T,e)),I(W))},[e,W,T,d,F,p,V,R]),(0,Q.useEffect)(()=>{L.percentAmount>0&&M(L.percentAmount)},[L.percentAmount]),(0,Q.useEffect)(()=>{L.freeMonths>0&&P(L.freeMonths)},[L.freeMonths]);let G=()=>{t(`offers/edit`)},K=(0,$.jsx)(rt,{cadence:e,clearError:U,errors:ee,formState:L,lastRedeemed:O,membersFilterUrl:k,redemptions:E,updateForm:z}),te=async()=>{try{await B({force:!0})&&G()}catch{}},q=(0,Q.useMemo)(()=>{let t=Qe({formState:L,lastPercentAmount:j,lastFreeMonths:N}),n=x.find(e=>b===`month`?e.monthly_price:e.yearly_price);return{enabled:L.enabled,name:`${e} retention`,code:`${e}-retention`,displayTitle:L.displayTitle||``,displayDescription:L.displayDescription||``,type:t.type,cadence:b,amount:t.amount,duration:t.duration,durationInMonths:t.durationInMonths,currency:``,status:`active`,tierId:n?.id||``,redemptionType:`retention`}},[x,e,L,N,j,b]);(0,Q.useEffect)(()=>{if(!n.url){v(``);return}let e=xe(q,n.url);v(e)},[q,n.url]);let J=(0,$.jsx)(ye,{href:_||``,portalParent:`offers`});return(0,$.jsx)(ve,{backDropClick:!1,cancelLabel:`Cancel`,dirty:V===`unsaved`,height:`full`,okLabel:H.label||`Save`,okVariant:H.variant,preview:J,previewToolbarBreadcrumbs:(0,$.jsx)(be,{current:y,label:`Offers`,onBack:G}),sidebar:K,size:`lg`,testId:`retention-offer-modal`,title:`Offer`,width:1140,onCancel:G,onClose:()=>t(`offers`),onOk:te})},at=({id:e})=>{let{updateRoute:t}=A(),{data:{offers:n=[]}={}}=d(e||``),[r,i]=(0,Q.useState)(),[a,o]=(0,Q.useState)(``),{siteData:s}=Z();(0,Q.useEffect)(()=>{if(n.length>0){let e=n[0],t=`${ue(s)}${e?.code}`;o(t),i(e)}},[n,s]);let[c,l]=(0,Q.useState)(!1),u=()=>{let e=``;switch(r?.type){case`percent`:e=r?.amount+`% discount`;break;case`fixed`:e=h(m(r?.amount),{maximumFractionDigits:2})+` `+r?.currency+` discount`;break;case`trial`:e=r?.amount+` days free trial`;break;default:break}return`${encodeURIComponent(r?.name||``)} — Check out ${encodeURIComponent(e)} on:`},f=async()=>{await navigator.clipboard.writeText(a),l(!0),setTimeout(()=>l(!1),2e3)};return(0,$.jsx)(k,{animate:!1,backDropClick:!1,footer:!1,height:`full`,size:`lg`,testId:`offer-success-modal`,topRightContent:`close`,width:1140,onClose:()=>{t(`offers`)},children:(0,$.jsxs)(`div`,{className:`-mt-6 flex h-full flex-col items-center justify-center text-center`,children:[(0,$.jsx)(be,{className:`absolute top-5 left-6`,current:r?.name||``,label:`Offers`,onBack:()=>t(`offers/edit`)}),(0,$.jsx)(b,{className:`-mt-4 size-10 text-gray-700`}),(0,$.jsx)(`h1`,{className:`mt-6 text-4xl`,children:`Your new offer is live!`}),(0,$.jsx)(`p`,{className:`mt-3 max-w-[510px] text-[1.6rem]`,children:`You can share the link anywhere. In your newsletter, social media, a podcast, or in-person. It all just works.`}),(0,$.jsxs)(`div`,{className:`mt-8 flex w-full max-w-md flex-col gap-8`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col-reverse gap-2`,children:[(0,$.jsx)(Y,{name:`offer-url`,type:`url`,value:a,disabled:!0}),(0,$.jsx)(S,{className:`w-full`,type:`button`,onClick:()=>void f(),children:c?`Copied!`:`Copy link`})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-4 text-sm font-medium before:h-px before:grow before:bg-gray-300 before:content-[""] after:h-px after:grow after:bg-gray-300 after:content-[""] dark:before:bg-gray-800 dark:after:bg-gray-800`,children:`OR`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(S,{"aria-label":`Share on X`,className:`h-8 flex-1`,size:`sm`,type:`button`,variant:`outline`,onClick:()=>{window.open(`https://twitter.com/intent/tweet?url=${encodeURI(a)}&text=${u()}`,`_blank`)},children:(0,$.jsx)(he,{className:`size-3.5!`,name:`twitter-x`})}),(0,$.jsx)(S,{"aria-label":`Share on Facebook`,className:`h-8 flex-1`,size:`sm`,type:`button`,variant:`outline`,onClick:()=>{window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURI(a)}`,`_blank`)},children:(0,$.jsx)(he,{className:`size-3.5!`,name:`facebook`})}),(0,$.jsx)(S,{"aria-label":`Share on LinkedIn`,className:`h-8 flex-1`,size:`sm`,type:`button`,variant:`outline`,onClick:()=>{window.open(`http://www.linkedin.com/shareArticle?mini=true&url=${encodeURI(a)}&title=${u()}`,`_blank`)},children:(0,$.jsx)(he,{className:`size-3.5!`,name:`linkedin`})})]})]})]})})},ot=(e,t)=>e.find(e=>e.redemption_type===`retention`&&e.cadence===t&&e.status===`active`)||null,st=(e,t)=>e.reduce((e,n)=>n.redemption_type!==`retention`||n.cadence!==t?e:e+(n.redemption_count||0),0),ct=(e,t)=>e.filter(e=>e.redemption_type===`retention`&&e.cadence===t).map(e=>e.id),lt=(e,t)=>{let n=e.filter(e=>e.redemption_type===`retention`&&e.cadence===t&&e.created_at).map(e=>new Date(e.created_at).getTime()).filter(e=>!Number.isNaN(e));return n.length===0?null:new Date(Math.max(...n)).toISOString()},ut=e=>e.type===`percent`&&e.amount===100&&e.duration===`repeating`,dt=e=>{if(!e)return null;if(ut(e)){let t=e.duration_in_months||0,n=t===1?`month`:`months`;return`${h(t)} ${n} free`}return e.type===`percent`?`${h(e.amount)}% OFF`:null},ft=e=>{if(!e)return null;if(ut(e))return``;if(e.duration===`once`)return`First payment`;if(e.duration===`repeating`&&e.duration_in_months){let t=e.duration_in_months===1?`month`:`months`;return`For ${h(e.duration_in_months)} ${t}`}return e.duration===`forever`?`Forever`:null},pt=e=>{let t=ot(e,`month`),n=ot(e,`year`),r=ct(e,`month`),i=ct(e,`year`),a=st(e,`month`),o=st(e,`year`);return[{id:`monthly`,name:`Monthly retention`,description:`Applied to monthly plans`,terms:dt(t),termsDetail:ft(t),redemptionOfferIds:r,redemptions:a,status:t?`active`:`inactive`,createdAt:lt(e,`month`)},{id:`yearly`,name:`Yearly retention`,description:`Applied to annual plans`,terms:dt(n),termsDetail:ft(n),redemptionOfferIds:i,redemptions:o,status:n?`active`:`inactive`,createdAt:lt(e,`year`)}]},mt=({showArchived:e,setShowArchived:t,sortOption:n,sortDirection:r,onSortChange:i,onDirectionChange:a})=>(0,$.jsxs)(de,{children:[(0,$.jsx)(ce,{asChild:!0,children:(0,$.jsx)(S,{"aria-label":`Filter options`,className:`text-muted-foreground hover:text-foreground`,size:`icon`,type:`button`,variant:`ghost`,children:(0,$.jsx)(x,{size:16,strokeWidth:1.5})})}),(0,$.jsxs)(ne,{align:`end`,className:`z-[9999] min-w-[200px] normal-case`,children:[(0,$.jsx)(ie,{className:`text-xs tracking-wide text-muted-foreground uppercase`,children:`Sort by`}),(0,$.jsxs)(re,{value:n,onValueChange:i,children:[(0,$.jsx)(ae,{value:`date-added`,children:`Date added`}),(0,$.jsx)(ae,{value:`name`,children:`Name`}),(0,$.jsx)(ae,{value:`redemptions`,children:`Redemptions`})]}),(0,$.jsxs)(se,{onSelect:a,children:[r===`asc`?(0,$.jsx)(y,{className:`size-3`}):(0,$.jsx)(v,{className:`size-3`}),r===`asc`?`Ascending`:`Descending`]}),(0,$.jsx)(le,{}),(0,$.jsx)(oe,{checked:e,onCheckedChange:e=>t(!!e),children:`Show archived`})]})]}),ht=({offer:e,onClick:t})=>{let n=e.redemptions>0&&e.redemptionOfferIds.length>0?Ae(e.redemptionOfferIds):void 0;return(0,$.jsxs)(W,{"data-testid":`retention-offer-item`,children:[(0,$.jsx)(K,{className:`sticky left-0 z-10 bg-background p-0`,children:(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:t,children:(0,$.jsxs)(_,{gap:`none`,children:[(0,$.jsx)(`span`,{className:`font-semibold`,children:e.name}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e.description})]})})}),(0,$.jsx)(K,{className:`p-0 whitespace-nowrap`,children:(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:t,children:e.terms?(0,$.jsxs)(_,{gap:`none`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium uppercase`,children:e.terms}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e.termsDetail})]}):(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`–`})})}),(0,$.jsx)(K,{className:`p-0 whitespace-nowrap`,children:(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:t,children:(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`–`})})}),(0,$.jsx)(K,{className:`p-0 whitespace-nowrap`,children:n?(0,$.jsx)(`a`,{className:`block cursor-pointer p-5 hover:underline`,"data-testid":`retention-redemptions-link-${e.id}`,href:n,children:h(e.redemptions)}):(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,"data-testid":`retention-redemptions-link-${e.id}`,type:`button`,onClick:t,children:h(e.redemptions)})}),(0,$.jsx)(K,{className:`p-0 whitespace-nowrap`,children:(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:t,children:e.status===`active`?(0,$.jsx)(X,{className:`rounded-full uppercase`,variant:`success`,children:`Active`}):(0,$.jsx)(X,{className:`rounded-full uppercase`,variant:`secondary`,children:`Inactive`})})})]})},gt=({archived:e,offer:t,tier:n,onClick:r})=>{let{discountOffer:i,originalPriceWithCurrency:a,updatedPriceWithCurrency:o}=Re(t.type,t.amount,t.cadence,t.currency||`USD`,n);return(0,$.jsxs)(W,{className:e?`opacity-60`:void 0,"data-testid":`offer-item`,children:[(0,$.jsx)(K,{className:`sticky left-0 z-10 bg-background p-0`,children:(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:(0,$.jsxs)(_,{gap:`none`,children:[(0,$.jsx)(`span`,{className:`font-semibold`,children:t.name}),(0,$.jsxs)(`span`,{className:`text-muted-foreground`,children:[n.name,` `,Ie(t.cadence)]})]})})}),(0,$.jsx)(K,{className:`p-0 whitespace-nowrap`,children:(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:(0,$.jsxs)(_,{gap:`none`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium uppercase`,children:i}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:t.type===`trial`?`Trial period`:Le(t.duration)})]})})}),(0,$.jsx)(K,{className:`p-0 whitespace-nowrap`,children:(0,$.jsxs)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:o}),` `,t.type===`trial`?null:(0,$.jsx)(`span`,{className:`relative text-sm text-muted-foreground before:absolute before:-inset-x-0.5 before:top-1/2 before:rotate-[-20deg] before:border-t before:content-[""]`,children:a})]})}),(0,$.jsx)(K,{className:`p-0 whitespace-nowrap`,children:t.redemption_count>0&&t.id?(0,$.jsx)(`a`,{className:`block cursor-pointer p-5 hover:underline`,href:je(t.id),children:h(t.redemption_count)}):(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:h(t.redemption_count)})}),(0,$.jsx)(K,{className:`p-0 whitespace-nowrap`,children:(0,$.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:e?(0,$.jsx)(X,{className:`rounded-full uppercase`,variant:`secondary`,children:`Archived`}):(0,$.jsx)(X,{className:`rounded-full uppercase`,variant:`success`,children:`Active`})})})]})},_t=e=>e.offer.name,vt=e=>e.kind===`retention`?e.offer.redemptions:e.offer.redemption_count,yt=e=>e.kind===`retention`?e.offer.createdAt:e.offer.created_at||null,bt=(e,t,n)=>{let r=n===`desc`?-1:1;return[...e].sort((e,n)=>{let i;switch(t){case`name`:i=_t(e).localeCompare(_t(n));break;case`redemptions`:i=vt(e)-vt(n);break;default:{let t=yt(e),r=yt(n);if(!t&&!r)i=0;else if(!t)return 1;else if(r)i=new Date(t).getTime()-new Date(r).getTime();else return-1;break}}return(i||_t(e).localeCompare(_t(n)))*r})},xt=()=>{let{updateRoute:e}=A(),{data:{offers:t=[]}={}}=u(),{data:{tiers:n}={}}=fe(),r=t.filter(e=>e.redemption_type===`signup`),i=pt(t),{sortingState:a,setSortingState:s}=ge(),c=a?.find(e=>e.type===`offers`),{offersShowArchived:l,setOffersShowArchived:d}=_e(),f=c?.option||`date-added`,p=c?.direction||`desc`,m=t=>{t&&e(`offers/edit/${t}`)},h=t=>{e(`offers/edit/retention/${t}`)},v=pe(n||[]),y=r.filter(e=>{let t=n?.find(t=>t.id===e?.tier?.id),r=e.status===`active`&&t&&t.active===!0,i=e.status===`archived`||t&&t.active===!1;return!!(r||l&&i)}),b=bt([...i.map(e=>({kind:`retention`,offer:e})),...y.map(e=>({kind:`signup`,offer:e}))],f,p),x=e=>{s?.([{type:`offers`,option:e,direction:p}])},C=()=>{s?.([{type:`offers`,option:f,direction:p===`asc`?`desc`:`asc`}])},w=e=>{let t=n?.find(t=>t.id===e?.tier?.id);return e.status===`archived`||t?.active===!1};return(0,$.jsx)(k,{animate:!1,backDropClick:!1,cancelLabel:``,footer:!1,height:`full`,size:`lg`,testId:`offers-modal`,title:`Offers`,topRightContent:(0,$.jsxs)(g,{gap:`md`,children:[(0,$.jsx)(S,{type:`button`,variant:`outline`,onClick:()=>{e(`offers`)},children:`Close`}),(0,$.jsx)(S,{type:`button`,onClick:()=>{v.length===0?o.info(`You must have an active tier to create an offer.`):e(`offers/new`)},children:`New offer`})]}),width:1140,onClose:()=>{e(`offers`)},children:(0,$.jsx)(_,{className:`h-full pt-8`,children:(0,$.jsx)(`div`,{className:`overflow-x-auto`,children:(0,$.jsxs)(q,{className:`m-0 min-w-[900px]`,children:[(0,$.jsxs)(`colgroup`,{children:[(0,$.jsx)(`col`,{className:`w-[25%]`}),(0,$.jsx)(`col`,{className:`w-[200px]`}),(0,$.jsx)(`col`,{className:`w-[200px]`}),(0,$.jsx)(`col`,{className:`w-[200px]`}),(0,$.jsx)(`col`,{className:`w-[220px]`})]}),(0,$.jsx)(te,{children:(0,$.jsxs)(W,{children:[(0,$.jsx)(U,{className:`sticky left-0 z-10 h-auto bg-background p-0 pb-2.5 pl-5 uppercase`,children:`Name`}),(0,$.jsx)(U,{className:`h-auto p-0 pb-2.5 pl-5 uppercase`,children:`Terms`}),(0,$.jsx)(U,{className:`h-auto p-0 pb-2.5 pl-5 uppercase`,children:`Price`}),(0,$.jsx)(U,{className:`h-auto p-0 pb-2.5 pl-5 uppercase`,children:`Redemptions`}),(0,$.jsx)(U,{className:`h-auto p-0 px-5 pb-2.5 uppercase`,children:(0,$.jsxs)(g,{align:`center`,justify:`between`,children:[`Status`,(0,$.jsx)(mt,{setShowArchived:d,showArchived:l,sortDirection:p,sortOption:f,onDirectionChange:C,onSortChange:x})]})})]})}),(0,$.jsx)(G,{"data-testid":`offers-table-body`,children:b.map(e=>{if(e.kind===`retention`)return(0,$.jsx)(ht,{offer:e.offer,onClick:()=>h(e.offer.id)},`retention-${e.offer.id}`);let t=e.offer,r=n?.find(e=>e.id===t?.tier?.id);if(!r)return null;let i=w(t);return(0,$.jsx)(gt,{archived:i,offer:t,tier:r,onClick:()=>m(t.id)},`signup-${t.id}`)})})]})})})})},St=`offers/edit/retention/`,Ct=e=>{let t=e.slice(22).replace(/\/+$/,``);return t===`monthly`||t===`yearly`?t:null},wt=({route:e})=>{if(e===`offers/new`)return(0,$.jsx)(Oe,{});if(e===`offers/edit/retention`||e.startsWith(St)){let t=e.startsWith(St)?Ct(e):null;return t?(0,$.jsx)(it,{cadence:t}):(0,$.jsx)(xt,{})}else if(e.startsWith(`offers/edit/`)&&e.length>12){let t=e.split(`/`).pop();return(0,$.jsx)(Ve,{id:t||``})}else if(e.startsWith(`offers/success/`)&&e.length>15){let t=e.split(`/`).pop();return(0,$.jsx)(at,{id:t||``})}else if(e===`offers/edit`||e===`offers/edit/`)return(0,$.jsx)(xt,{})},Tt=()=>{let{route:e}=A();return(0,$.jsx)(wt,{route:e})};export{Tt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{o as r}from"./hooks-CuEZV2-q.js";import{i}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{m as a}from"./users-Cg-OeGzC.js";var o=e(t(),1);function s(e){if(!e)return{};try{return JSON.parse(e)}catch{return{}}}function c(e,t){let n=s(e);return JSON.stringify({...n,...t})}var l=n(),u=()=>{let{data:e}=r(),{mutateAsync:t}=a(),n=o.useMemo(()=>e?.accessibility&&s(e.accessibility).apOnboarding||{},[e?.accessibility]),i=o.useCallback(async n=>{if(!e)return;let r=s(e.accessibility),i=c(e.accessibility,{apOnboarding:{...r.apOnboarding,...n}});await t({...e,accessibility:i})},[e,t]);return{isOnboarded:!!n.welcomeStepsFinished,isExplainerClosed:!!n.exploreExplainerClosed,setOnboarded:e=>i({welcomeStepsFinished:e}),setExplainerClosed:e=>i({exploreExplainerClosed:e})}},d=()=>(0,l.jsx)(`div`,{className:`h-full pt-14`,children:(0,l.jsx)(i,{})});export{u as n,d as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-DAXXjFlN.js";import{n as t,t as n}from"./onboarding-CzIsre-d.js";var r=e({default:()=>n,useOnboardingStatus:()=>t});export{r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{_ as r}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{a as i,t as a}from"./router-provider-B0gZyiGJ.js";import{Tr as o,at as s,dn as c,er as l,t as u}from"./button-eNMKQWXr.js";import{L as d,R as f,dt as p,ei as m,ii as h}from"./index-6MkPdCtr.js";import{t as g}from"./share-modal-D2-Bz1_I.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`,className:`size-20 dark:hidden`,height:80,preload:`metadata`,role:`presentation`,tabIndex:-1,width:80,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,children:(0,b.jsx)(`source`,{src:y,type:`video/mp4`})}),(0,b.jsx)(`video`,{"aria-hidden":`true`,className:`hidden size-20 dark:block`,height:80,preload:`metadata`,role:`presentation`,tabIndex:-1,width:80,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,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:s}){let c=s.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-${s.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)(c,{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:s.title}),i&&(0,b.jsx)(`span`,{className:`mt-1 block pr-8 text-[15px] leading-[1.4] text-muted-foreground`,children:s.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)(l,{className:`size-5`}):(0,b.jsx)(o,{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)(s,{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)(l,{className:`size-5`})})]}),f.map((e,t)=>(0,b.jsx)(S,{complete:c.has(e.id),id:`ob-${e.id}`,isBeforeNext:f[t+1]?.id===n,isLast:t===f.length-1,isNext:n===e.id,step:e,onClick:()=>a(e.id)},e.id))]}),e&&(0,b.jsx)(u,{className:`mt-6 h-auto w-full max-w-[540px] p-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)(u,{className:`h-auto p-0 align-baseline text-[15px] text-green hover:text-green/90 max-[480px]:text-[14px]`,variant:`link`,asChild:!0,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)(u,{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),s=[{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)(c,{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)(u,{className:`h-auto p-0 align-baseline text-sm text-green hover:text-green/90`,variant:`link`,asChild:!0,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:s}),(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`)),o=d(),s=h(),c=p(),l=(0,_.useRef)(!1),[u,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(!1),x=String(m(s.data?.settings,`title`)||c.data?.site.title||`your publication`),S=String(m(s.data?.settings,`description`)||c.data?.site.description||``),E=String(m(s.data?.settings,`cover_image`)||``),D=c.data?.site.url||`/`,{allStepsCompleted:O,completeChecklist:k,completedSteps:A,dismissChecklist:j,shouldShowChecklist:M,isLoading:N,markStepCompleted:P,nextStep:F}=o;if(N||c.isLoading||u||l.current)return null;if(!M)return(0,b.jsx)(a,{to:n,replace:!0});let I=async t=>{l.current=!0,g(!0);try{await t(),e(n,{replace:!0})}catch(e){l.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=f.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./use-tinybird-query-CSnGXzZh.js";import{i,o as a}from"./post-helpers-C5OQMBoi.js";import{h as o}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{a as s}from"./router-provider-B0gZyiGJ.js";import{h as c,m as l}from"./dist-B3keLvjj.js";import{a as u}from"./heading-Dh5SFVjL.js";import{Wt as d,_n as f,gn as p,nn as m,q as h,t as g}from"./button-eNMKQWXr.js";import{r as _}from"./trend-badge-6ye93YAW.js";import{t as v}from"./skeleton-Ce9GgUpf.js";import{a as y,n as b,o as x,t as S}from"./card--VNbfgo3.js";import{c as C,l as ee,n as w,o as T,r as E,s as te,t as D,u as O}from"./data-list-CA2jYGPq.js";import{t as k}from"./empty-indicator-D9QdpuNX.js";import{G as ne,Un as A,Zn as j,ci as re,di as ie,li as ae,mi as oe,si as se}from"./index-6MkPdCtr.js";import{t as ce}from"./disabled-sources-indicator-DMRrxsiJ.js";import{a as le,c as ue,n as de,o as fe,r as pe,t as me}from"./chart-helpers-CfBKt0vT.js";import{n as M,r as N,t as P}from"./kpi-card-DBRMfGOW.js";import{t as F}from"./use-analytics-data-CWCMAESo.js";import{a as I,n as L,r as R,t as z}from"./kpi-card-DFafD1qq.js";import{n as he,r as ge,t as _e}from"./post-analytics-header-BYCsT0GP.js";import{t as ve}from"./gift-links-DLDS7ljO.js";import{r as ye,t as be}from"./gift-link-modal-CQVAye17.js";import{n as xe}from"./post-analytics-context-D0Mw-Pmv.js";import{t as Se}from"./use-post-referrers-Czg47m8s.js";import{a as B,o as V,r as H,t as U}from"./link-helpers-MVDdnFCY.js";import{n as Ce,r as W}from"./kpi-helpers-Cv8i8hns.js";var G=e(t(),1),K=n(),we=({post:e,isNewsletterStatsLoading:t,isWebShown:n})=>{let{postId:r}=o(),i=s(),a=(0,G.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:f}=B({searchParams:{filter:`post_id:'${r}'`}}),p=(0,G.useMemo)(()=>H(f),[f]),h=[{datatype:`Clicked`,value:a.clickedRate,fill:`url(#gradientTeal)`,color:`var(--chart-teal)`},{datatype:`Opened`,value:a.openedRate,fill:`url(#gradientBlue)`,color:`var(--chart-blue)`}],_={percentage:{label:`Opened`},Average:{label:`Clicked`},"This newsletter":{label:`Opened`}},v=e.email_only||!n;return(0,K.jsxs)(S,{className:`group/datalist overflow-hidden ${v&&`col-span-2`}`,children:[(0,K.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,K.jsx)(y,{children:(0,K.jsxs)(x,{className:`flex items-center gap-1.5 text-lg`,children:[(0,K.jsx)(d,{size:16,strokeWidth:1.5}),`Newsletter performance`]})}),(0,K.jsx)(g,{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,K.jsx)(b,{children:(0,K.jsx)(`div`,{className:`mx-auto flex min-h-[250px] items-center justify-center xl:size-full`,children:(0,K.jsx)(j,{})})}):(0,K.jsxs)(b,{className:`${v&&`grid grid-cols-2`}`,children:[(0,K.jsxs)(`div`,{className:`${v&&`border-r pr-6`}`,children:[(0,K.jsxs)(`div`,{className:`grid grid-cols-2 gap-6`,children:[(0,K.jsx)(P,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,children:(0,K.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,K.jsx)(M,{color:`var(--chart-blue)`,children:`Open rate`}),(0,K.jsx)(N,{value:c(a.openedRate)})]})}),(0,K.jsx)(P,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,children:(0,K.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,K.jsx)(M,{color:`var(--chart-teal)`,children:`Click rate`}),(0,K.jsx)(N,{value:c(a.clickedRate)})]})})]}),!v&&(0,K.jsx)(A,{}),(0,K.jsx)(`div`,{className:`mx-auto my-6 h-[240px]`,children:(0,K.jsx)(V,{className:`pointer-events-none aspect-square h-[240px]`,config:_,data:h,tooltip:!1})})]}),(0,K.jsxs)(`div`,{className:`${v&&`pl-6`}`,children:[!v&&(0,K.jsx)(A,{}),(0,K.jsxs)(`div`,{className:v?``:`pt-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 ${v?`pb-3`:`py-3`}`,children:[(0,K.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:`Top clicked links in this email`}),(0,K.jsx)(u,{children:`Members`})]}),p.length>0?(0,K.jsx)(D,{className:``,children:(0,K.jsx)(E,{children:p.slice(0,v?10:5).map(e=>{let t=a.clicked>0?e.count/a.clicked:0;return(0,K.jsxs)(O,{children:[(0,K.jsx)(w,{style:{width:`${t?Math.round(t*100):0}%`}}),(0,K.jsx)(T,{children:(0,K.jsxs)(`div`,{className:`flex items-center space-x-2 overflow-hidden`,children:[(0,K.jsx)(m,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),(0,K.jsx)(`a`,{className:`block truncate font-medium hover:underline`,href:e.link.to,rel:`noreferrer`,target:`_blank`,title:e.link.to,children:U(e.link.to,!0)})]})}),(0,K.jsxs)(te,{children:[(0,K.jsx)(C,{children:l(e.count||0)}),(0,K.jsx)(ee,{children:c(t)})]})]},e.link.link_id)})})}):(0,K.jsx)(`div`,{className:`py-20 text-center text-sm text-gray-700`,children:`You have no links in your post.`})]})]})]})]})},Te=({chartData:e,range:t,isLoading:n,visitors:r,sourcesData:i,isNewsletterShown:a=!0})=>{let{postId:c}=o(),d=s(),{site:f}=F(),m=f.url,h=f.icon,v=(0,G.useMemo)(()=>i?i.reduce((e,t)=>e+Number(t.visits||0),0):0,[i]);return(0,K.jsx)(K.Fragment,{children:(0,K.jsxs)(S,{className:`group/datalist overflow-hidden ${!a&&`col-span-2`}`,"data-testid":`web-performance`,children:[(0,K.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,K.jsx)(y,{children:(0,K.jsxs)(x,{className:`flex items-center gap-1.5 text-lg`,children:[(0,K.jsx)(p,{size:16,strokeWidth:1.5}),`Web performance`]})}),(0,K.jsx)(g,{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/${c}/web`)},children:`View more`})]}),(0,K.jsxs)(b,{children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(P,{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,K.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,K.jsx)(M,{color:`var(--chart-blue)`,children:`Unique visitors`}),(0,K.jsx)(N,{value:l(r)})]})}),(0,K.jsx)(A,{}),(0,K.jsx)(`div`,{className:`max-h-[288px] py-6 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500`,children:n?(0,K.jsx)(`div`,{className:`flex h-[16vw] min-h-[240px] items-center justify-center`,children:(0,K.jsx)(j,{})}):(0,K.jsx)(_,{className:`aspect-auto h-[240px] w-full`,color:`var(--chart-blue)`,data:e||[],id:`visitors`,range:t,syncId:`overview-charts`})})]}),a&&(0,K.jsxs)(`div`,{className:a?`border-t pt-3`:`-mt-3`,children:[(0,K.jsx)(`div`,{children:(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-3`,children:[(0,K.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:`How readers found this post`}),(0,K.jsx)(u,{children:`Visitors`})]})}),i&&i.length>0?(0,K.jsx)(W,{data:i,range:t,siteIcon:h,siteUrl:m,tableOnly:!0,topSourcesLimit:5,totalVisitors:v}):(0,K.jsx)(k,{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,K.jsx)(p,{strokeWidth:1.5})})]})]})]})})},q=()=>{let e=s(),{statsConfig:t,isLoading:n}=F(),{post:o,isPostLoading:c,postId:u}=xe(),{totals:d,isLoading:p,currencySymbol:m}=Se(u),_=se(),C=re(),ee=ae(),w=ie(),T=oe(),E=he(o),{token:te,isLoading:D,error:O}=ve(u,{enabled:E}),{usage:k,loading:A,error:M}=ye({postUuid:o?.uuid,token:te,tokenLoading:D,tokenError:O,enabled:E}),[N,P]=(0,G.useState)(!1),B=(0,G.useMemo)(()=>o?.published_at?fe(o.published_at):ne.allTime.value,[o?.published_at]),{startDate:V,endDate:H,timezone:U}=le(B),W=(0,G.useMemo)(()=>{let e={site_uuid:t?.id||``,date_from:de(V),date_to:de(H),timezone:U,post_uuid:``};return!c&&o?.uuid?{...e,post_uuid:o.uuid}:e},[c,o,t?.id,V,H,U]),{data:q,loading:J}=r({endpoint:`api_kpis`,statsConfig:t,params:W}),Ee=(0,G.useMemo)(()=>q?.length?q.reduce((e,t)=>{let n=Number(t.visits);return e+(isNaN(n)?0:n)},0):0,[q]),Y=Ce.visits,De=pe(B,q||[],{fieldName:Y.dataKey}),Oe=ue(q||[],B,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:ke,loading:Ae}=r({endpoint:`api_top_sources`,statsConfig:t,params:W}),je=n||p||c||J,Me=c||n||J,X=a(o)&&C&&_,Z=!o?.email_only&&T,Q=ee,$=!!(E&&o&&T);return(0,G.useEffect)(()=>{!c&&o&&i(o)&&!T&&Q&&e(`/posts/analytics/${u}/growth`,{replace:!0})},[c,o,T,e,u,Q]),c?(0,K.jsx)(j,{}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(_e,{currentTab:`Overview`}),(0,K.jsx)(ge,{children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-6 lg:grid lg:grid-cols-2`,children:[Z&&(0,K.jsx)(Te,{chartData:Oe,isLoading:Me||je||Ae,isNewsletterShown:X,range:De,sourcesData:ke,visitors:Ee}),X&&(0,K.jsx)(we,{isNewsletterStatsLoading:c,isWebShown:Z,post:o}),(Q||$)&&(0,K.jsxs)(`div`,{className:`col-span-2 flex flex-col gap-6 lg:grid lg:grid-cols-3`,children:[Q&&(0,K.jsxs)(S,{className:`group overflow-hidden p-0 ${$?`lg:col-span-2`:`lg:col-span-3`}`,"data-testid":`growth`,children:[(0,K.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,K.jsx)(y,{children:(0,K.jsxs)(x,{className:`flex items-center gap-1.5 text-lg`,children:[(0,K.jsx)(h,{size:16,strokeWidth:1.5}),`Growth`]})}),(0,K.jsx)(g,{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,K.jsx)(b,{className:`flex flex-col gap-6 px-0 md:grid md:grid-cols-3 md:items-stretch md:gap-0`,children:je?Array.from({length:3},(e,t)=>(0,K.jsxs)(`div`,{className:`h-[98px] gap-1 border-r px-6 py-5 last:border-r-0`,children:[(0,K.jsx)(v,{className:`w-2/3`}),(0,K.jsx)(v,{className:`h-7 w-12`})]},t)):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(z,{className:`grow gap-1 py-0`,children:[(0,K.jsx)(R,{children:`Free members`}),(0,K.jsx)(L,{children:(0,K.jsx)(I,{className:`text-[2.2rem]`,children:l(d?.free_members||0)})})]}),w&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(z,{className:`grow gap-1 py-0`,children:[(0,K.jsx)(R,{children:`Paid members`}),(0,K.jsx)(L,{children:(0,K.jsx)(I,{className:`text-[2.2rem]`,children:l(d?.paid_members||0)})})]}),(0,K.jsxs)(z,{className:`grow gap-1 py-0`,children:[(0,K.jsx)(R,{children:`MRR impact`}),(0,K.jsx)(L,{children:(0,K.jsxs)(I,{className:`text-[2.2rem]`,children:[m,l(me(d?.mrr||0))]})})]})]})]})})]}),$&&(0,K.jsxs)(S,{className:`group/datalist overflow-hidden ${Q?`lg:col-span-1`:`lg:col-span-3`}`,"data-testid":`gift-link-card`,children:[(0,K.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,K.jsx)(y,{children:(0,K.jsxs)(x,{className:`flex items-center gap-1.5 text-lg`,children:[(0,K.jsx)(f,{size:16,strokeWidth:1.5}),`Gift link`]})}),(0,K.jsx)(g,{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:()=>P(!0),children:`Share`})]}),!A&&!M&&(0,K.jsxs)(b,{className:`flex flex-col gap-1`,children:[(0,K.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Visitors`}),(0,K.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold`,"data-testid":`gift-link-card-visitors`,children:l(k?.visits??0)})]})]})]}),!Z&&!X&&!Q&&!$&&(0,K.jsx)(ce,{className:`col-span-2 py-20`})]})}),$&&(0,K.jsx)(be,{open:N,postId:u,source:`gift-link-card`,onOpenChange:P},u)]})};export{q as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./use-tinybird-query-CSnGXzZh.js";import{i}from"./pagemenu-B5KKCpbA.js";import{t as a}from"./posts-DuGazgTb.js";import{o}from"./config-DOMQDZGZ.js";import{t as s}from"./analytics-53FOa2wq.js";import{a as c,t as l}from"./post-helpers-C5OQMBoi.js";import{a as u}from"./router-provider-B0gZyiGJ.js";import{h as d,l as f,m as p,s as m,u as h}from"./dist-B3keLvjj.js";import{r as g}from"./heading-Dh5SFVjL.js";import{En as _,Fn as v,Jt as y,Ot as b,X as x,et as S,g as C,gn as w,ir as ee,kt as T,or as E,r as D,t as O,tr as te,u as k,xt as ne}from"./button-eNMKQWXr.js";import{r as A}from"./trend-badge-6ye93YAW.js";import{n as j,t as M}from"./skeleton-Ce9GgUpf.js";import{a as N,n as P,o as F,r as I,s as re,t as L}from"./card--VNbfgo3.js";import{t as R}from"./empty-indicator-D9QdpuNX.js";import{t as ie}from"./use-host-limits-DZtR08oa.js";import{C as ae,G as z,J as B,Zn as oe,ci as se,di as V,li as ce,mi as H,si as U,z as le}from"./index-6MkPdCtr.js";import{i as ue,n as de,r as fe,t as pe}from"./stats-view-BGGmkmgv.js";import{c as me,m as he}from"./stats-Rjmk5owg.js";import{a as ge,c as W,i as G,n as K,r as _e,t as q}from"./chart-helpers-CfBKt0vT.js";import{t as ve}from"./use-growth-stats-DCVG3s9w.js";import{n as ye,r as be,t as xe}from"./kpi-card-DBRMfGOW.js";import{t as J}from"./use-analytics-data-CWCMAESo.js";import{n as Se}from"./audience-CtbA54Sn.js";import{n as Y}from"./url-helpers-DcQbx-Xg.js";import{t as Ce}from"./get-site-timezone-HgL0jI_F.js";import{t as we}from"./post-share-modal-C-PaYZ_e.js";import{t as Te}from"./feature-image-placeholder-D1iF_8bc.js";var X=e(t(),1),Ee=()=>{let{data:{posts:[e]}={posts:[]},isLoading:t}=a({searchParams:{filter:`status:[published,sent]`,order:`published_at DESC`,limit:`1`,include:`authors,email,count.clicks`}}),n=e,{data:r,isLoading:i}=me(n?.id||``,{enabled:!!n?.id});return{data:(0,X.useMemo)(()=>{if(!n)return null;let e=r?.stats?.[0]||{id:n.id,recipient_count:null,opened_count:null,open_rate:null,member_delta:0,free_members:0,paid_members:0,visitors:0};return{id:n.id,uuid:n.uuid,title:n.title||``,slug:n.slug||``,feature_image:n.feature_image||null,published_at:n.published_at||``,url:n.url||``,excerpt:n.excerpt||``,email_only:n.email_only||!1,status:n.status,email:n.email,count:n.count,authors:n.authors||[],recipient_count:e.recipient_count,opened_count:e.opened_count,open_rate:e.open_rate,member_delta:e.member_delta,free_members:e.free_members,paid_members:e.paid_members,visitors:e.visitors,click_rate:null}},[n,r]),isLoading:t||!!n?.id&&i}},Z=n(),De=e=>e.email_only?`Sent`:e.email?`Published and sent`:`Published`,Oe=({latestPostStats:e,isLoading:t})=>{let n=u(),[r,i]=(0,X.useState)(!1),{site:a,settings:o}=J(),c=U(),m=se(),g=H(),v=ce()??!1;(0,X.useEffect)(()=>{r&&s(`Share Modal Opened`,{giftLinkShown:!1,source:`stats-overview`})},[r]);let b=a.title||String(o.find(e=>e.key===`title`)?.value||`Ghost Site`),S=Ce(o),E=e?l(e,{membersTrackSources:v}):null,D=`group mr-2 flex flex-col gap-1.5 hover:cursor-pointer`,te=!!e?.email,k=Y({postId:e?.id,hasEmailData:te,analytics:{webAnalytics:g,membersTrackSources:v}}),A=k.startsWith(`/editor/`),j=ae(k);return(0,Z.jsxs)(L,{className:`group/card`,"data-testid":`latest-post`,children:[(0,Z.jsxs)(N,{children:[(0,Z.jsx)(F,{className:`flex items-baseline justify-between leading-snug font-medium text-muted-foreground`,children:`Latest post performance`}),(0,Z.jsx)(I,{className:`hidden`,children:`How your last post did`})]}),(0,Z.jsxs)(P,{className:`flex flex-col gap-6 px-0 lg:flex-row xl:grid xl:grid-cols-3`,children:[t&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex w-full items-center gap-6 px-6 xl:col-span-2`,children:[(0,Z.jsx)(`div`,{className:`w-full max-w-[232px] grow`,children:(0,Z.jsx)(M,{className:`aspect-[16/10] rounded-md`})}),(0,Z.jsxs)(`div`,{className:`w-full grow`,children:[(0,Z.jsx)(M,{className:`w-full max-w-[420px]`}),(0,Z.jsx)(M,{className:`w-1/2`})]})]}),(0,Z.jsx)(`div`,{className:`flex flex-col items-stretch gap-2 px-6`,children:(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-5`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(M,{className:`w-3/4`}),(0,Z.jsx)(M,{className:`h-10 w-1/3`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(M,{className:`w-3/4`}),(0,Z.jsx)(M,{className:`h-10 w-1/3`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(M,{className:`w-3/4`}),(0,Z.jsx)(M,{className:`h-10 w-1/3`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(M,{className:`w-3/4`}),(0,Z.jsx)(M,{className:`h-10 w-1/3`})]})]})})]}),!t&&e&&E?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6 px-6 transition-all md:flex-row md:items-start xl:col-span-2`,children:[e.feature_image&&(0,Z.jsx)(`div`,{className:`aspect-[16/10] w-full min-w-[100px] rounded-sm bg-cover bg-center sm:max-w-[170px] lg:max-w-[170px] xl:max-w-[232px]`,style:{backgroundImage:`url(${e.feature_image})`}}),(0,Z.jsxs)(`div`,{className:`flex grow flex-col items-start justify-center self-stretch`,children:[(0,Z.jsx)(`div`,{className:`text-md leading-tighter font-semibold tracking-tight hover:cursor-pointer hover:opacity-75`,onClick:()=>{!t&&e&&n(k,{crossApp:j})},children:e.title}),(0,Z.jsxs)(`div`,{className:`mt-1 text-muted-foreground`,children:[e.authors&&e.authors.length>0&&(0,Z.jsxs)(`div`,{children:[`By `,e.authors.map(e=>e.name).join(`, `),` –`,` `,h(e.published_at,S)]}),(0,Z.jsx)(`div`,{className:`mt-0.5`,children:De(e)})]}),(0,Z.jsxs)(`div`,{className:`mt-6 flex items-center gap-2`,children:[!e.email_only&&(0,Z.jsx)(we,{author:e.authors?.map(e=>e.name).join(`, `)||``,description:``,faviconURL:a.icon||``,featureImageURL:e.feature_image||``,open:r,postExcerpt:e.excerpt||``,postTitle:e.title,postURL:e.url||``,siteTitle:b,onClose:()=>i(!1),onOpenChange:i,children:(0,Z.jsxs)(O,{onClick:()=>i(!0),children:[(0,Z.jsx)(x,{}),` Share post`]})}),(0,Z.jsx)(O,{className:e.email_only?`w-full`:``,variant:`outline`,onClick:()=>{n(k,{crossApp:j})},children:A?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ne,{}),(0,Z.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Edit post`})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ee,{}),(0,Z.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:e.email_only?`Post analytics`:`Analytics`})]})})]})]})]}),(0,Z.jsx)(`div`,{className:`-ml-4 flex w-full flex-col items-stretch gap-2 pr-6 xl:h-full xl:max-w-none`,children:(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-6 pl-10 lg:border-l xl:h-full`,children:[E.showWebMetrics&&g&&(0,Z.jsxs)(`div`,{className:D,"data-testid":`latest-post-visitors`,onClick:()=>{n(`/posts/analytics/${e.id}/web`)},children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Z.jsx)(w,{size:16,strokeWidth:1.25}),(0,Z.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Visitors`})]}),(0,Z.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:p(e.visitors)})]}),E.showMemberGrowth&&(0,Z.jsxs)(`div`,{className:f(D,E.showEmailMetrics&&(!E.showWebMetrics||!g)&&`col-[1/2] row-[2/3]`),"data-testid":`latest-post-members`,onClick:()=>{n(`/posts/analytics/${e.id}/growth`)},children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Z.jsx)(C,{size:16,strokeWidth:1.25}),(0,Z.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Members`})]}),(0,Z.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.member_delta?(0,Z.jsxs)(Z.Fragment,{children:[`+`,p(e.member_delta)]}):0})]}),E.showEmailMetrics&&e.email&&(0,Z.jsxs)(Z.Fragment,{children:[m&&(0,Z.jsxs)(`div`,{className:D,onClick:()=>{n(`/posts/analytics/${e.id}/newsletter`)},children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Z.jsx)(y,{size:16,strokeWidth:1.25}),(0,Z.jsx)(`span`,{className:`hidden whitespace-nowrap md:visible! md:block!`,children:`Opens`})]}),(0,Z.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.email.email_count?d((e.email.opened_count||0)/e.email.email_count):`0%`})]}),c&&(0,Z.jsxs)(`div`,{className:D,onClick:()=>{n(`/posts/analytics/${e.id}/newsletter`)},children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Z.jsx)(T,{size:16,strokeWidth:1.25}),(0,Z.jsx)(`span`,{className:`hidden whitespace-nowrap md:visible! md:block!`,children:`Clicks`})]}),(0,Z.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.email.email_count&&e.count?.clicks?d((e.count.clicks||0)/e.email.email_count):`0%`})]})]})]})})]}):!t&&(0,Z.jsx)(R,{actions:(0,Z.jsx)(O,{variant:`secondary`,onClick:()=>{n(`/editor/post`,{crossApp:!0})},children:`New post`}),className:`w-full pb-10 xl:col-span-3`,description:`Once it's live, you can track performance here`,title:`Publish your first post`,children:(0,Z.jsx)(_,{strokeWidth:1.5})})]})]})},Q=({title:e,iconName:t,description:n,color:r,diffDirection:i,diffValue:a,formattedValue:o,trendingFromValue:s,children:c,onClick:l})=>{let{range:u}=B(),d=t&&D[t],f=X.useMemo(()=>{if(!i||i===`empty`||u===z.allTime.value||!a)return``;let e=i===`up`?`up`:i===`down`?`down`:`at`,t=G(u).replace(`in the `,``).replace(/^\(|\)$/g,``);return i===`same`?(0,Z.jsxs)(`span`,{children:[`You're trending at the same level as`,` `,(0,Z.jsx)(`span`,{className:`font-semibold`,children:o}),` compared to the`,` `,(0,Z.jsx)(`span`,{className:`font-semibold`,children:t})]}):(0,Z.jsxs)(`span`,{children:[`You're trending`,` `,(0,Z.jsxs)(`span`,{className:`font-semibold`,children:[e,` `,a]}),` `,`from `,(0,Z.jsx)(`span`,{className:`font-semibold`,children:s}),` compared to the`,` `,t]})},[i,a,s,o,u]);return(0,Z.jsxs)(L,{className:`group`,"data-testid":e,children:[(0,Z.jsxs)(N,{className:`hidden`,children:[(0,Z.jsx)(F,{children:e}),(0,Z.jsx)(I,{children:n})]}),(0,Z.jsxs)(xe,{className:`relative flex grow flex-row items-start justify-between gap-5 border-none pb-2 xl:pb-4`,children:[(0,Z.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,Z.jsxs)(ye,{className:l&&`transition-all group-hover:text-foreground`,children:[r&&(0,Z.jsx)(`span`,{className:`inline-block size-2 rounded-full opacity-50`,style:{backgroundColor:r}}),d&&(0,Z.jsx)(d,{size:16,strokeWidth:1.5}),e]}),(0,Z.jsx)(be,{diffDirection:u===z.allTime.value?`hidden`:i,diffTooltip:f,diffValue:a,value:o})]}),l&&(0,Z.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:l,children:`View more`})]}),(0,Z.jsx)(P,{children:c})]})},ke=({kpiValues:e,visitorsChartData:t,visitorsChartRange:n,visitorsYRange:r,growthTotals:i,membersChartData:a,mrrChartData:s,growthChartRange:c,currencySymbol:l,isLoading:d})=>{let f=u(),m=H(),h=V(),g=ie(),{config:_}=J(),v=g?.limitAnalytics?.disabled===!0,y=`-mb-3 h-[10vw] max-h-[200px] min-h-[100px] hover:cursor-pointer!`;if(d)return(0,Z.jsx)(re,{className:`flex h-[calc(10vw+116px)] max-h-[416px] min-h-20 items-center justify-center hover:cursor-pointer!`,children:(0,Z.jsx)(oe,{})});let b=m,x=v&&!b,S=h,C=[b,x,!0,S].filter(Boolean).length,w=`lg:grid-cols-3`;return C===2?w=`lg:grid-cols-2`:C===1&&(w=`lg:grid-cols-1`),(0,Z.jsxs)(`div`,{className:`flex flex-col lg:grid ${w} gap-6`,children:[b&&!x&&(0,Z.jsx)(Q,{description:`Number of individual people who visited your website`,diffDirection:`empty`,formattedValue:e.visits,iconName:`Globe`,linkto:`/analytics/web/`,title:`Unique visitors`,onClick:()=>{f(`/analytics/web/`)},children:(0,Z.jsx)(A,{className:y,color:`var(--chart-blue)`,data:t,id:`visitors`,range:n,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`,yAxisRange:r})}),x&&(0,Z.jsxs)(L,{children:[(0,Z.jsxs)(N,{className:`hidden`,children:[(0,Z.jsx)(F,{children:`Unlock web analytics`}),(0,Z.jsx)(I,{children:`Get the full picture of what's working with detailed, cookie-free traffic analytics.`})]}),(0,Z.jsx)(P,{className:`flex h-full items-center justify-center p-6`,children:(0,Z.jsx)(R,{actions:(0,Z.jsx)(O,{variant:`outline`,onClick:()=>f(o(_),{crossApp:!0}),children:`Upgrade now`}),className:`py-10`,description:`Get the full picture of what's working with detailed, cookie-free traffic analytics.`,title:`Unlock web analytics`,children:(0,Z.jsx)(te,{})})})]}),(0,Z.jsx)(Q,{description:`How number of members of your publication changed over time`,diffDirection:i.directions.total,diffValue:i.percentChanges.total,formattedValue:p(i.totalMembers),iconName:`User`,linkto:`/analytics/growth/`,title:`Members`,trendingFromValue:`${p(a[0]?.value??0)}`,onClick:()=>{f(`/analytics/growth/?tab=total-members`)},children:(0,Z.jsx)(A,{className:y,color:`var(--chart-darkblue)`,data:a,id:`members`,range:c,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`})}),S&&(0,Z.jsx)(Q,{description:`Monthly recurring revenue changes over time`,diffDirection:i.directions.mrr,diffValue:i.percentChanges.mrr,formattedValue:`${l}${p(q(i.mrr))}`,iconName:`Coins`,linkto:`/analytics/growth/`,title:`MRR`,trendingFromValue:`${l}${p(s[0]?.value??0)}`,onClick:()=>{f(`/analytics/growth/?tab=mrr`)},children:(0,Z.jsx)(A,{className:y,color:`var(--chart-teal)`,data:s,id:`mrr`,range:c,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`})})]})},$=({className:e,metrics:t,title:n})=>(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsxs)(`div`,{className:f(`pointer-events-none absolute bottom-[calc(100%+2px)] left-1/2 z-50 min-w-[160px] -translate-x-1/2 rounded-md bg-background p-3 text-sm opacity-0 shadow-md transition-all group-hover/tooltip:bottom-[calc(100%+12px)] group-hover/tooltip:opacity-100`,e),children:[(0,Z.jsx)(`div`,{className:`mb-1.5 border-b pr-10 pb-1.5 font-medium whitespace-nowrap text-muted-foreground`,children:n}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:t?.map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 whitespace-nowrap`,children:[e.icon,e.label]}),(0,Z.jsx)(`span`,{className:`font-mono`,children:e.metric})]},e.label))})]})}),Ae=({topPostsData:e,isLoading:t})=>{let n=u(),{range:r}=B(),{settings:i}=J(),a=V(),o=Ce(i),s=H(),l=ce()??!1,d=U()??!1,f=se()??!1,g=`flex items-center justify-end gap-1 rounded-md px-2 py-1 font-mono text-gray-800 hover:bg-muted-foreground/10 group-hover:text-foreground`;return(0,Z.jsxs)(L,{className:`group/card w-full lg:col-span-2`,"data-testid":`top-posts-card`,children:[(0,Z.jsxs)(N,{children:[(0,Z.jsxs)(F,{className:`flex items-baseline justify-between leading-snug font-medium text-muted-foreground`,children:[`Top posts `,G(r)]}),(0,Z.jsx)(I,{className:`hidden`,children:`Most viewed posts in this period`})]}),(0,Z.jsx)(P,{children:t?(0,Z.jsx)(j,{className:`mt-6`}):(0,Z.jsxs)(Z.Fragment,{children:[e?.stats?.map(e=>(0,Z.jsxs)(`div`,{className:`group relative flex w-full items-start justify-between gap-5 border-t border-border/50 py-4 before:absolute before:-inset-x-4 before:inset-y-0 before:z-0 before:hidden before:rounded-md before:bg-table-row-hover before:content-[""] first:border-border! hover:cursor-pointer hover:border-transparent hover:before:block md:items-center [&+div]:hover:border-transparent`,children:[(0,Z.jsxs)(`div`,{className:`z-10 flex min-w-[160px] grow items-start gap-4 md:items-center lg:min-w-[320px]`,onClick:()=>{let t=Y({postId:e.post_id,hasEmailData:e.sent_count!==null,analytics:{webAnalytics:s,membersTrackSources:l}});n(t,{crossApp:t.startsWith(`/editor/`)})},children:[e.feature_image?(0,Z.jsx)(`div`,{className:`hidden aspect-[16/10] w-[80px] shrink-0 rounded-sm bg-cover bg-center sm:visible! sm:block! lg:w-[100px]`,style:{backgroundImage:`url(${e.feature_image})`}}):(0,Z.jsx)(Te,{className:`hidden aspect-[16/10] w-[80px] shrink-0 group-hover:bg-muted-foreground/10 sm:visible! sm:flex! lg:w-[100px]`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Z.jsx)(`span`,{className:`line-clamp-2 text-md font-semibold`,children:e.title}),(0,Z.jsxs)(`span`,{className:`text text-muted-foreground`,children:[`By `,e.authors,` –`,` `,h(e.published_at,o)]}),(0,Z.jsx)(`span`,{className:`text text-muted-foreground`,children:c(e)})]})]}),(0,Z.jsxs)(`div`,{className:`z-10 flex flex-col items-end justify-center gap-0.5 text-sm md:flex-row md:items-center md:justify-end md:gap-3`,children:[s&&(0,Z.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,"data-testid":`statistics-visitors`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/web`)},children:[(0,Z.jsx)($,{metrics:[{icon:(0,Z.jsx)(w,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Unique visitors`,metric:p(e.views)}],title:`Web traffic`}),(0,Z.jsxs)(`div`,{className:g,children:[(0,Z.jsx)(w,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),m(e.views)]})]}),e.sent_count!==null&&(0,Z.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/newsletter`)},children:[(0,Z.jsx)($,{className:`${l?``:`right-0 left-auto translate-x-0`}`,metrics:[{icon:(0,Z.jsx)(S,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Sent`,metric:p(e.sent_count||0)},...f?[{icon:(0,Z.jsx)(y,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Opens`,metric:p(e.opened_count||0)}]:[],...d?[{icon:(0,Z.jsx)(b,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Clicks`,metric:p(e.clicked_count||0)}]:[]],title:`Newsletter performance`}),(0,Z.jsx)(`div`,{className:g,children:f?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(y,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.open_rate?`${Math.round(e.open_rate)}%`:`0%`]}):d?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(b,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.click_rate?`${Math.round(e.click_rate)}%`:`0%`]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(S,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),m(e.sent_count||0)]})})]}),l&&(0,Z.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,"data-testid":`statistics-members`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/growth`)},children:[(0,Z.jsx)($,{className:`right-0 left-auto translate-x-0`,metrics:[{icon:(0,Z.jsx)(k,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Free`,metric:e.free_members>0?`+${p(e.free_members)}`:`0`},...a?[{icon:(0,Z.jsx)(v,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Paid`,metric:e.paid_members>0?`+${p(e.paid_members)}`:`0`}]:[]],title:`New members`}),(0,Z.jsxs)(`div`,{className:g,children:[(0,Z.jsx)(C,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.members>0?`+${p(e.members)}`:`0`]})]})]})]},e.post_id)),(!e?.stats||e.stats.length===0)&&(0,Z.jsx)(R,{className:`w-full pb-10`,title:`No posts ${G(r)}`,children:(0,Z.jsx)(_,{strokeWidth:1.5})})]})})]})},je=({className:e,title:t,description:n,url:r,children:i})=>(0,Z.jsx)(`a`,{className:f(`group/card block rounded-xl border bg-card p-6 transition-all hover:bg-table-row-hover hover:shadow-xs`,e),href:r,rel:`noreferrer`,target:`_blank`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-6`,children:[i,(0,Z.jsxs)(`div`,{className:`flex flex-col gap-0.5 leading-tight`,children:[(0,Z.jsx)(`span`,{className:`text-base font-semibold`,children:t}),(0,Z.jsx)(`span`,{className:`text-sm font-normal text-gray-700`,children:n})]})]})}),Me=()=>{let e=V(),{range:t}=B(),{statsConfig:n,isLoading:a}=J(),{startDate:o,endDate:s,timezone:c}=ge(t),{isLoading:l,chartData:u,totals:d,currencySymbol:f}=ve(t),{data:m,isLoading:h}=Ee(),{data:_,isLoading:v}=he({searchParams:{date_from:K(o),date_to:K(s),limit:`5`,timezone:c}}),{data:y,loading:b}=r({endpoint:`api_kpis`,statsConfig:n,params:{site_uuid:n?.id||``,date_from:K(o),date_to:K(s),timezone:c,member_status:Se(le)}}),x=(0,X.useMemo)(()=>W(y||[],t,`visits`,`sum`)?.map(e=>{let t=Number(e.visits),n=isNaN(t)?0:t;return{date:String(e.date),value:n,formattedValue:p(n),label:`Visitors`}}),[y,t]),S=(0,X.useMemo)(()=>_e(t,y||[],{fieldName:`visits`}),[y,t]),C=(0,X.useMemo)(()=>{let e=[0,1];if(!x||x.length===0)return e;let t=x.map(e=>e.value).filter(e=>e>=0);return t.length===0?e:[0,Math.max(...t)||e[1]]},[x]),ee=(0,X.useMemo)(()=>_e(t,u||[]),[u,t]),T=(0,X.useMemo)(()=>{if(!u||u.length===0)return[];let e=[];return e=W(u,t,`value`,`exact`),e.map(e=>({date:e.date,value:e.free+e.paid,formattedValue:p(e.free+e.paid),label:`Members`}))},[u,t]),D=(0,X.useMemo)(()=>{if(!e||!u||u.length===0)return[];let n=[];return n=W(u,t,`mrr`,`exact`),n.map(e=>({date:e.date,value:q(e.mrr),formattedValue:`${f}${p(q(e.mrr))}`,label:`MRR`}))},[u,t,f,e]),O=(0,X.useMemo)(()=>y?.length?{visits:p(y.reduce((e,t)=>{let n=Number(t.visits);return e+(isNaN(n)?0:n)},0))}:{visits:`0`},[y]);return(0,Z.jsxs)(de,{children:[(0,Z.jsx)(fe,{children:(0,Z.jsx)(i,{children:(0,Z.jsx)(ue,{excludeRanges:[`today`]})})}),(0,Z.jsxs)(pe,{isLoading:a,loadingComponent:(0,Z.jsx)(Z.Fragment,{}),children:[(0,Z.jsx)(ke,{currencySymbol:f,growthChartRange:ee,growthTotals:d,isLoading:b||l,kpiValues:O,membersChartData:T,mrrChartData:D,visitorsChartData:x,visitorsChartRange:S,visitorsYRange:C}),(0,Z.jsx)(Oe,{isLoading:h,latestPostStats:m}),(0,Z.jsx)(Ae,{isLoading:v,topPostsData:_}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-1 gap-6 lg:grid-cols-2`,children:[(0,Z.jsx)(g,{className:`mt-4 -mb-4 lg:col-span-2`,children:`Grow your audience`}),(0,Z.jsx)(je,{description:`Find out how to review the performance of your content and get the most out of post analytics in Ghost.`,title:`Understanding analytics in Ghost`,url:`https://ghost.org/help/native-analytics`,children:(0,Z.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tr from-[#14B8FF]/20 to-[#00BBA7]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,Z.jsx)(E,{className:`text-[#00BBA7]`,size:20,strokeWidth:1.5})})}),(0,Z.jsx)(je,{description:`Use these content distribution tactics to get more people to discover your work and increase engagement.`,title:`How to get your content seen online`,url:`https://ghost.org/resources/content-distribution/`,children:(0,Z.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tl from-[#FDC700]/20 to-[#FF2056]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,Z.jsx)(w,{className:`text-[#FE9A00]`,size:20,strokeWidth:1.5})})})]})]})]})};export{Me as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{l as r}from"./dist-B3keLvjj.js";import{t as i}from"./inline-BWSs_VzR.js";import{t as a}from"./stack-B2eszIiq.js";import{t as o}from"./text-BQDSDsKs.js";import{t as s}from"./heading-Dh5SFVjL.js";import{Cr as c,jr as l,xr as u}from"./index-6MkPdCtr.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)(u,{children:e})}function x({children:e,...t}){return(0,f.jsx)(l,{asChild:!0,...t,children:e})}function S({children:e,...t}){return(0,f.jsx)(c,{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 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./use-tinybird-query-CSnGXzZh.js";import{l as i}from"./dist-B3keLvjj.js";import{Mn as a,t as o}from"./button-eNMKQWXr.js";import{Cr as s,Tr as c,jr as l,xr as u}from"./index-6MkPdCtr.js";var d=e(t(),1),f=60*1e3,p=(e={})=>{let{postUuid:t,statsConfig:n,enabled:i=!0}=e,[a,o]=(0,d.useState)(null),{data:s,loading:c,error:l}=r({statsConfig:n,endpoint:`api_active_visitors`,params:{site_uuid:n?.id||``,...t&&{post_uuid:t}},enabled:i,refetchInterval:f,refetchIntervalInBackground:!0}),u=s?.[0]?.active_visitors;return(0,d.useEffect)(()=>{i&&u!==void 0&&typeof u==`number`&&o(u)},[i,u]),{activeVisitors:i&&a||0,isLoading:i&&c&&a===null,error:i?l:null}},m=n(),h=d.forwardRef(({children:e,className:t,...n},r)=>(0,m.jsx)(`div`,{ref:r,className:i(`mt-3 flex items-center gap-2 [grid-area:actions] lg:mt-0`,t),"data-navbar":`navbar-actions`,...n,children:e}));h.displayName=`NavbarActions`;var g=d.forwardRef(({children:e,className:t,...n},r)=>(0,m.jsx)(`div`,{ref:r,className:i(`[grid-area:navigation]`,t),"data-navbar":`navbar-navigation`,...n,children:e}));g.displayName=`NavbarNavigation`;var _=d.forwardRef(({children:e,className:t,...n},r)=>(0,m.jsx)(`div`,{ref:r,className:i(`grid grid-cols-[1fr] justify-between gap-x-5 gap-y-2 border-b [grid-template-areas:'navigation''actions''subactions'] lg:grid-cols-[1fr_auto] lg:[grid-template-areas:'navigation_actions''subactions_subactions']`,t),"data-navbar":`navbar`,...n,children:e}));_.displayName=`Navbar`;var v=d.createContext(null),y=d.forwardRef(({children:e,responsive:t=!1,value:n,defaultValue:r,onValueChange:f,className:p,...h},g)=>{let[_,y]=d.useState(d.Children.count(e)),[b,x]=d.useState(0),S=d.useRef(null),C=d.useRef(null);d.useLayoutEffect(()=>{if(!t||!S.current||!C.current){y(d.Children.count(e));return}requestAnimationFrame(()=>{if(!S.current||!C.current)return;let e=S.current,t=C.current,n=e.clientWidth,r=Array.from(t.children),i=0;for(let e=0;e<r.length;e++){let t=r[e].getBoundingClientRect().width;i+=(e>0?6:0)+t}if(i<=n-8){y(r.length);return}let a=0,o=0;for(let e=0;e<r.length;e++){let t=r[e].getBoundingClientRect().width,i=a+(e>0?6:0)+t;if(i+60<=n)a=i,o+=1;else break}y(o)})},[t,e,b]),d.useLayoutEffect(()=>{if(!t||!S.current)return;let e=new ResizeObserver(()=>{x(e=>e+1)});return e.observe(S.current),()=>e.disconnect()},[t]);let w=d.Children.toArray(e),T=w.slice(0,_),E=w.slice(_),D=E.length>0,O=E.find(e=>d.isValidElement(e)&&e.props?.value===n);return t?(0,m.jsxs)(v.Provider,{value:{defaultValue:r},children:[(0,m.jsx)(`div`,{ref:C,"aria-hidden":`true`,className:`pointer-events-none absolute flex items-center gap-2 opacity-0`,style:{top:-9999,left:-9999},children:e}),(0,m.jsxs)(`div`,{ref:S,className:`flex w-full min-w-0 flex-1 items-center gap-2`,children:[(0,m.jsx)(`div`,{ref:g,className:i(`flex min-w-0 items-center gap-2`,p),...h,children:T}),D&&(0,m.jsxs)(u,{children:[(0,m.jsx)(l,{asChild:!0,children:(0,m.jsx)(o,{className:i(`h-[30px] flex-shrink-0 px-3 py-2`,O&&`bg-accent text-accent-foreground`),variant:`ghost`,children:O?(0,m.jsx)(`span`,{className:`max-w-[100px] truncate`,children:O.props.children}):(0,m.jsx)(a,{className:`size-6`})})}),(0,m.jsx)(s,{align:`end`,children:E.map((e,t)=>!d.isValidElement(e)||!e.props?.value?null:(0,m.jsx)(c,{className:i(e.props.value===n&&`bg-accent text-accent-foreground`),onClick:()=>{f?.(e.props.value),e.props.onClick?.()},children:e.props.children},e.props.value||t))})]})]})]}):(0,m.jsx)(v.Provider,{value:{defaultValue:r},children:(0,m.jsx)(`div`,{ref:g,className:i(`flex items-center gap-2`,p),...h,children:e})})});y.displayName=`PageMenu`;var b=d.forwardRef(({children:e,value:t,className:n,...r},a)=>{let s=d.useContext(v)?.defaultValue===t;return(0,m.jsx)(o,{ref:a,className:i(`relative gap-1.5 px-3 text-control font-medium text-text-secondary hover:text-foreground focus-visible:ring-0`,`data-[state=active]:bg-muted-foreground/10 data-[state=active]:text-foreground`,`dark:hover:bg-tab-hover dark:data-[state=active]:bg-tab-active dark:data-[state=active]:hover:bg-tab-active`,n),"data-state":s?`active`:void 0,variant:`ghost`,...r,children:e})});b.displayName=`PageMenuItem`;export{g as a,h as i,b as n,p as o,_ as r,y as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"./hooks-CuEZV2-q.js";var r=`PagesResponseType`,i=t({dataType:r,path:`/pages/`}),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}}}),o=e({method:`POST`,path:e=>`/pages/${e}/copy/`}),s=e({method:`PUT`,path:()=>`/pages/bulk/`,searchParams:({filter:e})=>({filter:e}),body:({action:e})=>({bulk:{action:e.type,meta:`meta`in e?e.meta:{}}})}),c=e({method:`DELETE`,path:()=>`/pages/`,searchParams:({filter:e})=>({filter:e})});export{o as a,s as i,a as n,c as r,i as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-DX3WBWVO.js";import{t}from"./posts-list-screen-CBGGgjjj.js";var n=e();function r(){return(0,n.jsx)(t,{resource:`pages`})}export{r as default};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DAXXjFlN.js";var t=e(((e,t)=>{((n,r)=>{typeof define==`function`&&define.amd?define([],r):typeof t==`object`&&e!==void 0?t.exports=r():n.Papa=r()})(e,function e(){var t=typeof self<`u`?self:typeof window<`u`?window:t===void 0?{}:t,n,r=!t.document&&!!t.postMessage,i=t.IS_PAPA_WORKER||!1,a={},o=0,s={};function c(e){return e.charCodeAt(0)===65279?e.slice(1):e}function l(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=``,this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=b(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new m(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(e,n){var r=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<r){let t=this._config.newline;t||=(a=this._config.quoteChar||`"`,this._handle.guessLineEndings(e,a)),e=[...e.split(t).slice(r)].join(t)}this.isFirstChunk&&S(this._config.beforeFirstChunk)&&(a=this._config.beforeFirstChunk(e))!==void 0&&(e=a),this.isFirstChunk=!1,this._halted=!1;var r=this._partialLine+e,a=(this._partialLine=``,this._handle.parse(r,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){if(e=a.meta.cursor,r=(this._finished||(this._partialLine=r.substring(e-this._baseIndex),this._baseIndex=e),a&&a.data&&(this._rowCount+=a.data.length),this._finished||this._config.preview&&this._rowCount>=this._config.preview),i)t.postMessage({results:a,workerId:s.WORKER_ID,finished:r});else if(S(this._config.chunk)&&!n){if(this._config.chunk(a,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=a=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(a.data),this._completeResults.errors=this._completeResults.errors.concat(a.errors),this._completeResults.meta=a.meta),this._completed||!r||!S(this._config.complete)||a&&a.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),r||a&&a.meta.paused||this._nextChunk(),a}this._halted=!0},this._sendError=function(e){S(this._config.error)?this._config.error(e):i&&this._config.error&&t.postMessage({workerId:s.WORKER_ID,error:e,finished:!1})}}function u(e){var t;(e||={}).chunkSize||(e.chunkSize=s.RemoteChunkSize),l.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),r||(t.onload=x(this._chunkLoaded,this),t.onerror=x(this._chunkError,this)),t.open(this._config.downloadRequestBody?`POST`:`GET`,this._input,!r),this._config.downloadRequestHeaders){var e,n=this._config.downloadRequestHeaders;for(e in n)t.setRequestHeader(e,n[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,t.setRequestHeader(`Range`,`bytes=`+this._start+`-`+i));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}r&&t.status===0&&this._chunkError()}},this._chunkLoaded=function(){t.readyState===4&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>(e=e.getResponseHeader(`Content-Range`))===null?-1:parseInt(e.substring(e.lastIndexOf(`/`)+1)))(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function d(e){(e||={}).chunkSize||(e.chunkSize=s.LocalChunkSize),l.call(this,e);var t,n,r=typeof FileReader<`u`;this.stream=function(e){this._input=e,n=e.slice||e.webkitSlice||e.mozSlice,r?((t=new FileReader).onload=x(this._chunkLoaded,this),t.onerror=x(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input,i=(this._config.chunkSize&&(i=Math.min(this._start+this._config.chunkSize,this._input.size),e=n.call(e,this._start,i)),t.readAsText(e,this._config.encoding));r||this._chunkLoaded({target:{result:i}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function f(e){var t;l.call(this,e||={}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,n;if(!this._finished)return e=this._config.chunkSize,t=e?(n=t.substring(0,e),t.substring(e)):(n=t,``),this._finished=!t,this.parseChunk(n)}}function p(e){l.call(this,e||={});var t=[],n=!0,r=!1;this.pause=function(){l.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){l.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(`data`,this._streamData),this._input.on(`end`,this._streamEnd),this._input.on(`error`,this._streamError)},this._checkIsFinished=function(){r&&t.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):n=!0},this._streamData=x(function(e){try{t.push(typeof e==`string`?e:e.toString(this._config.encoding)),n&&(n=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=x(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=x(function(){this._streamCleanUp(),r=!0,this._streamData(``)},this),this._streamCleanUp=x(function(){this._input.removeListener(`data`,this._streamData),this._input.removeListener(`end`,this._streamEnd),this._input.removeListener(`error`,this._streamError)},this)}function m(e){var t,n,r,i,a=2**53,o=-a,l=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,u=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,d=this,f=0,p=0,m=!1,_=!1,v=[],y={data:[],errors:[],meta:{}};function x(t){return e.skipEmptyLines===`greedy`?t.join(``).trim()===``:t.length===1&&t[0].length===0}function C(){if(y&&r&&(T(`Delimiter`,`UndetectableDelimiter`,`Unable to auto-detect delimiting character; defaulted to '`+s.DefaultDelimiter+`'`),r=!1),e.skipEmptyLines&&(y.data=y.data.filter(function(e){return!x(e)})),w()){if(y)if(Array.isArray(y.data[0])){for(var t=0;w()&&t<y.data.length;t++)y.data[t].forEach(n);y.data.splice(0,1)}else y.data.forEach(n);function n(t,n){t=c(t),S(e.transformHeader)&&(t=e.transformHeader(t,n)),v.push(t)}}function n(t,n){for(var r=e.header?{}:[],i=0;i<t.length;i++){var s=i,c=t[i],c=((t,n)=>(t=>(e.dynamicTypingFunction&&e.dynamicTyping[t]===void 0&&(e.dynamicTyping[t]=e.dynamicTypingFunction(t)),!0===(e.dynamicTyping[t]||e.dynamicTyping)))(t)?n===`true`||n===`TRUE`||n!==`false`&&n!==`FALSE`&&((e=>{if(l.test(e)&&(e=parseFloat(e),o<e&&e<a))return 1})(n)?parseFloat(n):u.test(n)?new Date(n):n===``?null:n):n)(s=e.header?i>=v.length?`__parsed_extra`:v[i]:s,c=e.transform?e.transform(c,s):c);s===`__parsed_extra`?(r[s]=r[s]||[],r[s].push(c)):r[s]=c}return e.header&&(i>v.length?T(`FieldMismatch`,`TooManyFields`,`Too many fields: expected `+v.length+` fields but parsed `+i,p+n):i<v.length&&T(`FieldMismatch`,`TooFewFields`,`Too few fields: expected `+v.length+` fields but parsed `+i,p+n)),r}var i;y&&(e.header||e.dynamicTyping||e.transform)&&(i=1,!y.data.length||Array.isArray(y.data[0])?(y.data=y.data.map(n),i=y.data.length):y.data=n(y.data,0),e.header&&y.meta&&(y.meta.fields=v),p+=i)}function w(){return e.header&&v.length===0}function T(e,t,n,r){e={type:e,code:t,message:n},r!==void 0&&(e.row=r),y.errors.push(e)}S(e.step)&&(i=e.step,e.step=function(t){y=t,w()?C():(C(),y.data.length!==0&&(f+=t.data.length,e.preview&&f>e.preview?n.abort():(y.data=y.data[0],i(y,d))))}),this.parse=function(i,a,o){var c=e.quoteChar||`"`,c=(e.newline||=this.guessLineEndings(i,c),r=!1,e.delimiter?S(e.delimiter)&&(e.delimiter=e.delimiter(i),y.meta.delimiter=e.delimiter):((c=((t,n,r,i,a)=>{var o,c,l,u;a||=[`,`,` `,`|`,`;`,s.RECORD_SEP,s.UNIT_SEP];for(var d=0;d<a.length;d++){for(var f,p=a[d],m=0,h=0,_=0,v=(l=void 0,new g({comments:i,delimiter:p,newline:n,preview:10}).parse(t)),y=0;y<v.data.length;y++)r&&x(v.data[y])?_++:(f=v.data[y].length,h+=f,l===void 0?l=f:0<f&&(m+=Math.abs(f-l),l=f));0<v.data.length&&(h/=v.data.length-_),(c===void 0||m<=c)&&(u===void 0||u<h)&&1.99<h&&(c=m,o=p,u=h)}return{successful:!!(e.delimiter=o),bestDelimiter:o}})(i,e.newline,e.skipEmptyLines,e.comments,e.delimitersToGuess)).successful?e.delimiter=c.bestDelimiter:(r=!0,e.delimiter=s.DefaultDelimiter),y.meta.delimiter=e.delimiter),b(e));return e.preview&&e.header&&c.preview++,t=i,n=new g(c),y=n.parse(t,a,o),C(),m?{meta:{paused:!0}}:y||{meta:{paused:!1}}},this.paused=function(){return m},this.pause=function(){m=!0,n.abort(),t=S(e.chunk)?``:t.substring(n.getCharIndex())},this.resume=function(){d.streamer._halted?(m=!1,d.streamer.parseChunk(t,!0)):setTimeout(d.resume,3)},this.aborted=function(){return _},this.abort=function(){_=!0,n.abort(),y.meta.aborted=!0,S(e.complete)&&e.complete(y),t=``},this.guessLineEndings=function(e,t){e=e.substring(0,1048576);var t=RegExp(h(t)+`([^]*?)`+h(t),`gm`),n=(e=e.replace(t,``)).split(`\r`),t=e.split(`
|
|
2
|
-
`),e=1<t.length&&t[0].length<n[0].length;if(n.length===1||e)return`
|
|
3
|
-
`;for(var r=0,i=0;i<n.length;i++)n[i][0]===`
|
|
4
|
-
`&&r++;return r>=n.length/2?`\r
|
|
5
|
-
`:`\r`}}function h(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function g(e){var t=(e||={}).delimiter,n=e.newline,r=e.comments,i=e.step,a=e.preview,o=e.fastMode,l=null,u=!1,d=e.quoteChar==null?`"`:e.quoteChar,f=d;if(e.escapeChar!==void 0&&(f=e.escapeChar),(typeof t!=`string`||-1<s.BAD_DELIMITERS.indexOf(t))&&(t=`,`),r===t)throw Error(`Comment character same as delimiter`);!0===r?r=`#`:(typeof r!=`string`||-1<s.BAD_DELIMITERS.indexOf(r))&&(r=!1),n!==`
|
|
6
|
-
`&&n!==`\r`&&n!==`\r
|
|
7
|
-
`&&(n=`
|
|
8
|
-
`);var p=0,m=!1;this.parse=function(s,g,_){if(typeof s!=`string`)throw Error(`Input must be a string`);var v=s.length,y=t.length,b=n.length,x=r.length,C=S(i),w=[],T=[],E=[],D=p=0;if(!s)return z();if(o||!1!==o&&s.indexOf(d)===-1){for(var O=s.split(n),k=0;k<O.length;k++){if(E=O[k],p+=E.length,k!==O.length-1)p+=n.length;else if(_)return z();if(!r||E.substring(0,x)!==r){if(C){if(w=[],F(E.split(t)),B(),m)return z()}else F(E.split(t));if(a&&a<=k)return w=w.slice(0,a),z(!0)}}return z()}for(var A=s.indexOf(t,p),j=s.indexOf(n,p),M=new RegExp(h(f)+h(d),`g`),N=s.indexOf(d,p);;)if(s[p]===d)for(N=p,p++;;){if((N=s.indexOf(d,N+1))===-1)return _||T.push({type:`Quotes`,code:`MissingQuotes`,message:`Quoted field unterminated`,row:w.length,index:p}),L();if(N===v-1)return L(s.substring(p,N).replace(M,d));if(d===f&&s[N+1]===f)N++;else if(d===f||N===0||s[N-1]!==f){A!==-1&&A<N+1&&(A=s.indexOf(t,N+1));var P=I((j=j!==-1&&j<N+1?s.indexOf(n,N+1):j)===-1?A:Math.min(A,j));if(s.substr(N+1+P,y)===t){E.push(s.substring(p,N).replace(M,d)),s[p=N+1+P+y]!==d&&(N=s.indexOf(d,p)),A=s.indexOf(t,p),j=s.indexOf(n,p);break}if(P=I(j),s.substring(N+1+P,N+1+P+b)===n){if(E.push(s.substring(p,N).replace(M,d)),R(N+1+P+b),A=s.indexOf(t,p),N=s.indexOf(d,p),C&&(B(),m))return z();if(a&&w.length>=a)return z(!0);break}T.push({type:`Quotes`,code:`InvalidQuotes`,message:`Trailing quote on quoted field is malformed`,row:w.length,index:p}),N++}}else if(r&&E.length===0&&s.substring(p,p+x)===r){if(j===-1)return z();p=j+b,j=s.indexOf(n,p),A=s.indexOf(t,p)}else if(A!==-1&&(A<j||j===-1))E.push(s.substring(p,A)),p=A+y,A=s.indexOf(t,p);else{if(j===-1)break;if(E.push(s.substring(p,j)),R(j+b),C&&(B(),m))return z();if(a&&w.length>=a)return z(!0)}return L();function F(e){w.push(e),D=p}function I(e){var t=0;return t=e!==-1&&(e=s.substring(N+1,e))&&e.trim()===``?e.length:t}function L(e){return _||(e===void 0&&(e=s.substring(p)),E.push(e),p=v,F(E),C&&B()),z()}function R(e){p=e,F(E),E=[],j=s.indexOf(n,p)}function z(r){if(e.header&&!g&&w.length&&!u){var i=w[0],a=Object.create(null),o=new Set(i);let t=!1;for(let n=0;n<i.length;n++){let r=c(i[n]);if(a[r=S(e.transformHeader)?e.transformHeader(r,n):r]){let e,s=a[r];for(;e=r+`_`+s,s++,o.has(e););o.add(e),i[n]=e,a[r]++,t=!0,(l=l===null?{}:l)[e]=r}else a[r]=1,i[n]=r;o.add(r)}t&&console.warn(`Duplicate headers found and renamed.`),u=!0}return{data:w,errors:T,meta:{delimiter:t,linebreak:n,aborted:m,truncated:!!r,cursor:D+(g||0),renamedHeaders:l}}}function B(){i(z()),w=[],T=[]}},this.abort=function(){m=!0},this.getCharIndex=function(){return p}}function _(e){var t=e.data,n=a[t.workerId],r=!1;if(t.error)n.userError(t.error,t.file);else if(t.results&&t.results.data){var i={abort:function(){r=!0,v(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:y,resume:y};if(S(n.userStep)){for(var o=0;o<t.results.data.length&&(n.userStep({data:t.results.data[o],errors:t.results.errors,meta:t.results.meta},i),!r);o++);delete t.results}else S(n.userChunk)&&(n.userChunk(t.results,i,t.file),delete t.results)}t.finished&&!r&&v(t.workerId,t.results)}function v(e,t){var n=a[e];S(n.userComplete)&&n.userComplete(t),n.terminate(),delete a[e]}function y(){throw Error(`Not implemented.`)}function b(e){if(typeof e!=`object`||!e)return e;var t,n=Array.isArray(e)?[]:{};for(t in e)n[t]=b(e[t]);return n}function x(e,t){return function(){e.apply(t,arguments)}}function S(e){return typeof e==`function`}return s.parse=function(n,r){var i=(r||={}).dynamicTyping||!1;if(S(i)&&(r.dynamicTypingFunction=i,i={}),r.dynamicTyping=i,r.transform=!!S(r.transform)&&r.transform,!r.worker||!s.WORKERS_SUPPORTED)return i=null,s.NODE_STREAM_INPUT,typeof n==`string`?(n=c(n),i=new(r.download?u:f)(r)):!0===n.readable&&S(n.read)&&S(n.on)?i=new p(r):(t.File&&n instanceof File||n instanceof Object)&&(i=new d(r)),i.stream(n);(i=(()=>{var n;return!!s.WORKERS_SUPPORTED&&(n=(()=>{var n=t.URL||t.webkitURL||null,r=e.toString();return s.BLOB_URL||=n.createObjectURL(new Blob([`var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; `,`(`,r,`)();`],{type:`text/javascript`}))})(),(n=new t.Worker(n)).onmessage=_,n.id=o++,a[n.id]=n)})()).userStep=r.step,i.userChunk=r.chunk,i.userComplete=r.complete,i.userError=r.error,r.step=S(r.step),r.chunk=S(r.chunk),r.complete=S(r.complete),r.error=S(r.error),delete r.worker,i.postMessage({input:n,config:r,workerId:i.id})},s.unparse=function(e,t){var n=!1,r=!0,i=`,`,a=`\r
|
|
9
|
-
`,o=`"`,c=o+o,l=!1,u=null,d=!1,f=((()=>{if(typeof t==`object`){if(typeof t.delimiter!=`string`||s.BAD_DELIMITERS.filter(function(e){return t.delimiter.indexOf(e)!==-1}).length||(i=t.delimiter),typeof t.quotes!=`boolean`&&typeof t.quotes!=`function`&&!Array.isArray(t.quotes)||(n=t.quotes),typeof t.skipEmptyLines!=`boolean`&&typeof t.skipEmptyLines!=`string`||(l=t.skipEmptyLines),typeof t.newline==`string`&&(a=t.newline),typeof t.quoteChar==`string`&&(o=t.quoteChar,c=o+o),typeof t.header==`boolean`&&(r=t.header),Array.isArray(t.columns)){if(t.columns.length===0)throw Error(`Option columns is empty`);u=t.columns}t.escapeChar!==void 0&&(c=t.escapeChar+o),t.escapeFormulae instanceof RegExp?d=t.escapeFormulae:typeof t.escapeFormulae==`boolean`&&t.escapeFormulae&&(d=/^[=+\-@\t\r].*$/)}})(),new RegExp(h(o),`g`));if(typeof e==`string`&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return p(null,e,l);if(typeof e[0]==`object`)return p(u||Object.keys(e[0]),e,l)}else if(typeof e==`object`)return typeof e.data==`string`&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||=e.meta&&e.meta.fields||u,e.fields||=Array.isArray(e.data[0])?e.fields:typeof e.data[0]==`object`?Object.keys(e.data[0]):[],Array.isArray(e.data[0])||typeof e.data[0]==`object`||(e.data=[e.data])),p(e.fields||[],e.data||[],l);throw Error(`Unable to serialize unrecognized input`);function p(e,t,n){var o=``,s=(typeof e==`string`&&(e=JSON.parse(e)),typeof t==`string`&&(t=JSON.parse(t)),Array.isArray(e)&&0<e.length),c=!Array.isArray(t[0]);if(s&&r){for(var l=0;l<e.length;l++)0<l&&(o+=i),o+=m(e[l],l);0<t.length&&(o+=a)}for(var u=0;u<t.length;u++){var d=(s?e:t[u]).length,f=!1,p=s?Object.keys(t[u]).length===0:t[u].length===0;if(n&&!s&&(f=n===`greedy`?t[u].join(``).trim()===``:t[u].length===1&&t[u][0].length===0),n===`greedy`&&s){for(var h=[],g=0;g<d;g++){var _=c?e[g]:g;h.push(t[u][_])}f=h.join(``).trim()===``}if(!f){for(var v=0;v<d;v++){0<v&&!p&&(o+=i);var y=s&&c?e[v]:v;o+=m(t[u][y],v)}u<t.length-1&&(!n||0<d&&!p)&&(o+=a)}}return o}function m(e,t){var r,a,l;return e==null?``:e.constructor===Date?JSON.stringify(e).slice(1,25):(l=!1,d&&typeof e==`string`&&d.test(e)&&(e=`'`+e,l=!0),a=(r=e.toString()).replace(f,c),(l=l||!0===n||typeof n==`function`&&n(e,t)||Array.isArray(n)&&n[t]||((e,t)=>{for(var n=0;n<t.length;n++)if(-1<e.indexOf(t[n]))return!0;return!1})(a,s.BAD_DELIMITERS)||-1<a.indexOf(i)||-1<r.indexOf(o)||a.charAt(0)===` `||a.charAt(a.length-1)===` `)?o+a+o:a)}},s.RECORD_SEP=``,s.UNIT_SEP=``,s.BYTE_ORDER_MARK=``,s.BAD_DELIMITERS=[`\r`,`
|
|
10
|
-
`,`"`,s.BYTE_ORDER_MARK],s.WORKERS_SUPPORTED=!r&&!!t.Worker,s.NODE_STREAM_INPUT=1,s.LocalChunkSize=10485760,s.RemoteChunkSize=5242880,s.DefaultDelimiter=`,`,s.Parser=g,s.ParserHandle=m,s.NetworkStreamer=u,s.FileStreamer=d,s.StringStreamer=f,s.ReadableStreamStreamer=p,t.jQuery&&((n=t.jQuery).fn.parse=function(e){var r=e.config||{},i=[];return this.each(function(e){if(!(n(this).prop(`tagName`).toUpperCase()===`INPUT`&&n(this).attr(`type`).toLowerCase()===`file`&&t.FileReader)||!this.files||this.files.length===0)return!0;for(var a=0;a<this.files.length;a++)i.push({file:this.files[a],inputElem:this,instanceConfig:n.extend({},r)})}),a(),this;function a(){if(i.length===0)S(e.complete)&&e.complete();else{var t,r,a,c,l=i[0];if(S(e.before)){var u=e.before(l.file,l.inputElem);if(typeof u==`object`){if(u.action===`abort`)return t=`AbortError`,r=l.file,a=l.inputElem,c=u.reason,void(S(e.error)&&e.error({name:t},r,a,c));if(u.action===`skip`)return void o();typeof u.config==`object`&&(l.instanceConfig=n.extend(l.instanceConfig,u.config))}else if(u===`skip`)return void o()}var d=l.instanceConfig.complete;l.instanceConfig.complete=function(e){S(d)&&d(e,l.file,l.inputElem),o()},s.parse(l.file,l.instanceConfig)}}function o(){i.splice(0,1),a()}}),i&&(t.onmessage=function(e){e=e.data,s.WORKER_ID===void 0&&e&&(s.WORKER_ID=e.workerId),typeof e.input==`string`?t.postMessage({workerId:s.WORKER_ID,results:s.parse(e.input,e.config),finished:!0}):(t.File&&e.input instanceof File||e.input instanceof Object)&&(e=s.parse(e.input,e.config))&&t.postMessage({workerId:s.WORKER_ID,results:e,finished:!0})}),(u.prototype=Object.create(l.prototype)).constructor=u,(d.prototype=Object.create(l.prototype)).constructor=d,(f.prototype=Object.create(f.prototype)).constructor=f,(p.prototype=Object.create(l.prototype)).constructor=p,s})}));export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r,p as i}from"./hooks-CuEZV2-q.js";import{n as a}from"./dist-Ndy-PuGN.js";import{t as o}from"./switch-CI4gLWqb.js";import{t as s}from"./dropzone-D7nFdAe5.js";import{o as c,t as l}from"./use-settings-navigation-CZjGrhsp.js";import{a as u,c as d,n as f,o as p,r as m,s as h,t as g}from"./field-Dihp5p18.js";import{oi as _,ti as v}from"./index-6MkPdCtr.js";import{n as y}from"./global-data-context-gAMDH9u1.js";import{t as b}from"./integration-header-Bm6IDb1A.js";import{t as x}from"./brand-icon-CrIGOA3Z.js";``+new URL(`pintura-screenshot-DTzk1LjU.png`,import.meta.url).href;var S=e(t(),1),C=r({method:`POST`,path:()=>`/files/upload/`,body:({file:e})=>{let t=new FormData;return t.append(`file`,e),t}}),w=n();function T(){let{updateRoute:e}=l(),[t,n]=(0,S.useState)({js:!1,css:!1}),{settings:r,config:T}=y(),[E]=v(r,[`pintura`]),{mutateAsync:D}=_(),{mutateAsync:O}=C(),k=i();(0,S.useEffect)(()=>{N(E||!1)},[E]);let[A,j]=(0,S.useState)(`Save`),[M,N]=(0,S.useState)(!!E),P=async()=>{let e=[{key:`pintura`,value:M}];try{j(`Saving...`),await Promise.all([D(e),new Promise(e=>{setTimeout(e,1e3)})]),j(`Saved`)}catch(e){k(e)}finally{setTimeout(()=>j(`Save`),1e3)}},F=async(e,t)=>{try{n(e=>({...e,[t]:!0}));let{files:r}=await O({file:e}),i=r[0].url,o=[{key:`pintura_${t}_url`,value:i}];await D(o),a.success(`Pintura ${t} uploaded`)}catch(e){k(e)}finally{n(e=>({...e,[t]:!1}))}};return(0,w.jsxs)(c,{cancelLabel:`Close`,dirty:M!==E,okLabel:A,okVariant:`default`,testId:`pintura-modal`,title:``,onClose:()=>{e(`integrations`)},onOk:P,children:[(0,w.jsx)(b,{detail:`Advanced image editing`,icon:(0,w.jsx)(x,{name:`pintura`,size:48}),title:`Pintura`}),(0,w.jsxs)(`div`,{className:`mt-7`,children:[!T.pintura&&(0,w.jsxs)(`div`,{className:`mb-7 flex flex-col items-stretch justify-between gap-4 rounded-sm bg-gray-50 p-4 md:flex-row md:p-7 dark:bg-gray-950`,children:[(0,w.jsxs)(`div`,{className:`md:basis-1/2`,children:[(0,w.jsx)(`p`,{className:`mb-4 text-md font-semibold`,children:`Add advanced image editing to Ghost, with Pintura`}),(0,w.jsx)(`p`,{className:`mb-4`,children:`Pintura is a powerful JavaScript image editor that allows you to crop, rotate, annotate and modify images directly inside Ghost.`}),(0,w.jsx)(`p`,{children:`Try a demo, purchase a license, and download the required CSS/JS files from pqina.nl/pintura/ to activate this feature.`})]}),(0,w.jsxs)(`div`,{className:`flex grow flex-col items-end justify-between gap-2 md:basis-1/2`,children:[(0,w.jsx)(`img`,{alt:`Pintura screenshot`,src:``+new URL(`pintura-screenshot-DTzk1LjU.png`,import.meta.url).href}),(0,w.jsx)(`a`,{className:`-mb-1 font-medium text-green`,href:`https://pqina.nl/pintura/ghost/?ref=ghost.org`,rel:`noopener noreferrer`,target:`_blank`,children:`Find out more →`})]})]}),(0,w.jsxs)(d,{className:`gap-0`,children:[(0,w.jsx)(h,{className:`mb-3 text-md! leading-supertight font-bold md:text-lg!`,children:`Pintura configuration`}),(0,w.jsxs)(u,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,w.jsxs)(g,{orientation:`horizontal`,children:[(0,w.jsxs)(f,{children:[(0,w.jsx)(p,{htmlFor:`pintura-enabled`,children:`Enable Pintura`}),(0,w.jsxs)(m,{children:[`Enable`,` `,(0,w.jsx)(`a`,{className:`text-green`,href:`https://pqina.nl/pintura/ghost/?ref=ghost.org`,rel:`noopener noreferrer`,target:`_blank`,children:`Pintura`}),` `,`for editing your images in Ghost`]})]}),(0,w.jsx)(o,{checked:M,id:`pintura-enabled`,onCheckedChange:N})]}),M&&!T.pintura&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:`flex flex-col justify-between gap-1 md:flex-row md:items-center`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{children:`Upload Pintura script`}),(0,w.jsxs)(`div`,{className:`text-sm text-gray-600`,children:[`Upload the `,(0,w.jsx)(`code`,{children:`pintura-umd.js`}),` file from the Pintura package`]})]}),(0,w.jsx)(s,{accept:{"text/javascript":[`.js`],"application/javascript":[`.js`]},disabled:t.js,variant:`button`,onDropAccepted:e=>void F(e[0],`js`),children:t.js?`Uploading...`:`Upload`})]}),(0,w.jsxs)(`div`,{className:`flex flex-col justify-between gap-1 md:flex-row md:items-center`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{children:`Upload Pintura styles`}),(0,w.jsxs)(`div`,{className:`text-sm text-gray-600`,children:[`Upload the `,(0,w.jsx)(`code`,{children:`pintura.css`}),` file from the Pintura package`]})]}),(0,w.jsx)(s,{accept:{"text/css":[`.css`]},disabled:t.css,variant:`button`,onDropAccepted:e=>void F(e[0],`css`),children:t.css?`Uploading...`:`Upload`})]})]})]})]})]})]})}export{T as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./inline-BWSs_VzR.js";import{Qn as i}from"./index-6MkPdCtr.js";var a=e(t(),1),o=n(),s=({href:e,onDestroyed:t,selectedTab:n,portalParent:s})=>{n||=`signup`;let c=(0,a.useRef)(null),[l,u]=(0,a.useState)(!1),[d,f]=(0,a.useState)(!0),p=(0,a.useCallback)(()=>{setTimeout(()=>{c.current&&f(!1)},300)},[c]);if((0,a.useEffect)(()=>{let n=t=>{e&&new URL(t.origin).origin===new URL(e).origin&&t.data?.type===`portal-preview-ready`&&p()};return window.addEventListener(`message`,n,!0),()=>{window.removeEventListener(`message`,n,!0),t?.()}},[e,t,p,l]),!e)return null;let m=`mt-[-7%] flex h-screen items-center justify-center`,h=`hidden`;return s===`preview`?(m=`pointer-events-none absolute inset-0 z-50`,h=`invisible`):s===`offers`&&(m=`absolute inset-0 z-50`,h=`invisible`),(0,o.jsxs)(o.Fragment,{children:[d&&(0,o.jsx)(r,{align:`center`,className:m,justify:`center`,children:(0,o.jsx)(i,{size:`lg`})}),(0,o.jsx)(`iframe`,{ref:c,className:!d&&l?``:h,"data-testid":`portal-preview`,height:`100%`,src:e,title:`Portal Preview`,width:`100%`,onLoad:()=>{u(!0)}})]})};export{s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r,p as i}from"./hooks-CuEZV2-q.js";import{t as a}from"./use-form-vRjI0Kwk.js";import{m as o}from"./dist-B3keLvjj.js";import{t as s}from"./grid-Dj29PY05.js";import{t as c}from"./inline-BWSs_VzR.js";import{t as l}from"./stack-B2eszIiq.js";import{t as u}from"./text-BQDSDsKs.js";import{s as d}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{D as f,t as p,v as m}from"./button-eNMKQWXr.js";import{i as h,n as g,r as _,t as v}from"./tabs-D2yWLMp_.js";import{t as y}from"./switch-CI4gLWqb.js";import{i as b,n as x,o as S,s as C,t as w}from"./select-cb0t_TAJ.js";import{t as T}from"./use-settings-navigation-CZjGrhsp.js";import{t as E}from"./checkbox-CgOn_tKW.js";import{a as D,i as O,n as k,o as A,r as j,t as ee}from"./copy-field-6N01S07E.js";import{a as M,c as N,i as P,n as F,o as I,r as L,s as te,t as R}from"./field-Dihp5p18.js";import{n as ne,t as re}from"./toggle-group-ByUJsxwD.js";import{$n as z,$r as B,Un as ie,ct as V,di as ae,ei as H,lt as oe,oi as se,t as ce,ti as U,ut as le}from"./index-6MkPdCtr.js";import{a as ue,c as de,i as fe,n as pe,o as me,r as he,s as ge,t as _e}from"./images-scfkWZiK.js";import{a as W,o as ve,r as G}from"./tiers-Nd_z4BZY.js";import{t as K}from"./modal-page-xCivTMvI.js";import{t as ye}from"./validator-Cr0sMKuW.js";import{n as be}from"./confirmation-context-CBM8G0Vj.js";import{n as q}from"./global-data-context-gAMDH9u1.js";import{t as xe}from"./brand-icon-CrIGOA3Z.js";import{t as Se}from"./html-field-CJBCLTvv.js";import{t as Ce}from"./preview-modal-BfeFqi5y.js";import{t as J}from"./portal-frame-B6Hr9wHc.js";import{t as we}from"./use-query-params-BfzuqbcD.js";var Y=e(t(),1),X=n(),Te=({localSettings:e,settingKey:t,updateSetting:n})=>{if(!ce(`giftSubCustomization`)||!e.some(e=>e.key===t))return null;let r=t.replaceAll(`_`,`-`);return(0,X.jsxs)(R,{orientation:`horizontal`,children:[(0,X.jsx)(I,{htmlFor:r,children:`Display option to purchase gift`}),(0,X.jsx)(y,{checked:!!H(e,t),id:r,onCheckedChange:e=>n(t,e)})]})},Ee=({localSettings:e,updateSetting:t})=>{let[n,r,i,a,o,s]=U(e,[`transistor`,`transistor_portal_enabled`,`transistor_portal_heading`,`transistor_portal_description`,`transistor_portal_button_text`,`transistor_portal_url_template`]);if(n!==!0)return null;let c=r===!0;return(0,X.jsxs)(l,{gap:`xl`,children:[(0,X.jsx)(ie,{}),(0,X.jsxs)(l,{gap:`md`,children:[(0,X.jsx)(u,{as:`h5`,className:`md:text-lg`,leading:`supertight`,weight:`bold`,children:`Transistor`}),(0,X.jsxs)(R,{orientation:`horizontal`,children:[(0,X.jsxs)(F,{children:[(0,X.jsx)(I,{htmlFor:`transistor-portal-enabled`,children:`Enable Transistor integration`}),(0,X.jsx)(L,{children:`Show a section on the account page for members to access private podcasts`})]}),(0,X.jsx)(y,{checked:c,id:`transistor-portal-enabled`,onCheckedChange:e=>t(`transistor_portal_enabled`,e)})]})]}),c&&(0,X.jsxs)(M,{className:`gap-6`,children:[(0,X.jsxs)(R,{children:[(0,X.jsx)(I,{htmlFor:`transistor-heading`,children:`Heading`}),(0,X.jsx)(z,{id:`transistor-heading`,placeholder:`Podcasts`,value:i,onChange:e=>t(`transistor_portal_heading`,e.target.value)}),(0,X.jsx)(L,{children:`The heading displayed above the Transistor section`})]}),(0,X.jsxs)(R,{children:[(0,X.jsx)(I,{htmlFor:`transistor-description`,children:`Description`}),(0,X.jsx)(z,{id:`transistor-description`,placeholder:`Access your RSS feeds`,value:a,onChange:e=>t(`transistor_portal_description`,e.target.value)}),(0,X.jsx)(L,{children:`A short description of what members can do`})]}),(0,X.jsxs)(R,{children:[(0,X.jsx)(I,{htmlFor:`transistor-button-text`,children:`Button text`}),(0,X.jsx)(z,{id:`transistor-button-text`,placeholder:`Manage`,value:o,onChange:e=>t(`transistor_portal_button_text`,e.target.value)}),(0,X.jsx)(L,{children:`The text displayed on the button`})]}),(0,X.jsxs)(R,{children:[(0,X.jsx)(I,{htmlFor:`transistor-url-template`,children:`URL template`}),(0,X.jsx)(z,{id:`transistor-url-template`,placeholder:`https://partner.transistor.fm/ghost/{memberUuid}`,value:s,onChange:e=>t(`transistor_portal_url_template`,e.target.value)}),(0,X.jsxs)(L,{children:[`Use `,`{memberUuid}`,` as a placeholder for the member ID`]})]})]})]})},De=e(ye(),1),Oe=({localSettings:e,updateSetting:t,errors:n,setError:r})=>{let{siteData:i,settings:a,config:o}=q(),[s,c]=U(a,[`members_support_address`,`support_email_address`]),l=c?.toString()||V(s?.toString()||``,i,o),u=oe(i,o),[d,f]=(0,Y.useState)(l);return(0,Y.useEffect)(()=>{f(l)},[l]),(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(M,{className:`mb-10 gap-8`,children:[(0,X.jsx)(Te,{localSettings:e,settingKey:`portal_account_gift_promotion`,updateSetting:t}),(0,X.jsxs)(R,{"data-invalid":!!n.members_support_address||void 0,children:[(0,X.jsx)(I,{htmlFor:`members-support-address`,children:`Support email address`}),(0,X.jsx)(z,{"aria-invalid":!!n.members_support_address||void 0,id:`members-support-address`,value:d,onBlur:e=>{let n=e.target.value;n?De.default.isEmail(n)?r(`members_support_address`,``):r(`members_support_address`,`Enter a valid email address`):r(`members_support_address`,`Enter an email address`);let a=u&&n===`noreply@${u}`?`noreply`:n;t(`members_support_address`,a),f(V(a,i,o))},onChange:e=>f(e.target.value)}),n.members_support_address&&(0,X.jsx)(P,{children:n.members_support_address})]}),(0,X.jsx)(Ee,{localSettings:e,updateSetting:t})]})})},Z=[{icon:`portal-icon-1`,label:`Portal icon 1`,value:`icon-1`},{icon:`portal-icon-2`,label:`Portal icon 2`,value:`icon-2`},{icon:`portal-icon-3`,label:`Portal icon 3`,value:`icon-3`},{icon:`portal-icon-4`,label:`Portal icon 4`,value:`icon-4`},{icon:`portal-icon-5`,label:`Portal icon 5`,value:`icon-5`}],ke=({localSettings:e,updateSetting:t})=>{let{mutateAsync:n}=pe(),r=i(),[a,o,c,d]=U(e,[`portal_button`,`portal_button_style`,`portal_button_icon`,`portal_button_signup_text`]),h=c||Z[0].value,[g,_]=(0,Y.useState)(Z.map(({value:e})=>e).includes(h)?void 0:h),v=async e=>{try{let r=_e(await n({file:e}));t(`portal_button_icon`,r),_(r)}catch(e){let t=e;t.response.status===415&&(t.message=`Unsupported file type`),r(t)}};return(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(M,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(R,{orientation:`horizontal`,children:[(0,X.jsx)(I,{htmlFor:`show-portal-button`,children:`Show portal button`}),(0,X.jsx)(y,{checked:!!a,id:`show-portal-button`,onCheckedChange:e=>t(`portal_button`,e)})]}),a&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(R,{children:[(0,X.jsx)(I,{children:`Button style`}),(0,X.jsxs)(w,{value:o,onValueChange:e=>t(`portal_button_style`,e),children:[(0,X.jsx)(S,{"aria-label":`Button style`,children:(0,X.jsx)(C,{})}),(0,X.jsx)(x,{children:[{value:`icon-and-text`,label:`Icon and text`},{value:`icon-only`,label:`Icon only`},{value:`text-only`,label:`Text only`}].map(e=>(0,X.jsx)(b,{value:e.value,children:e.label},e.value))})]})]}),o?.toString()?.includes(`icon`)&&(0,X.jsxs)(l,{gap:`sm`,children:[(0,X.jsx)(u,{as:`h6`,className:`text-base`,weight:`semibold`,children:`Icon`}),(0,X.jsxs)(s,{className:`w-full gap-px rounded-(--input-group-radius) bg-muted p-0.5`,columns:6,gap:`none`,children:[(0,X.jsx)(re,{"aria-label":`Portal button icon`,className:`contents border-0! bg-transparent! p-0`,type:`single`,value:h,onValueChange:e=>e&&t(`portal_button_icon`,e),children:Z.map(e=>(0,X.jsx)(ne,{"aria-label":e.label,className:`group h-[46px] w-full min-w-0 rounded-[calc(var(--radius-md)+1px)] p-3`,value:e.value,children:(0,X.jsx)(xe,{className:`size-[18px] opacity-70 transition-opacity group-hover:opacity-100 group-data-[state=on]:opacity-100`,name:e.icon})},e.value))}),(0,X.jsx)(he,{className:`h-[46px] w-full min-w-0 overflow-visible rounded-[calc(var(--radius-md)+1px)] ${h===g?`bg-background shadow-sm`:``}`,children:g?(0,X.jsxs)(de,{className:`overflow-visible`,children:[(0,X.jsx)(ge,{className:`rounded-md`,src:g}),(0,X.jsx)(p,{"aria-label":`Use uploaded Portal icon`,"aria-pressed":h===g,className:`absolute inset-0 z-10 size-full rounded-md bg-transparent hover:bg-transparent`,size:`icon`,type:`button`,variant:`ghost`,onClick:()=>t(`portal_button_icon`,g)}),(0,X.jsx)(ue,{className:`-top-2 -right-2 z-20 opacity-100`,children:(0,X.jsx)(fe,{"aria-label":`Delete uploaded Portal icon`,className:`size-6 rounded-full p-0`,onClick:()=>{h===g&&t(`portal_button_icon`,null),_(void 0)},children:(0,X.jsx)(f,{})})})]}):(0,X.jsx)(me,{accept:{"image/*":[]},"aria-label":`Upload Portal icon`,className:`size-full rounded-[calc(var(--radius-md)+1px)] border-0 bg-transparent p-0 hover:bg-surface-elevated`,inputAriaLabel:`Upload Portal icon`,onDropAccepted:e=>void v(e[0]),children:(0,X.jsx)(m,{className:`size-5`})})})]})]}),o?.toString()?.includes(`text`)&&(0,X.jsxs)(R,{children:[(0,X.jsx)(I,{htmlFor:`portal-signup-button-text`,children:`Signup button text`}),(0,X.jsx)(z,{id:`portal-signup-button-text`,value:d,onChange:e=>t(`portal_button_signup_text`,e.target.value)})]})]})]})})},Q=({name:e,value:t})=>(0,X.jsxs)(ee,{className:`lg:flex-row lg:items-center lg:gap-5`,value:t,children:[(0,X.jsx)(D,{className:`shrink-0 whitespace-nowrap lg:w-[180px]`,children:e}),(0,X.jsxs)(j,{children:[(0,X.jsx)(A,{}),(0,X.jsx)(k,{children:(0,X.jsx)(O,{})})]})]}),Ae=()=>{let[e,t]=(0,Y.useState)(!1),[n,r]=(0,Y.useState)(``),{siteData:i}=q(),{data:{tiers:a}={}}=W(),o=G(a||[]),s=ae();(0,Y.useEffect)(()=>{o?.length&&!n&&r(o[0].id)},[o,n]);let d=o?.map(e=>({label:e.name,value:e.id})),f=le(i);return(0,X.jsx)(K,{className:`max-w-[920px] text-base text-foreground`,children:(0,X.jsxs)(l,{gap:`2xl`,children:[(0,X.jsxs)(l,{gap:`xs`,children:[(0,X.jsx)(K.Title,{className:`mb-0`,children:`Links`}),(0,X.jsxs)(u,{children:[`Use these `,e?`data attributes`:`links`,` in your theme to show pages of Portal.`]})]}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(l,{gap:`lg`,children:[(0,X.jsxs)(c,{as:`header`,className:`border-b border-border pb-2`,justify:`between`,children:[(0,X.jsx)(u,{as:`h2`,size:`xl`,weight:`semibold`,children:`Generic`}),(0,X.jsx)(v,{value:e?`data-attributes`:`links`,variant:`segmented-sm`,onValueChange:e=>t(e===`data-attributes`),children:(0,X.jsxs)(_,{"aria-label":`Portal link format`,children:[(0,X.jsx)(h,{value:`links`,children:`Links`}),(0,X.jsx)(h,{value:`data-attributes`,children:`Data attributes`})]})})]}),(0,X.jsxs)(l,{gap:`md`,children:[(0,X.jsx)(Q,{name:`Default`,value:e?`data-portal`:`${f}#/portal`}),(0,X.jsx)(Q,{name:`Sign in`,value:e?`data-portal="signin"`:`${f}#/portal/signin`}),(0,X.jsx)(Q,{name:`Sign up`,value:e?`data-portal="signup"`:`${f}#/portal/signup`}),s&&(0,X.jsx)(Q,{name:`Gift subscriptions`,value:e?`data-portal="gift"`:`${f}#/portal/gift`})]})]})}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(l,{gap:`lg`,children:[(0,X.jsx)(u,{as:`h2`,className:`border-b border-border pb-2`,size:`xl`,weight:`semibold`,children:`Tiers`}),(0,X.jsxs)(l,{gap:`md`,children:[(0,X.jsxs)(R,{className:`lg:flex-row lg:items-center lg:justify-between lg:gap-5 [&>*]:w-auto`,children:[(0,X.jsx)(I,{className:`shrink-0 whitespace-nowrap lg:w-[180px]`,children:`Tier`}),(0,X.jsxs)(w,{value:n,onValueChange:r,children:[(0,X.jsx)(S,{"aria-label":`Tier`,className:`w-fit`,children:(0,X.jsx)(C,{})}),(0,X.jsx)(x,{children:d.map(e=>(0,X.jsx)(b,{value:e.value,children:e.label},e.value))})]})]}),(0,X.jsx)(Q,{name:`Signup / Monthly`,value:e?`data-portal="signup/${n}/monthly"`:`${f}#/portal/signup/${n}/monthly`}),(0,X.jsx)(Q,{name:`Signup / Yearly`,value:e?`data-portal="signup/${n}/yearly"`:`${f}#/portal/signup/${n}/yearly`}),(0,X.jsx)(Q,{name:`Signup / Free`,value:e?`data-portal="signup/free"`:`${f}#/portal/signup/free`})]})]})}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(l,{gap:`lg`,children:[(0,X.jsx)(u,{as:`h2`,className:`border-b border-border pb-2`,size:`xl`,weight:`semibold`,children:`Account`}),(0,X.jsxs)(l,{gap:`md`,children:[(0,X.jsx)(Q,{name:`Account`,value:e?`data-portal="account"`:`${f}#/portal/account`}),(0,X.jsx)(Q,{name:`Account / Plans`,value:e?`data-portal="account/plans"`:`${f}#/portal/account/plans`}),(0,X.jsx)(Q,{name:`Account / Profile`,value:e?`data-portal="account/profile"`:`${f}#/portal/account/profile`}),(0,X.jsx)(Q,{name:`Account / Newsletters`,value:e?`data-portal="account/newsletters"`:`${f}#/portal/account/newsletters`}),(0,X.jsx)(Q,{name:`Account / Newsletter help`,value:e?`data-portal="account/newsletters/help"`:`${f}#/portal/account/newsletters/help`})]})]})})]})})},je=({settings:e,config:t,tiers:n,siteData:r,selectedTab:i,previewTheme:a})=>{if(!r?.url)return null;let o=n.filter(e=>e.visibility===`public`&&e.type===`paid`).map(e=>e.id),s=r.url.replace(/\/$/,``),c=JSON.parse(H(e,`portal_plans`)||``),l=new URLSearchParams;l.append(`button`,H(e,`portal_button`)?`true`:`false`),l.append(`name`,H(e,`portal_name`)?`true`:`false`),l.append(`signupGiftPromotion`,H(e,`portal_signup_gift_promotion`)?`true`:`false`),l.append(`accountGiftPromotion`,H(e,`portal_account_gift_promotion`)?`true`:`false`),l.append(`isFree`,c.includes(`free`)?`true`:`false`),l.append(`isMonthly`,B(e,t)&&c.includes(`monthly`)?`true`:`false`),l.append(`isYearly`,B(e,t)&&c.includes(`yearly`)?`true`:`false`),l.append(`page`,i===`account`?`accountHome`:`signup`),l.append(`previewTheme`,a),l.append(`buttonIcon`,encodeURIComponent(H(e,`portal_button_icon`)||`icon-1`)),l.append(`signupButtonText`,encodeURIComponent(H(e,`portal_button_signup_text`)||``)),l.append(`membersSignupAccess`,H(e,`members_signup_access`)||`all`),l.append(`allowSelfSignup`,H(e,`allow_self_signup`)||`false`),l.append(`signupTermsHtml`,H(e,`portal_signup_terms_html`)||``),l.append(`signupCheckboxRequired`,H(e,`portal_signup_checkbox_required`)?`true`:`false`),l.append(`portalProducts`,o.join(`,`));let u=H(e,`portal_default_plan`);u&&l.append(`portalDefaultPlan`,u),c&&c.length&&l.append(`portalPrices`,encodeURIComponent(c.join(`,`)));let d=H(e,`accent_color`);d!=null&&l.append(`accentColor`,encodeURIComponent(d));let f=H(e,`portal_button_style`);return f&&l.append(`buttonStyle`,encodeURIComponent(f)),l.append(`disableBackground`,`false`),H(e,`transistor`)&&l.append(`transistorPortalSettings`,JSON.stringify({enabled:H(e,`transistor_portal_enabled`),heading:H(e,`transistor_portal_heading`)||`Podcasts`,description:H(e,`transistor_portal_description`)||`Access your RSS feeds`,button_text:H(e,`transistor_portal_button_text`)||`Manage`,url_template:H(e,`transistor_portal_url_template`)||`https://partner.transistor.fm/ghost/{memberUuid}`})),l.append(`admin_toolbar`,`0`),`${s}/?v=modal-portal-settings#/portal/preview?${l.toString()}`},Me=({darkMode:e,selectedTab:t=`signup`,localSettings:n,localTiers:r})=>{let{siteData:i,config:a}=q(),o=je({settings:n,tiers:r,selectedTab:t,previewTheme:e?`dark`:`light`,siteData:i,config:a}),s=(0,X.jsx)(X.Fragment,{});switch(t){case`account`:s=(0,X.jsx)(X.Fragment,{children:(0,X.jsx)(J,{href:o||``,portalParent:`preview`,selectedTab:t})});break;case`links`:s=(0,X.jsx)(Ae,{});break;default:s=(0,X.jsx)(X.Fragment,{children:(0,X.jsx)(J,{href:o||``,portalParent:`preview`,selectedTab:t})});break}return s},Ne=({localSettings:e,updateSetting:t,localTiers:n,updateTier:r,errors:i,setError:a})=>{let{config:s}=q(),[c,l,u,d,f,p]=U(e,[`members_signup_access`,`portal_name`,`portal_signup_terms_html`,`portal_signup_checkbox_required`,`portal_plans`,`portal_default_plan`]),m=JSON.parse(f?.toString()||`[]`),h=(0,Y.useMemo)(()=>{let e=document.createElement(`div`);return e.innerHTML=u?.toString()||``,e.innerText.length},[u]),g=(0,Y.useCallback)((e,t)=>{a(e,t)},[]);(0,Y.useEffect)(()=>{h>115?g(`portal_signup_terms_html`,`Signup notice is too long`):g(`portal_signup_terms_html`,void 0)},[h,g]);let _=e=>{let n=m.indexOf(e);n===-1?m.push(e):m.splice(n,1),t(`portal_plans`,JSON.stringify(m)),p===`yearly`?!m.includes(`yearly`)&&m.includes(`monthly`)&&t(`portal_default_plan`,`monthly`):p===`monthly`&&(m.includes(`monthly`)||t(`portal_default_plan`,`yearly`))},v=c===`all`||c===`paid`,T=c===`all`,D=B(e,s),O=[];n&&n.forEach(e=>{e.type===`free`&&T&&O.push({checked:m.includes(`free`),disabled:!v,label:e.name,value:`free`,testId:`free-tier-checkbox`,onChange:n=>{m.includes(`free`)&&!n&&m.splice(m.indexOf(`free`),1),!m.includes(`free`)&&n&&m.push(`free`),t(`portal_plans`,JSON.stringify(m)),r({...e,visibility:n?`public`:`none`})}})});let k=G(n)||[],A=[{value:`yearly`,label:`Yearly`},{value:`monthly`,label:`Monthly`}];D&&k.length>0&&k.forEach(e=>{O.push({checked:e.visibility===`public`,label:e.name,value:e.id,onChange:t=>r({...e,visibility:t?`public`:`none`})})});let j=D&&k.length>0&&k.some(e=>e.visibility===`public`);return(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(M,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(R,{"data-disabled":!v||void 0,orientation:`horizontal`,children:[(0,X.jsx)(I,{htmlFor:`portal-display-name`,children:`Display name in signup form`}),(0,X.jsx)(y,{checked:!!l,disabled:!v,id:`portal-display-name`,onCheckedChange:e=>t(`portal_name`,e)})]}),(0,X.jsxs)(N,{children:[(0,X.jsx)(te,{variant:`label`,children:`Available tiers`}),(0,X.jsx)(M,{"data-slot":`checkbox-group`,children:O.map(e=>(0,X.jsxs)(R,{"data-disabled":e.disabled||void 0,orientation:`horizontal`,children:[(0,X.jsx)(E,{checked:e.checked,"data-testid":e.testId,disabled:e.disabled,id:`portal-tier-${e.value}`,onCheckedChange:t=>e.onChange(t===!0)}),(0,X.jsx)(I,{htmlFor:`portal-tier-${e.value}`,children:e.label})]},e.value))})]}),j&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(N,{children:[(0,X.jsx)(te,{variant:`label`,children:`Available prices`}),(0,X.jsx)(M,{"data-slot":`checkbox-group`,children:[`monthly`,`yearly`].map(e=>(0,X.jsxs)(R,{"data-disabled":!v||void 0,orientation:`horizontal`,children:[(0,X.jsx)(E,{checked:m.includes(e),disabled:!v,id:`portal-plan-${e}`,onCheckedChange:()=>_(e)}),(0,X.jsx)(I,{className:`capitalize`,htmlFor:`portal-plan-${e}`,children:e})]},e))})]}),m.includes(`yearly`)&&m.includes(`monthly`)&&(0,X.jsxs)(R,{children:[(0,X.jsx)(I,{children:`Default price at signup`}),(0,X.jsxs)(w,{value:typeof p==`string`?p:``,onValueChange:e=>t(`portal_default_plan`,e),children:[(0,X.jsx)(S,{"aria-label":`Default price at signup`,children:(0,X.jsx)(C,{})}),(0,X.jsx)(x,{children:A.map(e=>(0,X.jsx)(b,{value:e.value,children:e.label},e.value))})]})]})]}),(0,X.jsx)(Se,{error:!!i.portal_signup_terms_html,hint:i.portal_signup_terms_html||(0,X.jsxs)(X.Fragment,{children:[`Recommended: `,(0,X.jsx)(`strong`,{children:o(115)}),` characters. You've used`,` `,(0,X.jsx)(`strong`,{className:`text-green`,children:o(h)})]}),nodes:`MINIMAL_NODES`,placeholder:`By signing up, I agree to receive emails from ...`,title:`Display notice at signup`,value:u?.toString(),onChange:e=>t(`portal_signup_terms_html`,e)}),u?.toString()&&(0,X.jsxs)(R,{"data-disabled":!v||void 0,orientation:`horizontal`,children:[(0,X.jsx)(I,{htmlFor:`portal-require-agreement`,children:`Require agreement`}),(0,X.jsx)(y,{checked:!!d,disabled:!v,id:`portal-require-agreement`,onCheckedChange:e=>t(`portal_signup_checkbox_required`,e)})]}),(0,X.jsx)(Te,{localSettings:e,settingKey:`portal_signup_gift_promotion`,updateSetting:t})]})})},Pe=r({path:()=>`/settings/verifications`,method:`PUT`,body:({token:e})=>({token:e}),updateQueries:{dataType:`SettingsResponseType`,emberUpdateType:`createOrUpdate`,update:e=>({...e,settings:e.settings})}}),Fe={signupOptions:`signup`,lookAndFeel:`signup`,accountPage:`account`},$=`border-b-2 border-transparent after:hidden data-[state=active]:border-foreground`,Ie=({localSettings:e,updateSetting:t,localTiers:n,updateTier:r,errors:i,setError:a,selectedTab:o,onTabChange:s})=>(0,X.jsx)(`div`,{className:`pt-4`,children:(0,X.jsxs)(v,{value:o,variant:`underline`,onValueChange:e=>s(e),children:[(0,X.jsxs)(_,{children:[(0,X.jsx)(h,{className:$,value:`signupOptions`,children:`Signup options`}),(0,X.jsx)(h,{className:$,value:`lookAndFeel`,children:`Look & feel`}),(0,X.jsx)(h,{className:$,value:`accountPage`,children:`Account page`})]}),(0,X.jsx)(g,{value:`signupOptions`,children:(0,X.jsx)(Ne,{errors:i,localSettings:e,localTiers:n,setError:a,updateSetting:t,updateTier:r})}),(0,X.jsx)(g,{value:`lookAndFeel`,children:(0,X.jsx)(ke,{localSettings:e,updateSetting:t})}),(0,X.jsx)(g,{value:`accountPage`,children:(0,X.jsx)(Oe,{errors:i,localSettings:e,setError:a,updateSetting:t})})]})}),Le=()=>{let{updateRoute:e}=T(),{darkMode:t}=d(),[n,r]=(0,Y.useState)(`signup`),[o,s]=(0,Y.useState)(`signupOptions`),c=i(),{confirm:l}=be(),{settings:u,siteData:f,config:p}=q(),{mutateAsync:m}=se(),{data:{tiers:g}={}}=W(),{mutateAsync:y}=ve(),{mutateAsync:b}=Pe(),{getParam:x}=we(),S=x(`verifyEmail`);(0,Y.useEffect)(()=>{S&&(async({token:e})=>{try{let{settings:t}=await b({token:e}),[n]=U(t,[`members_support_address`]);l({title:`Support address verified`,prompt:(0,X.jsxs)(X.Fragment,{children:[`Your support email address has been changed to `,(0,X.jsx)(`strong`,{children:n}),`.`]}),okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()})}catch(e){let t=`There was an error verifying your email address. Please try again.`;e instanceof Error&&e.message===`Token expired`&&(t=`Verification link has expired.`),l({title:`Error verifying support address`,prompt:t,okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()}),c(e,{withToast:!1})}})({token:S})},[l,c,S,b]);let{formState:C,setFormState:w,saveState:E,handleSave:D,updateForm:O,okProps:k}=a({initialState:{settings:u,tiers:g||[]},savingDelay:500,onSave:async()=>{await Promise.all(C.tiers.filter(({dirty:e})=>e).map(e=>y(e))),w(e=>({...e,tiers:C.tiers.map(e=>({...e,dirty:!1}))}));let e=C.settings.filter(e=>e.dirty);if(!e.length)return;let{meta:t,settings:n}=await m(e);if(w(e=>({...e,settings:C.settings.map(e=>({...e,dirty:!1}))})),t?.sent_email_verification){let e=C.settings.find(e=>e.key===`members_support_address`)?.value,t=n.find(e=>e.key===`support_email_address`)?.value||V(n.find(e=>e.key===`members_support_address`)?.value?.toString()||`noreply`,f,p);l({title:`Confirm email address`,prompt:(0,X.jsxs)(X.Fragment,{children:[`We've sent a confirmation email to `,(0,X.jsx)(`strong`,{children:e}),`. Until verified, your support email address will remain `,t,`.`]}),okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()})}},onSaveError:c});(0,Y.useEffect)(()=>{!C.tiers.length&&g?.length&&w(e=>({...e,tiers:g}))},[g,C.tiers,w]);let[A,j]=(0,Y.useState)({}),ee=(e,t)=>{O(n=>({...n,settings:n.settings.map(n=>n.key===e?{...n,value:t,dirty:!0}:n)}))},M=(e,t)=>{j(n=>({...n,[e]:t}))},N=e=>{O(t=>({...t,tiers:t.tiers.map(t=>t.id===e.id?{...e,dirty:!0}:t)}))},P=e=>{r(e),e===`account`?s(`accountPage`):e===`signup`&&o===`accountPage`&&s(`signupOptions`)},F=(0,X.jsx)(Ie,{errors:A,localSettings:C.settings,localTiers:C.tiers,selectedTab:o,setError:M,updateSetting:ee,updateTier:N,onTabChange:e=>{s(e),r(Fe[e])}}),I=(0,X.jsx)(Me,{darkMode:t,localSettings:C.settings,localTiers:C.tiers,selectedTab:n}),L=(0,X.jsx)(v,{value:n,variant:`button`,onValueChange:e=>P(e),children:(0,X.jsxs)(_,{children:[(0,X.jsx)(h,{value:`signup`,children:`Signup`}),(0,X.jsx)(h,{value:`account`,children:`Account page`}),(0,X.jsx)(h,{value:`links`,children:`Links`})]})});return(0,X.jsx)(Ce,{buttonsDisabled:k.disabled,cancelLabel:`Close`,dirty:E===`unsaved`,okLabel:k.label||`Save`,okVariant:k.variant,preview:I,previewBgColor:n===`links`?`white`:`greygradient`,previewToolbarTabs:L,sidebar:F,testId:`portal-modal`,title:`Portal`,onClose:()=>{e(`portal`)},onOk:async()=>{Object.values(A).filter(Boolean).length||await D({force:!0})}})};export{Le as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";var n=e(t(),1),r=(0,n.createContext)(void 0),i=()=>{let e=(0,n.useContext)(r);if(!e)throw Error(`usePostAnalytics must be used within a PostAnalyticsProvider`);return e};export{i as n,r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{o as r,p as ee}from"./hooks-CuEZV2-q.js";import{n as i,o as te,r as ne,t as re}from"./pagemenu-B5KKCpbA.js";import{o as ie}from"./posts-DuGazgTb.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-B0gZyiGJ.js";import{f as l,l as u,m as se,u as d}from"./dist-B3keLvjj.js";import{t as ce}from"./heading-Dh5SFVjL.js";import{E as le,Mn as ue,X as de,jn as fe,t as f,xt as pe}from"./button-eNMKQWXr.js";import{a as me,i as he,n as p,o as ge,r as _e,t as ve}from"./breadcrumb-zUrZrBtW.js";import{r as m}from"./users-Cg-OeGzC.js";import{Cr as h,Tr as g,ar as _,er as v,ir as y,jr as b,kr as x,li as S,mi as C,nr as w,or as T,rr as E,sr as D,tr as O,wr as k,xr as A}from"./index-6MkPdCtr.js";import{t as j}from"./use-analytics-data-CWCMAESo.js";import{t as M}from"./get-site-timezone-HgL0jI_F.js";import{t as N}from"./post-share-modal-C-PaYZ_e.js";import{i as P,t as ye}from"./gift-link-modal-CQVAye17.js";import{n as be}from"./post-analytics-context-D0Mw-Pmv.js";var F=e(t(),1),I=n(),L=(0,F.forwardRef)(({children:e,className:t,...n},r)=>(0,I.jsx)(`section`,{ref:r,className:u(`flex size-full grow flex-col gap-6 py-8`,t),...n,children:e}));L.displayName=`PostAnalyticsContent`;var R=e=>{let{data:t}=r();return!e||!t?!1:e.status===`published`&&!!e.visibility&&e.visibility!==`public`&&m(t)},z=({currentTab:e,children:t})=>{let n=oe(),r=C(),u=S(),{mutateAsync:m}=ie(),L=ee(),[z,B]=(0,F.useState)(!1),[V,H]=(0,F.useState)(!1),[xe,U]=(0,F.useState)(!1),{settings:Se,site:W,statsConfig:Ce}=j(),{post:G,isPostLoading:K,postId:q}=be(),J=R(G),Y=M(Se),X=(0,F.useRef)(!1);(0,F.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}=te({postUuid:G?.uuid,statsConfig:Ce,enabled:r}),$=(0,F.useMemo)(()=>{if(!G)return[];let e=[];return a(G)&&!r||(e.push(`Overview`),!G.email_only&&r&&e.push(`Web`)),s(G)&&e.push(`Newsletter`),u&&e.push(`Growth`),e},[G,r,u]),we=()=>{G&&B(!0)},Te=async()=>{if(G)try{await m(q),B(!1),n(`/posts/`,{crossApp:!0})}catch(e){L(e)}};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`header`,{className:`z-50 -mx-8 bg-white/70 backdrop-blur-md dark:bg-background admin7:-mx-(--page-gutter)`,children:(0,I.jsx)(`div`,{className:`relative flex min-h-[102px] w-full items-start justify-between gap-5 px-8 pt-8 pb-0 admin7:px-(--page-gutter) admin7:pt-[28px]!`,"data-header":`header`,children:(0,I.jsxs)(`div`,{className:`flex w-full flex-col gap-6`,children:[(0,I.jsxs)(`div`,{className:`flex w-full flex-col justify-between md:flex-row md:items-center admin7:flex-wrap`,children:[(0,I.jsx)(ve,{children:(0,I.jsxs)(he,{children:[(0,I.jsx)(p,{children:(0,I.jsx)(_e,{asChild:!0,children:(0,I.jsx)(`button`,{className:`cursor-pointer rounded-sm focus-visible:ring-1 focus-visible:ring-focus-ring focus-visible:outline-hidden`,type:`button`,onClick:()=>n(`/analytics/`),children:`Analytics`})})}),(0,I.jsx)(ge,{}),(0,I.jsx)(p,{children:(0,I.jsx)(me,{children:`Post analytics`})})]})}),(0,I.jsxs)(`div`,{className:`flex w-full items-center gap-2 md:w-auto`,children:[r&&!G?.email_only&&(0,I.jsx)(`div`,{className:`mr-3 flex grow items-center gap-2 md:grow-0`,children:(0,I.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,I.jsxs)(`span`,{children:[Q?``:se(Z),` reading now`]}),(0,I.jsx)(`div`,{className:`size-2 rounded-full ${Q?`animate-pulse bg-muted`:Z?`bg-green-500`:`border border-muted-foreground`}`})]})}),!K&&(0,I.jsxs)(I.Fragment,{children:[!G?.email_only&&(0,I.jsx)(N,{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,I.jsxs)(f,{variant:`outline`,onClick:()=>H(!0),children:[(0,I.jsx)(de,{}),` Share`]})}),(0,I.jsxs)(A,{children:[(0,I.jsx)(b,{asChild:!0,children:(0,I.jsx)(f,{variant:`outline`,children:(0,I.jsx)(ue,{})})}),(0,I.jsxs)(h,{align:`end`,children:[(0,I.jsxs)(k,{children:[(0,I.jsx)(g,{asChild:!0,children:(0,I.jsxs)(`a`,{href:G?.url,rel:`noopener noreferrer`,target:`_blank`,children:[(0,I.jsx)(fe,{}),`View in browser`]})}),(0,I.jsxs)(g,{onClick:()=>{n(`/editor/post/${q}`,{crossApp:!0})},children:[(0,I.jsx)(pe,{}),`Edit post`]})]}),(0,I.jsx)(x,{}),(0,I.jsx)(k,{children:(0,I.jsxs)(g,{className:`text-destructive focus:text-destructive`,onClick:we,children:[(0,I.jsx)(le,{}),`Delete post`]})})]})]})]})]})]}),!K&&(0,I.jsxs)(`div`,{className:`flex items-start gap-6 md:items-center`,children:[G?.feature_image&&(0,I.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,I.jsxs)(`div`,{children:[(0,I.jsx)(ce,{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,I.jsxs)(`div`,{className:`mt-0.5 flex items-center justify-start leading-[1.65em] text-muted-foreground`,children:[o(G)&&`Sent on ${d(G.published_at,Y)} at ${l(G.published_at,Y)}`,a(G)&&`Published on your site on ${d(G.published_at,Y)} at ${l(G.published_at,Y)}`,c(G)&&`Published and sent on ${d(G.published_at,Y)} at ${l(G.published_at,Y)}`]})]})]})]})})}),(0,I.jsxs)(ne,{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,I.jsxs)(re,{className:`min-h-[34px]`,defaultValue:e,responsive:!0,children:[$.includes(`Overview`)&&(0,I.jsx)(i,{value:`Overview`,onClick:()=>{n(`/posts/analytics/${q}`)},children:`Overview`}),$.includes(`Web`)&&(0,I.jsx)(i,{value:`Web`,onClick:()=>{n(`/posts/analytics/${q}/web`)},children:`Web traffic`}),$.includes(`Newsletter`)&&(0,I.jsx)(i,{value:`Newsletter`,onClick:()=>{n(`/posts/analytics/${q}/newsletter`)},children:`Newsletter`}),$.includes(`Growth`)&&(0,I.jsx)(i,{value:`Growth`,onClick:()=>{n(`/posts/analytics/${q}/growth`)},children:`Growth`})]}),t]}),J&&q&&(0,I.jsx)(ye,{open:xe,postId:q,source:`share-modal`,onOpenChange:U},q),(0,I.jsx)(v,{open:z,onOpenChange:B,children:(0,I.jsxs)(E,{children:[(0,I.jsxs)(T,{children:[(0,I.jsx)(D,{children:`Are you sure you want to delete this post?`}),(0,I.jsxs)(y,{children:[`You're about to delete "`,(0,I.jsx)(`strong`,{children:G?.title}),`". This is permanent! We warned you, k?`]})]}),(0,I.jsxs)(_,{children:[(0,I.jsx)(w,{children:`Cancel`}),(0,I.jsx)(O,{className:`bg-red-600 text-white hover:bg-red-700`,onClick:()=>void Te(),children:`Delete`})]})]})})]})};export{R as n,L as r,z as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./posts-DuGazgTb.js";import{t as i}from"./analytics-53FOa2wq.js";import{i as a}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{m as o}from"./dist-B3keLvjj.js";import{t as s}from"./box-CdfQAP_F.js";import{t as c}from"./container-BuQG1wuP.js";import{t as l}from"./use-analytics-data-CWCMAESo.js";import{t as u}from"./post-share-modal-C-PaYZ_e.js";var d=e(t(),1),f=n(),p=({children:e})=>(0,f.jsx)(s,{className:`size-full`,children:(0,f.jsx)(c,{className:`relative flex h-full flex-col`,size:`page`,children:(0,f.jsx)(`div`,{className:`grid w-full grow admin7:grid-cols-[minmax(0,1fr)]`,children:(0,f.jsx)(`div`,{className:`flex h-full flex-col px-8 admin7:px-(--page-gutter)`,children:e})})})}),m=()=>{let[e,t]=(0,d.useState)(!1),[n,i]=(0,d.useState)(null),[a,s]=(0,d.useState)(null),{site:c}=l(),{data:u}=r({searchParams:n?{filter:`id:${n.id}`,include:`authors,newsletter,email`}:{},enabled:!!n}),{data:f}=r({searchParams:{filter:`status:[published,sent]`,limit:`1`,fields:`id`},enabled:!!n}),p=u?.posts?.[0],m=e=>`${o(e)} subscriber${e===1?``:`s`}`,h=e=>new Date(e).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),g=e=>e?.map(e=>e.name).join(`, `)||``,_=(0,d.useMemo)(()=>{if(!p)return null;let n=!!a,r=()=>{let e=[];if(p.email_only?e.push(`Your email was sent to`):p.email?.email_count?e.push(`Your post was published on your site and sent to`):e.push(`Your post was published on your site`),p.email?.email_count){let t=m(p.email.email_count);e.push(` `),e.push(d.createElement(`strong`,{key:`subscriber-count`},t)),p.newsletter?.name&&(e.push(` of `),e.push(d.createElement(`strong`,{key:`newsletter-name`},p.newsletter.name))),e.push(`,`)}if(p.published_at){let t=new Date(p.published_at);t.toDateString()===new Date().toDateString()?(e.push(` `),e.push(d.createElement(`strong`,{key:`today`},`today`))):(e.push(` on `),e.push(d.createElement(`strong`,{key:`date`},t.toLocaleDateString(`en-US`,{month:`long`,day:`numeric`})))),e.push(` at `),e.push(d.createElement(`strong`,{key:`time`},h(p.published_at)))}return e.push(`.`),d.createElement(`span`,{},...e)},l=()=>{t(!1),i(null),s(null)};return{open:e,onOpenChange:e=>{e||l()},emailOnly:p.email_only,postURL:p.url||``,primaryTitle:`Boom! It's out there.`,secondaryTitle:n&&a?`That's ${o(a)} post${a===1?``:`s`} published.`:`Spread the word!`,description:r(),featureImageURL:p.feature_image||``,postTitle:p.title||``,postExcerpt:p.excerpt||``,faviconURL:c?.icon||``,siteTitle:c?.title||``,author:g(p.authors),onClose:l}},[p,e,a,c?.title]);return(0,d.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,d.useEffect)(()=>{f?.meta?.pagination?.total&&s(f.meta.pagination.total)},[f]),{isModalOpen:e,post:p,postCount:a,showPostCount:!!a,closeModal:()=>{t(!1),i(null),s(null)},modalProps:_}},h=()=>{let{isModalOpen:e,modalProps:t}=m(),n=e&&!!t;return(0,d.useEffect)(()=>{n&&i(`Share Modal Opened`,{giftLinkShown:!1,source:`publish-flow`})},[n]),(0,f.jsxs)(p,{children:[(0,f.jsx)(a,{}),e&&t&&(0,f.jsx)(u,{...t})]})};export{h as default};
|