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,6 +1,6 @@
1
1
  import { d as e, u as t } from "./_react-D4KM8XEu.js";
2
2
  import { S as n } from "./chunk-KS7C4IRE-CnTrsgmM.js";
3
- import { T as r } from "./routes-CEHdEZzS.js";
3
+ import { A as r } from "./routes-nHCKlZl-.js";
4
4
  import { _ as i, y as a } from "./use-navigate-with-base-path-iCkcbMGk.js";
5
5
  //#region ../shade/es/components/ui/label.js
6
6
  e();
@@ -13,4 +13,4 @@ c.displayName = r.displayName;
13
13
  //#endregion
14
14
  export { c as t };
15
15
 
16
- //# sourceMappingURL=label-1jhN-qhD.js.map
16
+ //# sourceMappingURL=label-CZ6if4zK.js.map
@@ -0,0 +1 @@
1
+ import "./routes-nHCKlZl-.js";
@@ -0,0 +1,340 @@
1
+ import { S as e, T as t, d as n, u as r, v as i, w as a } from "./_react-D4KM8XEu.js";
2
+ import { S as o } from "./chunk-KS7C4IRE-CnTrsgmM.js";
3
+ import { o as s } from "./users-sgJ6GNZX.js";
4
+ import { Et as c, O as l, S as u, T as d, a as f, k as p, pt as m, s as h, vt as g, yt as _ } from "./routes-nHCKlZl-.js";
5
+ import { _ as v, m as y, r as b, t as x, y as S } from "./use-navigate-with-base-path-iCkcbMGk.js";
6
+ import { D as C, H as w, I as T, L as ee, Y as te, c as E, l as D, s as O, u as k } from "./use-activity-pub-queries-DUDEdSdR.js";
7
+ import { c as A, u as j } from "./content-formatters-DCsVic-t.js";
8
+ import { i as M, n as N, r as ne, t as re } from "./tabs-CDjh3_Jp.js";
9
+ import { a as P, c as F } from "./avatar-B0SpBPVL.js";
10
+ import { a as ie, i as ae, n as oe, r as se, t as ce } from "./settings-pDzybcb3.js";
11
+ import "./layout-DNuYT4Gu.js";
12
+ //#region ../../node_modules/.pnpm/@radix-ui+react-use-previous@1.1.2_@types+react@18.3.31_react@18.3.1/node_modules/@radix-ui/react-use-previous/dist/index.mjs
13
+ n();
14
+ function I(t) {
15
+ let n = a({
16
+ value: t,
17
+ previous: t
18
+ });
19
+ return e(() => (n.current.value !== t && (n.current.previous = n.current.value, n.current.value = t), n.current.previous), [t]);
20
+ }
21
+ //#endregion
22
+ //#region ../../node_modules/.pnpm/@radix-ui+react-switch@1.3.2_@types+react-dom@18.3.7_@types+react@18.3.31__@types+react_5e1039ec98d0cadd458e3c758798817c/node_modules/@radix-ui/react-switch/dist/index.mjs
23
+ n();
24
+ var L = o(), R = "Switch", [z, B] = F(R), [V, H] = z(R);
25
+ function U(e) {
26
+ let { __scopeSwitch: n, checked: r, children: i, defaultChecked: o, disabled: s, form: c, name: l, onCheckedChange: u, required: d, value: f = "on", internal_do_not_use_render: p } = e, [m, h] = g({
27
+ prop: r,
28
+ defaultProp: o ?? !1,
29
+ onChange: u,
30
+ caller: R
31
+ }), [_, v] = t(null), [y, b] = t(null), x = {
32
+ checked: m,
33
+ setChecked: h,
34
+ disabled: s,
35
+ control: _,
36
+ setControl: v,
37
+ name: l,
38
+ form: c,
39
+ value: f,
40
+ hasConsumerStoppedPropagationRef: a(!1),
41
+ required: d,
42
+ defaultChecked: o,
43
+ isFormControl: _ ? !!c || !!_.closest("form") : !0,
44
+ bubbleInput: y,
45
+ setBubbleInput: b
46
+ };
47
+ return /* @__PURE__ */ (0, L.jsx)(V, {
48
+ scope: n,
49
+ ...x,
50
+ children: le(p) ? p(x) : i
51
+ });
52
+ }
53
+ var W = "SwitchTrigger", G = r(({ __scopeSwitch: e, onClick: t, ...n }, r) => {
54
+ let { value: i, disabled: a, checked: o, required: s, setControl: c, setChecked: l, hasConsumerStoppedPropagationRef: u, isFormControl: d, bubbleInput: f } = H(W, e), p = y(r, c);
55
+ return /* @__PURE__ */ (0, L.jsx)(P.button, {
56
+ type: "button",
57
+ role: "switch",
58
+ "aria-checked": o,
59
+ "aria-required": s,
60
+ "data-state": Z(o),
61
+ "data-disabled": a ? "" : void 0,
62
+ disabled: a,
63
+ value: i,
64
+ ...n,
65
+ ref: p,
66
+ onClick: _(t, (e) => {
67
+ l((e) => !e), f && d && (u.current = e.isPropagationStopped(), u.current || e.stopPropagation());
68
+ })
69
+ });
70
+ });
71
+ G.displayName = W;
72
+ var K = r((e, t) => {
73
+ let { __scopeSwitch: n, name: r, checked: i, defaultChecked: a, required: o, disabled: s, value: c, onCheckedChange: l, form: u, ...d } = e;
74
+ return /* @__PURE__ */ (0, L.jsx)(U, {
75
+ __scopeSwitch: n,
76
+ checked: i,
77
+ defaultChecked: a,
78
+ disabled: s,
79
+ required: o,
80
+ onCheckedChange: l,
81
+ name: r,
82
+ form: u,
83
+ value: c,
84
+ internal_do_not_use_render: ({ isFormControl: e }) => /* @__PURE__ */ (0, L.jsxs)(L.Fragment, { children: [/* @__PURE__ */ (0, L.jsx)(G, {
85
+ ...d,
86
+ ref: t,
87
+ __scopeSwitch: n
88
+ }), e && /* @__PURE__ */ (0, L.jsx)(X, { __scopeSwitch: n })] })
89
+ });
90
+ });
91
+ K.displayName = R;
92
+ var q = "SwitchThumb", J = r((e, t) => {
93
+ let { __scopeSwitch: n, ...r } = e, i = H(q, n);
94
+ return /* @__PURE__ */ (0, L.jsx)(P.span, {
95
+ "data-state": Z(i.checked),
96
+ "data-disabled": i.disabled ? "" : void 0,
97
+ ...r,
98
+ ref: t
99
+ });
100
+ });
101
+ J.displayName = q;
102
+ var Y = "SwitchBubbleInput", X = r(({ __scopeSwitch: e, ...t }, n) => {
103
+ let { control: r, hasConsumerStoppedPropagationRef: o, checked: s, defaultChecked: c, required: l, disabled: u, name: d, value: f, form: p, bubbleInput: h, setBubbleInput: g } = H(Y, e), _ = y(n, g), v = I(s), b = m(r);
104
+ i(() => {
105
+ let e = h;
106
+ if (!e) return;
107
+ let t = window.HTMLInputElement.prototype, n = Object.getOwnPropertyDescriptor(t, "checked").set, r = !o.current;
108
+ if (v !== s && n) {
109
+ let t = new Event("click", { bubbles: r });
110
+ n.call(e, s), e.dispatchEvent(t);
111
+ }
112
+ }, [
113
+ h,
114
+ v,
115
+ s,
116
+ o
117
+ ]);
118
+ let x = a(s);
119
+ return /* @__PURE__ */ (0, L.jsx)(P.input, {
120
+ type: "checkbox",
121
+ "aria-hidden": !0,
122
+ defaultChecked: c ?? x.current,
123
+ required: l,
124
+ disabled: u,
125
+ name: d,
126
+ value: f,
127
+ form: p,
128
+ ...t,
129
+ tabIndex: -1,
130
+ ref: _,
131
+ style: {
132
+ ...t.style,
133
+ ...b,
134
+ position: "absolute",
135
+ pointerEvents: "none",
136
+ opacity: 0,
137
+ margin: 0,
138
+ transform: "translateX(-100%)"
139
+ }
140
+ });
141
+ });
142
+ X.displayName = Y;
143
+ function le(e) {
144
+ return typeof e == "function";
145
+ }
146
+ function Z(e) {
147
+ return e ? "checked" : "unchecked";
148
+ }
149
+ //#endregion
150
+ //#region ../shade/es/components/ui/switch.js
151
+ n();
152
+ var ue = v("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", {
153
+ variants: { size: {
154
+ default: "h-4 w-7",
155
+ sm: "h-3 w-5"
156
+ } },
157
+ defaultVariants: { size: "default" }
158
+ }), Q = v("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", {
159
+ variants: { size: {
160
+ default: "size-3 data-[state=checked]:translate-x-3",
161
+ sm: "size-2 data-[state=checked]:translate-x-2"
162
+ } },
163
+ defaultVariants: { size: "default" }
164
+ }), $ = r(({ className: e, size: t, ...n }, r) => /* @__PURE__ */ (0, L.jsx)(K, {
165
+ className: S(ue({
166
+ size: t,
167
+ className: e
168
+ })),
169
+ ...n,
170
+ ref: r,
171
+ children: /* @__PURE__ */ (0, L.jsx)(J, { className: S(Q({ size: t })) })
172
+ }));
173
+ //#endregion
174
+ //#region src/views/preferences/components/moderation.tsx
175
+ $.displayName = K.displayName, n();
176
+ var de = () => {
177
+ let { data: e, isLoading: n } = D("index"), { data: r, isLoading: i } = k("index"), a = n ? [
178
+ ,
179
+ ,
180
+ ,
181
+ ,
182
+ ,
183
+ ].fill({
184
+ apId: "",
185
+ name: "",
186
+ handle: "",
187
+ avatarUrl: ""
188
+ }) : e?.pages.flatMap((e) => e.accounts) ?? [], o = i ? [
189
+ ,
190
+ ,
191
+ ,
192
+ ,
193
+ ,
194
+ ].fill({
195
+ apId: "",
196
+ name: ""
197
+ }) : r?.pages.flatMap((e) => e.domains) ?? [], m = E("index"), g = ee("index"), [_, v] = t(/* @__PURE__ */ new Set()), y = O("index"), S = T("index"), [P, F] = t(/* @__PURE__ */ new Set()), [I, R] = t(null), z = x(), { data: B, isError: V, isLoading: H, isSuccess: U } = C(), W = w({ onError: () => {
198
+ s.error("Could not update sensitive media preference.");
199
+ } }), G = B?.showSensitiveMedia ?? !1, K = (e) => {
200
+ U && W.mutate({ showSensitiveMedia: e });
201
+ }, q = (e) => {
202
+ v((t) => {
203
+ let n = /* @__PURE__ */ new Set([...t]);
204
+ return n.add(e.apId), n;
205
+ }), g.mutate(e), s.success("User unblocked");
206
+ }, J = (e) => {
207
+ v((t) => {
208
+ let n = /* @__PURE__ */ new Set([...t]);
209
+ return n.delete(e.apId), n;
210
+ }), m.mutate(e), s.success("User blocked");
211
+ }, Y = (e) => {
212
+ F((t) => {
213
+ let n = /* @__PURE__ */ new Set([...t]);
214
+ return n.add(e.url), n;
215
+ }), S.mutate({ url: e.url }), s.success("Domain unblocked");
216
+ }, X = (e) => {
217
+ F((t) => {
218
+ let n = /* @__PURE__ */ new Set([...t]);
219
+ return n.delete(e.url), n;
220
+ }), y.mutate({ url: e.url }), s.success("Domain blocked");
221
+ };
222
+ return /* @__PURE__ */ (0, L.jsx)(f, { children: /* @__PURE__ */ (0, L.jsxs)("div", {
223
+ className: "mx-auto max-w-[620px] py-[min(4vh,48px)]",
224
+ children: [
225
+ /* @__PURE__ */ (0, L.jsx)("div", {
226
+ className: "flex items-center justify-between gap-8",
227
+ children: /* @__PURE__ */ (0, L.jsx)(te, { children: "Moderation" })
228
+ }),
229
+ !V && /* @__PURE__ */ (0, L.jsx)("div", {
230
+ className: "mt-6",
231
+ children: /* @__PURE__ */ (0, L.jsxs)(ae, { children: [/* @__PURE__ */ (0, L.jsxs)(se, { children: [/* @__PURE__ */ (0, L.jsx)(ie, { children: "Show sensitive media" }), /* @__PURE__ */ (0, L.jsx)(oe, { children: "Display adult content or media marked as sensitive without a warning" })] }), /* @__PURE__ */ (0, L.jsx)(ce, { children: /* @__PURE__ */ (0, L.jsx)($, {
232
+ "aria-label": "Show sensitive media",
233
+ checked: G,
234
+ disabled: H || !U,
235
+ onCheckedChange: K
236
+ }) })] })
237
+ }),
238
+ /* @__PURE__ */ (0, L.jsx)("div", {
239
+ className: "mt-6",
240
+ children: /* @__PURE__ */ (0, L.jsxs)(re, {
241
+ defaultValue: "blocked_users",
242
+ variant: "underline",
243
+ children: [
244
+ /* @__PURE__ */ (0, L.jsxs)(ne, { children: [/* @__PURE__ */ (0, L.jsx)(M, {
245
+ value: "blocked_users",
246
+ children: "Blocked users"
247
+ }), /* @__PURE__ */ (0, L.jsx)(M, {
248
+ value: "blocked_domains",
249
+ children: "Blocked domains"
250
+ })] }),
251
+ /* @__PURE__ */ (0, L.jsx)(N, {
252
+ className: "mt-2",
253
+ value: "blocked_users",
254
+ children: !n && a.length === 0 ? /* @__PURE__ */ (0, L.jsxs)(l, { children: [/* @__PURE__ */ (0, L.jsx)(p, { children: /* @__PURE__ */ (0, L.jsx)(c, {}) }), /* @__PURE__ */ (0, L.jsx)("div", {
255
+ className: "mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center",
256
+ children: /* @__PURE__ */ (0, L.jsx)("p", { children: "When you block someone, they won't be able to follow you or interact with your content on the social web." })
257
+ })] }) : a.map((e, t) => /* @__PURE__ */ (0, L.jsx)(d, {
258
+ actor: e,
259
+ isCurrentUser: !0,
260
+ children: /* @__PURE__ */ (0, L.jsx)("div", { children: /* @__PURE__ */ (0, L.jsxs)(h, {
261
+ onClick: n ? void 0 : () => u(e.handle, z),
262
+ children: [
263
+ /* @__PURE__ */ (0, L.jsx)(A, { author: {
264
+ icon: { url: e.avatarUrl },
265
+ name: e.name,
266
+ handle: e.handle
267
+ } }),
268
+ /* @__PURE__ */ (0, L.jsxs)("div", {
269
+ className: "flex min-w-0 flex-col",
270
+ children: [/* @__PURE__ */ (0, L.jsx)("span", {
271
+ className: "block truncate font-semibold text-black dark:text-white",
272
+ children: n ? /* @__PURE__ */ (0, L.jsx)(j, { className: "w-24" }) : e.name
273
+ }), /* @__PURE__ */ (0, L.jsx)("span", {
274
+ className: "block truncate text-sm text-gray-600",
275
+ children: n ? /* @__PURE__ */ (0, L.jsx)(j, { className: "w-40" }) : e.handle
276
+ })]
277
+ }),
278
+ _.has(e.apId) ? /* @__PURE__ */ (0, L.jsx)(b, {
279
+ className: "ml-auto min-w-[90px] text-red hover:bg-red/5! hover:text-red-400",
280
+ variant: "outline",
281
+ onClick: (t) => {
282
+ t.stopPropagation(), J(e);
283
+ },
284
+ children: "Block"
285
+ }) : n ? /* @__PURE__ */ (0, L.jsx)("div", {
286
+ className: "ml-auto w-16",
287
+ children: /* @__PURE__ */ (0, L.jsx)(j, {})
288
+ }) : /* @__PURE__ */ (0, L.jsx)(b, {
289
+ className: "ml-auto min-w-[90px]",
290
+ variant: "destructive",
291
+ onClick: (t) => {
292
+ t.stopPropagation(), q(e);
293
+ },
294
+ onMouseEnter: () => R(e.apId),
295
+ onMouseLeave: () => R(null),
296
+ children: I === e.apId ? "Unblock" : "Blocked"
297
+ })
298
+ ]
299
+ }) })
300
+ }, e.apId ? e.apId : `loading-${t}`))
301
+ }),
302
+ /* @__PURE__ */ (0, L.jsx)(N, {
303
+ className: "mt-[11px]",
304
+ value: "blocked_domains",
305
+ children: !i && o.length === 0 ? /* @__PURE__ */ (0, L.jsxs)(l, { children: [/* @__PURE__ */ (0, L.jsx)(p, { children: /* @__PURE__ */ (0, L.jsx)(c, {}) }), /* @__PURE__ */ (0, L.jsx)("div", {
306
+ className: "mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center",
307
+ children: /* @__PURE__ */ (0, L.jsx)("p", { children: "When you block a domain, all users from that domain won't be able to follow you or interact with your content." })
308
+ })] }) : o.map((e, t) => /* @__PURE__ */ (0, L.jsxs)(h, { children: [/* @__PURE__ */ (0, L.jsx)("div", {
309
+ className: "flex min-w-0 flex-col",
310
+ children: /* @__PURE__ */ (0, L.jsx)("span", {
311
+ className: "block truncate font-semibold text-black dark:text-white",
312
+ children: i ? /* @__PURE__ */ (0, L.jsx)(j, { className: "w-48" }) : new URL(e.url).hostname
313
+ })
314
+ }), P.has(e.url) ? /* @__PURE__ */ (0, L.jsx)(b, {
315
+ className: "ml-auto min-w-[90px] text-red hover:bg-red/5! hover:text-red-400",
316
+ variant: "outline",
317
+ onClick: () => X(e),
318
+ children: "Block"
319
+ }) : i ? /* @__PURE__ */ (0, L.jsx)("div", {
320
+ className: "ml-auto w-16",
321
+ children: /* @__PURE__ */ (0, L.jsx)(j, {})
322
+ }) : /* @__PURE__ */ (0, L.jsx)(b, {
323
+ className: "ml-auto min-w-[90px]",
324
+ variant: "destructive",
325
+ onClick: () => Y(e),
326
+ onMouseEnter: () => R(e.url),
327
+ onMouseLeave: () => R(null),
328
+ children: I === e.url ? "Unblock" : "Blocked"
329
+ })] }, e.url ? e.url : `loading-${t}`))
330
+ })
331
+ ]
332
+ })
333
+ })
334
+ ]
335
+ }) });
336
+ };
337
+ //#endregion
338
+ export { de as default };
339
+
340
+ //# sourceMappingURL=moderation-CP6mDVky.js.map
@@ -1,11 +1,11 @@
1
1
  import { T as e, a as t, d as n, v as r, w as i } from "./_react-D4KM8XEu.js";
