ghost 6.24.0 → 6.25.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 (207) hide show
  1. package/components/{tryghost-i18n-6.24.0.tgz → tryghost-i18n-6.25.0.tgz} +0 -0
  2. package/components/tryghost-parse-email-address-6.25.0.tgz +0 -0
  3. package/core/boot.js +3 -1
  4. package/core/built/admin/assets/{PolarAngleAxis-7TlIQL3R.js → PolarAngleAxis-BNo3yZOE.js} +1 -1
  5. package/core/built/admin/assets/{_baseAssignValue-DJsCJz6y.js → _baseAssignValue-DwWJd_kU.js} +1 -1
  6. package/core/built/admin/assets/{a-large-small-BnBpzYwl.js → a-large-small-DzN0AB7t.js} +1 -1
  7. package/core/built/admin/assets/{at-sign-DC4NtDDM.js → at-sign-vqoOA4VZ.js} +1 -1
  8. package/core/built/admin/assets/{audience-CC5U4UxI.js → audience-CFjVlFTu.js} +1 -1
  9. package/core/built/admin/assets/{avatar-flipboard-_GQfQXQc.js → avatar-flipboard-DuTJ0ty5.js} +1 -1
  10. package/core/built/admin/assets/{bluesky-sharing-BKyzPl9y.js → bluesky-sharing-C1WkXrRJ.js} +1 -1
  11. package/core/built/admin/assets/{chart-BCQFlmhJ.js → chart-Bs2L1q8g.js} +1 -1
  12. package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js → chunk.434.de8a15730373eccfeefe.js} +13 -101
  13. package/core/built/admin/assets/{chunk.524.b5e454aa74df4428420c.js → chunk.524.ed5714f505e821e549f3.js} +5 -5
  14. package/core/built/admin/assets/{chunk.582.20635869be68725e6d5c.js → chunk.582.639cecaca9e77bd7dd4f.js} +7 -7
  15. package/core/built/admin/assets/{chunk.123.1255d9e815f933dfdc57.js → chunk.603.5cb992da88800a9388f3.js} +8 -6
  16. package/core/built/admin/assets/{code-editor-view-BXnjo7qe.js → code-editor-view-DIH4grxv.js} +1 -1
  17. package/core/built/admin/assets/comments-gAnA10dK.js +1 -0
  18. package/core/built/admin/assets/{content-helpers-CQXipRWa.js → content-helpers-Cr_DHEOl.js} +1 -1
  19. package/core/built/admin/assets/{copy-B-MxRWPu.js → copy-w3c9zkaZ.js} +1 -1
  20. package/core/built/admin/assets/{data-list-B2sqn7IE.js → data-list-D-K_XfF3.js} +1 -1
  21. package/core/built/admin/assets/{deleted-feed-item-DQi676Dy.js → deleted-feed-item-DK47iaMV.js} +1 -1
  22. package/core/built/admin/assets/{dropzone-GgOCfK2j.js → dropzone-BHWXAN0m.js} +3 -3
  23. package/core/built/admin/assets/{edit-profile-COx5FmF9.js → edit-profile-DCyHhZgx.js} +1 -1
  24. package/core/built/admin/assets/{empty-indicator-Bf4Dqk72.js → empty-indicator-DjmACVr2.js} +1 -1
  25. package/core/built/admin/assets/{en-BkI47Ou-.js → en-Cl0b7CNW.js} +1 -1
  26. package/core/built/admin/assets/{feed-Dzc-8jwd.js → feed-C5AauoXf.js} +1 -1
  27. package/core/built/admin/assets/filters-DzSJ1ez3.js +1 -0
  28. package/core/built/admin/assets/{gh-chart-Ch6dYUac.js → gh-chart-xjwu2HZo.js} +1 -1
  29. package/core/built/admin/assets/{ghost-69e448feab2cb78aba64f7177fa4d6f0.js → ghost-78b4a517ac907213ab47708eef33bc6f.js} +423 -542
  30. package/core/built/admin/assets/{growth-BIBJdcm6.js → growth-DDyypj0q.js} +1 -1
  31. package/core/built/admin/assets/{hash-BGd7HEsT.js → hash-Bowe71Lt.js} +1 -1
  32. package/core/built/admin/assets/{inbox-CFzKvW3h.js → inbox-DS4qMjUb.js} +1 -1
  33. package/core/built/admin/assets/{index-DDJAHYHQ.js → index-4xuWCs9h.js} +1 -1
  34. package/core/built/admin/assets/{index-DIO8ceib.js → index-6Ag8SK_E.js} +1 -1
  35. package/core/built/admin/assets/{index-Dy8dCc8t.js → index-A6WmqYr6.js} +4 -4
  36. package/core/built/admin/assets/index-B8XuCPIT.js +1 -0
  37. package/core/built/admin/assets/{index-S2DGJkmz.js → index-BCvRITTU.js} +2 -2
  38. package/core/built/admin/assets/{index-BZyG96u1.js → index-B_XhekWb.js} +1 -1
  39. package/core/built/admin/assets/{index-D0gRP4Gp.js → index-C8ssgmjI.js} +1 -1
  40. package/core/built/admin/assets/{index-DM98UB_U.js → index-CFY2MOp4.js} +1 -1
  41. package/core/built/admin/assets/{index-CvX5YYEz.js → index-CVvW6Q-y.js} +1 -1
  42. package/core/built/admin/assets/{index-DpZazR71.js → index-CZK1A375.js} +1 -1
  43. package/core/built/admin/assets/{index-BYXKsmpv.js → index-CfpTfwls.js} +1 -1
  44. package/core/built/admin/assets/index-Chp0ODAU.css +1 -0
  45. package/core/built/admin/assets/{index-7NTHsKgE.js → index-DX6vaEVx.js} +1 -1
  46. package/core/built/admin/assets/{index-CsHjDdYB.js → index-DqlHFtZD.js} +1 -1
  47. package/core/built/admin/assets/{index-ZuWSQ3L6.js → index-JMWMnGGt.js} +93 -93
  48. package/core/built/admin/assets/{index-_WMp37yL.js → index-N61Xkr32.js} +1 -1
  49. package/core/built/admin/assets/{index-n5opb8tL.js → index-SDMWxO5r.js} +1 -1
  50. package/core/built/admin/assets/{koenig-lexical-8qAZ5o1x.js → koenig-lexical-DL3I-AcK.js} +1 -1
  51. package/core/built/admin/assets/{kpis-Cv75oSPY.js → kpis-Bm-hIEkf.js} +1 -1
  52. package/core/built/admin/assets/{label-CofMdj8x.js → label-DBwnwMrX.js} +1 -1
  53. package/core/built/admin/assets/{links-MSlYSad1.js → links-CnjcW0lg.js} +1 -1
  54. package/core/built/admin/assets/{loader-circle-CF5G2g_Z.js → loader-circle-CGDGFypO.js} +1 -1
  55. package/core/built/admin/assets/{lucide-react-DZiAu6PQ.js → lucide-react-BfVLf4Hw.js} +1 -1
  56. package/core/built/admin/assets/{main-layout-DEVUkqt_.js → main-layout-C_UH037j.js} +1 -1
  57. package/core/built/admin/assets/{member-route-mLKS-PsA.js → member-route-CKuE9uDU.js} +1 -1
  58. package/core/built/admin/assets/members-CzztojNk.js +15 -0
  59. package/core/built/admin/assets/{message-square-text-DESy3kSk.js → message-square-text-BDJyLbG2.js} +1 -1
  60. package/core/built/admin/assets/{minus-DVNwSjD6.js → minus-BM0xhFIQ.js} +1 -1
  61. package/core/built/admin/assets/{modals-FYjLOMaQ.js → modals-B6ZySU0x.js} +13 -13
  62. package/core/built/admin/assets/{moderation-u4WS46a-.js → moderation-CQMIGpv1.js} +1 -1
  63. package/core/built/admin/assets/{newsletter-Cj0UCg4J.js → newsletter-Dexg7vU8.js} +1 -1
  64. package/core/built/admin/assets/{newsletters-_UvhdBE3.js → newsletters-CT4k07rm.js} +1 -1
  65. package/core/built/admin/assets/{note-CRnFryTp.js → note-CiemurXq.js} +1 -1
  66. package/core/built/admin/assets/{overview-Cr0dGxEU.js → overview-9TwqfzGq.js} +1 -1
  67. package/core/built/admin/assets/{pagemenu-BqoDENpI.js → pagemenu-Dq744OgH.js} +1 -1
  68. package/core/built/admin/assets/{post-analytics-DIr_rDtL.js → post-analytics-CcRhLDKA.js} +1 -1
  69. package/core/built/admin/assets/{post-analytics-context-WA--pwK5.js → post-analytics-context-COgn3d86.js} +1 -1
  70. package/core/built/admin/assets/{post-analytics-header-D97SoEaV.js → post-analytics-header-DtBp2QSX.js} +1 -1
  71. package/core/built/admin/assets/{post-share-modal-DBxR7WCX.js → post-share-modal-BlOEKX3-.js} +1 -1
  72. package/core/built/admin/assets/posts/comments-C4rwkXWy.mjs +1473 -0
  73. package/core/built/admin/assets/posts/{dialog-67vvNv8e.mjs → dialog-Chkt119L.mjs} +3 -3
  74. package/core/built/admin/assets/posts/{dropdown-menu-BKZfsAPJ.mjs → dropdown-menu-CvSs_ay2.mjs} +5 -5
  75. package/core/built/admin/assets/posts/{empty-indicator-DTmBQa_3.mjs → empty-indicator-GyeO28CG.mjs} +2 -2
  76. package/core/built/admin/assets/posts/filters-BD3A2GlB.mjs +2831 -0
  77. package/core/built/admin/assets/posts/{get-site-timezone-D75cHSJ1.mjs → get-site-timezone-Baeue4hE.mjs} +2 -2
  78. package/core/built/admin/assets/posts/{growth-BqJWjpAp.mjs → growth-kmVbKjBt.mjs} +14 -14
  79. package/core/built/admin/assets/posts/{heading-DXxLDQ96.mjs → heading-DV_WQJh4.mjs} +2 -2
  80. package/core/built/admin/assets/posts/{hooks-pVotzebr.mjs → hooks-DQhsid0U.mjs} +2 -2
  81. package/core/built/admin/assets/posts/{index-By5yPnMZ.mjs → index-Bl1ReYmV.mjs} +10 -10
  82. package/core/built/admin/assets/posts/{index-DZ1HzbGS.mjs → index-CVum5OE6.mjs} +3 -3
  83. package/core/built/admin/assets/posts/{input-DdXe2Fjm.mjs → input-C7qFEkmt.mjs} +2 -2
  84. package/core/built/admin/assets/posts/{kpis-1MXZeSC9.mjs → kpis-DteuJY-D.mjs} +10 -10
  85. package/core/built/admin/assets/posts/{links-DGzzdzsH.mjs → links-eoZr0T0x.mjs} +4 -4
  86. package/core/built/admin/assets/posts/{loading-indicator-CSj2spwS.mjs → loading-indicator-Dj1SCL40.mjs} +3 -3
  87. package/core/built/admin/assets/posts/{main-layout-CGs25JVH.mjs → main-layout-Ct-TA0TH.mjs} +2 -2
  88. package/core/built/admin/assets/posts/{members-BRcED5fL.mjs → members-BY9oPKo4.mjs} +3814 -3378
  89. package/core/built/admin/assets/posts/{newsletter-D706LlgM.mjs → newsletter-BR1tln6E.mjs} +15 -15
  90. package/core/built/admin/assets/posts/{overview-5dG5ypjx.mjs → overview-j1ANMAQ2.mjs} +16 -16
  91. package/core/built/admin/assets/posts/{post-analytics-wvNuOa4c.mjs → post-analytics-DnG-Rolr.mjs} +6 -6
  92. package/core/built/admin/assets/posts/{post-analytics-context-BqnFe05q.mjs → post-analytics-context-hiKFF4yE.mjs} +5 -5
  93. package/core/built/admin/assets/posts/{post-analytics-header-Dsi5l6hb.mjs → post-analytics-header-OqAJ8SUL.mjs} +11 -11
  94. package/core/built/admin/assets/posts/{post-share-modal-DWe35McY.mjs → post-share-modal-BWfujDu2.mjs} +4 -4
  95. package/core/built/admin/assets/posts/posts-CS9tqSJC.mjs +37 -0
  96. package/core/built/admin/assets/posts/posts.js +1 -1
  97. package/core/built/admin/assets/posts/{reply-B4vwBMwj.mjs → reply-CX_EQh9X.mjs} +2 -2
  98. package/core/built/admin/assets/posts/{search-DQuB1WMm.mjs → search-BqzdnPQb.mjs} +2 -2
  99. package/core/built/admin/assets/posts/{select-BMPHyOdQ.mjs → select-CD5WLIrZ.mjs} +8 -8
  100. package/core/built/admin/assets/posts/{separator-DgZ2VF9r.mjs → separator-DFPLsWCc.mjs} +3 -3
  101. package/core/built/admin/assets/posts/{settings-D-wnf7Qg.mjs → settings-lnEt3Kb-.mjs} +2 -2
  102. package/core/built/admin/assets/posts/{sheet-SOdCzxUt.mjs → sheet-CkLfUqdH.mjs} +3 -3
  103. package/core/built/admin/assets/posts/{skeleton-Du7JXZ_1.mjs → skeleton-BZCi-IYy.mjs} +3 -3
  104. package/core/built/admin/assets/posts/{source-icon-DcBtKbCl.mjs → source-icon-C0k2hDC_.mjs} +3 -3
  105. package/core/built/admin/assets/posts/{stats-CeLav-Hu.mjs → stats-AHbSTqzG.mjs} +4 -4
  106. package/core/built/admin/assets/posts/{table-DlaJMBps.mjs → table-DMrf6wp5.mjs} +2 -2
  107. package/core/built/admin/assets/posts/{tabs-BQQbtw2g.mjs → tabs-BH8GNJCe.mjs} +14 -14
  108. package/core/built/admin/assets/posts/tags-C5VV8Gd0.mjs +398 -0
  109. package/core/built/admin/assets/posts/{tags-CLyaNf39.mjs → tags-DucujdYI.mjs} +2 -2
  110. package/core/built/admin/assets/posts/use-scroll-restoration-C7A3TpAz.mjs +517 -0
  111. package/core/built/admin/assets/posts/{use-infinite-virtual-scroll-B_NwiBXK.mjs → virtual-list-window-BIGoc0th.mjs} +322 -244
  112. package/core/built/admin/assets/posts/{web-TEVKbXSI.mjs → web-DczNailO.mjs} +18 -18
  113. package/core/built/admin/assets/posts-Dr3u9yOp.js +1 -0
  114. package/core/built/admin/assets/{referrers-J4vexZCf.js → referrers-6As_USul.js} +1 -1
  115. package/core/built/admin/assets/{repeat-BxOK9zhN.js → repeat-D-Ki-Cg5.js} +1 -1
  116. package/core/built/admin/assets/{reply-BoTN-eE0.js → reply-C4V0xZ2U.js} +1 -1
  117. package/core/built/admin/assets/{select-Bd1zcqox.js → select-Dt579MbD.js} +1 -1
  118. package/core/built/admin/assets/{settings-D72z6T_a.js → settings-BMsoTszq.js} +1 -1
  119. package/core/built/admin/assets/{settings-BGbGoa4s.js → settings-Ck1Hqs1x.js} +19 -19
  120. package/core/built/admin/assets/{sort-button-BOLTpImz.js → sort-button-Bn325H3y.js} +1 -1
  121. package/core/built/admin/assets/{source-icon-BqEM5MvU.js → source-icon-CNqsYZeA.js} +1 -1
  122. package/core/built/admin/assets/{sprout-Bf-wc2Vo.js → sprout-C9DbfYGe.js} +1 -1
  123. package/core/built/admin/assets/{square-Cj_bJ0HZ.js → square-CWrI0H4v.js} +1 -1
  124. package/core/built/admin/assets/stats/{audience-BiHYBUzT.mjs → audience-DBW5Xu1c.mjs} +3 -3
  125. package/core/built/admin/assets/stats/{content-helpers-CIXZiyCm.mjs → content-helpers-BR6DcWwH.mjs} +4 -4
  126. package/core/built/admin/assets/stats/{index-DBB8Oih1.mjs → index-BuS4r1cs.mjs} +5 -5
  127. package/core/built/admin/assets/stats/{index-CkKk-p14.mjs → index-CFvGHbAV.mjs} +8 -8
  128. package/core/built/admin/assets/stats/{index-9zQR4gr0.mjs → index-DKS4mzS-.mjs} +3621 -3512
  129. package/core/built/admin/assets/stats/{index-DMSmQLxG.mjs → index-TeAxlGlY.mjs} +5 -5
  130. package/core/built/admin/assets/stats/{index-DErXBfDM.mjs → index-ZjicrvMA.mjs} +5 -5
  131. package/core/built/admin/assets/stats/{sort-button-BqY7GFaO.mjs → sort-button-DbwzvVKL.mjs} +3 -3
  132. package/core/built/admin/assets/stats/{stats-BeJgKX2G.mjs → stats-BatzfgdA.mjs} +4 -4
  133. package/core/built/admin/assets/stats/stats.js +1 -1
  134. package/core/built/admin/assets/stats/{tabs-CPz357mW.mjs → tabs-B32ptD5t.mjs} +3 -3
  135. package/core/built/admin/assets/stats/{use-growth-stats-WMYXBQE3.mjs → use-growth-stats-DmTT2gKd.mjs} +3 -3
  136. package/core/built/admin/assets/{stats-DWpHtRym.js → stats-G4Ge9ETb.js} +1 -1
  137. package/core/built/admin/assets/stats-view-Bx3oDAIW.js +1 -0
  138. package/core/built/admin/assets/{step-1-Bjya9Gt0.js → step-1-y3anLU0g.js} +1 -1
  139. package/core/built/admin/assets/{step-2-CJ6I8JNc.js → step-2-Dr1lGnHU.js} +1 -1
  140. package/core/built/admin/assets/{step-3-3fs6Y2Kj.js → step-3-C_d2hvMs.js} +2 -2
  141. package/core/built/admin/assets/{table-B4zlzEDP.js → table-CbN_vbUx.js} +1 -1
  142. package/core/built/admin/assets/{tabs-mR5oJGm5.js → tabs-DFJzY5np.js} +1 -1
  143. package/core/built/admin/assets/tags-D5g9tXZU.js +1 -0
  144. package/core/built/admin/assets/{tags-CsgMtkFL.js → tags-Ddg8oG2Y.js} +1 -1
  145. package/core/built/admin/assets/{textarea-CQjEvapR.js → textarea-DikWsYMt.js} +1 -1
  146. package/core/built/admin/assets/{tiers-CQE0v797.js → tiers-B7qV_8mO.js} +1 -1
  147. package/core/built/admin/assets/{toggle-group-CR-Z-bJL.js → toggle-group-tXaaTD7P.js} +1 -1
  148. package/core/built/admin/assets/{topic-filter-_NyD55eH.js → topic-filter-bQtscKE6.js} +1 -1
  149. package/core/built/admin/assets/{trash-BFSLkv0z.js → trash--VS50LgS.js} +1 -1
  150. package/core/built/admin/assets/{upload-BTxT4v2z.js → upload-Dz-DI9rQ.js} +1 -1
  151. package/core/built/admin/assets/{use-growth-stats-BGymNu5O.js → use-growth-stats-DNVioFUq.js} +1 -1
  152. package/core/built/admin/assets/use-scroll-restoration-CxWEiCuS.js +1 -0
  153. package/core/built/admin/assets/{use-simple-pagination-Cq7Afp_c.js → use-simple-pagination-BA6xsVQO.js} +1 -1
  154. package/core/built/admin/assets/{user-plus-DMl69yKl.js → user-plus-B0tpOnLM.js} +1 -1
  155. package/core/built/admin/assets/{user-round-check-CVuZXUPz.js → user-round-check-caJYm0bB.js} +1 -1
  156. package/core/built/admin/assets/virtual-list-window-JdKgHS9L.js +4 -0
  157. package/core/built/admin/assets/{wallet-cards-zHR_y6Sp.js → wallet-cards-DBM65lA_.js} +1 -1
  158. package/core/built/admin/assets/{web-CmFHgeQw.js → web-CSXixG1S.js} +1 -1
  159. package/core/built/admin/index.html +7 -7
  160. package/core/frontend/helpers/ghost_head.js +1 -4
  161. package/core/server/data/migrations/versions/6.25/2026-03-26-15-47-00-insert-default-email-design-settings-row.js +42 -0
  162. package/core/server/data/migrations/versions/6.25/2026-03-30-20-22-25-add-email-design-setting-permissions.js +44 -0
  163. package/core/server/data/migrations/versions/6.25/2026-03-30-22-16-43-add-email-design-setting-id-to-automated-emails.js +8 -0
  164. package/core/server/data/migrations/versions/6.25/2026-03-31-13-12-10-backfill-automated-emails-email-design-setting-id.js +45 -0
  165. package/core/server/data/migrations/versions/6.25/2026-03-31-20-31-19-drop-nullable-on-automated-emails-email-design-setting-id.js +3 -0
  166. package/core/server/data/schema/fixtures/fixtures.json +35 -0
  167. package/core/server/data/schema/schema.js +1 -0
  168. package/core/server/data/seeders/importers/comment-reports-importer.js +1 -3
  169. package/core/server/data/seeders/importers/comments-importer.js +3 -2
  170. package/core/server/data/seeders/importers/email-batches-importer.js +3 -3
  171. package/core/server/data/seeders/importers/email-recipients-importer.js +6 -6
  172. package/core/server/data/seeders/importers/emails-importer.js +4 -3
  173. package/core/server/data/seeders/importers/members-click-events-importer.js +1 -1
  174. package/core/server/data/seeders/importers/members-created-events-importer.js +2 -1
  175. package/core/server/data/seeders/importers/members-feedback-importer.js +3 -4
  176. package/core/server/data/seeders/importers/members-login-events-importer.js +3 -2
  177. package/core/server/data/seeders/importers/members-status-events-importer.js +1 -2
  178. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +2 -1
  179. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +4 -2
  180. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +1 -2
  181. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +3 -1
  182. package/core/server/data/seeders/importers/offer-redemptions-importer.js +3 -3
  183. package/core/server/data/seeders/utils/database-date.js +26 -1
  184. package/core/server/models/automated-email.js +27 -0
  185. package/core/server/models/email-design-setting.js +27 -0
  186. package/core/server/services/stripe/service.js +1 -2
  187. package/core/server/services/webhooks/webhook-trigger.js +1 -1
  188. package/package.json +10 -28
  189. package/tsconfig.tsbuildinfo +1 -1
  190. package/yarn.lock +423 -107
  191. package/components/tryghost-parse-email-address-6.24.0.tgz +0 -0
  192. package/core/built/admin/assets/comments-CteqV7ZN.js +0 -1
  193. package/core/built/admin/assets/filters-DXXaCya7.js +0 -1
  194. package/core/built/admin/assets/index-QB-va_sk.css +0 -1
  195. package/core/built/admin/assets/index-nBUk6L1X.js +0 -1
  196. package/core/built/admin/assets/members-DcElgZ2t.js +0 -15
  197. package/core/built/admin/assets/posts/comments-Bswx2dzs.mjs +0 -1551
  198. package/core/built/admin/assets/posts/filters-Ds_ZaYIU.mjs +0 -2722
  199. package/core/built/admin/assets/posts/posts-DI5YQFp4.mjs +0 -17
  200. package/core/built/admin/assets/posts/tags-CjwolIiT.mjs +0 -395
  201. package/core/built/admin/assets/posts/use-scroll-restoration-YSR5jwQl.mjs +0 -232
  202. package/core/built/admin/assets/posts-CJHEP4C-.js +0 -1
  203. package/core/built/admin/assets/stats-view-CcyaLPwj.js +0 -1
  204. package/core/built/admin/assets/tags-DEFC6GpD.js +0 -1
  205. package/core/built/admin/assets/use-infinite-virtual-scroll-CNqGwgHd.js +0 -4
  206. package/core/built/admin/assets/use-scroll-restoration-BWtb0NrS.js +0 -1
  207. /package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js.LICENSE.txt → chunk.434.de8a15730373eccfeefe.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- import{aX as O,j as s,B as P,b0 as _,t as D,z as V,bO as Q,bP as X,bQ as Z,bR as q,bS as I,bT as J,am as b,r as g,u as Y,S as E,aZ as L,bU as ss,aL as es}from"./index-ZuWSQ3L6.js";import{E as G}from"./empty-indicator-Bf4Dqk72.js";import{A as rs,a as as,W as ts,C as ns}from"./wallet-cards-zHR_y6Sp.js";import{S as H}from"./source-icon-BqEM5MvU.js";import{p as os,e as cs}from"./source-utils-B1S3ZHA2.js";import{C as N,a as S,b as C,h as v,c as w,i as is}from"./pagemenu-BqoDENpI.js";import{a as ls,b as ds,c as W,d as f,e as ms,f as y}from"./table-B4zlzEDP.js";import{U as hs}from"./user-plus-DMl69yKl.js";import{K as M,d as A,a as k,b as T,c as R,e as xs}from"./member-route-mLKS-PsA.js";import{P as ps,a as us}from"./post-analytics-header-D97SoEaV.js";import{u as js}from"./post-analytics-context-WA--pwK5.js";import{g as $}from"./currency-fEUUCkj0.js";import{c as bs,d as gs,a as fs}from"./stats-DWpHtRym.js";const ys=({className:n})=>{const t=O();return s.jsx(G,{actions:s.jsx(P,{variant:"outline",onClick:()=>t("/settings/analytics",{crossApp:!0}),children:"Open settings"}),className:n,description:"Enable member source tracking in settings to see which content drives member growth.",title:"Member sources have been disabled",children:s.jsx(rs,{})})},K="https://www.google.com/s2/favicons?domain=ghost.org&sz=64",F=({headerStyle:n="table",children:t="Source",data:m,mode:r,defaultSourceIconUrl:a=K})=>{const{appSettings:c}=_();if(r==="growth")return s.jsxs(ls,{children:[s.jsx(ds,{children:s.jsxs(W,{children:[s.jsx(f,{className:"min-w-[320px]",variant:n==="table"?"default":"cardhead",children:t}),s.jsx(f,{className:"w-[110px] text-right",children:"Free members"}),c?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsx(f,{className:"w-[110px] text-right",children:"Paid members"}),s.jsx(f,{className:"w-[100px] text-right",children:"MRR impact"})]})]})}),s.jsx(ms,{children:m?.map(e=>{const h=o=>Math.round(o/100);return s.jsxs(W,{className:"last:border-none",children:[s.jsx(y,{children:e.linkUrl?s.jsxs("a",{className:"group flex items-center gap-2",href:e.linkUrl,rel:"noreferrer",target:"_blank",children:[s.jsx(H,{defaultSourceIconUrl:a,displayName:e.displayName,iconSrc:e.iconSrc}),s.jsx("span",{className:"group-hover:underline",children:e.displayName})]}):s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx(H,{defaultSourceIconUrl:a,displayName:e.displayName,iconSrc:e.iconSrc}),s.jsx("span",{children:e.displayName})]})}),s.jsxs(y,{className:"text-right font-mono text-sm",children:["+",b(e.free_members||0)]}),c?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsxs(y,{className:"text-right font-mono text-sm",children:["+",b(e.paid_members||0)]}),s.jsxs(y,{className:"text-right font-mono text-sm",children:["+$",b(h(e.mrr||0))]})]})]},e.source)})})]})},Ns=({title:n="Top sources",description:t,data:m,mode:r="visits",range:a=30,totalVisitors:c=0,siteUrl:e,siteIcon:h,defaultSourceIconUrl:o=K,getPeriodText:i,className:u})=>{const{appSettings:p}=_(),l=D.useMemo(()=>os({data:m,mode:r,siteUrl:e,siteIcon:h,defaultSourceIconUrl:o}),[m,e,h,r,o]),d=D.useMemo(()=>cs({processedData:l,totalVisitors:c,mode:r}),[l,c,r]),x=d.slice(0,10),j=t||(r==="growth"?"Where did your growth come from?":`How readers found your ${a?"site":"post"}${a&&i?` ${i(a)}`:""}`),z=r==="growth"?"Sources":"Top sources",B=r==="growth"?"Where did your growth come from?":`How readers found your ${a?"site":"post"}${a&&i?` ${i(a)}`:""}`;return s.jsxs(N,{className:V("group/datalist w-full max-w-[calc(100vw-64px)] overflow-x-auto sidebar:max-w-[calc(100vw-64px-280px)]",u),"data-testid":"top-sources-card",children:[x.length<=0&&s.jsxs(S,{children:[s.jsx(C,{children:n}),s.jsx(v,{children:j})]}),s.jsx(w,{children:r==="growth"&&!p?.analytics.membersTrackSources?s.jsx(ys,{className:"py-10"}):x.length>0?s.jsx(F,{data:x,defaultSourceIconUrl:o,getPeriodText:i,headerStyle:"card",mode:r,range:a,children:s.jsxs(S,{children:[s.jsx(C,{children:n}),s.jsx(v,{children:j})]})}):s.jsx("div",{className:"py-20 text-center text-sm text-gray-700",children:s.jsx(G,{className:"h-full",description:r==="growth"&&"Once someone signs up on this post, sources will show here",title:`No sources data available ${i?i(a):""}`,children:s.jsx(hs,{strokeWidth:1.5})})})}),d.length>10&&s.jsx(is,{children:s.jsxs(Q,{children:[s.jsx(X,{asChild:!0,children:s.jsxs(P,{variant:"outline",children:["View all ",s.jsx(as,{})]})}),s.jsxs(Z,{className:"overflow-y-auto pt-0 sm:max-w-[600px]",children:[s.jsxs(q,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:[s.jsx(I,{children:z}),s.jsx(J,{children:B})]}),s.jsx("div",{className:"group/datalist",children:s.jsx(F,{data:d,defaultSourceIconUrl:o,getPeriodText:i,mode:r,range:a})})]})]})})]})},ws=n=>{const{data:t,isLoading:m}=bs(n),{data:r,isLoading:a}=gs(n),{data:c,isLoading:e}=fs(),h=g.useMemo(()=>t?.stats||[],[t]),o=g.useMemo(()=>r?.stats.length===0?{free_members:0,paid_members:0,mrr:0}:r?.stats[0],[r]),{selectedCurrency:i,currencySymbol:u}=g.useMemo(()=>{if(c?.stats&&c?.meta?.totals){const l=c.meta.totals;let d=l[0];if(!d)return{selectedCurrency:"usd",currencySymbol:$("usd")};for(const j of l)j.mrr>d.mrr&&(d=j);const x=d.currency;return{selectedCurrency:x,currencySymbol:$(x)}}return{selectedCurrency:"usd",currencySymbol:$("usd")}},[c]);return{isLoading:g.useMemo(()=>m||a||e,[m,a,e]),stats:h,totals:o,selectedCurrency:i,currencySymbol:u}},U=n=>Math.round(n/100),Ss=()=>{const{data:n}=js(),{postId:t}=Y(),{stats:m,totals:r,isLoading:a,currencySymbol:c}=ws(t||""),{appSettings:e}=_(),h=O(),o=d=>h(xs({filter:d}),{crossApp:!0}),i=n?.url,u=n?.icon;let p="flex flex-col items-stretch gap-6",l="";return e?.paidMembersEnabled||(p="grid grid-cols-1 border rounded-md",l="border-none hover:shadow-none"),s.jsxs(s.Fragment,{children:[s.jsx(ps,{currentTab:"Growth"}),s.jsx(us,{children:a?s.jsxs("div",{className:p,children:[s.jsx(N,{className:l,children:s.jsx(w,{className:"grid grid-cols-3 p-0",children:Array.from({length:3},(d,x)=>s.jsxs("div",{className:"h-[98px] gap-1 border-r px-6 py-5 last:border-r-0",children:[s.jsx(E,{className:"w-2/3"}),s.jsx(E,{className:"h-7 w-12"})]},x))})}),s.jsxs(N,{className:l,children:[s.jsxs(S,{children:[s.jsx(C,{children:"Top sources"}),s.jsx(v,{children:"Where did your growth come from?"})]}),s.jsxs(w,{children:[s.jsx(L,{}),s.jsx(ss,{className:"pt-6"})]})]})]}):s.jsxs("div",{className:p,children:[s.jsxs(N,{className:l,"data-testid":"members-card",children:[s.jsxs(S,{className:"hidden",children:[s.jsx(C,{children:"Newsletters"}),s.jsx(v,{children:"How did this post perform"})]}),s.jsx(w,{className:"p-0",children:s.jsxs("div",{className:`flex flex-col md:grid md:items-stretch ${e?.paidMembersEnabled?"md:grid-cols-3":"md:grid-cols-1"}`,children:[s.jsxs(M,{className:"grow",children:[s.jsx(A,{onClick:()=>{o(`signup:'${t}'+conversion:-'${t}'`)},children:"View members →"}),s.jsxs(k,{onClick:()=>{o(`signup:'${t}'+conversion:-'${t}'`)},children:[s.jsx(es,{strokeWidth:1.5}),"Free members"]}),s.jsx(T,{children:s.jsx(R,{children:b(r?.free_members||0)})})]}),e?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsxs(M,{className:"grow",children:[s.jsx(A,{onClick:()=>{o(`conversion:'${t}'`)},children:"View members →"}),s.jsxs(k,{onClick:()=>{o(`conversion:'${t}'`)},children:[s.jsx(ts,{strokeWidth:1.5}),"Paid members"]}),s.jsx(T,{children:s.jsx(R,{children:b(r?.paid_members||0)})})]}),s.jsxs(M,{className:"grow",children:[s.jsxs(k,{children:[s.jsx(ns,{strokeWidth:1.5}),"MRR"]}),s.jsx(T,{children:s.jsxs(R,{children:["+",c,U(r?.mrr||0)]})})]})]})]})})]}),!e?.paidMembersEnabled&&s.jsx(L,{}),s.jsx(Ns,{className:l,data:m,mode:"growth",siteIcon:u,siteUrl:i})]})})]})},As=Object.freeze(Object.defineProperty({__proto__:null,centsToDollars:U,default:Ss},Symbol.toStringTag,{value:"Module"}));export{ys as D,U as c,As as g,ws as u};
