ghost 6.58.0 → 6.59.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.
Files changed (453) hide show
  1. package/components/tryghost-adapter-base-scheduling-0.2.2.tgz +0 -0
  2. package/components/tryghost-adapter-base-sso-0.1.2.tgz +0 -0
  3. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  4. package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
  5. package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
  6. package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
  7. package/content/themes/casper/.github/workflows/test.yml +11 -1
  8. package/content/themes/casper/AGENTS.md +25 -0
  9. package/content/themes/casper/assets/built/screen.css +1 -1
  10. package/content/themes/casper/assets/css/screen.css +15 -1
  11. package/content/themes/casper/gulpfile.js +3 -0
  12. package/content/themes/casper/package.json +8 -8
  13. package/content/themes/source/.gitattributes +5 -0
  14. package/content/themes/source/.github/workflows/test.yml +39 -0
  15. package/content/themes/source/AGENTS.md +25 -0
  16. package/content/themes/source/README.md +33 -4
  17. package/content/themes/source/assets/built/screen.css +1 -1
  18. package/content/themes/source/assets/css/screen.css +15 -0
  19. package/content/themes/source/gulpfile.js +6 -3
  20. package/content/themes/source/package.json +13 -10
  21. package/content/themes/source/pnpm-workspace.yaml +3 -0
  22. package/core/boot.js +11 -4
  23. package/core/built/admin/assets/Combination-BCm9FL4o.js +41 -0
  24. package/core/built/admin/assets/about-BdSCpjXG.js +1 -0
  25. package/core/built/admin/assets/account-migration-BpKAqo8k.js +1 -0
  26. package/core/built/admin/assets/activitypub/{account-migration-BpDeIF3G.js → account-migration-DVnYS1XG.js} +8 -8
  27. package/core/built/admin/assets/activitypub/activitypub.js +2 -2
  28. package/core/built/admin/assets/activitypub/{bluesky-sharing-aPMtrS3L.js → bluesky-sharing-DLVeE9ii.js} +31 -31
  29. package/core/built/admin/assets/activitypub/{content-formatters-BORfuA9G.js → content-formatters-DCsVic-t.js} +2 -2
  30. package/core/built/admin/assets/activitypub/{dist-ByFmDSNP2.js → dist-ByFmDSNP.js} +1 -1
  31. package/core/built/admin/assets/activitypub/{domain-CPdiB27_.js → domain-rrvDLfnK.js} +8 -8
  32. package/core/built/admin/assets/activitypub/{edit-profile-BY2PawIe.js → edit-profile-VT-piVxq.js} +23 -23
  33. package/core/built/admin/assets/activitypub/{explore-Sp9bgAwq.js → explore-DZg3m48P.js} +14 -14
  34. package/core/built/admin/assets/activitypub/{feed-BjtF4ohL.js → feed-BJqQvDMI.js} +41 -41
  35. package/core/built/admin/assets/activitypub/{field-BDOYVTg6.js → field-BezS4-1J.js} +2 -2
  36. package/core/built/admin/assets/activitypub/inbox-Uf0GVrI_.js +1284 -0
  37. package/core/built/admin/assets/activitypub/{label-1jhN-qhD.js → label-CZ6if4zK.js} +2 -2
  38. package/core/built/admin/assets/activitypub/layout-DNuYT4Gu.js +1 -0
  39. package/core/built/admin/assets/activitypub/moderation-CP6mDVky.js +340 -0
  40. package/core/built/admin/assets/activitypub/{note-nr_m_5yb.js → note-BlFkye2g.js} +16 -16
  41. package/core/built/admin/assets/activitypub/{notifications-BdcyivbT.js → notifications-GGTrGEdu.js} +163 -126
  42. package/core/built/admin/assets/activitypub/{preferences-CNqy1x9C.js → preferences-CjZXrZqr.js} +1550 -1551
  43. package/core/built/admin/assets/activitypub/{profile-DlY4rhbO.js → profile-CcXYxydm.js} +248 -248
  44. package/core/built/admin/assets/activitypub/{routes-CEHdEZzS.js → routes-nHCKlZl-.js} +1971 -1747
  45. package/core/built/admin/assets/activitypub/settings-pDzybcb3.js +315 -0
  46. package/core/built/admin/assets/activitypub/{site-CtBUCPBz.js → site-BZF0F8LN.js} +101 -101
  47. package/core/built/admin/assets/activitypub/{step-1-D9jGWyAy.js → step-1-C-Ns1Tfg.js} +3 -3
  48. package/core/built/admin/assets/activitypub/{step-3-KpUqpGWi.js → step-3-rDMNGmLg.js} +8 -8
  49. package/core/built/admin/assets/activitypub/{tabs-DvlsxTCI.js → tabs-CDjh3_Jp.js} +198 -198
  50. package/core/built/admin/assets/activitypub/{topic-filter-CIN1E2jg.js → topic-filter-CmTc8hpN.js} +2 -2
  51. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CATFd6YV.js → use-activity-pub-queries-DUDEdSdR.js} +286 -243
  52. package/core/built/admin/assets/activitypub/{use-reply-chain-data-DJ0vhA8V.js → use-reply-chain-data-TunGtmJl.js} +14 -14
  53. package/core/built/admin/assets/add-integration-modal-CXRQi1x0.js +1 -0
  54. package/core/built/admin/assets/add-newsletter-modal-t447KRYz.js +1 -0
  55. package/core/built/admin/assets/add-recommendation-modal-D882MdnR.js +1 -0
  56. package/core/built/admin/assets/{analytics-BC2oR8ay.js → analytics-Dj-WlzPf.js} +1 -1
  57. package/core/built/admin/assets/announcement-bar-modal-CwHKKw-a.js +1 -0
  58. package/core/built/admin/assets/api-keys-Boy5pLbD.js +1 -0
  59. package/core/built/admin/assets/audience-Cc40y7zQ.js +1 -0
  60. package/core/built/admin/assets/automations-DNLK5Udr.js +1 -0
  61. package/core/built/admin/assets/bluesky-sharing-Cm4aFaOl.js +1 -0
  62. package/core/built/admin/assets/breadcrumb-CcFr_ltt.js +1 -0
  63. package/core/built/admin/assets/button-BshWPHvn.js +1 -0
  64. package/core/built/admin/assets/chart-helpers-BsbzoWhK.js +1 -0
  65. package/core/built/admin/assets/{checkbox-LmClhqcS.js → checkbox-1G6KfK2q.js} +1 -1
  66. package/core/built/admin/assets/chunk-KS7C4IRE-DCsL4i4D.js +4 -0
  67. package/core/built/admin/assets/{chunk.408.1a258af360eb8d905508.js → chunk.301.5673a0caf7c49bb00212.js} +3 -3
  68. package/core/built/admin/assets/{chunk.524.4c693c3a00ac91df34fa.js → chunk.524.86db0d945468c852374b.js} +4 -4
  69. package/core/built/admin/assets/{chunk.582.20b600e329e58d12d7c2.js → chunk.582.c2f6216d3c4af303e236.js} +6 -6
  70. package/core/built/admin/assets/{code-editor-view-DqTOUnbM.js → code-editor-view-BVjtWyst.js} +1 -1
  71. package/core/built/admin/assets/{code-editor-view-bA0lfxUL.js → code-editor-view-y_zVfmCa.js} +1 -1
  72. package/core/built/admin/assets/color-picker-XEMPgNJE.js +3 -0
  73. package/core/built/admin/assets/{color-picker-field-Cv9GOJQZ.js → color-picker-field-BhplXcy5.js} +1 -1
  74. package/core/built/admin/assets/combobox-CRMJrvcQ.js +1 -0
  75. package/core/built/admin/assets/command-151T2eRx.js +1 -0
  76. package/core/built/admin/assets/comments-Bjbl9toF.js +1 -0
  77. package/core/built/admin/assets/confirmation-context-QmFxSjWy.js +1 -0
  78. package/core/built/admin/assets/{content-api-modal-BOFWRUkC.js → content-api-modal-CpeABXne.js} +1 -1
  79. package/core/built/admin/assets/{copy-field-8biQvNMD.js → copy-field-CglgRZyG.js} +1 -1
  80. package/core/built/admin/assets/custom-field-type-option-DSyJw4T4.js +1 -0
  81. package/core/built/admin/assets/custom-integration-modal-DWB9bRVp.js +1 -0
  82. package/core/built/admin/assets/date-range-select-kaKtab5O.js +1 -0
  83. package/core/built/admin/assets/design-and-theme-modal-86s2AaZ-.js +23 -0
  84. package/core/built/admin/assets/dirty-confirm-dialog-CTFdXXy7.js +1 -0
  85. package/core/built/admin/assets/disabled-sources-indicator-BFyCxUOx.js +1 -0
  86. package/core/built/admin/assets/dist-C1-Oy3Db.js +1 -0
  87. package/core/built/admin/assets/dist-CJJqYPep.js +1 -0
  88. package/core/built/admin/assets/dist-CNlMj7ML.js +1 -0
  89. package/core/built/admin/assets/dist-Kll2twSG.js +1 -0
  90. package/core/built/admin/assets/domain-BOoMvBG3.js +1 -0
  91. package/core/built/admin/assets/{dropzone-B21Entqz.js → dropzone-B6KWzsrb.js} +2 -2
  92. package/core/built/admin/assets/edit-profile-BagrYOrN.js +1 -0
  93. package/core/built/admin/assets/editor-AaJjqbpk.js +8 -0
  94. package/core/built/admin/assets/embed-signup-form-modal-B8L95KwR.js +8 -0
  95. package/core/built/admin/assets/explore-xbykZTlO.js +1 -0
  96. package/core/built/admin/assets/feed-BAHSipWv.js +1 -0
  97. package/core/built/admin/assets/{field-BQqLTgHM.js → field-kJYZ2T3C.js} +1 -1
  98. package/core/built/admin/assets/{filter-sources-FgqoUIL7.js → filter-sources-QeqFGNRB.js} +1 -1
  99. package/core/built/admin/assets/{filters-D0uIMD8n.js → filters-By5KQeV6.js} +1 -1
  100. package/core/built/admin/assets/filters-DtYpAkDd.js +1 -0
  101. package/core/built/admin/assets/first-promoter-modal-8A02oyjA.js +1 -0
  102. package/core/built/admin/assets/{ghost-ba408063a5922b458b4a8f216cf23251.js → ghost-f110822e67868c9fdf9a6c23754b2559.js} +9 -8
  103. package/core/built/admin/assets/gift-link-modal-DbYCyuhF.js +1 -0
  104. package/core/built/admin/assets/global-data-context-gAMDH9u1.js +1 -0
  105. package/core/built/admin/assets/growth-BSOxJGey.js +3 -0
  106. package/core/built/admin/assets/growth-BZTjURq5.js +1 -0
  107. package/core/built/admin/assets/history-modal-CCgWtlZE.js +1 -0
  108. package/core/built/admin/assets/html-field-BQC7XyLA.js +1 -0
  109. package/core/built/admin/assets/iframe-buffering-DnOlWTD4.js +1 -0
  110. package/core/built/admin/assets/{images-3cQgwfTD.js → images-D5UKr2SG.js} +1 -1
  111. package/core/built/admin/assets/{inbox-Dz_JblyJ.js → inbox-DvN15_YH.js} +45 -39
  112. package/core/built/admin/assets/index-BJz9Zlsc.js +67 -0
  113. package/core/built/admin/assets/index-Dg8cdR8E.css +1 -0
  114. package/core/built/admin/assets/{input-group-DpogNUIt.js → input-group-BPAxETpQ.js} +1 -1
  115. package/core/built/admin/assets/invite-user-modal-jcUaaNkW.js +1 -0
  116. package/core/built/admin/assets/{koenig-lexical-2KuqRwZI.js → koenig-lexical-CfXTYeli.js} +1 -1
  117. package/core/built/admin/assets/koenig-loader-DktFM3Uh.js +1 -0
  118. package/core/built/admin/assets/{kpi-card-Ck3tT2Wg.js → kpi-card-fUHZlzBX.js} +1 -1
  119. package/core/built/admin/assets/{kpi-card-DDIxptaS.js → kpi-card-o0urVtNL.js} +1 -1
  120. package/core/built/admin/assets/kpi-helpers-2FTF4a3-.js +1 -0
  121. package/core/built/admin/assets/kpi-tabs-B8-_k2dQ.js +1 -0
  122. package/core/built/admin/assets/{label-DodDsMzn.js → label-CiRS3i_f.js} +1 -1
  123. package/core/built/admin/assets/label-picker-ao7tuPaK.js +1 -0
  124. package/core/built/admin/assets/layout-DC6QGDaw.js +1 -0
  125. package/core/built/admin/assets/member-custom-fields-BW756-EV.js +1 -0
  126. package/core/built/admin/assets/member-detail-CGGgUTSl.js +1 -0
  127. package/core/built/admin/assets/members-ZcPthwG0.js +11 -0
  128. package/core/built/admin/assets/moderation-24bElWs3.js +1 -0
  129. package/core/built/admin/assets/multi-select-combobox-CZPrgz-Z.js +1 -0
  130. package/core/built/admin/assets/navigation-modal-BiTP4U_J.js +1 -0
  131. package/core/built/admin/assets/newsletter-B3Ihwizp.js +1 -0
  132. package/core/built/admin/assets/newsletter-detail-modal-CYsu4qhl.js +1 -0
  133. package/core/built/admin/assets/newsletter-emails-CDPR4-SP.js +1 -0
  134. package/core/built/admin/assets/newsletters-bJiYLJWl.js +1 -0
  135. package/core/built/admin/assets/note-7f6urVVA.js +1 -0
  136. package/core/built/admin/assets/notifications-rosQCyXH.js +1 -0
  137. package/core/built/admin/assets/offers-container-modal-J2j6NpDL.js +1 -0
  138. package/core/built/admin/assets/onboarding-route-DTjcThKl.js +1 -0
  139. package/core/built/admin/assets/overview-BxvWzGaf.js +1 -0
  140. package/core/built/admin/assets/overview-D6JG0hkZ.js +1 -0
  141. package/core/built/admin/assets/{page-header-VLPJfj_d.js → page-header-l7vXmLIw.js} +1 -1
  142. package/core/built/admin/assets/pintura-modal-BGHmudVB.js +1 -0
  143. package/core/built/admin/assets/portal-frame-DVc4VHX_.js +1 -0
  144. package/core/built/admin/assets/portal-modal-BCOcdiRi.js +1 -0
  145. package/core/built/admin/assets/{post-analytics-Gv81eN_g.js → post-analytics-CTSZMK6I.js} +1 -1
  146. package/core/built/admin/assets/post-analytics-header-Dt4RQGq0.js +1 -0
  147. package/core/built/admin/assets/{post-analytics-provider-O2YjZMhN.js → post-analytics-provider-C4ydiboO.js} +1 -1
  148. package/core/built/admin/assets/post-share-modal-DjH_a_1L.js +1 -0
  149. package/core/built/admin/assets/preferences-BLo6VJUS.js +5 -0
  150. package/core/built/admin/assets/preview-modal-BOgjgsJL.js +1 -0
  151. package/core/built/admin/assets/profile-DG6iCdRH.js +1 -0
  152. package/core/built/admin/assets/radio-group-ChHD4EQJ.js +1 -0
  153. package/core/built/admin/assets/router-provider-Bexg1t-V.js +1 -0
  154. package/core/built/admin/assets/select-ChxknEcT.js +1 -0
  155. package/core/built/admin/assets/settings-B0VDAhgV.js +1 -0
  156. package/core/built/admin/assets/settings-Dwo3CeAD.js +4 -0
  157. package/core/built/admin/assets/settings-breadcrumbs-sLDNedBW.js +1 -0
  158. package/core/built/admin/assets/share-modal-BDb2nacg.js +1 -0
  159. package/core/built/admin/assets/skeleton-D7hwjdry.js +1 -0
  160. package/core/built/admin/assets/slack-modal-CwNAD69x.js +1 -0
  161. package/core/built/admin/assets/sort-button-DhqpxkrO.js +1 -0
  162. package/core/built/admin/assets/source-icon-BPsD5ees.js +1 -0
  163. package/core/built/admin/assets/stats-WdDJ8c_1.js +1 -0
  164. package/core/built/admin/assets/stats-view-J3PI2eT_.js +1 -0
  165. package/core/built/admin/assets/step-1-2q1SjerQ.js +1 -0
  166. package/core/built/admin/assets/step-2-D5mJB3Uu.js +1 -0
  167. package/core/built/admin/assets/step-3-BpAuYTGZ.js +2 -0
  168. package/core/built/admin/assets/{stripe-button-Bh4p6Wud.js → stripe-button-DDoUKN5a.js} +1 -1
  169. package/core/built/admin/assets/stripe-connect-modal-pMdF3t4S.js +1 -0
  170. package/core/built/admin/assets/switch-B_1yU3Aw.js +1 -0
  171. package/core/built/admin/assets/{table-DghJxZMH.js → table-CrqQtkR2.js} +1 -1
  172. package/core/built/admin/assets/tabs-BhzVdh5p.js +1 -0
  173. package/core/built/admin/assets/tag-detail-CwJhI4qg.js +2 -0
  174. package/core/built/admin/assets/tags-CvJ0PgrB.js +1 -0
  175. package/core/built/admin/assets/testimonials-modal-CV82IAnI.js +1 -0
  176. package/core/built/admin/assets/tier-detail-modal-pLzCOfeg.js +1 -0
  177. package/core/built/admin/assets/toggle-group-BW_T4yn6.js +1 -0
  178. package/core/built/admin/assets/topic-filter-DkXjDejV.js +1 -0
  179. package/core/built/admin/assets/transistor-modal-TMRvHZ6B.js +1 -0
  180. package/core/built/admin/assets/unsplash-modal-CV92RdPw.js +1 -0
  181. package/core/built/admin/assets/{use-analytics-data-IxJcSjc9.js → use-analytics-data-BM_uV9SU.js} +1 -1
  182. package/core/built/admin/assets/use-check-theme-limit-error-DkBnXMSY.js +1 -0
  183. package/core/built/admin/assets/use-confirm-unload-SzlkOIpm.js +1 -0
  184. package/core/built/admin/assets/use-feature-flag-cahOlMva.js +1 -0
  185. package/core/built/admin/assets/use-filter-params-BX5qf0Cg.js +1 -0
  186. package/core/built/admin/assets/{use-growth-stats-1NW-8eEZ.js → use-growth-stats-D0LlWBe6.js} +1 -1
  187. package/core/built/admin/assets/{use-hash-link-navigation-guard-B9j6HIrV.js → use-hash-link-navigation-guard-B_Y3FhYH.js} +1 -1
  188. package/core/built/admin/assets/use-limiter-D3DHSoAj.js +2 -0
  189. package/core/built/admin/assets/{use-pintura-config-BjFChXV1.js → use-pintura-config-D63Xu0SG.js} +1 -1
  190. package/core/built/admin/assets/use-pintura-editor-Z51aFnC8.js +1 -0
  191. package/core/built/admin/assets/{use-post-referrers-Dp1BnTAK.js → use-post-referrers-Cvymr3gt.js} +1 -1
  192. package/core/built/admin/assets/use-query-params-BfzuqbcD.js +1 -0
  193. package/core/built/admin/assets/use-reply-chain-data-Dc18Ujqo.js +1 -0
  194. package/core/built/admin/assets/use-setting-group-DYRIzqC0.js +1 -0
  195. package/core/built/admin/assets/use-settings-navigation-aDSLtmEl.js +1 -0
  196. package/core/built/admin/assets/{use-simple-pagination-DsEGSJhe.js → use-simple-pagination-B2TdNX67.js} +1 -1
  197. package/core/built/admin/assets/{use-tinybird-query-Ci_DiPkX.js → use-tinybird-query-BvQIVuRc.js} +1 -1
  198. package/core/built/admin/assets/{use-tinybird-token-CsUwc722.js → use-tinybird-token-COQTPIwL.js} +1 -1
  199. package/core/built/admin/assets/use-upgrade-route-BZf1g59m.js +1 -0
  200. package/core/built/admin/assets/{use-url-input-BEZJpVgN.js → use-url-input-PcqZadXa.js} +1 -1
  201. package/core/built/admin/assets/user-detail-modal-DeO3SAZq.js +1 -0
  202. package/core/built/admin/assets/{virtual-list-D5ugXyZY.js → virtual-list-D3MfPNOh.js} +1 -1
  203. package/core/built/admin/assets/web-CDdyG7z1.js +2 -0
  204. package/core/built/admin/assets/web-CwQ8_QUc.js +1 -0
  205. package/core/built/admin/assets/zapier-modal-a7t75iNI.js +1 -0
  206. package/core/built/admin/index.html +15 -12
  207. package/core/frontend/apps/private-blogging/lib/helpers/input_password.js +2 -1
  208. package/core/frontend/helpers/body_class.js +2 -1
  209. package/core/frontend/helpers/cancel_link.js +2 -1
  210. package/core/frontend/helpers/color_to_rgba.js +2 -1
  211. package/core/frontend/helpers/content_api_key.js +2 -1
  212. package/core/frontend/helpers/content_api_url.js +2 -1
  213. package/core/frontend/helpers/contrast_text_color.js +2 -1
  214. package/core/frontend/helpers/facebook_url.js +2 -1
  215. package/core/frontend/helpers/ghost_foot.js +2 -1
  216. package/core/frontend/helpers/ghost_head.js +2 -1
  217. package/core/frontend/helpers/has.js +4 -2
  218. package/core/frontend/helpers/link_class.js +2 -1
  219. package/core/frontend/helpers/meta_description.js +2 -1
  220. package/core/frontend/helpers/meta_title.js +2 -1
  221. package/core/frontend/helpers/navigation.js +113 -22
  222. package/core/frontend/helpers/page_url.js +2 -1
  223. package/core/frontend/helpers/post_class.js +2 -1
  224. package/core/frontend/helpers/reading_time.js +2 -1
  225. package/core/frontend/helpers/social_accounts.js +2 -1
  226. package/core/frontend/helpers/social_url.js +2 -1
  227. package/core/frontend/helpers/total_members.js +2 -1
  228. package/core/frontend/helpers/total_paid_members.js +2 -1
  229. package/core/frontend/helpers/tpl/navigation.hbs +1 -1
  230. package/core/frontend/helpers/twitter_url.js +2 -1
  231. package/core/frontend/public/cards.manifest.json +1 -1
  232. package/core/server/api/endpoints/posts.js +7 -4
  233. package/core/server/api/endpoints/utils/permissions.js +2 -1
  234. package/core/server/api/endpoints/utils/validators/input/settings.js +83 -1
  235. package/core/server/data/exporter/table-lists.js +1 -0
  236. package/core/server/data/importer/handlers/json.js +2 -1
  237. package/core/server/data/migrations/versions/5.19/2022-09-02-20-52-backfill-new-product-columns.js +2 -1
  238. package/core/server/data/migrations/versions/5.21/2022-10-26-04-50-member-subscription-created-batch-id.js +4 -2
  239. package/core/server/data/migrations/versions/5.22/2022-10-31-12-03-backfill-new-product-columns.js +2 -1
  240. package/core/server/data/migrations/versions/6.58/2026-08-11-21-22-48-rename-email-batches-provider-id.js +1 -1
  241. package/core/server/data/migrations/versions/6.59/2026-08-18-17-06-46-add-gift-delivery-fields-to-gifts.js +26 -0
  242. package/core/server/data/migrations/versions/6.59/2026-08-18-17-07-01-add-gift-deliveries.js +20 -0
  243. package/core/server/data/schema/commands.js +48 -24
  244. package/core/server/data/schema/schema.js +28 -7
  245. package/core/server/data/seeders/importers/automation-action-revisions-importer.js +3 -36
  246. package/core/server/data/seeders/importers/automation-actions-importer.js +5 -41
  247. package/core/server/data/seeders/importers/automation-run-steps-importer.js +3 -36
  248. package/core/server/data/seeders/importers/automation-runs-importer.js +7 -42
  249. package/core/server/data/seeders/importers/automations-importer.js +3 -36
  250. package/core/server/data/seeders/importers/comment-reports-importer.js +5 -5
  251. package/core/server/data/seeders/importers/comments-importer.js +5 -5
  252. package/core/server/data/seeders/importers/email-batches-importer.js +5 -4
  253. package/core/server/data/seeders/importers/email-recipients-importer.js +12 -20
  254. package/core/server/data/seeders/importers/emails-importer.js +6 -6
  255. package/core/server/data/seeders/importers/labels-importer.js +3 -3
  256. package/core/server/data/seeders/importers/members-click-events-importer.js +5 -5
  257. package/core/server/data/seeders/importers/members-created-events-importer.js +13 -12
  258. package/core/server/data/seeders/importers/members-feedback-importer.js +7 -7
  259. package/core/server/data/seeders/importers/members-importer.js +4 -4
  260. package/core/server/data/seeders/importers/members-login-events-importer.js +3 -3
  261. package/core/server/data/seeders/importers/members-products-importer.js +2 -2
  262. package/core/server/data/seeders/importers/members-status-events-importer.js +4 -3
  263. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +2 -2
  264. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +7 -7
  265. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +3 -3
  266. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +3 -3
  267. package/core/server/data/seeders/importers/offer-redemptions-importer.js +7 -7
  268. package/core/server/data/seeders/importers/offers-importer.js +3 -3
  269. package/core/server/data/seeders/importers/posts-importer.js +4 -4
  270. package/core/server/data/seeders/importers/table-importer.js +2 -35
  271. package/core/server/data/seeders/importers/tags-importer.js +2 -2
  272. package/core/server/data/seeders/importers/users-importer.js +2 -2
  273. package/core/server/data/seeders/importers/web-mentions-importer.js +2 -2
  274. package/core/server/data/seeders/utils/random.js +7 -0
  275. package/core/server/ghost-server.js +19 -5
  276. package/core/server/lib/db-date.js +72 -3
  277. package/core/server/models/gift-delivery.js +23 -0
  278. package/core/server/models/gift.js +9 -0
  279. package/core/server/models/index.js +3 -2
  280. package/core/server/models/settings.js +43 -4
  281. package/core/server/services/automations/database-automations-repository.js +38 -31
  282. package/core/server/services/automations/poll.js +1 -1
  283. package/core/server/services/content-import/csv/index.js +8 -0
  284. package/core/server/services/content-import/csv/parse.js +60 -0
  285. package/core/server/services/content-import/import/importer.js +222 -0
  286. package/core/server/services/content-import/import/post-data.js +52 -0
  287. package/core/server/services/content-import/import/reader.js +15 -0
  288. package/core/server/services/content-import/import/row.js +50 -0
  289. package/core/server/services/content-import/import/store.js +71 -0
  290. package/core/server/services/content-import/index.js +67 -0
  291. package/core/server/services/email-analytics/automation-email-analytics-batch-processor.js +1 -1
  292. package/core/server/services/email-analytics/index.js +3 -1
  293. package/core/server/services/email-analytics/jobs/index.js +2 -2
  294. package/core/server/services/email-service/email-service-wrapper.js +1 -1
  295. package/core/server/services/email-suppression-list/email-suppression-list.js +4 -2
  296. package/core/server/services/gifts/CONTEXT.md +27 -3
  297. package/core/server/services/gifts/README.md +8 -4
  298. package/core/server/services/gifts/constants.js +2 -1
  299. package/core/server/services/gifts/email-templates/gift-delivery.hbs +20 -0
  300. package/core/server/services/gifts/email-templates/gift-delivery.js +39 -0
  301. package/core/server/services/gifts/email-templates/gift-purchase-confirmation.hbs +2 -2
  302. package/core/server/services/gifts/email-templates/gift-purchase-confirmation.js +19 -4
  303. package/core/server/services/gifts/events/send-gift-delivery-event.js +15 -0
  304. package/core/server/services/gifts/gift-bookshelf-repository.js +23 -3
  305. package/core/server/services/gifts/gift-checkout-adapter.js +5 -3
  306. package/core/server/services/gifts/gift-codec.js +8 -0
  307. package/core/server/services/gifts/gift-delivery-bookshelf-repository.js +107 -0
  308. package/core/server/services/gifts/gift-delivery-codec.js +12 -0
  309. package/core/server/services/gifts/gift-delivery-schema.js +15 -0
  310. package/core/server/services/gifts/gift-delivery-service.js +209 -0
  311. package/core/server/services/gifts/gift-email-renderer.js +13 -1
  312. package/core/server/services/gifts/gift-email-service.js +97 -17
  313. package/core/server/services/gifts/gift-schema.js +10 -6
  314. package/core/server/services/gifts/gift-service.js +259 -34
  315. package/core/server/services/gifts/gift.js +59 -5
  316. package/core/server/services/gifts/index.js +69 -3
  317. package/core/server/services/lib/mailgun-client.js +5 -2
  318. package/core/server/services/mail/ghost-mailer.js +9 -1
  319. package/core/server/services/member-welcome-emails/service.js +6 -1
  320. package/core/server/services/members/members-api/controllers/router-controller.js +26 -8
  321. package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +100 -12
  322. package/core/server/services/stripe/stripe-api.js +3 -2
  323. package/core/server/services/stripe/webhook-controller.js +6 -3
  324. package/core/server/services/stripe/webhook-manager.js +2 -0
  325. package/core/shared/labs.js +1 -0
  326. package/package.json +9 -8
  327. package/pnpm-lock.yaml +26 -11
  328. package/pnpm-workspace.yaml +5 -6
  329. package/content/themes/source/yarn.lock +0 -6232
  330. package/core/built/admin/assets/Combination-BDvCdg1t.js +0 -41
  331. package/core/built/admin/assets/about-B_BvSyLF.js +0 -1
  332. package/core/built/admin/assets/account-migration-oJUGxnzT.js +0 -1
  333. package/core/built/admin/assets/activitypub/dist-Dqggkccr.js +0 -215
  334. package/core/built/admin/assets/activitypub/inbox-z1o2j1Tb.js +0 -1221
  335. package/core/built/admin/assets/activitypub/layout-BRMezuty.js +0 -1
  336. package/core/built/admin/assets/activitypub/moderation-CZudJi8N.js +0 -160
  337. package/core/built/admin/assets/activitypub/settings-CrSV1cux.js +0 -107
  338. package/core/built/admin/assets/add-integration-modal-BW23PDYs.js +0 -1
  339. package/core/built/admin/assets/add-newsletter-modal-M0ls8BKO.js +0 -1
  340. package/core/built/admin/assets/add-recommendation-modal-B0NeBMzl.js +0 -1
  341. package/core/built/admin/assets/announcement-bar-modal-pXBqjQE_.js +0 -1
  342. package/core/built/admin/assets/api-keys-Df6uv1dT.js +0 -1
  343. package/core/built/admin/assets/audience-BY8od8If.js +0 -1
  344. package/core/built/admin/assets/automations-DCs6Wady.js +0 -1
  345. package/core/built/admin/assets/bluesky-sharing-D0P42Cws.js +0 -1
  346. package/core/built/admin/assets/breadcrumb-MTj_cKLb.js +0 -1
  347. package/core/built/admin/assets/chart-helpers-DcO3k_vA.js +0 -1
  348. package/core/built/admin/assets/chunk-KS7C4IRE-DG9HTHQ3.js +0 -4
  349. package/core/built/admin/assets/color-picker-CBlJMv3y.js +0 -3
  350. package/core/built/admin/assets/combobox-BbPJzjCp.js +0 -1
  351. package/core/built/admin/assets/command-BrhXIlDr.js +0 -1
  352. package/core/built/admin/assets/comments-Cu4rD1aJ.js +0 -1
  353. package/core/built/admin/assets/confirmation-provider-BEdrnHns.js +0 -1
  354. package/core/built/admin/assets/custom-field-type-option-CNhAgHbJ.js +0 -1
  355. package/core/built/admin/assets/custom-integration-modal-CrGOI8IB.js +0 -1
  356. package/core/built/admin/assets/date-range-select-Bsh4gIek.js +0 -1
  357. package/core/built/admin/assets/design-and-theme-modal-DWZguwWX.js +0 -23
  358. package/core/built/admin/assets/dirty-confirm-dialog-DmdMpgyN.js +0 -1
  359. package/core/built/admin/assets/disabled-sources-indicator-BLnmyWgt.js +0 -1
  360. package/core/built/admin/assets/dist-DMFGvqqU.js +0 -1
  361. package/core/built/admin/assets/dist-DlCyLrOC.js +0 -1
  362. package/core/built/admin/assets/dist-j1xxxnY8.js +0 -1
  363. package/core/built/admin/assets/domain-Dp9TRrFp.js +0 -1
  364. package/core/built/admin/assets/edit-profile-DG6lpMsr.js +0 -1
  365. package/core/built/admin/assets/editor-CPQOrhrn.js +0 -8
  366. package/core/built/admin/assets/embed-signup-form-modal-CgWniDha.js +0 -9
  367. package/core/built/admin/assets/explore-C3rzONJv.js +0 -1
  368. package/core/built/admin/assets/feed-DpUwS1cU.js +0 -1
  369. package/core/built/admin/assets/filters-DZJT29GW.js +0 -1
  370. package/core/built/admin/assets/first-promoter-modal-DJhQQheG.js +0 -1
  371. package/core/built/admin/assets/gift-link-modal-sdFLjND9.js +0 -1
  372. package/core/built/admin/assets/global-data-provider-CixmTX00.js +0 -1
  373. package/core/built/admin/assets/growth-0YYkBEeS.js +0 -1
  374. package/core/built/admin/assets/growth-DpjAPeQT.js +0 -3
  375. package/core/built/admin/assets/history-modal-BWJ4-cJ0.js +0 -1
  376. package/core/built/admin/assets/html-field-C-oa5DEl.js +0 -1
  377. package/core/built/admin/assets/iframe-buffering-Ba9sDpi2.js +0 -1
  378. package/core/built/admin/assets/index-BOJzlYiz.js +0 -67
  379. package/core/built/admin/assets/index-Bid6LAyc.css +0 -1
  380. package/core/built/admin/assets/invite-user-modal-DCiQSiuD.js +0 -1
  381. package/core/built/admin/assets/koenig-editor-base-BApy8Q7C.js +0 -1
  382. package/core/built/admin/assets/kpi-helpers-ssbuy-hD.js +0 -1
  383. package/core/built/admin/assets/kpi-tabs-BqoIM6bI.js +0 -1
  384. package/core/built/admin/assets/label-picker-Cvvbmzb5.js +0 -1
  385. package/core/built/admin/assets/layout-DkkGyev2.js +0 -1
  386. package/core/built/admin/assets/member-custom-fields-CvGcpaiW.js +0 -1
  387. package/core/built/admin/assets/member-detail-CMCMZ47_.js +0 -1
  388. package/core/built/admin/assets/members-sRl6fNfq.js +0 -11
  389. package/core/built/admin/assets/moderation-KhKwGqI1.js +0 -1
  390. package/core/built/admin/assets/multi-select-combobox-nhCff0_K.js +0 -1
  391. package/core/built/admin/assets/navigation-modal-MDJExWDJ.js +0 -1
  392. package/core/built/admin/assets/newsletter-BIBHumfV.js +0 -1
  393. package/core/built/admin/assets/newsletter-detail-modal-CfjBMH3v.js +0 -1
  394. package/core/built/admin/assets/newsletter-emails-ClDL-7dA.js +0 -1
  395. package/core/built/admin/assets/newsletters-CBe-IPzK.js +0 -1
  396. package/core/built/admin/assets/note-HnNUOt4d.js +0 -1
  397. package/core/built/admin/assets/notifications-Cj5e-258.js +0 -1
  398. package/core/built/admin/assets/offers-container-modal-BHwHtixC.js +0 -1
  399. package/core/built/admin/assets/onboarding-route-D_4jp7Nq.js +0 -1
  400. package/core/built/admin/assets/overview-CezDdg-F.js +0 -1
  401. package/core/built/admin/assets/overview-D5mM51Lj.js +0 -1
  402. package/core/built/admin/assets/pintura-modal-BXXJ8Iaa.js +0 -1
  403. package/core/built/admin/assets/portal-frame-BLCvF8f-.js +0 -1
  404. package/core/built/admin/assets/portal-modal-DN80tAcy.js +0 -1
  405. package/core/built/admin/assets/post-analytics-header-_ydSY8qO.js +0 -1
  406. package/core/built/admin/assets/post-share-modal-CzYak_a5.js +0 -1
  407. package/core/built/admin/assets/preferences-gneLb6LV.js +0 -5
  408. package/core/built/admin/assets/preview-modal-Bkq-tgVm.js +0 -1
  409. package/core/built/admin/assets/profile-CzXmCNTC.js +0 -1
  410. package/core/built/admin/assets/radio-group-Dsq5ZEbV.js +0 -1
  411. package/core/built/admin/assets/router-provider-CkB_ArLF.js +0 -1
  412. package/core/built/admin/assets/select-xuZAuDyS.js +0 -1
  413. package/core/built/admin/assets/settings-Ct8pabhr.js +0 -1
  414. package/core/built/admin/assets/settings-KSWWQanQ.js +0 -4
  415. package/core/built/admin/assets/settings-breadcrumbs-DbPGu-Tu.js +0 -1
  416. package/core/built/admin/assets/share-modal-CdiUx9WM.js +0 -1
  417. package/core/built/admin/assets/slack-modal-BP--Z3jE.js +0 -1
  418. package/core/built/admin/assets/sort-button-CjfKdlsL.js +0 -1
  419. package/core/built/admin/assets/source-icon-DHj1h6Ts.js +0 -1
  420. package/core/built/admin/assets/stats-C615kulJ.js +0 -1
  421. package/core/built/admin/assets/stats-view-BSMRdYiN.js +0 -1
  422. package/core/built/admin/assets/step-1-pSdGYtIF.js +0 -1
  423. package/core/built/admin/assets/step-2-T9Uy4eBD.js +0 -1
  424. package/core/built/admin/assets/step-3-D4uXe_XG.js +0 -2
  425. package/core/built/admin/assets/stripe-connect-modal-C2vTvepi.js +0 -1
  426. package/core/built/admin/assets/switch-CE2NuMn-.js +0 -1
  427. package/core/built/admin/assets/tabs-l9c7FjzI.js +0 -1
  428. package/core/built/admin/assets/tag-detail-DBw_M2-p.js +0 -2
  429. package/core/built/admin/assets/tags-DoWsAG6l.js +0 -1
  430. package/core/built/admin/assets/testimonials-modal-BZKePE2T.js +0 -1
  431. package/core/built/admin/assets/tier-detail-modal-D65pVWsN.js +0 -1
  432. package/core/built/admin/assets/toggle-group-uJnl42w3.js +0 -1
  433. package/core/built/admin/assets/topic-filter-BM7hz0kW.js +0 -1
  434. package/core/built/admin/assets/transistor-modal-VZOGN3od.js +0 -1
  435. package/core/built/admin/assets/unsplash-modal-CKGfACxF.js +0 -1
  436. package/core/built/admin/assets/use-check-theme-limit-error-CGp3CGT5.js +0 -1
  437. package/core/built/admin/assets/use-feature-flag-CSq2Lwzt.js +0 -1
  438. package/core/built/admin/assets/use-filter-params-0hcJJuEJ.js +0 -1
  439. package/core/built/admin/assets/use-limiter-ffwpsZPp.js +0 -2
  440. package/core/built/admin/assets/use-pintura-editor-Cb41oJyL.js +0 -1
  441. package/core/built/admin/assets/use-query-params-DHhhu8wi.js +0 -1
  442. package/core/built/admin/assets/use-reply-chain-data-C0ZUTkfk.js +0 -1
  443. package/core/built/admin/assets/use-setting-group-Bx8M6FL2.js +0 -1
  444. package/core/built/admin/assets/use-settings-navigation-BOZcat_V.js +0 -1
  445. package/core/built/admin/assets/use-upgrade-route-B3_DUiuT.js +0 -1
  446. package/core/built/admin/assets/user-detail-modal-595z1N5r.js +0 -1
  447. package/core/built/admin/assets/web-CAta3lRE.js +0 -1
  448. package/core/built/admin/assets/web-Ds9_wWJK.js +0 -2
  449. package/core/built/admin/assets/zapier-modal-CcfDZY53.js +0 -1
  450. package/core/server/data/seeders/utils/database-date.js +0 -28
  451. package/core/server/services/automations/database-date.js +0 -59
  452. /package/core/built/admin/assets/{dist-CqO2lWS02.js → dist-CqO2lWS0.js} +0 -0
  453. /package/core/server/services/{automations → lib}/mailgun-message-id.js +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{g as r,t as i}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{f as a}from"./dist-Cb5RSHSg.js";import{t as o}from"./box-By_EgGtm.js";import{t as s}from"./container-LiZf3XdY.js";import{t as c}from"./empty-indicator-WB1WgT9h.js";import{a as l,c as u,n as d,r as f,s as p,t as m}from"./table-DghJxZMH.js";import{n as h,t as g}from"./toggle-group-uJnl42w3.js";import{Bo as _,Ia as v,Pr as y,Xr as b,ar as x,ka as S,ra as C}from"./index-BOJzlYiz.js";import{t as w}from"./page-header-VLPJfj_d.js";import{t as T}from"./list-page-CdsnQR9N.js";import{i as E,r as D,t as O}from"./virtual-list-D5ugXyZY.js";import{r as k}from"./tags-EmEvJN75.js";var A=e(t(),1),j=n(),M=({height:e})=>(0,j.jsx)(`tr`,{"aria-hidden":`true`,className:`flex lg:table-row`,children:(0,j.jsx)(`td`,{className:`flex lg:table-cell`,style:{height:e}})}),N=(0,A.forwardRef)(function(e,t){return(0,j.jsx)(u,{ref:t,...e,"aria-hidden":`true`,className:`relative flex flex-col lg:table-row`,children:(0,j.jsx)(f,{className:`relative z-10 h-24 animate-pulse`,children:(0,j.jsx)(`div`,{className:`h-full rounded-md bg-muted`,"data-testid":`loading-placeholder`})})})});function P({items:e,totalItems:t,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i}){let o=(0,A.useRef)(null),{visibleItemCount:s,canLoadMore:c,loadMore:h}=D(t),{visibleItems:g,spaceBefore:_,spaceAfter:b}=E({items:e,totalItems:s,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i,parentRef:o});return(0,j.jsxs)(`div`,{ref:o,className:`overflow-hidden`,children:[(0,j.jsxs)(m,{className:`flex table-fixed flex-col lg:table`,"data-testid":`tags-list`,children:[(0,j.jsx)(p,{className:`hidden lg:visible! lg:table-header-group!`,children:(0,j.jsxs)(u,{children:[(0,j.jsx)(l,{className:`w-auto px-4`,children:`Tag`}),(0,j.jsx)(l,{className:`w-1/5 px-4`,children:`Slug`}),(0,j.jsx)(l,{className:`w-1/5 px-4`,children:`No. of posts`}),(0,j.jsx)(l,{className:`w-20 px-4`})]})}),(0,j.jsxs)(d,{className:`flex flex-col lg:table-row-group`,children:[(0,j.jsx)(M,{height:_}),g.map(({key:t,virtualItem:n,item:r,props:i})=>n.index>e.length-1?(0,j.jsx)(N,{...i},t):(0,j.jsxs)(u,{...i,className:`group grid w-full grid-cols-[1fr_5rem] items-center gap-x-4 p-2 md:grid-cols-[1fr_auto_5rem] lg:table-row lg:p-0`,"data-testid":`tag-list-row`,children:[(0,j.jsxs)(f,{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,j.jsx)(`a`,{className:`before:absolute before:top-0 before:left-0 before:z-10 before:h-full before:w-[100vw]`,href:`#/tags/${r.slug}`,children:(0,j.jsx)(`span`,{className:`block truncate text-base text-md font-semibold`,children:r.name})}),(0,j.jsx)(`span`,{className:`block truncate text-muted-foreground`,children:r.description})]}),(0,j.jsx)(f,{className:`col-start-1 col-end-1 row-start-2 row-end-2 flex p-0 lg:table-cell lg:p-4`,children:(0,j.jsx)(`span`,{className:`block truncate`,children:r.slug})}),(0,j.jsx)(f,{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,j.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,j.jsx)(`span`,{className:`text-muted-foreground`,children:`0 posts`})}),(0,j.jsx)(f,{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,j.jsx)(y,{"aria-hidden":`true`,className:`opacity-0 transition-all group-hover:opacity-100`,size:`icon`,tabIndex:-1,variant:`outline`,children:(0,j.jsx)(v,{})})})]},t)),(0,j.jsx)(M,{height:b})]})]}),c&&(0,j.jsx)(O,{isLoading:r,onClick:h})]})}var F=()=>{let[e,t]=r(),n=e.get(`type`)??`public`,{data:a,isError:l,isLoading:u,isFetchingNextPage:d,fetchNextPage:f,hasNextPage:p}=k({filter:{visibility:n}});return(0,j.jsx)(o,{className:`size-full`,children:(0,j.jsx)(s,{className:`relative flex h-full flex-col`,size:`page`,children:(0,j.jsxs)(T,{"data-testid":`tags-page`,children:[(0,j.jsx)(T.Header,{children:(0,j.jsxs)(w,{blurredBackground:!1,sticky:!1,children:[(0,j.jsx)(w.Left,{children:(0,j.jsx)(w.Title,{children:`Tags`})}),(0,j.jsxs)(w.Actions,{children:[(0,j.jsxs)(w.ActionGroup,{children:[(0,j.jsxs)(g,{"data-testid":`tags-header-tabs`,size:`button`,type:`single`,value:n,children:[(0,j.jsx)(h,{"aria-label":`Public tags`,value:`public`,asChild:!0,children:(0,j.jsx)(i,{to:`/tags`,children:`Public tags`})}),(0,j.jsx)(h,{"aria-label":`Internal tags`,value:`internal`,asChild:!0,children:(0,j.jsx)(i,{to:`/tags?type=internal`,children:`Internal tags`})})]}),(0,j.jsxs)(w.ActionGroup.MobileMenu,{children:[(0,j.jsx)(w.ActionGroup.MobileMenuTrigger,{children:(0,j.jsx)(y,{variant:`outline`,children:(0,j.jsx)(_,{className:`size-4`})})}),(0,j.jsxs)(w.ActionGroup.MobileMenuContent,{children:[(0,j.jsx)(b,{checked:n===`public`,onCheckedChange:()=>t({}),children:`Public tags`}),(0,j.jsx)(b,{checked:n===`internal`,onCheckedChange:()=>t({type:`internal`}),children:`Internal tags`})]})]})]}),(0,j.jsx)(w.ActionGroup,{children:(0,j.jsx)(y,{asChild:!0,children:(0,j.jsxs)(`a`,{className:`font-bold`,href:`#/tags/new`,children:[(0,j.jsx)(S,{className:`size-4`}),(0,j.jsx)(`span`,{className:`hidden sm:inline`,children:`New tag`})]})})})]})]})}),(0,j.jsx)(T.Body,{children:u?(0,j.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,j.jsx)(x,{size:`lg`})}):l?(0,j.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,j.jsx)(`h2`,{className:`mb-2 text-xl font-medium`,children:`Error loading tags`}),(0,j.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:`Please reload the page to try again`}),(0,j.jsx)(y,{onClick:()=>window.location.reload(),children:`Reload page`})]}):a?.tags.length?(0,j.jsx)(P,{fetchNextPage:()=>void f(),hasNextPage:p,isFetchingNextPage:d,items:a?.tags??[],totalItems:a?.meta?.pagination?.total??0}):(0,j.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,j.jsx)(c,{actions:(0,j.jsx)(y,{asChild:!0,children:(0,j.jsx)(`a`,{href:`#/tags/new`,children:`Create a new tag`})}),title:`Start organizing your content`,children:(0,j.jsx)(C,{})})})})]})})})};export{F as default};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r}from"./hooks-CJepWnbB.js";import{n as i}from"./dist-Ndy-PuGN.js";import{t as a}from"./use-form-vRjI0Kwk.js";import{i as o,n as s,o as c,s as l,t as u}from"./select-xuZAuDyS.js";import{o as d,t as f}from"./use-settings-navigation-BOZcat_V.js";import{a as p,i as m,o as h,t as g}from"./field-BQqLTgHM.js";import{t as _}from"./textarea-d9qEkMOP.js";import{On as v,Pr as y,ar as b,tr as x}from"./index-BOJzlYiz.js";import{n as S}from"./global-data-provider-CixmTX00.js";var C=``+new URL(`ali-abdaal-DqO7DmHM.png`,import.meta.url).href,w=``+new URL(`isaac-saul-WLit1kCf.png`,import.meta.url).href,T=``+new URL(`joel-warner-DUevCA8i.png`,import.meta.url).href,E=e(t(),1),D=n(),O=()=>{let e=E.useId(),{updateRoute:t}=f(),n=r(),{settings:O,currentUser:k,siteData:A,config:j}=S(),M=j.exploreTestimonialsUrl,N=A.site_uuid,[P]=v(O,[`title`]),F=k.name,I=k.email,L=k.roles[0].name,R=k.profile_image,{formState:z,updateForm:B,saveState:V,handleSave:H,errors:U,clearError:W}=a({initialState:{content:``,prev_platform:``},onSave:async()=>{let e=[`none`,`other`,``].includes(z.prev_platform)?void 0:z.prev_platform,n={ghost_uuid:N,staff_user_email:I,content:z.content,prev_platform:e};if(!M||!(await fetch(M,{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:n,onValidate:()=>{let e={};return z.content.trim()||(e.content=`This field is required`),e}});return(0,D.jsx)(d,{cancelLabel:``,footer:!1,padding:!1,testId:`explore-testimonials-modal`,title:``,topRightContent:`close`,width:920,onClose:()=>{t(`explore`)},children:(0,D.jsx)(p,{className:`gap-8`,children:(0,D.jsxs)(`div`,{className:`flex items-stretch`,children:[(0,D.jsxs)(`div`,{className:`hidden w-full flex-col justify-between bg-gradient-to-tl from-grey-100/50 to-grey-100/80 p-8 dark:from-grey-900/40 dark:to-grey-900/60 [@media(min-width:905px)]:visible! [@media(min-width:905px)]:flex!`,children:[(0,D.jsxs)(`div`,{className:`pr-6`,children:[(0,D.jsx)(`div`,{className:`relative rounded-xl bg-white px-3 py-2.5 text-md text-grey-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-grey-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,D.jsxs)(`div`,{className:`mt-[14px] ml-2 flex items-center gap-2`,children:[(0,D.jsx)(`div`,{className:`size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale`,style:{backgroundImage:`url(${T})`}}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:`font-medium text-black dark:text-white`,children:`Joel Warner`}),(0,D.jsx)(`div`,{className:`-mt-0.5 text-grey-700`,children:`Lever News`})]})]})]}),(0,D.jsxs)(`div`,{className:`mt-8 ml-6`,children:[(0,D.jsx)(`div`,{className:`relative rounded-xl bg-white px-3 py-2.5 text-md text-grey-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-grey-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,D.jsxs)(`div`,{className:`mt-[14px] mr-2 flex items-center justify-end gap-2`,children:[(0,D.jsxs)(`div`,{className:`flex flex-col items-end`,children:[(0,D.jsx)(`div`,{className:`font-medium text-black dark:text-white`,children:`Isaac Saul`}),(0,D.jsx)(`div`,{className:`-mt-0.5 text-grey-700`,children:`Tangle`})]}),(0,D.jsx)(`div`,{className:`size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale`,style:{backgroundImage:`url(${w})`}})]})]}),(0,D.jsxs)(`div`,{className:`mt-8 hidden pr-6 [@media(min-width:940px)]:visible! [@media(min-width:940px)]:block!`,children:[(0,D.jsx)(`div`,{className:`relative rounded-xl bg-white px-3 py-2.5 text-md text-grey-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-grey-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,D.jsxs)(`div`,{className:`mt-[14px] ml-2 flex items-center gap-2`,children:[(0,D.jsx)(`div`,{className:`size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale`,style:{backgroundImage:`url(${C})`}}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:`font-medium text-black dark:text-white`,children:`Ali Abdaal`}),(0,D.jsx)(`div`,{className:`-mt-0.5 text-grey-700`,children:`YouTuber`})]})]})]})]}),(0,D.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,D.jsxs)(`div`,{children:[(0,D.jsx)(`div`,{className:`flex size-[60px] items-center justify-center rounded-full bg-gradient-to-t from-[#CFB0FF] to-[#B27EFF]`,children:(0,D.jsx)(`svg`,{fill:`none`,height:`26`,viewBox:`0 0 32 26`,width:`32`,xmlns:`http://www.w3.org/2000/svg`,children:(0,D.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,D.jsxs)(`div`,{className:`mt-6`,children:[(0,D.jsx)(`div`,{className:`text-2xl font-semibold tracking-tight`,children:`A quote about Ghost`}),(0,D.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,D.jsx)(`div`,{className:`mt-8`,children:(0,D.jsxs)(g,{"data-invalid":!!U.content||void 0,children:[(0,D.jsx)(h,{className:`sr-only`,htmlFor:`testimonial-content`,children:`Quote`}),(0,D.jsx)(_,{"aria-invalid":!!U.content||void 0,id:`testimonial-content`,placeholder:`What changed for the better since you switched to Ghost?`,rows:7,value:z.content,autoFocus:!0,onChange:e=>B(t=>({...t,content:e.target.value})),onKeyDown:()=>W(`content`)}),U.content&&(0,D.jsx)(m,{children:U.content})]})}),(0,D.jsx)(`div`,{className:`mt-4 ml-0.5`,children:(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(x,{className:`size-10`,email:I,name:F,src:R}),(0,D.jsxs)(`div`,{className:`flex flex-col`,children:[(0,D.jsxs)(`span`,{className:`font-medium`,children:[`By `,F||I]}),(0,D.jsxs)(`span`,{className:`text-sm text-grey-700`,children:[L,` — `,P]})]})]})})]}),(0,D.jsx)(`div`,{children:(0,D.jsxs)(`div`,{className:`mt-2 flex items-center gap-4`,children:[(0,D.jsx)(`div`,{className:`grow`,children:(0,D.jsxs)(g,{"data-invalid":!!U.prev_platform||void 0,children:[(0,D.jsx)(h,{className:`sr-only`,children:`Previous platform`}),(0,D.jsxs)(u,{value:z.prev_platform,onValueChange:e=>{B(t=>({...t,prev_platform:e})),W(`prev_platform`)},children:[(0,D.jsx)(c,{"aria-describedby":U.prev_platform?e:void 0,"aria-invalid":!!U.prev_platform||void 0,"aria-label":`Previous platform`,"data-testid":`migrated-from`,children:(0,D.jsx)(l,{placeholder:`Previous platform`})}),(0,D.jsx)(s,{children:[{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`}].map(e=>(0,D.jsx)(o,{value:e.value,children:e.label},e.value))})]}),U.prev_platform&&(0,D.jsx)(m,{id:e,children:U.prev_platform})]})}),(0,D.jsxs)(y,{disabled:V===`saving`,type:`button`,onClick:async()=>{await H()},children:[V===`saving`&&(0,D.jsx)(b,{size:`sm`}),`Send testimonial`]})]})})]})]})})})};export{O as default};
@@ -1 +0,0 @@
1
- import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./react-Bb3IsNbi.js";import{t as r}from"./jsx-runtime-DX3WBWVO.js";import{m as i}from"./hooks-CJepWnbB.js";import{n as a}from"./dist-Ndy-PuGN.js";import{t as o}from"./use-form-vRjI0Kwk.js";import{m as s}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{f as c,x as l}from"./dist-Cb5RSHSg.js";import{t as u}from"./inline-Cw-gigDW.js";import{t as d}from"./text-DU9Hv33_.js";import{t as f}from"./switch-CE2NuMn-.js";import{o as p,t as m}from"./use-settings-navigation-BOZcat_V.js";import{i as h,n as g,r as ee,t as te}from"./combobox-BbPJzjCp.js";import{a as ne,c as _,i as v,o as y,r as b,s as x,t as S}from"./field-BQqLTgHM.js";import{a as C,i as w,n as T,t as E}from"./input-group-DpogNUIt.js";import{t as re}from"./multi-select-combobox-nhCff0_K.js";import{i as ie,n as ae,t as oe}from"./use-url-input-BEZJpVgN.js";import{Nn as se,On as ce,Pr as D,Yi as le,cr as O,ka as ue,os as k}from"./index-BOJzlYiz.js";import{a as de,i as fe,o as pe}from"./tiers-8iTFjJWg.js";import{n as me}from"./confirmation-provider-BEdrnHns.js";import{t as he}from"./use-setting-group-Bx8M6FL2.js";import{a as A,i as j,n as ge,r as M,t as _e}from"./currency-Dy4Tc2R2.js";var N=e(n(),1),P=r(),F=({size:e=`md`,trialDays:t})=>t?(0,P.jsxs)(`span`,{className:l(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-grey-900`),children:[(0,P.jsx)(`span`,{className:`absolute inset-0 block rounded-full bg-ghostaccent opacity-20 dark:bg-pink`}),(0,P.jsxs)(`span`,{className:`dark:text-pink`,children:[c(t),` days free`]})]}):null,I=({benefits:e})=>{if(!e?.length)return(0,P.jsx)(`div`,{className:`mt-4 w-full text-md leading-snug text-grey-900 opacity-30`,children:(0,P.jsxs)(`div`,{className:`mb-2.5 flex items-start`,children:[(0,P.jsx)(k,{className:`mt-[3px] mr-[10px] size-3.5! min-w-[14px] overflow-visible stroke-[3px]!`}),(0,P.jsx)(`div`,{children:`Expert analysis`})]})});let t=new Map;return(0,P.jsx)(P.Fragment,{children:e.map(e=>{let n=(t.get(e)||0)+1;return t.set(e,n),(0,P.jsx)(`div`,{className:`mt-4 w-full text-md leading-snug text-grey-900`,children:(0,P.jsxs)(`div`,{className:`mb-2.5 flex items-start`,children:[(0,P.jsx)(k,{className:`mt-[3px] mr-[10px] size-3.5! min-w-[14px] overflow-visible stroke-[3px]!`}),(0,P.jsx)(`div`,{children:e})]})},`${e}:${n}`)})})},L=({discount:e})=>e?(0,P.jsxs)(`span`,{className:`mt-1 leading-none font-semibold text-ghostaccent`,children:[c(e),`% discount`]}):null,ve=({tier:e,isFreeTier:t})=>{let[n,r]=(0,N.useState)(!1),i=e?.name||``,a=e?.description||``,o=parseFloat(e?.trial_days||`0`),s=e?.currency||`USD`,l=s?j(s):`$`,u=e?.benefits||[],f=t?0:500,p=t?0:5e3,m=M(e?.monthly_price??f),h=M(e?.yearly_price??p),g=e?.monthly_price&&e?.yearly_price?Math.ceil((m*12-h)/(m*12)*100):0;return(0,P.jsxs)(`div`,{className:`-mt-2`,"data-testid":`tier-preview`,children:[(0,P.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,P.jsx)(d,{as:`h6`,className:`pb-2 text-base leading-snug`,weight:`medium`,children:t?`Free membership preview`:`Tier preview`}),!t&&(0,P.jsxs)(`div`,{className:`flex gap-1`,children:[(0,P.jsx)(D,{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,P.jsx)(D,{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,P.jsx)(`div`,{className:`rounded-sm border border-grey-200 bg-white dark:border-transparent`,children:(0,P.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,P.jsxs)(`div`,{className:`min-h-[56px] w-full`,children:[(0,P.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,P.jsxs)(`div`,{className:`mt-4 flex w-full flex-row flex-wrap items-end justify-between gap-x-1 gap-y-[10px]`,children:[(0,P.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,P.jsx)(`span`,{className:`self-start text-[2.7rem] leading-[1.115] font-bold uppercase`,children:l}),(0,P.jsx)(`span`,{className:`text-[3.4rem] leading-none font-bold tracking-tight break-all`,children:c(n?h:m,{maximumFractionDigits:20})}),!t&&(0,P.jsxs)(`span`,{className:`ml-1 self-end text-[1.5rem] leading-snug text-grey-800`,children:[`/`,n?`year`:`month`]})]}),(0,P.jsx)(F,{trialDays:o})]}),n&&g>0&&(0,P.jsx)(L,{discount:g})]}),(0,P.jsx)(`div`,{className:`flex-column flex w-full flex-1`,children:(0,P.jsxs)(`div`,{className:`flex-1`,children:[(0,P.jsx)(`div`,{className:`mt-4 w-full text-[1.55rem] leading-snug font-semibold text-grey-900 ${!a&&`opacity-30`}`,children:a||(t?`Free preview`:`Full access to premium content`)}),(0,P.jsx)(I,{benefits:u})]})})]})})]})},R=e=>e.replace(/[^\d.]+/g,``),z=e=>Math.round(parseFloat(e.match(/[\d]+\.?[\d]{0,2}/)?.[0]||`0`)*100),B=(e,t)=>{let[n,r]=(0,N.useState)(e===``?``:((e||0)/100).toString()),i=(0,N.useRef)(e);return(0,N.useEffect)(()=>{Object.is(e,i.current)||r(e===``?``:((e||0)/100).toString()),i.current=e},[e]),{value:n,onBlur:()=>r((z(n)/100).toString()),onChange:e=>{let n=z(e);r(R(e)),i.current=n,t?.(n)}}},V=t({default:()=>H}),ye=({tier:e})=>{let t=e?.type===`free`,[n,r]=N.useState(!1),{updateRoute:s}=m(),{mutateAsync:c}=pe(),{mutateAsync:l}=fe(),{mutateAsync:de}=se(),[j,M]=N.useState(!!e?.trial_days),F=i(),{confirm:I}=me(),{localSettings:L,siteData:R}=he(),[z]=ce(L,[`portal_plans`]),V=JSON.parse(z?.toString()||`[]`),ye=ge().flatMap(e=>e.options.map(t=>({...t,metadata:{groupKey:e.key,groupLabel:e.label}}))),H={name:()=>U.name?void 0:`Enter a name for the tier`,monthly_price:()=>U.type===`free`?void 0:A(U.monthly_price||0,U.currency,{allowZero:!1}),yearly_price:()=>U.type===`free`?void 0:A(U.yearly_price||0,U.currency,{allowZero:!1})},{formState:U,saveState:be,updateForm:W,handleSave:xe,errors:G,clearError:K,okProps:q}=o({initialState:{...e||{},trial_days:e?.trial_days?.toString()||``,currency:e?.currency||_e[0].isoCode,visibility:e?.visibility||`none`,welcome_page_url:e?.welcome_page_url||null},savingDelay:500,savedDelay:500,onValidate:()=>{let e={};return Object.entries(H).forEach(([t,n])=>{e[t]=n?.()}),e},onSave:async()=>{let{trial_days:n,currency:r,...i}=U,a=i;if(a.benefits=a.benefits?.filter(e=>e),t||(a.currency=r,a.trial_days=parseInt(n)),e?.id?await c({...e,...a}):await l(a),t){let e=U.visibility===`public`,t=!1;V.includes(`free`)&&!e&&(V.splice(V.indexOf(`free`),1),t=!0),!V.includes(`free`)&&e&&(V.push(`free`),t=!0),t&&await de([{key:`portal_plans`,value:JSON.stringify(V)}])}},onSaveError:F}),J=B(U.monthly_price||``,e=>W(t=>({...t,monthly_price:e}))),Y=B(U.yearly_price||``,e=>W(t=>({...t,yearly_price:e}))),X=oe({baseUrl:R?.url,nullable:!0,transformPathWithoutSlash:!0,value:U.welcome_page_url||null,onChange:e=>W(t=>({...t,welcome_page_url:e||null}))}),Z=ae({items:U.benefits||[],setItems:e=>W(t=>({...t,benefits:e})),blank:``,canAddNewItem:e=>!!e}),Se=(0,N.useRef)(null),Q=(0,N.useRef)(null),Ce=()=>{if(!Z.newItem)return;let e=Q.current?.getBoundingClientRect().top;Z.addItem(),window.requestAnimationFrame(()=>{let t=Q.current,n=Se.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}))})},we=t=>{t?(M(!0),W(t=>({...t,trial_days:e?.trial_days?e?.trial_days.toString():`7`}))):(M(!1),W(e=>({...e,trial_days:`0`})))},Te=(0,N.useRef)(!1);(0,N.useEffect)(()=>{Te.current&&(H.monthly_price?.(),H.yearly_price?.()),Te.current=!0},[U.currency]);let Ee=()=>{if(e){let t=e.active?`Archive tier`:`Reactivate tier`,n=e.active?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`mb-6`,children:[`Members will no longer be able to subscribe to `,(0,P.jsx)(`strong`,{children:e.name}),` and it will be removed from the list of available tiers in portal.`]}),(0,P.jsx)(`div`,{children:`Existing members on this tier will remain unchanged. Offers using this tier will be disabled.`})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`mb-6`,children:[`Reactivating `,(0,P.jsx)(`strong`,{children:e.name}),` will re-enable it as an option in portal and allow new members to subscribe to this tier.`]}),(0,P.jsx)(`div`,{children:`Existing members will remain unchanged.`})]}),r=e.active?`Archive`:`Reactivate`;I({title:t,prompt:n,okLabel:r,cancelLabel:`Cancel`,okVariant:e.active?`destructive`:`default`,onOk:t=>{c({...e,active:!e.active}),t?.remove(),a.success(`Tier ${e.active?`archived`:`reactivated`}`)}})}},$;return e&&(e.active&&e.type!==`free`?$=(0,P.jsx)(D,{className:`text-destructive hover:text-destructive`,type:`button`,variant:`ghost`,onClick:Ee,children:`Archive tier`}):e.active||($=(0,P.jsx)(D,{className:`text-green hover:text-green`,type:`button`,variant:`ghost`,onClick:Ee,children:`Reactivate tier`}))),(0,P.jsx)(p,{ref:Se,buttonsDisabled:q.disabled,cancelLabel:`Close`,dirty:be===`unsaved`,leftButton:$,okLabel:q.label||`Save`,okVariant:q.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()=>{await xe({fakeWhenUnchanged:!0})},children:(0,P.jsxs)(`div`,{className:`mt-8 -mb-8 flex items-start gap-8`,children:[(0,P.jsxs)(`div`,{className:`flex grow flex-col gap-8`,children:[(0,P.jsxs)(_,{children:[(0,P.jsx)(x,{children:`Basic`}),(0,P.jsxs)(ne,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,P.jsxs)(S,{"data-invalid":!!G.name||void 0,children:[(0,P.jsx)(y,{htmlFor:`tier-name`,children:`Name`}),(0,P.jsx)(O,{"aria-invalid":!!G.name||void 0,autoComplete:`off`,id:`tier-name`,maxLength:191,placeholder:t?`Free`:`Bronze`,value:U.name||``,autoFocus:!0,onChange:e=>W(t=>({...t,name:e.target.value})),onKeyDown:()=>K(`name`)}),G.name&&(0,P.jsx)(v,{children:G.name})]}),(0,P.jsxs)(S,{children:[(0,P.jsx)(y,{htmlFor:`tier-description`,children:`Description`}),(0,P.jsx)(O,{autoComplete:`off`,autoFocus:t,id:`tier-description`,maxLength:191,placeholder:t?`Free preview`:`Full access to premium content`,value:U.description||``,onChange:e=>W(t=>({...t,description:e.target.value}))})]}),!t&&(0,P.jsx)(P.Fragment,{children:(0,P.jsxs)(`div`,{className:`flex flex-col gap-10 md:flex-row`,children:[(0,P.jsxs)(`div`,{className:`basis-1/2`,children:[(0,P.jsxs)(`div`,{className:`mb-1 flex h-6 items-center justify-between`,children:[(0,P.jsx)(d,{as:`h6`,className:`text-base`,weight:`semibold`,children:`Prices`}),(0,P.jsx)(`div`,{children:(0,P.jsxs)(S,{children:[(0,P.jsx)(y,{className:`sr-only`,children:`Currency`}),(0,P.jsxs)(te,{open:n,onOpenChange:r,children:[(0,P.jsx)(ee,{"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,P.jsx)(h,{className:`flex-none`,children:U.currency})}),(0,P.jsx)(g,{align:`end`,className:`w-64`,children:(0,P.jsx)(re,{groupBy:e=>({key:e.metadata?.groupKey,label:e.metadata?.groupLabel}),i18n:{searchPlaceholder:`Search currencies...`},isMultiSelect:!1,options:ye,values:U.currency?[U.currency]:[],autoCloseOnSelect:!0,onChange:e=>{e[0]&&W(t=>({...t,currency:e[0]}))},onClose:()=>r(!1)})})]})]})})]}),(0,P.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,P.jsxs)(S,{"data-invalid":!!G.monthly_price||void 0,children:[(0,P.jsx)(y,{className:`sr-only`,htmlFor:`tier-monthly-price`,children:`Monthly price`}),(0,P.jsxs)(E,{"data-invalid":!!G.monthly_price||void 0,children:[(0,P.jsx)(w,{"aria-invalid":!!G.monthly_price||void 0,id:`tier-monthly-price`,inputMode:`decimal`,placeholder:`5`,value:J.value,onBlur:e=>{J.onBlur(),e.target.value===``&&W(e=>({...e,monthly_price:0}))},onChange:e=>J.onChange(e.target.value),onKeyDown:()=>K(`monthly_price`)}),(0,P.jsx)(T,{align:`inline-end`,children:(0,P.jsxs)(C,{children:[U.currency,`/month`]})})]}),G.monthly_price&&(0,P.jsx)(v,{children:G.monthly_price})]}),(0,P.jsxs)(S,{"data-invalid":!!G.yearly_price||void 0,children:[(0,P.jsx)(y,{className:`sr-only`,htmlFor:`tier-yearly-price`,children:`Yearly price`}),(0,P.jsxs)(E,{"data-invalid":!!G.yearly_price||void 0,children:[(0,P.jsx)(w,{"aria-invalid":!!G.yearly_price||void 0,id:`tier-yearly-price`,inputMode:`decimal`,placeholder:`50`,value:Y.value,onBlur:e=>{Y.onBlur(),e.target.value===``&&W(e=>({...e,yearly_price:0}))},onChange:e=>Y.onChange(e.target.value),onKeyDown:()=>K(`yearly_price`)}),(0,P.jsx)(T,{align:`inline-end`,children:(0,P.jsxs)(C,{children:[U.currency,`/year`]})})]}),G.yearly_price&&(0,P.jsx)(v,{children:G.yearly_price})]})]})]}),(0,P.jsxs)(`div`,{className:`basis-1/2`,children:[(0,P.jsx)(`div`,{className:`mb-1 flex h-6 flex-col justify-center`,children:(0,P.jsxs)(S,{orientation:`horizontal`,children:[(0,P.jsx)(y,{htmlFor:`tier-free-trial`,children:`Add a free trial`}),(0,P.jsx)(f,{checked:j,id:`tier-free-trial`,onCheckedChange:we})]})}),(0,P.jsxs)(S,{"data-disabled":!j||void 0,children:[(0,P.jsx)(y,{className:`sr-only`,htmlFor:`tier-trial-days`,children:`Trial days`}),(0,P.jsxs)(E,{children:[(0,P.jsx)(w,{disabled:!j,id:`tier-trial-days`,placeholder:`0`,value:U.trial_days,onChange:e=>W(t=>({...t,trial_days:e.target.value.replace(/[^\d]/,``)}))}),(0,P.jsx)(T,{align:`inline-end`,children:(0,P.jsx)(C,{children:`days`})})]}),(0,P.jsx)(b,{children:(0,P.jsxs)(`span`,{className:`mt-1`,children:[`Members will be subscribed at full price once the trial ends. `,(0,P.jsx)(`a`,{className:`text-green`,href:`https://ghost.org/help/free-trials/`,rel:`noreferrer`,target:`_blank`,children:`Learn more`})]})})]})]})]})}),(0,P.jsxs)(S,{children:[(0,P.jsx)(y,{htmlFor:`tier-welcome-page`,children:`Welcome page`}),(0,P.jsx)(O,{id:`tier-welcome-page`,maxLength:2e3,placeholder:R?.url,value:X.displayValue,onBlur:X.commitValue,onChange:e=>X.setDisplayValue(e.target.value),onFocus:X.handleFocus,onKeyDown:X.handleKeyDown}),(0,P.jsxs)(b,{children:[`Redirect to this URL after signup`,t?``:` for premium membership`]})]})]})]}),(0,P.jsxs)(_,{children:[(0,P.jsx)(x,{children:`Benefits`}),(0,P.jsxs)(ne,{className:`mb-10 gap-0 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,P.jsx)(ie,{getDragHandleLabel:({item:e})=>`Reorder benefit${e?`: ${e}`:``}`,items:Z.items,itemSeparator:!1,renderItem:({id:e,item:t})=>(0,P.jsxs)(u,{align:`center`,className:`relative w-full`,gap:`lg`,children:[(0,P.jsx)(u,{align:`center`,className:`absolute top-1/2 left-[-32px] size-6 -translate-y-1/2 bg-background group-hover:hidden`,justify:`center`,children:(0,P.jsx)(k,{className:`size-4`})}),(0,P.jsx)(O,{"aria-label":`Benefit`,className:`grow`,maxLength:191,value:t,onChange:t=>Z.updateItem(e,t.target.value)}),(0,P.jsx)(D,{"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:()=>Z.removeItem(e),children:(0,P.jsx)(le,{})})]}),onMove:Z.moveItem}),(0,P.jsxs)(u,{align:`center`,className:`relative mt-1`,gap:`md`,children:[(0,P.jsx)(k,{className:`size-4`}),(0,P.jsxs)(S,{className:`w-100`,children:[(0,P.jsx)(y,{className:`sr-only`,htmlFor:`new-tier-benefit`,children:`New benefit`}),(0,P.jsx)(O,{ref:Q,className:`grow`,id:`new-tier-benefit`,maxLength:191,placeholder:`Expert analysis`,value:Z.newItem,onChange:e=>Z.setNewItem(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),Ce())}})]}),(0,P.jsx)(D,{"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:Ce,children:(0,P.jsx)(ue,{})})]})]})]})]}),(0,P.jsx)(`div`,{className:`sticky top-[96px] hidden shrink-0 basis-[380px] min-[920px]:!visible min-[920px]:!block`,children:(0,P.jsx)(ve,{isFreeTier:t,tier:U})})]})})},H=()=>{let{tierId:e}=s(),{data:{tiers:t,isEnd:n}={},fetchNextPage:r}=de(),i;return(0,N.useEffect)(()=>{e&&!i&&!n&&r()},[r,n,e,i]),e&&(i=t?.find(({id:t})=>t===e),!i)?null:(0,P.jsx)(ye,{tier:i})};export{B as n,F as r,V as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{d as r,u as i}from"./Combination-BDvCdg1t.js";import{c as a,o}from"./dist-Cb5RSHSg.js";import{r as s}from"./dist-CQJY6SVY.js";import{t as c}from"./dist-CqO2lWS02.js";import{t as l}from"./dist-B2PvRwLn.js";import{Ci as u,Ti as d,wi as f}from"./index-BOJzlYiz.js";var p=e(t(),1),m=n(),h=`Toggle`,g=p.forwardRef((e,t)=>{let{pressed:n,defaultPressed:a,onPressedChange:o,...s}=e,[l,u]=i({prop:n,onChange:o,defaultProp:a??!1,caller:h});return(0,m.jsx)(c.button,{type:`button`,"aria-pressed":l,"data-state":l?`on`:`off`,"data-disabled":e.disabled?``:void 0,...s,ref:t,onClick:r(e.onClick,()=>{e.disabled||u(!l)})})});g.displayName=h;var _=g,v=o(`inline-flex items-center justify-center gap-2 rounded-md 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`}},defaultVariants:{variant:`default`,size:`default`}}),y=p.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,m.jsx)(_,{ref:i,className:a(v({variant:t,size:n,className:e})),...r}));y.displayName=_.displayName;var b=`ToggleGroup`,[x,S]=s(b,[d]),C=d(),w=p.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,m.jsx)(D,{role:`radiogroup`,...r,ref:t});if(n===`multiple`)return(0,m.jsx)(O,{role:`toolbar`,...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${b}\``)});w.displayName=b;var[T,E]=x(b),D=p.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:a=()=>{},...o}=e,[s,c]=i({prop:n,defaultProp:r??``,onChange:a,caller:b});return(0,m.jsx)(T,{scope:e.__scopeToggleGroup,type:`single`,value:p.useMemo(()=>s?[s]:[],[s]),onItemActivate:c,onItemDeactivate:p.useCallback(()=>c(``),[c]),children:(0,m.jsx)(j,{...o,ref:t})})}),O=p.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:a=()=>{},...o}=e,[s,c]=i({prop:n,defaultProp:r??[],onChange:a,caller:b}),l=p.useCallback(e=>c((t=[])=>[...t,e]),[c]),u=p.useCallback(e=>c((t=[])=>t.filter(t=>t!==e)),[c]);return(0,m.jsx)(T,{scope:e.__scopeToggleGroup,type:`multiple`,value:s,onItemActivate:l,onItemDeactivate:u,children:(0,m.jsx)(j,{...o,ref:t})})});w.displayName=b;var[k,A]=x(b),j=p.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...u}=e,d=C(n),p=l(o),h={dir:p,...u};return(0,m.jsx)(k,{scope:n,rovingFocus:i,disabled:r,children:i?(0,m.jsx)(f,{asChild:!0,...d,orientation:a,dir:p,loop:s,children:(0,m.jsx)(c.div,{...h,ref:t})}):(0,m.jsx)(c.div,{...h,ref:t})})}),M=`ToggleGroupItem`,N=p.forwardRef((e,t)=>{let n=E(M,e.__scopeToggleGroup),r=A(M,e.__scopeToggleGroup),i=C(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=p.useRef(null);return r.rovingFocus?(0,m.jsx)(u,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,m.jsx)(P,{...s,ref:t})}):(0,m.jsx)(P,{...s,ref:t})});N.displayName=M;var P=p.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=E(M,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0};return(0,m.jsx)(g,{...a.type===`single`?o:void 0,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),F=p.createContext({size:`default`,variant:`default`}),I=p.forwardRef(({className:e,variant:t,size:n,children:r,...i},o)=>(0,m.jsx)(w,{ref:o,className:a(`inline-flex items-center justify-center gap-0.5 rounded-(--input-group-radius) bg-muted p-0.5 dark:border dark:border-border dark:bg-background`,e),...i,children:(0,m.jsx)(F.Provider,{value:{variant:t,size:n},children:r})}));I.displayName=w.displayName;var L=p.forwardRef(({className:e,children:t,variant:n,size:r,...i},o)=>{let s=p.useContext(F);return(0,m.jsx)(N,{ref:o,className:a(v({variant:s.variant||n,size:s.size||r}),e),...i,children:t})});L.displayName=N.displayName;export{L as n,I as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{It as r,Pr as i}from"./index-BOJzlYiz.js";var a=e(t(),1),o=n(),s=({currentTopic:e,onTopicChange:t,excludeTopics:n=[]})=>{let{topicsQuery:s}=r(),{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:r})=>(0,o.jsx)(i,{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:r},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};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r,p as i}from"./hooks-CJepWnbB.js";import{t as a}from"./switch-CE2NuMn-.js";import{o,t as s}from"./use-settings-navigation-BOZcat_V.js";import{a as c,c as l,n as u,o as d,r as f,t as p}from"./field-BQqLTgHM.js";import{Nn as m,On as h}from"./index-BOJzlYiz.js";import{n as g}from"./global-data-provider-CixmTX00.js";import{n as _}from"./confirmation-provider-BEdrnHns.js";import{n as v}from"./integrations-B9yYgci5.js";import{t as y}from"./api-keys-Df6uv1dT.js";import{t as b}from"./integration-header-B4DyXV06.js";import{t as x}from"./api-keys-BgKr003d.js";import{t as S}from"./brand-icon-09YqFZjV.js";``+new URL(`ghost-transistor-sWk3BgP7.png`,import.meta.url).href;var C=e(t(),1),w=n();function T(){let{updateRoute:e}=s(),{config:t,settings:n}=g(),{mutateAsync:T}=m(),{data:{integrations:E}={integrations:[]}}=v(),{mutateAsync:D}=x(),O=r(),{confirm:k}=_(),[A,j]=(0,C.useState)(!1),M=t.hostSettings?.limits?.customIntegrations?.disabled,[N]=h(n,[`transistor`]),[P,F]=(0,C.useState)(!!N),[I,L]=(0,C.useState)(`Save`);(0,C.useEffect)(()=>{F(N||!1)},[N]),(0,C.useEffect)(()=>{M&&e(`integrations`)},[M,e]);let R=E.find(({slug:e})=>e===`transistor`),z=R?.api_keys?.find(e=>e.type===`admin`);return(0,w.jsxs)(o,{cancelLabel:`Close`,dirty:P!==N,okLabel:I,okVariant:`default`,testId:`transistor-modal`,title:``,onClose:()=>{e(`integrations`)},onOk:async()=>{let e=[{key:`transistor`,value:P}];try{L(`Saving...`),await Promise.all([T(e),new Promise(e=>{setTimeout(e,1e3)})]),L(`Saved`)}catch(e){O(e)}finally{setTimeout(()=>L(`Save`),1e3)}},children:[(0,w.jsx)(b,{detail:`Give your members access to private podcasts`,icon:(0,w.jsx)(S,{name:`transistor`,size:56}),title:`Transistor.fm`}),(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(l,{className:`gap-0`,children:(0,w.jsxs)(c,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,w.jsxs)(p,{orientation:`horizontal`,children:[(0,w.jsxs)(u,{children:[(0,w.jsx)(d,{htmlFor:`transistor-enabled`,children:`Enable Transistor`}),(0,w.jsxs)(f,{children:[`Connect your Ghost site with `,(0,w.jsx)(`a`,{className:`text-green`,href:`https://transistor.fm`,rel:`noopener noreferrer`,target:`_blank`,children:`Transistor.fm`}),` to offer members private podcasts.`]})]}),(0,w.jsx)(a,{checked:P,id:`transistor-enabled`,onCheckedChange:F})]}),P&&(0,w.jsx)(y,{keys:[{id:`admin-api-key`,label:`Admin API key`,text:z?.secret,hint:A?(0,w.jsx)(`div`,{className:`text-green`,children:`Admin API Key was successfully regenerated`}):void 0,onRegenerate:()=>{if(!R||!z)throw Error(`Transistor integration or Admin API key not found`);j(!1),k({title:`Regenerate Admin API Key`,prompt:`You will need to update the API key in your Transistor account settings after regenerating.`,okLabel:`Regenerate Admin API Key`,onOk:async e=>{try{await D({integrationId:R.id,apiKeyId:z.id}),j(!0),e?.remove()}catch(e){O(e)}}})}},{id:`api-url`,label:`API URL`,text:window.location.origin+i().subdir}]})]})}),P&&(0,w.jsx)(`div`,{className:`mt-5 flex flex-col items-center`,children:(0,w.jsxs)(`a`,{className:`flex w-100 flex-col items-stretch justify-between overflow-hidden rounded-md bg-grey-50 transition-all hover:border-grey-400 hover:bg-grey-100 md:flex-row dark:bg-grey-900 dark:hover:bg-grey-950`,href:`https://ghost.org/integrations/transistor/`,rel:`noopener noreferrer`,target:`_blank`,children:[(0,w.jsxs)(`div`,{className:`order-2 px-7 py-5 md:order-1`,children:[(0,w.jsx)(`div`,{className:`text-md font-semibold`,children:`How to use Transistor in Ghost`}),(0,w.jsx)(`div`,{className:`mt-1 text-grey-800 dark:text-grey-500`,children:`Learn more about connecting Transistor with Ghost to offer members access to private podcasts in Portal or as an embed in posts and pages with a custom Transistor card.`})]}),(0,w.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,w.jsx)(`img`,{alt:`Bookmark Thumb`,className:`min-h-full min-w-full shrink-0`,src:``+new URL(`ghost-transistor-sWk3BgP7.png`,import.meta.url).href})})]})})]})]})}export{T as default};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r}from"./hooks-CJepWnbB.js";import{t as i}from"./switch-CE2NuMn-.js";import{o as a,t as o}from"./use-settings-navigation-BOZcat_V.js";import{a as s,n as c,o as l,r as u,t as d}from"./field-BQqLTgHM.js";import{Nn as f,On as p}from"./index-BOJzlYiz.js";import{n as m}from"./global-data-provider-CixmTX00.js";import{t as h}from"./integration-header-B4DyXV06.js";import{t as g}from"./brand-icon-09YqFZjV.js";var _=e(t(),1),v=n();function y(){let{updateRoute:e}=o(),{settings:t}=m(),[n]=p(t,[`unsplash`]),{mutateAsync:y}=f(),b=r(),[x,S]=(0,_.useState)(`Save`),[C,w]=(0,_.useState)(!!n);return(0,_.useEffect)(()=>{w(n||!1)},[n]),(0,v.jsxs)(a,{cancelLabel:`Close`,dirty:C!==n,okLabel:x,okVariant:`default`,testId:`unsplash-modal`,title:``,onClose:()=>{e(`integrations`)},onOk:async()=>{let e=[{key:`unsplash`,value:C}];try{S(`Saving...`),await Promise.all([y(e),new Promise(e=>{setTimeout(e,1e3)})]),S(`Saved`)}catch(e){b(e)}finally{setTimeout(()=>S(`Save`),1e3)}},children:[(0,v.jsx)(h,{detail:`Beautiful, free photos`,icon:(0,v.jsx)(g,{name:`unsplash`,size:48}),title:`Unsplash`}),(0,v.jsx)(`div`,{className:`mt-7`,children:(0,v.jsx)(s,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:(0,v.jsxs)(d,{orientation:`horizontal`,children:[(0,v.jsxs)(c,{children:[(0,v.jsx)(l,{htmlFor:`unsplash-enabled`,children:`Enable Unsplash`}),(0,v.jsxs)(u,{children:[`Enable `,(0,v.jsx)(`a`,{className:`text-green`,href:`https://unsplash.com`,rel:`noopener noreferrer`,target:`_blank`,children:`Unsplash`}),` image integration for your posts`]})]}),(0,v.jsx)(i,{checked:C,id:`unsplash-enabled`,onCheckedChange:w})]})})})]})}export{y as default};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{n,t as r}from"./use-limiter-ffwpsZPp.js";import{n as i}from"./global-data-provider-CixmTX00.js";var a=e(t(),1),o=()=>{let e=n(),{config:t}=i(),o=t.hostSettings?.limits?.customThemes?.allowlist,s=o?.length===1||!1;return{checkThemeLimitError:(0,a.useCallback)(async t=>{if(!e?.isLimited(`customThemes`)||!(s||t&&o&&!o.includes(t.toLowerCase())))return null;try{let n=s?`.`:t||`.`;return await e.errorIfWouldGoOverLimit(`customThemes`,{value:n}),null}catch(e){return e instanceof r?e.message||`Your current plan doesn't support changing themes.`:null}},[e,o,s]),isThemeLimited:e?.isLimited(`customThemes`)||!1,isThemeLimitCheckReady:e!==void 0,allowedThemesList:o,noThemeChangesAllowed:s}};export{o as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./global-data-provider-CixmTX00.js";var t=t=>{let{config:n}=e();return n.labs[t]||!1};export{t};