ghost 6.55.0 → 6.56.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 (280) hide show
  1. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  2. package/components/tryghost-kg-default-cards-10.3.3.tgz +0 -0
  3. package/components/tryghost-kg-default-nodes-2.1.4.tgz +0 -0
  4. package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
  5. package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
  6. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  7. package/components/tryghost-nql-string-0.0.0.tgz +0 -0
  8. package/core/built/admin/assets/{Combination-CJG7Flp-.js → Combination-BCm9FL4o.js} +1 -1
  9. package/core/built/admin/assets/{PolarAngleAxis-BGjf7sBu.js → PolarAngleAxis-C4qtHy1B.js} +1 -1
  10. package/core/built/admin/assets/{RadialBarChart-zeFf9mBz.js → RadialBarChart-Bh09Stsj.js} +1 -1
  11. package/core/built/admin/assets/{account-migration-sjHLx5dy.js → account-migration-D3O_yVck.js} +1 -1
  12. package/core/built/admin/assets/activitypub/{account-migration-DoYXtnZ8.js → account-migration-D8FbP-Z-.js} +7 -7
  13. package/core/built/admin/assets/activitypub/activitypub.js +6 -6
  14. package/core/built/admin/assets/activitypub/{avatar-B3DEDB1l.js → avatar-11EA1VSs.js} +2 -2
  15. package/core/built/admin/assets/activitypub/{avatar-flipboard-Cqrg0XMx.js → avatar-flipboard-jfbLG-xe.js} +2 -2
  16. package/core/built/admin/assets/activitypub/{bluesky-sharing-Bxeh6MKW.js → bluesky-sharing-f1jTQe2P.js} +16 -16
  17. package/core/built/admin/assets/activitypub/{content-formatters-BpQARh28.js → content-formatters-nmTOPY9M.js} +3 -3
  18. package/core/built/admin/assets/activitypub/{copy-D9UWIAan.js → copy-BCwo9ep3.js} +2 -2
  19. package/core/built/admin/assets/activitypub/{dist-D8sFfdpC.js → dist-BEfX-0aW.js} +12 -12
  20. package/core/built/admin/assets/activitypub/{domain-CWueFW6q.js → domain-AaDlZlrA.js} +9 -9
  21. package/core/built/admin/assets/activitypub/{edit-profile-BGxPU7N5.js → edit-profile-DPi8Tl5M.js} +945 -945
  22. package/core/built/admin/assets/activitypub/{explore-DBK-u0Ch.js → explore-CxTzjILQ.js} +8 -8
  23. package/core/built/admin/assets/activitypub/{feed-Bcir5RQZ.js → feed-DPv5x2MX.js} +33 -33
  24. package/core/built/admin/assets/activitypub/{field-BV-CIT3d.js → field-DbgA8lat.js} +3 -3
  25. package/core/built/admin/assets/activitypub/{hash-BC9Q0N4c.js → hash-BWuZoYkA.js} +2 -2
  26. package/core/built/admin/assets/activitypub/{inbox-DQ4ZnC1m.js → inbox-35VDQ2K2.js} +2 -2
  27. package/core/built/admin/assets/activitypub/{inbox-yC0nfvzl.js → inbox-DSrF_i1O.js} +85 -85
  28. package/core/built/admin/assets/activitypub/{label-DTRS9TDk.js → label-CPjFBbo7.js} +3 -3
  29. package/core/built/admin/assets/activitypub/layout-CTgrezN7.js +1 -0
  30. package/core/built/admin/assets/activitypub/{moderation-Dwl9t0pb.js → moderation-BkDC1XVZ.js} +11 -11
  31. package/core/built/admin/assets/activitypub/{note-B-zKsZ7r.js → note-xEyH4xT-.js} +7 -7
  32. package/core/built/admin/assets/activitypub/{notifications-DjJZD54t.js → notifications-DClaL3ui.js} +9 -9
  33. package/core/built/admin/assets/activitypub/{preferences-CoU8vs6d.js → preferences-DpnOa-4Z.js} +20 -20
  34. package/core/built/admin/assets/activitypub/{profile-BAsaJekx.js → profile-Dvi9mz-6.js} +237 -237
  35. package/core/built/admin/assets/activitypub/{reply-CpdMeAO5.js → reply-Cs9ySd6Z.js} +2 -2
  36. package/core/built/admin/assets/activitypub/{routes-CLH3OVTP.js → routes-DFBeTnfn.js} +1139 -1150
  37. package/core/built/admin/assets/activitypub/{separator-BI1FLsYM.js → separator-C5u_VjzY.js} +3 -3
  38. package/core/built/admin/assets/activitypub/{settings-DA6pNJ-Q.js → settings-CV2fFu6D.js} +13 -13
  39. package/core/built/admin/assets/activitypub/{site-CQD42Pw5.js → site-_TgDd_EM.js} +81 -81
  40. package/core/built/admin/assets/activitypub/{step-1-DIDg4aHb.js → step-1-BfnNL2oF.js} +5 -5
  41. package/core/built/admin/assets/activitypub/{step-2-BfGe8BYt.js → step-2-DLndZkO-.js} +6 -6
  42. package/core/built/admin/assets/activitypub/{step-3-mE9spAqw.js → step-3-A-PZTtRE.js} +10 -10
  43. package/core/built/admin/assets/activitypub/{tabs-Cg0saow1.js → tabs-BUbz7tea.js} +317 -315
  44. package/core/built/admin/assets/activitypub/{topic-filter-DLHBZT93.js → topic-filter-BdX_xYYT.js} +3 -3
  45. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-VzbN99u_.js → use-activity-pub-queries-EwuRemHh.js} +2 -2
  46. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-CAwXTmqH.js → use-navigate-with-base-path-cy4ACBc4.js} +92 -90
  47. package/core/built/admin/assets/activitypub/{use-reply-chain-data-Br4aOWOh.js → use-reply-chain-data-CyFcGfan.js} +5 -5
  48. package/core/built/admin/assets/activitypub/{x-C8tAnXly.js → x-7zk8mV2p.js} +2 -2
  49. package/core/built/admin/assets/{audience-DjEWNhp3.js → audience-CkBb2LlO.js} +1 -1
  50. package/core/built/admin/assets/{automated-emails-DRy7qY-J.js → automated-emails-6t2bIRWf.js} +1 -1
  51. package/core/built/admin/assets/{automations-Bx3VcFIL.js → automations-cMllU545.js} +1 -1
  52. package/core/built/admin/assets/{bluesky-sharing-ClMd0-Ft.js → bluesky-sharing-DPGpyD-G.js} +1 -1
  53. package/core/built/admin/assets/{box-BWbhXh21.js → box-By_EgGtm.js} +1 -1
  54. package/core/built/admin/assets/{breadcrumb-BD0U2ygg.js → breadcrumb-DIfcF5ow.js} +1 -1
  55. package/core/built/admin/assets/build-CsiH26uS.js +1 -0
  56. package/core/built/admin/assets/{card-DGoDJzrn.js → card-aUHX0hyR.js} +1 -1
  57. package/core/built/admin/assets/{chart-BuRT2Y6p.js → chart-BnXyfH11.js} +1 -1
  58. package/core/built/admin/assets/{chart-helpers-fjQKRVyY.js → chart-helpers-DV0FkdcD.js} +1 -1
  59. package/core/built/admin/assets/{checkbox-CWa28lgO.js → checkbox-BIl077a0.js} +1 -1
  60. package/core/built/admin/assets/{chunk.481.6c7395a49484bb4583aa.js → chunk.332.05991a101d67f732dec3.js} +43 -42
  61. package/core/built/admin/assets/chunk.524.87b52f4fada529df2c4c.js +25 -0
  62. package/core/built/admin/assets/chunk.582.340bcca873e806cbd4bb.js +27 -0
  63. package/core/built/admin/assets/{code-editor-view-CCr0rBWS.js → code-editor-view-C0aWNwdl.js} +1 -1
  64. package/core/built/admin/assets/comments-qwhIjH3c.js +1 -0
  65. package/core/built/admin/assets/{container-BYz2Ed39.js → container-LiZf3XdY.js} +1 -1
  66. package/core/built/admin/assets/{data-list-16rkJYYi.js → data-list-CupF7bjM.js} +1 -1
  67. package/core/built/admin/assets/{date-range-select-BFp58EMk.js → date-range-select-dXc-GsVe.js} +1 -1
  68. package/core/built/admin/assets/{disabled-sources-indicator-CUxMfiPa.js → disabled-sources-indicator-DYAXW-6V.js} +1 -1
  69. package/core/built/admin/assets/dist-BUKmD51u.js +1 -0
  70. package/core/built/admin/assets/{dist-2Tnz2Yfq.js → dist-CNlMj7ML.js} +1 -1
  71. package/core/built/admin/assets/{dist-DGzPJ_bO.js → dist-Cb5RSHSg.js} +1 -1
  72. package/core/built/admin/assets/{dist-P_ohUlTi.js → dist-CqO2lWS0.js} +1 -1
  73. package/core/built/admin/assets/domain-B5ogXUBa.js +1 -0
  74. package/core/built/admin/assets/{dropzone-DlK-K2DQ.js → dropzone-BnFG7dDP.js} +1 -1
  75. package/core/built/admin/assets/{edit-profile-BKT-REJw.js → edit-profile-B07jCZy9.js} +1 -1
  76. package/core/built/admin/assets/editor-DDYSOXGN.js +8 -0
  77. package/core/built/admin/assets/{empty-indicator-oX1u1Pkn.js → empty-indicator-WB1WgT9h.js} +1 -1
  78. package/core/built/admin/assets/{explore-ClUpJZOp.js → explore-Ca1y8HW_.js} +1 -1
  79. package/core/built/admin/assets/{feed-DF92dUMP.js → feed-x4iFMBP4.js} +1 -1
  80. package/core/built/admin/assets/{field-Do7lieBA.js → field-ChCAabZg.js} +1 -1
  81. package/core/built/admin/assets/filter-sources-LdtH1e-T.js +1 -0
  82. package/core/built/admin/assets/filters-CLehPo_D.js +1 -0
  83. package/core/built/admin/assets/filters-CjVKRP8U.js +1 -0
  84. package/core/built/admin/assets/{ghost-c4057474943effc568c5659ccc4909d7.js → ghost-7f01131115186d1af84ead76e79646dd.js} +149 -129
  85. package/core/built/admin/assets/{ghost-a9c788f6f0b1ea6cf0f14ca4b13f4496.css → ghost-d38c30b866e59f2e06a357b5eb844fe5.css} +1 -1
  86. package/core/built/admin/assets/{ghost-dark-db36d795d21c61426837df40af270966.css → ghost-dark-1bffd5099ba7a749303133efacf8480b.css} +1 -1
  87. package/core/built/admin/assets/{gift-link-modal-f9VIMNDv.js → gift-link-modal-Buqh2vXh.js} +1 -1
  88. package/core/built/admin/assets/{growth-B3I6gNLm.js → growth-DajOBdN0.js} +1 -1
  89. package/core/built/admin/assets/{growth-CVw1My4S.js → growth-Dy2UOSay.js} +2 -2
  90. package/core/built/admin/assets/{inbox-CFBSu4Ed.js → inbox-BUOLDoji.js} +12 -12
  91. package/core/built/admin/assets/index-08n05-rc.js +67 -0
  92. package/core/built/admin/assets/index-DgUzgFvS.css +1 -0
  93. package/core/built/admin/assets/{inline-EMAm3okk.js → inline-Cw-gigDW.js} +1 -1
  94. package/core/built/admin/assets/input-group-uSK3XT7b.js +1 -0
  95. package/core/built/admin/assets/{input-surface-BpAjZXY5.js → input-surface-BdOe4KzO.js} +1 -1
  96. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +9535 -9527
  97. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +124 -124
  98. package/core/built/admin/assets/{koenig-lexical-f8vHRYvz.js → koenig-lexical-BFc4yFed.js} +86 -86
  99. package/core/built/admin/assets/{kpi-card-DSap9rAy.js → kpi-card-BN-E6WYX.js} +1 -1
  100. package/core/built/admin/assets/{kpi-card-DU0rn9Cj.js → kpi-card-CCt-qeWD.js} +1 -1
  101. package/core/built/admin/assets/{kpi-helpers-Dz33AV6h.js → kpi-helpers-DlxTbTs4.js} +1 -1
  102. package/core/built/admin/assets/{kpi-tabs-BtTTrKvJ.js → kpi-tabs-BlcUttpn.js} +1 -1
  103. package/core/built/admin/assets/{label-DS8Mi6G5.js → label-AVrxwmsz.js} +1 -1
  104. package/core/built/admin/assets/{label-picker-1DvSuLA1.js → label-picker-DVnpu_IF.js} +1 -1
  105. package/core/built/admin/assets/labels-DAIqKed7.js +1 -0
  106. package/core/built/admin/assets/layout-B0YLh7R9.js +1 -0
  107. package/core/built/admin/assets/link-helpers-D9LsDOkG.js +1 -0
  108. package/core/built/admin/assets/{list-page-B6ANtzkd.js → list-page-CdsnQR9N.js} +1 -1
  109. package/core/built/admin/assets/member-custom-fields-C8NpZYza.js +1 -0
  110. package/core/built/admin/assets/member-detail-CIVAdKXf.js +1 -0
  111. package/core/built/admin/assets/{members-CQpVFJu4.js → members-oLPiSkXD.js} +2 -2
  112. package/core/built/admin/assets/modals-CB7v-k3T.js +31 -0
  113. package/core/built/admin/assets/{moderation-DySbgyUS.js → moderation-CQ3urTFE.js} +1 -1
  114. package/core/built/admin/assets/newsletter-rbeDX9Wk.js +1 -0
  115. package/core/built/admin/assets/newsletters-vt3Ni1Ov.js +1 -0
  116. package/core/built/admin/assets/{note-C8kxrz6w.js → note-Dk877BTv.js} +1 -1
  117. package/core/built/admin/assets/{notifications-CgtSfX7t.js → notifications-CPlLjPxO.js} +1 -1
  118. package/core/built/admin/assets/{onboarding-route-4qtziA9d.js → onboarding-route-DdStOtjy.js} +1 -1
  119. package/core/built/admin/assets/{overview-Bf2sbznq.js → overview--4V-kx9c.js} +1 -1
  120. package/core/built/admin/assets/overview-DSLv30oz.js +1 -0
  121. package/core/built/admin/assets/{page-header-B3Wb9Jqv.js → page-header-pp4dWmOS.js} +1 -1
  122. package/core/built/admin/assets/{post-analytics-We-ko5Cb.js → post-analytics-BMJrI81R.js} +1 -1
  123. package/core/built/admin/assets/post-analytics-header-pU2m9ZuV.js +1 -0
  124. package/core/built/admin/assets/{post-analytics-provider-B6UynTGb.js → post-analytics-provider-Btml5vJI.js} +1 -1
  125. package/core/built/admin/assets/{post-share-modal-DFfO93_0.js → post-share-modal-AcUZkbfL.js} +1 -1
  126. package/core/built/admin/assets/preferences-Ru4CRPHC.js +5 -0
  127. package/core/built/admin/assets/profile-BNb1oj7D.js +1 -0
  128. package/core/built/admin/assets/{router-provider-C1R4AZ2o.js → router-provider-BmEZf6c6.js} +1 -1
  129. package/core/built/admin/assets/select-B0HteHrp.js +1 -0
  130. package/core/built/admin/assets/settings-B1C9Q3wo.js +4 -0
  131. package/core/built/admin/assets/{settings-WXNeWyU1.js → settings-BGgk7oCI.js} +1 -1
  132. package/core/built/admin/assets/{shade-app-B3heOAfz-CGXQwWeO.js → shade-app-B3heOAfz-BhQXxNkT.js} +1 -1
  133. package/core/built/admin/assets/{share-modal-DsgW3wbg.js → share-modal-BeuydaBf.js} +1 -1
  134. package/core/built/admin/assets/social-urls-DA2lXrhW.js +8 -0
  135. package/core/built/admin/assets/{sort-button-Bb_FCl7e.js → sort-button-Df4t2AL8.js} +1 -1
  136. package/core/built/admin/assets/{source-icon-BeaRxUn9.js → source-icon-ajoaKb41.js} +1 -1
  137. package/core/built/admin/assets/{stack-xiN0eQ6Z.js → stack-CIfOAAVf.js} +1 -1
  138. package/core/built/admin/assets/{stats-Bjj_kmJ1.js → stats-C_lfxZAw.js} +1 -1
  139. package/core/built/admin/assets/{stats-view-BxPbW6K1.js → stats-view-Cxot1iD8.js} +1 -1
  140. package/core/built/admin/assets/{step-1-B1e3-1F8.js → step-1-ogAA4lDr.js} +1 -1
  141. package/core/built/admin/assets/{step-2-C5WaeBJo.js → step-2-C5Xini-7.js} +1 -1
  142. package/core/built/admin/assets/{step-3-B46iVPwu.js → step-3-CZv1FV81.js} +2 -2
  143. package/core/built/admin/assets/{switch-z5Y6Uzt6.js → switch-CyQcwMAv.js} +1 -1
  144. package/core/built/admin/assets/{table-CB-4_HBJ.js → table-DFj1wiYv.js} +1 -1
  145. package/core/built/admin/assets/{tabs-CCEgKYzq.js → tabs-D4y1gqUd.js} +1 -1
  146. package/core/built/admin/assets/{tags-Cg2VJGmG.js → tags-Dmft-Y4O.js} +1 -1
  147. package/core/built/admin/assets/{text-DwtjwGkh.js → text-DU9Hv33_.js} +1 -1
  148. package/core/built/admin/assets/textarea-d9qEkMOP.js +1 -0
  149. package/core/built/admin/assets/{toggle-group-b3IlxvhV.js → toggle-group-R2QMFvXW.js} +1 -1
  150. package/core/built/admin/assets/{topic-filter-DAFT87tQ.js → topic-filter-DGDxDalo.js} +1 -1
  151. package/core/built/admin/assets/{use-analytics-data-S0FTd43s.js → use-analytics-data-C76v4LIp.js} +1 -1
  152. package/core/built/admin/assets/use-filter-params-WrdhAISv.js +1 -0
  153. package/core/built/admin/assets/{use-growth-stats-CIaiHOVb.js → use-growth-stats-aNXJOmQr.js} +1 -1
  154. package/core/built/admin/assets/{use-post-referrers-Cq2vBPrA.js → use-post-referrers-CG0SZioj.js} +1 -1
  155. package/core/built/admin/assets/{use-reply-chain-data-DBDRtGu-.js → use-reply-chain-data-RLdPKRmS.js} +1 -1
  156. package/core/built/admin/assets/{use-simple-pagination-CjYNxdwe.js → use-simple-pagination-DgcF69KI.js} +1 -1
  157. package/core/built/admin/assets/{use-tinybird-query-falHAtuK.js → use-tinybird-query-C1R_Kbmy.js} +1 -1
  158. package/core/built/admin/assets/{use-tinybird-token-D7-8ND1y.js → use-tinybird-token-C9fPjVM_.js} +1 -1
  159. package/core/built/admin/assets/{virtual-list-CvnC9zF2.js → virtual-list-BmTUzeoF.js} +1 -1
  160. package/core/built/admin/assets/{web-B_5GZRvH.js → web-BqW0b0_C.js} +1 -1
  161. package/core/built/admin/assets/web-Cy5GKMWM.js +2 -0
  162. package/core/built/admin/index.html +16 -16
  163. package/core/frontend/services/data/fetch-data.js +10 -5
  164. package/core/frontend/services/routing/api-adapter.js +115 -0
  165. package/core/frontend/services/routing/api-adapter.ts +157 -0
  166. package/core/frontend/services/routing/collection-router.js +5 -3
  167. package/core/frontend/services/routing/controllers/index.js +1 -1
  168. package/core/frontend/services/routing/controllers/rss.js +26 -31
  169. package/core/frontend/services/routing/controllers/rss.ts +66 -0
  170. package/core/frontend/services/routing/controllers/static.js +8 -7
  171. package/core/frontend/services/routing/parent-router.js +17 -4
  172. package/core/frontend/services/routing/permalink-adapter.js +26 -0
  173. package/core/frontend/services/routing/permalink-adapter.ts +23 -0
  174. package/core/frontend/services/routing/registry.js +59 -33
  175. package/core/frontend/services/routing/router-manager.js +9 -13
  176. package/core/frontend/services/routing/static-routes-router.js +4 -4
  177. package/core/frontend/services/routing/taxonomy-router.js +6 -2
  178. package/core/server/data/migrations/versions/6.56/2026-08-03-19-27-51-add-automation-run-step-id-to-automated-email-recipients.js +8 -0
  179. package/core/server/data/migrations/versions/6.56/2026-08-04-14-42-39-restrict-notification-add-permission-to-administrators.js +12 -0
  180. package/core/server/data/schema/fixtures/fixtures.json +2 -2
  181. package/core/server/data/schema/schema.js +1 -0
  182. package/core/server/models/post.js +10 -1
  183. package/core/server/services/automations/automations-repository.ts +3 -1
  184. package/core/server/services/automations/database-automations-repository.js +33 -14
  185. package/core/server/services/automations/database-automations-repository.ts +41 -15
  186. package/core/server/services/automations/get-scheduler-idempotency-key.js +13 -0
  187. package/core/server/services/automations/get-scheduler-idempotency-key.ts +8 -0
  188. package/core/server/services/automations/poll.js +3 -1
  189. package/core/server/services/automations/poll.ts +4 -1
  190. package/core/server/services/automations/service.js +5 -1
  191. package/core/server/services/automations/service.ts +5 -1
  192. package/core/server/services/gift-links/CONTEXT.md +9 -0
  193. package/core/server/services/gifts/CONTEXT.md +55 -0
  194. package/core/server/services/gifts/README.md +28 -0
  195. package/core/server/services/gifts/gift-bookshelf-repository.js +65 -45
  196. package/core/server/services/gifts/gift-bookshelf-repository.ts +203 -74
  197. package/core/server/services/gifts/gift-checkout-adapter.js +59 -0
  198. package/core/server/services/gifts/gift-checkout-offer.js +74 -0
  199. package/core/server/services/gifts/gift-checkout-offer.ts +127 -0
  200. package/core/server/services/gifts/gift-codec.js +63 -0
  201. package/core/server/services/gifts/gift-codec.ts +62 -0
  202. package/core/server/services/gifts/gift-controller.js +6 -31
  203. package/core/server/services/gifts/gift-controller.ts +6 -69
  204. package/core/server/services/gifts/gift-email-service.ts +3 -2
  205. package/core/server/services/gifts/gift-schema.js +34 -0
  206. package/core/server/services/gifts/gift-schema.ts +39 -0
  207. package/core/server/services/gifts/gift-service-wrapper.js +13 -11
  208. package/core/server/services/gifts/gift-service.js +265 -52
  209. package/core/server/services/gifts/gift-service.ts +431 -97
  210. package/core/server/services/gifts/gift.ts +16 -39
  211. package/core/server/services/link-tracking/link-click-repository.js +6 -1
  212. package/core/server/services/link-tracking/link-click-tracking-service.js +12 -3
  213. package/core/server/services/member-welcome-emails/member-welcome-email-renderer.js +4 -3
  214. package/core/server/services/member-welcome-emails/service.js +7 -3
  215. package/core/server/services/members/api.js +1 -2
  216. package/core/server/services/members/import-export/import/importer.ts +3 -2
  217. package/core/server/services/members/import-export/index.js +10 -2
  218. package/core/server/services/members/import-export/index.ts +14 -4
  219. package/core/server/services/members/members-api/controllers/router-controller.js +38 -36
  220. package/core/server/services/members/members-api/members-api.js +13 -7
  221. package/core/server/services/members/members-api/repositories/event-repository.js +4 -94
  222. package/core/server/services/members/members-api/services/member-bread-service.js +3 -3
  223. package/core/server/services/members/members-api/services/payments-service.js +6 -68
  224. package/core/server/services/members-custom-fields/schema.js +8 -1
  225. package/core/server/services/members-custom-fields/schema.ts +8 -0
  226. package/core/server/services/members-custom-fields/values-service.js +118 -2
  227. package/core/server/services/members-custom-fields/values-service.ts +134 -4
  228. package/core/server/services/oembed/oembed-service.js +44 -3
  229. package/core/server/services/posts/posts-service.js +11 -0
  230. package/core/server/services/route-settings/dynamic-routing-service.js +1 -3
  231. package/core/server/services/route-settings/route-settings-parser.js +25 -25
  232. package/core/server/services/route-settings/route-settings-parser.ts +27 -27
  233. package/core/server/services/route-settings/validation-errors.js +68 -4
  234. package/core/server/services/route-settings/validation-errors.ts +79 -4
  235. package/core/server/services/stats/posts-stats-service.js +27 -23
  236. package/core/server/services/stripe/services/webhook/charge-refunded-event-service.js +1 -1
  237. package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +16 -4
  238. package/core/server/services/stripe/stripe-api.js +10 -0
  239. package/core/server/web/gift-preview/controller.js +10 -25
  240. package/core/shared/labs.js +2 -2
  241. package/package.json +10 -9
  242. package/pnpm-lock.yaml +28 -18
  243. package/pnpm-workspace.yaml +5 -4
  244. package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
  245. package/core/built/admin/assets/activitypub/layout-qx-bUL1k.js +0 -1
  246. package/core/built/admin/assets/chunk.524.cffd399783a519e404a9.js +0 -25
  247. package/core/built/admin/assets/chunk.582.eebf0d0b2d202bb746a5.js +0 -27
  248. package/core/built/admin/assets/comments-DyUSMUdj.js +0 -1
  249. package/core/built/admin/assets/dist-CjY-f5Z1.js +0 -1
  250. package/core/built/admin/assets/domain-C0bV2UV8.js +0 -1
  251. package/core/built/admin/assets/editor-Dp865O-4.js +0 -8
  252. package/core/built/admin/assets/filter-sources-BV2rnpfA.js +0 -1
  253. package/core/built/admin/assets/filters-CUXJ2Nm9.js +0 -1
  254. package/core/built/admin/assets/filters-DfbIWc_l.js +0 -1
  255. package/core/built/admin/assets/index-9Cw8z3rA.css +0 -1
  256. package/core/built/admin/assets/index-BGG7NckO.js +0 -67
  257. package/core/built/admin/assets/input-group-BSgG_lVw.js +0 -1
  258. package/core/built/admin/assets/labels-CDSUt4J_.js +0 -1
  259. package/core/built/admin/assets/layout-yQEi2qDM.js +0 -1
  260. package/core/built/admin/assets/link-helpers-7EYqvvHs.js +0 -1
  261. package/core/built/admin/assets/member-custom-fields-yOMHyAg9.js +0 -1
  262. package/core/built/admin/assets/member-detail-BAq7gDaa.js +0 -1
  263. package/core/built/admin/assets/modals-ReORvWnu.js +0 -31
  264. package/core/built/admin/assets/newsletter-CJQvtHqN.js +0 -1
  265. package/core/built/admin/assets/newsletters-B3QQXfGT.js +0 -1
  266. package/core/built/admin/assets/nql-BsgFMd93.js +0 -1
  267. package/core/built/admin/assets/overview-CBfePxcr.js +0 -1
  268. package/core/built/admin/assets/post-analytics-header-Bmc9su6q.js +0 -1
  269. package/core/built/admin/assets/preferences-DJPfHEGu.js +0 -5
  270. package/core/built/admin/assets/profile-DqBQp-gT.js +0 -1
  271. package/core/built/admin/assets/select-C5_xEt5b.js +0 -1
  272. package/core/built/admin/assets/settings-BwiVIXau.js +0 -4
  273. package/core/built/admin/assets/social-urls-BQPFEk1_.js +0 -8
  274. package/core/built/admin/assets/textarea-Bjccvh_E.js +0 -1
  275. package/core/built/admin/assets/use-filter-params-Gpoq2E1L.js +0 -1
  276. package/core/built/admin/assets/web-jFYWCKDn.js +0 -2
  277. package/core/server/services/gifts/gift-repository.js +0 -2
  278. package/core/server/services/gifts/gift-repository.ts +0 -29
  279. package/core/server/services/route-settings/activation-bridge.js +0 -174
  280. package/core/server/services/route-settings/activation-bridge.ts +0 -250