1
+ import{aS as O,j as s,B as P,aX as _,t as D,z as V,bJ as J,bK as X,bL as q,bM as I,bN as Q,bO as Y,am as b,r as g,u as Z,S as E,aU as L,bP as ss,bS as es}from"./index-JMWMnGGt.js";import{E as G}from"./empty-indicator-DjmACVr2.js";import{A as rs,a as as,W as ts,C as ns}from"./wallet-cards-DBM65lA_.js";import{S as H}from"./source-icon-CNqsYZeA.js";import{p as os,e as cs}from"./source-utils-B1S3ZHA2.js";import{C as N,a as S,b as C,h as v,c as w,i as is}from"./pagemenu-Dq744OgH.js";import{a as ls,b as ds,c as W,d as f,e as ms,f as y}from"./table-CbN_vbUx.js";import{U as hs}from"./user-plus-B0tpOnLM.js";import{K as M,d as A,a as k,b as T,c as R,e as xs}from"./member-route-CKuE9uDU.js";import{P as ps,a as us}from"./post-analytics-header-DtBp2QSX.js";import{u as js}from"./post-analytics-context-COgn3d86.js";import{g as $}from"./currency-fEUUCkj0.js";import{c as bs,d as gs,a as fs}from"./stats-G4Ge9ETb.js";const ys=({className:n})=>{const t=O();return s.jsx(G,{actions:s.jsx(P,{variant:"outline",onClick:()=>t("/settings/analytics",{crossApp:!0}),children:"Open settings"}),className:n,description:"Enable member source tracking in settings to see which content drives member growth.",title:"Member sources have been disabled",children:s.jsx(rs,{})})},K="https://www.google.com/s2/favicons?domain=ghost.org&sz=64",F=({headerStyle:n="table",children:t="Source",data:m,mode:r,defaultSourceIconUrl:a=K})=>{const{appSettings:c}=_();if(r==="growth")return s.jsxs(ls,{children:[s.jsx(ds,{children:s.jsxs(W,{children:[s.jsx(f,{className:"min-w-[320px]",variant:n==="table"?"default":"cardhead",children:t}),s.jsx(f,{className:"w-[110px] text-right",children:"Free members"}),c?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsx(f,{className:"w-[110px] text-right",children:"Paid members"}),s.jsx(f,{className:"w-[100px] text-right",children:"MRR impact"})]})]})}),s.jsx(ms,{children:m?.map(e=>{const h=o=>Math.round(o/100);return s.jsxs(W,{className:"last:border-none",children:[s.jsx(y,{children:e.linkUrl?s.jsxs("a",{className:"group flex items-center gap-2",href:e.linkUrl,rel:"noreferrer",target:"_blank",children:[s.jsx(H,{defaultSourceIconUrl:a,displayName:e.displayName,iconSrc:e.iconSrc}),s.jsx("span",{className:"group-hover:underline",children:e.displayName})]}):s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx(H,{defaultSourceIconUrl:a,displayName:e.displayName,iconSrc:e.iconSrc}),s.jsx("span",{children:e.displayName})]})}),s.jsxs(y,{className:"text-right font-mono text-sm",children:["+",b(e.free_members||0)]}),c?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsxs(y,{className:"text-right font-mono text-sm",children:["+",b(e.paid_members||0)]}),s.jsxs(y,{className:"text-right font-mono text-sm",children:["+$",b(h(e.mrr||0))]})]})]},e.source)})})]})},Ns=({title:n="Top sources",description:t,data:m,mode:r="visits",range:a=30,totalVisitors:c=0,siteUrl:e,siteIcon:h,defaultSourceIconUrl:o=K,getPeriodText:i,className:u})=>{const{appSettings:p}=_(),l=D.useMemo(()=>os({data:m,mode:r,siteUrl:e,siteIcon:h,defaultSourceIconUrl:o}),[m,e,h,r,o]),d=D.useMemo(()=>cs({processedData:l,totalVisitors:c,mode:r}),[l,c,r]),x=d.slice(0,10),j=t||(r==="growth"?"Where did your growth come from?":`How readers found your ${a?"site":"post"}${a&&i?` ${i(a)}`:""}`),z=r==="growth"?"Sources":"Top sources",B=r==="growth"?"Where did your growth come from?":`How readers found your ${a?"site":"post"}${a&&i?` ${i(a)}`:""}`;return s.jsxs(N,{className:V("group/datalist w-full max-w-[calc(100vw-64px)] overflow-x-auto sidebar:max-w-[calc(100vw-64px-280px)]",u),"data-testid":"top-sources-card",children:[x.length<=0&&s.jsxs(S,{children:[s.jsx(C,{children:n}),s.jsx(v,{children:j})]}),s.jsx(w,{children:r==="growth"&&!p?.analytics.membersTrackSources?s.jsx(ys,{className:"py-10"}):x.length>0?s.jsx(F,{data:x,defaultSourceIconUrl:o,getPeriodText:i,headerStyle:"card",mode:r,range:a,children:s.jsxs(S,{children:[s.jsx(C,{children:n}),s.jsx(v,{children:j})]})}):s.jsx("div",{className:"py-20 text-center text-sm text-gray-700",children:s.jsx(G,{className:"h-full",description:r==="growth"&&"Once someone signs up on this post, sources will show here",title:`No sources data available ${i?i(a):""}`,children:s.jsx(hs,{strokeWidth:1.5})})})}),d.length>10&&s.jsx(is,{children:s.jsxs(J,{children:[s.jsx(X,{asChild:!0,children:s.jsxs(P,{variant:"outline",children:["View all ",s.jsx(as,{})]})}),s.jsxs(q,{className:"overflow-y-auto pt-0 sm:max-w-[600px]",children:[s.jsxs(I,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:[s.jsx(Q,{children:z}),s.jsx(Y,{children:B})]}),s.jsx("div",{className:"group/datalist",children:s.jsx(F,{data:d,defaultSourceIconUrl:o,getPeriodText:i,mode:r,range:a})})]})]})})]})},ws=n=>{const{data:t,isLoading:m}=bs(n),{data:r,isLoading:a}=gs(n),{data:c,isLoading:e}=fs(),h=g.useMemo(()=>t?.stats||[],[t]),o=g.useMemo(()=>r?.stats.length===0?{free_members:0,paid_members:0,mrr:0}:r?.stats[0],[r]),{selectedCurrency:i,currencySymbol:u}=g.useMemo(()=>{if(c?.stats&&c?.meta?.totals){const l=c.meta.totals;let d=l[0];if(!d)return{selectedCurrency:"usd",currencySymbol:$("usd")};for(const j of l)j.mrr>d.mrr&&(d=j);const x=d.currency;return{selectedCurrency:x,currencySymbol:$(x)}}return{selectedCurrency:"usd",currencySymbol:$("usd")}},[c]);return{isLoading:g.useMemo(()=>m||a||e,[m,a,e]),stats:h,totals:o,selectedCurrency:i,currencySymbol:u}},U=n=>Math.round(n/100),Ss=()=>{const{data:n}=js(),{postId:t}=Z(),{stats:m,totals:r,isLoading:a,currencySymbol:c}=ws(t||""),{appSettings:e}=_(),h=O(),o=d=>h(xs({filter:d}),{crossApp:!0}),i=n?.url,u=n?.icon;let p="flex flex-col items-stretch gap-6",l="";return e?.paidMembersEnabled||(p="grid grid-cols-1 border rounded-md",l="border-none hover:shadow-none"),s.jsxs(s.Fragment,{children:[s.jsx(ps,{currentTab:"Growth"}),s.jsx(us,{children:a?s.jsxs("div",{className:p,children:[s.jsx(N,{className:l,children:s.jsx(w,{className:"grid grid-cols-3 p-0",children:Array.from({length:3},(d,x)=>s.jsxs("div",{className:"h-[98px] gap-1 border-r px-6 py-5 last:border-r-0",children:[s.jsx(E,{className:"w-2/3"}),s.jsx(E,{className:"h-7 w-12"})]},x))})}),s.jsxs(N,{className:l,children:[s.jsxs(S,{children:[s.jsx(C,{children:"Top sources"}),s.jsx(v,{children:"Where did your growth come from?"})]}),s.jsxs(w,{children:[s.jsx(L,{}),s.jsx(ss,{className:"pt-6"})]})]})]}):s.jsxs("div",{className:p,children:[s.jsxs(N,{className:l,"data-testid":"members-card",children:[s.jsxs(S,{className:"hidden",children:[s.jsx(C,{children:"Newsletters"}),s.jsx(v,{children:"How did this post perform"})]}),s.jsx(w,{className:"p-0",children:s.jsxs("div",{className:`flex flex-col md:grid md:items-stretch ${e?.paidMembersEnabled?"md:grid-cols-3":"md:grid-cols-1"}`,children:[s.jsxs(M,{className:"grow",children:[s.jsx(A,{onClick:()=>{o(`signup:'${t}'+conversion:-'${t}'`)},children:"View members →"}),s.jsxs(k,{onClick:()=>{o(`signup:'${t}'+conversion:-'${t}'`)},children:[s.jsx(es,{strokeWidth:1.5}),"Free members"]}),s.jsx(T,{children:s.jsx(R,{children:b(r?.free_members||0)})})]}),e?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsxs(M,{className:"grow",children:[s.jsx(A,{onClick:()=>{o(`conversion:'${t}'`)},children:"View members →"}),s.jsxs(k,{onClick:()=>{o(`conversion:'${t}'`)},children:[s.jsx(ts,{strokeWidth:1.5}),"Paid members"]}),s.jsx(T,{children:s.jsx(R,{children:b(r?.paid_members||0)})})]}),s.jsxs(M,{className:"grow",children:[s.jsxs(k,{children:[s.jsx(ns,{strokeWidth:1.5}),"MRR"]}),s.jsx(T,{children:s.jsxs(R,{children:["+",c,U(r?.mrr||0)]})})]})]})]})})]}),!e?.paidMembersEnabled&&s.jsx(L,{}),s.jsx(Ns,{className:l,data:m,mode:"growth",siteIcon:u,siteUrl:i})]})})]})},As=Object.freeze(Object.defineProperty({__proto__:null,centsToDollars:U,default:Ss},Symbol.toStringTag,{value:"Module"}));export{ys as D,U as c,As as g,ws as u};
@@ -1,4 +1,4 @@
1
- import{ap as e}from"./index-ZuWSQ3L6.js";/**
1
+ import{ap as e}from"./index-JMWMnGGt.js";/**
2
2
  * @license lucide-react v0.553.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{ap as o}from"./index-ZuWSQ3L6.js";/**
1
+ import{ap as o}from"./index-JMWMnGGt.js";/**
2
2
  * @license lucide-react v0.553.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{r as o,j as n,cw as Sn,cx as En,B as A,co as Vn,cz as _n,cy as Yn,t as dn,d0 as Qn,b as Nn,d8 as pn,S as E,P as Zn,A as Jn,h as Xn,g as bn,d as Gn,m as ne,bK as ee,e as un,F as on,i as rn,d9 as te,da as D,o as ae,db as xn,a as oe,u as re,p as ie,L as de,aZ as se,D as ce,v as le,w as ge,x as pe,aa as ue,dc as he,dd as me,bC as vn,bD as ke}from"./index-ZuWSQ3L6.js";import{M as fe}from"./minus-DVNwSjD6.js";import{u as be,D as xe,A as ve,S as yn}from"./deleted-feed-item-DQi676Dy.js";import{T as ye}from"./topic-filter-_NyD55eH.js";import{E as wn}from"./empty-indicator-Bf4Dqk72.js";import{I as jn}from"./inbox-CFzKvW3h.js";import"./trash-BFSLkv0z.js";const hn=["1.5rem","1.6rem","1.7rem","1.8rem","2rem"],W={BACKGROUND_COLOR:"ghost-ap-background-color",FONT_SIZE:"ghost-ap-font-size",FONT_STYLE:"ghost-ap-font-style"},P={SYSTEM:{id:"system",color:"#fff",background:"bg-white dark:bg-black",button:"bg-white dark:bg-black",border:"border-black/[8%] dark:border-gray-950"},SEPIA:{id:"sepia",color:"#FCF8F1",background:"bg-[#FCF8F1]",button:"bg-[#FCF8F1] hover:bg-black/[3%] text-black hover:text-black",border:"border-black/[8%]"},LIGHT:{id:"light",color:"#fff",background:"bg-white",button:"hover:bg-black/[3%] text-black hover:text-black",border:"border-black/[8%] dark:border-gray-950"},DARK:{id:"dark",color:"#15171a",background:"bg-black",button:"text-white dark:bg-black dark:hover:bg-gray-900",border:"border-black/[8%] dark:border-gray-950"}},we=()=>{const[t,c]=o.useState(()=>localStorage.getItem(W.BACKGROUND_COLOR)?.toUpperCase()||"SYSTEM"),[a,p]=o.useState(()=>{const r=localStorage.getItem(W.FONT_SIZE);return r?parseInt(r):2}),[s,k]=o.useState(()=>localStorage.getItem(W.FONT_STYLE)||"sans"),i=r=>{c(r),localStorage.setItem(W.BACKGROUND_COLOR,P[r].id)};return o.useEffect(()=>{localStorage.setItem(W.FONT_SIZE,a.toString())},[a]),o.useEffect(()=>{localStorage.setItem(W.FONT_STYLE,s)},[s]),{backgroundColor:t,currentFontSizeIndex:a,fontStyle:s,handleColorChange:i,setFontStyle:k,increaseFontSize:()=>{p(r=>Math.min(r+1,hn.length-1))},decreaseFontSize:()=>{p(r=>Math.max(r-1,0))},resetFontSize:()=>p(2),fontSize:hn[a]}},Cn=({backgroundColor:t,currentFontSizeIndex:c,fontStyle:a,onColorChange:p,onFontStyleChange:s,onDecreaseFontSize:k,onIncreaseFontSize:i,onResetFontSize:u,onOpenChange:v})=>{const h=l=>t===l,r=l=>a===l;return n.jsx(je,{backgroundColor:t,currentFontSizeIndex:c,fontStyle:a,isActiveColor:h,isActiveFont:r,onColorChange:p,onDecreaseFontSize:k,onFontStyleChange:s,onIncreaseFontSize:i,onOpenChange:v,onResetFontSize:u})},je=({backgroundColor:t,isActiveColor:c,isActiveFont:a,onColorChange:p,onFontStyleChange:s,currentFontSizeIndex:k,onDecreaseFontSize:i,onIncreaseFontSize:u,onResetFontSize:v,onOpenChange:h})=>n.jsxs(Sn,{modal:!1,onOpenChange:h,children:[n.jsx(En,{asChild:!0,children:n.jsx(A,{className:`size-9 rounded-full ${P[t].button}`,variant:"ghost",children:n.jsx(Vn.Typography,{className:"size-[18px]!"})})}),n.jsx(_n,{align:"end",className:"w-[224px]",onCloseAutoFocus:r=>r.preventDefault(),onOpenAutoFocus:r=>r.preventDefault(),children:n.jsxs("div",{className:"flex flex-col gap-4",children:[n.jsxs("div",{className:"flex items-center justify-between gap-[6px]",children:[n.jsx(A,{className:`h-7 flex-1 rounded-[6px] bg-gray-200 p-0 text-[1.1rem] text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px] ${c("SYSTEM")?"outline outline-2 outline-green":""}`,variant:"secondary",onClick:()=>p("SYSTEM"),children:"Auto"}),n.jsx(A,{className:`h-7 flex-1 rounded-[6px] bg-[#ece6d9] p-0 hover:bg-[#ece6d9] ${c("SEPIA")?"outline outline-2 outline-green":"border border-[#ece6d9]"}`,onClick:()=>p("SEPIA")}),n.jsx(A,{className:`h-7 flex-1 rounded-[6px] bg-white p-0 hover:bg-white ${c("LIGHT")?"outline outline-2 outline-green":"border border-gray-200"}`,onClick:()=>p("LIGHT")}),n.jsx(A,{className:`h-7 flex-1 rounded-[6px] bg-black p-0 hover:bg-black dark:border dark:border-gray-925 ${c("DARK")?"outline outline-2 outline-green":""}`,onClick:()=>p("DARK")})]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsxs(A,{className:`flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 ${a("sans")&&"outline outline-2 outline-green"}`,variant:"secondary",onClick:()=>s("sans"),children:[n.jsx("span",{className:"text-[2rem] leading-none font-bold",children:"Aa"}),n.jsx("span",{className:"text-[1.1rem]",children:"System"})]}),n.jsxs(A,{className:`flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 ${a("serif")&&"outline outline-2 outline-green"}`,variant:"secondary",onClick:()=>s("serif"),children:[n.jsx("span",{className:"pt-1 font-serif text-[2rem] leading-none font-bold",children:"Aa"}),n.jsx("span",{className:"font-serif text-[1.2rem]",children:"Serif"})]})]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(A,{className:"h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]",disabled:k===0,variant:"secondary",onClick:i,children:n.jsx(fe,{})}),n.jsx(A,{className:"h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900",variant:"secondary",onClick:v,children:n.jsx("span",{className:"text-[1.6rem] font-bold",children:"Aa"})}),n.jsx(A,{className:"h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]",disabled:k===hn.length-1,variant:"secondary",onClick:u,children:n.jsx(Yn,{})})]})]})})]}),Ce=({tocItems:t,iframeElement:c,modalRef:a,className:p="visible! absolute inset-y-0 right-7 z-40 hidden lg:block!",onOpenChange:s})=>{const[k,i]=o.useState(null),u=dn.useRef(!1),v=h=>{if(!c?.contentDocument)return;const r=c.contentDocument.getElementById(h);r&&a.current&&(u.current=!0,i(h),a.current.scrollTo({top:r.offsetTop-20,behavior:"smooth"}),setTimeout(()=>{u.current=!1},1e3))};return o.useEffect(()=>{if(!c?.contentDocument||t.length<=1)return;const h=a.current;if(!h)return;const r=()=>{if(u.current)return;const d=c.contentDocument;if(!d)return;const _=h.scrollTop,F=100,B=t.map(z=>d.getElementById(z.id)).filter(z=>z!==null).map(z=>({id:z.id,top:z.offsetTop}));if(!B.length)return;const L=B.reduce((z,M)=>M.top-F<=_?M:z);i(L?.id||null)},l=()=>{requestAnimationFrame(r)};return h.addEventListener("scroll",l),r(),()=>{h.removeEventListener("scroll",l)}},[c,t,a]),t.length<=1?null:n.jsx("div",{className:p,children:n.jsx("div",{className:"sticky top-1/2 -translate-y-1/2",children:n.jsx(Ee,{activeHeading:k||"",items:t,onItemClick:v,onOpenChange:s})})})},ze={1:"w-3",2:"w-2",3:"w-1"},Se={1:"pl-2",2:"pl-6",3:"pl-10"},Ee=({items:t,activeHeading:c,onItemClick:a,onOpenChange:p})=>{const[s,k]=o.useState(!1),i=dn.useRef();if(dn.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]),t.length===0)return null;const u=d=>Math.min(d,3),v=d=>ze[u(d)],h=d=>Se[u(d)],r=()=>{i.current&&clearTimeout(i.current),k(!0),p?.(!0)},l=()=>{i.current=setTimeout(()=>{k(!1),p?.(!1)},100)};return n.jsxs(Sn,{modal:!1,open:s,onOpenChange:k,children:[n.jsx(En,{asChild:!0,children:n.jsx("div",{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",onMouseEnter:r,onMouseLeave:l,children:t.map(d=>n.jsx("div",{className:`h-[2px] rounded-sm ${c===d.id?"bg-black dark:bg-white":"bg-gray-400 dark:bg-gray-700"} pr-1 transition-all ${v(d.level)}`},d.id))})}),n.jsx(_n,{align:"center",className:"w-[240px] p-2",side:"left",sideOffset:-28,onCloseAutoFocus:d=>d.preventDefault(),onMouseEnter:r,onMouseLeave:l,onOpenAutoFocus:d=>d.preventDefault(),children:n.jsx("nav",{"aria-label":"Table of contents navigation",className:"max-h-[60vh] overflow-y-auto",role:"navigation",children:t.map(d=>n.jsx("button",{className:`line-clamp-2 block w-full cursor-pointer rounded py-1 text-left text-sm leading-tight ${c===d.id?"text-black dark:text-white":"text-gray-700 dark:text-gray-600"} hover:bg-gray-75 hover:text-gray-900 dark:hover:bg-grey-925 dark:hover:text-white ${h(d.level)}`,type:"button",onClick:()=>a(d.id),children:n.jsx("span",{className:"line-clamp-2",children:d.text})},d.id))})})]})},_e=()=>`<style>
1
+ import{r as o,j as n,ct as Sn,cu as En,B as A,ck as Vn,cw as _n,cv as Yn,t as dn,cQ as Qn,b as Nn,d7 as pn,S as E,P as Zn,A as Jn,h as Xn,g as bn,d as Gn,m as ne,bF as ee,e as un,F as on,i as rn,d8 as te,d9 as D,o as ae,da as xn,a as oe,u as re,p as ie,L as de,aU as se,D as ce,v as le,w as ge,x as pe,aa as ue,db as he,dc as me,bx as vn,by as ke}from"./index-JMWMnGGt.js";import{M as fe}from"./minus-BM0xhFIQ.js";import{u as be,D as xe,A as ve,S as yn}from"./deleted-feed-item-DK47iaMV.js";import{T as ye}from"./topic-filter-bQtscKE6.js";import{E as wn}from"./empty-indicator-DjmACVr2.js";import{I as jn}from"./inbox-DS4qMjUb.js";import"./trash--VS50LgS.js";const hn=["1.5rem","1.6rem","1.7rem","1.8rem","2rem"],W={BACKGROUND_COLOR:"ghost-ap-background-color",FONT_SIZE:"ghost-ap-font-size",FONT_STYLE:"ghost-ap-font-style"},P={SYSTEM:{id:"system",color:"#fff",background:"bg-white dark:bg-black",button:"bg-white dark:bg-black",border:"border-black/[8%] dark:border-gray-950"},SEPIA:{id:"sepia",color:"#FCF8F1",background:"bg-[#FCF8F1]",button:"bg-[#FCF8F1] hover:bg-black/[3%] text-black hover:text-black",border:"border-black/[8%]"},LIGHT:{id:"light",color:"#fff",background:"bg-white",button:"hover:bg-black/[3%] text-black hover:text-black",border:"border-black/[8%] dark:border-gray-950"},DARK:{id:"dark",color:"#15171a",background:"bg-black",button:"text-white dark:bg-black dark:hover:bg-gray-900",border:"border-black/[8%] dark:border-gray-950"}},we=()=>{const[t,c]=o.useState(()=>localStorage.getItem(W.BACKGROUND_COLOR)?.toUpperCase()||"SYSTEM"),[a,p]=o.useState(()=>{const r=localStorage.getItem(W.FONT_SIZE);return r?parseInt(r):2}),[s,k]=o.useState(()=>localStorage.getItem(W.FONT_STYLE)||"sans"),i=r=>{c(r),localStorage.setItem(W.BACKGROUND_COLOR,P[r].id)};return o.useEffect(()=>{localStorage.setItem(W.FONT_SIZE,a.toString())},[a]),o.useEffect(()=>{localStorage.setItem(W.FONT_STYLE,s)},[s]),{backgroundColor:t,currentFontSizeIndex:a,fontStyle:s,handleColorChange:i,setFontStyle:k,increaseFontSize:()=>{p(r=>Math.min(r+1,hn.length-1))},decreaseFontSize:()=>{p(r=>Math.max(r-1,0))},resetFontSize:()=>p(2),fontSize:hn[a]}},Cn=({backgroundColor:t,currentFontSizeIndex:c,fontStyle:a,onColorChange:p,onFontStyleChange:s,onDecreaseFontSize:k,onIncreaseFontSize:i,onResetFontSize:u,onOpenChange:v})=>{const h=l=>t===l,r=l=>a===l;return n.jsx(je,{backgroundColor:t,currentFontSizeIndex:c,fontStyle:a,isActiveColor:h,isActiveFont:r,onColorChange:p,onDecreaseFontSize:k,onFontStyleChange:s,onIncreaseFontSize:i,onOpenChange:v,onResetFontSize:u})},je=({backgroundColor:t,isActiveColor:c,isActiveFont:a,onColorChange:p,onFontStyleChange:s,currentFontSizeIndex:k,onDecreaseFontSize:i,onIncreaseFontSize:u,onResetFontSize:v,onOpenChange:h})=>n.jsxs(Sn,{modal:!1,onOpenChange:h,children:[n.jsx(En,{asChild:!0,children:n.jsx(A,{className:`size-9 rounded-full ${P[t].button}`,variant:"ghost",children:n.jsx(Vn.Typography,{className:"size-[18px]!"})})}),n.jsx(_n,{align:"end",className:"w-[224px]",onCloseAutoFocus:r=>r.preventDefault(),onOpenAutoFocus:r=>r.preventDefault(),children:n.jsxs("div",{className:"flex flex-col gap-4",children:[n.jsxs("div",{className:"flex items-center justify-between gap-[6px]",children:[n.jsx(A,{className:`h-7 flex-1 rounded-[6px] bg-gray-200 p-0 text-[1.1rem] text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px] ${c("SYSTEM")?"outline outline-2 outline-green":""}`,variant:"secondary",onClick:()=>p("SYSTEM"),children:"Auto"}),n.jsx(A,{className:`h-7 flex-1 rounded-[6px] bg-[#ece6d9] p-0 hover:bg-[#ece6d9] ${c("SEPIA")?"outline outline-2 outline-green":"border border-[#ece6d9]"}`,onClick:()=>p("SEPIA")}),n.jsx(A,{className:`h-7 flex-1 rounded-[6px] bg-white p-0 hover:bg-white ${c("LIGHT")?"outline outline-2 outline-green":"border border-gray-200"}`,onClick:()=>p("LIGHT")}),n.jsx(A,{className:`h-7 flex-1 rounded-[6px] bg-black p-0 hover:bg-black dark:border dark:border-gray-925 ${c("DARK")?"outline outline-2 outline-green":""}`,onClick:()=>p("DARK")})]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsxs(A,{className:`flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 ${a("sans")&&"outline outline-2 outline-green"}`,variant:"secondary",onClick:()=>s("sans"),children:[n.jsx("span",{className:"text-[2rem] leading-none font-bold",children:"Aa"}),n.jsx("span",{className:"text-[1.1rem]",children:"System"})]}),n.jsxs(A,{className:`flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 ${a("serif")&&"outline outline-2 outline-green"}`,variant:"secondary",onClick:()=>s("serif"),children:[n.jsx("span",{className:"pt-1 font-serif text-[2rem] leading-none font-bold",children:"Aa"}),n.jsx("span",{className:"font-serif text-[1.2rem]",children:"Serif"})]})]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(A,{className:"h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]",disabled:k===0,variant:"secondary",onClick:i,children:n.jsx(fe,{})}),n.jsx(A,{className:"h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900",variant:"secondary",onClick:v,children:n.jsx("span",{className:"text-[1.6rem] font-bold",children:"Aa"})}),n.jsx(A,{className:"h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]",disabled:k===hn.length-1,variant:"secondary",onClick:u,children:n.jsx(Yn,{})})]})]})})]}),Ce=({tocItems:t,iframeElement:c,modalRef:a,className:p="visible! absolute inset-y-0 right-7 z-40 hidden lg:block!",onOpenChange:s})=>{const[k,i]=o.useState(null),u=dn.useRef(!1),v=h=>{if(!c?.contentDocument)return;const r=c.contentDocument.getElementById(h);r&&a.current&&(u.current=!0,i(h),a.current.scrollTo({top:r.offsetTop-20,behavior:"smooth"}),setTimeout(()=>{u.current=!1},1e3))};return o.useEffect(()=>{if(!c?.contentDocument||t.length<=1)return;const h=a.current;if(!h)return;const r=()=>{if(u.current)return;const d=c.contentDocument;if(!d)return;const _=h.scrollTop,F=100,B=t.map(z=>d.getElementById(z.id)).filter(z=>z!==null).map(z=>({id:z.id,top:z.offsetTop}));if(!B.length)return;const L=B.reduce((z,M)=>M.top-F<=_?M:z);i(L?.id||null)},l=()=>{requestAnimationFrame(r)};return h.addEventListener("scroll",l),r(),()=>{h.removeEventListener("scroll",l)}},[c,t,a]),t.length<=1?null:n.jsx("div",{className:p,children:n.jsx("div",{className:"sticky top-1/2 -translate-y-1/2",children:n.jsx(Ee,{activeHeading:k||"",items:t,onItemClick:v,onOpenChange:s})})})},ze={1:"w-3",2:"w-2",3:"w-1"},Se={1:"pl-2",2:"pl-6",3:"pl-10"},Ee=({items:t,activeHeading:c,onItemClick:a,onOpenChange:p})=>{const[s,k]=o.useState(!1),i=dn.useRef();if(dn.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]),t.length===0)return null;const u=d=>Math.min(d,3),v=d=>ze[u(d)],h=d=>Se[u(d)],r=()=>{i.current&&clearTimeout(i.current),k(!0),p?.(!0)},l=()=>{i.current=setTimeout(()=>{k(!1),p?.(!1)},100)};return n.jsxs(Sn,{modal:!1,open:s,onOpenChange:k,children:[n.jsx(En,{asChild:!0,children:n.jsx("div",{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",onMouseEnter:r,onMouseLeave:l,children:t.map(d=>n.jsx("div",{className:`h-[2px] rounded-sm ${c===d.id?"bg-black dark:bg-white":"bg-gray-400 dark:bg-gray-700"} pr-1 transition-all ${v(d.level)}`},d.id))})}),n.jsx(_n,{align:"center",className:"w-[240px] p-2",side:"left",sideOffset:-28,onCloseAutoFocus:d=>d.preventDefault(),onMouseEnter:r,onMouseLeave:l,onOpenAutoFocus:d=>d.preventDefault(),children:n.jsx("nav",{"aria-label":"Table of contents navigation",className:"max-h-[60vh] overflow-y-auto",role:"navigation",children:t.map(d=>n.jsx("button",{className:`line-clamp-2 block w-full cursor-pointer rounded py-1 text-left text-sm leading-tight ${c===d.id?"text-black dark:text-white":"text-gray-700 dark:text-gray-600"} hover:bg-gray-75 hover:text-gray-900 dark:hover:bg-grey-925 dark:hover:text-white ${h(d.level)}`,type:"button",onClick:()=>a(d.id),children:n.jsx("span",{className:"line-clamp-2",children:d.text})},d.id))})})]})},_e=()=>`<style>
2
2
 
3
3
  /* Variables */