2
2
  import { S as a, d as o } from "./chunk-KS7C4IRE-CnTrsgmM.js";
3
- import { D as s, _ as c, a as l, b as u, g as d, i as f, m as p, r as m } from "./routes-CEHdEZzS.js";
3
+ import { M as s, S as c, T as l, a as u, h as d, i as f, r as p, x as m } from "./routes-nHCKlZl-.js";
4
4
  import { T as h, t as g } from "./use-navigate-with-base-path-iCkcbMGk.js";
5
- import { W as _ } from "./use-activity-pub-queries-CATFd6YV.js";
6
- import { c as v, l as y, u as b } from "./content-formatters-BORfuA9G.js";
5
+ import { K as _ } from "./use-activity-pub-queries-DUDEdSdR.js";
6
+ import { c as v, l as y, u as b } from "./content-formatters-DCsVic-t.js";
7
7
  import { t as x } from "./hash-DqXYHgzG.js";
8
- import { i as S, n as C, r as w, t as T } from "./use-reply-chain-data-DJ0vhA8V.js";
8
+ import { i as S, n as C, r as w, t as T } from "./use-reply-chain-data-TunGtmJl.js";
9
9
  //#region src/views/feed/note.tsx
10
10
  n();
11
11
  var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-full bg-gray-200 dark:bg-gray-950" }), O = () => {