@@ -1,14 +1,14 @@
1
1
  import { A as e, S as t, T as n, a as r, d as i, g as a, v as o, w as s } from "./_react-D4KM8XEu.js";
2
2
  import { S as c, d as l } from "./chunk-KS7C4IRE-D4HEcEwi.js";
3
- import { D as u, G as d, H as f, J as p, K as m, S as h, St as g, U as _, V as v, Y as ee, _ as te, a as y, b, g as x, m as S, n as C, o as w, v as ne, x as T, y as E, z as D } from "./routes-CLH3OVTP.js";
4
- import { T as re, g as ie, r as O, t as ae, y as oe } from "./use-navigate-with-base-path-CAwXTmqH.js";
5
- import { G as k, P as se, W as ce, b as A, h as le } from "./use-activity-pub-queries-VzbN99u_.js";
6
- import { a as j, c as ue, f as M, i as de, l as fe, n as N, r as P, t as pe, u as F } from "./content-formatters-BpQARh28.js";
7
- import { t as I } from "./inbox-DQ4ZnC1m.js";
8
- import { i as me, n as he, r as ge, t as _e } from "./use-reply-chain-data-Br4aOWOh.js";
9
- import { t as L } from "./separator-BI1FLsYM.js";
10
- import "./layout-qx-bUL1k.js";
11
- import { t as R } from "./topic-filter-DLHBZT93.js";
3
+ import { B as u, D as d, H as f, K as p, S as m, U as h, W as g, X as _, Y as v, _ as ee, a as te, b as y, g as b, m as x, n as S, o as C, q as w, v as ne, wt as T, x as E, y as D } from "./routes-DFBeTnfn.js";
4
+ import { T as re, g as ie, r as O, t as ae, y as oe } from "./use-navigate-with-base-path-cy4ACBc4.js";
5
+ import { G as k, P as se, W as A, b as j, h as ce } from "./use-activity-pub-queries-EwuRemHh.js";
6
+ import { a as M, c as le, f as ue, i as de, l as fe, n as N, r as P, t as pe, u as F } from "./content-formatters-nmTOPY9M.js";
7
+ import { t as I } from "./inbox-35VDQ2K2.js";
8
+ import { i as me, n as he, r as ge, t as _e } from "./use-reply-chain-data-CyFcGfan.js";
9
+ import { t as L } from "./separator-C5u_VjzY.js";
10
+ import "./layout-CTgrezN7.js";
11
+ import { t as R } from "./topic-filter-BdX_xYYT.js";
12
12
  var z = ie("minus", [["path", {
13
13
  d: "M5 12h14",
14
14
  key: "1ays0h"
@@ -126,17 +126,17 @@ var U = [
126
126
  onIncreaseFontSize: o,
127
127
  onOpenChange: c,
128
128
  onResetFontSize: s
129
- }), K = ({ backgroundColor: e, isActiveColor: t, isActiveFont: n, onColorChange: r, onFontStyleChange: i, currentFontSizeIndex: a, onDecreaseFontSize: o, onIncreaseFontSize: s, onResetFontSize: c, onOpenChange: l }) => /* @__PURE__ */ (0, B.jsxs)(D, {
129
+ }), K = ({ backgroundColor: e, isActiveColor: t, isActiveFont: n, onColorChange: r, onFontStyleChange: i, currentFontSizeIndex: a, onDecreaseFontSize: o, onIncreaseFontSize: s, onResetFontSize: c, onOpenChange: l }) => /* @__PURE__ */ (0, B.jsxs)(u, {
130
130
  modal: !1,
131
131
  onOpenChange: l,
132
- children: [/* @__PURE__ */ (0, B.jsx)(f, {
132
+ children: [/* @__PURE__ */ (0, B.jsx)(h, {
133
133
  asChild: !0,
134
134
  children: /* @__PURE__ */ (0, B.jsx)(O, {
135
135
  className: `size-9 rounded-full ${G[e].button}`,
136
136
  variant: "ghost",
137
- children: /* @__PURE__ */ (0, B.jsx)(g.Typography, { className: "size-[18px]!" })
137
+ children: /* @__PURE__ */ (0, B.jsx)(T.Typography, { className: "size-[18px]!" })
138
138
  })
139
- }), /* @__PURE__ */ (0, B.jsx)(v, {
139
+ }), /* @__PURE__ */ (0, B.jsx)(f, {
140
140
  align: "end",
141
141
  className: "w-[224px]",
142
142
  onCloseAutoFocus: (e) => e.preventDefault(),
@@ -217,7 +217,7 @@ var U = [
217
217
  disabled: a === U.length - 1,
218
218
  variant: "secondary",
219
219
  onClick: s,
220
- children: /* @__PURE__ */ (0, B.jsx)(M, {})
220
+ children: /* @__PURE__ */ (0, B.jsx)(ue, {})
221
221
  })
222
222
  ]
223
223
  })
@@ -289,40 +289,40 @@ var be = ({ tocItems: e, iframeElement: t, modalRef: i, className: a = "visible!
289
289
  if (r.useEffect(() => () => {
290
290
  c.current && clearTimeout(c.current);
291
291
  }, []), e.length === 0) return null;
292
- let l = (e) => Math.min(e, 3), u = (e) => xe[l(e)], d = (e) => Se[l(e)], p = () => {
292
+ let l = (e) => Math.min(e, 3), d = (e) => xe[l(e)], p = (e) => Se[l(e)], m = () => {
293
293
  c.current && clearTimeout(c.current), s(!0), a?.(!0);
294
- }, m = () => {
294
+ }, g = () => {
295
295
  c.current = setTimeout(() => {
296
296
  s(!1), a?.(!1);
297
297
  }, 100);
298
298
  };
299
- return /* @__PURE__ */ (0, B.jsxs)(D, {
299
+ return /* @__PURE__ */ (0, B.jsxs)(u, {
300
300
  modal: !1,
301
301
  open: o,
302
302
  onOpenChange: s,
303
- children: [/* @__PURE__ */ (0, B.jsx)(f, {
303
+ children: [/* @__PURE__ */ (0, B.jsx)(h, {
304
304
  asChild: !0,
305
305
  children: /* @__PURE__ */ (0, B.jsx)("div", {
306
306
  className: "absolute top-1/2 right-2 flex -translate-y-1/2 flex-col items-end gap-2 rounded-md p-2 text-base dark:bg-black",
307
- onMouseEnter: p,
308
- onMouseLeave: m,
309
- children: e.map((e) => /* @__PURE__ */ (0, B.jsx)("div", { className: `h-[2px] rounded-sm ${t === e.id ? "bg-black dark:bg-white" : "bg-gray-400 dark:bg-gray-700"} pr-1 transition-all ${u(e.level)}` }, e.id))
307
+ onMouseEnter: m,
308
+ onMouseLeave: g,
309
+ children: e.map((e) => /* @__PURE__ */ (0, B.jsx)("div", { className: `h-[2px] rounded-sm ${t === e.id ? "bg-black dark:bg-white" : "bg-gray-400 dark:bg-gray-700"} pr-1 transition-all ${d(e.level)}` }, e.id))
310
310
  })
311
- }), /* @__PURE__ */ (0, B.jsx)(v, {
311
+ }), /* @__PURE__ */ (0, B.jsx)(f, {
312
312
  align: "center",
313
313
  className: "w-[240px] p-2",
314
314
  side: "left",
315
315
  sideOffset: -28,
316
316
  onCloseAutoFocus: (e) => e.preventDefault(),
317
- onMouseEnter: p,
318
- onMouseLeave: m,
317
+ onMouseEnter: m,
318
+ onMouseLeave: g,
319
319
  onOpenAutoFocus: (e) => e.preventDefault(),
320
320
  children: /* @__PURE__ */ (0, B.jsx)("nav", {
321
321
  "aria-label": "Table of contents navigation",
322
322
  className: "max-h-[60vh] overflow-y-auto",
323
323
  role: "navigation",
324
324
  children: e.map((e) => /* @__PURE__ */ (0, B.jsx)("button", {
325
- className: `line-clamp-2 block w-full cursor-pointer rounded py-1 text-left text-sm leading-tight ${t === e.id ? "text-black dark:text-white" : "text-gray-700 dark:text-gray-600"} hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-grey-950 dark:hover:text-white ${d(e.level)}`,
325
+ className: `line-clamp-2 block w-full cursor-pointer rounded py-1 text-left text-sm leading-tight ${t === e.id ? "text-black dark:text-white" : "text-gray-700 dark:text-gray-600"} hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-grey-950 dark:hover:text-white ${p(e.level)}`,
326
326
  type: "button",
327
327
  onClick: () => i(e.id),
328
328
  children: /* @__PURE__ */ (0, B.jsx)("span", {
@@ -361,7 +361,7 @@ var be = ({ tocItems: e, iframeElement: t, modalRef: i, className: a = "visible!
361
361
  //#region src/views/inbox/components/reader.tsx
362
362
  i();
363
363
  var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, backgroundColor: u, fontSize: d, fontStyle: f, onHeadingsExtracted: p, onIframeLoad: m, onLoadingChange: h, isPopoverOpen: g }) => {
364
- let _ = s(null), [v, ee] = n(!0), [te, y] = n("0px"), b = document.documentElement.classList.contains("dark") && u === "SYSTEM" || u === "DARK", x = we(), S = typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(hover: none) and (pointer: coarse)").matches, C = t(() => j(de(S ? pe(l) : l)), [l, S]), w = `
364
+ let _ = s(null), [v, ee] = n(!0), [te, y] = n("0px"), b = document.documentElement.classList.contains("dark") && u === "SYSTEM" || u === "DARK", x = we(), S = typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(hover: none) and (pointer: coarse)").matches, C = t(() => M(de(S ? pe(l) : l)), [l, S]), w = `
365
365
  <html class="has-${b ? "light" : "dark"}-text has-${f}-body ${u === "SEPIA" && "has-sepia-bg"}">
366
366
  <head>
367
367
  ${x}
@@ -617,31 +617,31 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
617
617
  })
618
618
  });
619
619
  }, ft = () => /* @__PURE__ */ (0, B.jsx)("div", { className: "h-px bg-black/[8%] dark:bg-gray-950" }), $ = /* @__PURE__ */ new Map(), pt = ({ postId: e = null, onClose: t }) => {
620
- let { backgroundColor: i, currentFontSizeIndex: c, fontStyle: l, fontSize: d, handleColorChange: f, setFontStyle: p, increaseFontSize: m, decreaseFontSize: g, resetFontSize: _ } = ve(), v = s(null), [ee, y] = n(!1), [C, D] = n(!1), [re, ie] = n(/* @__PURE__ */ new Set()), [O, oe] = n(/* @__PURE__ */ new Set()), [k, se] = n(/* @__PURE__ */ new Set()), [A, le] = n(!1), j = s(null), M = s(null), { post: de, processedReplies: N, isLoading: P, loadMoreChildren: pe, loadMoreChildReplies: I, hasMoreChildren: L, hasMoreChildReplies: R } = _e(e ?? "", { includeAncestors: !1 }), z = de, V = z?.object, H = z?.actor, U = z?.object?.metadata?.ghostAuthors, W = V?.replyCount ?? 0;
620
+ let { backgroundColor: i, currentFontSizeIndex: c, fontStyle: l, fontSize: u, handleColorChange: f, setFontStyle: p, increaseFontSize: h, decreaseFontSize: g, resetFontSize: _ } = ve(), v = s(null), [te, S] = n(!1), [w, T] = n(!1), [re, ie] = n(/* @__PURE__ */ new Set()), [O, oe] = n(/* @__PURE__ */ new Set()), [k, se] = n(/* @__PURE__ */ new Set()), [j, ce] = n(!1), M = s(null), ue = s(null), { post: de, processedReplies: N, isLoading: P, loadMoreChildren: pe, loadMoreChildReplies: I, hasMoreChildren: L, hasMoreChildReplies: R } = _e(e ?? "", { includeAncestors: !1 }), z = de, V = z?.object, H = z?.actor, U = z?.object?.metadata?.ghostAuthors, W = V?.replyCount ?? 0;
621
621
  o(() => {
622
622
  if (!L) return;
623
- j.current && j.current.disconnect();
623
+ M.current && M.current.disconnect();
624
624
  let e = v.current;
625
- if (e) return j.current = new IntersectionObserver(async (e) => {
626
- if (e[0].isIntersecting && L && !A) {
627
- le(!0);
625
+ if (e) return M.current = new IntersectionObserver(async (e) => {
626
+ if (e[0].isIntersecting && L && !j) {
627
+ ce(!0);
628
628
  try {
629
629
  await pe();
630
630
  } catch (e) {
631
631
  console.error("Failed to load more top-level replies:", e);
632
632
  } finally {
633
- le(!1);
633
+ ce(!1);
634
634
  }
635
635
  }
636
636
  }, {
637
637
  root: e,
638
638
  rootMargin: "200px"
639
- }), M.current && j.current.observe(M.current), () => {
640
- j.current && j.current.disconnect();
639
+ }), ue.current && M.current.observe(ue.current), () => {
640
+ M.current && M.current.disconnect();
641
641
  };
642
642
  }, [
643
643
  L,
644
- A,
644
+ j,
645
645
  pe
646
646
  ]);
647
647
  function K() {}
@@ -669,7 +669,7 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
669
669
  }
670
670
  }
671
671
  }
672
- let Ce = () => {}, we = s(null), q = "640px", [Te, Ee] = n(0), [J, De] = n(!0), [Y] = w(Ee, 100);
672
+ let Ce = () => {}, we = s(null), q = "640px", [Te, Ee] = n(0), [J, De] = n(!0), [Y] = C(Ee, 100);
673
673
  o(() => {
674
674
  let e = v.current, t = document.getElementById("object-content"), n = () => {
675
675
  if (J || !e || !t) return;
@@ -756,7 +756,7 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
756
756
  children: [
757
757
  /* @__PURE__ */ (0, B.jsx)("div", {
758
758
  className: "flex items-center",
759
- children: /* @__PURE__ */ (0, B.jsx)(h, {
759
+ children: /* @__PURE__ */ (0, B.jsx)(m, {
760
760
  className: G[i].button,
761
761
  onClick: t
762
762
  })
@@ -777,8 +777,8 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
777
777
  onColorChange: f,
778
778
  onDecreaseFontSize: g,
779
779
  onFontStyleChange: p,
780
- onIncreaseFontSize: m,
781
- onOpenChange: y,
780
+ onIncreaseFontSize: h,
781
+ onOpenChange: S,
782
782
  onResetFontSize: _
783
783
  })
784
784
  })
@@ -826,24 +826,24 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
826
826
  children: [
827
827
  /* @__PURE__ */ (0, B.jsx)("div", {
828
828
  className: "flex items-center",
829
- children: /* @__PURE__ */ (0, B.jsx)(h, {
829
+ children: /* @__PURE__ */ (0, B.jsx)(m, {
830
830
  className: G[i].button,
831
831
  onClick: t
832
832
  })
833
833
  }),
834
834
  /* @__PURE__ */ (0, B.jsxs)("div", {
835
835
  className: "col-[2/3] mx-auto flex w-full items-center justify-between gap-3 max-md:hidden",
836
- children: [/* @__PURE__ */ (0, B.jsx)(b, {
836
+ children: [/* @__PURE__ */ (0, B.jsx)(y, {
837
837
  actor: H,
838
838
  isCurrentUser: V.authored,
839
839
  children: /* @__PURE__ */ (0, B.jsxs)("div", {
840
840
  className: "flex cursor-pointer items-center gap-3",
841
841
  children: [/* @__PURE__ */ (0, B.jsx)("div", {
842
842
  className: "relative z-10 pt-0.5",
843
- children: /* @__PURE__ */ (0, B.jsx)(ue, { author: H })
843
+ children: /* @__PURE__ */ (0, B.jsx)(le, { author: H })
844
844
  }), /* @__PURE__ */ (0, B.jsxs)("div", {
845
845
  className: "relative z-10 mt-0.5 flex min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]",
846
- onClick: (e) => te(H, Q, e),
846
+ onClick: (e) => ee(H, Q, e),
847
847
  children: [/* @__PURE__ */ (0, B.jsx)("div", {
848
848
  className: "flex w-full",
849
849
  children: /* @__PURE__ */ (0, B.jsx)("span", {
@@ -857,12 +857,12 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
857
857
  children: fe(H)
858
858
  }), /* @__PURE__ */ (0, B.jsx)("span", {
859
859
  className: "text-gray-700",
860
- children: P ? /* @__PURE__ */ (0, B.jsx)(F, { className: "w-[120px]" }) : x(V, !V.authored)
860
+ children: P ? /* @__PURE__ */ (0, B.jsx)(F, { className: "w-[120px]" }) : b(V, !V.authored)
861
861
  })]
862
862
  })]
863
863
  })]
864
864
  })
865
- }), !V.authored && !P && /* @__PURE__ */ (0, B.jsx)(T, {
865
+ }), !V.authored && !P && /* @__PURE__ */ (0, B.jsx)(E, {
866
866
  following: H.followedByMe ?? !1,
867
867
  handle: fe(H)
868
868
  })]
@@ -876,8 +876,8 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
876
876
  onColorChange: f,
877
877
  onDecreaseFontSize: g,
878
878
  onFontStyleChange: p,
879
- onIncreaseFontSize: m,
880
- onOpenChange: y,
879
+ onIncreaseFontSize: h,
880
+ onOpenChange: S,
881
881
  onResetFontSize: _
882
882
  })
883
883
  })
@@ -889,7 +889,7 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
889
889
  iframeElement: Z,
890
890
  modalRef: v,
891
891
  tocItems: X,
892
- onOpenChange: D
892
+ onOpenChange: T
893
893
  }), !P && /* @__PURE__ */ (0, B.jsx)("div", {
894
894
  className: "grow overflow-y-auto",
895
895
  children: /* @__PURE__ */ (0, B.jsxs)("div", {
@@ -903,12 +903,12 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
903
903
  authors: U,
904
904
  backgroundColor: i,
905
905
  excerpt: V.summary ?? "",
906
- fontSize: d,
906
+ fontSize: u,
907
907
  fontStyle: l,
908
908
  heading: V.name,
909
909
  html: V.content ?? "",
910
910
  image: typeof V.image == "string" ? V.image : V.image?.url,
911
- isPopoverOpen: ee || C,
911
+ isPopoverOpen: te || w,
912
912
  postUrl: V?.url || "",
913
913
  onHeadingsExtracted: Me,
914
914
  onIframeLoad: Ne,
@@ -916,7 +916,7 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
916
916
  }), /* @__PURE__ */ (0, B.jsx)("div", {
917
917
  className: "-ml-3 w-full",
918
918
  style: { maxWidth: q },
919
- children: /* @__PURE__ */ (0, B.jsx)(E, {
919
+ children: /* @__PURE__ */ (0, B.jsx)(D, {
920
920
  actor: H,
921
921
  commentCount: W,
922
922
  layout: "modal",
@@ -933,7 +933,7 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
933
933
  style: { maxWidth: q },
934
934
  children: [/* @__PURE__ */ (0, B.jsx)(me, { object: V }), /* @__PURE__ */ (0, B.jsx)(ft, {})]
935
935
  }),
936
- P && /* @__PURE__ */ (0, B.jsx)(u, { size: "lg" }),
936
+ P && /* @__PURE__ */ (0, B.jsx)(d, { size: "lg" }),
937
937
  /* @__PURE__ */ (0, B.jsxs)("div", {
938
938
  ref: we,
939
939
  className: "mx-auto w-full",
@@ -941,12 +941,12 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
941
941
  children: [N.map((t, n) => {
942
942
  let i = n === N.length - 1, a = t.mainReply.id, o = re.has(a), s = O.has(a), c = k.has(a), l = t.chain.length > 0;
943
943
  return /* @__PURE__ */ (0, B.jsxs)(r.Fragment, { children: [
944
- /* @__PURE__ */ (0, B.jsx)(S, {
944
+ /* @__PURE__ */ (0, B.jsx)(x, {
945
945
  actor: t.mainReply.actor,
946
946
  allowDelete: t.mainReply.object.authored,
947
947
  commentCount: t.mainReply.object.replyCount ?? 0,
948
948
  isChainParent: l,
949
- isPending: ce(t.mainReply.id),
949
+ isPending: A(t.mainReply.id),
950
950
  last: !l,
951
951
  layout: "reply",
952
952
  likeCount: t.mainReply.object.likeCount ?? 0,
@@ -960,12 +960,12 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
960
960
  },
961
961
  onDelete: K
962
962
  }),
963
- l && t.chain[0] && /* @__PURE__ */ (0, B.jsx)(S, {
963
+ l && t.chain[0] && /* @__PURE__ */ (0, B.jsx)(x, {
964
964
  actor: t.chain[0].actor,
965
965
  allowDelete: t.chain[0].object.authored,
966
966
  commentCount: t.chain[0].object.replyCount ?? 0,
967
967
  isChainContinuation: !0,
968
- isPending: ce(t.chain[0].id),
968
+ isPending: A(t.chain[0].id),
969
969
  last: t.chain.length === 1,
970
970
  layout: "reply",
971
971
  likeCount: t.chain[0].object.likeCount ?? 0,
@@ -981,12 +981,12 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
981
981
  }, t.chain[0].id),
982
982
  l && o && t.chain.slice(1).map((r, i) => {
983
983
  let a = i === t.chain.slice(1).length - 1, o = R && R(n), s = a && o;
984
- return /* @__PURE__ */ (0, B.jsx)(S, {
984
+ return /* @__PURE__ */ (0, B.jsx)(x, {
985
985
  actor: r.actor,
986
986
  allowDelete: r.object.authored,
987
987
  commentCount: r.object.replyCount ?? 0,
988
988
  isChainContinuation: !0,
989
- isPending: ce(r.id),
989
+ isPending: A(r.id),
990
990
  last: a && !s,
991
991
  layout: "reply",
992
992
  likeCount: r.object.likeCount ?? 0,
@@ -1012,13 +1012,13 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
1012
1012
  }),
1013
1013
  !i && /* @__PURE__ */ (0, B.jsx)(ft, {})
1014
1014
  ] }, t.mainReply.id);
1015
- }), A && /* @__PURE__ */ (0, B.jsx)("div", {
1015
+ }), j && /* @__PURE__ */ (0, B.jsx)("div", {
1016
1016
  className: "flex flex-col items-center justify-center text-center",
1017
- children: /* @__PURE__ */ (0, B.jsx)(u, { size: "md" })
1017
+ children: /* @__PURE__ */ (0, B.jsx)(d, { size: "md" })
1018
1018
  })]
1019
1019
  }),
1020
1020
  L && /* @__PURE__ */ (0, B.jsx)("div", {
1021
- ref: M,
1021
+ ref: ue,
1022
1022
  className: "h-1"
1023
1023
  })
1024
1024
  ]
@@ -1049,7 +1049,7 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
1049
1049
  style: { gridTemplateColumns: `1fr minmax(0,${q}) 1fr` },
1050
1050
  children: [/* @__PURE__ */ (0, B.jsx)("div", {
1051
1051
  className: "flex items-center",
1052
- children: /* @__PURE__ */ (0, B.jsx)(h, {
1052
+ children: /* @__PURE__ */ (0, B.jsx)(m, {
1053
1053
  className: G[i].button,
1054
1054
  onClick: t
1055
1055
  })
@@ -1069,11 +1069,11 @@ var dt = ({ postUrl: e, heading: r, image: i, excerpt: a, authors: c, html: l, b
1069
1069
  //#endregion
1070
1070
  //#region src/views/inbox/components/inbox-list.tsx
1071
1071
  i();
1072
- var mt = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasNextPage: a, isFetchingNextPage: c, onTopicChange: f }) => {
1073
- let h = ae(), { canGoBack: g, goBack: v } = re(), [te, b] = n(!1), x = l(), { topicsQuery: C } = se(), { data: w } = C, ne = w && w.topics.length > 0;
1072
+ var mt = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasNextPage: a, isFetchingNextPage: c, onTopicChange: u }) => {
1073
+ let f = ae(), { canGoBack: m, goBack: h } = re(), [ee, y] = n(!1), b = l(), { topicsQuery: S } = se(), { data: C } = S, ne = C && C.topics.length > 0;
1074
1074
  o(() => {
1075
- b(!!x.postId);
1076
- }, [x.postId]);
1075
+ y(!!b.postId);
1076
+ }, [b.postId]);
1077
1077
  let T = s(null), E = s(null), D = s(null);
1078
1078
  o(() => (T.current && T.current.disconnect(), T.current = new IntersectionObserver((e) => {
1079
1079
  e[0].isIntersecting && a && !c && i();
@@ -1085,11 +1085,11 @@ var mt = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasN
1085
1085
  i
1086
1086
  ]);
1087
1087
  let ie = Math.max(0, Math.floor(t.length * .75) - 1);
1088
- return /* @__PURE__ */ (0, B.jsxs)(y, { children: [
1088
+ return /* @__PURE__ */ (0, B.jsxs)(te, { children: [
1089
1089
  ne && /* @__PURE__ */ (0, B.jsx)(R, {
1090
1090
  currentTopic: r,
1091
1091
  excludeTopics: ["top"],
1092
- onTopicChange: f
1092
+ onTopicChange: u
1093
1093
  }),
1094
1094
  /* @__PURE__ */ (0, B.jsx)("div", {
1095
1095
  className: "flex w-full flex-col",
@@ -1110,19 +1110,19 @@ var mt = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasN
1110
1110
  "data-testid": "inbox-item",
1111
1111
  "data-test-view-article": !0,
1112
1112
  children: [
1113
- /* @__PURE__ */ (0, B.jsx)(S, {
1113
+ /* @__PURE__ */ (0, B.jsx)(x, {
1114
1114
  actor: n.actor,
1115
1115
  allowDelete: n.object.authored,
1116
1116
  commentCount: n.object.replyCount ?? 0,
1117
1117
  isLoading: e,
1118
- isPending: ce(n.id),
1118
+ isPending: A(n.id),
1119
1119
  layout: "inbox",
1120
1120
  likeCount: n.object.likeCount ?? 0,
1121
1121
  object: n.object,
1122
1122
  repostCount: n.object.repostCount ?? 0,
1123
1123
  type: n.type,
1124
1124
  onClick: () => {
1125
- h(`/reader/${encodeURIComponent(n.id)}`);
1125
+ f(`/reader/${encodeURIComponent(n.id)}`);
1126
1126
  }
1127
1127
  }),
1128
1128
  r < t.length - 1 && /* @__PURE__ */ (0, B.jsx)(L, {}),
@@ -1133,7 +1133,7 @@ var mt = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasN
1133
1133
  ]
1134
1134
  }, `${n.id}-${n.type}-${r}`)), c && /* @__PURE__ */ (0, B.jsx)("li", {
1135
1135
  className: "flex flex-col items-center justify-center gap-4 text-center",
1136
- children: /* @__PURE__ */ (0, B.jsx)(u, { size: "md" })
1136
+ children: /* @__PURE__ */ (0, B.jsx)(d, { size: "md" })
1137
1137
  })]
1138
1138
  }), /* @__PURE__ */ (0, B.jsx)("div", {
1139
1139
  ref: D,
@@ -1146,7 +1146,7 @@ var mt = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasN
1146
1146
  className: "mt-[24vh]",
1147
1147
  children: /* @__PURE__ */ (0, B.jsx)(H, {
1148
1148
  actions: ne ? /* @__PURE__ */ (0, B.jsx)(O, {
1149
- onClick: () => h("/explore"),
1149
+ onClick: () => f("/explore"),
1150
1150
  children: "Find accounts to follow →"
1151
1151
  }) : /* @__PURE__ */ (0, B.jsx)(O, {
1152
1152
  asChild: !0,
@@ -1171,20 +1171,20 @@ var mt = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasN
1171
1171
  })
1172
1172
  })
1173
1173
  }),
1174
- /* @__PURE__ */ (0, B.jsx)(_, {
1175
- open: te,
1174
+ /* @__PURE__ */ (0, B.jsx)(g, {
1175
+ open: ee,
1176
1176
  onOpenChange: (e) => {
1177
- e || (g ? v() : h("/reader")), b(e);
1177
+ e || (m ? h() : f("/reader")), y(e);
1178
1178
  },
1179
- children: /* @__PURE__ */ (0, B.jsxs)(d, {
1179
+ children: /* @__PURE__ */ (0, B.jsxs)(p, {
1180
1180
  className: "inset-y-3 h-[calc(100vh-24px)] w-screen max-w-[calc(100vw-24px)] animate-none! p-0 focus:outline-hidden dark:bg-gray-950",
1181
- children: [/* @__PURE__ */ (0, B.jsxs)(p, {
1181
+ children: [/* @__PURE__ */ (0, B.jsxs)(v, {
1182
1182
  className: "hidden",
1183
- children: [/* @__PURE__ */ (0, B.jsx)(ee, { children: "Reader" }), /* @__PURE__ */ (0, B.jsx)(m, { children: "Ghost reader for long form articles" })]
1184
- }), x.postId && /* @__PURE__ */ (0, B.jsx)(pt, {
1185
- postId: x.postId,
1183
+ children: [/* @__PURE__ */ (0, B.jsx)(_, { children: "Reader" }), /* @__PURE__ */ (0, B.jsx)(w, { children: "Ghost reader for long form articles" })]
1184
+ }), b.postId && /* @__PURE__ */ (0, B.jsx)(pt, {
1185
+ postId: b.postId,
1186
1186
  onClose: () => {
1187
- g ? v() : h("/reader");
1187
+ m ? h() : f("/reader");
1188
1188
  }
1189
1189
  })]
1190
1190
  })
@@ -1195,11 +1195,11 @@ var mt = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasN
1195
1195
  //#region src/views/inbox/inbox.tsx
1196
1196
  i();
1197
1197
  var ht = () => {
1198
- let [e, t] = n("following"), { inboxQuery: r } = A({ enabled: e === "following" }), { discoveryFeedQuery: i } = le({
1198
+ let [e, t] = n("following"), { inboxQuery: r } = j({ enabled: e === "following" }), { discoveryFeedQuery: i } = ce({
1199
1199
  enabled: e !== "following",
1200
1200
  topic: e
1201
1201
  }), { data: a, error: o, fetchNextPage: s, hasNextPage: c, isFetchingNextPage: l, isLoading: u } = e === "following" ? r : i, d = o && k(o) && o.statusCode === 404 && e !== "following";
1202
- return o && k(o) && !d ? /* @__PURE__ */ (0, B.jsx)(C, {
1202
+ return o && k(o) && !d ? /* @__PURE__ */ (0, B.jsx)(S, {
1203
1203
  errorCode: o.code,
1204
1204
  statusCode: o.statusCode
1205
1205
  }) : /* @__PURE__ */ (0, B.jsx)(mt, {
@@ -1218,4 +1218,4 @@ var ht = () => {
1218
1218
  //#endregion
1219
1219
  export { ht as default };
1220
1220
 
1221
- //# sourceMappingURL=inbox-yC0nfvzl.js.map
1221
+ //# sourceMappingURL=inbox-DSrF_i1O.js.map
@@ -1,7 +1,7 @@
1
1
  import { d as e, u as t } from "./_react-D4KM8XEu.js";
2
2
  import { S as n } from "./chunk-KS7C4IRE-D4HEcEwi.js";
3
- import { T as r } from "./routes-CLH3OVTP.js";
4
- import { _ as i, y as a } from "./use-navigate-with-base-path-CAwXTmqH.js";
3
+ import { T as r } from "./routes-DFBeTnfn.js";
4
+ import { _ as i, y as a } from "./use-navigate-with-base-path-cy4ACBc4.js";
5
5
  //#region ../shade/es/components/ui/label.js
6
6
  e();
7
7
  var o = n(), s = i("text-control leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), c = t(({ className: e, ...t }, n) => /* @__PURE__ */ (0, o.jsx)(r, {
@@ -13,4 +13,4 @@ c.displayName = r.displayName;
13
13
  //#endregion
14
14
  export { c as t };
15
15
 
16
- //# sourceMappingURL=label-DTRS9TDk.js.map
16
+ //# sourceMappingURL=label-CPjFBbo7.js.map
@@ -0,0 +1 @@
1
+ import "./routes-DFBeTnfn.js";
@@ -1,12 +1,12 @@
1
1
  import { T as e, d as t } from "./_react-D4KM8XEu.js";
2
2
  import { S as n } from "./chunk-KS7C4IRE-D4HEcEwi.js";
3
3
  import { o as r } from "./users-BLeiOTHc.js";
4
- import { C as i, _ as a, a as o, b as s, s as c, w as l, yt as u } from "./routes-CLH3OVTP.js";
5
- import { r as d, t as f } from "./use-navigate-with-base-path-CAwXTmqH.js";
6
- import { F as p, I as m, c as h, l as g, q as _, s as v, u as y } from "./use-activity-pub-queries-VzbN99u_.js";
7
- import { c as b, u as x } from "./content-formatters-BpQARh28.js";
8
- import { i as S, n as C, r as w, t as T } from "./tabs-Cg0saow1.js";
9
- import "./layout-qx-bUL1k.js";
4
+ import { C as i, _ as a, a as o, b as s, bt as c, s as l, w as u } from "./routes-DFBeTnfn.js";
5
+ import { r as d, t as f } from "./use-navigate-with-base-path-cy4ACBc4.js";
6
+ import { F as p, I as m, c as h, l as g, q as _, s as v, u as y } from "./use-activity-pub-queries-EwuRemHh.js";
7
+ import { c as b, u as x } from "./content-formatters-nmTOPY9M.js";
8
+ import { i as S, n as C, r as w, t as T } from "./tabs-BUbz7tea.js";
9
+ import "./layout-CTgrezN7.js";
10
10
  //#region src/views/preferences/components/moderation.tsx
11
11
  t();
12
12
  var E = n(), D = () => {
@@ -72,13 +72,13 @@ var E = n(), D = () => {
72
72
  /* @__PURE__ */ (0, E.jsx)(C, {
73
73
  className: "mt-2",
74
74
  value: "blocked_users",
75
- children: !n && k.length === 0 ? /* @__PURE__ */ (0, E.jsxs)(i, { children: [/* @__PURE__ */ (0, E.jsx)(l, { children: /* @__PURE__ */ (0, E.jsx)(u, {}) }), /* @__PURE__ */ (0, E.jsx)("div", {
75
+ children: !n && k.length === 0 ? /* @__PURE__ */ (0, E.jsxs)(i, { children: [/* @__PURE__ */ (0, E.jsx)(u, { children: /* @__PURE__ */ (0, E.jsx)(c, {}) }), /* @__PURE__ */ (0, E.jsx)("div", {
76
76
  className: "mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center",
77
77
  children: /* @__PURE__ */ (0, E.jsx)("p", { children: "When you block someone, they won't be able to follow you or interact with your content on the social web." })
78
78
  })] }) : k.map((e, t) => /* @__PURE__ */ (0, E.jsx)(s, {
79
79
  actor: e,
80
80
  isCurrentUser: !0,
81
- children: /* @__PURE__ */ (0, E.jsx)("div", { children: /* @__PURE__ */ (0, E.jsxs)(c, {
81
+ children: /* @__PURE__ */ (0, E.jsx)("div", { children: /* @__PURE__ */ (0, E.jsxs)(l, {
82
82
  onClick: n ? void 0 : () => a(e.handle, V),
83
83
  children: [
84
84
  /* @__PURE__ */ (0, E.jsx)(b, { author: {
@@ -123,10 +123,10 @@ var E = n(), D = () => {
123
123
  /* @__PURE__ */ (0, E.jsx)(C, {
124
124
  className: "mt-[11px]",
125
125
  value: "blocked_domains",
126
- children: !O && A.length === 0 ? /* @__PURE__ */ (0, E.jsxs)(i, { children: [/* @__PURE__ */ (0, E.jsx)(l, { children: /* @__PURE__ */ (0, E.jsx)(u, {}) }), /* @__PURE__ */ (0, E.jsx)("div", {
126
+ children: !O && A.length === 0 ? /* @__PURE__ */ (0, E.jsxs)(i, { children: [/* @__PURE__ */ (0, E.jsx)(u, { children: /* @__PURE__ */ (0, E.jsx)(c, {}) }), /* @__PURE__ */ (0, E.jsx)("div", {
127
127
  className: "mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center",
128
128
  children: /* @__PURE__ */ (0, E.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." })
129
- })] }) : A.map((e, t) => /* @__PURE__ */ (0, E.jsxs)(c, { children: [/* @__PURE__ */ (0, E.jsx)("div", {
129
+ })] }) : A.map((e, t) => /* @__PURE__ */ (0, E.jsxs)(l, { children: [/* @__PURE__ */ (0, E.jsx)("div", {
130
130
  className: "flex min-w-0 flex-col",
131
131
  children: /* @__PURE__ */ (0, E.jsx)("span", {
132
132
  className: "block truncate font-semibold text-black dark:text-white",
@@ -157,4 +157,4 @@ var E = n(), D = () => {
157
157
  //#endregion
158
158
  export { D as default };
159
159
 
160
- //# sourceMappingURL=moderation-Dwl9t0pb.js.map
160
+ //# sourceMappingURL=moderation-BkDC1XVZ.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-D4HEcEwi.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-CLH3OVTP.js";
4
- import { T as h, t as g } from "./use-navigate-with-base-path-CAwXTmqH.js";
5
- import { W as _ } from "./use-activity-pub-queries-VzbN99u_.js";
6
- import { c as v, l as y, u as b } from "./content-formatters-BpQARh28.js";
7
- import { t as x } from "./hash-BC9Q0N4c.js";
8
- import { i as S, n as C, r as w, t as T } from "./use-reply-chain-data-Br4aOWOh.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-DFBeTnfn.js";
4
+ import { T as h, t as g } from "./use-navigate-with-base-path-cy4ACBc4.js";
5
+ import { W as _ } from "./use-activity-pub-queries-EwuRemHh.js";
6
+ import { c as v, l as y, u as b } from "./content-formatters-nmTOPY9M.js";
7
+ import { t as x } from "./hash-BWuZoYkA.js";
8
+ import { i as S, n as C, r as w, t as T } from "./use-reply-chain-data-CyFcGfan.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 = () => {
@@ -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-B-zKsZ7r.js.map
273
+ //# sourceMappingURL=note-xEyH4xT-.js.map
@@ -1,13 +1,13 @@
1
1
  import { a as e, d as t, v as n, w as r } from "./_react-D4KM8XEu.js";
2
2
  import { S as i } from "./chunk-KS7C4IRE-D4HEcEwi.js";
3
- import { D as a, _ as o, a as s, b as c, g as l, h as u, i as d, n as f, r as p, x as m, y as h } from "./routes-CLH3OVTP.js";
4
- import { b as g, g as _, h as v, r as y, t as b } from "./use-navigate-with-base-path-CAwXTmqH.js";
5
- import { G as x, w as S } from "./use-activity-pub-queries-VzbN99u_.js";
6
- import { a as C } from "./x-C8tAnXly.js";
7
- import { c as w, o as T, s as E, u as D } from "./content-formatters-BpQARh28.js";
8
- import { u as O } from "./avatar-B3DEDB1l.js";
9
- import { t as k } from "./reply-CpdMeAO5.js";
10
- import "./layout-qx-bUL1k.js";
3
+ import { D as a, _ as o, a as s, b as c, g as l, h as u, i as d, n as f, r as p, x as m, y as h } from "./routes-DFBeTnfn.js";
4
+ import { b as g, g as _, h as v, r as y, t as b } from "./use-navigate-with-base-path-cy4ACBc4.js";
5
+ import { G as x, w as S } from "./use-activity-pub-queries-EwuRemHh.js";
6
+ import { a as C } from "./x-7zk8mV2p.js";
7
+ import { c as w, o as T, s as E, u as D } from "./content-formatters-nmTOPY9M.js";
8
+ import { u as O } from "./avatar-11EA1VSs.js";
9
+ import { t as k } from "./reply-Cs9ySd6Z.js";
10
+ import "./layout-CTgrezN7.js";
11
11
  var A = _("at-sign", [["circle", {
12
12
  cx: "12",
13
13
  cy: "12",
@@ -441,4 +441,4 @@ var B = ({ group: e }) => {
441
441
  //#endregion
442
442
  export { H as default };
443
443
 
444
- //# sourceMappingURL=notifications-DjJZD54t.js.map
444
+ //# sourceMappingURL=notifications-DClaL3ui.js.map