4
4
 
@@ -1 +1 @@
1
- import{ci as f}from"./index-ZuWSQ3L6.js";var p={exports:{}},n,u;function m(){if(u)return n;u=1;var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return n=t,n}var a,y;function P(){if(y)return a;y=1;var t=m();function i(){}function s(){}return s.resetWarningCache=i,a=function(){function e(v,S,g,_,d,T){if(T!==t){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}e.isRequired=e;function r(){return e}var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:r,element:e,elementType:e,instanceOf:r,node:e,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:s,resetWarningCache:i};return o.PropTypes=o,o},a}var h;function l(){return h||(h=1,p.exports=P()()),p.exports}var R=l();const b=f(R);export{b as P};
1
+ import{ce as f}from"./index-JMWMnGGt.js";var p={exports:{}},n,u;function m(){if(u)return n;u=1;var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return n=t,n}var a,y;function P(){if(y)return a;y=1;var t=m();function i(){}function s(){}return s.resetWarningCache=i,a=function(){function e(v,S,g,_,d,T){if(T!==t){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}e.isRequired=e;function r(){return e}var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:r,element:e,elementType:e,instanceOf:r,node:e,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:s,resetWarningCache:i};return o.PropTypes=o,o},a}var h;function l(){return h||(h=1,p.exports=P()()),p.exports}var R=l();const b=f(R);export{b as P};