@@ -39,7 +39,7 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
39
39
  q,
40
40
  P,
41
41
  G
42
- ]), W) return /* @__PURE__ */ (0, E.jsx)(l, { children: /* @__PURE__ */ (0, E.jsxs)("div", {
42
+ ]), W) return /* @__PURE__ */ (0, E.jsx)(u, { children: /* @__PURE__ */ (0, E.jsxs)("div", {
43
43
  className: "mx-auto flex max-w-[620px] flex-col items-center gap-3 pt-9 lg:px-8",
44
44
  children: [
45
45
  /* @__PURE__ */ (0, E.jsxs)("div", {
@@ -68,9 +68,9 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
68
68
  /* @__PURE__ */ (0, E.jsx)(D, {})
69
69
  ]
70
70
  }) });
71
- if (!H) return /* @__PURE__ */ (0, E.jsx)(l, { children: /* @__PURE__ */ (0, E.jsx)("div", {
71
+ if (!H) return /* @__PURE__ */ (0, E.jsx)(u, { children: /* @__PURE__ */ (0, E.jsx)("div", {
72
72
  className: "mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center",
73
- children: /* @__PURE__ */ (0, E.jsxs)(f, { children: [/* @__PURE__ */ (0, E.jsx)(m, { children: /* @__PURE__ */ (0, E.jsx)(x, {}) }), /* @__PURE__ */ (0, E.jsx)("div", { children: "Error loading note." })] })
73
+ children: /* @__PURE__ */ (0, E.jsxs)(f, { children: [/* @__PURE__ */ (0, E.jsx)(p, { children: /* @__PURE__ */ (0, E.jsx)(x, {}) }), /* @__PURE__ */ (0, E.jsx)("div", { children: "Error loading note." })] })
74
74
  }) });
75
75
  function $() {}
76
76
  function ee(e) {
@@ -97,7 +97,7 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
97
97
  }
98
98
  }
99
99
  }
100
- return /* @__PURE__ */ (0, E.jsx)(l, { children: /* @__PURE__ */ (0, E.jsx)("div", {
100
+ return /* @__PURE__ */ (0, E.jsx)(u, { children: /* @__PURE__ */ (0, E.jsx)("div", {
101
101
  className: "mx-auto flex h-full max-w-[620px] flex-col",
102
102
  children: /* @__PURE__ */ (0, E.jsx)("div", {
103
103
  className: "relative flex-1",
@@ -106,7 +106,7 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
106
106
  children: /* @__PURE__ */ (0, E.jsxs)("div", {
107
107
  className: "mx-auto px-8 pt-5 pb-10 max-lg:px-0",
108
108
  children: [
109
- !V.length && /* @__PURE__ */ (0, E.jsx)(u, {
109
+ !V.length && /* @__PURE__ */ (0, E.jsx)(l, {
110
110
  actor: H.actor,
111
111
  isCurrentUser: H.object.authored,
112
112
  children: /* @__PURE__ */ (0, E.jsxs)("div", {
@@ -135,13 +135,13 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
135
135
  children: y(H.actor)
136
136
  }), /* @__PURE__ */ (0, E.jsx)("span", {
137
137
  className: "text-gray-700",
138
- children: d(Y, !Y.authored)
138
+ children: m(Y, !Y.authored)
139
139
  })]
140
140
  })]
141
141
  })]
142
142
  })
143
143
  }),
144
- V.map((e) => e.object.type === "Tombstone" ? /* @__PURE__ */ (0, E.jsx)(w, { last: !1 }) : /* @__PURE__ */ (0, E.jsx)(p, {
144
+ V.map((e) => e.object.type === "Tombstone" ? /* @__PURE__ */ (0, E.jsx)(w, { last: !1 }) : /* @__PURE__ */ (0, E.jsx)(d, {
145
145
  actor: e.actor,
146
146
  allowDelete: !1,
147
147
  commentCount: e.object.replyCount ?? 0,
@@ -161,7 +161,7 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
161
161
  children: /* @__PURE__ */ (0, E.jsxs)("div", {
162
162
  className: `${V.length > 0 && "min-h-[calc(100vh-52px)]"}`,
163
163
  children: [
164
- /* @__PURE__ */ (0, E.jsx)(p, {
164
+ /* @__PURE__ */ (0, E.jsx)(d, {
165
165
  actor: H.actor,
166
166
  allowDelete: !1,
167
167
  commentCount: X,
@@ -181,7 +181,7 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
181
181
  children: [U.map((e, n) => {
182
182
  let r = n === U.length - 1, i = e.mainReply.id, a = O.has(i), o = A.has(i), s = M.has(i), c = e.chain.length > 0;
183
183
  return /* @__PURE__ */ (0, E.jsxs)(t.Fragment, { children: [
184
- /* @__PURE__ */ (0, E.jsx)(p, {
184
+ /* @__PURE__ */ (0, E.jsx)(d, {
185
185
  actor: e.mainReply.actor,
186
186
  allowDelete: e.mainReply.object.authored,
187
187
  commentCount: e.mainReply.object.replyCount ?? 0,
@@ -199,7 +199,7 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
199
199
  },
200
200
  onDelete: $
201
201
  }),
202
- c && e.chain[0] && /* @__PURE__ */ (0, E.jsx)(p, {
202
+ c && e.chain[0] && /* @__PURE__ */ (0, E.jsx)(d, {
203
203
  actor: e.chain[0].actor,
204
204
  allowDelete: e.chain[0].object.authored,
205
205
  commentCount: e.chain[0].object.replyCount ?? 0,
@@ -219,7 +219,7 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
219
219
  }, e.chain[0].id),
220
220
  c && a && e.chain.slice(1).map((t, r) => {
221
221
  let i = r === e.chain.slice(1).length - 1, a = J && J(n), o = i && a;
222
- return /* @__PURE__ */ (0, E.jsx)(p, {
222
+ return /* @__PURE__ */ (0, E.jsx)(d, {
223
223
  actor: t.actor,
224
224
  allowDelete: t.object.authored,
225
225
  commentCount: t.object.replyCount ?? 0,
@@ -270,4 +270,4 @@ var E = a(), D = () => /* @__PURE__ */ (0, E.jsx)("div", { className: "h-px w-fu
270
270
  //#endregion
271
271
  export { O as default };
272
272
 
273
- //# sourceMappingURL=note-nr_m_5yb.js.map
273
+ //# sourceMappingURL=note-BlFkye2g.js.map