ghost 6.63.0 → 6.65.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/create-migration.js +15 -0
- package/bin/lib/duplicate-deps.js +204 -0
- package/bin/validate-adapters.js +50 -6
- package/components/tryghost-adapter-base-scheduling-0.2.4.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
- package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
- package/components/tryghost-api-framework-0.0.0.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/{tryghost-kg-default-cards-10.3.5.tgz → tryghost-kg-default-cards-10.3.6.tgz} +0 -0
- package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
- package/components/{tryghost-kg-lexical-html-renderer-1.5.0.tgz → tryghost-kg-lexical-html-renderer-1.5.1.tgz} +0 -0
- package/components/tryghost-limit-service-0.0.0.tgz +0 -0
- package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
- package/content/themes/casper/assets/built/casper.js +1 -1
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/css/screen.css +15 -2
- package/content/themes/casper/assets/js/init.js +37 -9
- package/content/themes/casper/package.json +8 -8
- package/content/themes/source/assets/built/screen.css +1 -1
- package/content/themes/source/assets/built/source.js +1 -1
- package/content/themes/source/assets/css/screen.css +15 -2
- package/content/themes/source/assets/js/main.js +24 -4
- package/content/themes/source/package.json +8 -8
- package/core/boot.js +27 -15
- package/core/bridge.js +1 -1
- package/core/built/admin/assets/Combination-DQ6f9A5P.js +41 -0
- package/core/built/admin/assets/{PolarAngleAxis-pkMyqz8g.js → PolarAngleAxis-BBaU7PRV.js} +2 -2
- package/core/built/admin/assets/RadialBarChart-Bp20JPnA.js +1 -0
- package/core/built/admin/assets/about-Dp43j18M.js +1 -0
- package/core/built/admin/assets/accordion-h62UzFhj.js +1 -0
- package/core/built/admin/assets/account-migration-CBTbtX6Q.js +1 -0
- package/core/built/admin/assets/action-list-DC9QpX-l.js +1 -0
- package/core/built/admin/assets/activitypub/{account-migration-KA6Jjf9L.js → account-migration-B1DUZS4Q.js} +8 -8
- package/core/built/admin/assets/activitypub/activitypub.js +24 -11
- package/core/built/admin/assets/activitypub/avatar-CRGud8yf.js +153 -0
- package/core/built/admin/assets/activitypub/{avatar-flipboard-csQaNeYK.js → avatar-flipboard-BZNFAXfm.js} +3 -3
- package/core/built/admin/assets/activitypub/{bluesky-sharing-C7nTDMvw.js → bluesky-sharing-Cg_v-LwS.js} +30 -31
- package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-Ck3O4oo2.js → chunk-KS7C4IRE-CTUL98Lc.js} +2498 -1885
- package/core/built/admin/assets/activitypub/{content-formatters-CLcjaBwV.js → content-formatters-D7GWP7nH.js} +23 -24
- package/core/built/admin/assets/activitypub/{copy-DcOh8kXw.js → copy-CgzTvoeR.js} +2 -2
- package/core/built/admin/assets/activitypub/{domain-fZ-X8i4-.js → domain-C3G_nkHU.js} +46 -46
- package/core/built/admin/assets/activitypub/{edit-profile-BqMLQV88.js → edit-profile-C8cCY-AK.js} +927 -928
- package/core/built/admin/assets/activitypub/{explore-B4yPoP8E.js → explore-NlDT4inq.js} +11 -11
- package/core/built/admin/assets/activitypub/{feed-BRC_mvAe.js → feed-DF22jCTV.js} +10 -10
- package/core/built/admin/assets/activitypub/{field-COacNgOt.js → field-95-iuTte.js} +4 -4
- package/core/built/admin/assets/activitypub/{hash-C7u-irQQ.js → hash-R7LMLnhY.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-CbTTdDQ3.js → inbox-DUJUiV6x.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-BW-yvUoN.js → inbox-DerExBzA.js} +416 -414
- package/core/built/admin/assets/activitypub/{label-kPMmYI7l.js → label-EwCn1QYc.js} +4 -4
- package/core/built/admin/assets/activitypub/layout-Dy6NnW1G.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-CuidJzc0.js → moderation-BSkfiVYo.js} +73 -75
- package/core/built/admin/assets/activitypub/{note-CAMRRSqD.js → note-DOnAJTXK.js} +9 -9
- package/core/built/admin/assets/activitypub/{notifications-BmNlXGgp.js → notifications-DZc6XTjG.js} +27 -27
- package/core/built/admin/assets/activitypub/{onboarding-Dmun9jr_.js → onboarding-8vEIwYTH.js} +3 -3
- package/core/built/admin/assets/activitypub/{onboarding-Bqg7fh_L.js → onboarding-DYVqbNmp.js} +2 -2
- package/core/built/admin/assets/activitypub/{preferences--oH19wf9.js → preferences-DDok6F2N.js} +1418 -1390
- package/core/built/admin/assets/activitypub/{profile-DH_tQx2D.js → profile-DjVa2hUk.js} +254 -255
- package/core/built/admin/assets/activitypub/{reply-Cap9PxSH.js → reply-DtXBpHxu.js} +2 -2
- package/core/built/admin/assets/activitypub/routes-Cw302e1c.js +4946 -0
- package/core/built/admin/assets/activitypub/{separator-CAxxu8VV.js → separator-FpRpVDd3.js} +8 -9
- package/core/built/admin/assets/activitypub/settings-yK-puALn.js +314 -0
- package/core/built/admin/assets/activitypub/{site-BYps63oh.js → site-CHw0R2PA.js} +2 -2
- package/core/built/admin/assets/activitypub/{step-1-CKjR2KAm.js → step-1-737bnvxk.js} +7 -7
- package/core/built/admin/assets/activitypub/{step-2-B6PKfOUQ.js → step-2-DBaIsAsM.js} +7 -7
- package/core/built/admin/assets/activitypub/{step-3-C-qBbcUo.js → step-3-BBmy9m9V.js} +23 -23
- package/core/built/admin/assets/activitypub/tabs-LQ2xirdm.js +1101 -0
- package/core/built/admin/assets/activitypub/{topic-filter-DsUOuu0k.js → topic-filter-75Nu0CKj.js} +4 -4
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CX9snsLs.js → use-activity-pub-queries-CYI2QJMs.js} +58 -58
- package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-DsJTGDSS.js → use-navigate-with-base-path-B4jZ8hyg.js} +3924 -1403
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-AJi9zkzm.js → use-reply-chain-data-BHmFxc3U.js} +6 -6
- package/core/built/admin/assets/activitypub/users-CSjOwpT9.js +886 -0
- package/core/built/admin/assets/activitypub/{x-DR8AT3-4.js → x-B9ptWCds.js} +2 -2
- package/core/built/admin/assets/add-integration-modal-BwePhq95.js +1 -0
- package/core/built/admin/assets/add-newsletter-modal-Zv0I7Msm.js +1 -0
- package/core/built/admin/assets/add-recommendation-modal-cdLv0wHy.js +1 -0
- package/core/built/admin/assets/analytics-DY8_SaP7.js +1 -0
- package/core/built/admin/assets/announcement-bar-modal-C-2yWwag.js +1 -0
- package/core/built/admin/assets/api-keys-BHKATUqQ.js +1 -0
- package/core/built/admin/assets/{api-keys-BGPzLHzA.js → api-keys-omLA6iYn.js} +1 -1
- package/core/built/admin/assets/{audience-ceV3XVHq.js → audience-wRcSN0jV.js} +1 -1
- package/core/built/admin/assets/automated-emails-CzUa3v4d.js +1 -0
- package/core/built/admin/assets/automations-DupSsSOr.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-CI1Z0xyG.js +1 -0
- package/core/built/admin/assets/bluesky-sharing-B8PC1SBj.js +1 -0
- package/core/built/admin/assets/box-LUuYRT-1.js +1 -0
- package/core/built/admin/assets/brand-icon-CrmbX86T.js +1 -0
- package/core/built/admin/assets/breadcrumb-DDDpzLyo.js +1 -0
- package/core/built/admin/assets/button-D414TI3B.js +1 -0
- package/core/built/admin/assets/calendar-Cp_opo3i.js +1 -0
- package/core/built/admin/assets/card-C2dfd5u0.js +1 -0
- package/core/built/admin/assets/chart-B_UNLXse.js +63 -0
- package/core/built/admin/assets/chart-helpers-Czu_9QpJ.js +1 -0
- package/core/built/admin/assets/checkbox-CFFqf0Nh.js +1 -0
- package/core/built/admin/assets/{chunk-KS7C4IRE-DCsL4i4D.js → chunk-KS7C4IRE-DhOcHQOU.js} +1 -1
- package/core/built/admin/assets/{chunk.254.035b85ec456ebbd7336b.js → chunk.201.6961b57ed7a281ac193e.js} +165 -122
- package/core/built/admin/assets/chunk.524.0b850e72ec49a0fa3882.js +25 -0
- package/core/built/admin/assets/chunk.582.db2ae9e968256e8d58ac.js +27 -0
- package/core/built/admin/assets/{chunk.901.4ccc639821020230bcca.js → chunk.972.4b8c97f93d66db15e751.js} +10625 -10088
- package/core/built/admin/assets/clean-tracked-url-dkN05vOf.js +1 -0
- package/core/built/admin/assets/code-editor-view-Bd_nnHKk.js +1 -0
- package/core/built/admin/assets/code-editor-view-BeU3Yf9M.js +1 -0
- package/core/built/admin/assets/color-picker-Bzm1V7qg.js +3 -0
- package/core/built/admin/assets/color-picker-field-DP0moHz9.js +1 -0
- package/core/built/admin/assets/combobox-6_ruuTuj.js +1 -0
- package/core/built/admin/assets/command-B5wfm6pd.js +1 -0
- package/core/built/admin/assets/comments-BB26dUSl.js +1 -0
- package/core/built/admin/assets/components-CwL6a6As-CCRaoCeP.js +1 -0
- package/core/built/admin/assets/{config-kSHvwdTG.js → config-BPljH6wF.js} +1 -1
- package/core/built/admin/assets/confirmation-context-znVJD4pX.js +1 -0
- package/core/built/admin/assets/container-CHHif8km.js +1 -0
- package/core/built/admin/assets/content-api-modal-DOHwl0yZ.js +1 -0
- package/core/built/admin/assets/context-menu-BpY46Dlb.js +1 -0
- package/core/built/admin/assets/copy-field-DRBx6Ady.js +1 -0
- package/core/built/admin/assets/create-ghost-browse-value-source-eIXo5Qws.js +1 -0
- package/core/built/admin/assets/{custom-field-type-option-BAuW0F-E.js → custom-field-type-option-DrSlETOI.js} +1 -1
- package/core/built/admin/assets/custom-integration-modal-Dgo425Ec.js +1 -0
- package/core/built/admin/assets/data-list-DM8yqpXi.js +1 -0
- package/core/built/admin/assets/date-range-select-DdC23c13.js +1 -0
- package/core/built/admin/assets/design-and-theme-modal-CbSu9IT4.js +2 -0
- package/core/built/admin/assets/detail-page-CN4NdhpV.js +1 -0
- package/core/built/admin/assets/dirty-confirm-dialog-BT_Vq9TD.js +1 -0
- package/core/built/admin/assets/disabled-sources-indicator-C5xtW0Q2.js +1 -0
- package/core/built/admin/assets/dist-B40T-RCQ.js +1 -0
- package/core/built/admin/assets/dist-BRQkNYN1.js +11 -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-Cm2qbZKL.js +1 -0
- package/core/built/admin/assets/dist-CrlaEoaK.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-nmRzULcD.js +1 -0
- package/core/built/admin/assets/domain-BPReCZa8.js +1 -0
- package/core/built/admin/assets/dropzone-B2auMkf2.js +5 -0
- package/core/built/admin/assets/edit-profile-B7XTBzKe.js +1 -0
- package/core/built/admin/assets/editor-BcaC9dqm.js +8 -0
- package/core/built/admin/assets/editor-screen-FuMpItC8.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-9d81o1C2.js +1 -0
- package/core/built/admin/assets/{emails-vFMk4yYl.js → emails-CgvIIz3q.js} +1 -1
- package/core/built/admin/assets/embed-signup-form-modal-CbVbMsxl.js +8 -0
- package/core/built/admin/assets/empty-indicator-CSQts7GV.js +1 -0
- package/core/built/admin/assets/esm--rhhUGIG.js +2 -0
- package/core/built/admin/assets/explore-DbSXFTJN.js +1 -0
- package/core/built/admin/assets/feature-flag-overrides-context-CrcQKm9Z.js +1 -0
- package/core/built/admin/assets/feature-image-placeholder-DFXA4vfJ.js +1 -0
- package/core/built/admin/assets/feed-W7RlF-Gp.js +1 -0
- package/core/built/admin/assets/feedback-BTPBQLT5.js +1 -0
- package/core/built/admin/assets/field-BXEh3ptU.js +1 -0
- package/core/built/admin/assets/filter-sources-DHK2IoCk.js +1 -0
- package/core/built/admin/assets/filters-0SYNTqyQ.js +1 -0
- package/core/built/admin/assets/filters-DTtZKQyq.js +1 -0
- package/core/built/admin/assets/first-promoter-modal-DcoN_OXu.js +1 -0
- package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-CkFA8EkI.js +1 -0
- package/core/built/admin/assets/framework-provider-DB-svAju.js +4 -0
- package/core/built/admin/assets/{ghost-b4e8a403baba61905cd7560e30b9732d.js → ghost-25495154132af7305cb7b646fd83f48f.js} +580 -523
- package/core/built/admin/assets/gift-link-modal-BX-Q1TOk.js +1 -0
- package/core/built/admin/assets/{gift-links-CfLSnst2.js → gift-links-D8gl_yJS.js} +1 -1
- package/core/built/admin/assets/global-data-context-3MItMry2.js +1 -0
- package/core/built/admin/assets/grid-BEUIDQX7.js +1 -0
- package/core/built/admin/assets/growth-G6PLO4aF.js +1 -0
- package/core/built/admin/assets/growth-tkD-fBOY.js +3 -0
- package/core/built/admin/assets/heading-ih-fOVqF.js +1 -0
- package/core/built/admin/assets/history-modal-Ca-gStoq.js +1 -0
- package/core/built/admin/assets/hooks-DYfTEQLk.js +2 -0
- package/core/built/admin/assets/html-field-B3CrKV9Y.js +1 -0
- package/core/built/admin/assets/iframe-buffering-Bq1el-gw.js +1 -0
- package/core/built/admin/assets/images-H-BIm8OQ.js +1 -0
- package/core/built/admin/assets/{inbox-gJHG7_xd.js → inbox-DBbDVMPz.js} +35 -35
- package/core/built/admin/assets/index-DOF2jDq0.js +4 -0
- package/core/built/admin/assets/index-JrrNchW1.css +2 -0
- package/core/built/admin/assets/index.es-Ct5XQNSj.js +1 -0
- package/core/built/admin/assets/input-group-CvH-3d3F.js +1 -0
- package/core/built/admin/assets/input-surface-CL23Mlh8.js +1 -0
- package/core/built/admin/assets/integration-header-C7GXGis_.js +1 -0
- package/core/built/admin/assets/{integrations-B4kuRBFY.js → integrations-DnJrZnHv.js} +1 -1
- package/core/built/admin/assets/invite-user-modal-EJ2_6RpV.js +1 -0
- package/core/built/admin/assets/isPlainObject-BzzgUf1E.js +1 -0
- package/core/built/admin/assets/jsx-runtime-BlNNh7jY.js +1 -0
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +3 -3
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +1 -1
- package/core/built/admin/assets/{koenig-lexical-CGXb0F8o.js → koenig-lexical-Dkwee5FG.js} +1 -1
- package/core/built/admin/assets/koenig-loader-BzXCXHoA.js +2 -0
- package/core/built/admin/assets/kpi-card-iCDUTgOR.js +1 -0
- package/core/built/admin/assets/kpi-card-jTnpLKGr.js +1 -0
- package/core/built/admin/assets/kpi-helpers-Criu0YAf.js +1 -0
- package/core/built/admin/assets/kpi-tabs-DbOmmyOo.js +1 -0
- package/core/built/admin/assets/label-Du0yqMqL.js +1 -0
- package/core/built/admin/assets/label-picker-Bq1XXr1D.js +1 -0
- package/core/built/admin/assets/labels-0x2NfLtC.js +1 -0
- package/core/built/admin/assets/layout-Ckwzsnsu.js +1 -0
- package/core/built/admin/assets/lib-CCz2mjm8.js +2 -0
- package/core/built/admin/assets/link-helpers-o9GgBTni.js +1 -0
- package/core/built/admin/assets/links-Ctujreuh.js +1 -0
- package/core/built/admin/assets/list-page-CH_wnDC3.js +1 -0
- package/core/built/admin/assets/luxon-BXCsmep3.js +1 -0
- package/core/built/admin/assets/member-activity-CsAh6MxK.js +1 -0
- package/core/built/admin/assets/member-activity-feed-0ytsQbtY.js +1 -0
- package/core/built/admin/assets/member-custom-fields-CTFGnnYv.js +1 -0
- package/core/built/admin/assets/member-detail-QU3vB1ML.js +1 -0
- package/core/built/admin/assets/members-CtMVO_AB.js +4 -0
- package/core/built/admin/assets/modal-page-8Ipfl51B.js +1 -0
- package/core/built/admin/assets/moderation-B8VtA-W0.js +1 -0
- package/core/built/admin/assets/multi-select-combobox-_9wEYmGv.js +1 -0
- package/core/built/admin/assets/navigation-modal-CGcjJvkc.js +1 -0
- package/core/built/admin/assets/newsletter-BpHjjqmq.js +1 -0
- package/core/built/admin/assets/newsletter-detail-modal-DzTbGOyo.js +1 -0
- package/core/built/admin/assets/newsletter-emails-BMKH4Osp.js +1 -0
- package/core/built/admin/assets/newsletters-BxC84_cL.js +1 -0
- package/core/built/admin/assets/{newsletters-Rq1M3GD-.js → newsletters-Dz77m__5.js} +1 -1
- package/core/built/admin/assets/note-BPtEzzZS.js +1 -0
- package/core/built/admin/assets/notifications-ng3ulEdp.js +1 -0
- package/core/built/admin/assets/{nql-BLpCn7qX.js → nql-DnDc7UuU.js} +1 -1
- package/core/built/admin/assets/nql-lang-CeTB_Bhv.js +19 -0
- package/core/built/admin/assets/{offers--e2nGvkW.js → offers-ByWSK0rR.js} +1 -1
- package/core/built/admin/assets/offers-container-modal-CwqnRa3T.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-CplZzd7F.js +1 -0
- package/core/built/admin/assets/overview-B0yD9OoX.js +1 -0
- package/core/built/admin/assets/overview-C4eJzQqi.js +1 -0
- package/core/built/admin/assets/page-header-CdCpekG9.js +1 -0
- package/core/built/admin/assets/pagemenu-CKQD9hoP.js +1 -0
- package/core/built/admin/assets/{pages-CjDY2CBI.js → pages-DZ_YGB1D.js} +1 -1
- package/core/built/admin/assets/pages-route-CKsnxIvw.js +1 -0
- package/core/built/admin/assets/papaparse.min-BlhnCUXn.js +10 -0
- package/core/built/admin/assets/pintura-modal-C5jzeyGk.js +1 -0
- package/core/built/admin/assets/portal-frame-DYo0bh0E.js +1 -0
- package/core/built/admin/assets/portal-modal-C0d8xjKa.js +1 -0
- package/core/built/admin/assets/post-analytics-C5C7IyAm.js +1 -0
- package/core/built/admin/assets/post-analytics-context-bt2YTBAC.js +1 -0
- package/core/built/admin/assets/post-analytics-header-DKWHwoK2.js +1 -0
- package/core/built/admin/assets/post-analytics-provider-BqCPPxmW.js +1 -0
- package/core/built/admin/assets/post-share-modal-wxmqbAv_.js +1 -0
- package/core/built/admin/assets/posts-list-screen-B978ZO0R.js +2 -0
- package/core/built/admin/assets/posts-route-CDqxKazl.js +1 -0
- package/core/built/admin/assets/{posts-pCPrhQeR.js → posts-tcoO3iRG.js} +1 -1
- package/core/built/admin/assets/preferences-CnejTRc4.js +5 -0
- package/core/built/admin/assets/preview-chrome-C7yZWVLZ.js +1 -0
- package/core/built/admin/assets/preview-modal-CFUxUGHp.js +1 -0
- package/core/built/admin/assets/profile-ClRGiOqA.js +1 -0
- package/core/built/admin/assets/prop-types-6lTeqvom.js +1 -0
- package/core/built/admin/assets/radio-group-CTmLo0h9.js +1 -0
- package/core/built/admin/assets/react-BXwhMTuc.js +1 -0
- package/core/built/admin/assets/{jsx-runtime-DX3WBWVO.js → react-dom-CMOtJ5MH.js} +2 -2
- package/core/built/admin/assets/{referrers-D8oHPmDB.js → referrers-1R8bPpoV.js} +1 -1
- package/core/built/admin/assets/router-provider-DDZvgS3V.js +1 -0
- package/core/built/admin/assets/select-D_4xWFYv.js +1 -0
- package/core/built/admin/assets/settings-BRl7-7a9.js +1 -0
- package/core/built/admin/assets/settings-BoQcPa-y.js +4 -0
- package/core/built/admin/assets/settings-breadcrumbs-C9Yxl81q.js +1 -0
- package/core/built/admin/assets/{dist-B3keLvjj.js → shade-scope-Cccj-c7I-D0XwkdKQ.js} +5 -3
- package/core/built/admin/assets/share-modal-DBqZobuR.js +1 -0
- package/core/built/admin/assets/simple-pagination-D5t_ox6x.js +1 -0
- package/core/built/admin/assets/skeleton-CPcTiTSX.js +1 -0
- package/core/built/admin/assets/slack-modal-BF9ex8cd.js +1 -0
- package/core/built/admin/assets/sort-button-C0EXGjnS.js +1 -0
- package/core/built/admin/assets/source-icon-BzzftCQ2.js +1 -0
- package/core/built/admin/assets/{stats-D9PDLS3x.js → stats-Cvp8Ep5m.js} +1 -1
- package/core/built/admin/assets/stats-view-CzpGoHzF.js +1 -0
- package/core/built/admin/assets/step-1-CBUYUPPF.js +1 -0
- package/core/built/admin/assets/step-2-CEIXUwQa.js +1 -0
- package/core/built/admin/assets/step-3-C1HA5i1N.js +2 -0
- package/core/built/admin/assets/stripe-button-DMFsLs80.js +1 -0
- package/core/built/admin/assets/stripe-connect-modal-CEvxCUTv.js +1 -0
- package/core/built/admin/assets/switch-DoOJF2yg.js +1 -0
- package/core/built/admin/assets/table-BDYbUHJz.js +1 -0
- package/core/built/admin/assets/tabs-BZyz4ZCH.js +1 -0
- package/core/built/admin/assets/tag-detail-CFzaz_9E.js +2 -0
- package/core/built/admin/assets/tag-picker-BKUCZuRc.js +1 -0
- package/core/built/admin/assets/tags-Bs1FiD7m.js +1 -0
- package/core/built/admin/assets/{tags-ChfdwJyS.js → tags-NwZ7BPK6.js} +1 -1
- package/core/built/admin/assets/testimonials-modal-CVm0_7E-.js +1 -0
- package/core/built/admin/assets/text-BLI0C8Mc.js +1 -0
- package/core/built/admin/assets/textarea-C5qolByg.js +1 -0
- package/core/built/admin/assets/themes-DtcEFQWm.js +1 -0
- package/core/built/admin/assets/tier-detail-modal-Cmwzi-e7.js +1 -0
- package/core/built/admin/assets/{tiers-BCpIOGQr.js → tiers-6mPzCXlM.js} +1 -1
- package/core/built/admin/assets/toggle-group-BTL1QsWY.js +1 -0
- package/core/built/admin/assets/topic-filter-BMjhquv7.js +1 -0
- package/core/built/admin/assets/transistor-modal-hMv53jF8.js +1 -0
- package/core/built/admin/assets/trend-badge-1w_HEzkG.js +1 -0
- package/core/built/admin/assets/unsplash-modal-jzC8lEB2.js +1 -0
- package/core/built/admin/assets/use-analytics-data-B3lGOxsC.js +1 -0
- package/core/built/admin/assets/use-availability-DnKqOyqd.js +1 -0
- package/core/built/admin/assets/{use-check-theme-limit-error-DRUjK4YM.js → use-check-theme-limit-error-C1tc2P4N.js} +2 -2
- package/core/built/admin/assets/use-email-sending-status-DNMtL5B9.js +1 -0
- package/core/built/admin/assets/use-filter-params-DU-aiaTb.js +1 -0
- package/core/built/admin/assets/use-filterable-api-CxCrnPxG.js +1 -0
- package/core/built/admin/assets/use-form-DJKZJhQh.js +1 -0
- package/core/built/admin/assets/use-growth-stats-E13rMQUE.js +1 -0
- package/core/built/admin/assets/use-host-limits-mpTkZIq8.js +1 -0
- package/core/built/admin/assets/use-limiter-DlL7au90.js +19 -0
- package/core/built/admin/assets/use-navigate-with-base-path-BzgNwMAx.js +1 -0
- package/core/built/admin/assets/use-pintura-config-CtEV1JQY.js +1 -0
- package/core/built/admin/assets/use-pintura-editor-CaxE64kD.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-BST2OgCM.js +1 -0
- package/core/built/admin/assets/use-router-history-entry-CKx9LhqD.js +1 -0
- package/core/built/admin/assets/use-sending-eta-DR9ueMH8.js +1 -0
- package/core/built/admin/assets/use-setting-group-ldtX1Vsk.js +1 -0
- package/core/built/admin/assets/use-settings-navigation-CzGU4sus.js +1 -0
- package/core/built/admin/assets/use-staff-users-DoeXaPsb.js +1 -0
- package/core/built/admin/assets/use-tinybird-query-BaBNCaj0.js +1 -0
- package/core/built/admin/assets/use-tinybird-token-CnZ19NDf.js +1 -0
- package/core/built/admin/assets/use-unsaved-changes-guard-CKVPWz_F.js +1 -0
- package/core/built/admin/assets/use-upgrade-route-CVjDlNSs.js +1 -0
- package/core/built/admin/assets/{use-url-input-fvp-TpPx.js → use-url-input-C5KHJw79.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-Dm0KfPeR.js +1 -0
- package/core/built/admin/assets/{users-DVNWrqg9.js → users-C60_hpn6.js} +1 -1
- package/core/built/admin/assets/{validator-Cr0sMKuW.js → validator-DlFQP70j.js} +1 -1
- package/core/built/admin/assets/{vendor-2dd263291938d407802568d3357ec69e.js → vendor-97e91ff8dd1457c668f9ef103ee1a77b.js} +2748 -2977
- package/core/built/admin/assets/virtual-list-tAuPUICw.js +1 -0
- package/core/built/admin/assets/web-BQlKcW2x.js +2 -0
- package/core/built/admin/assets/web-NTT5DkEz.js +1 -0
- package/core/built/admin/assets/zapier-modal-DsHG9Oev.js +1 -0
- package/core/built/admin/index.html +35 -34
- package/core/cli/command.js +17 -2
- package/core/frontend/apps/private-blogging/index.js +2 -2
- package/core/frontend/apps/private-blogging/lib/middleware.js +1 -1
- package/core/frontend/apps/private-blogging/lib/router.js +1 -1
- package/core/frontend/helpers/cancel_link.js +3 -3
- package/core/frontend/helpers/content.js +2 -2
- package/core/frontend/helpers/content_api_url.js +1 -1
- package/core/frontend/helpers/date.js +1 -1
- package/core/frontend/helpers/foreach.js +5 -5
- package/core/frontend/helpers/get.js +7 -4
- package/core/frontend/helpers/ghost_head.js +2 -2
- package/core/frontend/helpers/has.js +1 -3
- package/core/frontend/helpers/link.js +7 -7
- package/core/frontend/helpers/link_class.js +2 -2
- package/core/frontend/helpers/navigation.js +1 -2
- package/core/frontend/helpers/recommendations.js +5 -6
- package/core/frontend/helpers/tiers.js +1 -1
- package/core/frontend/helpers/total_members.js +1 -1
- package/core/frontend/helpers/total_paid_members.js +1 -1
- package/core/frontend/meta/asset-url.js +1 -16
- package/core/frontend/meta/author-url.js +1 -1
- package/core/frontend/meta/modified-date.js +1 -1
- package/core/frontend/meta/published-date.js +1 -1
- package/core/frontend/meta/schema.js +3 -8
- package/core/frontend/meta/structured-data.js +1 -2
- package/core/frontend/services/asset-hash/index.js +32 -2
- package/core/frontend/services/assets-minification/minifier.js +1 -1
- package/core/frontend/services/data/entry-lookup.js +1 -1
- package/core/frontend/services/data/fetch-data.js +2 -2
- package/core/frontend/services/rendering/format-response.js +1 -1
- package/core/frontend/services/rendering/renderer.js +3 -0
- package/core/frontend/services/rendering/templates.js +1 -1
- package/core/frontend/services/routing/controllers/static.js +1 -1
- package/core/frontend/services/routing/controllers/unsubscribe.js +2 -1
- package/core/frontend/services/routing/parent-router.js +1 -1
- package/core/frontend/services/routing/registry.js +1 -1
- package/core/frontend/services/rss/generate-feed.js +1 -1
- package/core/frontend/services/sitemap/base-site-map-generator.js +68 -97
- package/core/frontend/services/sitemap/site-map-index-generator.js +16 -21
- package/core/frontend/services/sitemap/site-map-manager.js +82 -43
- package/core/frontend/services/sitemap/sitemap-xml.js +72 -0
- package/core/frontend/services/theme-engine/active.js +2 -4
- package/core/frontend/services/theme-engine/handlebars/utils.js +8 -8
- package/core/frontend/services/theme-engine/i18n/i18n.js +15 -6
- package/core/frontend/services/theme-engine/i18next/theme-i18n.js +1 -1
- package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +1 -1
- package/core/frontend/services/theme-engine/preview.js +1 -1
- package/core/frontend/utils/member-count.js +2 -2
- package/core/frontend/web/middleware/llms-discovery.js +34 -43
- package/core/frontend/web/routers/serve-public-file.js +1 -1
- package/core/server/adapters/route-settings/S3RouteSettingsStore.js +1 -1
- package/core/server/adapters/scheduling/README.md +4 -0
- package/core/server/adapters/scheduling/get-scheduler-idempotency-key.js +21 -0
- package/core/server/adapters/storage/LocalFilesStorage.js +12 -2
- package/core/server/adapters/storage/LocalStorageBase.js +15 -1
- package/core/server/api/endpoints/actions.js +2 -1
- package/core/server/api/endpoints/automated-emails.js +11 -4
- package/core/server/api/endpoints/automations.js +77 -49
- package/core/server/api/endpoints/db.js +1 -1
- package/core/server/api/endpoints/emails.js +11 -6
- package/core/server/api/endpoints/index.js +1 -1
- package/core/server/api/endpoints/invites.js +2 -1
- package/core/server/api/endpoints/labels.js +6 -2
- package/core/server/api/endpoints/mail.js +1 -1
- package/core/server/api/endpoints/member-metafields.js +2 -2
- package/core/server/api/endpoints/member-signin-urls.js +1 -1
- package/core/server/api/endpoints/members.js +23 -7
- package/core/server/api/endpoints/oembed.js +1 -1
- package/core/server/api/endpoints/pages.js +2 -6
- package/core/server/api/endpoints/posts.js +4 -12
- package/core/server/api/endpoints/settings.js +2 -2
- package/core/server/api/endpoints/snippets.js +2 -1
- package/core/server/api/endpoints/tags.js +6 -2
- package/core/server/api/endpoints/themes.js +5 -5
- package/core/server/api/endpoints/users.js +2 -6
- package/core/server/api/endpoints/utils/api-filter-utils.js +62 -3
- package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -2
- package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -2
- package/core/server/api/endpoints/utils/serializers/input/tags.js +1 -1
- package/core/server/api/endpoints/utils/serializers/input/utils/slug-filter-order.js +4 -4
- package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +8 -5
- package/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +1 -1
- package/core/server/api/endpoints/utils/serializers/output/pages.js +4 -4
- package/core/server/api/endpoints/utils/serializers/output/posts.js +4 -4
- package/core/server/api/endpoints/utils/serializers/output/search-index.js +11 -11
- package/core/server/api/endpoints/utils/serializers/output/settings.js +1 -1
- 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 +6 -3
- package/core/server/api/endpoints/utils/validators/input/automated_emails.js +23 -33
- package/core/server/api/endpoints/utils/validators/input/settings.js +18 -4
- package/core/server/data/exporter/exporter.js +3 -3
- package/core/server/data/exporter/table-lists.js +4 -5
- package/core/server/data/importer/handlers/image.js +1 -2
- package/core/server/data/importer/handlers/json.js +1 -3
- package/core/server/data/importer/handlers/markdown.js +4 -8
- package/core/server/data/importer/import-manager.js +1 -1
- package/core/server/data/importer/importers/content-file-importer.js +4 -8
- package/core/server/data/importer/importers/data/base.js +10 -10
- package/core/server/data/importer/importers/data/custom-theme-settings-importer.js +1 -1
- package/core/server/data/importer/importers/data/data-importer.js +3 -4
- package/core/server/data/importer/importers/data/posts-importer.js +10 -10
- package/core/server/data/importer/importers/data/products-importer.js +3 -3
- package/core/server/data/importer/importers/data/settings-importer.js +10 -4
- package/core/server/data/importer/importers/data/stripe-prices-importer.js +1 -1
- package/core/server/data/importer/importers/data/stripe-products-importer.js +1 -1
- package/core/server/data/importer/importers/data/tags-importer.js +1 -1
- package/core/server/data/importer/importers/data/users-importer.js +2 -2
- package/core/server/data/importer/importers/json-to-html.js +12 -9
- package/core/server/data/migrations/versions/5.0/2022-05-11-13-12-rename-settings.js +1 -1
- 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/migrations/versions/6.65/2026-09-16-15-35-26-add-members-metafield-change-events.js +17 -0
- package/core/server/data/schema/fixtures/fixture-manager.js +3 -3
- package/core/server/data/schema/index.js +1 -1
- package/core/server/data/schema/schema.js +54 -2
- package/core/server/data/schema/validator.js +96 -123
- 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 +3 -3
- 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 +2 -2
- package/core/server/data/seeders/importers/members-newsletters-importer.js +1 -1
- package/core/server/data/seeders/importers/members-paid-subscription-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-status-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-stripe-customers-importer.js +1 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +2 -2
- package/core/server/data/seeders/importers/members-subscribe-events-importer.js +2 -2
- package/core/server/data/seeders/importers/members-subscription-created-events-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 +25 -20
- package/core/server/data/tinybird/pipes/mv_pending_automation_runs.pipe +7 -0
- package/core/server/data/tinybird/scripts/docker-analytics-manager.js +2 -2
- package/core/server/data/tinybird/tests/api_automation_browse_stats.yaml +18 -0
- package/core/server/ghost-server.js +4 -22
- package/core/server/lib/generate-password.js +54 -0
- package/core/server/lib/image/image-size.js +1 -3
- package/core/server/lib/public-jwk.js +77 -0
- package/core/server/lib/request-external.js +53 -117
- package/core/server/models/base/plugins/actions.js +2 -3
- package/core/server/models/base/plugins/crud.js +1 -2
- package/core/server/models/base/plugins/events.js +4 -4
- package/core/server/models/base/plugins/raw-knex.js +3 -3
- package/core/server/models/base/plugins/sanitize.js +1 -1
- package/core/server/models/benefit.js +1 -1
- package/core/server/models/collection.js +1 -1
- package/core/server/models/comment.js +3 -3
- package/core/server/models/invite.js +2 -5
- package/core/server/models/label.js +3 -6
- package/core/server/models/member.js +7 -10
- package/core/server/models/newsletter.js +1 -1
- package/core/server/models/permission.js +3 -6
- package/core/server/models/post.js +20 -23
- package/core/server/models/product.js +4 -1
- package/core/server/models/relations/authors.js +9 -12
- package/core/server/models/role.js +2 -5
- package/core/server/models/settings.js +3 -3
- package/core/server/models/tag.js +2 -5
- package/core/server/models/user.js +19 -19
- package/core/server/models/webhook.js +2 -4
- package/core/server/notify.js +2 -2
- package/core/server/services/adapter-manager/base-classes.js +21 -3
- package/core/server/services/adapter-manager/utils.js +6 -1
- package/core/server/services/api-version-compatibility/legacy-api-path-match.js +2 -2
- package/core/server/services/auth/api-key/admin.js +2 -2
- package/core/server/services/auth/api-key/content.js +1 -1
- package/core/server/services/auth/passwordreset.js +1 -1
- package/core/server/services/auth/setup.js +1 -3
- package/core/server/services/automations/README.md +19 -0
- package/core/server/services/automations/automations-api.js +46 -1
- package/core/server/services/automations/poll.js +3 -1
- package/core/server/services/automations/service.js +2 -2
- package/core/server/services/automations/tinybird-automation-stats.js +56 -0
- package/core/server/services/automations/welcome-email-automation-poll.js +199 -293
- package/core/server/services/comments/comments-controller.js +9 -30
- package/core/server/services/comments/comments-service-email-renderer.js +1 -1
- package/core/server/services/comments/comments-service-emails.js +1 -1
- package/core/server/services/comments/comments-service.js +27 -58
- package/core/server/services/comments/comments-stats-service.js +1 -1
- package/core/server/services/content-import/import/media.js +1 -1
- package/core/server/services/content-import/import/staged-file.js +9 -9
- package/core/server/services/content-import/index.js +1 -1
- package/core/server/services/custom-redirects/validation.js +1 -1
- package/core/server/services/email-analytics/email-analytics-service-wrapper.js +38 -84
- package/core/server/services/email-analytics/email-analytics-service.js +19 -3
- package/core/server/services/email-analytics/index.js +44 -23
- package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.js +31 -60
- package/core/server/services/email-rendering/finalize.js +7 -2
- package/core/server/services/email-service/README.md +38 -0
- package/core/server/services/email-service/batch-sending-service.js +13 -14
- package/core/server/services/email-service/email-renderer.js +57 -16
- package/core/server/services/email-service/email-service-wrapper.js +4 -3
- package/core/server/services/email-service/email-service.js +76 -42
- package/core/server/services/email-service/email-templates/partials/feedback-button.hbs +2 -1
- package/core/server/services/email-service/email-templates/partials/styles.hbs +0 -6
- package/core/server/services/email-service/email-templates/template.hbs +1 -1
- package/core/server/services/email-service/jobs/send-email-job.js +12 -0
- package/core/server/services/email-service/mailgun-email-provider.js +7 -2
- package/core/server/services/email-service/sending-service.js +1 -1
- package/core/server/services/email-service/sending-status.js +10 -4
- package/core/server/services/gifts/gift-email-service.js +10 -3
- package/core/server/services/gifts/gift-service.js +12 -3
- package/core/server/services/gifts/index.js +1 -2
- package/core/server/services/gifts/jobs/index.js +12 -24
- package/core/server/services/gifts/jobs/send-gift-reminders-job.js +6 -46
- 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/invitations/accept.js +2 -2
- package/core/server/services/jobs/job-service.js +0 -28
- package/core/server/services/jobs-service/jobs-service.js +5 -0
- package/core/server/services/jobs-service/register-job-handlers.js +17 -1
- package/core/server/services/lib/mailgun-client.js +16 -1
- package/core/server/services/lib/mailgun-recipient-message-id.js +49 -0
- package/core/server/services/limits.js +18 -2
- package/core/server/services/mail/ghost-mailer.js +1 -1
- package/core/server/services/member-attribution/member-attribution-service.js +1 -1
- package/core/server/services/member-attribution/referrer-translator.js +1 -1
- package/core/server/services/member-welcome-emails/service.js +1 -1
- package/core/server/services/members/account-service.js +3 -3
- package/core/server/services/members/api.js +1 -1
- package/core/server/services/members/import-export/import/importer.js +25 -16
- package/core/server/services/members/import-export/import/spool.js +11 -15
- package/core/server/services/members/import-export/index.js +11 -8
- package/core/server/services/members/jobs/index.js +1 -1
- package/core/server/services/members/jobs/members-import-job.js +18 -0
- package/core/server/services/members/member-avatar.js +18 -0
- package/core/server/services/members/members-api/controllers/member-controller.js +2 -2
- 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 +4 -4
- package/core/server/services/members/members-api/repositories/event-repository.js +40 -1
- package/core/server/services/members/members-api/repositories/member-repository.js +55 -17
- package/core/server/services/members/members-api/repositories/product-repository.js +1 -1
- package/core/server/services/members/members-api/services/member-bread-service.js +19 -19
- package/core/server/services/members/members-api/services/token-service.js +11 -12
- package/core/server/services/members/middleware.js +9 -2
- package/core/server/services/members/request-integrity-token-provider.js +2 -1
- package/core/server/services/members/service.js +7 -2
- package/core/server/services/members/stats/members-stats.js +2 -2
- package/core/server/services/members-events/event-storage.js +2 -2
- package/core/server/services/members-metafields/access.js +31 -20
- package/core/server/services/members-metafields/actions.js +24 -2
- package/core/server/services/members-metafields/bindings-service.js +5 -5
- package/core/server/services/members-metafields/codec.js +9 -2
- package/core/server/services/members-metafields/definitions-service.js +57 -52
- package/core/server/services/members-metafields/index.js +3 -2
- package/core/server/services/members-metafields/models.js +2 -0
- package/core/server/services/members-metafields/queries.js +45 -11
- package/core/server/services/members-metafields/schema.js +51 -1
- package/core/server/services/members-metafields/serializers.js +1 -0
- package/core/server/services/members-metafields/values-service.js +132 -21
- package/core/server/services/mentions/mention-discovery-service.js +1 -1
- package/core/server/services/mentions/mention-sending-service.js +3 -3
- package/core/server/services/mentions/mention.js +4 -5
- package/core/server/services/mentions/mentions-api.js +4 -1
- package/core/server/services/mentions-jobs/job-service.js +0 -28
- package/core/server/services/milestones/milestones-service.js +1 -1
- package/core/server/services/newsletters/newsletters-service.js +1 -1
- package/core/server/services/notifications/notifications.js +3 -3
- package/core/server/services/oembed/oembed-service.js +115 -14
- package/core/server/services/permissions/can-this.js +1 -2
- package/core/server/services/post-scheduling/post-scheduling.js +8 -1
- package/core/server/services/posts/post-scheduling.js +27 -0
- package/core/server/services/settings/settings-bread-service.js +3 -3
- package/core/server/services/settings/settings-utils.js +1 -1
- package/core/server/services/settings-helpers/settings-helpers.js +1 -1
- package/core/server/services/staff/staff-service-emails.js +14 -10
- package/core/server/services/stats/posts-stats-service.js +10 -10
- package/core/server/services/stats/referrers-stats-service.js +1 -1
- package/core/server/services/stats/stats-service.js +12 -3
- package/core/server/services/stats/subscription-stats-service.js +3 -3
- package/core/server/services/stats/utils/tinybird.js +8 -1
- package/core/server/services/stripe/stripe-api.js +3 -3
- package/core/server/services/stripe/stripe-migrations.js +6 -6
- package/core/server/services/themes/storage.js +21 -26
- package/core/server/services/themes/theme-storage.js +2 -2
- package/core/server/services/tier-checkout-config/service.js +17 -1
- package/core/server/services/tiers/tier.js +15 -15
- 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 +31 -0
- package/core/server/services/tinybird-sync/sync-table-to-tinybird.js +149 -0
- package/core/server/services/tinybird-sync/tinybird-sync-service.js +67 -0
- package/core/server/services/update-check/update-check-service.js +3 -3
- package/core/server/services/webhooks/serialize.js +1 -1
- package/core/server/web/api/app.js +0 -5
- package/core/server/web/api/endpoints/admin/routes.js +33 -34
- package/core/server/web/api/middleware/upload.js +29 -2
- package/core/server/web/parent/middleware/index.js +1 -1
- package/core/server/web/parent/middleware/log-request.js +5 -0
- package/core/server/web/parent/middleware/queue-request.js +104 -59
- package/core/server/web/shared/middleware/api/spam-prevention.js +2 -2
- package/core/server/web/well-known.js +12 -16
- package/core/shared/config/defaults.json +7 -3
- package/core/shared/custom-theme-settings-cache/custom-theme-settings-service.js +1 -1
- package/core/shared/{flush-logs.js → flush.js} +7 -3
- package/core/shared/labs.js +5 -2
- package/core/shared/settings-cache/cache-manager.js +1 -1
- package/core/shared/timing-safe-string-equal.js +26 -0
- package/nodemon.json +1 -1
- package/package.json +47 -48
- package/patches/@elastic__elasticsearch@8.19.2.patch +67 -0
- package/patches/juice@11.1.1.patch +46 -0
- package/pnpm-lock.yaml +571 -2107
- package/pnpm-workspace.yaml +38 -28
- package/scripts/prune.mts +70 -3
- package/tsconfig.json +1 -1
- package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
- package/core/built/admin/assets/Combination-B0l4MKVh.js +0 -41
- package/core/built/admin/assets/RadialBarChart-JAKoS4KT.js +0 -1
- package/core/built/admin/assets/_baseAssignValue-C_vooEQc.js +0 -1
- package/core/built/admin/assets/about-C1C3s5-g.js +0 -1
- package/core/built/admin/assets/accordion-CxGsDKwa.js +0 -1
- package/core/built/admin/assets/account-migration-CbUhW6gk.js +0 -1
- package/core/built/admin/assets/action-list-C4v0-du8.js +0 -1
- package/core/built/admin/assets/activitypub/avatar-DVJF5bxP.js +0 -261
- package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +0 -1
- package/core/built/admin/assets/activitypub/routes-DdyY9uFF.js +0 -7181
- package/core/built/admin/assets/activitypub/settings-B6EEcVkW.js +0 -315
- package/core/built/admin/assets/activitypub/tabs-DLhZtVde.js +0 -1083
- package/core/built/admin/assets/activitypub/users-inweyKL5.js +0 -1499
- package/core/built/admin/assets/add-integration-modal-BT_onDJy.js +0 -1
- package/core/built/admin/assets/add-newsletter-modal-Cx1kQpiY.js +0 -1
- package/core/built/admin/assets/add-recommendation-modal-B5nvAhvr.js +0 -1
- package/core/built/admin/assets/analytics-DjoJWPI7.js +0 -1
- package/core/built/admin/assets/announcement-bar-modal-Dwd0EGFP.js +0 -1
- package/core/built/admin/assets/api-keys-BoeacM-s.js +0 -1
- package/core/built/admin/assets/automated-emails-BLesE41L.js +0 -1
- package/core/built/admin/assets/automations-BN4u3GR8.js +0 -1
- package/core/built/admin/assets/automations-C-ZTUwW3.js +0 -1
- package/core/built/admin/assets/avatar-flipboard-C6Kj3Awu.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-vzh-oPXL.js +0 -1
- package/core/built/admin/assets/box-CdfQAP_F.js +0 -1
- package/core/built/admin/assets/brand-icon-CrIGOA3Z.js +0 -1
- package/core/built/admin/assets/breadcrumb-CaLk2b7D.js +0 -1
- package/core/built/admin/assets/build-CsiH26uS.js +0 -1
- package/core/built/admin/assets/button-Dvcv1QSR.js +0 -1
- package/core/built/admin/assets/calendar-Bl9RLcZX.js +0 -1
- package/core/built/admin/assets/card--VNbfgo3.js +0 -1
- package/core/built/admin/assets/chart-BrhA41Zi.js +0 -63
- package/core/built/admin/assets/chart-helpers-FHywU0pj.js +0 -1
- package/core/built/admin/assets/checkbox-BtayFtjg.js +0 -1
- package/core/built/admin/assets/chunk.524.e6975095fccdf22d90f8.js +0 -32
- package/core/built/admin/assets/chunk.582.98b485f9b2802f540897.js +0 -34
- package/core/built/admin/assets/code-editor-view-C3ZfoF1X.js +0 -1
- package/core/built/admin/assets/code-editor-view-CAyRWy1s.js +0 -1
- package/core/built/admin/assets/color-picker-G4kGR7rp.js +0 -3
- package/core/built/admin/assets/color-picker-field-DQFVTNnT.js +0 -1
- package/core/built/admin/assets/combobox-BnYzgEB4.js +0 -1
- package/core/built/admin/assets/command-C_vyTikI.js +0 -1
- package/core/built/admin/assets/comments-aBrxfnZf.js +0 -1
- package/core/built/admin/assets/components-CwL6a6As-B0E0-NBJ.js +0 -1
- package/core/built/admin/assets/confirmation-context-DwXX_Y5h.js +0 -1
- package/core/built/admin/assets/container-BuQG1wuP.js +0 -1
- package/core/built/admin/assets/content-api-modal-D2G0nJP6.js +0 -1
- package/core/built/admin/assets/context-menu-DOVB6yaz.js +0 -1
- package/core/built/admin/assets/copy-field-DCJwh9qf.js +0 -1
- package/core/built/admin/assets/create-ghost-browse-value-source-5C53jJaX.js +0 -1
- package/core/built/admin/assets/custom-integration-modal-AbJGVyKc.js +0 -1
- package/core/built/admin/assets/data-list-CA2jYGPq.js +0 -1
- package/core/built/admin/assets/date-range-select-BY3K-ukj.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-BvEy4_pC.js +0 -2
- package/core/built/admin/assets/detail-page-Dnv-CdR1.js +0 -1
- package/core/built/admin/assets/dirty-confirm-dialog-DVPuGz3U.js +0 -1
- package/core/built/admin/assets/disabled-sources-indicator-Cy7Zp4c8.js +0 -1
- package/core/built/admin/assets/dist-4m6pHdc0.js +0 -23
- package/core/built/admin/assets/dist-8YJUlf3B.js +0 -1
- package/core/built/admin/assets/dist-CZgIBXQN.js +0 -1
- package/core/built/admin/assets/dist-CiHx7vA5.js +0 -6
- package/core/built/admin/assets/dist-DIC8yz5C.js +0 -1
- package/core/built/admin/assets/dist-Dcsslyo72.js +0 -1
- package/core/built/admin/assets/dist-Dgt2cr6a.js +0 -1
- package/core/built/admin/assets/dist-ECAUrdGc.js +0 -1
- package/core/built/admin/assets/dist-JLOy8o0Q.js +0 -1
- package/core/built/admin/assets/dist-Ndy-PuGN.js +0 -1
- package/core/built/admin/assets/dist-Z97pCNqS.js +0 -11
- package/core/built/admin/assets/domain-Dl61QGuk.js +0 -1
- package/core/built/admin/assets/dropzone-Dtz5Rmjt.js +0 -5
- package/core/built/admin/assets/edit-profile-DNJSMDwm.js +0 -1
- package/core/built/admin/assets/editor-DbAen9zf.js +0 -8
- package/core/built/admin/assets/editor-screen-BFWThIai.js +0 -26
- package/core/built/admin/assets/email-sending-status-context-CWDOD1FN.js +0 -1
- package/core/built/admin/assets/email-sending-status-provider-DCPkDICt.js +0 -1
- package/core/built/admin/assets/embed-signup-form-modal-DGqsORxS.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-nnRr1Fja.js +0 -1
- package/core/built/admin/assets/feature-flag-overrides-context-DQjdJFAk.js +0 -1
- package/core/built/admin/assets/feature-image-placeholder-BrIHmPs8.js +0 -1
- package/core/built/admin/assets/feed-BNUcNu-W.js +0 -1
- package/core/built/admin/assets/feedback-DJ4Zb9rZ.js +0 -1
- package/core/built/admin/assets/field-C93_Mg6j.js +0 -1
- package/core/built/admin/assets/filter-bar-Da1qxybu.js +0 -1
- package/core/built/admin/assets/filter-sources-CGJb4C5r.js +0 -1
- package/core/built/admin/assets/filters--kKP-EC8.js +0 -1
- package/core/built/admin/assets/filters-DxA_a4FP.js +0 -1
- package/core/built/admin/assets/first-promoter-modal-BYDtrz2S.js +0 -1
- package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-BbSnGOtK.js +0 -1
- package/core/built/admin/assets/framework-provider-DqI25epG.js +0 -4
- package/core/built/admin/assets/gift-link-modal-B7u5bD4e.js +0 -1
- package/core/built/admin/assets/global-data-context-gAMDH9u1.js +0 -1
- package/core/built/admin/assets/grid-Dj29PY05.js +0 -1
- package/core/built/admin/assets/growth-Cd1uO9d2.js +0 -1
- package/core/built/admin/assets/growth-aG32xfdE.js +0 -3
- package/core/built/admin/assets/heading-Dh5SFVjL.js +0 -1
- package/core/built/admin/assets/history-modal-Df8lW8h-.js +0 -1
- package/core/built/admin/assets/hooks-Cy_-oZ4o.js +0 -2
- package/core/built/admin/assets/html-field-DA4eU7eq.js +0 -1
- package/core/built/admin/assets/iframe-buffering-B2OKJzbz.js +0 -1
- package/core/built/admin/assets/images-KXmyO3Ss.js +0 -1
- package/core/built/admin/assets/index-BHHXtR5C.css +0 -2
- package/core/built/admin/assets/index-CgMCwsxN.js +0 -4
- package/core/built/admin/assets/index.es-CY6-yuw9.js +0 -1
- package/core/built/admin/assets/inline-BWSs_VzR.js +0 -1
- package/core/built/admin/assets/input-group-BE8rM2y1.js +0 -1
- package/core/built/admin/assets/input-surface-BsrIZeSF.js +0 -1
- package/core/built/admin/assets/integration-header-Bm6IDb1A.js +0 -1
- package/core/built/admin/assets/invite-user-modal-B4CuNcx4.js +0 -1
- package/core/built/admin/assets/koenig-loader-BeM5rFPX.js +0 -2
- package/core/built/admin/assets/kpi-card-B21aToe8.js +0 -1
- package/core/built/admin/assets/kpi-card-pz6Wv4Ae.js +0 -1
- package/core/built/admin/assets/kpi-helpers-Dq5jelmP.js +0 -1
- package/core/built/admin/assets/kpi-tabs-DEZHpKUt.js +0 -1
- package/core/built/admin/assets/label-OLCzze8N.js +0 -1
- package/core/built/admin/assets/label-picker-BigOvMPV.js +0 -1
- package/core/built/admin/assets/labels-Dr0SgUQD.js +0 -1
- package/core/built/admin/assets/layout-DUTL8SH5.js +0 -1
- package/core/built/admin/assets/lib-7QPTI0FS.js +0 -1
- package/core/built/admin/assets/limit-service-BhiEvqcP.js +0 -20
- package/core/built/admin/assets/link-helpers-BRAg9SCj.js +0 -1
- package/core/built/admin/assets/links-BDHPTlyj.js +0 -1
- package/core/built/admin/assets/list-page-BucXJ0hi.js +0 -1
- package/core/built/admin/assets/luxon-D1RVjjpq.js +0 -1
- package/core/built/admin/assets/member-custom-fields-TRTHCAz9.js +0 -1
- package/core/built/admin/assets/member-detail-b6dRwc3C.js +0 -1
- package/core/built/admin/assets/members-Czt5lJSc.js +0 -4
- package/core/built/admin/assets/modal-page-xCivTMvI.js +0 -1
- package/core/built/admin/assets/moderation-ZWefD9uH.js +0 -1
- package/core/built/admin/assets/multi-select-combobox-CT13MTo-.js +0 -1
- package/core/built/admin/assets/navigation-modal-C8FEhBK5.js +0 -1
- package/core/built/admin/assets/newsletter-5VYW4RyJ.js +0 -1
- package/core/built/admin/assets/newsletter-detail-modal-ChjC0ZqH.js +0 -1
- package/core/built/admin/assets/newsletter-emails-DZH6I-PY.js +0 -1
- package/core/built/admin/assets/newsletters-DOC9KBcX.js +0 -1
- package/core/built/admin/assets/note-DIV-Pojr.js +0 -1
- package/core/built/admin/assets/notifications-s20-H49V.js +0 -1
- package/core/built/admin/assets/nql-lang-CaWrLesS.js +0 -19
- package/core/built/admin/assets/offers-container-modal-BmG5M5Tv.js +0 -1
- package/core/built/admin/assets/onboarding-CUuy9unR.js +0 -1
- package/core/built/admin/assets/onboarding-pXyct0Jm.js +0 -1
- package/core/built/admin/assets/onboarding-route-CK4pcXoR.js +0 -1
- package/core/built/admin/assets/overview-CaPsciMs.js +0 -1
- package/core/built/admin/assets/overview-a8GfcsKX.js +0 -1
- package/core/built/admin/assets/page-header-DM_KyoFI.js +0 -1
- package/core/built/admin/assets/pagemenu-vgZVUVKR.js +0 -1
- package/core/built/admin/assets/pages-route-BzKZYdV5.js +0 -1
- package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +0 -10
- package/core/built/admin/assets/pintura-modal-DExCF1ii.js +0 -1
- package/core/built/admin/assets/portal-frame-Cqanidq4.js +0 -1
- package/core/built/admin/assets/portal-modal-oinBgA27.js +0 -1
- package/core/built/admin/assets/post-analytics-C5oJ1dWV.js +0 -1
- package/core/built/admin/assets/post-analytics-context-D0Mw-Pmv.js +0 -1
- package/core/built/admin/assets/post-analytics-header-OATo3X_r.js +0 -1
- package/core/built/admin/assets/post-analytics-provider-tOpIVGT5.js +0 -1
- package/core/built/admin/assets/post-share-modal-DvhC1XgV.js +0 -1
- package/core/built/admin/assets/posts-list-screen-o4ZjbgS3.js +0 -2
- package/core/built/admin/assets/posts-route-9F--xdIb.js +0 -1
- package/core/built/admin/assets/preferences--vNubsqD.js +0 -5
- package/core/built/admin/assets/preview-chrome-BljUBlOk.js +0 -1
- package/core/built/admin/assets/preview-modal-YYbzlYdO.js +0 -1
- package/core/built/admin/assets/profile-BllKV3dR.js +0 -1
- package/core/built/admin/assets/prop-types-DeUPn3oD.js +0 -1
- package/core/built/admin/assets/radio-group-DL8GI8rt.js +0 -1
- package/core/built/admin/assets/react-Bb3IsNbi.js +0 -1
- package/core/built/admin/assets/rolldown-runtime-DAXXjFlN.js +0 -1
- package/core/built/admin/assets/router-provider-BSvTXgZY.js +0 -1
- package/core/built/admin/assets/select-v5YbA3Mw.js +0 -1
- package/core/built/admin/assets/settings-PEsZupw1.js +0 -4
- package/core/built/admin/assets/settings-breadcrumbs-NwPnCTC7.js +0 -1
- package/core/built/admin/assets/settings-u_s1CRkr.js +0 -1
- package/core/built/admin/assets/shade-app-CcS3f8MZ-vwURazk8.js +0 -3
- package/core/built/admin/assets/share-modal-SskCmVGL.js +0 -1
- package/core/built/admin/assets/skeleton-Ce9GgUpf.js +0 -1
- package/core/built/admin/assets/slack-modal-XxSJiYgo.js +0 -1
- package/core/built/admin/assets/sort-button-Cx1KtINE.js +0 -1
- package/core/built/admin/assets/source-icon-Bdp9Im_5.js +0 -1
- package/core/built/admin/assets/stack-B2eszIiq.js +0 -1
- package/core/built/admin/assets/stats-view-W2g6Jsd-.js +0 -1
- package/core/built/admin/assets/step-1-BQYzvBzr.js +0 -1
- package/core/built/admin/assets/step-2-xES32xJV.js +0 -1
- package/core/built/admin/assets/step-3-DA_XK5kW.js +0 -2
- package/core/built/admin/assets/stripe-button-CVsLHelt.js +0 -1
- package/core/built/admin/assets/stripe-connect-modal-ClmLOMGS.js +0 -1
- package/core/built/admin/assets/switch-CI4gLWqb.js +0 -1
- package/core/built/admin/assets/table-BenqVupI.js +0 -1
- package/core/built/admin/assets/tabs-eBBlxPp8.js +0 -1
- package/core/built/admin/assets/tag-detail-Ce8Se2qd.js +0 -2
- package/core/built/admin/assets/tag-picker-C3UR-uJ-.js +0 -1
- package/core/built/admin/assets/tags-B-kJxCs7.js +0 -1
- package/core/built/admin/assets/testimonials-modal-9Q6fT06V.js +0 -1
- package/core/built/admin/assets/text-BQDSDsKs.js +0 -1
- package/core/built/admin/assets/textarea-DJ1Q5V39.js +0 -1
- package/core/built/admin/assets/tier-detail-modal-CDyYdqK7.js +0 -1
- package/core/built/admin/assets/toggle-group-CviIkyok.js +0 -1
- package/core/built/admin/assets/topic-filter-I2jCBGxm.js +0 -1
- package/core/built/admin/assets/transistor-modal-p53u3W8y.js +0 -1
- package/core/built/admin/assets/trend-badge-CideVzQd.js +0 -1
- package/core/built/admin/assets/types-uYQ1HgqL.js +0 -1
- package/core/built/admin/assets/unsplash-modal-DY8UcKcE.js +0 -1
- package/core/built/admin/assets/use-analytics-data-DAIGcr2f.js +0 -1
- package/core/built/admin/assets/use-filter-params-JkZhIS8L.js +0 -1
- package/core/built/admin/assets/use-filterable-api-BVEVMrhZ.js +0 -1
- package/core/built/admin/assets/use-form-vRjI0Kwk.js +0 -1
- package/core/built/admin/assets/use-growth-stats-937CUj6j.js +0 -1
- package/core/built/admin/assets/use-host-limits-D0Dv3tKA.js +0 -1
- package/core/built/admin/assets/use-limiter-CohWfzvK.js +0 -2
- package/core/built/admin/assets/use-navigate-with-base-path-BkxcPj5l.js +0 -1
- package/core/built/admin/assets/use-pintura-config-xgytjU35.js +0 -1
- package/core/built/admin/assets/use-pintura-editor-CaV1mbfO.js +0 -1
- package/core/built/admin/assets/use-post-referrers-BCQI7fDg.js +0 -1
- package/core/built/admin/assets/use-query-params-BfzuqbcD.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-CYRhoaxY.js +0 -1
- package/core/built/admin/assets/use-router-history-entry-NOKcd--l.js +0 -1
- package/core/built/admin/assets/use-setting-group-bLKMwoBT.js +0 -1
- package/core/built/admin/assets/use-settings-navigation-B-qrriKD.js +0 -1
- package/core/built/admin/assets/use-simple-pagination-CNPd6Rf6.js +0 -1
- package/core/built/admin/assets/use-staff-users-pRIMIyiW.js +0 -1
- package/core/built/admin/assets/use-tinybird-query-CmdbCS9X.js +0 -1
- package/core/built/admin/assets/use-tinybird-token-KLne235s.js +0 -1
- package/core/built/admin/assets/use-unsaved-changes-guard-7-ug0JdH.js +0 -1
- package/core/built/admin/assets/use-upgrade-route-Dm_qqKr0.js +0 -1
- package/core/built/admin/assets/user-detail-modal-D3KlGYv-.js +0 -1
- package/core/built/admin/assets/virtual-list-CZ3RK2Yf.js +0 -1
- package/core/built/admin/assets/web-ClEJsCAj.js +0 -2
- package/core/built/admin/assets/web-X9rdnrtq.js +0 -1
- package/core/built/admin/assets/zapier-modal-DfVhV17j.js +0 -1
- package/core/frontend/services/sitemap/utils.js +0 -17
- package/core/server/services/automations/get-scheduler-idempotency-key.js +0 -13
- package/core/server/web/api/testmode/index.js +0 -1
- package/core/server/web/api/testmode/jobs/cpu-hog.js +0 -15
- package/core/server/web/api/testmode/jobs/graceful-job.js +0 -50
- package/core/server/web/api/testmode/jobs/say-hello.js +0 -17
- package/core/server/web/api/testmode/routes.js +0 -120
- /package/core/built/admin/assets/{chunk.901.4ccc639821020230bcca.js.LICENSE.txt → chunk.972.4b8c97f93d66db15e751.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{L as r,c as i}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{a,rn as o,rr as s,t as c,zn as l}from"./button-D414TI3B.js";import{Gn as u,Hn as d,Jn as f,Kn as p,Wn as m,Yn as h,qn as g}from"./index-DOF2jDq0.js";var _=e(t(),1),v=n();async function y(e){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e);return}catch{}let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}function b(e){return(0,v.jsx)(d,{...e})}var x=_.forwardRef(({asChild:e=!0,className:t,...n},i)=>(0,v.jsx)(h,{ref:i,asChild:e,className:r(`cursor-pointer`,t),...n}));x.displayName=`ShareModal.Trigger`;var S=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(m,{ref:n,className:r(`max-h-[calc(100vh-16vmin)] max-w-[540px] overflow-y-auto p-8`,e),...t}));S.displayName=`ShareModal.Content`;function C({className:e,...t}){return(0,v.jsx)(g,{className:e,...t})}function w({className:e,...t}){return(0,v.jsx)(f,{className:e,...t})}function T({className:e,...t}){return(0,v.jsx)(u,{className:e,...t})}var E=_.forwardRef(({children:e,className:t,size:n=`lg`,title:i=`Close`,variant:o=`link`,...s},l)=>(0,v.jsx)(c,{ref:l,className:r(`aspect-square cursor-pointer p-2 text-muted-foreground hover:text-foreground [&_svg]:size-6!`,t),size:n,title:i,variant:o,...s,children:e||(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(a,{size:24,strokeWidth:1}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Close`})]})}));E.displayName=`ShareModal.CloseButton`;var D=_.forwardRef(({className:e,href:t,rel:n=`noopener noreferrer`,target:a=`_blank`,...o},s)=>{let{isAdmin7:c}=i();return(0,v.jsx)(`a`,{ref:s,className:r(`flex flex-col items-stretch overflow-hidden border transition-all hover:border-muted-foreground/40`,c&&`rounded-xl`,e),href:t,rel:n,target:a,...o})});D.displayName=`ShareModal.Preview`;function O({service:e}){return e===`threads`?(0,v.jsxs)(`svg`,{fill:`none`,viewBox:`0 0 18 18`,children:[(0,v.jsx)(`g`,{clipPath:`url(#social-threads_svg__clip0_351_18008)`,children:(0,v.jsx)(`path`,{d:`M13.033 8.38a5.924 5.924 0 00-.223-.102c-.13-2.418-1.452-3.802-3.67-3.816h-.03c-1.327 0-2.43.566-3.11 1.597l1.22.837c.507-.77 1.304-.934 1.89-.934h.02c.73.004 1.282.217 1.639.63.26.302.433.72.519 1.245a9.334 9.334 0 00-2.097-.101c-2.109.121-3.465 1.351-3.374 3.06.047.868.478 1.614 1.216 2.1.624.413 1.428.614 2.263.568 1.103-.06 1.969-.48 2.572-1.25.459-.585.749-1.342.877-2.296.526.317.915.735 1.13 1.236.366.854.387 2.255-.756 3.398-1.003 1.002-2.207 1.435-4.028 1.448-2.02-.015-3.547-.663-4.54-1.925-.93-1.182-1.41-2.89-1.428-5.075.018-2.185.498-3.893 1.428-5.075.993-1.262 2.52-1.91 4.54-1.925 2.034.015 3.588.666 4.62 1.934.505.622.886 1.405 1.137 2.317l1.43-.382c-.305-1.122-.784-2.09-1.436-2.892C13.52 1.35 11.587.517 9.096.5h-.01C6.6.517 4.689 1.354 3.404 2.986 2.262 4.44 1.672 6.46 1.652 8.994v.012c.02 2.534.61 4.555 1.752 6.008C4.69 16.646 6.6 17.483 9.086 17.5h.01c2.21-.015 3.768-.594 5.051-1.876 1.68-1.678 1.629-3.78 1.075-5.07-.397-.927-1.154-1.678-2.189-2.175zm-3.816 3.587c-.924.052-1.884-.363-1.932-1.252-.035-.659.47-1.394 1.99-1.482a8.9 8.9 0 01.512-.014c.552 0 1.068.053 1.538.156-.175 2.187-1.203 2.542-2.108 2.592z`,fill:`currentColor`})}),(0,v.jsx)(`defs`,{children:(0,v.jsx)(`clipPath`,{id:`social-threads_svg__clip0_351_18008`,children:(0,v.jsx)(`path`,{d:`M0 0h17v17H0z`,fill:`#fff`,transform:`translate(.5 .5)`})})})]}):e===`facebook`?(0,v.jsxs)(`svg`,{fill:`none`,viewBox:`0 0 40 40`,children:[(0,v.jsx)(`path`,{d:`M20 40.004c11.046 0 20-8.955 20-20 0-11.046-8.954-20-20-20s-20 8.954-20 20c0 11.045 8.954 20 20 20z`,fill:`#1977f3`}),(0,v.jsx)(`path`,{d:`M27.785 25.785l.886-5.782h-5.546V16.25c0-1.58.773-3.125 3.26-3.125h2.522V8.204s-2.29-.39-4.477-.39c-4.568 0-7.555 2.767-7.555 7.781v4.408h-5.08v5.782h5.08v13.976a20.08 20.08 0 003.125.242c1.063 0 2.107-.085 3.125-.242V25.785h4.66z`,fill:`#fff`})]}):e===`linkedin`?(0,v.jsxs)(`svg`,{fill:`none`,viewBox:`0 0 16 16`,children:[(0,v.jsxs)(`g`,{clipPath:`url(#social-linkedin_svg__clip0_537_833)`,children:[(0,v.jsx)(`path`,{clipRule:`evenodd`,d:`M1.778 16h12.444c.982 0 1.778-.796 1.778-1.778V1.778C16 .796 15.204 0 14.222 0H1.778C.796 0 0 .796 0 1.778v12.444C0 15.204.796 16 1.778 16z`,fill:`#007ebb`,fillRule:`evenodd`}),(0,v.jsx)(`path`,{clipRule:`evenodd`,d:`M13.778 13.778h-2.374V9.734c0-1.109-.421-1.729-1.299-1.729-.955 0-1.453.645-1.453 1.729v4.044H6.363V6.074h2.289v1.038s.688-1.273 2.322-1.273c1.634 0 2.804.997 2.804 3.061v4.878zM3.634 5.065c-.78 0-1.411-.636-1.411-1.421s.631-1.422 1.41-1.422c.78 0 1.411.637 1.411 1.422 0 .785-.631 1.421-1.41 1.421zm-1.182 8.713h2.386V6.074H2.452v7.704z`,fill:`#fff`,fillRule:`evenodd`})]}),(0,v.jsx)(`defs`,{children:(0,v.jsx)(`clipPath`,{id:`social-linkedin_svg__clip0_537_833`,children:(0,v.jsx)(`path`,{d:`M0 0h16v16H0z`,fill:`#fff`})})})]}):e===`bluesky`?(0,v.jsx)(`svg`,{fill:`none`,viewBox:`0 -33.5 568 568`,children:(0,v.jsx)(`path`,{d:`M123.121 33.664C188.241 82.553 258.281 181.681 284 234.873c25.719-53.192 95.759-152.32 160.879-201.209C491.866-1.612 568-28.906 568 57.946c0 17.346-9.945 145.713-15.778 166.555-20.275 72.453-94.155 90.933-159.875 79.748 114.875 19.551 144.097 84.311 80.986 149.071-119.86 122.992-172.272-30.859-185.702-70.281-2.462-7.227-3.614-10.608-3.631-7.733-.017-2.875-1.169.506-3.631 7.733-13.43 39.422-65.842 193.273-185.702 70.281-63.111-64.76-33.889-129.52 80.986-149.071-65.72 11.185-139.6-7.295-159.875-79.748C9.945 203.659 0 75.292 0 57.946 0-28.906 76.135-1.612 123.121 33.664z`,fill:`#0085ff`})}):(0,v.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,children:(0,v.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`,fill:`currentColor`})})}function k({className:e,layout:t=`footer`,links:n,shape:a,variant:o,...s}){let{isAdmin7:l}=i();return t===`stacked`?(0,v.jsx)(`div`,{className:r(`flex gap-2`,e),...s,children:n.map(e=>(0,v.jsx)(c,{className:`flex-1`,id:e.id,shape:a,variant:o??`outline`,asChild:!0,children:(0,v.jsxs)(`a`,{"aria-label":e.label,href:e.href,rel:`noreferrer`,target:`_blank`,title:e.title||e.label,children:[(0,v.jsx)(O,{service:e.service}),(0,v.jsx)(`span`,{className:`sr-only`,children:e.label})]})},e.id??e.href))}):(0,v.jsx)(`div`,{className:r(`flex items-center gap-2`,e),...s,children:n.map(e=>l||a||o?(0,v.jsx)(c,{className:`w-12 flex-none px-3`,shape:a,variant:o??`ghost`,asChild:!0,children:(0,v.jsx)(`a`,{"aria-label":e.label,href:e.href,id:e.id,rel:`noopener noreferrer`,target:`_blank`,title:e.title||e.label,children:(0,v.jsx)(O,{service:e.service})})},e.id??e.href):(0,v.jsx)(`a`,{"aria-label":e.label,className:`flex h-(--control-height) flex-1 items-center justify-center rounded-xs bg-muted px-3 hover:bg-muted-foreground/20 sm:w-14 sm:flex-none [&_svg]:h-4`,href:e.href,rel:`noopener noreferrer`,target:`_blank`,title:e.title||e.label,children:(0,v.jsx)(O,{service:e.service})},e.id??e.href))})}function A({children:e,copyURL:t,disabled:n,icon:r=`link`,label:i=`Copy link`,onClick:a,successLabel:u=`Copied!`,...d}){let[f,p]=(0,_.useState)(!1),m=async e=>{a?.(e),!e.defaultPrevented&&(await y(t),p(!0),setTimeout(()=>p(!1),2e3))},h=r===`copy`?l:o;return(0,v.jsx)(c,{disabled:n||!t,type:`button`,onClick:e=>{m(e)},...d,children:e||(0,v.jsxs)(v.Fragment,{children:[f?(0,v.jsx)(s,{}):(0,v.jsx)(h,{}),f?u:i]})})}function j({children:e,className:t,copyURL:n,...i}){return(0,v.jsxs)(`div`,{className:r(`flex items-center gap-2 rounded-md border bg-muted p-2`,t),...i,children:[(0,v.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-sm`,children:n}),e]})}function M({className:e,...t}){let{isAdmin7:n}=i();return(0,v.jsx)(p,{className:r(`justify-between gap-6`,n&&`gap-8 sm:gap-8`,e),...t})}var N={CloseButton:E,Content:S,CopyButton:A,CopyURLBox:j,Description:T,Footer:M,Header:C,Preview:D,Root:b,SocialLinks:k,Title:w,Trigger:x};export{N as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{L as r,c as i}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{jr as a,kr as o,t as s}from"./button-D414TI3B.js";var c=e(t(),1);function l({data:e,itemsPerPage:t,initialPage:n=1}){let[r,i]=(0,c.useState)(n);if(t<=0)throw Error(`itemsPerPage must be a positive number`);let a=e=>{i(Math.max(1,Math.min(o,e)))},o=(0,c.useMemo)(()=>e?Math.ceil(e.length/t):1,[e,t]);return(0,c.useEffect)(()=>{r>o&&i(1)},[r,o]),{currentPage:r,setCurrentPage:a,totalPages:o,paginatedData:(0,c.useMemo)(()=>{if(!e)return null;let n=(r-1)*t;return e.slice(n,n+t)},[e,r,t]),nextPage:()=>{i(e=>Math.min(o,e+1))},previousPage:()=>{i(e=>Math.max(1,e-1))},hasNextPage:r<o,hasPreviousPage:r>1}}var u=n(),d=c.forwardRef(({className:e,children:t,...n},i)=>(0,u.jsx)(`div`,{ref:i,className:r(`flex items-center justify-between gap-4 pb-6 text-sm`,e),...n,children:t}));d.displayName=`SimplePagination`;var f=c.forwardRef(({className:e,currentPage:t,totalPages:n,...i},a)=>(0,u.jsxs)(`span`,{ref:a,className:r(`text-muted-foreground`,e),...i,children:[`Pages `,t,` of `,n]}));f.displayName=`SimplePaginationPages`;var p=c.forwardRef(({className:e,children:t,...n},i)=>(0,u.jsx)(`div`,{ref:i,className:r(`flex items-center gap-1.5`,e),...n,children:t}));p.displayName=`SimplePaginationNavigation`;var m=c.forwardRef(({variant:e=`subtle`,size:t,...n},r)=>{let{isAdmin7:o}=i();return(0,u.jsx)(s,{ref:r,size:t??(o?`icon`:`sm`),variant:e,...n,children:(0,u.jsx)(a,{})})});m.displayName=`SimplePaginationPreviousButton`;var h=c.forwardRef(({variant:e=`subtle`,size:t,...n},r)=>{let{isAdmin7:a}=i();return(0,u.jsx)(s,{ref:r,size:t??(a?`icon`:`sm`),variant:e,...n,children:(0,u.jsx)(o,{})})});h.displayName=`SimplePaginationNextButton`;export{m as a,f as i,p as n,l as o,h as r,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{L as r}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";var i=e(t(),1),a=n();function o({containerClassName:e,count:t=1,randomize:n=!1,minWidth:o=70,maxWidth:s=100,className:c,...l}){let{randomWidths:u,keys:d}=(0,i.useMemo)(()=>{let e=[],r=[];for(let i=0;i<t;i++){if(n){let t=Math.floor((s-o)/5),n=o+Math.floor(Math.random()*(t+1))*5;e.push(`${n}%`)}r.push(`skeleton-${i}`)}return{randomWidths:e,keys:r}},[t,n,o,s]);return(0,a.jsx)(`span`,{className:e,children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)(i.Fragment,{children:[(0,a.jsx)(`span`,{className:r(`inline-flex w-full animate-pulse rounded-[2px] bg-primary/10 leading-none`,c),style:n?{width:u[t]}:void 0,...l,children:``}),(0,a.jsx)(`br`,{})]},d[t]))})}var s=i.forwardRef(({className:e,lines:t=5,...n},i)=>t<1?(0,a.jsx)(a.Fragment,{}):(0,a.jsx)(`div`,{ref:i,className:r(`flex flex-col gap-2`,e),...n,children:Array.from({length:t},(e,t)=>{let n=`66%`;switch(t%5){case 0:n=`57%`;break;case 1:n=`33%`;break;case 2:n=`40%`;break;case 3:n=`48%`;break;case 4:n=`24%`;break}return(0,a.jsxs)(`div`,{className:`flex justify-between gap-6`,children:[(0,a.jsx)(`div`,{className:`grow`,style:{maxWidth:n},children:(0,a.jsx)(o,{})}),(0,a.jsx)(o,{className:`w-[60px] self-end`})]},t)})}));s.displayName=`SkeletonTable`;export{s as n,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./react-BXwhMTuc.js";import{t}from"./jsx-runtime-BlNNh7jY.js";import{n}from"./dist-DziNzWI2.js";import{t as r}from"./button-D414TI3B.js";import{o as i,t as a}from"./use-settings-navigation-CzGU4sus.js";import{a as o,c as s,i as c,o as l,r as u,s as d,t as f}from"./field-BXEh3ptU.js";import{Dn as p,ji as m,yi as h}from"./index-DOF2jDq0.js";import{t as g}from"./validator-DlFQP70j.js";import{t as _}from"./brand-icon-CrmbX86T.js";import{t as v}from"./integration-header-C7GXGis_.js";import{t as y}from"./use-setting-group-ldtX1Vsk.js";var b=e(g(),1),x=t();function S(){let{updateRoute:e}=a(),{localSettings:t,updateSetting:g,handleSave:S,validate:C,errors:w,clearError:T,okProps:E}=y({onValidate:()=>{let e={};return D&&!b.default.isURL(D,{require_protocol:!0})&&(e.slackUrl=`The URL must be in a format like https://hooks.slack.com/services/<your personal key>`),e},savingDelay:500}),[D,O]=h(t,[`slack_url`,`slack_username`]),{mutateAsync:k}=m(),A=async()=>{n.dismiss(),await S()&&(await k(null),n.info(`Check your Slack channel for the test message`))};return(0,x.jsxs)(i,{cancelLabel:`Close`,dirty:t.some(e=>e.dirty),okLabel:E.label||`Save`,okVariant:E.variant,testId:`slack-modal`,title:``,onClose:()=>{e(`integrations`)},onOk:async()=>{n.dismiss(),await S()},children:[(0,x.jsx)(v,{detail:`A messaging app for teams`,icon:(0,x.jsx)(_,{name:`slack`,size:56}),title:`Slack`}),(0,x.jsx)(`div`,{className:`mt-7`,children:(0,x.jsxs)(s,{className:`gap-0`,children:[(0,x.jsx)(d,{className:`mb-3 text-md! leading-supertight font-bold md:text-lg!`,children:`Slack configuration`}),(0,x.jsxs)(o,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,x.jsxs)(f,{"data-invalid":!!w.slackUrl||void 0,children:[(0,x.jsx)(l,{htmlFor:`slack-webhook-url`,children:`Webhook URL`}),(0,x.jsx)(p,{"aria-invalid":!!w.slackUrl||void 0,id:`slack-webhook-url`,placeholder:`https://hooks.slack.com/services/...`,value:D,onBlur:C,onChange:e=>g(`slack_url`,e.target.value),onKeyDown:()=>T(`slackUrl`)}),w.slackUrl?(0,x.jsx)(c,{children:w.slackUrl}):(0,x.jsx)(u,{children:(0,x.jsxs)(x.Fragment,{children:[`Automatically send newly published posts to a channel in Slack or any Slack-compatible service like Discord or Mattermost. Set up a new incoming webhook`,` `,(0,x.jsx)(`a`,{href:`https://my.slack.com/apps/new/A0F7XDUAZ-incoming-webhooks`,children:`here`}),`, and grab the URL.`]})})]}),(0,x.jsxs)(`div`,{className:`flex w-full flex-col gap-2 md:flex-row md:items-center`,children:[(0,x.jsxs)(f,{className:`grow`,children:[(0,x.jsx)(l,{htmlFor:`slack-username`,children:`Username`}),(0,x.jsx)(p,{id:`slack-username`,value:O,onChange:e=>g(`slack_username`,e.target.value)}),(0,x.jsx)(u,{children:`The username to display messages from`})]}),(0,x.jsx)(r,{type:`button`,variant:`outline`,onClick:()=>void A(),children:`Send test notification`})]})]})]})})]})}export{S as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-BXwhMTuc.js";import{t}from"./jsx-runtime-BlNNh7jY.js";import{a as n,g as r,m as i}from"./chart-B_UNLXse.js";import{a,i as o}from"./trend-badge-1w_HEzkG.js";import{Or as s}from"./button-D414TI3B.js";import{o as c}from"./table-BDYbUHJz.js";var l=n({chartName:`BarChart`,GraphicalChild:r,defaultTooltipEventType:`axis`,validateTooltipEventTypes:[`axis`,`item`],axisComponents:[{axisType:`xAxis`,AxisComp:a},{axisType:`yAxis`,AxisComp:o}],formatAxisMap:i});e();var u=t(),d=({sortBy:e,setSortBy:t,activeSortBy:n,children:r})=>(0,u.jsxs)(c,{className:`${e===n&&`text-foreground`}`,onClick:()=>{t(e)},children:[r,e===n&&(0,u.jsx)(s,{})]});export{l as n,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-BXwhMTuc.js";import{t}from"./jsx-runtime-BlNNh7jY.js";import{Gt as n}from"./button-D414TI3B.js";var r={Reddit:`reddit.com`,"www.reddit.com":`reddit.com`,Facebook:`facebook.com`,Twitter:`twitter.com`,Bluesky:`bsky.app`,"go.bsky.app":`bsky.app`,Instagram:`instagram.com`,LinkedIn:`linkedin.com`,Threads:`threads.net`,"Brave Search":`search.brave.com`,Ecosia:`ecosia.org`,Gmail:`gmail.com`,Outlook:`outlook.com`,"Yahoo!":`yahoo.com`,"AOL Mail":`aol.com`,Flipboard:`flipboard.com`,Substack:`substack.com`,Ghost:`ghost.org`,"Ghost Explore":`ghost.org`,Buffer:`buffer.com`,Taboola:`taboola.com`,AppNexus:`appnexus.com`,Wikipedia:`wikipedia.org`,Mastodon:`mastodon.social`,Memeorandum:`memeorandum.com`,"Ground News":`ground.news`,"Apple News":`apple.com`,SmartNews:`smartnews.com`,"Hacker News":`news.ycombinator.com`,Google:`google.com`,"Google News":`news.google.com`,Bing:`bing.com`,DuckDuckGo:`duckduckgo.com`,"newsletter-email":`static.ghost.org`,newsletter:`static.ghost.org`},i=e=>{try{return new URL(e.startsWith(`http`)?e:`https://${e}`).hostname.replace(/^www\./,``)}catch{return null}};function a({processedData:e,totalVisitors:t,mode:n}){return n===`growth`?e:e.map(e=>({...e,percentage:t>0?e.visits/t:0}))}var o=(e,t)=>e===t?!0:e.endsWith(`.${t}`),s=(e,t)=>{if(!e||typeof e!=`string`)return{domain:null,isDirectTraffic:!1};if(e===`Direct`)return{domain:null,isDirectTraffic:!0};let n=t?i(t):null;if(n){let t=i(e);if(t&&o(t,n)||o(e,n))return{domain:n,isDirectTraffic:!0}}let a=r[e];return a?{domain:a,isDirectTraffic:!1}:/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e)?{domain:e.replace(/^www\./,``),isDirectTraffic:!1}:{domain:null,isDirectTraffic:!1}};function c({data:e,mode:t,siteUrl:n,siteIcon:r,defaultSourceIconUrl:i}){if(!e)return[];let a=new Map,o=t===`visits`?0:void 0,c=t===`growth`?{free_members:0,paid_members:0,mrr:0}:void 0;if(e.forEach(e=>{let{domain:r,isDirectTraffic:l}=s(e.source,n),u=Number(e.visits||0);if(l||!e.source||e.source===``)t===`visits`?o+=u:t===`growth`&&c&&(c.free_members+=e.free_members||0,c.paid_members+=e.paid_members||0,c.mrr+=e.mrr||0);else{let n=String(e.source),o=r?`https://www.faviconextractor.com/favicon/${r}?larger=true`:i,s=r?`https://${r}`:void 0;if(a.has(n)){let r=a.get(n);r.visits+=u,t===`growth`&&(r.free_members=(r.free_members||0)+(e.free_members||0),r.paid_members=(r.paid_members||0)+(e.paid_members||0),r.mrr=(r.mrr||0)+(e.mrr||0))}else{let r={source:n,visits:u,isDirectTraffic:!1,iconSrc:o,displayName:n,linkUrl:s};t===`growth`&&(r.free_members=e.free_members||0,r.paid_members=e.paid_members||0,r.mrr=e.mrr||0),a.set(n,r)}}}),t===`visits`?o>0:c&&(c.free_members>0||c.paid_members>0||c.mrr>0)){let e={source:`Direct`,visits:t===`visits`?o:0,isDirectTraffic:!0,iconSrc:r||i,displayName:`Direct`,linkUrl:void 0};t===`growth`&&c&&(e.free_members=c.free_members,e.paid_members=c.paid_members,e.mrr=c.mrr),a.set(`Direct`,e)}let l=Array.from(a.values());return t===`growth`?l.sort((e,t)=>{let n=(e.mrr||0)*100+(e.paid_members||0)*10+(e.free_members||0);return(t.mrr||0)*100+(t.paid_members||0)*10+(t.free_members||0)-n}):l.sort((e,t)=>t.visits-e.visits)}e();var l=t(),u=({defaultSourceIconUrl:e,displayName:t,iconSrc:r})=>(0,l.jsx)(l.Fragment,{children:t.trim().toLowerCase().endsWith(`newsletter`)?(0,l.jsx)(n,{"aria-label":`Newsletter`,className:`size-4 text-muted-foreground`}):(0,l.jsx)(`img`,{alt:``,className:`size-4`,src:r,onError:t=>{t.currentTarget.src=e}})});export{c as i,a as n,s as r,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e}from"./framework-provider-
|
|
1
|
+
import{_ as e}from"./framework-provider-DB-svAju.js";import{c as t,i as n,k as r,l as i,r as a}from"./hooks-DYfTEQLk.js";var o=`TopContentResponseType`,s=`MemberCountHistoryResponseType`,c=`TopPostsStatsResponseType`,l=`PostReferrersResponseType`,u=`NewsletterStatsResponseType`,d=`NewsletterBasicStatsResponseType`,f=`NewsletterClickStatsResponseType`,p=`NewsletterSubscriberStatsResponseType`,m=`PostGrowthStatsResponseType`,h=`MrrHistoryResponseType`,g=`TopPostViewsResponseType`,_=`SubscriptionStatsResponseType`,v=a({dataType:o,path:`/stats/top-content/`}),y=a({dataType:s,path:`/stats/member_count/`}),b=a({dataType:c,path:`/stats/top-posts/`}),x=n({dataType:l,path:e=>`/stats/posts/${e}/top-referrers`}),S=n({dataType:m,path:e=>`/stats/posts/${e}/growth`}),C=a({dataType:h,path:`/stats/mrr/`}),w=a({dataType:_,path:`/stats/subscriptions/`}),T=n({dataType:`PostStatsResponseType`,path:e=>`/stats/posts/${e}/stats/`}),E=a({dataType:g,path:`/stats/top-posts-views/`});a({dataType:u,path:`/stats/newsletter-stats/`,defaultSearchParams:{}});var D=a({dataType:d,path:`/stats/newsletter-basic-stats/`,defaultSearchParams:{}}),O=a({dataType:f,path:`/stats/newsletter-click-stats/`,defaultSearchParams:{}}),k=a({dataType:p,path:`/stats/subscriber-count/`,defaultSearchParams:{}}),A=(n,{enabled:a=!0}={})=>{let o=i();return r({queryKey:[`PostVisitorCounts`,[...n].sort().join(`,`)],enabled:a&&n.length>0,placeholderData:e,queryFn:async()=>(await o(t(`/stats/posts-visitor-counts/`),{method:`POST`,body:JSON.stringify({postUuids:n})})).stats?.[0]?.data?.visitor_counts??{}})},j=(n,{enabled:a=!0}={})=>{let o=i();return r({queryKey:[`PostMemberCounts`,[...n].sort().join(`,`)],enabled:a&&n.length>0,placeholderData:e,queryFn:async()=>{let e=(await o(t(`/stats/posts-member-counts/`),{method:`POST`,body:JSON.stringify({postIds:n})})).stats?.[0]??{};return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{free:t.free_members??0,paid:t.paid_members??0}]))}})};export{D as a,j as c,A as d,k as f,E as g,b as h,C as i,x as l,v as m,f as n,O as o,w as p,y as r,S as s,d as t,T as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{a as r,n as i,o as a,r as o,t as s}from"./pagemenu-CKQD9hoP.js";import{u as c}from"./chunk-KS7C4IRE-DhOcHQOU.js";import{a as l}from"./router-provider-DDZvgS3V.js";import{H as u,L as d}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as f}from"./heading-ih-fOVqF.js";import{ar as p,vn as m}from"./button-D414TI3B.js";import{Mi as h,O as g,Oi as _,Tn as v}from"./index-DOF2jDq0.js";import{t as y}from"./date-range-select-DdC23c13.js";import{t as b}from"./use-analytics-data-B3lGOxsC.js";var x=e(t(),1),S=n(),C=({excludeRanges:e})=>{let{range:t,setRange:n}=g();return(0,S.jsx)(y,{excludeRanges:e,range:t,onRangeChange:n})},w=({children:e})=>{let t=l(),n=c(),d=h(),p=_(),{site:g,statsConfig:v}=b(),{activeVisitors:y,isLoading:x}=a({statsConfig:v,enabled:d}),C=n.pathname.endsWith(`/`)?n.pathname:`${n.pathname}/`;return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`header`,{className:`z-40 -mx-(--page-gutter) bg-white/70 backdrop-blur-md dark:bg-background`,children:(0,S.jsxs)(`div`,{className:`relative flex w-full flex-wrap items-center justify-between gap-5 px-(--page-gutter) pt-[28px]! pb-0`,"data-header":`header`,children:[(0,S.jsx)(f,{className:`flex min-h-[var(--control-height)] items-center text-lg font-semibold tracking-normal whitespace-nowrap`,"data-header":`header-title`,children:`Analytics`}),d&&(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,children:[g?.url&&(0,S.jsxs)(`div`,{className:`hidden items-center gap-1.5 sm:visible! sm:flex!`,children:[(0,S.jsx)(m,{className:`text-muted-foreground`,size:16,strokeWidth:1.5}),(0,S.jsx)(`a`,{className:`font-medium transition-all hover:opacity-75 dark:text-gray-100`,href:g.url,rel:`noopener noreferrer`,target:`_blank`,title:`Visit ${new URL(g.url).hostname}`,children:new URL(g.url).hostname}),(0,S.jsx)(`span`,{className:`text-border`,children:`|`})]}),(0,S.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,title:`Active visitors in the last 5 minutes · Updates every 60 seconds`,children:[(0,S.jsxs)(`span`,{children:[x?``:u(y),` online`]}),(0,S.jsx)(`div`,{className:`size-2 rounded-full ${x?`animate-pulse bg-muted`:y?`bg-green-500`:`border border-muted-foreground`}`})]})]})]})}),(0,S.jsxs)(o,{className:`sticky top-0 z-40 transform-gpu flex-col items-start gap-y-0 border-none bg-white/70 pt-9 pb-6 backdrop-blur-md lg:flex-row lg:items-center dark:bg-background`,children:[(0,S.jsx)(r,{children:(0,S.jsxs)(s,{defaultValue:C,responsive:!0,children:[(0,S.jsx)(i,{value:`/analytics/`,onClick:()=>{t(`/analytics/`)},children:`Overview`}),d&&(0,S.jsx)(i,{value:`/analytics/web/`,onClick:()=>{t(`/analytics/web/`)},children:`Web traffic`}),p&&(0,S.jsx)(i,{value:`/analytics/newsletters/`,onClick:()=>{t(`/analytics/newsletters/`)},children:`Newsletters`}),(0,S.jsx)(i,{value:`/analytics/growth/`,onClick:()=>{t(`/analytics/growth/`)},children:`Growth`})]})}),e]})]})},T=({children:e,...t})=>(0,S.jsx)(`div`,{className:`size-full`,children:(0,S.jsx)(`div`,{className:`relative size-full`,...t,children:(0,S.jsx)(`div`,{className:`mx-auto flex size-full max-w-page flex-col [&>[data-admin-content-grid]]:grid-cols-[minmax(0,1fr)]`,children:e})})}),E=(0,x.forwardRef)(({children:e},t)=>(0,S.jsx)(T,{children:(0,S.jsx)(`div`,{ref:t,className:`grid w-full grow`,"data-admin-content-grid":!0,children:(0,S.jsx)(`div`,{className:`flex h-full flex-col px-(--page-gutter)`,children:e})})}));E.displayName=`StatsLayout`;var D=({className:e})=>(0,S.jsxs)(`div`,{className:d(`flex h-full flex-col items-center justify-center gap-4 text-gray-700`,e),children:[(0,S.jsx)(`div`,{className:`flex size-18 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-950`,children:(0,S.jsx)(p,{size:24,strokeWidth:1.5})}),`No stats available for this filter.`]}),O=({children:e,className:t,...n})=>(0,S.jsx)(`section`,{className:d(`flex w-full grow flex-col items-stretch gap-6 pb-8`,t),...n,children:e}),k=({isLoading:e,data:t,children:n,loadingComponent:r=(0,S.jsx)(v,{}),emptyComponent:i=(0,S.jsx)(D,{className:`-mt-10`})})=>(0,S.jsx)(O,{children:e?r:t!==void 0&&t&&t.length===0?i:n});export{C as i,E as n,w as r,k as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{r}from"./heading-ih-fOVqF.js";import{f as i}from"./users-C60_hpn6.js";import{rr as a,t as o,zn as s}from"./button-D414TI3B.js";import{t as c}from"./skeleton-CPcTiTSX.js";import{t as l}from"./use-navigate-with-base-path-BzgNwMAx.js";import{Dt as u,St as d,vt as f}from"./index-DOF2jDq0.js";var p=e(t(),1),m=``+new URL(`ap-nodes-ZvK07SXa.png`,import.meta.url).href,h=``+new URL(`ap-nodes-dark-B4fFTbrh.png`,import.meta.url).href,g=n(),_=()=>{let{data:e}=u(`index`,`me`),{data:{users:t,meta:n}={users:[]},isLoading:_}=i(),v=l(),[y,b]=(0,p.useState)(!1),x=t.slice(0,3),S=x.map(e=>({id:e.id,icon:{url:e.profile_image},name:e.name}));return(0,g.jsx)(`div`,{className:`relative h-full overflow-hidden`,children:(0,g.jsxs)(`div`,{className:`isolate flex h-full flex-col items-stretch justify-between`,children:[(0,g.jsxs)(`div`,{className:`relative z-20 flex justify-between px-14`,children:[(0,g.jsxs)(`div`,{className:`flex flex-col gap-4 pb-20 text-xl font-medium`,children:[(0,g.jsx)(`h1`,{className:`max-w-sm text-[3.6rem] tracking-[-.025em]`,children:`Increase your reach, with the social web.`}),(0,g.jsxs)(`div`,{className:`flex max-w-[600px] flex-col gap-4`,children:[(0,g.jsx)(`p`,{className:`text-gray-800 dark:text-gray-600`,children:`In addition to your website, email newsletter and RSS feeds, Ghost now shares posts to the social web – so millions of users across Flipboard, Mastodon, Threads, Bluesky and WordPress can find & follow your work.`}),(0,g.jsx)(`p`,{children:e?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`strong`,{children:e.name}),` is now part of the world’s largest open network.`]}):(0,g.jsx)(c,{className:`w-full max-w-md`})})]})]}),(0,g.jsx)(o,{className:`min-w-60 bg-gradient-to-r from-purple-500 to-[#6A1AD6] hover:opacity-90 dark:text-white`,size:`lg`,onClick:()=>v(`/welcome/2`),children:`Next →`})]}),(0,g.jsxs)(`div`,{className:`relative z-10 h-full`,children:[(0,g.jsx)(`img`,{className:`absolute top-[calc(-280px)] left-1/2 w-full max-w-[1300px] min-w-[1240px] -translate-x-1/2 dark:hidden`,src:m}),(0,g.jsx)(`img`,{className:`absolute top-[calc(-280px)] left-1/2 hidden w-full max-w-[1300px] min-w-[1240px] -translate-x-1/2 dark:visible! dark:block!`,src:h}),(0,g.jsxs)(`div`,{className:`relative mx-auto mt-0 flex w-96 flex-col gap-3 rounded-lg bg-white p-6 shadow-xl before:absolute before:inset-[80px] before:-z-10 before:rounded-full before:bg-[radial-gradient(circle,#4b5563,#6b7280,#9ca3af)] before:blur-[1000px] xxl:mt-[calc(-280px+20vw)] min-[1800px]:mt-14 dark:border dark:border-gray-950 dark:bg-[#101114] dark:shadow-[#1e1b4b]/5 dark:before:bg-[radial-gradient(circle,#6366f1,#a855f7,#ec4899)]`,children:[(0,g.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,g.jsx)(d,{author:e&&{icon:{url:e?.avatarUrl},name:e?.name,handle:e?.handle},size:`md`}),(0,g.jsxs)(`span`,{className:`flex h-5 items-center gap-1 rounded-full bg-gray-100 px-3 text-[11px] font-medium text-gray-700 uppercase dark:bg-gray-950/70 dark:text-gray-500`,children:[(0,g.jsx)(a,{className:`ml-[-2px]`,size:14}),`Following`]})]}),(0,g.jsxs)(`div`,{className:`flex flex-col items-start gap-1`,children:[(0,g.jsx)(r,{children:e?.name||(0,g.jsx)(c,{className:`w-24`})}),(0,g.jsx)(`div`,{className:`relative -mx-3 h-8 max-w-[calc(100%+24px)] px-3 text-lg font-medium before:absolute before:inset-0 before:rounded-full before:bg-gradient-to-r before:from-[#CFB0FF66] before:to-[#B6E8FF66] before:opacity-0 ${!_&&`before:animate-onboarding-handle-bg`} dark:before:from-[#CFB0FF20] dark:before:to-[#B6E8FF20]`,children:(0,g.jsxs)(`div`,{className:`relative flex h-full items-center gap-1`,children:[(0,g.jsx)(`span`,{className:`truncate`,children:e?.handle||(0,g.jsx)(c,{className:`w-64`})}),(0,g.jsx)(o,{className:`size-6 p-0 hover:opacity-80`,variant:`link`,onClick:async()=>{e?.handle&&(b(!0),await navigator.clipboard.writeText(e.handle),setTimeout(()=>b(!1),2e3))},children:y?(0,g.jsx)(a,{size:16}):(0,g.jsx)(s,{size:16})}),(0,g.jsx)(`span`,{className:`absolute right-full flex items-center gap-3 font-mono text-sm font-medium text-nowrap text-purple uppercase after:mr-3 after:h-[1.5px] after:w-24 after:scale-0 after:bg-purple after:will-change-transform after:content-[""] ${!_&&`after:animate-onboarding-handle-line`}`,children:(0,g.jsx)(`span`,{className:`opacity-0 ${!_&&`animate-onboarding-handle-label`}`,children:`Your social web handle`})})]})})]}),(0,g.jsx)(`p`,{className:`leading-tight text-gray-800 dark:text-gray-600`,children:e?.bio?(0,g.jsx)(`span`,{dangerouslySetInnerHTML:{__html:f(e.bio)}}):(0,g.jsx)(c,{count:3,randomize:!0})}),(0,g.jsxs)(`div`,{className:`mt-1 flex gap-2 text-sm text-gray-800 dark:text-gray-600`,children:[(0,g.jsx)(`div`,{className:`flex [&_img]:size-5 [&>*]:pointer-events-none [&>*]:size-5 [&>*]:border [&>*]:border-white dark:[&>*]:border-[#101114] [&>*:not(:first-child)]:-ml-2 [&>*:nth-child(1)]:z-30 [&>*:nth-child(2)]:z-20 [&>*:nth-child(3)]:z-10`,children:S.map(e=>(0,g.jsx)(d,{author:e,disabled:!0,size:`xs`},e.id))}),`Authored by `,x[0]?.name,(n?.pagination.total??0)>1&&` and ${(n?.pagination.total??1)-1} others`]})]})]})]})})};export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-BXwhMTuc.js";import{t}from"./jsx-runtime-BlNNh7jY.js";import{gn as n,ot as r,st as i,t as a,w as o}from"./button-D414TI3B.js";import{t as s}from"./use-navigate-with-base-path-BzgNwMAx.js";import{Cn as c,Sn as l,wn as u,yn as d}from"./index-DOF2jDq0.js";import{n as f,t as p}from"./avatar-flipboard-DiAGgshK.js";e();var m=``+new URL(`ap-dashed-lines-BKwtts-L.png`,import.meta.url).href,h=``+new URL(`ap-dashed-lines-dark-a40fwLKy.png`,import.meta.url).href,g=`data:image/png;base64,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`,_=t(),v=({avatarNo:e,name:t,handle:n,timestamp:i,children:a})=>(0,_.jsx)(`div`,{children:(0,_.jsxs)(`div`,{className:`flex w-full items-start gap-3`,children:[(0,_.jsxs)(l,{className:`z-50 size-9 border border-white`,children:[(0,_.jsx)(u,{src:`https://i.pravatar.cc/150?img=${e}`}),(0,_.jsx)(c,{className:`bg-yellow font-semibold text-white`,children:`CN`})]}),(0,_.jsxs)(`div`,{className:`flex flex-col gap-2 text-sm`,children:[(0,_.jsxs)(`div`,{className:`mt-0.5 flex flex-col gap-0.5`,children:[(0,_.jsxs)(`div`,{className:`leading-tighter font-semibold`,children:[t,` `,(0,_.jsx)(`span`,{className:`font-normal text-gray-700 dark:text-gray-600`,children:n})]}),(0,_.jsxs)(`div`,{className:`flex items-center gap-1 leading-tighter text-gray-700 dark:text-gray-600`,children:[(0,_.jsx)(r,{size:14,strokeWidth:1.5}),(0,_.jsxs)(`span`,{children:[`Replied to your post `,i]})]})]}),(0,_.jsx)(`div`,{className:`text-md`,children:a})]})]})}),y=({type:e,names:t,timestamp:r,children:a})=>(0,_.jsx)(`div`,{children:(0,_.jsxs)(`div`,{className:`flex w-full items-start gap-3`,children:[(0,_.jsx)(`div`,{className:`flex size-9 max-h-9 min-h-9 max-w-9 min-w-9 items-center justify-center rounded-full bg-gradient-to-t text-white ${e===`like`?`from-pink-400 to-pink-600`:`from-blue-400 to-blue-600`}`,children:e===`like`?(0,_.jsx)(n,{size:20}):(0,_.jsx)(i,{size:20})}),(0,_.jsx)(`div`,{className:`flex flex-col gap-2 text-sm`,children:(0,_.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[a,(0,_.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,_.jsxs)(`div`,{className:`leading-tighter font-semibold`,children:[t,` `,(0,_.jsxs)(`span`,{className:`font-normal text-gray-700 dark:text-gray-600`,children:[e===`like`?`liked`:`reposted`,` your post`]})]}),(0,_.jsx)(`div`,{className:`text-xs text-gray-700 dark:text-gray-600`,children:r})]})]})})]})}),b=()=>{let e=s();return(0,_.jsxs)(`div`,{className:`relative flex size-full max-h-screen flex-col gap-4 overflow-hidden px-14`,children:[(0,_.jsx)(`img`,{className:`absolute top-[120px] left-1/2 w-full max-w-[1300px] min-w-[1240px] -translate-x-1/2 dark:hidden`,src:m}),(0,_.jsx)(`img`,{className:`absolute top-[120px] left-1/2 hidden w-full max-w-[1300px] min-w-[1240px] -translate-x-1/2 dark:visible! dark:block!`,src:h}),(0,_.jsxs)(f,{children:[(0,_.jsxs)(`div`,{className:`flex flex-col justify-between gap-4 text-xl font-medium`,children:[(0,_.jsx)(`h1`,{className:`max-w-[680px]`,children:`Feel the network effect.`}),(0,_.jsxs)(`div`,{className:`flex max-w-[680px] flex-col gap-4`,children:[(0,_.jsxs)(`p`,{className:`tracking-tight text-gray-700 dark:text-gray-600`,children:[`People who follow you can`,` `,(0,_.jsx)(`span`,{className:`font-semibold text-black dark:text-white`,children:`like, reply, repost and interact`}),` `,`with your posts. Their followers will see those interactions too, distributing your content even more widely, to a brand new audience.`]}),(0,_.jsx)(`p`,{className:`tracking-tight text-gray-700 dark:text-gray-600`,children:`Best of all, you get realtime feedback and visibility when something you published is spreading fast across the social web.`})]})]}),(0,_.jsx)(a,{className:`min-w-60 bg-gradient-to-r from-purple-500 to-[#6A1AD6] hover:opacity-90 dark:text-white`,size:`lg`,onClick:()=>e(`/welcome/3`),children:`Next →`})]}),(0,_.jsx)(`div`,{className:`mt-8 flex h-full max-h-[670px] flex-col items-stretch justify-end`,children:(0,_.jsx)(`div`,{className:`relative -mx-14 mt-5 w-[calc(100%+112px)] overflow-y-hidden mask-b-from-80% px-14 pt-8`,children:(0,_.jsxs)(`div`,{className:`relative mx-auto h-[694px] w-full max-w-xl rounded-2xl border border-gray-200/70 bg-white shadow-xl dark:border-gray-900 dark:bg-[#101114] dark:shadow-xl dark:shadow-[#1e1b4b]/10`,children:[(0,_.jsxs)(`div`,{className:`animate-onboarding-followers absolute -top-4 -right-8 flex h-8 items-center gap-1.5 rounded-full bg-gradient-to-t from-black to-gray-900 px-3 font-semibold text-white opacity-0`,children:[(0,_.jsx)(o,{size:18}),`270 followers this week`]}),(0,_.jsxs)(`div`,{className:`flex h-full flex-col items-stretch gap-6 p-8`,children:[(0,_.jsx)(v,{avatarNo:40,handle:`@jamie@larson.com`,name:`Jamie Larson`,timestamp:`just now`,children:`This resonates with me on so many levels. Especially the part about the difficulty of challenges that you can't anticipate!`}),(0,_.jsx)(d,{}),(0,_.jsx)(y,{names:`The Verge and 22 others`,timestamp:`Just now`,type:`like`,children:(0,_.jsxs)(`div`,{className:`isolate flex items-center`,children:[(0,_.jsxs)(l,{className:`z-30 size-9 border border-white`,children:[(0,_.jsx)(u,{src:g}),(0,_.jsx)(c,{className:`bg-[#BAB890] font-semibold text-white`,children:`TV`})]}),(0,_.jsxs)(l,{className:`z-20 -ml-3 size-9 border border-white`,children:[(0,_.jsx)(u,{src:`https://i.pravatar.cc/150?img=1`}),(0,_.jsx)(c,{className:`bg-green-400 text-white`,children:`WA`})]}),(0,_.jsxs)(l,{className:`z-10 -ml-3 size-9 border border-white`,children:[(0,_.jsx)(u,{src:`https://i.pravatar.cc/150?img=10`}),(0,_.jsx)(c,{className:`bg-blue text-white`,children:`FR`})]})]})}),(0,_.jsx)(d,{}),(0,_.jsxs)(v,{avatarNo:41,handle:`@chris@best.com`,name:`Chris`,timestamp:`2 hours ago`,children:[`This is incredible. `,(0,_.jsx)(`strong`,{children:`@jairaj`}),` maybe we should join the fediverse?`]}),(0,_.jsx)(d,{}),(0,_.jsx)(y,{names:`Flipboard and 4 others`,timestamp:`Yesterday`,type:`repost`,children:(0,_.jsxs)(`div`,{className:`isolate flex items-center`,children:[(0,_.jsxs)(l,{className:`z-50 size-9 border border-white`,children:[(0,_.jsx)(u,{src:p}),(0,_.jsx)(c,{className:`bg-yellow font-semibold text-white`,children:`CN`})]}),(0,_.jsxs)(l,{className:`z-40 -ml-3 size-9 border border-white`,children:[(0,_.jsx)(u,{src:``}),(0,_.jsx)(c,{className:`bg-yellow text-white`,children:`CN`})]}),(0,_.jsxs)(l,{className:`z-30 -ml-3 size-9 border border-white`,children:[(0,_.jsx)(u,{src:`https://i.pravatar.cc/150?img=4`}),(0,_.jsx)(c,{className:`bg-yellow text-white`,children:`CN`})]}),(0,_.jsxs)(l,{className:`z-20 -ml-3 size-9 border border-white`,children:[(0,_.jsx)(u,{src:`https://i.pravatar.cc/150?img=5`}),(0,_.jsx)(c,{className:`bg-green-400 text-white`,children:`WA`})]}),(0,_.jsxs)(l,{className:`z-10 -ml-3 size-9 border border-white`,children:[(0,_.jsx)(u,{src:``}),(0,_.jsx)(c,{className:`bg-blue text-white`,children:`FR`})]})]})}),(0,_.jsx)(d,{}),(0,_.jsx)(y,{names:`Holly Flax and Michael Scott`,timestamp:`Yesterday`,type:`like`,children:(0,_.jsxs)(`div`,{className:`isolate flex items-center`,children:[(0,_.jsxs)(l,{className:`z-20 size-9 border border-white`,children:[(0,_.jsx)(u,{src:`https://i.pravatar.cc/150?img=8`}),(0,_.jsx)(c,{className:`bg-green-400 text-white`,children:`WA`})]}),(0,_.jsxs)(l,{className:`z-10 -ml-3 size-9 border border-white`,children:[(0,_.jsx)(u,{src:`https://i.pravatar.cc/150?img=20`}),(0,_.jsx)(c,{className:`bg-blue text-white`,children:`FR`})]})]})})]})]})})})]})};export{b as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{t as r}from"./heading-ih-fOVqF.js";import{Ir as i,_n as a,a as o,gn as s,kn as c,nt as l,ot as u,st as d,t as f,u as p,un as m,vn as h,xr as g}from"./button-D414TI3B.js";import{t as _}from"./use-navigate-with-base-path-BzgNwMAx.js";import{n as v}from"./onboarding-DV_XbHts.js";import{Cn as y,Dt as b,Sn as x,qt as S,wn as C,yn as w}from"./index-DOF2jDq0.js";import{n as T,t as E}from"./avatar-flipboard-DiAGgshK.js";var D=e(t(),1),O=``+new URL(`avatar-casey-CX7PTHtu.png`,import.meta.url).href,k=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAOkklEQVR4AZ2YVZAbSZqAv8zKApXUUkmNblOb20zDM7drzzIz89O9LBzDy8Lr4ezTMTPDMk4vDfOMPWi7Tc0tqUWFmXmKW3Is73wR33N9kfRHlOB5ol5vTxU6PiaClReGDXNM2EbUX69Ftg84tKVgXiXMex6PUmUOhj4PROXt9mePCoiSLPmI0cEvaZ1Fmj5CFrhDjSlRaB9MCuUCAYiWg5QubjlASTVvdDanU/MJYP5nDgxeH/PTCKIg6pB+zNX+LzkatJthRBslJLKoMVjUWG0QYwXW7YHbAQTYGqQKqUuETkhgBDqGOOevKfEzhSoI+EnYST7Sy83HrdFRFhswBul0cD1JqCoo45IWLjgQeIaMgGJRYhWI7WNYqzFrmoGwOErgCJDKvt8IcSr/duRf/8TAPPxJy8sfkvJLOgYbW1AGQok2PnqtIG0DCdjYMLZNsKkuyXKPlcU6rabFOgpiBQWIKogyFLog7ceILJ/RnvtXBOIo8Ms/NlC7PfhBNooIEfwXiXcKKVFG4AgP7QoKJCKrIAcFTt5nbKzDof0Bt1xfZnrcIU9hY8XnoTNw77OwNCgoRIHRkhgPqwTas2DBERbHyF+yRXEqj2ungTY/gOD1lh9EeNnDIlPHrJE4Dvg+eC704pQ8tUSBz1go2D29zpHZVU7fOsb1O0ZxhaDQUJKWM+cF//YpePDpDmeWu6ymLtqpIQIfqwBpCaSglBYUg4RYuHPAaX4AR+3+baTRfFdT5w9d1319EAhcFxwDJgWdWNKLV2CjydR4lRsOObz2JYIX3SK4fnOJsnXpr1mKrmYkLNgyJtg1I5neYkh0n/VeRq8Lth+AEWAFTg5OXyJjSeHImTzwIuOoLwzluwreaK/J7b8fN/grN3BwLZAYsnYP3dnAJjHTU5bbr29wcHaUG45JbtgHFXK6vQ7nnnBZWx5BG019SnLgGFRKGQbBXecL7noi41uPKR4447DaNOT9HHKXMAwpj0h6yhJjwfLLwB3XbLEGgCibkalzp3DUjLUCEoPt93BFk/Fah3I54X0v2cZ7XjZFpVIwogwKlyyxzH3lSZaWSsOwnfQKmF+2TI73uf3WDlvGI6QI6WTw5DnD3AN97nmiyxMXEs5f8pGlUaJpn1gL4sSAoA1yB9AGcJj9BCBwQ/WHfsk5pXyBTgym04N+m4ltIa9+5Xbe9pZxXn8zbCu3KckOg+4GTu5jUod77z6DO1pw48s240zDvc9t8MijKzixoVqqMlpXlJRlcz1h/w7L1OYAv+rwbAf6bUmKj7ECHAuWAMRQvgCgAIIomdFavt9IjyIG3c2ol9rceLTDq1+QcOstJWajCgEBNNtQF1RGNL1ByqPrXfxpj4N7I7YEMCIyqqrPeSdDVSTV8QWEkGwgcVWN8ajGq07A8d2GI3sX+MvPeHzz67vRrsJtSAwWa+0vGSE+AbQdZj+OcIo/dB2OFVpRrAJZwdF9Kb/+Vpd3vRDGvJRzq5rFZ11ayyEXWwFGlJi7kPG5M6sc29ng+gPTIBwC00OlksKWcYWHMik9O+BcU3KxN8qlBUvRXGf7hObY9pRaxeXBM3WafQkuSATCCqQlHTqnlAGncE65Iy5GQ26hVHKYmm4wuUmBcLi60OdTX7hCo9KnsnmSrz5iKIc+a1cUraUQMxYxMD4bomDMVRybDbl0weVTX7KcDca5YbelVBGYhsNj557DJpd446tmOXFsD1s3S64/LFl/FFodED7f5SPAx1VQ5VSu9Uy/m2KlgqpHqSYIfMMgtmSJpbXqEJUm2Lu9TGOfYXFyiaiiWDgb8tSgwWAt5DOfltw38Ng/LdgTCZKyIdhl2blZccMsBD6YEXDHGlxeElzsCPYahygQ1GyCqxUIxTVEQnJKMQzUHUPRG0AQQsnHrYLnfPv173VS0gSiemP4MdjSaLKp0aFOwH1ZnZWzZS4vwpVWwbNxgrOesjwqWC5c5Ljg+tsVe6dbQBfYhB0G6scblNSAVtKi1REo6+JKxbVYa7G5PSbjLkexoAKF4yiIBboHrqMYjXwa4wp/JGe9l3OpmQAJo3YEaabI58tsrEGblP1HOrz19AYvmu0yXcvodwTrz0maC33gKXo8RMI655+G1gWYqYVUvC6dbIHSmIcbKii+HTYUsFjsKaXj/owfWLxyQKE94jYUAmwucYQAIamNdcm5zFOtgOnBBHXGKK14XHwOYq2Z2rPCS087jAWTeGnGIFUE1uMzT1sefqDJ4dlNTFb289AVy5NP9dhEhYkS1JXHZD3AH3fAB7S9ZgUBKY4qAjFjZIHRFqEFALaAuKcZnkuY7DE1mXHLLcHwcS3zP19X+KWCzUay7sVM7tjg8EnLubWAf7xLsn8k5EW3wi2HMs48CkaXeeipBl7o88S5qzSCHtftqRBVDeAiKXNhOafVEyAFYAEQQgA2UgRhVKQbmEGKcsrgCdwAhIWsyIGMkqxwYMsEq1ck9z/UZrUyjNpeZXxLwYwdsG1iK7/7dzl3fGKB2dlJfreRMnuoS2Vbmc2TdZorZviULGHcYdypcbYfApI2kBHHHqsLBXHPAeVi7XcDLSAixQAwDkJYrAUKcBxFbURSrwC4ZMbyzJqkuwLjIiDNe/ixi+vW8LwKoSjhV1pQXqJdqtIMYloypZuPA6AGkF71SJSkKByQhrTXwQ801aDCzFjISChZjw24XAvK9WiLPIzIUiwJaECA60p8FQAuz52Nh/Mz5slVaOwV3L5jgl25y30PwgNtwYnZmF845hN/eBs3TYS8cofmiSWHx68q8Aa88lA2XOUqyxseawse9zwE+2bG8OUyRbFGNXHxCx8EACAAIRHQVsJN2wgbGSxGW1ACWWRkgxxtFKYwPHs55eFHPExD8pLjlpt3ShoZPH3GDrfdcM99ObfdEvCh1/vMOBKZ1Lj8uGGjmyPkGicOKkI3IjMef/c/TT531xLjW7dRp4HJVrAbXUgFyACBAQQCEDCv8qT5CK6YIQyweRUyiVeAHQzQZBglyBsOsR9w+6jilfUBxl5BeKPsvK7GkZWQ/irc/1iTUnmZu/IGslfjuauC7dU+t+wUhK6HySzKEzR2rHA1vsT6Wo1d4xEjSiLcHCH5Pt9+ajDWXlRBEX0t93h9oS30elCElCJLZSRjkK8w3+xBEvDy22qc3BUj608hyYAIUzH0+22UV2PlfMRaU5DGOdMNS1BymKyU2bcvR5t4eElWmTna4ODRCfwiIDtfIhtLEYFAVuoIT0JsuBYhxCPKj0uPSBesa9B2BbKM1IDwBI6rCB3FqNdHqgVaA809zwRkvQAVwQMPLbHeX2LXwd1snarSXI4o8iUmp84PYxs8d1+Nz3/eoTEOTz8nGV+HuudQb/uMhS5eaOkNctZKKbHywDiA5btIzJzqFcVcKVdtt2QiMxJik4xWu2C5WcboBtO1STqbFrj/7kskg21IdYDF1QEqLOgkPaYmDNNb4MabIJIxCs1GscIXPt8h7+zmzi9oGltLeOVRFu4S2JUWJ7ctc9u7alAOWVx0OL+xSjerg6x+P1Awb5BzygiJtr1PZln2MetXoR6S9AzzVwVPXZAc3CrZObOJMPRYXgrJNRwvhZRHYHVdcmUxoiI9+v0m9VobRZmNS/upGoc3v91hcjrkmYspDz7SYu9snZOv3syesYjqZIDBcKGT8fQFh6wjEB7XMgcg5Gs0ZrQT4SQtZIQoAkQL6sCNs5qX3Tx8Qm6QHJsKEWi07SIESCSGChfm5XB1B8NVavOC2xQBDea+rli4AC97nWY0usp6ssTZMy579kRMVbcCirNX4YtPLPA/9/Z54IHN9OMSomTBAoBRcgcw79gDn4AkSGS9qNs8v4lcYI0iLeDSouGpc01W222KEZ/Jakwo2iR5jhUxUoDMXc6djUm6ZepjEam1nD3fJslyZrcG+OEKodtk+3SZim9YaDp8+uES//Z1+MtPtTn7aEEoGuAqcmkRAIK/Ftb+zdBvryCA2dWJGNgLpCIiLoN2cSz4us2IXKEc5rzztpxffH2DqalJHFIEA9JEDWeux3NPV4dRBZ3iMnmwzpH9E9x6eCtBaIEEYyRr8w5//A+Wf/xWxqpT0MLH9jWis4GIalCrgDbzxpGngXmA/19BKwW0g8QtpWkl8l/u+pIszbGFQyE8erlH67LPo2cKlq76bOgG2vOJalBSisYmQZa79LqScmjZu7/E9cclod/BkHL3QoV/+i+Pf/wXzefnDBc2fHrSgxEXVRKM4IDnUjgKifllae3cUIYinNcUXEu02d6hpf1Ip5NjYg/lKxwP8gGYcwnoATtnA04eDIbnU3Ljftg3XaCLDp02RJU6XiDANlm60uLO5YI/+/ood98ZkcwPcF1BY3NAy8/JnIIARd0GdHNBL9OfBH6JaxC8MucHUX5+p4qCU7kWaA0CsNYgpMTmMWqwjp9FHBytcPqE5c1vFBycmQfbwmMPxmQ8/VDGVz8/xl/eX/CoMYjpAFlI1FoC3TXycANjR3GGel5MIfxHgOP8AMJ9bcIPkks/csvcaSzHjDZYAwgL2iJMgRAFZAEqgYnKgH37Q44ciRmvpTg2Ym1pwJkzBecv1nlmWWB8jRgTKCWhbzDxACtTrC3BUGQ2Z33/DT/Tz6NrkY65A/iItWAB4gylJEHkgQO9ZgytLmQ+YqLG5CQUBawvdLAdDVEVAodAgMktFrBSgACrwVowlm9v649BksGP08Tyl4S0HwDmwULJww4tDBQZOFLBSAANge9mpH1DMchxZQaVAuWBsqCNwTrfjgPAANA2hl/G8ktY+HEKXmH5qfjMIPKPo9T7hCMQxmABNEhtMMaA0UhjsdbAUCEVQgUgrh2vEiwwXLVC8XGgzU/m21v8MxMwQzEMNfaFIGaEUjhSYA3oOIdMgwA3cHGVJMss1oIQgKDNMKwi5R1Am58REQ0Dnw9tklMy8E5JKY9imTHx0NxGSEGpRFtK2mmsHzHGfE064hFgjufB/wFswhJdd4cdegAAAABJRU5ErkJggg==`,A=``+new URL(`cover-creator-science-CUXWxnlY.png`,import.meta.url).href,j=``+new URL(`avatar-evan-BheHRuOf.png`,import.meta.url).href,M=`data:image/png;base64,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`,N=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAFj0lEQVR4Ac2ZRZAbyRKG+35653dZuCyzmZnZFi0zMzMzM5NGoxHNqATDDGZmtmBjzMzsf/MPTyvslnbaaoOcEV+FoqArlVmZ2aBZFaeKD3Co2NOOSEw5ItGkPRLdKaAD/l7AMbuKvs25gmaFvCZPUOp/9mj8LV2ZPEmKwn85lbpU0M4UNmZ0KBb7yripVfJR1HSCIxp/yqLFzEjaVOxuQeuMTgd1q51PHLKHoP0XOTvpUnFDEy9wgVjAPQXNCJssuEDAhYQGETQjhg4TtxbA3Wx0GBR3c2IhYW4VNJ3MD4Z9R8JFgdnJ85h1BpmbTBYWxNW6ay/lwMWEbsUzsp5DsKlITs7HOsIaLmgaG7OzNyms8GBVNR6pqTmNJ+vqMTpUClcsnsNNURkL4YEc6x6vqdPndHoWhZN3JWb/ZnggCMqhY8dw9PhxHOmAsnL7dnRze+DI8aeeqqvPrNPX7D96FJTp7e0Y5g90uq9TqQEaTWmm4DB/EPG167Bm5078//sf0LfYi97Fxbj+jz9Bea6hCZPKFDIXjsZwy99uHD9xAu9Nm4ab/3Kjj6zp5fFilFic0s9bwnmmKUeqRkyd2jlFicVCNRhZWi1UyUUiQgxd/i4CrfdmWxsmlIXBueNLy/DO1Glgf48iT2bDEWLxmkQC6/fulXVu0JVOgUrvP3IE38ydB7rfFVUYFGyQPWPIrWA0YixrsiiOOYufQnDWu4jOeRs9fG3gBUaXxvBKSyutIi4tglPmTVQV6FZUgtkbt+KHBUswMqSkrxwDfCHM27wdtkgFJikSp0L4acEC7D18GDf85cFkmdfX34QFSx7DPeVhMUotjWFUMqkZb6XGlVXgkUo/jrYPxglha8KGV2t/wzctX6CL24ON+/aJu9diVKAEP7Z+hs+af8Cz5Z/g9eov8EnT9/i48Tt81vI9nq/4FB82fIcPG7/Hp00/4hZ3EBRnvAlv1v3CeXi/4Qd4ZnwIbL9Jrv8NxoQrswJFM3TAFVG40jMHC5c+jmPJccDGflifcGFjagrmLnkRfXw1oHQprsGqNfdgc9KBTQknNgvr19mxIeHgb/YR7Gofgwcj32Da+s1YvGUbBpd4sKd99Mk1SRvWrnwAx9cPwLb0WAwKNRgVRJaC48JV2JGYgoPrh+BI+zA8XuVHV9809A00y3mpx2CfF42pNP7ZvROX/abQL9AsNKGbtx6PNizD0NJW9PQ1so+gl7+FLgZlqD8gbo+jl6+VY7jMvQjbUxPgnv4Ruvim49aoylbQ6GJOGhiUDYLN6BNowWQVz6QQPUIZEJSn6huYTk4GjATO13PmgtK9I2AYHAwSHovA8hUYGgicnkYiCoNDjRhVVq2fv2wXW7lBGCfR+8nMWTgoOY0K3BaLM1fiOkk7qd270ZxOo7/Xy2hnlOME0BFYsbxvZDNpJh+cAlPGzoMHUbRkGa75/Q8s27oV1Ymk5DoPKLeKMkzglJeaWjBRz5OmGNIMk6HVgn67WI5yf1UVKH29PnTxVCCwYik2i1v/XLwE6V270U1yaO6yZl6PNZYTqwr28Xgxc/16UD6cMQcPl/+FRcsew+W/BbFPEjJlUjgMpxXl9FInTSZQ8sUVjbFqSPrYgp6SsF+o8WDh8vsl2uvwRF0dyiVfDvb5LT+WChqVy9RjK9B1A0p8VBaTVQyDAg3MBDxzGBYIst/yw33moYk3h+y8mNDfPGhsiE1Fvy60UkbrETYZK+pnscAkab2c72YcSj1daAWN72vYGCicq21KfS1op8ImC/29zAVmgaAZYWNEP48LLuR7mbxeHunQ3QVwq4mLDfB9zXl6JbKTQSloncHGFIa9VJu/z6XVcrvUzMUm6IpatOhOu1JvGxWzrqC5sgNYw/mpgQFl/AzBP8Ex3s5xrqBZ4V+uYs89C3TzHQAAAABJRU5ErkJggg==`,P=``+new URL(`cover-gone-DRTQz022.png`,import.meta.url).href,F=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAE8klEQVR4AbxZA3BkWRR9se2017aKO6Xdwtq2bZQ2hbXN2B7btm175jU2+On+ffee6qrfo57kI3uqXpz3T1+cixZG8cr9RZl/vVl6/brfyz4/3GJfHOhyHPR12AnHz18farZNW/9H6Re/vFpw410jcnPF/4H7778/YVN1+UO03HM4OM1FgU4HCMU+7Xb8DQ1MdxEtcW/fWFn2UkWFiBfDgLg9o5xvqos8eKjKDw/HJhabrJf/l/iO/aOcHwurMOcL25W08hwp2+1BPAQPM3tkGxNdcc6OcZ/ZLhBm4J/peqdvkhPWUk97ENzbVkzepmz+3kEGLKr2THKSnHPOO8IIlJXulkCHPXjmy8tIVqeTsuFH6lv3JX9fatiafn5G/zJ3t9CDXv6H420xyOGMvJQiUIlC/SQr40y5/HibLTiwytMihgI5x/UOXtVZY6gqicLK8QhBClNg2u263BzD5SE5w/WuOBsmf2U/H3ExlAt75j0JciBJau9+kjUpppMH8T7nW9uVIhZohWeHlhCDHFkZz/wiFgR87W7+udMUQcgQFEOcCdAmpP+QL2wtImXL38wvDKI0sG8CZ3Q+fmc2HkN7up1vihMBdYeA6rvMQd76XDoRsjrNdCzioCDcf79I0Ahu/qvsJeiSbsFtyKTQ0SWaq/tWfsKuLjdNEK7eUFX+sEaQ6+Q2Q1Wi00n+0VcRAIIU7EFsWlJtUO8F8BR3Gso0l4FLYkjOlFtA3DRBNCPP3FGYJf55PfuGQKeZyxzUM/cJkEPCkBrYQbLWvOSA019vFlwv1v9R/oVu93a5mUQiW8p9guSENMnxtiAOzVtx3Z/lnws0lrrdWpNGFFJI1uWSr62UTzEpm36LSs7uUeRtNi85B5vsSwQ3lAd0E6xNJgDoWfASy0sqS072yZJTlWrezV22gwLuNUhQSwzVt4GO/Z5MwUOzo5Kz7ANLJEfggxkLAiAF9Mx/VpOccDBAsjLBbANBcPFB8wRDBPQt/4jUnj1RyZlwsynJQfgJBKIZgrBeOOjnzOUS11JIPTPvjUqObxP/rfFYRAKLDZzKZggqWyrp+N/xbClXpNhXxjFnJSo5zcWQHEPuxdgqqlkM9Qq1rAZBYlIXkWzOi8wn2sWl1Lf2S4KbYV1lZxt5WwsNCfUvbxbcKF4ZUZSJsqJfqJNgtTNWFlmTcbLkVCbpJqjwLK0N/CjMvk5t1jV9vE15FNw/RZOcnkWvw2W63EtLPNsFAKC18XbYQ9YQxHGiw45KzoCPrZioayRFC6gRRHOoag2rJQczCiRH08jAuJuGLDlonplW/Mktf7f9TbTbVhFE4vw75dao5Mg1JOvTB2/5W+1qzNUIrTxXYmiyzIr/xLNG9kQlpzF/sJFAxeAmYmH6t8VXYvSziiBqcd+yjyMEITnb6lhyimKPspNcNOi+xs/Ds2UJA8mpTtGSBZC16TFXIFgaDHEv42nBOsISyWkupIGdHQQom/484x7nGMe+of0MXpUVVsSRtRns3uJo1dEsZwvCIMII/GxyrEK0xLHwyHZ7GPGu7WOMYlxF4QVYNso2i0i2R7YHWHFoexgrAG2iiJirBjetYW+7Q0VB2DPK/qYYJsRv5kU4LXVvQzHnzf6gNRZLdDQjqPcoqdpKY7iBgf9PfosBYysaS/9/Q2qZfwG2hF8slzoN6jbOLRQxAU1ZkGsPACnHAaEfBAWlAAAAAElFTkSuQmCC`,I=``+new URL(`cover-lever-lxwj25Dv.png`,import.meta.url).href,L=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAYAAABHomvIAAAD+UlEQVR4AezWA3AkWxuA4fc73T2TQZysbdveLf+2Cr+ta9soXKNwbdu2bVvxODN9zne51iTr3Txldb19TI8e25hspm8IHMa6HQagrE23ViB95tw6xBXSIz1VY8WkMZIxgQspGPGJthPP59XmpWZwLP3ylb8sgejmHEEBFGDIkD9UtKs3Vp022lKuqnLgP13NsEWR0DLOOWYKVIsjpR4phdAogtIukFdFAiEVQt4Zip4j5/v42dZMc+u7RzydeufEtwDt3gj+8pfeqKaTa01j3/GFQrhYnI7EyhDrCnlxpSbxErUikamq9AZUQTc2lQIK6ptAPseEZ6cf/f9ZTU1nfMYafMoQu/u9foWJpSNiPslI0r8pCHmo6c3LCm3vHZ+LVYyMJIcftCjWMGm4LdAHEKFciiABGBMGQQSgW4GexJIOb1n203eeyaavvK7t6f06+E6J54gP+Xe9BKQp0EUGhaw6VxTJOtbBlBUYJopeUPNG/tOr71get9LcGJ5ficOwBRjKpc4YryJgKzN0gYpvttPAMvQE9gT2BDoDKttLoKyWlmxpV6TDhYUO1vJop7pSzgiOLcBn3XR55Pjxvwze70hMFM9vNBUD+jNgbixZylYi1ZrQjlxGG5Me1b2sJUJ3OAIxeKiVLt/FA+Y+UpFPDPtpbUP4fz8an5Xs+9NktHKiiokmUJdX9Is6L+KZoHGK66SW7hASQNSpMV0MXOKJNPaL9es90DVlX2t95YgbovVLRlYPXvRXWyKGw6ohhaK2SKVaV4cY1qBoqZVI8IiJ8KqnGOOIIOjyOBE+svgPS6yhvYuBTYbw81prR7SG6Q/PbXv70Puqwv9+v3LAol+FBWIoAH1YTgxrEVS84BOba7pwyIyXr+U+eI8hvh8LFSDM+1KfHmJ/+EPsYdcc7wABtMzACnUqIYo439QAIiYRx5EComW/hKK47KcPu/sO+6kCFg5zcJgCwGHyHofp00+zPEq79R5U5wwAngeCA5QyCSgu64DlUQ6WO0w3+0GtIHSNqEY8QHquum7rCRRVQLe7QNVQnOJEjQUAFbYyn/UaJqZqYBDEaBCXKwLYUqpZBLedjOCVNv/RdR93fkanFx88Ndn3d4uiiYlzNCSOYiiHqsEjbiJxfwuMILbljT0+xrMv1ozea0HDxLMPVZV+toinYAWMwjrXpoAKiIooSijOuc0euFzLq0c/ZdU/tfeo3Rq9JPM7C4zwIa0GI44sjg4U4xlyTkiHButbMsZQRDFt7970Seq9g54FuhUpZSwBt/L5dXf/QqFlhGf9FiiiET8XCZLtYSHlqa3OfbmXF92+QUxk/I/DLJJLA0bS02wDxuAktlYIkQ4ZBaMAAIF7v5iv002gAAAAAElFTkSuQmCC`,R=``+new URL(`cover-platformer-BfGr_iFM.png`,import.meta.url).href,z=``+new URL(`cover-reader-Tj2JKmo5.png`,import.meta.url).href,B=`data:image/png;base64,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`,V=``+new URL(`cover-tangle-dgGy0CHE.png`,import.meta.url).href,H=n(),U=({children:e,selected:t})=>(0,H.jsx)(`div`,{className:`flex h-[30px] items-center gap-1.5 rounded-sm px-2 text-sm font-medium ${t?`bg-gray-100 text-black`:`text-gray-700 dark:text-gray-600`}`,children:e}),W=({children:e,selected:t,onClick:n,onMouseEnter:r,onMouseLeave:i})=>(0,H.jsx)(f,{className:`h-auto rounded-full px-3 py-0.5 font-mono text-sm font-medium tracking-wide uppercase ${!t&&`bg-transparent text-gray-700 dark:text-gray-600`}`,onClick:n,onMouseEnter:r,onMouseLeave:i,children:e}),G=({selectedTab:e})=>(0,H.jsxs)(`div`,{className:`flex h-full flex-col gap-px border-l border-gray-200 pt-4 pl-4 dark:border-gray-900`,children:[(0,H.jsxs)(U,{selected:e===1,children:[(0,H.jsx)(m,{size:16,strokeWidth:1.5}),` Inbox`]}),(0,H.jsxs)(U,{selected:e===2,children:[(0,H.jsx)(a,{size:16,strokeWidth:1.5}),` Feed`]}),(0,H.jsxs)(U,{children:[(0,H.jsx)(g,{size:16,strokeWidth:1.5}),` Notifications`]}),(0,H.jsxs)(U,{children:[(0,H.jsx)(h,{size:16,strokeWidth:1.5}),` Explore`]}),(0,H.jsxs)(U,{children:[(0,H.jsx)(p,{size:16,strokeWidth:1.5}),` Profile`]}),(0,H.jsx)(`div`,{className:`mt-8`,children:(0,H.jsxs)(`div`,{className:`inline-flex h-8 items-center gap-1.5 rounded-full bg-purple-500 pr-3 pl-2 text-sm font-medium text-white`,children:[(0,H.jsx)(c,{size:16,strokeWidth:1.5}),` New note`]})})]}),K=()=>{let e=[{avatar:B,publisher:`Tangle`,title:`The Sunday — February 23`,excerpt:`This is the Tangle Sunday Edition, a brief roundup of our independent politics coverage plus some extra features for your Sunday morning reading.`,cover:V},{avatar:k,publisher:`Creator Science`,title:`A lesson from basketball's 3-point line`,excerpt:`The NBA was formed in 1949 after the merger of the National Basketball League (founded in 1937) and the
|
|
2
|
+
Basketball Association of America (founded in 1946).`,cover:A},{avatar:N,publisher:`Gone with the Wynns`,title:`How far can our electric boat go?`,excerpt:`Does an electric tender actually have the stamina needed to work for cruising life? Until now, we honestly didn't know how long or far we could go with our electric jet propulsion. I guess we just haven't been...`,cover:P},{avatar:L,publisher:`Platformer`,title:`Manus of the hour`,excerpt:`What the hype cycle around a new Chinese AI model tells us about the state of competition in agents`,cover:R},{avatar:F,publisher:`The Lever`,title:`Is It Still Safe To Fly?`,excerpt:`Aviation and antitrust expert Bill McGee breaks down recent airplane disasters and reveals the real risks to our airspace.`,cover:I}];return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:`flex w-full justify-between border-b border-gray-200 py-5 dark:border-gray-900`,children:[(0,H.jsx)(r,{children:`Inbox`}),(0,H.jsx)(`div`,{className:`flex h-[30px] w-[232px] items-center rounded-full bg-gray-100 px-2 text-gray-400 dark:bg-gray-950`,children:(0,H.jsx)(l,{size:16,strokeWidth:1.5})})]}),(0,H.jsxs)(`div`,{className:`grid h-full grid-cols-[auto_248px] gap-4`,children:[(0,H.jsx)(`div`,{children:e.map(e=>(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-8 border-b border-gray-200 py-4 dark:border-gray-900`,children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm font-semibold`,children:[(0,H.jsx)(`div`,{className:`size-4 rounded-full bg-cover bg-center bg-no-repeat`,style:{backgroundImage:`url(${e.avatar})`}}),e.publisher]}),(0,H.jsx)(`div`,{className:`font-semibold`,children:e.title}),(0,H.jsx)(`div`,{className:`text-sm text-gray-700 dark:text-gray-600`,children:e.excerpt})]}),(0,H.jsx)(`div`,{children:(0,H.jsx)(`div`,{className:`h-20 w-[120px] min-w-[120px] rounded-sm bg-cover bg-center bg-no-repeat`,style:{backgroundImage:`url(${e.cover})`}})})]},e.publisher))}),(0,H.jsx)(G,{selectedTab:1})]})]})},q=()=>{let e=[{avatar:E,publisher:`Flibboard`,handle:`@flipboard@flipboard.social — 17m`,post:(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`span`,{className:`text-purple`,children:`@newyorktimes's`}),` veteran tech reporter`,` `,(0,H.jsx)(`span`,{className:`text-purple`,children:`@Markoff`}),` interviewed some of`,` `,(0,H.jsx)(`span`,{className:`text-purple`,children:`#TeamFediverse`}),` including our CEO`,` `,(0,H.jsx)(`span`,{className:`text-purple`,children:`@mike`}),` for a feature on the rise of decentralized social media. "It goes back to the original principles...`,` `,(0,H.jsx)(`span`,{className:`text-purple`,children:`Show more`})]}),likes:94,replies:12,reposts:71,liked:!1},{avatar:O,publisher:`Casey Newton`,handle:`@caseynewton@mastodon.social — 2h`,post:(0,H.jsxs)(`div`,{children:[`This sucks. I met my wife on the basic HTML version of Gmail.`,` `,(0,H.jsx)(`span`,{className:`text-purple`,children:`techmeme.com/23092...`})]}),likes:118,replies:32,reposts:27,liked:!0},{avatar:j,publisher:`Evan Prodromou`,handle:`@evan@cosocial.ca — 2h`,post:(0,H.jsxs)(`div`,{children:[`At #FediverseHouse, after `,(0,H.jsx)(`span`,{className:`text-purple`,children:`@pluralistic`}),`'s talk, I came up and thanked him for speaking. We've never met before in person, so I asked if we could do a selfie.`]}),likes:44,replies:20,reposts:14,liked:!0}],{data:t}=b(`index`,`me`);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:`flex w-full justify-between border-b border-gray-200 py-5 dark:border-gray-900`,children:[(0,H.jsx)(r,{children:`Feed`}),(0,H.jsx)(`div`,{className:`flex h-[30px] w-[232px] items-center rounded-full bg-gray-100 px-2 text-gray-400 dark:bg-gray-950`,children:(0,H.jsx)(l,{size:16,strokeWidth:1.5})})]}),(0,H.jsxs)(`div`,{className:`grid h-full grid-cols-[auto_248px] gap-4`,children:[(0,H.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[524px] flex-col items-center gap-4 pt-8`,children:[(0,H.jsxs)(`div`,{className:`mb-5 flex w-full items-center gap-3 rounded-md bg-white p-3 text-gray-600 shadow-sm dark:bg-gray-950`,children:[(0,H.jsxs)(x,{className:`size-9`,children:[(0,H.jsx)(C,{src:t?.avatarUrl}),(0,H.jsx)(y,{children:(0,H.jsx)(p,{strokeWidth:1.5})})]}),`What's new?`]}),e.map(e=>(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:`flex w-full items-start gap-3 px-3`,children:[(0,H.jsx)(`div`,{className:`size-9 max-h-9 min-h-9 max-w-9 min-w-9 rounded-full bg-cover bg-center bg-no-repeat`,style:{backgroundImage:`url(${e.avatar})`}}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-3 text-sm`,children:[(0,H.jsxs)(`div`,{className:`mt-0.5 flex flex-col gap-0.5`,children:[(0,H.jsx)(`div`,{className:`leading-tighter font-semibold`,children:e.publisher}),(0,H.jsx)(`div`,{className:`leading-tighter text-gray-700 dark:text-gray-600`,children:e.handle})]}),(0,H.jsx)(`div`,{children:e.post}),(0,H.jsxs)(`div`,{className:`flex items-center gap-3 text-xs font-medium`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-1 ${e.liked&&`text-pink-500`}`,children:[(0,H.jsx)(s,{size:14,strokeWidth:1.5}),e.likes]}),(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(u,{size:14,strokeWidth:1.5}),e.likes]}),(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(d,{size:14,strokeWidth:1.5}),e.likes]})]})]})]}),(0,H.jsx)(w,{})]}))]}),(0,H.jsx)(G,{selectedTab:2})]})]})},J=()=>(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:`relative flex w-full items-center justify-center border-b border-gray-200 py-5 dark:border-gray-900`,children:[(0,H.jsxs)(`div`,{className:`flex w-full max-w-[520px] items-center gap-3 text-sm`,children:[(0,H.jsx)(`div`,{className:`size-9 max-h-9 min-h-9 max-w-9 min-w-9 rounded-full bg-cover bg-center bg-no-repeat`,style:{backgroundImage:`url(${M})`}}),(0,H.jsxs)(`div`,{className:`mt-0.5 flex flex-col gap-0.5`,children:[(0,H.jsx)(`div`,{className:`leading-tighter font-semibold`,children:`404 Media`}),(0,H.jsx)(`div`,{className:`leading-tighter text-gray-700 dark:text-gray-600`,children:`@index@404media.co — Yesterday`})]})]}),(0,H.jsxs)(`div`,{className:`absolute right-0 flex items-center gap-4 text-gray-500`,children:[(0,H.jsx)(i,{size:28,strokeWidth:1}),(0,H.jsx)(o,{size:22,strokeWidth:1.15})]})]}),(0,H.jsx)(`div`,{className:`mt-8 flex w-full flex-col items-center`,children:(0,H.jsxs)(`div`,{className:`flex w-full max-w-[610px] flex-col gap-5`,children:[(0,H.jsx)(r,{className:`mx-auto max-w-[520px]`,children:`Decentralized Social Media Is the Only Alternative to the Tech Oligarchy`}),(0,H.jsx)(`div`,{className:`h-[320px] w-full bg-cover bg-center bg-no-repeat`,style:{backgroundImage:`url(${z})`}}),(0,H.jsx)(`div`,{className:`mx-auto max-w-[520px] font-serif text-lg`,children:`The TikTok ban and Donald Trump's rise to power show how fragile our social media accounts are. We must normalize and invest in decentralized social media.`}),(0,H.jsx)(`div`,{className:`mx-auto max-w-[520px] font-serif`,children:`If it wasn’t already obvious, the last 72 hours have made it crystal clear that it is urgent to build and mainstream alternative, decentralized social media platforms that are resistant to government censorship and control, are not owned by oligarchs and dominated by their algorithms, and in which users own their follower list and can port it elsewhere easily and without restriction.`})]})})]}),Y=()=>{let[e,t]=(0,D.useState)(1),[n,r]=(0,D.useState)(!1),{setOnboarded:i}=v(),a=_(),{topicsQuery:o}=S(),{data:s}=o,c=s&&s.topics.length>0;return(0,D.useEffect)(()=>{if(n)return;let e=setInterval(()=>{t(e=>e===3?1:e+1)},3e3);return()=>clearInterval(e)},[n]),(0,H.jsxs)(`div`,{className:`flex size-full max-h-screen flex-col gap-4 overflow-hidden px-14`,children:[(0,H.jsxs)(T,{children:[(0,H.jsxs)(`div`,{className:`flex flex-col justify-between gap-4 text-xl font-medium`,children:[(0,H.jsx)(`h1`,{className:`max-w-[680px]`,children:`Find inspiration & follow what you love.`}),(0,H.jsx)(`div`,{className:`flex max-w-[680px] flex-col gap-4`,children:(0,H.jsxs)(`p`,{className:`tracking-tight text-gray-700 dark:text-gray-600`,children:[`Follow-back your community to connect with them directly, or subscribe to your peers for inspiration to fuel your next idea. You now have a native`,` `,(0,H.jsx)(`span`,{className:`font-semibold text-black`,children:`social web reader`}),` inside Ghost for keeping track of your favourite creators across different platforms.`]})})]}),(0,H.jsx)(f,{className:`min-w-60 bg-gradient-to-r from-purple-500 to-[#6A1AD6] hover:opacity-90 dark:text-white`,size:`lg`,onClick:async()=>{await i(!0),a(c?`/explore`:`/`)},children:`Next →`})]}),(0,H.jsxs)(`div`,{className:`mt-8 flex h-full max-h-[760px] flex-col items-stretch justify-end`,children:[(0,H.jsxs)(`div`,{className:`flex items-center justify-center gap-2`,onMouseEnter:()=>{r(!0)},onMouseLeave:()=>{r(!1)},children:[(0,H.jsx)(W,{selected:e===1,onClick:()=>{t(1)},children:`Long form content`}),(0,H.jsx)(W,{selected:e===2,onClick:()=>{t(2)},children:`Short form content`}),(0,H.jsx)(W,{selected:e===3,onClick:()=>{t(3)},children:`Integrated reader`})]}),(0,H.jsx)(`div`,{className:`pointer-events-none relative -mx-14 mt-5 w-[calc(100%+112px)] overflow-y-hidden mask-b-from-80% px-14`,children:(0,H.jsxs)(`div`,{className:`mx-auto h-[694px] w-full max-w-6xl overflow-hidden rounded-md bg-white shadow-xl dark:bg-[#101114]`,children:[(0,H.jsxs)(`div`,{className:`flex h-5 w-full items-center gap-1.5 bg-gray-100 pl-2 dark:bg-gray-950`,children:[(0,H.jsx)(`div`,{className:`size-2 rounded-full bg-gray-300`}),(0,H.jsx)(`div`,{className:`size-2 rounded-full bg-gray-300`}),(0,H.jsx)(`div`,{className:`size-2 rounded-full bg-gray-300`})]}),(0,H.jsxs)(`div`,{className:`h-full px-8`,children:[e===1&&(0,H.jsx)(K,{}),e===2&&(0,H.jsx)(q,{}),e===3&&(0,H.jsx)(J,{})]})]})})]})]})};export{Y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-BXwhMTuc.js";import{t}from"./jsx-runtime-BlNNh7jY.js";import{Z as n}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as r}from"./button-D414TI3B.js";var i=`data:image/png;base64,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`;e();var a=t(),o=({label:e,className:t,href:i,target:o,variant:s,...c})=>{let l=n(`cursor-pointer rounded-md bg-[#625BF6] font-semibold text-white transition-all hover:opacity-90`,e?`px-5 py-2`:`px-6 py-[9px]`,!e&&`[&_svg]:h-4! [&_svg]:w-[132px]!`,t);return e||=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(`span`,{className:`sr-only`,children:`Connect with Stripe`}),(0,a.jsxs)(`svg`,{fill:`none`,height:`16`,width:`132`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,a.jsx)(`g`,{clipPath:`url(#clip0_1443_3527)`,fill:`#fff`,children:(0,a.jsx)(`path`,{d:`M2 7.6c0-2.3 1.3-3.9 3-3.9 1.3 0 2.2.8 2.5 2l1.8-.6C8.7 3.2 7.2 2 5 2 2.1 2 0 4.3 0 7.6s2.1 5.6 5 5.6c2.2 0 3.7-1.2 4.3-3.1l-1.8-.6c-.3 1.3-1.2 2-2.5 2-1.8 0-3-1.6-3-3.9zm15.6 1.5C17.6 6.7 16 5 13.8 5 11.6 5 10 6.6 10 9.1c0 2.5 1.6 4.1 3.8 4.1 2.3 0 3.8-1.7 3.8-4.1zm-5.7 0c0-1.6.8-2.6 2-2.6s2 1 2 2.6-.8 2.6-2 2.6-2-1-2-2.6zM19 13h1.8V8.4c0-1.1.8-1.7 1.6-1.7 1 0 1.4.7 1.4 1.7V13h1.8V7.8c0-1.7-1-2.8-2.6-2.8-1 0-1.7.5-2.2 1v-.8H19V13zm8.5 0h1.8V8.4c0-1.1.8-1.7 1.6-1.7 1 0 1.4.7 1.4 1.7V13h1.8V7.8c0-1.7-1-2.8-2.6-2.8-1 0-1.7.5-2.2 1v-.8h-1.8V13zm11.8.2c1.6 0 2.8-.8 3.4-2.2l-1.5-.6c-.2.8-.9 1.3-1.8 1.3-1.2 0-2-.8-2.1-2.2h5.5v-.6c0-2.2-1.2-3.9-3.5-3.9-2.2 0-3.8 1.8-3.8 4.1 0 2.4 1.5 4.1 3.8 4.1zm-.1-6.7c1.1 0 1.7.8 1.7 1.6h-3.6c.2-1.1 1-1.6 1.9-1.6zm6.2 2.6c0-1.6.8-2.5 2.1-2.5 1 0 1.5.6 1.8 1.5l1.5-.8c-.4-1.3-1.6-2.2-3.3-2.2-2.2 0-3.9 1.7-3.9 4.1 0 2.4 1.6 4.1 3.9 4.1 1.7 0 2.9-1 3.3-2.3l-1.5-.8c-.2.9-.8 1.5-1.8 1.5-1.3-.1-2.1-1-2.1-2.6zM52 11c0 1.6.8 2.1 2.3 2.1.5 0 .9 0 1.2-.1v-1.5h-.7c-.6 0-1.1-.1-1.1-.8V6.6h1.7V5.1h-1.7V2.8h-1.8v2.3h-1.1v1.5h1.1L52 11zm11.7-5.9l-1.4 5.2-1.4-5.2h-1.8l2.4 7.9h1.6l1.4-5.2 1.4 5.2h1.6l2.4-7.9h-1.8l-1.5 5.2-1.4-5.2h-1.5zm7.1-1h1.8V2.3h-1.9l.1 1.8zm1.8 1h-1.8V13h1.8V5.1zm2 5.9c0 1.6.8 2.1 2.3 2.1.5 0 .9 0 1.2-.1v-1.5h-.7c-.6 0-1.1-.1-1.1-.8V6.6H78V5.1h-1.7V2.8h-1.7v2.3h-1.1v1.5h1.1V11zm4.9 2h1.8V8.4c0-1.1.8-1.7 1.6-1.7 1 0 1.4.7 1.4 1.7V13h1.8V7.8c0-1.7-1-2.8-2.6-2.8-1 0-1.7.5-2.2 1V2.3h-1.8V13zM117.1 15.4v-3c.4.3.9.7 1.9.7 1.9 0 3.6-1.5 3.6-4.9 0-3.1-1.7-4.8-3.6-4.8-1 0-1.7.5-2.1.9l-.1-.6h-2.3V16l2.6-.6zm1.2-9.7c1 0 1.6 1.1 1.6 2.5 0 1.5-.6 2.5-1.6 2.5-.6 0-1-.2-1.3-.5v-4c.4-.2.7-.5 1.3-.5zM127.701 13.2c1.3 0 2.2-.3 3-.7v-2.2c-.7.4-1.5.6-2.6.6s-1.9-.4-2.1-1.7h5.2v-1c0-2.8-1.3-4.9-3.8-4.9s-4.1 2.2-4.1 4.9c0 3.3 1.8 5 4.4 5zm-.3-7.7c.6 0 1.3.5 1.3 1.7h-2.8c.1-1.1.8-1.7 1.5-1.7zM107.6 6.5c.6-.9 1.7-.7 2-.6V3.4c-.4-.1-1.6-.4-2.1.8l-.2-.8H105v9.4h2.6V6.5zM95.602 10.2c0 .5-.4.6-1 .6-.9 0-2-.4-2.9-.9v2.6c1 .4 2 .6 2.9.6 2.2 0 3.7-1.1 3.7-3 0-3.2-4-2.6-4-3.8 0-.4.3-.6.9-.6.8 0 1.8.2 2.6.7V3.8c-.9-.4-1.7-.5-2.6-.5-2.1 0-3.6 1.1-3.6 3 0 3.1 4 2.6 4 3.9zM102.001 13.2c.8 0 1.5-.2 1.9-.4v-2.2c-.3.1-2 .6-2-1V5.8h2V3.5h-2V1.2l-2.6.6v8.6c0 1.6 1.1 2.8 2.7 2.8zM110.5.6v2.1l2.7-.5V0l-2.7.6zM113.1 3.5h-2.6v9.3h2.6V3.5z`})}),(0,a.jsx)(`defs`,{children:(0,a.jsx)(`clipPath`,{id:`clip0_1443_3527`,children:(0,a.jsx)(`path`,{d:`M0 0h132v16H0z`,fill:`#fff`})})})]})]}),i?(0,a.jsx)(r,{className:l,variant:s??null,asChild:!0,...c,children:(0,a.jsx)(`a`,{href:i,rel:`noopener noreferrer`,target:o,children:e})}):(0,a.jsx)(r,{className:l,type:`button`,variant:s??null,...c,children:e})};export{i as n,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{_ as n,f as r,g as i,p as a}from"./hooks-DYfTEQLk.js";import{t as o}from"./jsx-runtime-BlNNh7jY.js";import{n as s}from"./dist-DziNzWI2.js";import{t as c}from"./text-BLI0C8Mc.js";import{t as l}from"./use-limiter-DlL7au90.js";import{a as u,t as d,y as f}from"./button-D414TI3B.js";import{t as p}from"./switch-DoOJF2yg.js";import{o as m,t as h}from"./use-settings-navigation-CzGU4sus.js";import{a as g,i as _,o as v,t as y}from"./field-BXEh3ptU.js";import{t as b}from"./textarea-C5qolByg.js";import{Ci as x,Dn as S,Mr as C,_i as w,vi as T,wi as E,yi as D}from"./index-DOF2jDq0.js";import{a as O,o as k}from"./tiers-6mPzCXlM.js";import{n as A}from"./confirmation-context-znVJD4pX.js";import{n as j}from"./global-data-context-3MItMry2.js";import{t as M}from"./use-upgrade-route-CVjDlNSs.js";import{t as N}from"./use-setting-group-ldtX1Vsk.js";import{n as P,t as F}from"./stripe-button-DMFsLs80.js";var I=``+new URL(`stripe-thumb-Cu2h4McY.jpg`,import.meta.url).href,L=``+new URL(`orb-squircle-DUFLvKu-.png`,import.meta.url).href,R=e(t(),1),z=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20400'%20style='enable-background:new%200%200%20400%20400'%20xml:space='preserve'%3e%3cpath%20style='fill-rule:evenodd;clip-rule:evenodd;fill:%23635bff'%20d='M0%200h400v400H0z'/%3e%3cpath%20d='M184.4%20155.5c0-9.4%207.7-13.1%2020.5-13.1%2018.4%200%2041.6%205.6%2060%2015.5v-56.8C244.8%2093.1%20225%2090%20205%2090c-49.1%200-81.7%2025.6-81.7%2068.4%200%2066.7%2091.9%2056.1%2091.9%2084.9%200%2011.1-9.7%2014.7-23.2%2014.7-20.1%200-45.7-8.2-66-19.3v57.5c22.5%209.7%2045.2%2013.8%2066%2013.8%2050.3%200%2084.9-24.9%2084.9-68.2-.4-72-92.5-59.2-92.5-86.3z'%20style='fill-rule:evenodd;clip-rule:evenodd;fill:%23fff'/%3e%3c/svg%3e`,B=``+new URL(`stripe-verified-DM7Q8nrY.svg`,import.meta.url).href,V=o(),H=1e3,U=15*H,W=({onNext:e})=>(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(c,{as:`h3`,className:`md:text-2xl`,leading:`heading`,size:`xl`,weight:`bold`,children:`Getting paid`}),(0,V.jsx)(`img`,{alt:`Stripe Verified Partner Badge`,src:B})]}),(0,V.jsxs)(`div`,{className:`mt-6 mb-7 text-pretty`,children:[`Stripe is our exclusive direct payments partner. Ghost collects `,(0,V.jsx)(`strong`,{children:`no fees`}),` on any payments! If you don’t have a Stripe account yet, you can`,` `,(0,V.jsx)(`a`,{className:`underline`,href:`https://stripe.com`,rel:`noopener noreferrer`,target:`_blank`,children:`sign up here`}),`.`]}),(0,V.jsx)(F,{label:(0,V.jsx)(V.Fragment,{children:`I have a Stripe account, let's go →`}),onClick:e})]}),G=()=>{let[e,t]=(0,R.useState)(!1),[i,o]=(0,R.useState)(``),[s,l]=(0,R.useState)(!1),[u,f]=(0,R.useState)(``),{refetch:m}=O({searchParams:{filter:`type:paid+active:true`},enabled:!1}),{mutateAsync:h}=k(),{mutateAsync:g}=E(),x=a(),S=e=>{o(e.target.value),t(!!e.target.value)},C=async()=>{let{data:e}=await m(),t=e?.pages[0].tiers[0];if(t){t.monthly_price=500,t.yearly_price=5e3,t.currency=`USD`;let e=0;for(;e<U;){await new Promise(e=>{setTimeout(e,H)});try{await h(t);break}catch(t){if(t instanceof n&&t.data?.errors?.[0].code===`STRIPE_NOT_CONFIGURED`){e+=H;continue}else{x(t);return}}}}},w=async()=>{if(f(``),i)try{await g([{key:`stripe_connect_integration_token`,value:i}]),await C(),await g([{key:`portal_plans`,value:JSON.stringify([`free`,`monthly`,`yearly`])}])}catch(e){if(e instanceof n&&e.data?.errors){f(`Invalid secure key`);return}else{x(e);return}}else f(`Please enter a secure key`)},{apiRoot:T}=r(),D=`${T}/members/stripe_connect?mode=${s?`test`:`live`}`;return(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`mb-6 flex items-center justify-between`,children:[(0,V.jsx)(c,{as:`h3`,className:`md:text-2xl`,leading:`heading`,size:`xl`,weight:`bold`,children:`Connect with Stripe`}),(0,V.jsxs)(y,{className:`w-auto`,orientation:`horizontal`,children:[(0,V.jsx)(v,{className:s?`text-orange`:`text-muted-foreground`,htmlFor:`stripe-test-mode`,children:`Test mode`}),(0,V.jsx)(p,{checked:s,className:`data-[state=checked]:bg-orange!`,id:`stripe-test-mode`,onCheckedChange:l})]})]}),(0,V.jsxs)(c,{as:`h6`,className:`text-base`,tone:`secondary`,weight:`semibold`,children:[`Step 1 — `,(0,V.jsx)(`span`,{className:`text-foreground`,children:`Generate secure key`})]}),(0,V.jsxs)(`div`,{className:`mt-2 mb-4`,children:[`Click on the `,(0,V.jsx)(`strong`,{children:`“Connect with Stripe”`}),` button to generate a secure key that connects your Ghost site with Stripe.`]}),(0,V.jsx)(F,{href:D,target:`_blank`}),(0,V.jsxs)(c,{as:`h6`,className:`mt-8 mb-2 text-base`,tone:`secondary`,weight:`semibold`,children:[`Step 2 — `,(0,V.jsx)(`span`,{className:`text-foreground`,children:`Paste secure key`})]}),(0,V.jsxs)(y,{"data-invalid":!!u||void 0,children:[(0,V.jsx)(v,{className:`sr-only`,htmlFor:`stripe-secure-key`,children:`Secure key`}),(0,V.jsx)(b,{"aria-invalid":!!u||void 0,id:`stripe-secure-key`,placeholder:`Paste your secure key here`,onChange:S}),u&&(0,V.jsx)(_,{children:u})]}),e&&(0,V.jsx)(d,{className:`mt-5`,type:`button`,onClick:()=>void w(),children:`Save Stripe settings`})]})},K=({onClose:e})=>{let{settings:t}=j(),[n,r]=D(t,[`stripe_connect_display_name`,`stripe_connect_livemode`]),{refetch:i,isFetching:o}=C({searchParams:{filter:`status:paid`,limit:`0`},enabled:!1}),{mutateAsync:s}=x(),l=a(),{confirm:p}=A(),m=async()=>{let{data:t}=await i(),r=!!t?.meta?.pagination.total;p({title:`Disconnect Stripe`,prompt:r?`Cannot disconnect while there are members with active Stripe subscriptions.`:(0,V.jsxs)(V.Fragment,{children:[`You‘re about to disconnect your Stripe account `,n,` from this site. This will automatically turn off paid memberships on this site.`]}),okLabel:r?``:`Disconnect`,onOk:async t=>{try{await s(null),t?.remove(),e?.()}catch(e){l(e)}}})};return(0,V.jsxs)(`section`,{children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsxs)(d,{disabled:o,type:`button`,variant:`destructive-ghost`,onClick:()=>void m(),children:[(0,V.jsx)(f,{}),`Disconnect`]}),(0,V.jsx)(d,{"aria-label":`Close`,size:`icon`,type:`button`,variant:`ghost`,onClick:e,children:(0,V.jsx)(u,{})})]}),(0,V.jsxs)(`div`,{className:`my-20 flex flex-col items-center`,children:[(0,V.jsxs)(`div`,{className:`relative h-20 w-[200px]`,children:[(0,V.jsx)(`img`,{alt:`Ghost Logo`,className:`absolute left-10 size-16`,src:L}),(0,V.jsx)(`img`,{alt:`Stripe Logo`,className:`absolute right-10 size-16 rounded-2xl shadow-[-1.5px_0_0_1.5px_#fff] dark:shadow-[-1.5px_0_0_1.5px_black]`,src:z})]}),(0,V.jsxs)(c,{as:`h3`,className:`text-center md:text-2xl`,leading:`heading`,size:`xl`,weight:`bold`,children:[`You are connected with Stripe!`,r?null:` (Test mode)`]}),(0,V.jsxs)(`div`,{className:`mt-1`,children:[`Connected to`,` `,(0,V.jsx)(`strong`,{children:n||`Test mode`})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,V.jsx)(c,{as:`h6`,className:`text-base`,weight:`semibold`,children:`Read next`}),(0,V.jsxs)(`a`,{className:`mt-5 flex w-100 flex-col items-stretch justify-between overflow-hidden rounded-md border border-gray-200 transition-all hover:border-gray-400 md:flex-row dark:border-gray-900`,href:`https://ghost.org/resources/managing-your-stripe-account/?ref=admin`,rel:`noopener noreferrer`,target:`_blank`,children:[(0,V.jsxs)(`div`,{className:`order-2 p-4 md:order-1`,children:[(0,V.jsx)(`div`,{className:`text-md font-semibold`,children:`How to setup and manage your Stripe account`}),(0,V.jsx)(`div`,{className:`mt-2 text-gray-800 dark:text-gray-500`,children:`Learn how to configure your Stripe account to work with Ghost, from custom branding to payment receipt emails.`}),(0,V.jsxs)(`div`,{className:`mt-3 flex items-center gap-1 text-gray-800 dark:text-gray-500`,children:[(0,V.jsx)(`img`,{alt:`Ghost Logo`,className:`size-4`,src:P}),(0,V.jsx)(`span`,{className:`font-semibold`,children:`Ghost Resources`})]})]}),(0,V.jsx)(`div`,{className:`order-1 hidden w-[200px] shrink-0 items-center justify-center overflow-hidden md:visible! md:order-2 md:flex!`,children:(0,V.jsx)(`img`,{alt:`Bookmark Thumb`,className:`min-h-full min-w-full shrink-0`,src:I})})]})]})]})},q=({onClose:e})=>{let{localSettings:t,updateSetting:r,handleSave:i,saveState:a}=N(),[o,l]=D(t,[`stripe_publishable_key`,`stripe_secret_key`]),u=async()=>{try{s.dismiss(),await i(),e()}catch(e){if(e instanceof n){s.error(`Failed to save settings`,{description:`Check you copied both keys correctly`});return}throw e}};return(0,V.jsxs)(`div`,{children:[(0,V.jsx)(c,{as:`h3`,className:`md:text-2xl`,leading:`heading`,size:`xl`,weight:`bold`,children:`Connect Stripe`}),(0,V.jsxs)(g,{className:`mt-10 gap-8`,children:[(0,V.jsxs)(y,{children:[(0,V.jsx)(v,{htmlFor:`stripe-publishable-key`,children:`Publishable key`}),(0,V.jsx)(S,{id:`stripe-publishable-key`,value:o?.toString()??``,onChange:e=>r(`stripe_publishable_key`,e.target.value)})]}),(0,V.jsxs)(y,{children:[(0,V.jsx)(v,{htmlFor:`stripe-secure-key`,children:`Secure key`}),(0,V.jsx)(S,{id:`stripe-secure-key`,value:l?.toString()??``,onChange:e=>r(`stripe_secret_key`,e.target.value)})]}),(0,V.jsx)(d,{className:`mt-5`,disabled:a===`saving`,type:`button`,onClick:()=>void u(),children:`Save Stripe settings`})]})]})},J=()=>{let{config:e,settings:t}=j(),n=T(t,`stripe_connect_account_id`),{updateRoute:r}=h(),a=M(),[o,s]=(0,R.useState)(`start`),c=l(),{showLimit:u}=A(),d=w(t,e),f=c?.isDisabled(`limitStripeConnect`);(0,R.useEffect)(()=>{(async()=>{if(f&&!d)try{await c?.errorIfWouldGoOverLimit(`limitStripeConnect`)}catch(e){e instanceof i&&(r(`tiers`),u({prompt:e.message||`Your current plan doesn't support Stripe Connect.`,onOk:()=>r({route:a,isExternal:!0})}))}})()},[c,r,d,f,u,a]);let p=()=>{s(`connect`)},g=()=>{r(`tiers`)},_;return _=e?.stripeDirect||w(t||[],e||{})&&!n?(0,V.jsx)(q,{onClose:g}):n?(0,V.jsx)(K,{onClose:g}):o===`start`?(0,V.jsx)(W,{onNext:p}):(0,V.jsx)(G,{}),(0,V.jsx)(m,{cancelLabel:``,footer:(0,V.jsx)(`div`,{className:`mt-8`}),testId:`stripe-modal`,title:``,width:n?740:520,hideXOnMobile:!0,onClose:()=>{r(`tiers`)},children:_})};export{J as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{A as r,L as i,O as a,P as o,j as s,u as c,v as l,w as u}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as d}from"./dist-DS6zpxid.js";var f=e(t(),1),p=n(),m=`Switch`,[h,g]=a(m),[_,v]=h(m);function y(e){let{__scopeSwitch:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:l,required:u,value:d=`on`,internal_do_not_use_render:h}=e,[g,v]=c({prop:n,defaultProp:i??!1,onChange:l,caller:m}),[y,b]=f.useState(null),[x,S]=f.useState(null),C={checked:g,setChecked:v,disabled:a,control:y,setControl:b,name:s,form:o,value:d,hasConsumerStoppedPropagationRef:f.useRef(!1),required:u,defaultChecked:i,isFormControl:y?!!o||!!y.closest(`form`):!0,bubbleInput:x,setBubbleInput:S};return(0,p.jsx)(_,{scope:t,...C,children:D(h)?h(C):r})}var b=`SwitchTrigger`,x=f.forwardRef(({__scopeSwitch:e,onClick:t,...n},i)=>{let{value:a,disabled:o,checked:c,required:l,setControl:d,setChecked:f,hasConsumerStoppedPropagationRef:m,isFormControl:h,bubbleInput:g}=v(b,e),_=r(i,d);return(0,p.jsx)(u.button,{type:`button`,role:`switch`,"aria-checked":c,"aria-required":l,"data-state":O(c),"data-disabled":o?``:void 0,disabled:o,value:a,...n,ref:_,onClick:s(t,e=>{f(e=>!e),g&&h&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});x.displayName=b;var S=f.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,p.jsx)(y,{__scopeSwitch:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(x,{...d,ref:t,__scopeSwitch:n}),e&&(0,p.jsx)(E,{__scopeSwitch:n})]})})});S.displayName=m;var C=`SwitchThumb`,w=f.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=v(C,n);return(0,p.jsx)(u.span,{"data-state":O(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});w.displayName=C;var T=`SwitchBubbleInput`,E=f.forwardRef(({__scopeSwitch:e,...t},n)=>{let{control:i,hasConsumerStoppedPropagationRef:a,checked:o,defaultChecked:s,required:c,disabled:m,name:h,value:g,form:_,bubbleInput:y,setBubbleInput:b}=v(T,e),x=r(n,b),S=d(o),C=l(i);f.useEffect(()=>{let e=y;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!a.current;if(S!==o&&n){let t=new Event(`click`,{bubbles:r});n.call(e,o),e.dispatchEvent(t)}},[y,S,o,a]);let w=f.useRef(o);return(0,p.jsx)(u.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:s??w.current,required:c,disabled:m,name:h,value:g,form:_,...t,tabIndex:-1,ref:x,style:{...t.style,...C,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});E.displayName=T;function D(e){return typeof e==`function`}function O(e){return e?`checked`:`unchecked`}var k=o(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=checked]:bg-green-500`,{variants:{size:{default:`h-4 w-7`,sm:`h-3 w-5`}},defaultVariants:{size:`default`}}),A=o(`pointer-events-none block rounded-full bg-background ring-0 [filter:drop-shadow(0_1px_2px_rgba(0,0,0,0.07))] transition-transform data-[state=unchecked]:translate-x-0 dark:bg-white`,{variants:{size:{default:`size-3 data-[state=checked]:translate-x-3`,sm:`size-2 data-[state=checked]:translate-x-2`}},defaultVariants:{size:`default`}}),j=f.forwardRef(({className:e,size:t,...n},r)=>(0,p.jsx)(S,{className:i(k({size:t,className:e})),...n,ref:r,children:(0,p.jsx)(w,{className:i(A({size:t}))})}));j.displayName=S.displayName;export{j as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{L as r,P as i}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as a}from"./button-D414TI3B.js";var o=e(t(),1),s=n(),c=o.forwardRef(({className:e,...t},n)=>(0,s.jsx)(`div`,{className:`relative w-full`,children:(0,s.jsx)(`table`,{ref:n,className:r(`w-full caption-bottom text-base`,e),...t})}));c.displayName=`Table`;var l=o.forwardRef(({className:e,...t},n)=>(0,s.jsx)(`thead`,{ref:n,className:r(`[&_tr:hover:before]:bg-transparent`,e),...t}));l.displayName=`TableHeader`;var u=o.forwardRef(({className:e,...t},n)=>(0,s.jsx)(`tbody`,{ref:n,className:r(``,e),...t}));u.displayName=`TableBody`;var d=o.forwardRef(({className:e,...t},n)=>(0,s.jsx)(`tfoot`,{ref:n,className:r(`border-b bg-muted/50 font-medium [&>tr]:last:border-b-0`,e),...t}));d.displayName=`TableFooter`;var f=o.forwardRef(({className:e,...t},n)=>(0,s.jsx)(`tr`,{ref:n,className:r(`group relative border-b data-[state=selected]:bg-muted`,e),...t}));f.displayName=`TableRow`;var p=i(`relative align-middle`,{variants:{variant:{default:`h-(--control-height) px-2 text-left text-sm font-medium tracking-wide text-text-secondary [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,cardhead:`text-base font-normal [&>div]:px-0`}},defaultVariants:{variant:`default`}}),m=o.forwardRef(({className:e,variant:t,...n},i)=>(0,s.jsx)(`th`,{ref:i,className:r(p({variant:t,className:e})),...n}));m.displayName=`TableHead`;var h=({className:e,children:t,...n})=>(0,s.jsx)(a,{className:r(`gap-1 px-0 text-right text-sm leading-4 tracking-wide text-text-secondary uppercase hover:bg-transparent [&_svg]:size-4`,e),size:`sm`,variant:`ghost`,...n,children:t});h.displayName=`TableHeadButton`;var g=o.forwardRef(({className:e,...t},n)=>(0,s.jsx)(`td`,{ref:n,className:r(`relative p-2.5 align-middle group-hover:bg-table-row-hover [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t}));g.displayName=`TableCell`;var _=o.forwardRef(({className:e,...t},n)=>(0,s.jsx)(`caption`,{ref:n,className:r(`mt-4 text-base text-muted-foreground`,e),...t}));_.displayName=`TableCaption`;export{m as a,f as c,d as i,u as n,h as o,g as r,l as s,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{L as r,O as i,P as a,c as o,d as s,j as c,u as l,w as u,y as d}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as f}from"./dist-B40T-RCQ.js";import{Dr as p,Er as m,Or as h,cr as g}from"./index-DOF2jDq0.js";var _=e(t(),1),v=n(),y=`Tabs`,[b,x]=i(y,[h]),S=h(),[C,w]=b(y),T=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...p}=e,m=f(s),[h,g]=l({prop:r,onChange:i,defaultProp:a??``,caller:y});return(0,v.jsx)(C,{scope:n,baseId:d(),value:h,onValueChange:g,orientation:o,dir:m,activationMode:c,children:(0,v.jsx)(u.div,{dir:m,"data-orientation":o,...p,ref:t})})});T.displayName=y;var E=`TabsList`,D=_.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=w(E,n),o=S(n);return(0,v.jsx)(p,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,v.jsx)(u.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});D.displayName=E;var O=`TabsTrigger`,k=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=w(O,n),s=S(n),l=M(o.baseId,r),d=N(o.baseId,r),f=r===o.value;return(0,v.jsx)(m,{asChild:!0,...s,focusable:!i,active:f,children:(0,v.jsx)(u.button,{type:`button`,role:`tab`,"aria-selected":f,"aria-controls":d,"data-state":f?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:l,...a,ref:t,onMouseDown:c(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:c(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:c(e.onFocus,()=>{let e=o.activationMode!==`manual`;!f&&!i&&e&&o.onValueChange(r)})})})});k.displayName=O;var A=`TabsContent`,j=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,c=w(A,n),l=M(c.baseId,r),d=N(c.baseId,r),f=r===c.value,p=_.useRef(f);return _.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,v.jsx)(s,{present:i||f,children:({present:n})=>(0,v.jsx)(u.div,{"data-state":f?`active`:`inactive`,"data-orientation":c.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!n,id:d,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&a})})});j.displayName=A;function M(e,t){return`${e}-trigger-${t}`}function N(e,t){return`${e}-content-${t}`}var P=T,F=D,I=k,L=j,R=_.createContext({variant:`segmented`,controlShape:`rounded`});a(``,{variants:{variant:{segmented:``,"segmented-sm":``,button:``,"button-sm":``,underline:``,navbar:``,pill:``,kpis:``}},defaultVariants:{variant:`segmented`}});var z=_.forwardRef(({variant:e=`segmented`,...t},n)=>{let{controlShape:r}=o();return(0,v.jsx)(R.Provider,{value:{variant:e,controlShape:r},children:(0,v.jsx)(P,{ref:n,...t})})});z.displayName=P.displayName;var B=a(`inline-flex items-center text-muted-foreground`,{variants:{variant:{segmented:`h-(--control-height) rounded-lg bg-muted px-[3px]`,"segmented-sm":`h-8 rounded-lg bg-muted px-[3px]`,button:`gap-2`,"button-sm":`gap-1`,underline:`no-scrollbar w-full max-w-full gap-5 overflow-x-auto border-b border-border-default`,navbar:`h-[52px] items-end gap-6`,pill:`-ml-0.5 h-[30px] gap-px`,kpis:`border-b ring-0`}},defaultVariants:{variant:`segmented`}}),V=_.forwardRef(({className:e,...t},n)=>{let{variant:i}=_.useContext(R);return(0,v.jsx)(F,{ref:n,className:r(B({variant:i,className:e})),...t})});V.displayName=F.displayName;var H=a(`inline-flex items-center justify-center px-3 py-1 whitespace-nowrap ring-offset-background transition-all focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{segmented:`h-7 rounded-control text-control font-medium data-[state=active]:shadow-md`,"segmented-sm":`h-[26px] rounded-control text-sm font-medium data-[state=active]:shadow-md`,button:`h-(--control-height) gap-1.5 rounded-control py-2 text-control font-medium hover:bg-tab-hover data-[state=active]:bg-tab-active data-[state=active]:hover:bg-tab-active`,"button-sm":`h-6 gap-1.5 rounded-control p-2 text-sm font-medium text-text-secondary hover:bg-tab-hover data-[state=active]:bg-tab-active data-[state=active]:text-foreground data-[state=active]:hover:bg-tab-active`,underline:`relative h-9 px-0 text-control font-semibold text-text-secondary after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-foreground after:opacity-0 after:content-[""] hover:after:opacity-10 data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:after:opacity-100!`,navbar:`relative h-[52px] px-px text-control font-semibold text-muted-foreground after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-foreground after:opacity-0 after:content-[""] hover:text-foreground data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:after:opacity-100!`,pill:`relative h-[30px] rounded-md px-3 text-control font-medium text-text-secondary hover:bg-tab-hover hover:text-foreground data-[state=active]:bg-tab-active data-[state=active]:text-foreground data-[state=active]:hover:bg-tab-active`,kpis:`relative h-full! items-start! rounded-none border-border bg-transparent px-6 py-5 text-foreground ring-0 transition-all after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-foreground after:opacity-0 after:content-[""] first:rounded-tl-md last:rounded-tr-md hover:bg-interactive-hover data-[state=active]:bg-transparent data-[state=active]:after:opacity-100 [&:not(:last-child)]:border-r [&[data-state=active]_[data-type="value"]]:text-foreground`},controlShape:{rounded:``,pill:``}},compoundVariants:[{variant:`button-sm`,controlShape:`pill`,className:`rounded-full`}],defaultVariants:{variant:`segmented`,controlShape:`rounded`}}),U=_.forwardRef(({className:e,onMouseDownCapture:t,...n},i)=>{let{variant:a,controlShape:o}=_.useContext(R);return(0,v.jsx)(I,{ref:i,className:r(H({variant:a,controlShape:o,className:e})),onMouseDownCapture:e=>{let n=document.activeElement;n instanceof HTMLElement&&n.matches(`input, textarea, select, [contenteditable="true"]`)&&n.blur(),t?.(e)},...n})});U.displayName=I.displayName;var W=({className:e=``,children:t})=>(0,v.jsx)(`span`,{className:r(`mt-px ml-1.5 flex h-5 items-center justify-center rounded-full bg-secondary px-1.5 py-0 text-xs leading-[21px] font-semibold text-text-secondary`,e),children:t});W.displayName=`TabsTriggerCount`;var G=a(`ring-offset-background focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:outline-hidden`,{variants:{variant:{segmented:``,"segmented-sm":``,button:``,"button-sm":``,underline:``,navbar:``,pill:``,kpis:`ring-0`}},defaultVariants:{variant:`segmented`}}),K=_.forwardRef(({className:e,...t},n)=>{let{variant:i}=_.useContext(R);return(0,v.jsx)(L,{ref:n,className:r(G({variant:i,className:e})),...t})});K.displayName=L.displayName;var q=_.forwardRef(({children:e,className:t,...n},i)=>{let{variant:a,controlShape:o}=_.useContext(R);return(0,v.jsxs)(`div`,{className:r(`relative rounded-control hover:bg-tab-hover`,a===`button-sm`&&o===`pill`&&`rounded-full`),children:[(0,v.jsx)(I,{ref:i,className:r(H({variant:a,controlShape:o,className:t})),...n,children:(0,v.jsx)(`div`,{className:`flex items-center gap-2`,children:e})}),(0,v.jsx)(g,{className:`absolute inset-0 size-full cursor-pointer`,onClick:e=>{e.preventDefault()}})]})});q.displayName=`TabsDropdownTrigger`;export{W as a,U as i,K as n,V as r,z as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./dist-nmRzULcD.js","./dist-BRQkNYN1.js","./dist-D7yMk931.js","./dist-Cm2qbZKL.js","./react-BXwhMTuc.js","./dist-DVVKsyPh.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./react-dom-CMOtJ5MH.js";import{r}from"./framework-provider-DB-svAju.js";import{p as i}from"./hooks-DYfTEQLk.js";import{t as a}from"./jsx-runtime-BlNNh7jY.js";import{n as o}from"./dist-DziNzWI2.js";import{t as s}from"./analytics-53FOa2wq.js";import{t as c}from"./preload-helper-DYl5dUZ5.js";import{h as l,n as u}from"./chunk-KS7C4IRE-DhOcHQOU.js";import{a as d}from"./router-provider-DDZvgS3V.js";import{H as f,L as p,c as m}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as h}from"./box-LUuYRT-1.js";import{t as g}from"./container-CHHif8km.js";import{t as _}from"./grid-BEUIDQX7.js";import{t as v}from"./use-pintura-config-CtEV1JQY.js";import{D as ee,E as y,Nn as b,Pn as x,X as S,bt as te,ct as C,gn as w,k as T,nt as E,rn as D,t as O,v as k,zt as A}from"./button-D414TI3B.js";import{i as j,n as M,r as N,t as P}from"./tabs-BZyz4ZCH.js";import{t as ne}from"./skeleton-CPcTiTSX.js";import{i as re,n as ie,r as F,t as I}from"./accordion-h62UzFhj.js";import{t as ae}from"./badge-CI1Z0xyG.js";import{a as oe,i as se,n as ce,o as le,r as ue,t as de}from"./breadcrumb-DDDpzLyo.js";import{n as fe,t as L}from"./card-C2dfd5u0.js";import{a as R,i as pe,n as me,r as he,t as ge}from"./lib-CCz2mjm8.js";import{t as z}from"./label-Du0yqMqL.js";import{i as B}from"./field-BXEh3ptU.js";import{a as _e,i as ve,n as ye,t as be}from"./input-group-CvH-3d3F.js";import{t as V}from"./textarea-C5qolByg.js";import{a as H,i as xe,t as Se}from"./components-CwL6a6As-CCRaoCeP.js";import{$r as Ce,Bn as we,Dn as U,En as Te,Gn as W,Hn as G,Jn as Ee,Kn as De,Ln as K,Qn as Oe,Qr as q,Si as ke,V as Ae,Vn as je,Wn as Me,a as Ne,cr as Pe,er as Fe,nr as Ie,or as Le,qn as Re,vi as ze}from"./index-DOF2jDq0.js";import{t as Be}from"./page-header-CdCpekG9.js";import{t as Ve}from"./dirty-confirm-dialog-BT_Vq9TD.js";import{a as He,c as Ue,i as We,n as Ge,o as Ke,r as qe,s as Je,t as Ye}from"./images-H-BIm8OQ.js";import{n as Xe,t as Ze}from"./color-picker-Bzm1V7qg.js";import{t as Qe}from"./detail-page-CN4NdhpV.js";import{n as $e,t as et}from"./use-unsaved-changes-guard-CKVPWz_F.js";import{t as tt}from"./index.es-Ct5XQNSj.js";import{t as nt}from"./brand-icon-CrmbX86T.js";import{a as rt,i as it,r as at,t as ot}from"./tags-NwZ7BPK6.js";var J=e(t(),1),Y=a(),st=({open:e,onOpenChange:t,tag:n,displayName:r,onPendingChange:a,allowLeaveWithUnsavedChanges:o})=>{let s=d(),c=i(),l=at(),u=n.count?.posts??0,p=J.useRef(!0);J.useEffect(()=>(p.current=!0,()=>{p.current=!1}),[]);let m=async()=>{a(!0);try{if(await l.mutateAsync(n.id),!p.current)return;t(!1),o(),s(`/tags`)}catch(e){p.current&&c(e)}finally{p.current&&a(!1)}};return(0,Y.jsx)(G,{open:e,onOpenChange:e=>{l.isPending||t(e)},children:(0,Y.jsxs)(Me,{"data-testid":`delete-tag-modal`,children:[(0,Y.jsxs)(Re,{children:[(0,Y.jsx)(Ee,{children:`Are you sure you want to delete this tag?`}),(0,Y.jsxs)(W,{children:[`You’re about to delete the tag "`,(0,Y.jsx)(`strong`,{children:r}),`".`,` `,u>0&&(0,Y.jsxs)(Y.Fragment,{children:[`It will be removed from`,` `,(0,Y.jsxs)(`span`,{"data-testid":`delete-tag-posts-count`,children:[f(u),` `,u===1?`post`:`posts`]}),`.`,` `]}),`This is permanent! We warned you, k?`]})]}),(0,Y.jsxs)(De,{children:[(0,Y.jsx)(O,{"data-testid":`cancel-delete-tag`,disabled:l.isPending,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,Y.jsx)(O,{"data-testid":`confirm-delete-tag`,disabled:l.isPending,variant:`destructive`,autoFocus:!0,onClick:()=>void m(),children:l.isPending?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Te,{size:`sm`}),(0,Y.jsx)(`span`,{className:`sr-only`,children:`Deleting`})]}):`Delete`})]})]})})},ct=/#[0-9A-Fa-f]{6}$/,lt=({value:e,disabled:t,errorId:n,onChange:r,onError:i})=>{let[a,o]=J.useState(e.replace(/^#/,``)),s=J.useRef(e),c=J.useRef(!1);J.useEffect(()=>{e!==s.current&&(s.current=e,o(e.replace(/^#/,``)))},[e]);let l=t=>{if(i(null),t===``){e!==``&&(s.current=``,r(``));return}let n=t;if(n[0]!==`#`&&(n=`#${n}`),ct.test(n)){if(n===e)return;s.current=n,o(n.replace(/^#/,``)),r(n)}else i(`The colour should be in valid hex format`)};return(0,Y.jsxs)(K,{onOpenChange:()=>c.current=!1,children:[(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`tag-accent-color`,children:`Color`}),(0,Y.jsxs)(be,{className:`w-28`,"data-disabled":t?`true`:void 0,children:[(0,Y.jsxs)(ye,{align:`inline-start`,children:[(0,Y.jsx)(je,{asChild:!0,children:(0,Y.jsx)(Xe,{"aria-label":`Accent color picker`,className:`-ml-1`,disabled:t,value:e||`#ffffff`})}),(0,Y.jsx)(_e,{className:`font-mono`,children:`#`})]}),(0,Y.jsx)(ve,{"aria-describedby":n,"aria-invalid":!!n,"aria-label":`Accent color hex value`,autoCorrect:`off`,className:`font-mono`,disabled:t,id:`tag-accent-color`,maxLength:6,placeholder:`15171A`,value:a,onBlur:e=>l(e.target.value),onChange:e=>{o(e.target.value),l(e.target.value)}})]})]}),(0,Y.jsx)(we,{align:`start`,className:`w-auto p-4`,children:(0,Y.jsx)(`div`,{onInputCapture:()=>c.current=!0,onKeyDownCapture:()=>c.current=!0,onPointerDownCapture:()=>c.current=!0,children:(0,Y.jsx)(Ze,{value:e||`#ffffff`,onChange:e=>{c.current&&(o(e.replace(/^#/,``)),l(e))}})})})]})},ut=[()=>c(()=>import(`./dist-nmRzULcD.js`).then(e=>e.html()),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)],dt=({disabled:e,headerValue:t,footerValue:n,onHeaderChange:r,onFooterChange:i})=>(0,Y.jsx)(L,{"data-testid":`tag-code-injection-card`,children:(0,Y.jsx)(I,{defaultValue:t.trim()||n.trim()?`code-injection`:void 0,type:`single`,collapsible:!0,children:(0,Y.jsxs)(F,{className:`border-b-0`,value:`code-injection`,children:[(0,Y.jsx)(re,{className:`px-6 py-5 hover:no-underline`,children:(0,Y.jsxs)(q,{className:`text-left`,gap:`none`,children:[(0,Y.jsx)(`span`,{className:`text-[14px] font-semibold`,children:`Code injection`}),(0,Y.jsx)(`span`,{className:`text-[13px] leading-[16px] font-normal tracking-normal text-muted-foreground`,children:`Add styles/scripts to the header and footer.`})]})}),(0,Y.jsx)(ie,{className:`px-6`,children:(0,Y.jsxs)(q,{className:`pt-1`,gap:`lg`,children:[(0,Y.jsx)(R,{"data-testid":`codeinjection-head`,editable:!e,extensions:ut,height:`192px`,title:(0,Y.jsxs)(Y.Fragment,{children:[`Tag header `,(0,Y.jsx)(`code`,{className:`ml-1 font-normal`,children:`{{ghost_head}}`})]}),value:t,onChange:r}),(0,Y.jsx)(R,{"data-testid":`codeinjection-foot`,editable:!e,extensions:ut,height:`192px`,title:(0,Y.jsxs)(Y.Fragment,{children:[`Tag footer `,(0,Y.jsx)(`code`,{className:`ml-1 font-normal`,children:`{{ghost_foot}}`})]}),value:n,onChange:i})]})})]})})}),ft=e(n(),1);function pt({disabled:e=!1}={}){let t=v(),[n,r]=(0,J.useState)(!1),[i,a]=(0,J.useState)(!1),[o,l]=(0,J.useState)(!1),u=(0,J.useRef)(!1),d=(0,J.useRef)(null);(0,J.useEffect)(()=>{let e=t?.jsUrl;if(e){if(window.pintura){r(!0);return}(async()=>{try{let t=new URL(e);await c(()=>import(`${t.protocol}//${t.host}${t.pathname}`),[],import.meta.url),r(!0)}catch{}})()}},[t?.jsUrl]),(0,J.useEffect)(()=>{let e=t?.cssUrl;if(!e)return;if(document.querySelector(`link[href="${e}"]`)){a(!0);return}let n=document.createElement(`link`);n.rel=`stylesheet`,n.type=`text/css`,n.href=e,n.onload=()=>a(!0),document.head.appendChild(n)},[t?.cssUrl]);let f=!e&&!!t&&n&&i,p=(0,J.useCallback)(({image:e,handleSave:t})=>{let n=window.pintura;if(!e||!f||!n||d.current)return;u.current=!1;let r=new URL(e,window.location.origin);r.searchParams.has(`v`)||r.searchParams.set(`v`,Date.now().toString()),s(`Image Edit Button Clicked`,{location:`admin`});let i=n.openDefaultEditor({src:r.href,enableTransparencyGrid:!0,util:`crop`,utils:[`crop`,`filter`,`finetune`,`redact`,`annotate`,`trim`,`frame`,`resize`],frameOptions:[[void 0,e=>e.labelNone],[`solidSharp`,e=>e.frameLabelMatSharp],[`solidRound`,e=>e.frameLabelMatRound],[`lineSingle`,e=>e.frameLabelLineSingle],[`hook`,e=>e.frameLabelCornerHooks],[`polaroid`,e=>e.frameLabelPolaroid]],cropSelectPresetFilter:`landscape`,cropSelectPresetOptions:[[void 0,`Custom`],[1,`Square`],[2/1,`2:1`],[3/2,`3:2`],[4/3,`4:3`],[16/10,`16:10`],[16/9,`16:9`],[1/2,`1:2`],[2/3,`2:3`],[3/4,`3:4`],[10/16,`10:16`],[9/16,`9:16`]],locale:{labelButtonExport:`Save and close`},previewPad:!0,willClose:()=>u.current?(d.current=null,l(!1),!0):!1});d.current=i,i.on(`process`,e=>{Promise.resolve().then(()=>t(e.dest)).then(e=>{e!==!1&&s(`Image Edit Saved`,{location:`admin`})}).catch(()=>{})}),i.on(`destroy`,()=>{d.current===i&&(d.current=null,l(!1))}),l(!0)},[f]);return(0,J.useEffect)(()=>{if(!f&&d.current){let e=d.current;d.current=null,e.destroy(),l(!1)}},[f]),(0,J.useEffect)(()=>()=>{let e=d.current;d.current=null,e?.destroy()},[]),(0,J.useEffect)(()=>{if(!o)return;let e=e=>{e.target instanceof Element&&e.target.closest(`.PinturaModal button[title="Close"]`)&&(u.current=!0)},t=e=>{e.key===`Escape`&&e.stopPropagation()};return window.addEventListener(`click`,e,{capture:!0}),window.addEventListener(`keydown`,t,{capture:!0}),()=>{window.removeEventListener(`click`,e,{capture:!0}),window.removeEventListener(`keydown`,t,{capture:!0})}},[o]),{isEnabled:f,isOpen:o,openEditor:p}}var mt=`image`,ht=({id:e,label:t,uploadText:n,value:i,disabled:a,unsplashEnabled:s,onChange:c,onBusyChange:l,onUploadPendingChange:u})=>{let{mutateAsync:d,isPending:f}=Ge(),{unsplashConfig:p}=r(),m=pt({disabled:a}),[h,g]=J.useState(!1),[_,v]=J.useState(!1),y=J.useRef(!0),b=J.useRef(!1),x=J.useRef(l);x.current=l;let S=J.useRef(u);S.current=u,J.useEffect(()=>(y.current=!0,()=>{y.current=!1,x.current?.(!1),S.current?.(!1)}),[]);let C=_||h||m.isOpen;J.useEffect(()=>{x.current?.(C)},[C]),J.useEffect(()=>{S.current?.(_)},[_]),J.useEffect(()=>{f&&g(!1)},[f]);let w=async e=>{if(b.current)return!1;b.current=!0,v(!0);try{let t=await d({file:e});return y.current&&c(Ye(t)),!0}catch(e){return y.current&&o.error(pe(e,mt)),!1}finally{b.current=!1,y.current&&v(!1)}},T=a||_||f;return(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:e,children:t}),(0,Y.jsx)(qe,{className:`h-40`,children:i?(0,Y.jsxs)(Ue,{children:[(0,Y.jsx)(Je,{alt:``,src:i}),(0,Y.jsxs)(He,{children:[m.isEnabled&&(0,Y.jsx)(We,{"aria-label":`Edit ${t.toLowerCase()}`,disabled:T,onClick:()=>m.openEditor({image:i,handleSave:w}),children:(0,Y.jsx)(te,{})}),(0,Y.jsx)(We,{"aria-label":`Remove ${t.toLowerCase()}`,disabled:T,onClick:()=>c(``),children:(0,Y.jsx)(ee,{})})]})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Ke,{accept:me,className:`group/dropzone transition-colors hover:bg-interactive-hover`,disabled:T,inputAriaLabel:n,inputId:e,onDropAccepted:e=>{e[0]&&w(e[0])},onDropRejected:()=>o.error(he),children:f?(0,Y.jsx)(Te,{size:`sm`}):(0,Y.jsxs)(q,{align:`center`,gap:`sm`,children:[(0,Y.jsx)(k,{"aria-hidden":`true`,className:`size-6 stroke-[1.5px] text-muted-foreground transition-colors group-hover/dropzone:text-foreground`}),(0,Y.jsx)(`span`,{className:`text-sm text-muted-foreground transition-colors group-hover/dropzone:text-foreground`,children:n})]})}),s&&(0,Y.jsx)(He,{className:`top-1 right-1 opacity-100`,children:(0,Y.jsx)(O,{"aria-label":`Select ${t.toLowerCase()} from Unsplash`,className:`group/unsplash hover:bg-button-hover`,disabled:T,size:`icon`,type:`button`,variant:`ghost`,onClick:()=>g(!0),children:(0,Y.jsx)(nt,{className:`size-4 text-muted-foreground transition-colors group-hover/unsplash:text-foreground`,name:`unsplash`})})})]})}),h&&(0,ft.createPortal)((0,Y.jsx)(tt,{unsplashProviderConfig:p,onClose:()=>g(!1),onImageInsert:e=>{e.src&&c(e.src),g(!1)}}),document.body)]})},gt=ge();function X(e){return{name:e.name??``,slug:e.slug??``,description:e.description??``,featureImage:e.feature_image??``,metaTitle:e.meta_title??``,metaDescription:e.meta_description??``,canonicalUrl:e.canonical_url??``,twitterImage:e.twitter_image??``,twitterTitle:e.twitter_title??``,twitterDescription:e.twitter_description??``,ogImage:e.og_image??``,ogTitle:e.og_title??``,ogDescription:e.og_description??``,codeinjectionHead:e.codeinjection_head??``,codeinjectionFoot:e.codeinjection_foot??``,accentColor:e.accent_color??``}}function _t(e,t){let n={};for(let r of Object.keys(e))n[r]=r!==`codeinjectionHead`&&r!==`codeinjectionFoot`&&(!t||t.has(r))?e[r].trim():e[r];return n}function vt(e){return/^#/.test(e)?`internal`:`public`}function yt(e){let t=(0,gt.slugify)(e);return/^#/.test(e)&&(t=`hash-${t}`),t}function Z(e){return Array.from(e).length}function bt(e,t){let n=t[e].trim();switch(e){case`name`:return n===``?`You must specify a name for the tag.`:/^,/.test(n)?`Tag names can't start with commas.`:Z(n)>191?`Tag names cannot be longer than 191 characters.`:null;case`slug`:return Z(n)>191?`URL cannot be longer than 191 characters.`:null;case`description`:return Z(n)>500?`Description cannot be longer than 500 characters.`:null;case`metaTitle`:return Z(n)>300?`Meta Title cannot be longer than 300 characters.`:null;case`metaDescription`:return Z(n)>500?`Meta Description cannot be longer than 500 characters.`:null;case`canonicalUrl`:return xt(n);default:return null}}function xt(e){if(e===``)return null;try{return new URL(e),null}catch{return`The url should be a valid url`}}var St=[`name`,`slug`,`description`,`metaTitle`,`metaDescription`,`canonicalUrl`];function Ct(e){let t={};for(let n of St){let r=bt(n,e);r&&(t[n]=r)}return t}function wt(e,t,n){let r=_t(e,n),i={name:r.name,slug:r.slug,description:r.description,feature_image:r.featureImage||null,meta_title:r.metaTitle||null,meta_description:r.metaDescription||null,canonical_url:r.canonicalUrl||null,twitter_image:r.twitterImage||null,twitter_title:r.twitterTitle||null,twitter_description:r.twitterDescription||null,og_image:r.ogImage||null,og_title:r.ogTitle||null,og_description:r.ogDescription||null,codeinjection_head:r.codeinjectionHead||null,codeinjection_foot:r.codeinjectionFoot||null,accent_color:r.accentColor||null};return(t===null||r.name!==t)&&(i.visibility=vt(r.name)),i}function Tt(e,t){let n=e.canonicalUrl||`${t}/tag/${e.slug}`;return n.endsWith(`/`)||(n+=`/`),n}function Et(e,t){let n=t.indexOf(`://`);return`${n===-1?t:t.slice(n+3)}/tag/${e?`${e}/`:``}`}function Dt(e,t=140){let n=t-3;return e.length>n?`${e.substring(0,n)}...`:e}function Ot(e,t){let n=t?`${e.name} - ${t}`:e.name,r=e.metaTitle||n;return r.length>70&&(r=`${r.substring(0,70).trim()}…`),r}function kt(e){let t=e.metaDescription||e.description;return t.length>156&&(t=`${t.substring(0,156).trim()}…`),t}function At(e,t){let n=Tt(e,t);return n.length>70&&(n=`${n.substring(0,70).trim()}…`),n}function jt(e){return e.replace(/^[a-zA-Z0-9-]+:\/\//,``).replace(/\/$/,``)}var Mt=`Search engines will automatically show a custom preview of content related to the search term here if no custom meta description is set.`,Nt=({url:e,title:t,description:n})=>(0,Y.jsxs)(`div`,{className:`rounded-md border border-border bg-surface-elevated p-4`,"data-testid":`seo-preview`,children:[(0,Y.jsxs)(`div`,{className:`mb-6 flex items-center gap-4`,children:[(0,Y.jsx)(xe,{className:`h-6`}),(0,Y.jsx)(`div`,{className:`flex h-9 flex-1 items-center justify-end rounded-full border border-border px-3`,children:(0,Y.jsx)(E,{className:`size-4 text-muted-foreground`})})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Y.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,children:e}),(0,Y.jsx)(`span`,{className:`text-lg`,"data-testid":`seo-preview-title`,children:t}),(0,Y.jsx)(`span`,{className:`text-sm text-muted-foreground`,"data-testid":`seo-preview-description`,children:n?Dt(n,149):Mt})]})]}),Pt=()=>(0,Y.jsxs)(`div`,{className:`mt-2 mb-3 flex flex-col gap-2`,children:[(0,Y.jsx)(`span`,{className:`h-2 w-full rounded-sm bg-muted`}),(0,Y.jsx)(`span`,{className:`h-2 w-3/5 rounded-sm bg-muted`})]}),Ft=({siteHeader:e,domain:t,image:n,title:r,description:i})=>(0,Y.jsx)(`div`,{className:`rounded-md border border-border bg-surface-elevated p-4`,"data-testid":`x-card-preview`,children:(0,Y.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Y.jsx)(H,{className:`mt-1 size-5 shrink-0`}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-semibold`,children:e}),(0,Y.jsxs)(`span`,{className:`ml-1 text-sm text-muted-foreground`,children:[f(12),` hrs`]}),(0,Y.jsx)(Pt,{}),(0,Y.jsxs)(`div`,{className:`overflow-hidden rounded-md border border-border`,children:[n&&(0,Y.jsx)(`div`,{className:`h-32 bg-muted bg-cover bg-center`,style:{backgroundImage:`url(${n})`}}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-0.5 p-3`,children:[(0,Y.jsx)(`span`,{className:`truncate text-sm font-semibold`,"data-testid":`x-card-preview-title`,children:r}),(0,Y.jsx)(`span`,{className:`text-sm text-muted-foreground`,"data-testid":`x-card-preview-description`,children:Dt(i)}),(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-sm text-muted-foreground`,children:[(0,Y.jsx)(D,{className:`size-3.5`}),t]})]})]}),(0,Y.jsxs)(`div`,{className:`mt-2 flex items-center gap-6 text-sm text-muted-foreground`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(A,{className:`size-3.5`}),f(2)]}),(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(C,{className:`size-3.5`}),f(11)]}),(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(w,{className:`size-3.5`}),f(32)]}),(0,Y.jsx)(`span`,{className:`flex items-center gap-1`,children:(0,Y.jsx)(S,{className:`size-3.5`})})]})]})]})}),It=({siteHeader:e,domain:t,image:n,title:r,description:i})=>(0,Y.jsxs)(`div`,{className:`rounded-md border border-border bg-surface-elevated p-4`,"data-testid":`facebook-card-preview`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(Se,{className:`size-10 shrink-0`}),(0,Y.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-semibold`,children:e}),(0,Y.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[f(12),` hrs`]})]})]}),(0,Y.jsx)(Pt,{}),(0,Y.jsxs)(`div`,{className:`overflow-hidden rounded-md border border-border`,children:[n&&(0,Y.jsx)(`div`,{className:`h-32 bg-muted bg-cover bg-center`,style:{backgroundImage:`url(${n})`}}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-0.5 p-3`,children:[(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground uppercase`,children:t}),(0,Y.jsx)(`span`,{className:`truncate text-sm font-semibold`,"data-testid":`facebook-card-preview-title`,children:Dt(r)}),(0,Y.jsx)(`span`,{className:`text-sm text-muted-foreground`,"data-testid":`facebook-card-preview-description`,children:Dt(i)})]})]}),(0,Y.jsxs)(`div`,{className:`mt-2 flex items-center gap-4 text-sm text-muted-foreground`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(T,{className:`size-3.5`}),f(182)]}),(0,Y.jsxs)(`span`,{children:[f(7),` comments`]}),(0,Y.jsxs)(`span`,{children:[f(2),` shares`]})]})]}),Q=e=>`tag-${e}-error`,$=({value:e,limit:t,prefix:n})=>{let r=Z(e);return(0,Y.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[n,`: `,f(t),` characters. You’ve used`,` `,(0,Y.jsx)(`span`,{className:p(`font-semibold`,r>t?`text-destructive`:`text-state-success`),children:f(r)})]})},Lt=({draft:e,errors:t,blogUrl:n,disabled:r,onChange:i,onFieldError:a,onImageBusyChange:o,onImageUploadPendingChange:s})=>{let{data:c}=ke({}),l=ze(c?.settings??[],`title`)??``,u=ze(c?.settings??[],`meta_title`)??``,d=ze(c?.settings??[],`meta_description`)??``,f=ze(c?.settings??[],`unsplash`)??!1,p=t=>{a(t,bt(t,e))},m=Ot(e,l),h=kt(e),g=At(e,n),v=u||l,ee=jt(n);return(0,Y.jsxs)(_,{align:`start`,className:`lg:grid-cols-2 sidebarlg:grid-cols-[minmax(0,5fr)_minmax(0,3fr)]`,"data-testid":`tag-detail-form`,gap:`2xl`,children:[(0,Y.jsxs)(q,{gap:`lg`,children:[(0,Y.jsx)(L,{"data-testid":`tag-core-data-card`,children:(0,Y.jsx)(fe,{className:`p-6`,children:(0,Y.jsxs)(q,{gap:`lg`,children:[(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsxs)(Ce,{align:`start`,gap:`md`,children:[(0,Y.jsxs)(q,{className:`min-w-0 flex-1`,gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`tag-name`,children:`Name`}),(0,Y.jsx)(U,{"aria-describedby":t.name?Q(`name`):void 0,"aria-invalid":!!t.name,disabled:r,id:`tag-name`,value:e.name,onBlur:()=>p(`name`),onChange:e=>i({name:e.target.value})})]}),(0,Y.jsx)(lt,{disabled:r,errorId:t.accentColor?Q(`accentColor`):void 0,value:e.accentColor,onChange:e=>i({accentColor:e}),onError:e=>a(`accentColor`,e)})]}),(0,Y.jsxs)(q,{gap:`xs`,children:[(0,Y.jsx)(B,{className:`text-sm`,id:Q(`name`),children:t.name}),(0,Y.jsx)(B,{className:`text-sm`,id:Q(`accentColor`),children:t.accentColor}),(0,Y.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Start with # to create internal tags.`,` `,(0,Y.jsx)(`a`,{className:`underline`,href:`https://ghost.org/help/organising-content/#private-tags`,rel:`noopener noreferrer`,target:`_blank`,children:`Learn more`})]})]})]}),(0,Y.jsx)(ht,{disabled:r,id:`tag-image`,label:`Tag image`,unsplashEnabled:f,uploadText:`Upload tag image`,value:e.featureImage,onBusyChange:e=>o(`featureImage`,e),onChange:e=>i({featureImage:e}),onUploadPendingChange:e=>s(`featureImage`,e)}),(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`tag-slug`,children:`Slug`}),(0,Y.jsx)(U,{"aria-describedby":t.slug?Q(`slug`):void 0,"aria-invalid":!!t.slug,disabled:r,id:`tag-slug`,value:e.slug,onBlur:()=>p(`slug`),onChange:e=>i({slug:e.target.value})}),(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,"data-testid":`tag-slug-preview`,children:Et(e.slug,n)}),(0,Y.jsx)(B,{className:`text-sm`,id:Q(`slug`),children:t.slug})]}),(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`tag-description`,children:`Description`}),(0,Y.jsx)(V,{"aria-describedby":t.description?Q(`description`):void 0,"aria-invalid":!!t.description,className:`min-h-24`,disabled:r,id:`tag-description`,value:e.description,onBlur:()=>p(`description`),onChange:e=>i({description:e.target.value})}),(0,Y.jsx)(B,{className:`text-sm`,id:Q(`description`),children:t.description}),(0,Y.jsx)($,{limit:500,prefix:`Maximum`,value:e.description})]})]})})}),(0,Y.jsx)(dt,{disabled:r,footerValue:e.codeinjectionFoot,headerValue:e.codeinjectionHead,onFooterChange:e=>i({codeinjectionFoot:e}),onHeaderChange:e=>i({codeinjectionHead:e})})]}),(0,Y.jsx)(L,{className:`overflow-hidden`,"data-testid":`tag-metadata-card`,children:(0,Y.jsx)(fe,{className:`p-6`,children:(0,Y.jsxs)(q,{gap:`lg`,children:[(0,Y.jsxs)(q,{gap:`none`,children:[(0,Y.jsx)(`span`,{className:`text-[14px] font-semibold`,children:`Meta data`}),(0,Y.jsx)(`span`,{className:`text-[13px] leading-[16px] font-normal tracking-normal text-muted-foreground`,children:`Extra content for search engines and social accounts.`})]}),(0,Y.jsxs)(P,{defaultValue:`search`,variant:`underline`,children:[(0,Y.jsxs)(N,{"aria-label":`Tag metadata`,children:[(0,Y.jsx)(j,{value:`search`,children:`Search`}),(0,Y.jsx)(j,{value:`x-card`,children:`X card`}),(0,Y.jsx)(j,{value:`facebook-card`,children:`Facebook card`})]}),(0,Y.jsx)(M,{className:`pt-5`,value:`search`,children:(0,Y.jsxs)(q,{gap:`xl`,children:[(0,Y.jsxs)(q,{gap:`lg`,children:[(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`meta-title`,children:`Meta title`}),(0,Y.jsx)(U,{"aria-describedby":t.metaTitle?Q(`metaTitle`):void 0,"aria-invalid":!!t.metaTitle,disabled:r,id:`meta-title`,placeholder:e.name,value:e.metaTitle,onBlur:()=>p(`metaTitle`),onChange:e=>i({metaTitle:e.target.value})}),(0,Y.jsx)(B,{className:`text-sm`,id:Q(`metaTitle`),children:t.metaTitle}),(0,Y.jsx)($,{limit:70,prefix:`Recommended`,value:e.metaTitle})]}),(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`meta-description`,children:`Meta description`}),(0,Y.jsx)(V,{"aria-describedby":t.metaDescription?Q(`metaDescription`):void 0,"aria-invalid":!!t.metaDescription,disabled:r,id:`meta-description`,placeholder:e.description,value:e.metaDescription,onBlur:()=>p(`metaDescription`),onChange:e=>i({metaDescription:e.target.value})}),(0,Y.jsx)(B,{className:`text-sm`,id:Q(`metaDescription`),children:t.metaDescription}),(0,Y.jsx)($,{limit:156,prefix:`Recommended`,value:e.metaDescription})]}),(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`canonical-url`,children:`Canonical URL`}),(0,Y.jsx)(U,{"aria-describedby":t.canonicalUrl?Q(`canonicalUrl`):void 0,"aria-invalid":!!t.canonicalUrl,disabled:r,id:`canonical-url`,value:e.canonicalUrl,onBlur:()=>p(`canonicalUrl`),onChange:e=>i({canonicalUrl:e.target.value})}),(0,Y.jsx)(B,{className:`text-sm`,id:Q(`canonicalUrl`),children:t.canonicalUrl})]})]}),(0,Y.jsxs)(q,{className:`-mx-6 -mb-6 bg-preview-canvas px-6 pt-5 pb-[34px]`,"data-testid":`search-preview-surface`,gap:`sm`,children:[(0,Y.jsx)(z,{children:`Search Engine Result Preview`}),(0,Y.jsx)(Nt,{description:h,title:m,url:g})]})]})}),(0,Y.jsx)(M,{className:`pt-5`,value:`x-card`,children:(0,Y.jsxs)(q,{gap:`xl`,children:[(0,Y.jsxs)(q,{gap:`lg`,children:[(0,Y.jsx)(ht,{disabled:r,id:`twitter-image`,label:`X image`,unsplashEnabled:f,uploadText:`Add X image`,value:e.twitterImage,onBusyChange:e=>o(`twitterImage`,e),onChange:e=>i({twitterImage:e}),onUploadPendingChange:e=>s(`twitterImage`,e)}),(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`twitter-title`,children:`X title`}),(0,Y.jsx)(U,{disabled:r,id:`twitter-title`,placeholder:e.name,value:e.twitterTitle,onChange:e=>i({twitterTitle:e.target.value})}),(0,Y.jsx)($,{limit:70,prefix:`Recommended`,value:e.twitterTitle})]}),(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`twitter-description`,children:`X description`}),(0,Y.jsx)(V,{disabled:r,id:`twitter-description`,placeholder:e.description,value:e.twitterDescription,onChange:e=>i({twitterDescription:e.target.value})}),(0,Y.jsx)($,{limit:125,prefix:`Recommended`,value:e.twitterDescription})]})]}),(0,Y.jsxs)(q,{className:`-mx-6 -mb-6 bg-preview-canvas px-6 pt-5 pb-[34px]`,"data-testid":`x-preview-surface`,gap:`sm`,children:[(0,Y.jsx)(z,{children:`X preview`}),(0,Y.jsx)(Ft,{description:e.twitterDescription||h||d||``,domain:ee,image:e.twitterImage||e.featureImage,siteHeader:v,title:e.twitterTitle||m})]})]})}),(0,Y.jsx)(M,{className:`pt-5`,value:`facebook-card`,children:(0,Y.jsxs)(q,{gap:`xl`,children:[(0,Y.jsxs)(q,{gap:`lg`,children:[(0,Y.jsx)(ht,{disabled:r,id:`og-image`,label:`Facebook image`,unsplashEnabled:f,uploadText:`Add Facebook image`,value:e.ogImage,onBusyChange:e=>o(`ogImage`,e),onChange:e=>i({ogImage:e}),onUploadPendingChange:e=>s(`ogImage`,e)}),(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`og-title`,children:`Facebook title`}),(0,Y.jsx)(U,{disabled:r,id:`og-title`,placeholder:e.name,value:e.ogTitle,onChange:e=>i({ogTitle:e.target.value})}),(0,Y.jsx)($,{limit:100,prefix:`Recommended`,value:e.ogTitle})]}),(0,Y.jsxs)(q,{gap:`sm`,children:[(0,Y.jsx)(z,{htmlFor:`og-description`,children:`Facebook description`}),(0,Y.jsx)(V,{disabled:r,id:`og-description`,placeholder:e.description,value:e.ogDescription,onChange:e=>i({ogDescription:e.target.value})}),(0,Y.jsx)($,{limit:65,prefix:`Recommended`,value:e.ogDescription})]})]}),(0,Y.jsxs)(q,{className:`-mx-6 -mb-6 bg-preview-canvas px-6 pt-5 pb-[34px]`,"data-testid":`facebook-preview-surface`,gap:`sm`,children:[(0,Y.jsx)(z,{children:`Facebook preview`}),(0,Y.jsx)(It,{description:h||d||``,domain:ee,image:e.ogImage||e.featureImage,siteHeader:v,title:e.ogTitle||m})]})]})})]})]})})})]})},Rt=`new`,zt=()=>{let{isAdmin7:e}=m(),{tagSlug:t=``}=l(),n=d(),r=i(),a=t===Rt,{data:s,isLoading:c,error:f,refetch:p}=rt(t,{enabled:!!t&&!a,searchParams:{include:`count.posts`},defaultErrorHandler:!1}),_=s?.tags?.[0],v=!a&&!c&&f?.response?.status===404,ee=!a&&!c&&!!f&&!v,{data:S}=Ae(),te=S?.site.url.replace(/\/$/,``)??``,C=it(),w=ot(),T=a?w:C,[E,D]=J.useState(void 0),[k,A]=J.useState({}),j=J.useRef(void 0),M=J.useRef(void 0),N=J.useRef(new Set),P=J.useRef(t);P.current=t;let re=J.useRef(null),ie=J.useRef(!1),[F,I]=J.useState(`idle`),[fe,L]=J.useState(!1),[R,pe]=J.useState(!1),[me,he]=J.useState(new Set),[ge,z]=J.useState(new Set);J.useEffect(()=>{if(a){if(j.current!==Rt){j.current=Rt,ie.current=!1,N.current.clear();let e=X({});M.current=e,D(e),A({})}return}if(!_)return;let e=X(_);if(j.current!==_.id){j.current=_.id,N.current.clear(),M.current=e,D(e),A({});return}let t=M.current;M.current=e,D(n=>!n||t&&$e(_t(n,N.current),t)?e:n)},[_,a]),J.useEffect(()=>{L(!1),pe(!1),he(new Set),z(new Set),I(re.current===t?`success`:`idle`),re.current=null,w.reset(),C.reset()},[t]);let B=M.current,_e=!!E&&!!B&&!$e(_t(E,N.current),B),ve=me.size>0,ye=ge.size>0,be=T.isPending||ve||R||fe,{dialogProps:V,bypassNextNavigation:H,resumeBlockedNavigationAfterSave:xe}=et({when:T.isPending||ye||R||_e,isSaving:T.isPending}),Se=J.useCallback((e,t)=>{he(n=>{if(n.has(e)===t)return n;let r=new Set(n);return t?r.add(e):r.delete(e),r})},[]),Ce=J.useCallback((e,t)=>{z(n=>{if(n.has(e)===t)return n;let r=new Set(n);return t?r.add(e):r.delete(e),r})},[]),we=e=>{F===`error`&&T.reset(),I(`idle`);let t=e.slug!==void 0;for(let t of Object.keys(e))N.current.add(t);a&&e.name!==void 0&&!ie.current&&(e={...e,slug:yt(e.name)}),t&&(ie.current=!!e.slug),D(t=>t&&{...t,...e})},U=(e,t)=>{A(n=>{if(t===null){if(!(e in n))return n;let t={...n};return delete t[e],t}return{...n,[e]:t}})},W=J.useCallback(()=>{if(!E||be||!a&&(!_||j.current!==_.id))return;let e={...Ct(E)};k.accentColor&&(e.accentColor=k.accentColor),A(e);let i=Object.values(e)[0];if(i){I(`idle`),o.error(i);return}let s=t,c=_?.id;I(`pending`);let l=e=>{if(P.current!==s)return;let r=e.tags?.[0];if(!r){I(`error`),o.error(`Couldn’t save the tag.`);return}let i=X(r);M.current=i,D(i),N.current.clear(),I(`success`),!xe()&&r.slug!==t&&(re.current=r.slug,H(),n(`/tags/${r.slug}`,{replace:!0}))},u=e=>{P.current===s&&(I(`error`),r(e))};if(a){w.mutate(wt(E,null,N.current),{onSuccess:l,onError:u});return}_&&C.mutate({id:_.id,...wt(E,X(_).name,N.current)},{onSuccess:e=>{P.current!==s||j.current!==c||l(e)},onError:u})},[E,k.accentColor,a,_,t,be,w,C,n,r,H,xe]);J.useEffect(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),W())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[W]);let G=`Save`,Ee=`default`;F===`pending`?G=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Te,{size:`sm`}),(0,Y.jsx)(`span`,{className:`sr-only`,children:`Saving`})]}):F===`error`?(G=`Retry`,Ee=`destructive`):F===`success`&&!_e&&(G=`Saved`);let De=!!E&&!!te&&(a||!!_),K=``;return a?K=`New tag`:E&&De?K=E.name:_&&(K=_.name),v?(0,Y.jsx)(Ne,{}):(0,Y.jsx)(h,{className:`size-full`,children:(0,Y.jsx)(g,{className:`relative flex h-full flex-col`,size:`page`,children:(0,Y.jsxs)(Qe,{"data-testid":`tag-detail`,children:[(0,Y.jsx)(Qe.Header,{children:(0,Y.jsxs)(Be,{blurredBackground:!1,sticky:!1,children:[(0,Y.jsx)(Be.Left,{children:(0,Y.jsx)(de,{children:(0,Y.jsxs)(se,{children:[(0,Y.jsx)(ce,{children:(0,Y.jsx)(ue,{asChild:!0,children:(0,Y.jsx)(u,{"data-test-link":`tags-back`,to:`/tags`,children:`Tags`})})}),(0,Y.jsx)(le,{}),(0,Y.jsxs)(ce,{className:e?`items-baseline gap-2`:`gap-2`,children:[!a&&c?(0,Y.jsx)(ne,{className:`h-4 w-40`}):(0,Y.jsx)(oe,{className:`truncate`,"data-testid":`tag-detail-title`,children:K}),_?.visibility===`internal`&&(0,Y.jsx)(ae,{className:e?`leading-none tracking-wider`:`px-1 py-px text-[10px] leading-none tracking-wider`,"data-testid":`tag-detail-internal-badge`,size:e?`md`:`default`,variant:`secondary`,children:e?`Internal`:`INTERNAL`})]})]})})}),De&&E&&(0,Y.jsx)(Be.Actions,{children:(0,Y.jsxs)(Be.ActionGroup,{children:[!a&&_&&(0,Y.jsxs)(Oe,{children:[(0,Y.jsx)(Pe,{asChild:!0,children:(0,Y.jsx)(O,{"aria-label":`Tag actions`,className:`size-(--control-height)`,size:`icon`,variant:`subtle`,children:(0,Y.jsx)(x,{size:16})})}),(0,Y.jsxs)(Fe,{align:`end`,children:[(0,Y.jsx)(Ie,{asChild:!0,children:(0,Y.jsxs)(`a`,{href:Tt(E,te),rel:`noopener noreferrer`,target:`_blank`,children:[(0,Y.jsx)(b,{}),`View posts`]})}),(0,Y.jsx)(Le,{}),(0,Y.jsxs)(Ie,{className:`text-destructive focus:text-destructive`,disabled:T.isPending||ve,onSelect:()=>L(!0),children:[(0,Y.jsx)(y,{}),`Delete tag`]})]})]}),(0,Y.jsx)(O,{className:`min-w-16`,disabled:be,variant:Ee,onClick:W,children:G})]})})]})}),(0,Y.jsxs)(Qe.Body,{children:[ee&&(0,Y.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3`,"data-testid":`tag-detail-load-error`,children:[(0,Y.jsx)(`p`,{className:`text-muted-foreground`,children:`Couldn’t load this tag.`}),(0,Y.jsx)(O,{variant:`outline`,onClick:()=>void p(),children:`Retry`})]}),De&&E&&(0,Y.jsx)(`div`,{className:`flex flex-col gap-8`,children:(0,Y.jsx)(Lt,{blogUrl:te,disabled:T.isPending||R,draft:E,errors:k,onChange:we,onFieldError:U,onImageBusyChange:Se,onImageUploadPendingChange:Ce},a?Rt:_?.id)})]}),!a&&_&&(0,Y.jsx)(st,{allowLeaveWithUnsavedChanges:H,displayName:E?.name??_.name,open:fe,tag:_,onOpenChange:L,onPendingChange:pe},_.id),(0,Y.jsx)(Ve,{...V})]})})})};export{zt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{J as r,L as i}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{a,ft as o,nr as s,rr as c}from"./button-D414TI3B.js";import{t as l}from"./input-surface-CL23Mlh8.js";import{t as u}from"./badge-CI1Z0xyG.js";import{gi as d,q as f}from"./index-DOF2jDq0.js";import{n as p}from"./tags-NwZ7BPK6.js";var m=e(r(),1);function h(e){return e.utcOffset()===0?`(UTC)`:`(UTC${e.format(`Z`).replace(/([+-])0/,`$1`).replace(/:00/,``)})`}function g(e,{timezone:t=`etc/UTC`,scheduled:n,absolute:r,short:i,now:a}={}){if(!e)return``;let o=m.default.tz(e,t),s=m.default.tz(a??m.default.utc(),t);if(!o.isValid())return``;let c=h(o);if(Math.abs(s.diff(o,`hours`,!0))<=12)return o.from(s);if(o.isSame(s,`day`)){let e=o.format(`HH:mm [${c}] [Today]`);return n?`at ${e}`:e}return r&&o.isSame(s.clone().subtract(1,`days`).startOf(`day`),`day`)?i?o.format(`[Yesterday]`):o.format(`HH:mm [${c}] [yesterday]`):n&&o.isSame(s.clone().add(1,`days`).startOf(`day`),`day`)?o.format(`[at] HH:mm [${c}] [tomorrow]`):n?o.format(`[at] HH:mm [${c}] [on] DD MMM YYYY`):i?o.format(`DD MMM YYYY`):o.format(`HH:mm [${c}] DD MMM YYYY`)}var _=e(t(),1),v=n();function y(e){return e.name??``}function b(e){return e.trim()}function x(e){return e.visibility===`internal`||y(e).startsWith(`#`)}function S(e,t){return e.id&&t.id?e.id===t.id:y(e).toLowerCase()===y(t).toLowerCase()}function C(e){return e.map(e=>e.id?{id:e.id}:{name:y(e)})}function w(e){return e.id??`new:${y(e).toLowerCase()}`}function T(e,t){return y(t)===``||e.some(e=>S(e,t))?e:[...e,t]}function E(e,t){return e.filter(e=>w(e)!==t)}function D(e){return[...e].sort((e,t)=>y(e).localeCompare(y(t),void 0,{ignorePunctuation:!0}))}function O(e,t,n){if(e===``)return!1;let r=e.toLowerCase();return![...t,...n].some(e=>y(e).toLowerCase()===r)}var k=e=>e.trim();function A({options:e,selected:t,getKey:n,getLabel:r,isChosen:o,renderOption:c,chipVariant:d,onAdd:f,onRemove:p,hideSelected:m=!1,matches:h,normalizeTerm:g=k,createRow:y,onSearchChange:b,onOpenChange:x,reopenOnRemove:S=!1,notice:C,inputRef:w,emptyMessage:T,placeholder:E,inputLabel:D,inputId:O,describedBy:A,invalid:j,maxLength:M,testIds:N}){let P=(0,_.useId)(),[F,I]=(0,_.useState)(!1),[L,R]=(0,_.useState)(``),[z,B]=(0,_.useState)(0),ee=(0,_.useRef)(null),V=w??ee,H=(0,_.useRef)(null),U=(0,_.useRef)(null),W=g(L),G=e=>{R(e),b?.(e)},K=()=>{I(!0),x?.(!0)},q=(0,_.useCallback)(()=>{I(!1),x?.(!1)},[x]),J=(0,_.useCallback)(()=>{I(!1),x?.(!1),R(``),b?.(``)},[x,b]);(0,_.useEffect)(()=>{if(!F)return;let e=e=>{H.current&&!H.current.contains(e.target)&&J()};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[J,F]),(0,_.useEffect)(()=>{if(!F)return;let e=e=>{e.isComposing||e.keyCode===229||e.key===`Escape`&&(e.preventDefault(),q())};return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[q,F]),(0,_.useEffect)(()=>{B(0)},[W]);let Y=e=>t.find(t=>o?o(e,t):n(e)===n(t)),X=h&&W!==``?e.filter(e=>h(e,W)):e,Z=m?X.filter(e=>!Y(e)):X,Q=C?[]:[...Z.map(e=>({kind:`option`,key:n(e),option:e,chosen:!!Y(e)})),...y?.offer(W,Z)?[{kind:`create`,key:`create`}]:[]],$=Math.min(z,Math.max(Q.length-1,0));(0,_.useEffect)(()=>{U.current?.querySelector(`[data-highlighted="true"]`)?.scrollIntoView({block:`nearest`})},[$,F]);let te=e=>{if(e.kind===`create`)y?.onSelect(W);else{let t=Y(e.option);t?p(n(t)):f(e.option)}G(``)},ne=e=>{if(!(e.nativeEvent.isComposing||e.nativeEvent.keyCode===229)){if(e.key===`Backspace`&&L===``&&t.length>0){p(n(t[t.length-1])),S&&K();return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),!F){K();return}if(Q.length>0){let t=e.key===`ArrowDown`?1:-1;B(($+t+Q.length)%Q.length)}return}(e.key===`Enter`||e.key===`Tab`&&W!==``)&&F&&Q[$]&&(e.preventDefault(),te(Q[$]))}},re=e=>`${P}-option-${e}`;return(0,v.jsxs)(`div`,{ref:H,className:`relative`,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||J()},children:[(0,v.jsxs)(`div`,{className:i(l(`within`),`flex min-h-9 w-full cursor-text flex-wrap items-center gap-1.5 px-3 py-1 text-control`),"data-testid":N?.field,onClick:()=>{V.current?.focus(),K()},children:[t.map(e=>(0,v.jsx)(u,{variant:d?.(e)??`default`,asChild:!0,children:(0,v.jsxs)(`button`,{"aria-label":`Remove ${r(e)}`,className:`cursor-pointer gap-1 pr-1`,"data-testid":N?.chip,type:`button`,onClick:t=>{t.stopPropagation(),p(n(e))},children:[r(e),(0,v.jsx)(a,{className:`size-3`})]})},n(e))),(0,v.jsx)(`input`,{ref:V,"aria-activedescendant":F&&Q[$]?re($):void 0,"aria-autocomplete":`list`,"aria-controls":F?P:void 0,"aria-describedby":A,"aria-expanded":F,"aria-invalid":j,"aria-label":O?void 0:D,className:`min-w-20 flex-1 bg-transparent text-control outline-hidden placeholder:text-muted-foreground`,"data-testid":N?.input,id:O,maxLength:M,placeholder:t.length===0?E:``,role:`combobox`,value:L,onChange:e=>{G(e.target.value),K()},onKeyDown:ne}),(0,v.jsx)(s,{className:`size-4 shrink-0 text-muted-foreground`})]}),F&&(0,v.jsxs)(`div`,{className:`absolute top-full left-0 z-50 mt-1 max-h-64 w-full overflow-y-auto rounded-md border border-border/60 bg-surface-elevated-2 p-1 text-popover-foreground shadow-md dark:border-border/30`,children:[C,(0,v.jsxs)(`div`,{ref:U,"aria-label":D,"data-testid":N?.list,id:P,role:`listbox`,children:[!C&&Q.length===0&&(0,v.jsx)(`div`,{className:`px-2 py-1.5 text-sm text-muted-foreground`,children:T}),Q.map((e,t)=>{let n=t===$,a=e.kind===`option`&&e.chosen;return(0,v.jsx)(`div`,{"aria-selected":a,className:i(`flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm`,n&&`bg-accent text-accent-foreground`),"data-highlighted":n,id:re(t),role:`option`,onClick:()=>te(e),onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>B(t),children:e.kind===`create`?y?.render(W):c?.(e.option,{chosen:a})??(0,v.jsx)(`span`,{className:`truncate`,children:r(e.option)})},e.key)})]})]})]})}var j=250,M=`100`;function N({selected:e,onAdd:t,onRemove:n,inputLabel:r,inputId:a,hideSelected:s=!1,deferSearch:l=!1,requestOptions:u,defaultErrorHandler:m,onSearchChange:h,maxLength:g,testIds:C}){let[T,E]=(0,_.useState)(!1),[k,N]=(0,_.useState)(``),P=b(k),[F]=f(P,j),{data:I,isFetching:L}=p({filter:{},enabled:l?T:void 0,defaultErrorHandler:m,requestOptions:u,searchParams:{limit:M,order:`name asc`,...F?{filter:`tags.name:~${d(F)}`}:{}}}),R=I?.tags??[],z=!L&&P===F,B=(0,_.useCallback)(e=>{N(e),h?.(e)},[h]);return(0,v.jsx)(A,{chipVariant:e=>x(e)?`default`:`secondary`,createRow:{offer:(t,n)=>z&&O(t,n,e),render:e=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(o,{className:`size-4 shrink-0`}),(0,v.jsxs)(`span`,{className:`truncate`,children:[`Create “`,e,`”`]})]}),onSelect:e=>t({name:e})},emptyMessage:`No tags found`,getKey:w,getLabel:y,hideSelected:s,inputId:a,inputLabel:r,isChosen:(e,t)=>S(t,e),matches:(e,t)=>y(e).toLowerCase().includes(t.toLowerCase()),maxLength:g,normalizeTerm:b,options:D(R),placeholder:`Select or enter tags...`,renderOption:(e,{chosen:t})=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:i(`truncate`,x(e)&&`font-medium`),children:e.name}),(0,v.jsx)(`span`,{className:`ms-auto truncate font-mono text-xs text-muted-foreground`,children:e.slug}),t&&(0,v.jsx)(c,{className:`size-4 shrink-0 text-primary`})]}),selected:e,testIds:{field:C?.field??`tag-picker`,input:C?.input,list:C?.list,chip:C?.chip},onAdd:e=>t({id:e.id,name:e.name,slug:e.slug}),onOpenChange:E,onRemove:n,onSearchChange:B})}export{S as a,g as c,E as i,A as n,C as o,T as r,w as s,N as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{_ as r,n as i}from"./chunk-KS7C4IRE-DhOcHQOU.js";import{H as a,L as o,c as s}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as c}from"./box-LUuYRT-1.js";import{t as l}from"./container-CHHif8km.js";import{F as u,Pn as d,bt as f,ft as p,t as m}from"./button-D414TI3B.js";import{t as h}from"./empty-indicator-CSQts7GV.js";import{a as g,c as _,n as v,r as y,s as b,t as x}from"./table-BDYbUHJz.js";import{n as S,t as C}from"./toggle-group-BTL1QsWY.js";import{$n as w,En as T,r as E}from"./index-DOF2jDq0.js";import{t as D}from"./page-header-CdCpekG9.js";import{t as O}from"./list-page-CH_wnDC3.js";import{i as k,r as A,t as j}from"./virtual-list-tAuPUICw.js";import{n as M}from"./tags-NwZ7BPK6.js";var N=e(t(),1),P=n(),F=({height:e})=>(0,P.jsx)(`tr`,{"aria-hidden":`true`,className:`flex lg:table-row`,children:(0,P.jsx)(`td`,{className:`flex lg:table-cell`,style:{height:e}})}),I=(0,N.forwardRef)(function(e,t){return(0,P.jsx)(_,{ref:t,...e,"aria-hidden":`true`,className:`relative flex flex-col lg:table-row`,children:(0,P.jsx)(y,{className:`relative z-10 h-24 animate-pulse`,children:(0,P.jsx)(`div`,{className:`h-full rounded-md bg-muted`,"data-testid":`loading-placeholder`})})})});function L({items:e,totalItems:t,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i}){let{isAdmin7:c}=s(),l=(0,N.useRef)(null),{visibleItemCount:u,canLoadMore:d,loadMore:p}=A(t),{visibleItems:h,spaceBefore:S,spaceAfter:C}=k({items:e,totalItems:u,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i,parentRef:l});return(0,P.jsxs)(`div`,{ref:l,className:`overflow-hidden`,children:[(0,P.jsxs)(x,{className:`flex table-fixed flex-col lg:table`,"data-testid":`tags-list`,children:[(0,P.jsx)(b,{className:`hidden lg:visible! lg:table-header-group!`,children:(0,P.jsxs)(_,{children:[(0,P.jsx)(g,{className:`w-auto px-4`,children:`Tag`}),(0,P.jsx)(g,{className:`w-1/5 px-4`,children:`Slug`}),(0,P.jsx)(g,{className:`w-1/5 px-4`,children:`No. of posts`}),!c&&(0,P.jsx)(g,{className:`w-20 px-4`})]})}),(0,P.jsxs)(v,{className:`flex flex-col lg:table-row-group`,children:[(0,P.jsx)(F,{height:S}),h.map(({key:t,virtualItem:n,item:r,props:i})=>n.index>e.length-1?(0,P.jsx)(I,{...i},t):(0,P.jsxs)(_,{...i,className:o(`group grid w-full items-center gap-x-4 p-2 lg:table-row lg:p-0`,c?`grid-cols-1 md:grid-cols-[1fr_auto]`:`grid-cols-[1fr_5rem] md:grid-cols-[1fr_auto_5rem]`),"data-testid":`tag-list-row`,children:[(0,P.jsxs)(y,{className:`static col-start-1 col-end-1 row-start-1 row-end-1 flex min-w-0 flex-col p-0 md:relative lg:table-cell lg:w-1/2 lg:p-4 xl:w-3/5`,children:[(0,P.jsx)(E,{className:`before:absolute before:top-0 before:left-0 before:z-10 before:h-full before:w-[100vw]`,to:`/tags/${r.slug}`,children:(0,P.jsx)(`span`,{className:`block truncate text-base text-md font-semibold`,children:r.name})}),(0,P.jsx)(`span`,{className:`block truncate text-muted-foreground`,children:r.description})]}),(0,P.jsx)(y,{className:`col-start-1 col-end-1 row-start-2 row-end-2 flex p-0 lg:table-cell lg:p-4`,children:(0,P.jsx)(`span`,{className:`block truncate`,children:r.slug})}),(0,P.jsx)(y,{className:`col-start-1 col-end-1 row-start-3 row-end-3 flex p-0 md:col-start-2 md:col-end-2 md:row-start-1 md:row-end-3 lg:table-cell lg:p-4`,children:r.count?.posts?(0,P.jsx)(`a`,{className:`relative z-10 -m-4 inline-block p-4 hover:underline`,href:`#/posts?tag=${r.slug}`,children:`${a(r.count?.posts)} ${r.count?.posts===1?`post`:`posts`}`}):(0,P.jsx)(`span`,{className:`text-muted-foreground`,children:`0 posts`})}),!c&&(0,P.jsx)(y,{className:`col-start-2 col-end-2 row-start-1 row-end-3 p-0 md:col-start-3 md:col-end-3 lg:table-cell lg:p-4`,children:(0,P.jsx)(m,{"aria-hidden":`true`,className:`opacity-0 transition-all group-hover:opacity-100`,size:`icon`,tabIndex:-1,variant:`outline`,children:(0,P.jsx)(f,{})})})]},t)),(0,P.jsx)(F,{height:C})]})]}),d&&(0,P.jsx)(j,{isLoading:r,onClick:p})]})}var R=()=>{let{isAdmin7:e}=s(),[t,n]=r(),a=t.get(`type`)??`public`,{data:o,isError:f,isLoading:g,isFetchingNextPage:_,fetchNextPage:v,hasNextPage:y}=M({filter:{visibility:a}});return(0,P.jsx)(c,{className:`size-full`,children:(0,P.jsx)(l,{className:`relative flex h-full flex-col`,size:`page`,children:(0,P.jsxs)(O,{"data-testid":`tags-page`,children:[(0,P.jsx)(O.Header,{children:(0,P.jsxs)(D,{blurredBackground:!1,sticky:!1,children:[(0,P.jsx)(D.Left,{children:(0,P.jsx)(D.Title,{children:`Tags`})}),(0,P.jsxs)(D.Actions,{children:[(0,P.jsxs)(D.ActionGroup,{children:[(0,P.jsxs)(C,{"data-testid":`tags-header-tabs`,size:`button`,type:`single`,value:a,children:[(0,P.jsx)(S,{"aria-label":`Public tags`,value:`public`,asChild:!0,children:(0,P.jsx)(i,{to:`/tags`,children:`Public tags`})}),(0,P.jsx)(S,{"aria-label":`Internal tags`,value:`internal`,asChild:!0,children:(0,P.jsx)(i,{to:`/tags?type=internal`,children:`Internal tags`})})]}),(0,P.jsxs)(D.ActionGroup.MobileMenu,{children:[(0,P.jsx)(D.ActionGroup.MobileMenuTrigger,{children:(0,P.jsx)(m,{"aria-label":`More tag actions`,size:e?`icon`:void 0,variant:`subtle`,children:(0,P.jsx)(d,{className:`size-4`})})}),(0,P.jsxs)(D.ActionGroup.MobileMenuContent,{children:[(0,P.jsx)(w,{checked:a===`public`,onCheckedChange:()=>n({}),children:`Public tags`}),(0,P.jsx)(w,{checked:a===`internal`,onCheckedChange:()=>n({type:`internal`}),children:`Internal tags`})]})]})]}),(0,P.jsx)(D.ActionGroup,{children:(0,P.jsx)(m,{asChild:!0,children:(0,P.jsxs)(E,{className:`font-bold`,to:`/tags/new`,children:[(0,P.jsx)(p,{className:`size-4`}),(0,P.jsx)(`span`,{className:`hidden sm:inline`,children:`New tag`})]})})})]})]})}),(0,P.jsx)(O.Body,{children:g?(0,P.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,P.jsx)(T,{size:`lg`})}):f?(0,P.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,P.jsx)(`h2`,{className:`mb-2 text-xl font-medium`,children:`Error loading tags`}),(0,P.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:`Please reload the page to try again`}),(0,P.jsx)(m,{onClick:()=>window.location.reload(),children:`Reload page`})]}):o?.tags.length?(0,P.jsx)(L,{fetchNextPage:()=>void v(),hasNextPage:y,isFetchingNextPage:_,items:o?.tags??[],totalItems:o?.meta?.pagination?.total??0}):(0,P.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,P.jsx)(h,{actions:(0,P.jsx)(m,{asChild:!0,children:(0,P.jsx)(E,{to:`/tags/new`,children:`Create a new tag`})}),title:`Start organizing your content`,children:(0,P.jsx)(u,{})})})})]})})})};export{R as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,n as t,t as n}from"./hooks-
|
|
1
|
+
import{i as e,n as t,t as n}from"./hooks-DYfTEQLk.js";var r=`TagsResponseType`,i=n({dataType:r,path:`/tags/`,defaultNextPageParams:(e,t)=>e.meta?.pagination.next?{...t,page:(e.meta?.pagination.next||1).toString()}:void 0,returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.tags),r=t[t.length-1].meta;return{tags:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),a=({filter:e,...t})=>{let n=Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`,`);return i({...t,searchParams:{limit:`100`,order:`name asc`,include:`count.posts`,filter:n,...t.searchParams}})},o=e({dataType:r,path:e=>`/tags/slug/${e}/`}),s=t({method:`POST`,path:()=>`/tags/`,searchParams:()=>({include:`count.posts`}),body:e=>({tags:[e]}),invalidateQueries:{dataType:r}}),c=t({method:`PUT`,path:({id:e})=>`/tags/${e}/`,searchParams:()=>({include:`count.posts`}),body:({id:e,...t})=>({tags:[{id:e,...t}]}),invalidateQueries:{dataType:r}}),l=t({method:`DELETE`,path:e=>`/tags/${e}/`,invalidateQueries:{dataType:r}});export{o as a,c as i,a as n,l as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{p as n}from"./hooks-DYfTEQLk.js";import{t as r}from"./jsx-runtime-BlNNh7jY.js";import{n as i}from"./dist-DziNzWI2.js";import{t as a}from"./use-form-DJKZJhQh.js";import{t as o}from"./button-D414TI3B.js";import{i as s,n as c,o as l,s as u,t as d}from"./select-D_4xWFYv.js";import{o as f,t as p}from"./use-settings-navigation-CzGU4sus.js";import{a as m,i as h,o as g,t as _}from"./field-BXEh3ptU.js";import{t as v}from"./textarea-C5qolByg.js";import{En as y,Sn as b,p as x,yi as S}from"./index-DOF2jDq0.js";import{n as C}from"./global-data-context-3MItMry2.js";var w=``+new URL(`ali-abdaal-DqO7DmHM.png`,import.meta.url).href,T=``+new URL(`isaac-saul-WLit1kCf.png`,import.meta.url).href,E=``+new URL(`joel-warner-DUevCA8i.png`,import.meta.url).href,D=e(t(),1),O=r(),k=()=>{let e=D.useId(),{updateRoute:t}=p(),r=n(),{settings:k,currentUser:A,siteData:j,config:M}=C(),N=M.exploreTestimonialsUrl,P=j.site_uuid,[F]=S(k,[`title`]),I=A.name,L=A.email,R=A.roles[0].name,z=A.profile_image,{formState:B,updateForm:V,saveState:H,handleSave:U,errors:W,clearError:G}=a({initialState:{content:``,prev_platform:``},onSave:async()=>{let e=[`none`,`other`,``].includes(B.prev_platform)?void 0:B.prev_platform,n={ghost_uuid:P,staff_user_email:L,content:B.content,prev_platform:e};if(!N||!(await fetch(N,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(n)})).ok)throw Error(`Something went wrong, please try again later.`);i.success(`Thank you for your testimonial!`),t(`explore`)},onSaveError:r,onValidate:()=>{let e={};return B.content.trim()||(e.content=`This field is required`),e}}),K=[{value:`none`,label:`None -\xA0This is a new site`},{value:`substack`,label:`Substack`},{value:`beehiiv`,label:`BeeHiiv`},{value:`wordpress`,label:`WordPress`},{value:`newspack`,label:`Newspack`},{value:`medium`,label:`Medium`},{value:`squarespace`,label:`Squarespace`},{value:`wix`,label:`Wix`},{value:`patreon`,label:`Patreon`},{value:`memberful`,label:`Memberful`},{value:`other`,label:`Other`}];return(0,O.jsx)(f,{cancelLabel:``,footer:!1,padding:!1,testId:`explore-testimonials-modal`,title:``,topRightContent:`close`,width:920,onClose:()=>{t(`explore`)},children:(0,O.jsx)(m,{className:`gap-8`,children:(0,O.jsxs)(`div`,{className:`flex items-stretch`,children:[(0,O.jsxs)(`div`,{className:`hidden w-full flex-col justify-between bg-gradient-to-tl from-gray-100/50 to-gray-100/80 p-8 dark:from-gray-900/40 dark:to-gray-900/60 [@media(min-width:905px)]:visible! [@media(min-width:905px)]:flex!`,children:[(0,O.jsxs)(`div`,{className:`pr-6`,children:[(0,O.jsx)(`div`,{className:`relative rounded-xl bg-white px-3 py-2.5 text-md text-gray-700 italic shadow-lg before:absolute before:-bottom-1.5 before:left-5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-gray-300 dark:before:bg-black`,children:`Moving to Ghost has proven to be one of the best business decisions we’ve made as an independent media outlet.`}),(0,O.jsxs)(`div`,{className:`mt-[14px] ml-2 flex items-center gap-2`,children:[(0,O.jsx)(`div`,{className:`size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale`,style:{backgroundImage:`url(${E})`}}),(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`div`,{className:`font-medium text-black dark:text-white`,children:`Joel Warner`}),(0,O.jsx)(`div`,{className:`-mt-0.5 text-gray-700`,children:`Lever News`})]})]})]}),(0,O.jsxs)(`div`,{className:`mt-8 ml-6`,children:[(0,O.jsx)(`div`,{className:`relative rounded-xl bg-white px-3 py-2.5 text-md text-gray-700 italic shadow-lg before:absolute before:right-5 before:-bottom-1.5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-gray-300 dark:before:bg-black`,children:`It has now been one year since I quit my full-time job to go all in on Tangle. Today, we have 50,000+ paying subscribers. That’s roughly $5M in gross yearly revenue ... it’s the best paying job I’ve ever had.`}),(0,O.jsxs)(`div`,{className:`mt-[14px] mr-2 flex items-center justify-end gap-2`,children:[(0,O.jsxs)(`div`,{className:`flex flex-col items-end`,children:[(0,O.jsx)(`div`,{className:`font-medium text-black dark:text-white`,children:`Isaac Saul`}),(0,O.jsx)(`div`,{className:`-mt-0.5 text-gray-700`,children:`Tangle`})]}),(0,O.jsx)(`div`,{className:`size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale`,style:{backgroundImage:`url(${T})`}})]})]}),(0,O.jsxs)(`div`,{className:`mt-8 hidden pr-6 [@media(min-width:940px)]:visible! [@media(min-width:940px)]:block!`,children:[(0,O.jsx)(`div`,{className:`relative rounded-xl bg-white px-3 py-2.5 text-md text-gray-700 italic shadow-lg before:absolute before:-bottom-1.5 before:left-5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-gray-300 dark:before:bg-black`,children:`You should be using Ghost because it’s absolutely amazing and I love it. It’s what I’ve been using for all my sites since 2016.`}),(0,O.jsxs)(`div`,{className:`mt-[14px] ml-2 flex items-center gap-2`,children:[(0,O.jsx)(`div`,{className:`size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale`,style:{backgroundImage:`url(${w})`}}),(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`div`,{className:`font-medium text-black dark:text-white`,children:`Ali Abdaal`}),(0,O.jsx)(`div`,{className:`-mt-0.5 text-gray-700`,children:`YouTuber`})]})]})]})]}),(0,O.jsxs)(`div`,{className:`flex grow flex-col justify-between gap-6 p-8 [@media(min-width:905px)]:min-w-[520px] [@media(min-width:940px)]:min-w-[460px]`,children:[(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`div`,{className:`flex size-[60px] items-center justify-center rounded-full bg-gradient-to-t from-[#CFB0FF] to-[#B27EFF]`,children:(0,O.jsx)(`svg`,{fill:`none`,height:`26`,viewBox:`0 0 32 26`,width:`32`,xmlns:`http://www.w3.org/2000/svg`,children:(0,O.jsx)(`path`,{d:`M19.9967 26L18.1562 21.4542C23.4268 19.1176 25.7693 16.5261 26.2712 11.7255C25.5183 12.3627 24.5562 12.7026 23.3431 12.7026C20.1641 12.7026 17.4869 10.1536 17.4869 6.41503C17.4869 2.80392 20.3732 9.72736e-07 24.2634 6.32644e-07C28.2791 2.81581e-07 31.5 3.10131 31.5 8.96405C31.5 17.5458 27.4425 23.0261 19.9967 26ZM3.0098 26L1.12745 21.4543C6.43987 19.1176 8.78235 16.5261 9.24248 11.7255C8.53137 12.3627 7.56928 12.7026 6.35621 12.7026C3.17712 12.7026 0.499999 10.1536 0.499998 6.41504C0.499998 2.80393 3.38627 2.45778e-06 7.23464 2.12135e-06C11.2503 1.77028e-06 14.5131 3.10131 14.5131 8.96405C14.5131 17.5458 10.4556 23.0261 3.0098 26Z`,fill:`white`})})}),(0,O.jsxs)(`div`,{className:`mt-6`,children:[(0,O.jsx)(`div`,{className:`text-2xl font-semibold tracking-tight`,children:`A quote about Ghost`}),(0,O.jsx)(`div`,{className:`mt-2 text-pretty`,children:`We feature quotes from publishers to showcase their work, including a logo and a link! If you'd like to be included, share a quote we can use to highlight you.`})]}),(0,O.jsx)(`div`,{className:`mt-8`,children:(0,O.jsxs)(_,{"data-invalid":!!W.content||void 0,children:[(0,O.jsx)(g,{className:`sr-only`,htmlFor:`testimonial-content`,children:`Quote`}),(0,O.jsx)(v,{"aria-invalid":!!W.content||void 0,id:`testimonial-content`,placeholder:`What changed for the better since you switched to Ghost?`,rows:7,value:B.content,autoFocus:!0,onChange:e=>V(t=>({...t,content:e.target.value})),onKeyDown:()=>G(`content`)}),W.content&&(0,O.jsx)(h,{children:W.content})]})}),(0,O.jsx)(`div`,{className:`mt-4 ml-0.5`,children:(0,O.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,O.jsx)(b,{className:`size-10`,...x({name:I,email:L}),src:z}),(0,O.jsxs)(`div`,{className:`flex flex-col`,children:[(0,O.jsxs)(`span`,{className:`font-medium`,children:[`By `,I||L]}),(0,O.jsxs)(`span`,{className:`text-sm text-gray-700`,children:[R,` — `,F]})]})]})})]}),(0,O.jsx)(`div`,{children:(0,O.jsxs)(`div`,{className:`mt-2 flex items-center gap-4`,children:[(0,O.jsx)(`div`,{className:`grow`,children:(0,O.jsxs)(_,{"data-invalid":!!W.prev_platform||void 0,children:[(0,O.jsx)(g,{className:`sr-only`,children:`Previous platform`}),(0,O.jsxs)(d,{value:B.prev_platform,onValueChange:e=>{V(t=>({...t,prev_platform:e})),G(`prev_platform`)},children:[(0,O.jsx)(l,{"aria-describedby":W.prev_platform?e:void 0,"aria-invalid":!!W.prev_platform||void 0,"aria-label":`Previous platform`,"data-testid":`migrated-from`,children:(0,O.jsx)(u,{placeholder:`Previous platform`})}),(0,O.jsx)(c,{children:K.map(e=>(0,O.jsx)(s,{value:e.value,children:e.label},e.value))})]}),W.prev_platform&&(0,O.jsx)(h,{id:e,children:W.prev_platform})]})}),(0,O.jsxs)(o,{disabled:H===`saving`,type:`button`,onClick:()=>void U(),children:[H===`saving`&&(0,O.jsx)(y,{size:`sm`}),`Send testimonial`]})]})})]})]})})})};export{k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{L as r}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";var i=e(t(),1),a=n(),o={"2xs":`text-2xs`,xs:`text-xs`,sm:`text-sm`,md:`text-md`,lg:`text-lg`,xl:`text-xl`,"2xl":`text-2xl`,"3xl":`text-3xl`},s={regular:`font-normal`,medium:`font-medium`,semibold:`font-semibold`,bold:`font-bold`},c={primary:`text-text-primary`,secondary:`text-text-secondary`,tertiary:`text-text-tertiary`},l={none:`leading-none`,snug:`leading-snug`,normal:`leading-normal`,relaxed:`leading-relaxed`,tight:`leading-tight`,tighter:`leading-tighter`,supertight:`leading-supertight`,body:`leading-body`,heading:`leading-heading`},u=i.forwardRef(function({as:e=`p`,className:t,size:n=`md`,weight:i=`regular`,tone:u=`primary`,leading:d=`body`,truncate:f=!1,...p},m){return(0,a.jsx)(e,{ref:m,className:r(o[n],s[i],c[u],l[d],f&&`truncate`,t),...p})});u.displayName=`Text`;export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{L as r}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{n as i,t as a}from"./input-surface-CL23Mlh8.js";var o=e(t(),1),s=n(),c=o.forwardRef(({className:e,...t},n)=>(0,s.jsx)(`textarea`,{ref:n,className:r(a(`self`),i.disabledFieldSelf,`flex min-h-[80px] w-full max-w-none px-3 py-2 text-base placeholder:text-muted-foreground`,e),...t}));c.displayName=`Textarea`;export{c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t}from"./hooks-DYfTEQLk.js";var n=`CustomThemeSettingsResponseType`,r=n,i=t({dataType:n,path:`/custom_theme_settings/`}),a=e({method:`PUT`,path:()=>`/custom_theme_settings/`,body:e=>({custom_theme_settings:e}),updateQueries:{emberUpdateType:`skip`,dataType:n,update:e=>e}});function o(e,t){return e.code===`GS110-NO-MISSING-PAGE-BUILDER-USAGE`&&(e.failures??[]).some(({message:e})=>e?.includes(`@page.${t}`))}var s=`ThemesResponseType`,c=t({dataType:s,path:`/themes/`}),l=t({dataType:s,path:`/themes/active/`}),u=e({method:`PUT`,path:e=>`/themes/${e}/activate/`,updateQueries:{dataType:s,emberUpdateType:`createOrUpdate`,update:(e,t)=>({...t,themes:t.themes.map(t=>e.themes.find(({name:e})=>e===t.name)||{...t,active:!1})})},invalidateQueries:{dataType:r}}),d=e({method:`DELETE`,path:e=>`/themes/${e}/`,updateQueries:{dataType:s,emberUpdateType:`delete`,update:(e,t,n)=>({...t,themes:t.themes.filter(e=>e.name!==n)})}}),f=e({method:`POST`,path:()=>`/themes/install/`,searchParams:e=>({source:`github`,ref:e}),updateQueries:{dataType:s,emberUpdateType:`createOrUpdate`,update:(e,t)=>t&&{...t,themes:[...t.themes,...e.themes]}}}),p=e({method:`POST`,path:()=>`/themes/upload/`,searchParams:({copySettingsFrom:e})=>e?{copy_settings_from:e}:{},body:({file:e})=>{let t=new FormData;return t.append(`file`,e),t},updateQueries:{dataType:s,emberUpdateType:`createOrUpdate`,update:(e,t)=>t&&{...t,themes:[...t.themes.filter(t=>!e.themes.some(({name:e})=>e===t.name)),...e.themes]}}});function m(e){return e.active}function h(e){return e.name.toLowerCase()===`source`}function g(e){return e.name.toLowerCase()===`casper`}function _(e){return h(e)||g(e)}function v(e){return!h(e)&&!g(e)&&!m(e)}export{g as a,l as c,f as d,p as f,v as i,c as l,a as m,_ as n,o,i as p,h as r,u as s,m as t,d as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,s as t,t as n}from"./react-BXwhMTuc.js";import{E as r,T as i,_ as a,g as o,m as s,n as c,p as l,r as u}from"./hooks-DYfTEQLk.js";import{t as d}from"./jsx-runtime-BlNNh7jY.js";import{n as f}from"./dist-DziNzWI2.js";import{t as p}from"./use-form-DJKZJhQh.js";import{a as m,i as h,n as g,r as _,t as v}from"./currency-Dy4Tc2R2.js";import{h as y}from"./chunk-KS7C4IRE-DhOcHQOU.js";import{H as b,L as ee,Z as x}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as S}from"./text-BLI0C8Mc.js";import{D as C,ft as w,rr as T,t as E}from"./button-D414TI3B.js";import{i as D,n as te,o as O,s as ne,t as k}from"./select-D_4xWFYv.js";import{a as A,i as re,l as j,n as ie,o as ae,s as M,t as N}from"./command-B5wfm6pd.js";import{t as oe}from"./multi-select-combobox-_9wEYmGv.js";import{t as se}from"./switch-DoOJF2yg.js";import{o as ce,t as le}from"./use-settings-navigation-CzGU4sus.js";import{i as ue,n as de,r as fe,t as pe}from"./combobox-6_ruuTuj.js";import{a as me,c as he,i as P,o as F,r as ge,s as _e,t as I}from"./field-BXEh3ptU.js";import{a as ve,i as ye,n as be,t as xe}from"./input-group-CvH-3d3F.js";import{i as Se,n as Ce,t as we}from"./use-url-input-C5KHJw79.js";import{$r as Te,Dn as L,Zr as R,_i as z,wi as Ee,yi as De,yn as B}from"./index-DOF2jDq0.js";import{a as V,i as Oe,o as ke}from"./tiers-6mPzCXlM.js";import{t as H}from"./use-availability-DnKqOyqd.js";import{c as Ae,u as U,y as W}from"./member-custom-fields-CTFGnnYv.js";import{n as je,t as G}from"./custom-field-type-option-DrSlETOI.js";import{n as Me}from"./confirmation-context-znVJD4pX.js";import{n as K}from"./global-data-context-3MItMry2.js";import{t as Ne}from"./use-setting-group-ldtX1Vsk.js";var q=t(n(),1),J=d();function Pe(e,t,n){return j((n??[]).join(` `),t)}function Fe({id:e,label:t,fields:n,value:r,invalid:i,onChange:a,createTypes:o}){let[s,c]=(0,q.useState)(!1),[l,u]=(0,q.useState)(null),[d,f]=(0,q.useState)(``),p=n.find(e=>e.key===r),m=!!o?.length,h=()=>{c(!1),u(null),f(``)};return(0,J.jsxs)(pe,{open:s,onOpenChange:e=>{e?c(!0):h()},children:[(0,J.jsx)(fe,{"aria-invalid":i||void 0,"aria-label":t,id:e,children:(0,J.jsx)(ue,{placeholder:!p,children:p?(0,J.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(je,{className:`size-4 shrink-0`,type:p.type}),(0,J.jsx)(`span`,{className:`truncate`,children:p.name})]}):`Select...`})}),(0,J.jsx)(de,{onEscapeKeyDown:e=>{l&&(e.preventDefault(),u(null))},children:l&&o?.length?(0,J.jsx)(Ie,{initialName:l.initialName,label:t,types:o,onCancel:()=>u(null),onCreated:e=>{h(),a(e)}}):(0,J.jsxs)(N,{filter:Pe,children:[(0,J.jsx)(A,{placeholder:`Search fields...`,value:d,onValueChange:f}),(0,J.jsxs)(M,{children:[n.length>0&&(0,J.jsx)(re,{className:`p-0`,children:n.map(e=>(0,J.jsxs)(ae,{keywords:[e.name],value:e.key,onSelect:()=>{h(),a(e.key)},children:[(0,J.jsx)(je,{className:`size-4`,type:e.type}),(0,J.jsx)(`span`,{className:`truncate`,children:e.name}),r===e.key&&(0,J.jsx)(ie,{})]},e.key))}),m&&(0,J.jsx)(re,{className:`p-0`,forceMount:!0,children:(0,J.jsxs)(ae,{className:`font-semibold text-green`,value:`__create-custom-field__`,forceMount:!0,onSelect:()=>u({initialName:d.trim()}),children:[(0,J.jsx)(w,{className:`size-4`}),(0,J.jsx)(`span`,{children:`Add custom field`})]})})]})]})})]})}function Ie({initialName:e,label:t,types:n,onCancel:c,onCreated:u}){let[d,f]=(0,q.useState)(e),[p,m]=(0,q.useState)(n[0]),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)(null),[y,b]=(0,q.useState)(!0),{mutateAsync:ee,isPending:x}=U(),S=l(),C=async()=>{if(!d.trim()){g(`Enter a name for the field`);return}try{let e=(await ee({name:d.trim(),type:p,access:{member:`none`}})).members_metafields?.[0];if(!e){v(`The field was created but could not be selected. Choose it from the list.`),b(!1);return}u(e.key)}catch(e){let t=e instanceof a?e.data?.errors?.[0]:null;if(e instanceof i&&t?.property===`name`){g(r(e,`Invalid name`));return}e instanceof o||S(e,{withToast:!1}),v(r(e,e instanceof s?e.message:`Could not create the custom field, please try again.`)),b(!(e instanceof o)&&t?.type!==`NoPermissionError`)}};return(0,J.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,onKeyDown:e=>{e.key===`Enter`&&!x&&y&&(e.preventDefault(),C())},children:[(0,J.jsxs)(I,{"data-invalid":!!h||void 0,children:[(0,J.jsx)(F,{className:`text-sm!`,htmlFor:`custom-field-picker-create-name`,children:`New custom field`}),(0,J.jsx)(L,{"aria-invalid":!!h||void 0,"aria-label":`New custom field for ${t}`,autoComplete:`off`,className:`h-8 text-sm!`,id:`custom-field-picker-create-name`,placeholder:`Enter custom field name`,value:d,autoFocus:!0,onChange:e=>{f(e.target.value),g(null),v(null),b(!0)}}),h&&(0,J.jsx)(P,{children:h})]}),(0,J.jsxs)(I,{children:[(0,J.jsx)(F,{className:`text-sm!`,children:`Type`}),(0,J.jsxs)(k,{disabled:n.length===1,value:p,onValueChange:e=>m(e),children:[(0,J.jsx)(O,{"aria-label":`Type`,className:`h-8 text-sm!`,children:(0,J.jsx)(ne,{children:(0,J.jsx)(G,{type:p})})}),(0,J.jsx)(te,{children:n.map(e=>(0,J.jsx)(D,{value:e,children:(0,J.jsx)(G,{type:e})},e))})]})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,J.jsx)(E,{disabled:x,size:`sm`,type:`button`,variant:`outline`,onClick:c,children:`Cancel`}),(0,J.jsx)(E,{disabled:x||!y,size:`sm`,type:`button`,onClick:()=>void C(),children:x?`Saving`:`Save`})]}),_&&(0,J.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:_})]})}var Y=`AC.AD.AE.AF.AG.AI.AL.AM.AO.AQ.AR.AT.AU.AW.AX.AZ.BA.BB.BD.BE.BF.BG.BH.BI.BJ.BL.BM.BN.BO.BQ.BR.BS.BT.BV.BW.BY.BZ.CA.CD.CF.CG.CH.CI.CK.CL.CM.CN.CO.CR.CV.CW.CY.CZ.DE.DJ.DK.DM.DO.DZ.EC.EE.EG.EH.ER.ES.ET.FI.FJ.FK.FO.FR.GA.GB.GD.GE.GF.GG.GH.GI.GL.GM.GN.GP.GQ.GR.GS.GT.GU.GW.GY.HK.HN.HR.HT.HU.ID.IE.IL.IM.IN.IO.IQ.IS.IT.JE.JM.JO.JP.KE.KG.KH.KI.KM.KN.KR.KW.KY.KZ.LA.LB.LC.LI.LK.LR.LS.LT.LU.LV.LY.MA.MC.MD.ME.MF.MG.MK.ML.MM.MN.MO.MQ.MR.MS.MT.MU.MV.MW.MX.MY.MZ.NA.NC.NE.NG.NI.NL.NO.NP.NR.NU.NZ.OM.PA.PE.PF.PG.PH.PK.PL.PM.PN.PR.PS.PT.PY.QA.RE.RO.RS.RU.RW.SA.SB.SC.SD.SE.SG.SH.SI.SJ.SK.SL.SM.SN.SO.SR.SS.ST.SV.SX.SZ.TA.TC.TD.TF.TG.TH.TJ.TK.TL.TM.TN.TO.TR.TT.TV.TW.TZ.UA.UG.US.UY.UZ.VA.VC.VE.VG.VN.VU.WF.WS.XK.YE.YT.ZA.ZM.ZW.ZZ`.split(`.`);new Set(Y);var X=[`shipping_name`,`shipping_address`,`phone`];function Le(e){return X.includes(e)}var Z={shippingName:`shipping_name`,shippingAddress:`shipping_address`,phone:`phone`},Re={shipping_name:{key:`shipping_name`,name:`Shipping Name`,type:`short_text`},shipping_address:{key:`shipping_address`,name:`Shipping Address`,type:`address`},phone:{key:`shipping_phone`,name:`Shipping Phone`,type:`short_text`}},ze=`TiersCheckoutConfigResponseType`,Be=u({dataType:ze,path:`/tiers/checkout_config/`}),Ve=c({method:`PUT`,path:({tierId:e})=>`/tiers/${e}/checkout_config/`,body:({config:e})=>({tiers_checkout_config:[e]}),invalidateQueries:{dataType:ze}}),He=Y.map(e=>({value:e,label:W(e)})).sort((e,t)=>e.label.localeCompare(t.label)),Ue=[{value:`all`,label:`All countries`,hint:`Everywhere Stripe supports shipping`},{value:`specific`,label:`Specific countries`,hint:`Choose the countries you deliver to`}],We={[Z.shippingAddress]:`shippingField`,[Z.shippingName]:`shippingName`,[Z.phone]:`phoneField`},Ge=e=>{let t=(e instanceof a?e.data?.errors?.[0]?.property:null)??``,n=/^checkout\.(\w+)\.custom_field_key$/.exec(t)?.[1];return n&&Le(n)?We[n]:void 0},Q=(e,t)=>t??Re[e].key,Ke=e=>({shipping:e.shipping.collect?{...e.shipping,allowedCountries:e.shipping.countriesMode===`specific`?e.shipping.allowedCountries:[]}:{collect:!1,countriesMode:`all`,allowedCountries:[],addressFieldKey:null,nameFieldKey:null},taxNumber:e.taxNumber,phone:e.phone.collect?e.phone:{collect:!1,customFieldKey:null}}),qe=e=>{let t=e?.shipping,n=t?.allowed_countries;return{shipping:{collect:!!t,addressFieldKey:t?.address.custom_field_key??null,nameFieldKey:t?.name.custom_field_key??null,countriesMode:n?`specific`:`all`,allowedCountries:n??[]},taxNumber:{collect:!!e?.tax_number},phone:{collect:!!e?.phone,customFieldKey:e?.phone?.custom_field_key??null}}};function Je({children:e}){return(0,J.jsxs)(he,{children:[(0,J.jsx)(_e,{children:`Checkout`}),(0,J.jsx)(me,{className:`mb-10 gap-6 rounded-sm border border-border-default p-4 md:p-7`,children:e})]})}function Ye({label:e,children:t}){return(0,J.jsxs)(`div`,{className:`flex flex-col content-center gap-4 md:flex-row md:items-center`,children:[(0,J.jsx)(`div`,{className:`w-full min-w-[160px] md:flex-1`,children:e}),(0,J.jsx)(`div`,{className:`w-full md:w-64 md:min-w-0`,children:t})]})}function Xe({checked:e,description:t,id:n,label:r,onCheckedChange:i}){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsxs)(I,{orientation:`horizontal`,children:[(0,J.jsx)(F,{htmlFor:n,children:r}),(0,J.jsx)(se,{checked:e,id:n,onCheckedChange:i})]}),(0,J.jsx)(ge,{children:t})]})}function Ze({eligible:e,error:t,id:n,label:r,port:i,value:a,onChange:o}){return(0,J.jsx)(Ye,{label:r,children:(0,J.jsxs)(I,{"data-invalid":!!t||void 0,children:[(0,J.jsx)(Fe,{createTypes:[Re[i].type],fields:e[i],id:n,invalid:!!t,label:r,value:a,onChange:o}),t&&(0,J.jsx)(P,{children:t})]})})}var Qe=(0,q.forwardRef)(({config:e,failed:t,onDirtyChange:n},i)=>{let[a,o]=(0,q.useState)(()=>qe(e)),[s,c]=(0,q.useState)({}),[u,d]=(0,q.useState)(!1),{mutateAsync:f}=Ve(),p=l(),m=H(),{data:h}=Ae({enabled:m}),g=h??[],_=Object.fromEntries(Object.entries(Re).map(([e,t])=>[e,g.filter(e=>e.type===t.type)])),v=a.shipping.allowedCountries,y=(0,q.useMemo)(()=>JSON.stringify(Ke(qe(e))),[e]),[b,ee]=(0,q.useState)(null),x=!t&&JSON.stringify(Ke(a))!==(b??y);(0,q.useEffect)(()=>{n?.(x)},[x,n]);let C=()=>{let e={},t=(e,t)=>{if(!e)return`Choose where this should be kept`;if(h&&!t.some(t=>t.key===e))return`This field is no longer available. Choose another`};return a.shipping.collect&&(m&&(e.shippingField=t(a.shipping.addressFieldKey,_[Z.shippingAddress]),e.shippingName=t(a.shipping.nameFieldKey,_[Z.shippingName])),a.shipping.countriesMode===`specific`&&!a.shipping.allowedCountries.length&&(e.shippingCountries=`Choose at least one country you deliver to`)),a.phone.collect&&m&&(e.phoneField=t(a.phone.customFieldKey,_[Z.phone])),e},w=()=>{if(!x)return c({}),!0;let e=C();return c(e),!Object.values(e).some(Boolean)};return(0,q.useImperativeHandle)(i,()=>({validate:w,save:async e=>{if(!x)return!0;if(!w())return!1;try{return await f({tierId:e,config:{shipping:a.shipping.collect?{collect:!0,...a.shipping.countriesMode===`specific`?{allowed_countries:a.shipping.allowedCountries}:{},name:{custom_field_key:Q(Z.shippingName,a.shipping.nameFieldKey)},address:{custom_field_key:Q(Z.shippingAddress,a.shipping.addressFieldKey)}}:{collect:!1},tax_number:{collect:a.taxNumber.collect},phone:a.phone.collect?{collect:!0,custom_field_key:Q(Z.phone,a.phone.customFieldKey)}:{collect:!1}}}),ee(JSON.stringify(Ke(a))),!0}catch(e){let t=m?Ge(e):void 0;return t?(p(e,{withToast:!1}),c(n=>({...n,[t]:r(e,`This field cannot be used here. Choose another`)})),!1):(p(e),!1)}}}),[m,x,f,h,p,a]),t?(0,J.jsx)(Je,{children:(0,J.jsx)(S,{className:`text-sm text-muted-foreground`,children:`Checkout collection settings could not be loaded, so they are not shown. Close and reopen this tier to try again.`})}):(0,J.jsxs)(Je,{children:[(0,J.jsx)(Xe,{checked:a.shipping.collect,description:`Require a shipping address during checkout`,id:`tier-collect-shipping`,label:`Collect shipping address`,onCheckedChange:e=>o(t=>({...t,shipping:{...t.shipping,collect:e}}))}),a.shipping.collect&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Ye,{label:`Ships to`,children:(0,J.jsxs)(I,{children:[(0,J.jsx)(F,{className:`sr-only`,children:`Ships to`}),(0,J.jsxs)(k,{value:a.shipping.countriesMode,onValueChange:e=>{c(e=>({...e,shippingCountries:void 0})),o(t=>({...t,shipping:{...t.shipping,countriesMode:e}}))},children:[(0,J.jsx)(O,{"aria-label":`Ships to`,children:(0,J.jsx)(ne,{children:Ue.find(e=>e.value===a.shipping.countriesMode)?.label})}),(0,J.jsx)(te,{children:Ue.map(e=>(0,J.jsx)(D,{value:e.value,children:(0,J.jsxs)(`span`,{className:`flex flex-col`,children:[(0,J.jsx)(`span`,{children:e.label}),(0,J.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e.hint})]})},e.value))})]})]})}),a.shipping.countriesMode===`specific`&&(0,J.jsx)(Ye,{label:`Select specific countries`,children:(0,J.jsxs)(I,{"data-invalid":!!s.shippingCountries||void 0,children:[(0,J.jsx)(F,{className:`sr-only`,children:`Select specific countries`}),(0,J.jsxs)(pe,{open:u,onOpenChange:d,children:[(0,J.jsx)(fe,{"aria-invalid":!!s.shippingCountries||void 0,"aria-label":`Select specific countries`,children:(0,J.jsx)(ue,{placeholder:!v.length,children:v.length?v.map(W).join(`, `):`Select...`})}),(0,J.jsx)(de,{children:(0,J.jsx)(oe,{i18n:{searchPlaceholder:`Search countries...`},options:He,values:v,onChange:e=>{c(e=>({...e,shippingCountries:void 0})),o(t=>({...t,shipping:{...t.shipping,allowedCountries:e}}))},onClose:()=>d(!1)})})]}),s.shippingCountries&&(0,J.jsx)(P,{children:s.shippingCountries})]})}),m&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Ze,{eligible:_,error:s.shippingField,id:`tier-shipping-address-field`,label:`Save address as`,port:Z.shippingAddress,value:a.shipping.addressFieldKey,onChange:e=>{c(e=>({...e,shippingField:void 0})),o(t=>({...t,shipping:{...t.shipping,addressFieldKey:e}}))}}),(0,J.jsx)(Ze,{eligible:_,error:s.shippingName,id:`tier-shipping-name-field`,label:`Save recipient name as`,port:Z.shippingName,value:a.shipping.nameFieldKey,onChange:e=>{c(e=>({...e,shippingName:void 0})),o(t=>({...t,shipping:{...t.shipping,nameFieldKey:e}}))}})]})]}),(0,J.jsx)(B,{}),(0,J.jsx)(Xe,{checked:a.phone.collect,description:`Require a phone number during checkout`,id:`tier-collect-phone`,label:`Collect phone number`,onCheckedChange:e=>o(t=>({...t,phone:{...t.phone,collect:e}}))}),a.phone.collect&&m&&(0,J.jsx)(Ze,{eligible:_,error:s.phoneField,id:`tier-phone-field`,label:`Save to custom field`,port:Z.phone,value:a.phone.customFieldKey,onChange:e=>{c(e=>({...e,phoneField:void 0})),o(t=>({...t,phone:{...t.phone,customFieldKey:e}}))}}),(0,J.jsx)(B,{}),(0,J.jsx)(Xe,{checked:a.taxNumber.collect,description:`Let members add a tax ID to their invoices`,id:`tier-collect-tax`,label:`Collect business tax ID`,onCheckedChange:e=>o(t=>({...t,taxNumber:{...t.taxNumber,collect:e}}))})]})});Qe.displayName=`TierCheckoutCollection`;var $e=(e,{creating:t=!1}={})=>{let n=R(`stripeCheckoutCollection`),{config:r,settings:i}=K(),a=n&&z(i||[],r||{}),{data:o,error:c,isError:l,isFetching:u}=Be({enabled:a,defaultErrorHandler:!1}),d=a&&(e?e.type!==`free`:t),f=l&&!u,p=f&&c instanceof s&&c.response?.status===404,m=d&&!f;return{enabled:m,failed:d&&f&&!p,isReady:!m||!!o,config:o?.tiers_checkout_config?.find(t=>t.tier_id===e?.id)}},et=({size:e=`md`,trialDays:t})=>t?(0,J.jsxs)(`span`,{className:x(e===`sm`?`px-1.5 py-0.5 text-sm`:`px-2.5 py-1.5`,`relative -mt-1 -mr-1 rounded-full leading-none font-semibold tracking-wide whitespace-nowrap text-gray-900`),children:[(0,J.jsx)(`span`,{className:`absolute inset-0 block rounded-full bg-ghostaccent opacity-20 dark:bg-pink`}),(0,J.jsxs)(`span`,{className:`dark:text-pink`,children:[b(t),` days free`]})]}):null,tt=({benefits:e})=>{if(!e?.length)return(0,J.jsx)(`div`,{className:`mt-4 w-full text-md leading-snug text-gray-900 opacity-30`,children:(0,J.jsxs)(`div`,{className:`mb-2.5 flex items-start`,children:[(0,J.jsx)(T,{className:`mt-[3px] mr-[10px] size-3.5! min-w-[14px] overflow-visible stroke-[3px]!`}),(0,J.jsx)(`div`,{children:`Expert analysis`})]})});let t=new Map;return(0,J.jsx)(J.Fragment,{children:e.map(e=>{let n=(t.get(e)||0)+1;return t.set(e,n),(0,J.jsx)(`div`,{className:`mt-4 w-full text-md leading-snug text-gray-900`,children:(0,J.jsxs)(`div`,{className:`mb-2.5 flex items-start`,children:[(0,J.jsx)(T,{className:`mt-[3px] mr-[10px] size-3.5! min-w-[14px] overflow-visible stroke-[3px]!`}),(0,J.jsx)(`div`,{children:e})]})},`${e}:${n}`)})})},nt=({discount:e})=>e?(0,J.jsxs)(`span`,{className:`mt-1 leading-none font-semibold text-ghostaccent`,children:[b(e),`% discount`]}):null,rt=({tier:e,isFreeTier:t})=>{let[n,r]=(0,q.useState)(!1),i=e?.name||``,a=e?.description||``,o=parseFloat(e?.trial_days||`0`),s=e?.currency||`USD`,c=s?h(s):`$`,l=e?.benefits||[],u=t?0:500,d=t?0:5e3,f=_(e?.monthly_price??u),p=_(e?.yearly_price??d),m=e?.monthly_price&&e?.yearly_price?Math.ceil((f*12-p)/(f*12)*100):0;return(0,J.jsxs)(`div`,{className:`-mt-2`,"data-testid":`tier-preview`,children:[(0,J.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,J.jsx)(S,{as:`h6`,className:`pb-2 text-base leading-snug`,weight:`medium`,children:t?`Free membership preview`:`Tier preview`}),!t&&(0,J.jsxs)(`div`,{className:`flex gap-1`,children:[(0,J.jsx)(E,{className:n?`h-auto p-0 text-muted-foreground`:`h-auto p-0 text-foreground`,type:`button`,variant:`link`,onClick:()=>r(!1),children:`Monthly`}),(0,J.jsx)(E,{className:n?`ml-2 h-auto p-0 text-foreground`:`ml-2 h-auto p-0 text-muted-foreground`,type:`button`,variant:`link`,onClick:()=>r(!0),children:`Yearly`})]})]}),(0,J.jsx)(`div`,{className:`rounded-sm border border-gray-200 bg-white dark:border-transparent`,children:(0,J.jsxs)(`div`,{className:`flex-column relative flex min-h-[200px] w-full max-w-[420px] scale-90 items-start justify-stretch rounded bg-white p-4`,children:[(0,J.jsxs)(`div`,{className:`min-h-[56px] w-full`,children:[(0,J.jsx)(`h4`,{className:`-mt-1 mb-0 w-full text-lg leading-tight font-semibold break-words text-ghostaccent ${!i&&`opacity-30`}`,children:i||(t?`Free`:`Bronze`)}),(0,J.jsxs)(`div`,{className:`mt-4 flex w-full flex-row flex-wrap items-end justify-between gap-x-1 gap-y-[10px]`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap text-black ${(n&&e?.yearly_price===void 0||!n&&e?.monthly_price===void 0)&&!t?`opacity-30`:``}`,children:[(0,J.jsx)(`span`,{className:`self-start text-[2.7rem] leading-[1.115] font-bold uppercase`,children:c}),(0,J.jsx)(`span`,{className:`text-[3.4rem] leading-none font-bold tracking-tight break-all`,children:b(n?p:f,{maximumFractionDigits:20})}),!t&&(0,J.jsxs)(`span`,{className:`ml-1 self-end text-[1.5rem] leading-snug text-gray-800`,children:[`/`,n?`year`:`month`]})]}),(0,J.jsx)(et,{trialDays:o})]}),n&&m>0&&(0,J.jsx)(nt,{discount:m})]}),(0,J.jsx)(`div`,{className:`flex-column flex w-full flex-1`,children:(0,J.jsxs)(`div`,{className:`flex-1`,children:[(0,J.jsx)(`div`,{className:`mt-4 w-full text-[1.55rem] leading-snug font-semibold text-gray-900 ${!a&&`opacity-30`}`,children:a||(t?`Free preview`:`Full access to premium content`)}),(0,J.jsx)(tt,{benefits:l})]})})]})})]})},it=e=>e.replace(/[^\d.]+/g,``),at=e=>Math.round(parseFloat(e.match(/[\d]+\.?[\d]{0,2}/)?.[0]||`0`)*100),$=(e,t)=>{let[n,r]=(0,q.useState)(e===``?``:((e||0)/100).toString()),i=(0,q.useRef)(e);return(0,q.useEffect)(()=>{Object.is(e,i.current)||r(e===``?``:((e||0)/100).toString()),i.current=e},[e]),{value:n,onBlur:()=>r((at(n)/100).toString()),onChange:e=>{let n=at(e);r(it(e)),i.current=n,t?.(n)}}},ot=e({default:()=>ct}),st=({tier:e,checkout:t})=>{let n=e?.type===`free`,r=t.enabled,i=t.failed,[a,o]=q.useState(!1),{updateRoute:s}=le(),{mutateAsync:c}=ke(),{mutateAsync:u}=Oe(),{mutateAsync:d}=Ee(),[h,_]=q.useState(!!e?.trial_days),y=l(),{confirm:b}=Me(),{localSettings:x,siteData:D}=Ne(),[te]=De(x,[`portal_plans`]),O=JSON.parse(te?.toString()||`[]`),ne=g().flatMap(e=>e.options.map(t=>({...t,metadata:{groupKey:e.key,groupLabel:e.label}}))),k={name:()=>A.name?void 0:`Enter a name for the tier`,monthly_price:()=>A.type===`free`?void 0:m(A.monthly_price||0,A.currency,{allowZero:!1}),yearly_price:()=>A.type===`free`?void 0:m(A.yearly_price||0,A.currency,{allowZero:!1})},{formState:A,saveState:re,updateForm:j,handleSave:ie,validate:ae,errors:M,clearError:N,okProps:R}=p({initialState:{...e||{},trial_days:e?.trial_days?.toString()||``,currency:e?.currency||v[0].isoCode,visibility:e?.visibility||`none`,welcome_page_url:e?.welcome_page_url||null},savingDelay:500,savedDelay:500,onValidate:()=>{let e={};return Object.entries(k).forEach(([t,n])=>{e[t]=n?.()}),e},onSave:async()=>{let{trial_days:t,currency:r,...i}=A,a=i;if(a.benefits=a.benefits?.filter(e=>e),n||(a.currency=r,a.trial_days=parseInt(t)),e?.id)await c({...e,...a});else{let e=await u(a);W.current=e.tiers[0]?.id??null}if(n){let e=A.visibility===`public`,t=!1;O.includes(`free`)&&!e&&(O.splice(O.indexOf(`free`),1),t=!0),!O.includes(`free`)&&e&&(O.push(`free`),t=!0),t&&await d([{key:`portal_plans`,value:JSON.stringify(O)}])}},onSaveError:y}),z=$(A.monthly_price||``,e=>j(t=>({...t,monthly_price:e}))),B=$(A.yearly_price||``,e=>j(t=>({...t,yearly_price:e}))),V=we({baseUrl:D?.url,nullable:!0,transformPathWithoutSlash:!0,value:A.welcome_page_url||null,onChange:e=>j(t=>({...t,welcome_page_url:e||null}))}),H=Ce({items:A.benefits||[],setItems:e=>j(t=>({...t,benefits:e})),blank:``,canAddNewItem:e=>!!e}),Ae=(0,q.useRef)(null),U=(0,q.useRef)(null),W=(0,q.useRef)(null),[je,G]=q.useState(!1);(0,q.useEffect)(()=>{r||G(!1)},[r]);let K=(0,q.useRef)(null),Pe=()=>{if(!H.newItem)return;let e=K.current?.getBoundingClientRect().top;H.addItem(),window.requestAnimationFrame(()=>{let t=K.current,n=Ae.current;!t||!n||e===void 0||(t.focus({preventScroll:!0}),n.scrollBy({behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`,top:t.getBoundingClientRect().top-e}))})},Fe=t=>{t?(_(!0),j(t=>({...t,trial_days:e?.trial_days?e?.trial_days.toString():`7`}))):(_(!1),j(e=>({...e,trial_days:`0`})))},Ie=(0,q.useRef)(!1);(0,q.useEffect)(()=>{Ie.current&&(k.monthly_price?.(),k.yearly_price?.()),Ie.current=!0},[A.currency]);let Y=()=>{if(e){let t=e.active?`Archive tier`:`Reactivate tier`,n=e.active?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`mb-6`,children:[`Members will no longer be able to subscribe to `,(0,J.jsx)(`strong`,{children:e.name}),` and it will be removed from the list of available tiers in portal.`]}),(0,J.jsx)(`div`,{children:`Existing members on this tier will remain unchanged. Offers using this tier will be disabled.`})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`mb-6`,children:[`Reactivating `,(0,J.jsx)(`strong`,{children:e.name}),` will re-enable it as an option in portal and allow new members to subscribe to this tier.`]}),(0,J.jsx)(`div`,{children:`Existing members will remain unchanged.`})]}),r=e.active?`Archive`:`Reactivate`;b({title:t,prompt:n,okLabel:r,cancelLabel:`Cancel`,okVariant:e.active?`destructive`:`default`,onOk:t=>{c({...e,active:!e.active}),t?.remove(),f.success(`Tier ${e.active?`archived`:`reactivated`}`)}})}},X;return e&&(e.active&&e.type!==`free`?X=(0,J.jsx)(E,{type:`button`,variant:`destructive-ghost`,onClick:Y,children:`Archive tier`}):e.active||(X=(0,J.jsx)(E,{className:`text-green hover:text-green`,type:`button`,variant:`ghost`,onClick:Y,children:`Reactivate tier`}))),(0,J.jsx)(ce,{ref:Ae,buttonsDisabled:R.disabled,cancelLabel:`Close`,dirty:re===`unsaved`||je,leftButton:X,okLabel:R.label||`Save`,okVariant:R.variant,size:`lg`,testId:`tier-detail-modal`,title:e?e.active?`Edit tier`:`Edit archived tier`:`New tier`,stickyFooter:!0,onClose:()=>{s(`tiers`)},onOk:async()=>{if(!(U.current?.validate()??!0)){ae();return}if(!await ie({fakeWhenUnchanged:!0}))return;let t=e?.id??W.current;t&&await U.current?.save(t)},children:(0,J.jsxs)(`div`,{className:`mt-8 -mb-8 flex items-start gap-8`,children:[(0,J.jsxs)(`div`,{className:`flex grow flex-col gap-8`,children:[(0,J.jsxs)(he,{children:[(0,J.jsx)(_e,{children:`Basic`}),(0,J.jsxs)(me,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,J.jsxs)(I,{"data-invalid":!!M.name||void 0,children:[(0,J.jsx)(F,{htmlFor:`tier-name`,children:`Name`}),(0,J.jsx)(L,{"aria-invalid":!!M.name||void 0,autoComplete:`off`,id:`tier-name`,maxLength:191,placeholder:n?`Free`:`Bronze`,value:A.name||``,autoFocus:!0,onChange:e=>j(t=>({...t,name:e.target.value})),onKeyDown:()=>N(`name`)}),M.name&&(0,J.jsx)(P,{children:M.name})]}),(0,J.jsxs)(I,{children:[(0,J.jsx)(F,{htmlFor:`tier-description`,children:`Description`}),(0,J.jsx)(L,{autoComplete:`off`,autoFocus:n,id:`tier-description`,maxLength:191,placeholder:n?`Free preview`:`Full access to premium content`,value:A.description||``,onChange:e=>j(t=>({...t,description:e.target.value}))})]}),!n&&(0,J.jsx)(J.Fragment,{children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-10 md:flex-row`,children:[(0,J.jsxs)(`div`,{className:`basis-1/2`,children:[(0,J.jsxs)(`div`,{className:`mb-1 flex h-6 items-center justify-between`,children:[(0,J.jsx)(S,{as:`h6`,className:`text-base`,weight:`semibold`,children:`Prices`}),(0,J.jsx)(`div`,{children:(0,J.jsxs)(I,{children:[(0,J.jsx)(F,{className:`sr-only`,children:`Currency`}),(0,J.jsxs)(pe,{open:a,onOpenChange:o,children:[(0,J.jsx)(fe,{"aria-label":`Currency`,className:`w-auto justify-start border-0 bg-transparent px-0 shadow-none hover:bg-transparent focus-visible:ring-0`,children:(0,J.jsx)(ue,{className:`flex-none`,children:A.currency})}),(0,J.jsx)(de,{align:`end`,className:`w-64`,children:(0,J.jsx)(oe,{groupBy:e=>({key:e.metadata?.groupKey,label:e.metadata?.groupLabel}),i18n:{searchPlaceholder:`Search currencies...`},isMultiSelect:!1,options:ne,values:A.currency?[A.currency]:[],autoCloseOnSelect:!0,onChange:e=>{e[0]&&j(t=>({...t,currency:e[0]}))},onClose:()=>o(!1)})})]})]})})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsxs)(I,{"data-invalid":!!M.monthly_price||void 0,children:[(0,J.jsx)(F,{className:`sr-only`,htmlFor:`tier-monthly-price`,children:`Monthly price`}),(0,J.jsxs)(xe,{"data-invalid":!!M.monthly_price||void 0,children:[(0,J.jsx)(ye,{"aria-invalid":!!M.monthly_price||void 0,id:`tier-monthly-price`,inputMode:`decimal`,placeholder:`5`,value:z.value,onBlur:e=>{z.onBlur(),e.target.value===``&&j(e=>({...e,monthly_price:0}))},onChange:e=>z.onChange(e.target.value),onKeyDown:()=>N(`monthly_price`)}),(0,J.jsx)(be,{align:`inline-end`,children:(0,J.jsxs)(ve,{children:[A.currency,`/month`]})})]}),M.monthly_price&&(0,J.jsx)(P,{children:M.monthly_price})]}),(0,J.jsxs)(I,{"data-invalid":!!M.yearly_price||void 0,children:[(0,J.jsx)(F,{className:`sr-only`,htmlFor:`tier-yearly-price`,children:`Yearly price`}),(0,J.jsxs)(xe,{"data-invalid":!!M.yearly_price||void 0,children:[(0,J.jsx)(ye,{"aria-invalid":!!M.yearly_price||void 0,id:`tier-yearly-price`,inputMode:`decimal`,placeholder:`50`,value:B.value,onBlur:e=>{B.onBlur(),e.target.value===``&&j(e=>({...e,yearly_price:0}))},onChange:e=>B.onChange(e.target.value),onKeyDown:()=>N(`yearly_price`)}),(0,J.jsx)(be,{align:`inline-end`,children:(0,J.jsxs)(ve,{children:[A.currency,`/year`]})})]}),M.yearly_price&&(0,J.jsx)(P,{children:M.yearly_price})]})]})]}),(0,J.jsxs)(`div`,{className:`basis-1/2`,children:[(0,J.jsx)(`div`,{className:`mb-1 flex h-6 flex-col justify-center`,children:(0,J.jsxs)(I,{orientation:`horizontal`,children:[(0,J.jsx)(F,{htmlFor:`tier-free-trial`,children:`Add a free trial`}),(0,J.jsx)(se,{checked:h,id:`tier-free-trial`,onCheckedChange:Fe})]})}),(0,J.jsxs)(I,{"data-disabled":!h||void 0,children:[(0,J.jsx)(F,{className:`sr-only`,htmlFor:`tier-trial-days`,children:`Trial days`}),(0,J.jsxs)(xe,{children:[(0,J.jsx)(ye,{disabled:!h,id:`tier-trial-days`,placeholder:`0`,value:A.trial_days,onChange:e=>j(t=>({...t,trial_days:e.target.value.replace(/[^\d]/,``)}))}),(0,J.jsx)(be,{align:`inline-end`,children:(0,J.jsx)(ve,{children:`days`})})]}),(0,J.jsx)(ge,{children:(0,J.jsxs)(`span`,{className:`mt-1`,children:[`Members will be subscribed at full price once the trial ends.`,` `,(0,J.jsx)(`a`,{className:`text-green`,href:`https://ghost.org/help/free-trials/`,rel:`noreferrer`,target:`_blank`,children:`Learn more`})]})})]})]})]})}),(0,J.jsxs)(I,{children:[(0,J.jsx)(F,{htmlFor:`tier-welcome-page`,children:`Welcome page`}),(0,J.jsx)(L,{id:`tier-welcome-page`,maxLength:2e3,placeholder:D?.url,value:V.displayValue,onBlur:V.commitValue,onChange:e=>V.setDisplayValue(e.target.value),onFocus:V.handleFocus,onKeyDown:V.handleKeyDown}),(0,J.jsxs)(ge,{children:[`Redirect to this URL after signup`,n?``:` for premium membership`]})]})]})]}),(0,J.jsxs)(he,{children:[(0,J.jsx)(_e,{children:`Benefits`}),(0,J.jsxs)(me,{className:ee(`gap-0 rounded-sm border border-border-default p-4 md:p-7`,!r&&!i&&`mb-10`),children:[(0,J.jsx)(Se,{getDragHandleLabel:({item:e})=>`Reorder benefit${e?`: ${e}`:``}`,items:H.items,itemSeparator:!1,renderItem:({id:e,item:t})=>(0,J.jsxs)(Te,{align:`center`,className:`relative w-full`,gap:`lg`,children:[(0,J.jsx)(Te,{align:`center`,className:`absolute top-1/2 left-[-32px] size-6 -translate-y-1/2 bg-background group-hover:hidden`,justify:`center`,children:(0,J.jsx)(T,{className:`size-4`})}),(0,J.jsx)(L,{"aria-label":`Benefit`,className:`grow`,maxLength:191,value:t,onChange:t=>H.updateItem(e,t.target.value)}),(0,J.jsx)(E,{"aria-label":`Delete benefit`,className:`absolute top-1/2 right-1 z-10 size-5! -translate-y-1/2 p-0! opacity-0 group-hover:opacity-100`,size:`icon`,type:`button`,variant:`secondary`,onClick:()=>H.removeItem(e),children:(0,J.jsx)(C,{})})]}),onMove:H.moveItem}),(0,J.jsxs)(Te,{align:`center`,className:`relative mt-1`,gap:`md`,children:[(0,J.jsx)(T,{className:`size-4`}),(0,J.jsxs)(I,{className:`w-100`,children:[(0,J.jsx)(F,{className:`sr-only`,htmlFor:`new-tier-benefit`,children:`New benefit`}),(0,J.jsx)(L,{ref:K,className:`grow`,id:`new-tier-benefit`,maxLength:191,placeholder:`Expert analysis`,value:H.newItem,onChange:e=>H.setNewItem(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),Pe())}})]}),(0,J.jsx)(E,{"aria-label":`Add benefit`,className:`absolute top-1/2 right-1 z-10 size-[22px]! -translate-y-1/2 p-0!`,size:`icon`,type:`button`,onClick:Pe,children:(0,J.jsx)(w,{})})]})]})]}),(r||i)&&(0,J.jsx)(Qe,{ref:U,config:t.config,failed:i,onDirtyChange:G},e?.id??`new`)]}),(0,J.jsx)(`div`,{className:`sticky top-[96px] hidden shrink-0 basis-[380px] min-[920px]:!visible min-[920px]:!block`,children:(0,J.jsx)(rt,{isFreeTier:n,tier:A})})]})})},ct=()=>{let{tierId:e}=y(),{data:{tiers:t,isEnd:n}={},fetchNextPage:r}=V(),i;(0,q.useEffect)(()=>{e&&!i&&!n&&r()},[r,n,e,i]),e&&(i=t?.find(({id:t})=>t===e));let a=$e(i,{creating:!e});return e&&!i||!a.isReady?null:(0,J.jsx)(st,{checkout:a,tier:i})};export{$e as i,$ as n,et as r,ot as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./hooks-
|
|
1
|
+
import{n as e,t}from"./hooks-DYfTEQLk.js";import{r as n}from"./update-queries-C4CnvJaW.js";var r=`TiersResponseType`,i=t({dataType:r,path:`/tiers/`,defaultNextPageParams:(e,t)=>{let n=e.meta?.pagination.next;if(n)return{...t,page:n.toString()}},returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.tiers),r=t[t.length-1].meta;return{tiers:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),a=e({method:`POST`,path:()=>`/tiers/`,body:e=>({tiers:[e]}),invalidateQueries:{dataType:r}}),o=e({method:`PUT`,path:e=>`/tiers/${e.id}/`,body:e=>({tiers:[e]}),updateQueries:{dataType:r,emberUpdateType:`createOrUpdate`,update:n(`tiers`)}});function s(e){return e.filter(e=>e.type===`paid`&&e.active)}function c(e){return e.filter(e=>e.active)}function l(e){return e.filter(e=>!e.active)}export{i as a,a as i,l as n,o,s as r,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{L as r,O as i,P as a,c as o,j as s,u as c,w as l}from"./shade-scope-Cccj-c7I-D0XwkdKQ.js";import{t as u}from"./dist-B40T-RCQ.js";import{Dr as d,Er as f,Or as p}from"./index-DOF2jDq0.js";var m=e(t(),1),h=n(),g=`Toggle`,_=m.forwardRef((e,t)=>{let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,u]=c({prop:n,onChange:i,defaultProp:r??!1,caller:g});return(0,h.jsx)(l.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:s(e.onClick,()=>{e.disabled||u(!o)})})});_.displayName=g;var v=_,y=a(`inline-flex items-center justify-center gap-2 text-control font-medium text-text-secondary transition-colors hover:bg-surface-elevated hover:text-foreground focus-visible:ring-1 focus-visible:ring-focus-ring focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-background data-[state=on]:text-foreground data-[state=on]:shadow-sm dark:data-[state=on]:bg-tab-active [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:stroke-[1.5px]`,{variants:{variant:{default:`bg-transparent`},size:{default:`h-[calc(var(--control-height)-2px)] min-w-[26px] px-2`,button:`h-[calc(var(--control-height)-2px)] min-w-[32px] px-3`},isAdmin7:{true:``,false:``},shape:{rounded:`rounded-control`,pill:`rounded-full`}},compoundVariants:[{isAdmin7:!0,size:[`default`,`button`],className:`h-[calc(var(--control-height)-4px)] data-[state=off]:hover:bg-transparent`}],defaultVariants:{variant:`default`,size:`default`,shape:`pill`,isAdmin7:!0}}),b=m.forwardRef(({className:e,variant:t,size:n,shape:i,...a},s)=>{let{controlShape:c,isAdmin7:l}=o(),u=i??c;return(0,h.jsx)(v,{ref:s,className:r(y({variant:t,size:n,isAdmin7:l,shape:u,className:e})),"data-control-shape":u,...a})});b.displayName=v.displayName;var x=`ToggleGroup`,[S,C]=i(x,[p]),w=p(),T=m.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,h.jsx)(O,{role:`radiogroup`,...r,ref:t});if(n===`multiple`)return(0,h.jsx)(k,{role:`toolbar`,...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${x}\``)});T.displayName=x;var[E,D]=S(x),O=m.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=c({prop:n,defaultProp:r??``,onChange:i,caller:x});return(0,h.jsx)(E,{scope:e.__scopeToggleGroup,type:`single`,value:m.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:m.useCallback(()=>s(``),[s]),children:(0,h.jsx)(M,{...a,ref:t})})}),k=m.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=c({prop:n,defaultProp:r??[],onChange:i,caller:x}),l=m.useCallback(e=>s((t=[])=>[...t,e]),[s]),u=m.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,h.jsx)(E,{scope:e.__scopeToggleGroup,type:`multiple`,value:o,onItemActivate:l,onItemDeactivate:u,children:(0,h.jsx)(M,{...a,ref:t})})});T.displayName=x;var[A,j]=S(x),M=m.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,f=w(n),p=u(o),m={dir:p,...c};return(0,h.jsx)(A,{scope:n,rovingFocus:i,disabled:r,children:i?(0,h.jsx)(d,{asChild:!0,...f,orientation:a,dir:p,loop:s,children:(0,h.jsx)(l.div,{...m,ref:t})}):(0,h.jsx)(l.div,{...m,ref:t})})}),N=`ToggleGroupItem`,P=m.forwardRef((e,t)=>{let n=D(N,e.__scopeToggleGroup),r=j(N,e.__scopeToggleGroup),i=w(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=m.useRef(null);return r.rovingFocus?(0,h.jsx)(f,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,h.jsx)(F,{...s,ref:t})}):(0,h.jsx)(F,{...s,ref:t})});P.displayName=N;var F=m.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=D(N,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0};return(0,h.jsx)(_,{...a.type===`single`?o:void 0,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),I=m.createContext({size:`default`,variant:`default`}),L=m.forwardRef(({className:e,variant:t,size:n,shape:i,children:a,...s},c)=>{let{controlShape:l,isAdmin7:u}=o(),d=i??l;return(0,h.jsx)(T,{ref:c,className:r(`inline-flex items-center justify-center gap-0.5 bg-muted p-0.5 dark:border dark:border-border dark:bg-background`,d===`pill`?`rounded-full`:`rounded-(--input-group-radius)`,e),"data-control-shape":d,...s,children:(0,h.jsx)(I.Provider,{value:{variant:t,size:n,isAdmin7:u,shape:d},children:a})})});L.displayName=T.displayName;var R=m.forwardRef(({className:e,children:t,variant:n,size:i,shape:a,...o},s)=>{let c=m.useContext(I),l=a??c.shape;return(0,h.jsx)(P,{ref:s,className:r(y({variant:c.variant||n,isAdmin7:c.isAdmin7,size:c.size||i,shape:l}),e),"data-control-shape":l,...o,children:t})});R.displayName=P.displayName;export{R as n,L as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{t as r}from"./button-D414TI3B.js";import{qt as i}from"./index-DOF2jDq0.js";var a=e(t(),1),o=n(),s=({currentTopic:e,onTopicChange:t,excludeTopics:n=[]})=>{let{topicsQuery:s}=i(),{data:c}=s,l=[{slug:`following`,name:`Following`},...c?.topics||[]].filter(({slug:e})=>!n.includes(e)),u=(0,a.useRef)(null),d=(0,a.useRef)(null),[f,p]=(0,a.useState)(!0);return(0,a.useEffect)(()=>{u.current&&u.current.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`center`})},[e]),(0,o.jsxs)(`div`,{className:`relative w-full`,children:[(0,o.jsx)(`div`,{ref:d,className:`flex w-full max-w-full min-w-0 snap-x snap-mandatory gap-2 overflow-x-auto [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,onScroll:e=>{let{scrollLeft:t,scrollWidth:n,clientWidth:r}=e.currentTarget;p(t+r<n-1)},children:l.map(({slug:n,name:i})=>(0,o.jsx)(r,{ref:e===n?u:null,className:`h-8 snap-start rounded-full px-3.5 text-sm`,variant:e===n?`default`:`secondary`,onClick:()=>t(n),children:i},n))}),f&&(0,o.jsx)(`div`,{className:`pointer-events-none absolute top-0 right-0 h-full w-12 bg-gradient-to-l from-white to-transparent dark:from-black`})]})};export{s as t};
|