ghost 6.18.2 → 6.19.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 (191) hide show
  1. package/components/tryghost-i18n-6.19.0.tgz +0 -0
  2. package/components/tryghost-parse-email-address-6.19.0.tgz +0 -0
  3. package/core/built/admin/assets/{PolarAngleAxis-DALH8FDm.js → PolarAngleAxis-CGprvq8M.js} +1 -1
  4. package/core/built/admin/assets/{_baseAssignValue-D_UsvJRN.js → _baseAssignValue-Bwn07Ln5.js} +1 -1
  5. package/core/built/admin/assets/{a-large-small-DVyx4GMu.js → a-large-small-p58xibEK.js} +1 -1
  6. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  7. package/core/built/admin/assets/admin-x-settings/{code-editor-view-DBrulgE8.mjs → code-editor-view-DCKvO1TY.mjs} +2 -2
  8. package/core/built/admin/assets/admin-x-settings/{index-DgGwb1L-.mjs → index-BxWVtVnD.mjs} +6 -6
  9. package/core/built/admin/assets/admin-x-settings/{index-Cypgljb3.mjs → index-DyZIONe1.mjs} +2 -2
  10. package/core/built/admin/assets/admin-x-settings/{index-CsGHbqSU.mjs → index-HfMJcj2U.mjs} +2 -2
  11. package/core/built/admin/assets/admin-x-settings/{modals-rdo7i0D3.mjs → modals-CIiqfKY0.mjs} +7593 -7509
  12. package/core/built/admin/assets/{at-sign-CGNkBrZS.js → at-sign-BZPuAx5m.js} +1 -1
  13. package/core/built/admin/assets/audience-Cy9gLIa9.js +1 -0
  14. package/core/built/admin/assets/{avatar-flipboard-jqr9Aapd.js → avatar-flipboard-CLmWb5Xn.js} +1 -1
  15. package/core/built/admin/assets/{bluesky-sharing-C2749SVt.js → bluesky-sharing-BHt0oiii.js} +1 -1
  16. package/core/built/admin/assets/{chart-BAQCVPCH.js → chart--RFLGIL4.js} +1 -1
  17. package/core/built/admin/assets/{chunk.524.428356d01feabbc7b932.js → chunk.524.5c5c3f3273a86d1d9913.js} +7 -7
  18. package/core/built/admin/assets/{chunk.582.b8b41ba720f49d724992.js → chunk.582.e6c787cdf7e6de7819e0.js} +9 -9
  19. package/core/built/admin/assets/{code-editor-view-YNhJ1w71.js → code-editor-view-BW9y0JXN.js} +1 -1
  20. package/core/built/admin/assets/comments-C_lilDBp.js +1 -0
  21. package/core/built/admin/assets/content-helpers-BOnQQADZ.js +1 -0
  22. package/core/built/admin/assets/{copy-CNsHZEFR.js → copy-Bi7VpgPR.js} +1 -1
  23. package/core/built/admin/assets/{data-list-Dn5MkmyD.js → data-list-Bu3jzs1s.js} +1 -1
  24. package/core/built/admin/assets/{deleted-feed-item-Dmm_clMl.js → deleted-feed-item-B-doIIKc.js} +1 -1
  25. package/core/built/admin/assets/{edit-profile-BLSdtROQ.js → edit-profile-ZBdjFfvL.js} +1 -1
  26. package/core/built/admin/assets/{empty-indicator-C2Z0dddU.js → empty-indicator-C6BBh99D.js} +1 -1
  27. package/core/built/admin/assets/{en-DuTkaMAI.js → en-C7eSFQRw.js} +1 -1
  28. package/core/built/admin/assets/{feed-B4Xp4C2J.js → feed-CAioauwD.js} +1 -1
  29. package/core/built/admin/assets/{filters-gnOx5Z45.js → filters-DEKF0tIB.js} +1 -1
  30. package/core/built/admin/assets/{gh-chart-B2aWYkGg.js → gh-chart-D9KI0_sO.js} +1 -1
  31. package/core/built/admin/assets/{ghost-29f8f3c80e41126ba5e3c52ad5727e8a.js → ghost-6bff5c535ef015b0ed9421ceb6c699a7.js} +220 -211
  32. package/core/built/admin/assets/{growth-BysawIWe.js → growth-C6XGchvT.js} +1 -1
  33. package/core/built/admin/assets/{hash-j3sh-UI3.js → hash-DFhnGHId.js} +1 -1
  34. package/core/built/admin/assets/{inbox-1cUdr8Mm.js → inbox-p-Y5uScT.js} +1 -1
  35. package/core/built/admin/assets/{index-BVoBTlp_.js → index--VlvGKWi.js} +1 -1
  36. package/core/built/admin/assets/{index-DGBK5k9H.js → index-3uU4zg_6.js} +1 -1
  37. package/core/built/admin/assets/index-4ZkTY34B.css +1 -0
  38. package/core/built/admin/assets/{index-BhY_SbGB.js → index-BWnrLoWI.js} +1 -1
  39. package/core/built/admin/assets/{index-I9n711UW.js → index-BzU2odQq.js} +1 -1
  40. package/core/built/admin/assets/{index-mhojl7aD.js → index-CIZ_upe2.js} +1 -1
  41. package/core/built/admin/assets/{index-WjY3mGep.js → index-CS4XqyC-.js} +2 -2
  42. package/core/built/admin/assets/{index-BgrwCpgw.js → index-D17PEsUB.js} +1 -1
  43. package/core/built/admin/assets/{index-B8G0f0hb.js → index-DCTdAEHx.js} +3 -3
  44. package/core/built/admin/assets/{index-DarAAzVH.js → index-FPf-AERu.js} +1 -1
  45. package/core/built/admin/assets/index-JmqyGBro.js +1 -0
  46. package/core/built/admin/assets/{index-DKAlEWM4.js → index-LyfDjTto.js} +1 -1
  47. package/core/built/admin/assets/index-S62-c8TV.js +13 -0
  48. package/core/built/admin/assets/{index-D8CXbJm4.js → index-Wx8_AGZX.js} +1 -1
  49. package/core/built/admin/assets/{index-CkAUXgAi.js → index-jAidr8jI.js} +1 -1
  50. package/core/built/admin/assets/{index-Dz8eTtOq.js → index-lPLmWtv0.js} +1 -1
  51. package/core/built/admin/assets/koenig-lexical/index.css +1 -1
  52. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +1853 -1863
  53. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +94 -94
  54. package/core/built/admin/assets/{koenig-lexical-coiS9dIC.js → koenig-lexical-CWnkYKQt.js} +77 -77
  55. package/core/built/admin/assets/{kpi-card-BEFHo2gr.js → kpi-card-B5UaJgOT.js} +1 -1
  56. package/core/built/admin/assets/{kpis-D-gz-lUk.js → kpis-Cc2RxnvZ.js} +1 -1
  57. package/core/built/admin/assets/{label-BvlHzzcJ.js → label-CW7Kmp9w.js} +1 -1
  58. package/core/built/admin/assets/{links-tdJvBrsT.js → links-wWNc9Uat.js} +1 -1
  59. package/core/built/admin/assets/{list-filter-DPE4Xj2T.js → list-filter-3EF6cVg-.js} +1 -1
  60. package/core/built/admin/assets/{lucide-react-ClQ3Iy7l.js → lucide-react-DtMIZssr.js} +214 -214
  61. package/core/built/admin/assets/{main-layout-DY96wK-_.js → main-layout-BFYhCrLn.js} +1 -1
  62. package/core/built/admin/assets/{message-square-text-Dd1XS5-H.js → message-square-text-BDZtUW-2.js} +1 -1
  63. package/core/built/admin/assets/{minus-CyEc3BE5.js → minus-CSphShdJ.js} +1 -1
  64. package/core/built/admin/assets/modals-CDWP04Iy.js +77 -0
  65. package/core/built/admin/assets/{moderation-B0fdmlig.js → moderation-qcng2_lB.js} +1 -1
  66. package/core/built/admin/assets/{newsletter-Byg3ARa5.js → newsletter-R-IYcV4M.js} +1 -1
  67. package/core/built/admin/assets/{newsletters-DbH39vgA.js → newsletters-BB4e24i1.js} +1 -1
  68. package/core/built/admin/assets/{note-Cwy-rIAF.js → note-B_bpRX66.js} +1 -1
  69. package/core/built/admin/assets/overview-Nh-IoP-v.js +1 -0
  70. package/core/built/admin/assets/{pagemenu-CkzsZrHC.js → pagemenu-Cd45frnF.js} +1 -1
  71. package/core/built/admin/assets/{post-analytics-context-BLkup0Xh.js → post-analytics-context-BST4bzps.js} +1 -1
  72. package/core/built/admin/assets/post-analytics-header-DAZPp6M8.js +1 -0
  73. package/core/built/admin/assets/{post-analytics-aA-nG9Fq.js → post-analytics-jHZOhQ8L.js} +1 -1
  74. package/core/built/admin/assets/{post-share-modal-CkvJtrRw.js → post-share-modal-D1JQfuYx.js} +1 -1
  75. package/core/built/admin/assets/posts/{comments-Bn_vn_sb.mjs → comments-C0ntS6jH.mjs} +678 -692
  76. package/core/built/admin/assets/posts/{dialog-CKPcMrj7.mjs → dialog-CXEmd-rC.mjs} +3 -3
  77. package/core/built/admin/assets/posts/{empty-indicator-kkrhP6K_.mjs → empty-indicator-CY1NEQZt.mjs} +2 -2
  78. package/core/built/admin/assets/posts/{filters-DHsxxy0F.mjs → filters-CWWDQAf0.mjs} +6 -6
  79. package/core/built/admin/assets/posts/{growth-D7ACh-oR.mjs → growth-DUnL-W24.mjs} +20 -19
  80. package/core/built/admin/assets/posts/{heading-BrKVbOxA.mjs → heading-DZWin3nG.mjs} +2 -2
  81. package/core/built/admin/assets/posts/{hooks-BBEMuLiW.mjs → hooks-DQYjPsLg.mjs} +2 -2
  82. package/core/built/admin/assets/posts/{index-C0rRguZx.mjs → index-BiGQFQkQ.mjs} +9 -9
  83. package/core/built/admin/assets/posts/{kpis-1o524OIK.mjs → kpis-DNnkyd0U.mjs} +10 -10
  84. package/core/built/admin/assets/posts/{links-JpeATx1f.mjs → links-D3nSZFlJ.mjs} +4 -4
  85. package/core/built/admin/assets/posts/{loading-indicator-BHAmSf8j.mjs → loading-indicator-CZQmPRvv.mjs} +3 -3
  86. package/core/built/admin/assets/posts/{main-layout-BTItAOQE.mjs → main-layout-D5WnaGr4.mjs} +2 -2
  87. package/core/built/admin/assets/posts/{newsletter-CQdsCEHv.mjs → newsletter-C5eikVBq.mjs} +13 -13
  88. package/core/built/admin/assets/posts/{overview-sYh4JN1D.mjs → overview-C5mCMPJY.mjs} +113 -112
  89. package/core/built/admin/assets/posts/{post-analytics-DtLt2SWx.mjs → post-analytics-Cc2NCQis.mjs} +6 -6
  90. package/core/built/admin/assets/posts/{post-analytics-context-CB1yM9fk.mjs → post-analytics-context-qXWjDzSt.mjs} +44 -41
  91. package/core/built/admin/assets/posts/{post-analytics-header-BYaWuL9W.mjs → post-analytics-header-QGsYyvhA.mjs} +11 -11
  92. package/core/built/admin/assets/posts/{post-share-modal-V0HTOBaf.mjs → post-share-modal-B9Q7FJsH.mjs} +4 -4
  93. package/core/built/admin/assets/posts/posts-C2SKGLoU.mjs +17 -0
  94. package/core/built/admin/assets/posts/posts.js +1 -1
  95. package/core/built/admin/assets/posts/{search-CLjC37AT.mjs → search-C8k0TFkh.mjs} +2 -2
  96. package/core/built/admin/assets/posts/{separator-KNoTIaJx.mjs → separator-CJnnsW1a.mjs} +5 -5
  97. package/core/built/admin/assets/posts/{sheet-DBg_SCDt.mjs → sheet-HDzKgNHc.mjs} +3 -3
  98. package/core/built/admin/assets/posts/{skeleton-DvsoolWu.mjs → skeleton-BlZGKNzB.mjs} +3 -3
  99. package/core/built/admin/assets/posts/{source-icon-OmRaTU2G.mjs → source-icon-DjBIjtaY.mjs} +3 -3
  100. package/core/built/admin/assets/posts/{stats-BC2DzntY.mjs → stats-BRVHejqx.mjs} +4 -4
  101. package/core/built/admin/assets/posts/{table-CxX9OKAj.mjs → table-D7AEpPWL.mjs} +2 -2
  102. package/core/built/admin/assets/posts/{tabs-B1jw7cBi.mjs → tabs-RcpmzDgr.mjs} +10 -10
  103. package/core/built/admin/assets/posts/{tags-BitrLT_j.mjs → tags-8k1xw8R8.mjs} +2 -2
  104. package/core/built/admin/assets/posts/{tags-BBilTo1a.mjs → tags-DNY2rBlf.mjs} +11 -11
  105. package/core/built/admin/assets/posts/{use-infinite-virtual-scroll-DaijA1ao.mjs → use-infinite-virtual-scroll-CMiIpcDA.mjs} +3 -3
  106. package/core/built/admin/assets/posts/{web-CKmyC4Xj.mjs → web-BCl5J6bB.mjs} +15 -15
  107. package/core/built/admin/assets/{posts-DDkuYoN7.js → posts-DFiJPOft.js} +1 -1
  108. package/core/built/admin/assets/{repeat-B-SL0yPM.js → repeat-Smml9n0k.js} +1 -1
  109. package/core/built/admin/assets/{reply-BdCPoUQ9.js → reply-CooY4lmk.js} +1 -1
  110. package/core/built/admin/assets/{select-C7aNW8QS.js → select-WwMsbBbg.js} +1 -1
  111. package/core/built/admin/assets/{settings-D-dhma2e.js → settings-CQEhPDQU.js} +4 -4
  112. package/core/built/admin/assets/{settings-Bzy1GNfD.js → settings-CxWtvcUf.js} +1 -1
  113. package/core/built/admin/assets/{sort-button-Dv8vjh13.js → sort-button-DFr8vezl.js} +1 -1
  114. package/core/built/admin/assets/{source-icon-DTz4isLK.js → source-icon-VpYWpwYb.js} +1 -1
  115. package/core/built/admin/assets/{sprout-BwLQTzMf.js → sprout-DRqlFJSK.js} +1 -1
  116. package/core/built/admin/assets/{square-YF1YE9ex.js → square-CwHQ9sJ2.js} +1 -1
  117. package/core/built/admin/assets/stats/audience-Caf7BjaU.mjs +269 -0
  118. package/core/built/admin/assets/stats/{url-helpers-Drq3xg0l.mjs → content-helpers-MbtAvUJh.mjs} +83 -106
  119. package/core/built/admin/assets/stats/{index-CcCyLMxL.mjs → index-BGqKbF1D.mjs} +8 -8
  120. package/core/built/admin/assets/stats/{index-DXU2rE9t.mjs → index-BTjfXOi6.mjs} +30 -30
  121. package/core/built/admin/assets/stats/{index-K7ASx7EG.mjs → index-ChjIxhHy.mjs} +5 -5
  122. package/core/built/admin/assets/stats/{index-D5mlMG4l.mjs → index-DMkZbbZs.mjs} +14 -14
  123. package/core/built/admin/assets/stats/{index-CUuQaROI.mjs → index-wT0OIw_N.mjs} +355 -335
  124. package/core/built/admin/assets/stats/{sort-button-CELUx6Zp.mjs → sort-button-B8n8fYMi.mjs} +23 -23
  125. package/core/built/admin/assets/stats/{stats-d_u_in4l.mjs → stats-CGH-0JNs.mjs} +120 -119
  126. package/core/built/admin/assets/stats/stats.js +1 -1
  127. package/core/built/admin/assets/stats/{tabs-3wLZsy0v.mjs → tabs-EQCUj3Y9.mjs} +19 -19
  128. package/core/built/admin/assets/stats/{use-growth-stats-28Sr42va.mjs → use-growth-stats--CIfag21.mjs} +3 -3
  129. package/core/built/admin/assets/{stats-C5ad0fgQ.js → stats-lnFiOQZx.js} +1 -1
  130. package/core/built/admin/assets/{stats-view-BvkxPYNX.js → stats-view-BJVawuIv.js} +1 -1
  131. package/core/built/admin/assets/{step-1-D7_s-D99.js → step-1-Bx8MiQVF.js} +1 -1
  132. package/core/built/admin/assets/{step-2-B94Yf7FF.js → step-2-CLLXppER.js} +1 -1
  133. package/core/built/admin/assets/{step-3-DswXYYf4.js → step-3-C5WrQe8u.js} +2 -2
  134. package/core/built/admin/assets/{table-D30IXfUP.js → table-2waWpIF5.js} +1 -1
  135. package/core/built/admin/assets/{tabs-CjNdfW0y.js → tabs-CBD0hW8V.js} +1 -1
  136. package/core/built/admin/assets/{tags-B0ux9_dT.js → tags-Bgw5Hrb5.js} +1 -1
  137. package/core/built/admin/assets/{tags-PGeGAafJ.js → tags-CKrBptuC.js} +1 -1
  138. package/core/built/admin/assets/{tiers-BaXK0JoI.js → tiers-CO-pz1FX.js} +1 -1
  139. package/core/built/admin/assets/{toggle-group-DdY8HF3Y.js → toggle-group-BXAZzvJ9.js} +1 -1
  140. package/core/built/admin/assets/{topic-filter-Boh22uGD.js → topic-filter-U3qUH2P_.js} +1 -1
  141. package/core/built/admin/assets/{trash-D7ZWrnDq.js → trash-CJY1Wro_.js} +1 -1
  142. package/core/built/admin/assets/{use-growth-stats-Bg0nE0WG.js → use-growth-stats-BrLZI7da.js} +1 -1
  143. package/core/built/admin/assets/{use-infinite-virtual-scroll-DoeI5IY-.js → use-infinite-virtual-scroll-CiRn3kpz.js} +2 -2
  144. package/core/built/admin/assets/{use-simple-pagination-BJzBULR3.js → use-simple-pagination-CskJ0MDP.js} +1 -1
  145. package/core/built/admin/assets/{user-round-check-BLc3L-ei.js → user-round-check-zOuzV3OS.js} +1 -1
  146. package/core/built/admin/assets/{wallet-cards-xX4QZik7.js → wallet-cards-ddLuIN-b.js} +1 -1
  147. package/core/built/admin/assets/{web-DQ2qBymm.js → web-CGbkZWn3.js} +1 -1
  148. package/core/built/admin/index.html +6 -5
  149. package/core/frontend/services/theme-engine/i18n/i18n.js +9 -14
  150. package/core/server/api/endpoints/settings-public.js +3 -1
  151. package/core/server/api/endpoints/utils/serializers/input/settings.js +6 -1
  152. package/core/server/data/migrations/versions/6.19/2026-02-10-12-00-00-add-transistor-portal-settings.js +39 -0
  153. package/core/server/data/schema/default-settings/default-settings.json +28 -0
  154. package/core/server/data/schema/schema.js +2 -2
  155. package/core/server/data/seeders/importers/offers-importer.js +2 -2
  156. package/core/server/data/tinybird/endpoints/api_top_pages_router.pipe +28 -0
  157. package/core/server/data/tinybird/endpoints/api_top_pages_v3.pipe +8 -4
  158. package/core/server/data/tinybird/tests/api_top_pages_router.yaml +74 -0
  159. package/core/server/services/comments/comments-service-emails.js +1 -4
  160. package/core/server/services/email-service/email-templates/partials/styles.hbs +43 -0
  161. package/core/server/services/koenig/node-renderers/transistor-renderer.js +23 -17
  162. package/core/server/services/members/members-api/repositories/member-repository.js +30 -6
  163. package/core/server/services/members/members-api/services/next-payment-calculator.js +28 -20
  164. package/core/server/services/members/members-api/services/payments-service.js +1 -1
  165. package/core/server/services/members/members-api/utils/add-calendar-months.js +49 -0
  166. package/core/server/services/offers/application/offer-mapper.js +2 -2
  167. package/core/server/services/offers/domain/models/offer-amount.js +16 -0
  168. package/core/server/services/offers/domain/models/offer-duration.js +3 -4
  169. package/core/server/services/offers/domain/models/offer-type.js +5 -3
  170. package/core/server/services/offers/domain/models/offer.js +8 -1
  171. package/core/server/services/staff/staff-service-emails.js +2 -0
  172. package/core/server/services/stripe/stripe-api.js +19 -0
  173. package/core/shared/config/defaults.json +1 -1
  174. package/core/shared/labs.js +0 -1
  175. package/core/shared/settings-cache/cache-manager.js +8 -0
  176. package/core/shared/settings-cache/public.js +5 -0
  177. package/package.json +5 -5
  178. package/yarn.lock +4 -4
  179. package/components/tryghost-i18n-6.18.2.tgz +0 -0
  180. package/components/tryghost-parse-email-address-6.18.2.tgz +0 -0
  181. package/core/built/admin/assets/audience-CJHVR7kD.js +0 -1
  182. package/core/built/admin/assets/comments-CPd_iCc3.js +0 -1
  183. package/core/built/admin/assets/index-B2yksBz4.js +0 -13
  184. package/core/built/admin/assets/index-Cl_EPbQ2.js +0 -1
  185. package/core/built/admin/assets/index-D_sGUCda.css +0 -1
  186. package/core/built/admin/assets/modals-C06GcVIm.js +0 -77
  187. package/core/built/admin/assets/overview-CVMLGrVt.js +0 -1
  188. package/core/built/admin/assets/post-analytics-header-D9srAPT5.js +0 -1
  189. package/core/built/admin/assets/posts/posts-DeQT3knv.mjs +0 -21
  190. package/core/built/admin/assets/stats/audience-BWqU7WWT.mjs +0 -245
  191. package/core/built/admin/assets/url-helpers-mt6MBIi0.js +0 -1
@@ -1,32 +1,32 @@
1
- import { f as p, v as z, C as g, w as y, j as n, x as T, F as G, c as m, S as W, G as I } from "./index-K7ASx7EG.mjs";
2
- import { ac as L, X as M, bq as F } from "./stats-d_u_in4l.mjs";
3
- import { R as H, T as Y, P as Z, C as A, c as B, a as E, D as O, O as P } from "./audience-BWqU7WWT.mjs";
4
- var U = Symbol.for("react.lazy"), w = z[" use ".trim().toString()];
5
- function q(t) {
1
+ import { f as p, v as z, C as g, w as y, j as i, x as T, F as G, c as f, S as W, G as I } from "./index-ChjIxhHy.mjs";
2
+ import { ad as L, X as M, br as F } from "./stats-CGH-0JNs.mjs";
3
+ import { R as Y, T as Z, P as H, C as E, e as U, a as A, D as O, O as P } from "./audience-Caf7BjaU.mjs";
4
+ var B = Symbol.for("react.lazy"), w = z[" use ".trim().toString()];
5
+ function K(t) {
6
6
  return typeof t == "object" && t !== null && "then" in t;
7
7
  }
8
- function $(t) {
9
- return t != null && typeof t == "object" && "$$typeof" in t && t.$$typeof === U && "_payload" in t && q(t._payload);
8
+ function C(t) {
9
+ return t != null && typeof t == "object" && "$$typeof" in t && t.$$typeof === B && "_payload" in t && K(t._payload);
10
10
  }
11
11
  // @__NO_SIDE_EFFECTS__
12
- function K(t) {
13
- const e = /* @__PURE__ */ X(t), o = p((s, r) => {
12
+ function X(t) {
13
+ const e = /* @__PURE__ */ q(t), o = p((s, r) => {
14
14
  let { children: a, ...c } = s;
15
- $(a) && typeof w == "function" && (a = w(a._payload));
16
- const l = g.toArray(a), f = l.find(Q);
17
- if (f) {
18
- const i = f.props.children, u = l.map((S) => S === f ? g.count(i) > 1 ? g.only(null) : y(i) ? i.props.children : null : S);
19
- return /* @__PURE__ */ n.jsx(e, { ...c, ref: r, children: y(i) ? T(i, void 0, u) : null });
15
+ C(a) && typeof w == "function" && (a = w(a._payload));
16
+ const l = g.toArray(a), u = l.find(Q);
17
+ if (u) {
18
+ const n = u.props.children, m = l.map((S) => S === u ? g.count(n) > 1 ? g.only(null) : y(n) ? n.props.children : null : S);
19
+ return /* @__PURE__ */ i.jsx(e, { ...c, ref: r, children: y(n) ? T(n, void 0, m) : null });
20
20
  }
21
- return /* @__PURE__ */ n.jsx(e, { ...c, ref: r, children: a });
21
+ return /* @__PURE__ */ i.jsx(e, { ...c, ref: r, children: a });
22
22
  });
23
23
  return o.displayName = `${t}.Slot`, o;
24
24
  }
25
25
  // @__NO_SIDE_EFFECTS__
26
- function X(t) {
26
+ function q(t) {
27
27
  const e = p((o, s) => {
28
28
  let { children: r, ...a } = o;
29
- if ($(r) && typeof w == "function" && (r = w(r._payload)), y(r)) {
29
+ if (C(r) && typeof w == "function" && (r = w(r._payload)), y(r)) {
30
30
  const c = tt(r), l = V(a, r.props);
31
31
  return r.type !== G && (l.ref = s ? L(s, c) : c), T(r, l);
32
32
  }
@@ -43,8 +43,8 @@ function V(t, e) {
43
43
  for (const s in e) {
44
44
  const r = t[s], a = e[s];
45
45
  /^on[A-Z]/.test(s) ? r && a ? o[s] = (...l) => {
46
- const f = a(...l);
47
- return r(...l), f;
46
+ const u = a(...l);
47
+ return r(...l), u;
48
48
  } : r && (o[s] = r) : s === "style" ? o[s] = { ...r, ...a } : s === "className" && (o[s] = [r, a].filter(Boolean).join(" "));
49
49
  }
50
50
  return { ...t, ...o };
@@ -73,14 +73,14 @@ var et = [
73
73
  "svg",
74
74
  "ul"
75
75
  ], ot = et.reduce((t, e) => {
76
- const o = /* @__PURE__ */ K(`Primitive.${e}`), s = p((r, a) => {
77
- const { asChild: c, ...l } = r, f = c ? o : e;
78
- return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ n.jsx(f, { ...l, ref: a });
76
+ const o = /* @__PURE__ */ X(`Primitive.${e}`), s = p((r, a) => {
77
+ const { asChild: c, ...l } = r, u = c ? o : e;
78
+ return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ i.jsx(u, { ...l, ref: a });
79
79
  });
80
80
  return s.displayName = `Primitive.${e}`, { ...t, [e]: s };
81
- }, {}), st = "Separator", b = "horizontal", rt = ["horizontal", "vertical"], k = p((t, e) => {
81
+ }, {}), st = "Separator", b = "horizontal", rt = ["horizontal", "vertical"], j = p((t, e) => {
82
82
  const { decorative: o, orientation: s = b, ...r } = t, a = at(s) ? s : b, l = o ? { role: "none" } : { "aria-orientation": a === "vertical" ? a : void 0, role: "separator" };
83
- return /* @__PURE__ */ n.jsx(
83
+ return /* @__PURE__ */ i.jsx(
84
84
  ot.div,
85
85
  {
86
86
  "data-orientation": a,
@@ -90,12 +90,12 @@ var et = [
90
90
  }
91
91
  );
92
92
  });
93
- k.displayName = st;
93
+ j.displayName = st;
94
94
  function at(t) {
95
95
  return rt.includes(t);
96
96
  }
97
- var C = k;
98
- const nt = {
97
+ var k = j;
98
+ const it = {
99
99
  Reddit: "reddit.com",
100
100
  "www.reddit.com": "reddit.com",
101
101
  Facebook: "facebook.com",
@@ -140,7 +140,7 @@ const nt = {
140
140
  return null;
141
141
  }
142
142
  };
143
- function wt({
143
+ function yt({
144
144
  processedData: t,
145
145
  totalVisitors: e,
146
146
  mode: o
@@ -150,7 +150,7 @@ function wt({
150
150
  percentage: e > 0 ? s.visits / e : 0
151
151
  }));
152
152
  }
153
- const D = (t, e) => t === e ? !0 : t.endsWith(`.${e}`), it = (t, e) => {
153
+ const D = (t, e) => t === e ? !0 : t.endsWith(`.${e}`), nt = (t, e) => {
154
154
  if (!t || typeof t != "string")
155
155
  return { domain: null, isDirectTraffic: !1 };
156
156
  if (t === "Direct")
@@ -163,10 +163,10 @@ const D = (t, e) => t === e ? !0 : t.endsWith(`.${e}`), it = (t, e) => {
163
163
  if (D(t, o))
164
164
  return { domain: o, isDirectTraffic: !0 };
165
165
  }
166
- const s = nt[t];
166
+ const s = it[t];
167
167
  return s ? { domain: s, isDirectTraffic: !1 } : /^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t) ? { domain: t.replace(/^www\./, ""), isDirectTraffic: !1 } : { domain: null, isDirectTraffic: !1 };
168
168
  };
169
- function vt({
169
+ function wt({
170
170
  data: t,
171
171
  mode: e,
172
172
  siteUrl: o,
@@ -177,12 +177,12 @@ function vt({
177
177
  return [];
178
178
  const a = /* @__PURE__ */ new Map();
179
179
  let c = 0;
180
- if (t.forEach((i) => {
181
- const { domain: u, isDirectTraffic: S } = it(i.source, o), v = Number(i.visits || 0);
182
- if (S || !i.source || i.source === "")
180
+ if (t.forEach((n) => {
181
+ const { domain: m, isDirectTraffic: S } = nt(n.source, o), v = Number(n.visits || 0);
182
+ if (S || !n.source || n.source === "")
183
183
  c += v;
184
184
  else {
185
- const h = String(i.source), _ = u ? `https://www.faviconextractor.com/favicon/${u}?larger=true` : r, R = u ? `https://${u}` : void 0;
185
+ const h = String(n.source), $ = m ? `https://www.faviconextractor.com/favicon/${m}?larger=true` : r, R = m ? `https://${m}` : void 0;
186
186
  if (a.has(h)) {
187
187
  const N = a.get(h);
188
188
  N.visits += v;
@@ -191,7 +191,7 @@ function vt({
191
191
  source: h,
192
192
  visits: v,
193
193
  isDirectTraffic: !1,
194
- iconSrc: _,
194
+ iconSrc: $,
195
195
  displayName: h,
196
196
  linkUrl: R
197
197
  };
@@ -199,7 +199,7 @@ function vt({
199
199
  }
200
200
  }
201
201
  }), c > 0) {
202
- const i = {
202
+ const n = {
203
203
  source: "Direct",
204
204
  visits: c,
205
205
  isDirectTraffic: !0,
@@ -207,16 +207,16 @@ function vt({
207
207
  displayName: "Direct",
208
208
  linkUrl: void 0
209
209
  };
210
- a.set("Direct", i);
210
+ a.set("Direct", n);
211
211
  }
212
- return Array.from(a.values()).sort((i, u) => u.visits - i.visits);
212
+ return Array.from(a.values()).sort((n, m) => m.visits - n.visits);
213
213
  }
214
214
  const ct = p(
215
- ({ className: t, orientation: e = "horizontal", decorative: o = !0, ...s }, r) => /* @__PURE__ */ n.jsx(
216
- C,
215
+ ({ className: t, orientation: e = "horizontal", decorative: o = !0, ...s }, r) => /* @__PURE__ */ i.jsx(
216
+ k,
217
217
  {
218
218
  ref: r,
219
- className: m(
219
+ className: f(
220
220
  "shrink-0 bg-border",
221
221
  e === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
222
222
  t
@@ -227,11 +227,11 @@ const ct = p(
227
227
  }
228
228
  )
229
229
  );
230
- ct.displayName = C.displayName;
231
- const Nt = H, bt = Y, lt = Z, j = p(({ className: t, ...e }, o) => /* @__PURE__ */ n.jsx(
230
+ ct.displayName = k.displayName;
231
+ const vt = Y, Nt = Z, lt = H, _ = p(({ className: t, ...e }, o) => /* @__PURE__ */ i.jsx(
232
232
  P,
233
233
  {
234
- className: m(
234
+ className: f(
235
235
  "fixed inset-0 z-50 bg-black/10 data-[state=open]:animate-in duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
236
236
  t
237
237
  ),
@@ -239,7 +239,7 @@ const Nt = H, bt = Y, lt = Z, j = p(({ className: t, ...e }, o) => /* @__PURE__
239
239
  ref: o
240
240
  }
241
241
  ));
242
- j.displayName = P.displayName;
242
+ _.displayName = P.displayName;
243
243
  const dt = I(
244
244
  "fixed z-50 gap-4 bg-background p-8 shadow-lg transition ease-in-out data-[state=closed]:duration-200 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
245
245
  {
@@ -255,58 +255,58 @@ const dt = I(
255
255
  side: "right"
256
256
  }
257
257
  }
258
- ), pt = p(({ side: t = "right", className: e, children: o, ...s }, r) => /* @__PURE__ */ n.jsx(lt, { children: /* @__PURE__ */ n.jsxs("div", { className: W, children: [
259
- /* @__PURE__ */ n.jsx(j, {}),
260
- /* @__PURE__ */ n.jsxs(
261
- A,
258
+ ), pt = p(({ side: t = "right", className: e, children: o, ...s }, r) => /* @__PURE__ */ i.jsx(lt, { children: /* @__PURE__ */ i.jsxs("div", { className: W, children: [
259
+ /* @__PURE__ */ i.jsx(_, {}),
260
+ /* @__PURE__ */ i.jsxs(
261
+ E,
262
262
  {
263
263
  ref: r,
264
- className: m(dt({ side: t }), e),
264
+ className: f(dt({ side: t }), e),
265
265
  ...s,
266
266
  children: [
267
- /* @__PURE__ */ n.jsxs(B, { className: "fixed right-4 top-4 z-50 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
268
- /* @__PURE__ */ n.jsx(M, { className: "size-4" }),
269
- /* @__PURE__ */ n.jsx("span", { className: "sr-only", children: "Close" })
267
+ /* @__PURE__ */ i.jsxs(U, { className: "fixed right-4 top-4 z-50 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
268
+ /* @__PURE__ */ i.jsx(M, { className: "size-4" }),
269
+ /* @__PURE__ */ i.jsx("span", { className: "sr-only", children: "Close" })
270
270
  ] }),
271
271
  o
272
272
  ]
273
273
  }
274
274
  )
275
275
  ] }) }));
276
- pt.displayName = A.displayName;
277
- const ft = ({
276
+ pt.displayName = E.displayName;
277
+ const ut = ({
278
278
  className: t,
279
279
  ...e
280
- }) => /* @__PURE__ */ n.jsx(
280
+ }) => /* @__PURE__ */ i.jsx(
281
281
  "div",
282
282
  {
283
- className: m(
283
+ className: f(
284
284
  "flex flex-col space-y-1 text-center sm:text-left",
285
285
  t
286
286
  ),
287
287
  ...e
288
288
  }
289
289
  );
290
- ft.displayName = "SheetHeader";
291
- const ut = p(({ className: t, ...e }, o) => /* @__PURE__ */ n.jsx(
292
- E,
290
+ ut.displayName = "SheetHeader";
291
+ const mt = p(({ className: t, ...e }, o) => /* @__PURE__ */ i.jsx(
292
+ A,
293
293
  {
294
294
  ref: o,
295
- className: m("text-xl font-semibold text-foreground", t),
295
+ className: f("text-xl font-semibold text-foreground", t),
296
296
  ...e
297
297
  }
298
298
  ));
299
- ut.displayName = E.displayName;
300
- const mt = p(({ className: t, ...e }, o) => /* @__PURE__ */ n.jsx(
299
+ mt.displayName = A.displayName;
300
+ const ft = p(({ className: t, ...e }, o) => /* @__PURE__ */ i.jsx(
301
301
  O,
302
302
  {
303
303
  ref: o,
304
- className: m("text-sm text-muted-foreground", t),
304
+ className: f("text-sm text-muted-foreground", t),
305
305
  ...e
306
306
  }
307
307
  ));
308
- mt.displayName = O.displayName;
309
- const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PURE__ */ n.jsx(n.Fragment, { children: e.trim().toLowerCase().endsWith("newsletter") ? /* @__PURE__ */ n.jsx(F, { "aria-label": "Newsletter", className: "size-4 text-muted-foreground" }) : /* @__PURE__ */ n.jsx(
308
+ ft.displayName = O.displayName;
309
+ const bt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PURE__ */ i.jsx(i.Fragment, { children: e.trim().toLowerCase().endsWith("newsletter") ? /* @__PURE__ */ i.jsx(F, { "aria-label": "Newsletter", className: "size-4 text-muted-foreground" }) : /* @__PURE__ */ i.jsx(
310
310
  "img",
311
311
  {
312
312
  alt: "",
@@ -321,7 +321,7 @@ const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PU
321
321
  PAGES: "pages",
322
322
  POSTS_AND_PAGES: "posts_and_pages",
323
323
  SOURCES: "sources"
324
- }, Dt = (t) => {
324
+ }, xt = (t) => {
325
325
  switch (t) {
326
326
  case d.POSTS:
327
327
  return "Top posts";
@@ -332,7 +332,7 @@ const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PU
332
332
  default:
333
333
  return "Top content";
334
334
  }
335
- }, Tt = (t, e, o) => {
335
+ }, Dt = (t, e, o) => {
336
336
  switch (t) {
337
337
  case d.POSTS:
338
338
  return `Your highest viewed posts ${o(e)}`;
@@ -345,7 +345,7 @@ const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PU
345
345
  default:
346
346
  return `Your highest viewed posts or pages ${o(e)}`;
347
347
  }
348
- }, At = (t, e, o) => {
348
+ }, Tt = (t, e, o) => {
349
349
  switch (t) {
350
350
  case d.POSTS:
351
351
  return `Which posts drove the most growth ${o(e)}`;
@@ -359,44 +359,21 @@ const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PU
359
359
  return `Which posts drove the most growth ${o(e)}`;
360
360
  }
361
361
  };
362
- function ht(t, e) {
363
- if (!t || !e)
364
- return "";
365
- try {
366
- const o = new URL(e), s = o.pathname.endsWith("/") ? o.pathname : `${o.pathname}/`, r = t.replace(/^\//, ""), a = `${s}${r}`;
367
- return `${o.origin}${a}`;
368
- } catch {
369
- return "";
370
- }
371
- }
372
- function Et(t, e, o, s, r) {
373
- return () => {
374
- if (e && t && r === "post") {
375
- s(`/posts/analytics/${e}`, { crossApp: !0 });
376
- return;
377
- }
378
- if (t && o) {
379
- const a = ht(t, o);
380
- a && window.open(a, "_blank", "noopener,noreferrer");
381
- }
382
- };
383
- }
384
362
  export {
385
363
  d as C,
386
364
  ct as S,
387
- Nt as a,
388
- bt as b,
365
+ vt as a,
366
+ Nt as b,
389
367
  pt as c,
390
- ft as d,
391
- wt as e,
392
- ut as f,
393
- mt as g,
394
- xt as h,
395
- Dt as i,
396
- Tt as j,
397
- Et as k,
398
- it as l,
399
- At as m,
400
- vt as p
368
+ ut as d,
369
+ yt as e,
370
+ mt as f,
371
+ ft as g,
372
+ bt as h,
373
+ xt as i,
374
+ Dt as j,
375
+ nt as k,
376
+ Tt as l,
377
+ wt as p
401
378
  };
402
- //# sourceMappingURL=url-helpers-Drq3xg0l.mjs.map
379
+ //# sourceMappingURL=content-helpers-MbtAvUJh.mjs.map
@@ -1,8 +1,8 @@
1
- import { f as B0, u as J0, q as K0, j as t, r as L0, n as j0, t as V0, v as ei, C as Q4, w as X4, x as q8, F as ai, y as ci, z as W0, B as l7, D as t7, E as ii, c as z0, R as $0, G as A1, S as oi, H as E9, I as B9, J as li, U as Y6, g as u2, K as ti, h as a5, L as T9, d as F9, b as n7, o as r7, p as z2, a as ni, M as ri, N as N9, O as si, P as mi, Q as fi } from "./index-K7ASx7EG.mjs";
2
- import { O as U3, P as Z8, Q as W8, R as c5, T as R1, V as di, W as hi, Y as s7, Z as p2, _ as P9, $ as J8, a0 as Y8, a1 as pi, a2 as j9, a3 as I9, a4 as ui, a5 as zi, a6 as L9, a7 as ki, a8 as gi, a9 as vi, aa as Mi, ab as bi, ac as K3, ad as wi, ae as xi, X as H9, af as G9, ag as K9, ah as D9, ai as H8, C as _2, aj as G8, ak as yi, B as i5, al as Si, am as Ri, a as m7, b as $8, c as Q8, d as X8, m as q2, e as f7, q as e9, E as a9, an as O9, G as K8, ao as U9, ap as V9, aq as Ai, ar as Ci, as as Ei, at as Bi, au as Ti, t as Fi, U as Ni, x as $6, av as _9, h as Pi, aw as ji, ax as Ii, ay as Li, az as Hi, F as Gi, aA as Ki, j as Di, k as Oi, y as Ui, z as Vi, N as p9, D as u9, A as _i } from "./stats-d_u_in4l.mjs";
3
- import { p as qi, e as Zi, S as q9, a as Z9, b as W9, c as J9, d as Y9, f as $9, g as Q9, h as z9, C as d2, i as Wi, j as k9, k as Ji } from "./url-helpers-Drq3xg0l.mjs";
4
- import { R as Yi, P as $i, O as Qi, C as Xi, b as c9, g as d7 } from "./audience-BWqU7WWT.mjs";
5
- import { T as X9, a as ee, b as F8, K as g9, c as q6, d as eo } from "./tabs-3wLZsy0v.mjs";
1
+ import { f as B0, u as J0, q as K0, j as t, r as L0, n as j0, t as V0, v as ei, C as Q4, w as X4, x as q8, F as ai, y as ci, z as W0, B as l7, D as t7, E as ii, c as z0, R as $0, G as A1, S as oi, H as E9, I as B9, J as li, U as Y6, g as u2, K as ti, h as a5, L as T9, d as F9, b as n7, o as r7, p as z2, a as ni, M as ri, N as N9, O as si, P as mi, Q as fi } from "./index-ChjIxhHy.mjs";
2
+ import { O as U3, Q as Z8, R as W8, T as c5, V as R1, W as di, Y as hi, Z as s7, _ as p2, $ as P9, a0 as J8, a1 as Y8, a2 as pi, a3 as j9, a4 as I9, a5 as ui, a6 as zi, a7 as L9, a8 as ki, a9 as gi, aa as vi, ab as Mi, ac as bi, ad as K3, ae as wi, af as xi, X as H9, ag as G9, ah as K9, ai as D9, aj as H8, C as _2, ak as G8, al as yi, B as i5, am as Si, an as Ri, a as m7, b as $8, c as Q8, d as X8, m as q2, e as f7, q as e9, E as a9, ao as O9, G as K8, ap as U9, aq as V9, ar as Ai, as as Ci, at as Ei, au as Bi, av as Ti, t as Fi, U as Ni, x as $6, aw as _9, h as Pi, ax as ji, ay as Ii, az as Li, aA as Hi, F as Gi, aB as Ki, j as Di, k as Oi, y as Ui, z as Vi, N as p9, D as u9, A as _i } from "./stats-CGH-0JNs.mjs";
3
+ import { p as qi, e as Zi, S as q9, a as Z9, b as W9, c as J9, d as Y9, f as $9, g as Q9, h as z9, C as d2, i as Wi, j as k9 } from "./content-helpers-MbtAvUJh.mjs";
4
+ import { R as Ji, P as Yi, O as $i, C as Qi, c as c9, b as d7, d as Xi } from "./audience-Caf7BjaU.mjs";
5
+ import { T as X9, a as ee, b as F8, K as g9, c as q6, d as eo } from "./tabs-EQCUj3Y9.mjs";
6
6
  var h7 = "Switch", [ao] = W8(h7), [co, io] = ao(h7), ae = B0(
7
7
  (c, r) => {
8
8
  const {
@@ -918,7 +918,7 @@ var el = [
918
918
  }, []), W0(g2.div, { ref: K3(a, r), ...m, "cmdk-list": "", role: "listbox", tabIndex: -1, "aria-activedescendant": i, "aria-label": f, id: v.listId }, k7(c, (g) => W0("div", { ref: K3(d, v.listInnerRef), "cmdk-list-sizer": "" }, g)));
919
919
  }), rl = B0((c, r) => {
920
920
  let { open: n, onOpenChange: f, overlayClassName: m, contentClassName: a, container: d, ...i } = c;
921
- return W0(Yi, { open: n, onOpenChange: f }, W0($i, { container: d }, W0(Qi, { "cmdk-overlay": "", className: m }), W0(Xi, { "aria-label": c.label, "cmdk-dialog": "", className: a }, W0(Be, { ref: r, ...i }))));
921
+ return W0(Ji, { open: n, onOpenChange: f }, W0(Yi, { container: d }, W0($i, { "cmdk-overlay": "", className: m }), W0(Qi, { "aria-label": c.label, "cmdk-dialog": "", className: a }, W0(Be, { ref: r, ...i }))));
922
922
  }), sl = B0((c, r) => k2((n) => n.filtered.count === 0) ? W0(g2.div, { ref: r, ...c, "cmdk-empty": "", role: "presentation" }) : null), ml = B0((c, r) => {
923
923
  let { progress: n, children: f, label: m = "Loading...", ...a } = c;
924
924
  return W0(g2.div, { ref: r, ...a, "cmdk-loading": "", role: "progressbar", "aria-valuenow": n, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": m }, k7(c, (d) => W0("div", { "aria-hidden": !0 }, d)));
@@ -9625,7 +9625,7 @@ const C9 = ({ tableHeader: c = !1, data: r, contentType: n }) => {
9625
9625
  /* @__PURE__ */ t.jsx(W2, { children: "Visitors" })
9626
9626
  ] }),
9627
9627
  /* @__PURE__ */ t.jsx(M7, { children: r == null ? void 0 : r.map((d) => {
9628
- const i = d.post_id && d.post_type === "post", v = i ? Ji(d.pathname, d.post_id, m.url || "", f, d.post_type) : () => {
9628
+ const i = d.post_id && d.post_type === "post", v = i ? Xi(d.pathname, d.post_id, m.url || "", f, d.post_type) : () => {
9629
9629
  };
9630
9630
  return /* @__PURE__ */ t.jsxs(
9631
9631
  b7,
@@ -9984,4 +9984,4 @@ const et = {
9984
9984
  export {
9985
9985
  rt as default
9986
9986
  };
9987
- //# sourceMappingURL=index-CcCyLMxL.mjs.map
9987
+ //# sourceMappingURL=index-BGqKbF1D.mjs.map
@@ -1,7 +1,7 @@
1
- import { u as J, b as Y, a as re, O as ne, d as q, n as h, g as S, r as le, j as e, h as _, $ as ge, e as ie, X as fe, o as Z, p as I, P as be, R as ee } from "./index-K7ASx7EG.mjs";
2
- import { aA as je, j as ae, af as ve, ag as ke, ah as Ne, ai as U, k as we, bf as ye, bi as _e, bj as Ce, bk as Te, bg as Se, bs as Re, bm as Le, E as oe, m as se, bq as ce, ba as De, bb as Me, bt as Pe, bc as Oe, bd as Be, bu as Ee, bv as Ae, be as ze, bw as $e, bx as Ve, by as He, y as Ke, z as We, N as Fe, D as Ge, A as Ie, a as de, e as ue, b as Ye, c as qe, d as Qe, q as Ue, B as Xe } from "./stats-d_u_in4l.mjs";
3
- import { T as Je, a as Ze, K as X, c as B, d as es } from "./tabs-3wLZsy0v.mjs";
4
- import { B as ss, d as ts, T as as, e as rs, a as G, f as V, S as F, b as M } from "./sort-button-CELUx6Zp.mjs";
1
+ import { u as J, b as Y, a as re, O as ne, d as Q, n as h, g as S, r as le, j as e, h as _, $ as ge, e as ie, X as fe, o as Z, p as I, P as be, R as ee } from "./index-ChjIxhHy.mjs";
2
+ import { aB as je, j as ae, ag as ve, ah as ke, ai as Ne, aj as X, k as we, bg as ye, bj as _e, bk as Ce, bl as Te, bh as Se, bt as Re, bn as Le, E as oe, m as se, br as ce, bb as De, bc as Me, bu as Pe, bd as Be, be as Oe, bv as Ee, bw as Ae, bf as ze, bx as $e, by as Ve, bz as He, y as Ke, z as We, N as Fe, D as Ge, A as Ie, a as de, e as ue, b as Ye, c as Qe, d as Ue, q as Xe, B as qe } from "./stats-CGH-0JNs.mjs";
3
+ import { T as Je, a as Ze, K as q, c as O, d as es } from "./tabs-EQCUj3Y9.mjs";
4
+ import { B as ss, d as ts, T as as, e as rs, a as G, f as V, S as F, b as M } from "./sort-button-B8n8fYMi.mjs";
5
5
  const ns = ({ active: a, payload: s }) => {
6
6
  if (!a || !(s != null && s.length))
7
7
  return null;
@@ -47,7 +47,7 @@ const ns = ({ active: a, payload: s }) => {
47
47
  isAvgsLoading: t,
48
48
  initialTab: i = "total-subscribers"
49
49
  }) => {
50
- const [o, x] = J(i), [u, j] = J(!1), { range: c } = Y(), w = re(), [y] = ne(), { appSettings: b } = q(), { emailTrackClicks: p, emailTrackOpens: g } = (b == null ? void 0 : b.analytics) || {}, { totalSubscribers: P, avgOpenRate: C, avgClickRate: l } = r, k = h(() => {
50
+ const [o, x] = J(i), [u, j] = J(!1), { range: c } = Y(), w = re(), [y] = ne(), { appSettings: b } = Q(), { emailTrackClicks: p, emailTrackOpens: g } = (b == null ? void 0 : b.analytics) || {}, { totalSubscribers: P, avgOpenRate: C, avgClickRate: l } = r, k = h(() => {
51
51
  if (!a || a.length === 0)
52
52
  return [];
53
53
  let d = [];
@@ -106,7 +106,7 @@ const ns = ({ active: a, payload: s }) => {
106
106
  const d = (te = m[o]) == null ? void 0 : te.datakey;
107
107
  if (!d)
108
108
  return { barDomain: [0, 1], barTicks: [0, 1] };
109
- const N = s.map((Q) => Q[d]).filter((Q) => typeof Q == "number");
109
+ const N = s.map((U) => U[d]).filter((U) => typeof U == "number");
110
110
  if (N.length === 0)
111
111
  return { barDomain: [0, 1], barTicks: [0, 1] };
112
112
  const L = Math.min(...N), z = Math.max(...N), K = Math.floor(L * 10) / 10, $ = Math.ceil(z * 10) / 10, D = Math.max(0, K), W = $ === D ? D + 0.1 : $;
@@ -119,13 +119,13 @@ const ns = ({ active: a, payload: s }) => {
119
119
  return /* @__PURE__ */ e.jsx("div", { className: "-mb-6 flex h-[calc(16vw+132px)] w-full items-start justify-center", children: /* @__PURE__ */ e.jsx(ae, {}) });
120
120
  let E = "grid-cols-3";
121
121
  (!p || !g) && (E = "grid-cols-2"), !p && !g && (E = "grid-cols-1");
122
- const A = o === "avg-open-rate" && C > f[0] && C < f[1] || o === "avg-click-rate" && l > f[0] && l < f[1], O = o === "avg-open-rate" ? C : l;
122
+ const A = o === "avg-open-rate" && C > f[0] && C < f[1] || o === "avg-click-rate" && l > f[0] && l < f[1], B = o === "avg-open-rate" ? C : l;
123
123
  return /* @__PURE__ */ e.jsxs(Je, { defaultValue: i, variant: "kpis", children: [
124
124
  /* @__PURE__ */ e.jsxs(Ze, { className: `-mx-6 hidden grid-cols-3 md:!visible md:!grid ${E}`, children: [
125
- /* @__PURE__ */ e.jsx(X, { className: `${!g && !p && "cursor-auto after:hidden"}`, value: "total-subscribers", onClick: () => {
125
+ /* @__PURE__ */ e.jsx(q, { className: `${!g && !p && "cursor-auto after:hidden"}`, value: "total-subscribers", onClick: () => {
126
126
  v("total-subscribers");
127
127
  }, children: /* @__PURE__ */ e.jsx(
128
- B,
128
+ O,
129
129
  {
130
130
  color: m["total-subscribers"].color,
131
131
  "data-testid": "total-subscribers-value",
@@ -135,10 +135,10 @@ const ns = ({ active: a, payload: s }) => {
135
135
  value: S(P)
136
136
  }
137
137
  ) }),
138
- g && /* @__PURE__ */ e.jsx(X, { value: "avg-open-rate", onClick: () => {
138
+ g && /* @__PURE__ */ e.jsx(q, { value: "avg-open-rate", onClick: () => {
139
139
  v("avg-open-rate");
140
140
  }, children: /* @__PURE__ */ e.jsx(
141
- B,
141
+ O,
142
142
  {
143
143
  className: t ? "opacity-50" : "",
144
144
  color: m["avg-open-rate"].color,
@@ -146,10 +146,10 @@ const ns = ({ active: a, payload: s }) => {
146
146
  value: _(C)
147
147
  }
148
148
  ) }),
149
- p && /* @__PURE__ */ e.jsx(X, { value: "avg-click-rate", onClick: () => {
149
+ p && /* @__PURE__ */ e.jsx(q, { value: "avg-click-rate", onClick: () => {
150
150
  v("avg-click-rate");
151
151
  }, children: /* @__PURE__ */ e.jsx(
152
- B,
152
+ O,
153
153
  {
154
154
  className: t ? "opacity-50" : "",
155
155
  color: m["avg-click-rate"].color,
@@ -161,7 +161,7 @@ const ns = ({ active: a, payload: s }) => {
161
161
  /* @__PURE__ */ e.jsxs(ve, { children: [
162
162
  /* @__PURE__ */ e.jsx(ke, { className: "md:hidden", asChild: !0, children: /* @__PURE__ */ e.jsxs(es, { children: [
163
163
  o === "total-subscribers" && /* @__PURE__ */ e.jsx(
164
- B,
164
+ O,
165
165
  {
166
166
  color: m["total-subscribers"].color,
167
167
  label: "Total subscribers",
@@ -169,7 +169,7 @@ const ns = ({ active: a, payload: s }) => {
169
169
  }
170
170
  ),
171
171
  o === "avg-open-rate" && g && /* @__PURE__ */ e.jsx(
172
- B,
172
+ O,
173
173
  {
174
174
  className: t ? "opacity-50" : "",
175
175
  color: m["avg-open-rate"].color,
@@ -178,7 +178,7 @@ const ns = ({ active: a, payload: s }) => {
178
178
  }
179
179
  ),
180
180
  o === "avg-click-rate" && p && /* @__PURE__ */ e.jsx(
181
- B,
181
+ O,
182
182
  {
183
183
  className: t ? "opacity-50" : "",
184
184
  color: m["avg-click-rate"].color,
@@ -188,9 +188,9 @@ const ns = ({ active: a, payload: s }) => {
188
188
  )
189
189
  ] }) }),
190
190
  /* @__PURE__ */ e.jsxs(Ne, { align: "end", className: "w-56", children: [
191
- /* @__PURE__ */ e.jsx(U, { onClick: () => v("total-subscribers"), children: "Total subscribers" }),
192
- g && /* @__PURE__ */ e.jsx(U, { onClick: () => v("avg-open-rate"), children: "Avg. open rate" }),
193
- p && /* @__PURE__ */ e.jsx(U, { onClick: () => v("avg-click-rate"), children: "Avg. click rate" })
191
+ /* @__PURE__ */ e.jsx(X, { onClick: () => v("total-subscribers"), children: "Total subscribers" }),
192
+ g && /* @__PURE__ */ e.jsx(X, { onClick: () => v("avg-open-rate"), children: "Avg. open rate" }),
193
+ p && /* @__PURE__ */ e.jsx(X, { onClick: () => v("avg-click-rate"), children: "Avg. click rate" })
194
194
  ] })
195
195
  ] }),
196
196
  /* @__PURE__ */ e.jsxs("div", { className: "my-4 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500", children: [
@@ -258,7 +258,7 @@ const ns = ({ active: a, payload: s }) => {
258
258
  position: { y: 10 }
259
259
  }
260
260
  ),
261
- A && /* @__PURE__ */ e.jsx(Re, { label: { value: `${_(O)}`, position: "left", offset: 8, fill: "hsl(var(--muted-foreground))" }, opacity: 0.5, stroke: "hsl(var(--muted-foreground))", strokeDasharray: "4 4", y: O }),
261
+ A && /* @__PURE__ */ e.jsx(Re, { label: { value: `${_(B)}`, position: "left", offset: 8, fill: "hsl(var(--muted-foreground))" }, opacity: 0.5, stroke: "hsl(var(--muted-foreground))", strokeDasharray: "4 4", y: B }),
262
262
  /* @__PURE__ */ e.jsx(
263
263
  Le,
264
264
  {
@@ -307,9 +307,9 @@ const ns = ({ active: a, payload: s }) => {
307
307
  children: [
308
308
  /* @__PURE__ */ e.jsxs(Me, { className: "w-auto", children: [
309
309
  /* @__PURE__ */ e.jsx(Pe, { className: "mr-2", size: 16, strokeWidth: 1.5 }),
310
- /* @__PURE__ */ e.jsx(Oe, { placeholder: "Select a newsletter" })
310
+ /* @__PURE__ */ e.jsx(Be, { placeholder: "Select a newsletter" })
311
311
  ] }),
312
- /* @__PURE__ */ e.jsx(Be, { align: "end", children: /* @__PURE__ */ e.jsxs(Ee, { children: [
312
+ /* @__PURE__ */ e.jsx(Oe, { align: "end", children: /* @__PURE__ */ e.jsxs(Ee, { children: [
313
313
  /* @__PURE__ */ e.jsx(Ae, { children: "Newsletters" }),
314
314
  n.map((t) => /* @__PURE__ */ e.jsx(ze, { value: t.id, children: t.name }, t.id))
315
315
  ] }) })
@@ -425,8 +425,8 @@ const ns = ({ active: a, payload: s }) => {
425
425
  // Reactive to sort changes, but only affects this component
426
426
  s || void 0,
427
427
  !!r
428
- ), { appSettings: c } = q(), { emailTrackClicks: w, emailTrackOpens: y } = (c == null ? void 0 : c.analytics) || {}, b = h(() => (x == null ? void 0 : x.stats) || [], [x]), p = y && w ? 5 : y || w ? 4 : 3, g = h(() => /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsx(G, { className: "last:border-none [&>td]:py-2.5", children: /* @__PURE__ */ e.jsx(M, { className: "font-medium", colSpan: p, children: /* @__PURE__ */ e.jsx(Ue, { className: "mt-5" }) }) }) }), [p]), P = h(() => b.length > 0 ? /* @__PURE__ */ e.jsx(e.Fragment, { children: b.map((l) => /* @__PURE__ */ e.jsxs(G, { className: "last:border-none [&>td]:py-2.5", children: [
429
- /* @__PURE__ */ e.jsx(M, { className: "font-medium", children: /* @__PURE__ */ e.jsx("div", { className: "group/link inline-flex items-center gap-2", children: l.post_id ? /* @__PURE__ */ e.jsx(Xe, { className: "h-auto whitespace-normal p-0 text-left hover:!underline", title: "View post analytics", variant: "link", onClick: () => {
428
+ ), { appSettings: c } = Q(), { emailTrackClicks: w, emailTrackOpens: y } = (c == null ? void 0 : c.analytics) || {}, b = h(() => (x == null ? void 0 : x.stats) || [], [x]), p = y && w ? 5 : y || w ? 4 : 3, g = h(() => /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsx(G, { className: "last:border-none [&>td]:py-2.5", children: /* @__PURE__ */ e.jsx(M, { className: "font-medium", colSpan: p, children: /* @__PURE__ */ e.jsx(Xe, { className: "mt-5" }) }) }) }), [p]), P = h(() => b.length > 0 ? /* @__PURE__ */ e.jsx(e.Fragment, { children: b.map((l) => /* @__PURE__ */ e.jsxs(G, { className: "last:border-none [&>td]:py-2.5", children: [
429
+ /* @__PURE__ */ e.jsx(M, { className: "font-medium", children: /* @__PURE__ */ e.jsx("div", { className: "group/link inline-flex items-center gap-2", children: l.post_id ? /* @__PURE__ */ e.jsx(qe, { className: "h-auto whitespace-normal p-0 text-left hover:!underline", title: "View post analytics", variant: "link", onClick: () => {
430
430
  t(`/posts/analytics/${l.post_id}/`, { crossApp: !0 });
431
431
  }, children: l.post_title }) : /* @__PURE__ */ e.jsx(e.Fragment, { children: l.post_title }) }) }),
432
432
  /* @__PURE__ */ e.jsx(M, { className: "whitespace-nowrap text-sm", children: ie(l.send_date, o) }),
@@ -452,12 +452,12 @@ const ns = ({ active: a, payload: s }) => {
452
452
  he.displayName = "NewsletterTableRows";
453
453
  const xe = ee.memo(({ sortBy: a, setSortBy: s, range: r }) => {
454
454
  const n = h(() => /* @__PURE__ */ e.jsxs(Ye, { children: [
455
- /* @__PURE__ */ e.jsx(qe, { children: "Top newsletters" }),
456
- /* @__PURE__ */ e.jsxs(Qe, { children: [
455
+ /* @__PURE__ */ e.jsx(Qe, { children: "Top newsletters" }),
456
+ /* @__PURE__ */ e.jsxs(Ue, { children: [
457
457
  " Your best performing newsletters ",
458
458
  se(r)
459
459
  ] })
460
- ] }), [r]), { appSettings: t } = q(), { emailTrackClicks: i, emailTrackOpens: o } = (t == null ? void 0 : t.analytics) || {};
460
+ ] }), [r]), { appSettings: t } = Q(), { emailTrackClicks: i, emailTrackOpens: o } = (t == null ? void 0 : t.analytics) || {};
461
461
  return /* @__PURE__ */ e.jsx(rs, { children: /* @__PURE__ */ e.jsxs(G, { children: [
462
462
  /* @__PURE__ */ e.jsx(V, { className: "min-w-[320px]", variant: "cardhead", children: n }),
463
463
  /* @__PURE__ */ e.jsx(V, { className: "w-[65px]", children: /* @__PURE__ */ e.jsx(F, { activeSortBy: a, setSortBy: s, sortBy: "date desc", children: "Date" }) }),
@@ -484,7 +484,7 @@ const pe = ee.memo(({ range: a, selectedNewsletterId: s, shouldFetchStats: r })
484
484
  });
485
485
  pe.displayName = "TopNewslettersTable";
486
486
  const fs = () => {
487
- const { range: a, selectedNewsletterId: s } = Y(), [r] = ne(), { appSettings: n } = q(), t = r.get("tab") || "total-subscribers", { data: i, isLoading: o } = cs({
487
+ const { range: a, selectedNewsletterId: s } = Y(), [r] = ne(), { appSettings: n } = Q(), t = r.get("tab") || "total-subscribers", { data: i, isLoading: o } = cs({
488
488
  searchParams: {
489
489
  limit: "50"
490
490
  }
@@ -502,7 +502,7 @@ const fs = () => {
502
502
  const l = ((v = b == null ? void 0 : b.count) == null ? void 0 : v.active_members) || ((m = (T = u == null ? void 0 : u.stats) == null ? void 0 : T[0]) == null ? void 0 : m.total) || 0;
503
503
  let k = 0, R = 0;
504
504
  if (c != null && c.stats && c.stats.length > 0) {
505
- const f = c.stats, H = f.reduce((A, O) => A + (O.open_rate || 0), 0), E = f.reduce((A, O) => A + (O.click_rate || 0), 0);
505
+ const f = c.stats, H = f.reduce((A, B) => A + (B.open_rate || 0), 0), E = f.reduce((A, B) => A + (B.click_rate || 0), 0);
506
506
  k = H / f.length, R = E / f.length;
507
507
  }
508
508
  return {
@@ -579,4 +579,4 @@ const fs = () => {
579
579
  export {
580
580
  fs as default
581
581
  };
582
- //# sourceMappingURL=index-DXU2rE9t.mjs.map
582
+ //# sourceMappingURL=index-BTjfXOi6.mjs.map
@@ -17469,19 +17469,19 @@ const bg = "/", pg = [
17469
17469
  children: [
17470
17470
  {
17471
17471
  index: !0,
17472
- lazy: v3(() => import("./index-CUuQaROI.mjs"))
17472
+ lazy: v3(() => import("./index-wT0OIw_N.mjs"))
17473
17473
  },
17474
17474
  {
17475
17475
  path: "web",
17476
- lazy: v3(() => import("./index-CcCyLMxL.mjs"))
17476
+ lazy: v3(() => import("./index-BGqKbF1D.mjs"))
17477
17477
  },
17478
17478
  {
17479
17479
  path: "growth",
17480
- lazy: v3(() => import("./index-D5mlMG4l.mjs"))
17480
+ lazy: v3(() => import("./index-DMkZbbZs.mjs"))
17481
17481
  },
17482
17482
  {
17483
17483
  path: "newsletters",
17484
- lazy: v3(() => import("./index-DXU2rE9t.mjs"))
17484
+ lazy: v3(() => import("./index-BTjfXOi6.mjs"))
17485
17485
  }
17486
17486
  ]
17487
17487
  }
@@ -17571,4 +17571,4 @@ export {
17571
17571
  FM as y,
17572
17572
  c as z
17573
17573
  };
17574
- //# sourceMappingURL=index-K7ASx7EG.mjs.map
17574
+ //# sourceMappingURL=index-ChjIxhHy.mjs.map