ghost 6.64.0 → 6.65.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 (672) hide show
  1. package/bin/create-migration.js +15 -0
  2. package/components/tryghost-adapter-base-scheduling-0.2.4.tgz +0 -0
  3. package/components/tryghost-api-framework-0.0.0.tgz +0 -0
  4. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  5. package/components/tryghost-kg-default-cards-10.3.6.tgz +0 -0
  6. package/components/tryghost-kg-lexical-html-renderer-1.5.1.tgz +0 -0
  7. package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
  8. package/content/themes/casper/assets/built/casper.js +1 -1
  9. package/content/themes/casper/assets/built/screen.css +1 -1
  10. package/content/themes/casper/assets/css/screen.css +15 -2
  11. package/content/themes/casper/assets/js/init.js +37 -9
  12. package/content/themes/casper/package.json +8 -8
  13. package/content/themes/source/assets/built/screen.css +1 -1
  14. package/content/themes/source/assets/built/source.js +1 -1
  15. package/content/themes/source/assets/css/screen.css +14 -1
  16. package/content/themes/source/assets/js/main.js +24 -4
  17. package/content/themes/source/package.json +7 -7
  18. package/core/boot.js +22 -16
  19. package/core/bridge.js +1 -1
  20. package/core/built/admin/assets/Combination-DQ6f9A5P.js +41 -0
  21. package/core/built/admin/assets/{PolarAngleAxis-a81ieQUO.js → PolarAngleAxis-BBaU7PRV.js} +1 -1
  22. package/core/built/admin/assets/RadialBarChart-Bp20JPnA.js +1 -0
  23. package/core/built/admin/assets/{about-39CAfroa.js → about-Dp43j18M.js} +1 -1
  24. package/core/built/admin/assets/accordion-h62UzFhj.js +1 -0
  25. package/core/built/admin/assets/account-migration-CBTbtX6Q.js +1 -0
  26. package/core/built/admin/assets/action-list-DC9QpX-l.js +1 -0
  27. package/core/built/admin/assets/activitypub/{account-migration-KA6Jjf9L.js → account-migration-B1DUZS4Q.js} +8 -8
  28. package/core/built/admin/assets/activitypub/activitypub.js +24 -11
  29. package/core/built/admin/assets/activitypub/avatar-CRGud8yf.js +153 -0
  30. package/core/built/admin/assets/activitypub/{avatar-flipboard-csQaNeYK.js → avatar-flipboard-BZNFAXfm.js} +3 -3
  31. package/core/built/admin/assets/activitypub/{bluesky-sharing-C7nTDMvw.js → bluesky-sharing-Cg_v-LwS.js} +30 -31
  32. package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-Ck3O4oo2.js → chunk-KS7C4IRE-CTUL98Lc.js} +2498 -1885
  33. package/core/built/admin/assets/activitypub/{content-formatters-CLcjaBwV.js → content-formatters-D7GWP7nH.js} +23 -24
  34. package/core/built/admin/assets/activitypub/{copy-DcOh8kXw.js → copy-CgzTvoeR.js} +2 -2
  35. package/core/built/admin/assets/activitypub/{domain-fZ-X8i4-.js → domain-C3G_nkHU.js} +46 -46
  36. package/core/built/admin/assets/activitypub/{edit-profile-BqMLQV88.js → edit-profile-C8cCY-AK.js} +927 -928
  37. package/core/built/admin/assets/activitypub/{explore-B4yPoP8E.js → explore-NlDT4inq.js} +11 -11
  38. package/core/built/admin/assets/activitypub/{feed-BRC_mvAe.js → feed-DF22jCTV.js} +10 -10
  39. package/core/built/admin/assets/activitypub/{field-COacNgOt.js → field-95-iuTte.js} +4 -4
  40. package/core/built/admin/assets/activitypub/{hash-C7u-irQQ.js → hash-R7LMLnhY.js} +2 -2
  41. package/core/built/admin/assets/activitypub/{inbox-CbTTdDQ3.js → inbox-DUJUiV6x.js} +2 -2
  42. package/core/built/admin/assets/activitypub/{inbox-BW-yvUoN.js → inbox-DerExBzA.js} +416 -414
  43. package/core/built/admin/assets/activitypub/{label-kPMmYI7l.js → label-EwCn1QYc.js} +4 -4
  44. package/core/built/admin/assets/activitypub/layout-Dy6NnW1G.js +1 -0
  45. package/core/built/admin/assets/activitypub/{moderation-CuidJzc0.js → moderation-BSkfiVYo.js} +73 -75
  46. package/core/built/admin/assets/activitypub/{note-CAMRRSqD.js → note-DOnAJTXK.js} +9 -9
  47. package/core/built/admin/assets/activitypub/{notifications-BmNlXGgp.js → notifications-DZc6XTjG.js} +27 -27
  48. package/core/built/admin/assets/activitypub/{onboarding-Dmun9jr_.js → onboarding-8vEIwYTH.js} +3 -3
  49. package/core/built/admin/assets/activitypub/{onboarding-Bqg7fh_L.js → onboarding-DYVqbNmp.js} +2 -2
  50. package/core/built/admin/assets/activitypub/{preferences--oH19wf9.js → preferences-DDok6F2N.js} +1418 -1390
  51. package/core/built/admin/assets/activitypub/{profile-DH_tQx2D.js → profile-DjVa2hUk.js} +254 -255
  52. package/core/built/admin/assets/activitypub/{reply-Cap9PxSH.js → reply-DtXBpHxu.js} +2 -2
  53. package/core/built/admin/assets/activitypub/routes-Cw302e1c.js +4946 -0
  54. package/core/built/admin/assets/activitypub/{separator-CAxxu8VV.js → separator-FpRpVDd3.js} +8 -9
  55. package/core/built/admin/assets/activitypub/settings-yK-puALn.js +314 -0
  56. package/core/built/admin/assets/activitypub/{site-BYps63oh.js → site-CHw0R2PA.js} +2 -2
  57. package/core/built/admin/assets/activitypub/{step-1-CKjR2KAm.js → step-1-737bnvxk.js} +7 -7
  58. package/core/built/admin/assets/activitypub/{step-2-B6PKfOUQ.js → step-2-DBaIsAsM.js} +7 -7
  59. package/core/built/admin/assets/activitypub/{step-3-C-qBbcUo.js → step-3-BBmy9m9V.js} +23 -23
  60. package/core/built/admin/assets/activitypub/tabs-LQ2xirdm.js +1101 -0
  61. package/core/built/admin/assets/activitypub/{topic-filter-DsUOuu0k.js → topic-filter-75Nu0CKj.js} +4 -4
  62. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CX9snsLs.js → use-activity-pub-queries-CYI2QJMs.js} +58 -58
  63. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-DsJTGDSS.js → use-navigate-with-base-path-B4jZ8hyg.js} +3924 -1403
  64. package/core/built/admin/assets/activitypub/{use-reply-chain-data-AJi9zkzm.js → use-reply-chain-data-BHmFxc3U.js} +6 -6
  65. package/core/built/admin/assets/activitypub/users-CSjOwpT9.js +886 -0
  66. package/core/built/admin/assets/activitypub/{x-DR8AT3-4.js → x-B9ptWCds.js} +2 -2
  67. package/core/built/admin/assets/{add-integration-modal-B12oRifD.js → add-integration-modal-BwePhq95.js} +1 -1
  68. package/core/built/admin/assets/add-newsletter-modal-Zv0I7Msm.js +1 -0
  69. package/core/built/admin/assets/{add-recommendation-modal-CJf92edY.js → add-recommendation-modal-cdLv0wHy.js} +1 -1
  70. package/core/built/admin/assets/analytics-DY8_SaP7.js +1 -0
  71. package/core/built/admin/assets/announcement-bar-modal-C-2yWwag.js +1 -0
  72. package/core/built/admin/assets/api-keys-BHKATUqQ.js +1 -0
  73. package/core/built/admin/assets/{audience-6GXevic-.js → audience-wRcSN0jV.js} +1 -1
  74. package/core/built/admin/assets/{automated-emails-DJQ4uNZo.js → automated-emails-CzUa3v4d.js} +1 -1
  75. package/core/built/admin/assets/automations-DupSsSOr.js +1 -0
  76. package/core/built/admin/assets/badge-CI1Z0xyG.js +1 -0
  77. package/core/built/admin/assets/bluesky-sharing-B8PC1SBj.js +1 -0
  78. package/core/built/admin/assets/box-LUuYRT-1.js +1 -0
  79. package/core/built/admin/assets/brand-icon-CrmbX86T.js +1 -0
  80. package/core/built/admin/assets/breadcrumb-DDDpzLyo.js +1 -0
  81. package/core/built/admin/assets/button-D414TI3B.js +1 -0
  82. package/core/built/admin/assets/calendar-Cp_opo3i.js +1 -0
  83. package/core/built/admin/assets/card-C2dfd5u0.js +1 -0
  84. package/core/built/admin/assets/chart-B_UNLXse.js +63 -0
  85. package/core/built/admin/assets/chart-helpers-Czu_9QpJ.js +1 -0
  86. package/core/built/admin/assets/checkbox-CFFqf0Nh.js +1 -0
  87. package/core/built/admin/assets/{chunk.368.22ce1b732c0b40abd3f1.js → chunk.201.6961b57ed7a281ac193e.js} +23 -19
  88. package/core/built/admin/assets/chunk.524.0b850e72ec49a0fa3882.js +25 -0
  89. package/core/built/admin/assets/chunk.582.db2ae9e968256e8d58ac.js +27 -0
  90. package/core/built/admin/assets/code-editor-view-Bd_nnHKk.js +1 -0
  91. package/core/built/admin/assets/code-editor-view-BeU3Yf9M.js +1 -0
  92. package/core/built/admin/assets/color-picker-Bzm1V7qg.js +3 -0
  93. package/core/built/admin/assets/color-picker-field-DP0moHz9.js +1 -0
  94. package/core/built/admin/assets/combobox-6_ruuTuj.js +1 -0
  95. package/core/built/admin/assets/command-B5wfm6pd.js +1 -0
  96. package/core/built/admin/assets/comments-BB26dUSl.js +1 -0
  97. package/core/built/admin/assets/confirmation-context-znVJD4pX.js +1 -0
  98. package/core/built/admin/assets/container-CHHif8km.js +1 -0
  99. package/core/built/admin/assets/{content-api-modal-0ZjuLcQ8.js → content-api-modal-DOHwl0yZ.js} +1 -1
  100. package/core/built/admin/assets/context-menu-BpY46Dlb.js +1 -0
  101. package/core/built/admin/assets/copy-field-DRBx6Ady.js +1 -0
  102. package/core/built/admin/assets/create-ghost-browse-value-source-eIXo5Qws.js +1 -0
  103. package/core/built/admin/assets/custom-field-type-option-DrSlETOI.js +1 -0
  104. package/core/built/admin/assets/custom-integration-modal-Dgo425Ec.js +1 -0
  105. package/core/built/admin/assets/data-list-DM8yqpXi.js +1 -0
  106. package/core/built/admin/assets/date-range-select-DdC23c13.js +1 -0
  107. package/core/built/admin/assets/design-and-theme-modal-CbSu9IT4.js +2 -0
  108. package/core/built/admin/assets/detail-page-CN4NdhpV.js +1 -0
  109. package/core/built/admin/assets/dirty-confirm-dialog-BT_Vq9TD.js +1 -0
  110. package/core/built/admin/assets/{disabled-sources-indicator-CLZhMv8J.js → disabled-sources-indicator-C5xtW0Q2.js} +1 -1
  111. package/core/built/admin/assets/dist-B40T-RCQ.js +1 -0
  112. package/core/built/admin/assets/dist-CrlaEoaK.js +1 -0
  113. package/core/built/admin/assets/domain-BPReCZa8.js +1 -0
  114. package/core/built/admin/assets/dropzone-B2auMkf2.js +5 -0
  115. package/core/built/admin/assets/edit-profile-B7XTBzKe.js +1 -0
  116. package/core/built/admin/assets/editor-BcaC9dqm.js +8 -0
  117. package/core/built/admin/assets/editor-screen-FuMpItC8.js +27 -0
  118. package/core/built/admin/assets/email-sending-status-provider-9d81o1C2.js +1 -0
  119. package/core/built/admin/assets/embed-signup-form-modal-CbVbMsxl.js +8 -0
  120. package/core/built/admin/assets/empty-indicator-CSQts7GV.js +1 -0
  121. package/core/built/admin/assets/explore-DbSXFTJN.js +1 -0
  122. package/core/built/admin/assets/feature-image-placeholder-DFXA4vfJ.js +1 -0
  123. package/core/built/admin/assets/feed-W7RlF-Gp.js +1 -0
  124. package/core/built/admin/assets/field-BXEh3ptU.js +1 -0
  125. package/core/built/admin/assets/filter-sources-DHK2IoCk.js +1 -0
  126. package/core/built/admin/assets/filters-0SYNTqyQ.js +1 -0
  127. package/core/built/admin/assets/filters-DTtZKQyq.js +1 -0
  128. package/core/built/admin/assets/{first-promoter-modal-wr73Dldc.js → first-promoter-modal-DcoN_OXu.js} +1 -1
  129. package/core/built/admin/assets/{ghost-a1e6e172c6917e8ef8fa6b0007756d9b.js → ghost-25495154132af7305cb7b646fd83f48f.js} +562 -514
  130. package/core/built/admin/assets/gift-link-modal-BX-Q1TOk.js +1 -0
  131. package/core/built/admin/assets/grid-BEUIDQX7.js +1 -0
  132. package/core/built/admin/assets/growth-G6PLO4aF.js +1 -0
  133. package/core/built/admin/assets/growth-tkD-fBOY.js +3 -0
  134. package/core/built/admin/assets/heading-ih-fOVqF.js +1 -0
  135. package/core/built/admin/assets/history-modal-Ca-gStoq.js +1 -0
  136. package/core/built/admin/assets/html-field-B3CrKV9Y.js +1 -0
  137. package/core/built/admin/assets/images-H-BIm8OQ.js +1 -0
  138. package/core/built/admin/assets/{inbox-DgSZ6w2p.js → inbox-DBbDVMPz.js} +14 -14
  139. package/core/built/admin/assets/index-DOF2jDq0.js +4 -0
  140. package/core/built/admin/assets/index-JrrNchW1.css +2 -0
  141. package/core/built/admin/assets/input-group-CvH-3d3F.js +1 -0
  142. package/core/built/admin/assets/input-surface-CL23Mlh8.js +1 -0
  143. package/core/built/admin/assets/integration-header-C7GXGis_.js +1 -0
  144. package/core/built/admin/assets/invite-user-modal-EJ2_6RpV.js +1 -0
  145. package/core/built/admin/assets/isPlainObject-BzzgUf1E.js +1 -0
  146. package/core/built/admin/assets/{koenig-lexical-CXVgQFUk.js → koenig-lexical-Dkwee5FG.js} +1 -1
  147. package/core/built/admin/assets/koenig-loader-BzXCXHoA.js +2 -0
  148. package/core/built/admin/assets/kpi-card-iCDUTgOR.js +1 -0
  149. package/core/built/admin/assets/kpi-card-jTnpLKGr.js +1 -0
  150. package/core/built/admin/assets/kpi-helpers-Criu0YAf.js +1 -0
  151. package/core/built/admin/assets/kpi-tabs-DbOmmyOo.js +1 -0
  152. package/core/built/admin/assets/label-Du0yqMqL.js +1 -0
  153. package/core/built/admin/assets/label-picker-Bq1XXr1D.js +1 -0
  154. package/core/built/admin/assets/{labels-KMkFoRG6.js → labels-0x2NfLtC.js} +1 -1
  155. package/core/built/admin/assets/layout-Ckwzsnsu.js +1 -0
  156. package/core/built/admin/assets/lib-CCz2mjm8.js +2 -0
  157. package/core/built/admin/assets/link-helpers-o9GgBTni.js +1 -0
  158. package/core/built/admin/assets/{links-FwNCVyVe.js → links-Ctujreuh.js} +1 -1
  159. package/core/built/admin/assets/list-page-CH_wnDC3.js +1 -0
  160. package/core/built/admin/assets/member-activity-CsAh6MxK.js +1 -0
  161. package/core/built/admin/assets/member-activity-feed-0ytsQbtY.js +1 -0
  162. package/core/built/admin/assets/member-custom-fields-CTFGnnYv.js +1 -0
  163. package/core/built/admin/assets/member-detail-QU3vB1ML.js +1 -0
  164. package/core/built/admin/assets/members-CtMVO_AB.js +4 -0
  165. package/core/built/admin/assets/modal-page-8Ipfl51B.js +1 -0
  166. package/core/built/admin/assets/moderation-B8VtA-W0.js +1 -0
  167. package/core/built/admin/assets/multi-select-combobox-_9wEYmGv.js +1 -0
  168. package/core/built/admin/assets/navigation-modal-CGcjJvkc.js +1 -0
  169. package/core/built/admin/assets/newsletter-BpHjjqmq.js +1 -0
  170. package/core/built/admin/assets/newsletter-detail-modal-DzTbGOyo.js +1 -0
  171. package/core/built/admin/assets/newsletter-emails-BMKH4Osp.js +1 -0
  172. package/core/built/admin/assets/newsletters-BxC84_cL.js +1 -0
  173. package/core/built/admin/assets/note-BPtEzzZS.js +1 -0
  174. package/core/built/admin/assets/notifications-ng3ulEdp.js +1 -0
  175. package/core/built/admin/assets/offers-container-modal-CwqnRa3T.js +1 -0
  176. package/core/built/admin/assets/onboarding-route-CplZzd7F.js +1 -0
  177. package/core/built/admin/assets/overview-B0yD9OoX.js +1 -0
  178. package/core/built/admin/assets/overview-C4eJzQqi.js +1 -0
  179. package/core/built/admin/assets/page-header-CdCpekG9.js +1 -0
  180. package/core/built/admin/assets/pagemenu-CKQD9hoP.js +1 -0
  181. package/core/built/admin/assets/pages-route-CKsnxIvw.js +1 -0
  182. package/core/built/admin/assets/{pintura-modal-BljM7hf8.js → pintura-modal-C5jzeyGk.js} +1 -1
  183. package/core/built/admin/assets/portal-frame-DYo0bh0E.js +1 -0
  184. package/core/built/admin/assets/portal-modal-C0d8xjKa.js +1 -0
  185. package/core/built/admin/assets/post-analytics-C5C7IyAm.js +1 -0
  186. package/core/built/admin/assets/post-analytics-header-DKWHwoK2.js +1 -0
  187. package/core/built/admin/assets/{post-analytics-provider-CgreZDjS.js → post-analytics-provider-BqCPPxmW.js} +1 -1
  188. package/core/built/admin/assets/post-share-modal-wxmqbAv_.js +1 -0
  189. package/core/built/admin/assets/posts-list-screen-B978ZO0R.js +2 -0
  190. package/core/built/admin/assets/posts-route-CDqxKazl.js +1 -0
  191. package/core/built/admin/assets/preferences-CnejTRc4.js +5 -0
  192. package/core/built/admin/assets/preview-chrome-C7yZWVLZ.js +1 -0
  193. package/core/built/admin/assets/preview-modal-CFUxUGHp.js +1 -0
  194. package/core/built/admin/assets/profile-ClRGiOqA.js +1 -0
  195. package/core/built/admin/assets/radio-group-CTmLo0h9.js +1 -0
  196. package/core/built/admin/assets/router-provider-DDZvgS3V.js +1 -0
  197. package/core/built/admin/assets/select-D_4xWFYv.js +1 -0
  198. package/core/built/admin/assets/settings-BRl7-7a9.js +1 -0
  199. package/core/built/admin/assets/settings-BoQcPa-y.js +4 -0
  200. package/core/built/admin/assets/settings-breadcrumbs-C9Yxl81q.js +1 -0
  201. package/core/built/admin/assets/{dist-BXHrDV19.js → shade-scope-Cccj-c7I-D0XwkdKQ.js} +5 -3
  202. package/core/built/admin/assets/share-modal-DBqZobuR.js +1 -0
  203. package/core/built/admin/assets/simple-pagination-D5t_ox6x.js +1 -0
  204. package/core/built/admin/assets/skeleton-CPcTiTSX.js +1 -0
  205. package/core/built/admin/assets/{slack-modal-D7W_fNON.js → slack-modal-BF9ex8cd.js} +1 -1
  206. package/core/built/admin/assets/sort-button-C0EXGjnS.js +1 -0
  207. package/core/built/admin/assets/{source-icon-CQboPZQ3.js → source-icon-BzzftCQ2.js} +1 -1
  208. package/core/built/admin/assets/stats-view-CzpGoHzF.js +1 -0
  209. package/core/built/admin/assets/{step-1-BKhjy0PV.js → step-1-CBUYUPPF.js} +1 -1
  210. package/core/built/admin/assets/{step-2-PxA1OM7R.js → step-2-CEIXUwQa.js} +1 -1
  211. package/core/built/admin/assets/{step-3-BJbAiq16.js → step-3-C1HA5i1N.js} +2 -2
  212. package/core/built/admin/assets/stripe-button-DMFsLs80.js +1 -0
  213. package/core/built/admin/assets/stripe-connect-modal-CEvxCUTv.js +1 -0
  214. package/core/built/admin/assets/switch-DoOJF2yg.js +1 -0
  215. package/core/built/admin/assets/table-BDYbUHJz.js +1 -0
  216. package/core/built/admin/assets/tabs-BZyz4ZCH.js +1 -0
  217. package/core/built/admin/assets/tag-detail-CFzaz_9E.js +2 -0
  218. package/core/built/admin/assets/tag-picker-BKUCZuRc.js +1 -0
  219. package/core/built/admin/assets/tags-Bs1FiD7m.js +1 -0
  220. package/core/built/admin/assets/{testimonials-modal-Dkt6ODLW.js → testimonials-modal-CVm0_7E-.js} +1 -1
  221. package/core/built/admin/assets/text-BLI0C8Mc.js +1 -0
  222. package/core/built/admin/assets/textarea-C5qolByg.js +1 -0
  223. package/core/built/admin/assets/tier-detail-modal-Cmwzi-e7.js +1 -0
  224. package/core/built/admin/assets/toggle-group-BTL1QsWY.js +1 -0
  225. package/core/built/admin/assets/{topic-filter-DVOe3D-b.js → topic-filter-BMjhquv7.js} +1 -1
  226. package/core/built/admin/assets/transistor-modal-hMv53jF8.js +1 -0
  227. package/core/built/admin/assets/trend-badge-1w_HEzkG.js +1 -0
  228. package/core/built/admin/assets/{unsplash-modal-DXt7Brum.js → unsplash-modal-jzC8lEB2.js} +1 -1
  229. package/core/built/admin/assets/use-analytics-data-B3lGOxsC.js +1 -0
  230. package/core/built/admin/assets/use-availability-DnKqOyqd.js +1 -0
  231. package/core/built/admin/assets/{use-check-theme-limit-error-JD-J5aaZ.js → use-check-theme-limit-error-C1tc2P4N.js} +2 -2
  232. package/core/built/admin/assets/use-filter-params-DU-aiaTb.js +1 -0
  233. package/core/built/admin/assets/{use-filterable-api-CEMSAYPg.js → use-filterable-api-CxCrnPxG.js} +1 -1
  234. package/core/built/admin/assets/use-growth-stats-E13rMQUE.js +1 -0
  235. package/core/built/admin/assets/use-limiter-DlL7au90.js +19 -0
  236. package/core/built/admin/assets/{use-navigate-with-base-path-88EQpw2k.js → use-navigate-with-base-path-BzgNwMAx.js} +1 -1
  237. package/core/built/admin/assets/{use-pintura-config-BmU45Ruy.js → use-pintura-config-CtEV1JQY.js} +1 -1
  238. package/core/built/admin/assets/{use-pintura-editor-Bz2bZ4iT.js → use-pintura-editor-CaxE64kD.js} +1 -1
  239. package/core/built/admin/assets/use-reply-chain-data-BST2OgCM.js +1 -0
  240. package/core/built/admin/assets/use-sending-eta-DR9ueMH8.js +1 -0
  241. package/core/built/admin/assets/use-setting-group-ldtX1Vsk.js +1 -0
  242. package/core/built/admin/assets/use-settings-navigation-CzGU4sus.js +1 -0
  243. package/core/built/admin/assets/use-staff-users-DoeXaPsb.js +1 -0
  244. package/core/built/admin/assets/use-tinybird-query-BaBNCaj0.js +1 -0
  245. package/core/built/admin/assets/{use-tinybird-token-Lk1RSn0t.js → use-tinybird-token-CnZ19NDf.js} +1 -1
  246. package/core/built/admin/assets/{use-url-input-DpmbDppC.js → use-url-input-C5KHJw79.js} +1 -1
  247. package/core/built/admin/assets/user-detail-modal-Dm0KfPeR.js +1 -0
  248. package/core/built/admin/assets/{vendor-2dd263291938d407802568d3357ec69e.js → vendor-97e91ff8dd1457c668f9ef103ee1a77b.js} +2748 -2977
  249. package/core/built/admin/assets/virtual-list-tAuPUICw.js +1 -0
  250. package/core/built/admin/assets/web-BQlKcW2x.js +2 -0
  251. package/core/built/admin/assets/web-NTT5DkEz.js +1 -0
  252. package/core/built/admin/assets/{zapier-modal-BafLUO4R.js → zapier-modal-DsHG9Oev.js} +1 -1
  253. package/core/built/admin/index.html +22 -24
  254. package/core/frontend/apps/private-blogging/index.js +2 -2
  255. package/core/frontend/apps/private-blogging/lib/middleware.js +1 -1
  256. package/core/frontend/apps/private-blogging/lib/router.js +1 -1
  257. package/core/frontend/helpers/cancel_link.js +3 -3
  258. package/core/frontend/helpers/content.js +2 -2
  259. package/core/frontend/helpers/content_api_url.js +1 -1
  260. package/core/frontend/helpers/date.js +1 -1
  261. package/core/frontend/helpers/foreach.js +5 -5
  262. package/core/frontend/helpers/get.js +7 -4
  263. package/core/frontend/helpers/ghost_head.js +2 -2
  264. package/core/frontend/helpers/has.js +1 -3
  265. package/core/frontend/helpers/link.js +7 -7
  266. package/core/frontend/helpers/link_class.js +2 -2
  267. package/core/frontend/helpers/navigation.js +1 -2
  268. package/core/frontend/helpers/recommendations.js +5 -6
  269. package/core/frontend/helpers/tiers.js +1 -1
  270. package/core/frontend/helpers/total_members.js +1 -1
  271. package/core/frontend/helpers/total_paid_members.js +1 -1
  272. package/core/frontend/meta/author-url.js +1 -1
  273. package/core/frontend/meta/modified-date.js +1 -1
  274. package/core/frontend/meta/published-date.js +1 -1
  275. package/core/frontend/meta/schema.js +3 -8
  276. package/core/frontend/meta/structured-data.js +1 -2
  277. package/core/frontend/services/assets-minification/minifier.js +1 -1
  278. package/core/frontend/services/data/entry-lookup.js +1 -1
  279. package/core/frontend/services/data/fetch-data.js +2 -2
  280. package/core/frontend/services/rendering/format-response.js +1 -1
  281. package/core/frontend/services/rendering/renderer.js +3 -0
  282. package/core/frontend/services/rendering/templates.js +1 -1
  283. package/core/frontend/services/routing/controllers/static.js +1 -1
  284. package/core/frontend/services/routing/parent-router.js +1 -1
  285. package/core/frontend/services/routing/registry.js +1 -1
  286. package/core/frontend/services/sitemap/base-site-map-generator.js +68 -97
  287. package/core/frontend/services/sitemap/site-map-index-generator.js +16 -21
  288. package/core/frontend/services/sitemap/site-map-manager.js +82 -43
  289. package/core/frontend/services/sitemap/sitemap-xml.js +72 -0
  290. package/core/frontend/services/theme-engine/handlebars/utils.js +8 -8
  291. package/core/frontend/services/theme-engine/i18n/i18n.js +4 -5
  292. package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +1 -1
  293. package/core/frontend/services/theme-engine/preview.js +1 -1
  294. package/core/frontend/utils/member-count.js +2 -2
  295. package/core/frontend/web/routers/serve-public-file.js +1 -1
  296. package/core/server/adapters/scheduling/README.md +4 -0
  297. package/core/server/adapters/scheduling/get-scheduler-idempotency-key.js +21 -0
  298. package/core/server/adapters/storage/LocalStorageBase.js +2 -1
  299. package/core/server/api/endpoints/automated-emails.js +8 -2
  300. package/core/server/api/endpoints/db.js +1 -1
  301. package/core/server/api/endpoints/emails.js +3 -3
  302. package/core/server/api/endpoints/mail.js +1 -1
  303. package/core/server/api/endpoints/member-signin-urls.js +1 -1
  304. package/core/server/api/endpoints/members.js +3 -3
  305. package/core/server/api/endpoints/oembed.js +1 -1
  306. package/core/server/api/endpoints/posts.js +1 -1
  307. package/core/server/api/endpoints/settings.js +2 -2
  308. package/core/server/api/endpoints/themes.js +5 -5
  309. package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -2
  310. package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -2
  311. package/core/server/api/endpoints/utils/serializers/input/tags.js +1 -1
  312. package/core/server/api/endpoints/utils/serializers/input/utils/slug-filter-order.js +4 -4
  313. package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +8 -5
  314. package/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +1 -1
  315. package/core/server/api/endpoints/utils/serializers/output/pages.js +4 -4
  316. package/core/server/api/endpoints/utils/serializers/output/posts.js +4 -4
  317. package/core/server/api/endpoints/utils/serializers/output/search-index.js +11 -11
  318. package/core/server/api/endpoints/utils/serializers/output/settings.js +1 -1
  319. package/core/server/api/endpoints/utils/serializers/output/utils/extra-attrs.js +3 -3
  320. package/core/server/api/endpoints/utils/validators/input/automated_emails.js +23 -33
  321. package/core/server/api/endpoints/utils/validators/input/settings.js +3 -3
  322. package/core/server/data/exporter/exporter.js +1 -2
  323. package/core/server/data/exporter/table-lists.js +1 -0
  324. package/core/server/data/importer/handlers/image.js +1 -2
  325. package/core/server/data/importer/handlers/json.js +1 -3
  326. package/core/server/data/importer/handlers/markdown.js +4 -8
  327. package/core/server/data/importer/import-manager.js +1 -1
  328. package/core/server/data/importer/importers/content-file-importer.js +4 -8
  329. package/core/server/data/importer/importers/data/base.js +10 -10
  330. package/core/server/data/importer/importers/data/custom-theme-settings-importer.js +1 -1
  331. package/core/server/data/importer/importers/data/data-importer.js +3 -4
  332. package/core/server/data/importer/importers/data/posts-importer.js +10 -10
  333. package/core/server/data/importer/importers/data/products-importer.js +3 -3
  334. package/core/server/data/importer/importers/data/settings-importer.js +2 -2
  335. package/core/server/data/importer/importers/data/stripe-prices-importer.js +1 -1
  336. package/core/server/data/importer/importers/data/stripe-products-importer.js +1 -1
  337. package/core/server/data/importer/importers/data/tags-importer.js +1 -1
  338. package/core/server/data/importer/importers/data/users-importer.js +2 -2
  339. package/core/server/data/importer/importers/json-to-html.js +12 -9
  340. package/core/server/data/migrations/versions/5.0/2022-05-11-13-12-rename-settings.js +1 -1
  341. package/core/server/data/migrations/versions/6.65/2026-09-16-15-35-26-add-members-metafield-change-events.js +17 -0
  342. package/core/server/data/schema/fixtures/fixture-manager.js +3 -3
  343. package/core/server/data/schema/index.js +1 -1
  344. package/core/server/data/schema/schema.js +26 -0
  345. package/core/server/data/schema/validator.js +96 -123
  346. package/core/server/data/seeders/importers/email-recipients-importer.js +2 -2
  347. package/core/server/data/seeders/importers/members-login-events-importer.js +1 -1
  348. package/core/server/data/seeders/importers/members-newsletters-importer.js +1 -1
  349. package/core/server/data/seeders/importers/members-paid-subscription-events-importer.js +1 -1
  350. package/core/server/data/seeders/importers/members-status-events-importer.js +1 -1
  351. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +1 -1
  352. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +1 -1
  353. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +2 -2
  354. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +1 -1
  355. package/core/server/data/tinybird/pipes/mv_hits.pipe +25 -20
  356. package/core/server/data/tinybird/scripts/docker-analytics-manager.js +2 -2
  357. package/core/server/ghost-server.js +1 -19
  358. package/core/server/lib/image/image-size.js +1 -3
  359. package/core/server/lib/request-external.js +53 -117
  360. package/core/server/models/base/plugins/actions.js +2 -3
  361. package/core/server/models/base/plugins/crud.js +1 -2
  362. package/core/server/models/base/plugins/events.js +4 -4
  363. package/core/server/models/base/plugins/raw-knex.js +3 -3
  364. package/core/server/models/base/plugins/sanitize.js +1 -1
  365. package/core/server/models/benefit.js +1 -1
  366. package/core/server/models/collection.js +1 -1
  367. package/core/server/models/comment.js +3 -3
  368. package/core/server/models/invite.js +2 -5
  369. package/core/server/models/label.js +3 -6
  370. package/core/server/models/member.js +7 -10
  371. package/core/server/models/newsletter.js +1 -1
  372. package/core/server/models/permission.js +3 -6
  373. package/core/server/models/post.js +20 -23
  374. package/core/server/models/product.js +4 -1
  375. package/core/server/models/relations/authors.js +9 -12
  376. package/core/server/models/role.js +2 -5
  377. package/core/server/models/settings.js +3 -3
  378. package/core/server/models/tag.js +2 -5
  379. package/core/server/models/user.js +8 -10
  380. package/core/server/models/webhook.js +2 -4
  381. package/core/server/notify.js +2 -2
  382. package/core/server/services/adapter-manager/utils.js +6 -1
  383. package/core/server/services/api-version-compatibility/legacy-api-path-match.js +2 -2
  384. package/core/server/services/auth/api-key/admin.js +2 -2
  385. package/core/server/services/auth/api-key/content.js +1 -1
  386. package/core/server/services/auth/passwordreset.js +1 -1
  387. package/core/server/services/auth/setup.js +1 -3
  388. package/core/server/services/automations/README.md +19 -0
  389. package/core/server/services/automations/poll.js +3 -1
  390. package/core/server/services/automations/service.js +2 -2
  391. package/core/server/services/automations/welcome-email-automation-poll.js +199 -293
  392. package/core/server/services/comments/comments-controller.js +9 -30
  393. package/core/server/services/comments/comments-service-email-renderer.js +1 -1
  394. package/core/server/services/comments/comments-service-emails.js +1 -1
  395. package/core/server/services/comments/comments-service.js +27 -58
  396. package/core/server/services/comments/comments-stats-service.js +1 -1
  397. package/core/server/services/content-import/import/staged-file.js +9 -9
  398. package/core/server/services/content-import/index.js +1 -1
  399. package/core/server/services/custom-redirects/validation.js +1 -1
  400. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +23 -55
  401. package/core/server/services/email-analytics/index.js +35 -19
  402. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.js +31 -60
  403. package/core/server/services/email-service/README.md +35 -0
  404. package/core/server/services/email-service/batch-sending-service.js +13 -14
  405. package/core/server/services/email-service/email-renderer.js +50 -14
  406. package/core/server/services/email-service/email-service-wrapper.js +3 -2
  407. package/core/server/services/email-service/email-service.js +33 -8
  408. package/core/server/services/email-service/email-templates/partials/feedback-button.hbs +2 -1
  409. package/core/server/services/email-service/email-templates/partials/styles.hbs +0 -6
  410. package/core/server/services/email-service/email-templates/template.hbs +1 -1
  411. package/core/server/services/email-service/jobs/send-email-job.js +12 -0
  412. package/core/server/services/email-service/mailgun-email-provider.js +7 -2
  413. package/core/server/services/email-service/sending-service.js +1 -1
  414. package/core/server/services/gifts/gift-service.js +12 -3
  415. package/core/server/services/gifts/index.js +0 -2
  416. package/core/server/services/gifts/jobs/index.js +12 -24
  417. package/core/server/services/gifts/jobs/send-gift-reminders-job.js +6 -46
  418. package/core/server/services/invitations/accept.js +2 -2
  419. package/core/server/services/jobs/job-service.js +0 -28
  420. package/core/server/services/jobs-service/jobs-service.js +5 -0
  421. package/core/server/services/jobs-service/register-job-handlers.js +17 -1
  422. package/core/server/services/lib/mailgun-client.js +16 -1
  423. package/core/server/services/lib/mailgun-recipient-message-id.js +49 -0
  424. package/core/server/services/limits.js +1 -1
  425. package/core/server/services/mail/ghost-mailer.js +1 -1
  426. package/core/server/services/member-attribution/member-attribution-service.js +1 -1
  427. package/core/server/services/member-attribution/referrer-translator.js +1 -1
  428. package/core/server/services/members/account-service.js +3 -3
  429. package/core/server/services/members/api.js +1 -1
  430. package/core/server/services/members/import-export/import/importer.js +25 -16
  431. package/core/server/services/members/import-export/import/spool.js +11 -15
  432. package/core/server/services/members/import-export/index.js +6 -4
  433. package/core/server/services/members/jobs/index.js +1 -1
  434. package/core/server/services/members/jobs/members-import-job.js +18 -0
  435. package/core/server/services/members/member-avatar.js +18 -0
  436. package/core/server/services/members/members-api/controllers/member-controller.js +2 -2
  437. package/core/server/services/members/members-api/members-api.js +4 -4
  438. package/core/server/services/members/members-api/repositories/event-repository.js +36 -1
  439. package/core/server/services/members/members-api/repositories/member-repository.js +55 -17
  440. package/core/server/services/members/members-api/repositories/product-repository.js +1 -1
  441. package/core/server/services/members/members-api/services/member-bread-service.js +4 -7
  442. package/core/server/services/members/service.js +7 -2
  443. package/core/server/services/members/stats/members-stats.js +2 -2
  444. package/core/server/services/members-events/event-storage.js +2 -2
  445. package/core/server/services/members-metafields/actions.js +23 -2
  446. package/core/server/services/members-metafields/bindings-service.js +5 -5
  447. package/core/server/services/members-metafields/definitions-service.js +2 -7
  448. package/core/server/services/members-metafields/index.js +2 -1
  449. package/core/server/services/members-metafields/queries.js +7 -1
  450. package/core/server/services/members-metafields/schema.js +49 -1
  451. package/core/server/services/members-metafields/values-service.js +112 -10
  452. package/core/server/services/mentions/mention-sending-service.js +2 -2
  453. package/core/server/services/mentions/mention.js +3 -4
  454. package/core/server/services/mentions/mentions-api.js +4 -1
  455. package/core/server/services/mentions-jobs/job-service.js +0 -28
  456. package/core/server/services/milestones/milestones-service.js +1 -1
  457. package/core/server/services/newsletters/newsletters-service.js +1 -1
  458. package/core/server/services/notifications/notifications.js +3 -3
  459. package/core/server/services/oembed/oembed-service.js +79 -3
  460. package/core/server/services/permissions/can-this.js +1 -2
  461. package/core/server/services/post-scheduling/post-scheduling.js +8 -1
  462. package/core/server/services/posts/post-scheduling.js +7 -0
  463. package/core/server/services/settings/settings-bread-service.js +3 -3
  464. package/core/server/services/settings/settings-utils.js +1 -1
  465. package/core/server/services/settings-helpers/settings-helpers.js +1 -1
  466. package/core/server/services/staff/staff-service-emails.js +9 -9
  467. package/core/server/services/stats/posts-stats-service.js +10 -10
  468. package/core/server/services/stats/referrers-stats-service.js +1 -1
  469. package/core/server/services/stats/subscription-stats-service.js +3 -3
  470. package/core/server/services/stats/utils/tinybird.js +8 -1
  471. package/core/server/services/stripe/stripe-api.js +3 -3
  472. package/core/server/services/stripe/stripe-migrations.js +6 -6
  473. package/core/server/services/themes/storage.js +21 -26
  474. package/core/server/services/themes/theme-storage.js +2 -2
  475. package/core/server/services/tiers/tier.js +15 -15
  476. package/core/server/services/tinybird-sync/index.js +3 -0
  477. package/core/server/services/tinybird-sync/tinybird-sync-service.js +7 -2
  478. package/core/server/services/update-check/update-check-service.js +3 -3
  479. package/core/server/services/webhooks/serialize.js +1 -1
  480. package/core/server/web/api/app.js +0 -5
  481. package/core/server/web/api/middleware/upload.js +29 -2
  482. package/core/server/web/parent/middleware/index.js +1 -1
  483. package/core/server/web/parent/middleware/log-request.js +5 -0
  484. package/core/server/web/parent/middleware/queue-request.js +104 -59
  485. package/core/server/web/shared/middleware/api/spam-prevention.js +2 -2
  486. package/core/shared/config/defaults.json +6 -1
  487. package/core/shared/custom-theme-settings-cache/custom-theme-settings-service.js +1 -1
  488. package/core/shared/labs.js +3 -2
  489. package/core/shared/settings-cache/cache-manager.js +1 -1
  490. package/nodemon.json +1 -1
  491. package/package.json +6 -7
  492. package/pnpm-lock.yaml +126 -728
  493. package/pnpm-workspace.yaml +4 -7
  494. package/tsconfig.json +1 -1
  495. package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
  496. package/core/built/admin/assets/Combination-DWfJPcz9.js +0 -41
  497. package/core/built/admin/assets/RadialBarChart-CHRBhiBN.js +0 -1
  498. package/core/built/admin/assets/_baseAssignValue-DcPokYW8.js +0 -1
  499. package/core/built/admin/assets/accordion-CJmRaqK7.js +0 -1
  500. package/core/built/admin/assets/account-migration-DYf7skbb.js +0 -1
  501. package/core/built/admin/assets/action-list-Crnh-_UI.js +0 -1
  502. package/core/built/admin/assets/activitypub/avatar-DVJF5bxP.js +0 -261
  503. package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +0 -1
  504. package/core/built/admin/assets/activitypub/routes-DdyY9uFF.js +0 -7181
  505. package/core/built/admin/assets/activitypub/settings-B6EEcVkW.js +0 -315
  506. package/core/built/admin/assets/activitypub/tabs-DLhZtVde.js +0 -1083
  507. package/core/built/admin/assets/activitypub/users-inweyKL5.js +0 -1499
  508. package/core/built/admin/assets/add-newsletter-modal-CTvXiIqY.js +0 -1
  509. package/core/built/admin/assets/analytics-PHR1Fggi.js +0 -1
  510. package/core/built/admin/assets/announcement-bar-modal-Bql0CXdp.js +0 -1
  511. package/core/built/admin/assets/api-keys-CubH-7_H.js +0 -1
  512. package/core/built/admin/assets/automations-DcZSLFDU.js +0 -1
  513. package/core/built/admin/assets/badge-qP06OT7C.js +0 -1
  514. package/core/built/admin/assets/bluesky-sharing-CJw4d4Mf.js +0 -1
  515. package/core/built/admin/assets/box-CZ_LSVSy.js +0 -1
  516. package/core/built/admin/assets/brand-icon-D3ffDYaC.js +0 -1
  517. package/core/built/admin/assets/breadcrumb-Chn1Ip_q.js +0 -1
  518. package/core/built/admin/assets/button-DvIh2Bq-.js +0 -1
  519. package/core/built/admin/assets/calendar-1QGoStFM.js +0 -1
  520. package/core/built/admin/assets/card-FHQ4D10L.js +0 -1
  521. package/core/built/admin/assets/chart-helpers-CNpA7re_.js +0 -1
  522. package/core/built/admin/assets/chart-jVz9Nf9t.js +0 -63
  523. package/core/built/admin/assets/checkbox-DKht9xMl.js +0 -1
  524. package/core/built/admin/assets/chunk.524.cc9be98e44890cedc8c8.js +0 -25
  525. package/core/built/admin/assets/chunk.582.e6fe742b3217207b11a6.js +0 -27
  526. package/core/built/admin/assets/code-editor-view-BLQIV85-.js +0 -1
  527. package/core/built/admin/assets/code-editor-view-Cg5eJxcr.js +0 -1
  528. package/core/built/admin/assets/color-picker-DQoghc0t.js +0 -3
  529. package/core/built/admin/assets/color-picker-field-BbeK5RRs.js +0 -1
  530. package/core/built/admin/assets/combobox-weO4FBbv.js +0 -1
  531. package/core/built/admin/assets/command-DlLrCm9V.js +0 -1
  532. package/core/built/admin/assets/comments-BjTitLmP.js +0 -1
  533. package/core/built/admin/assets/confirmation-context-IyqoXVk-.js +0 -1
  534. package/core/built/admin/assets/container-DAimjOF_.js +0 -1
  535. package/core/built/admin/assets/context-menu-BtioYFrg.js +0 -1
  536. package/core/built/admin/assets/copy-field-C6ujqJlP.js +0 -1
  537. package/core/built/admin/assets/create-ghost-browse-value-source-DAZMWZNq.js +0 -1
  538. package/core/built/admin/assets/custom-integration-modal-Dm8QI_J4.js +0 -1
  539. package/core/built/admin/assets/data-list-C0CKkeWW.js +0 -1
  540. package/core/built/admin/assets/date-range-select-DrjHQdgz.js +0 -1
  541. package/core/built/admin/assets/design-and-theme-modal-CXVOzBWu.js +0 -2
  542. package/core/built/admin/assets/detail-page-QpLIL-EO.js +0 -1
  543. package/core/built/admin/assets/dirty-confirm-dialog-DWwxREGh.js +0 -1
  544. package/core/built/admin/assets/dist-Bf-HQtVL.js +0 -1
  545. package/core/built/admin/assets/dist-CUwte9v_.js +0 -1
  546. package/core/built/admin/assets/dist-FEQQAwTe.js +0 -1
  547. package/core/built/admin/assets/domain-DBrBic6q.js +0 -1
  548. package/core/built/admin/assets/dropzone-D61QVcEY.js +0 -5
  549. package/core/built/admin/assets/edit-profile-jCqJBxqw.js +0 -1
  550. package/core/built/admin/assets/editor-8Fm4UBEd.js +0 -8
  551. package/core/built/admin/assets/editor-screen-BSX_uC2B.js +0 -27
  552. package/core/built/admin/assets/email-sending-status-provider-DnNhlIvt.js +0 -1
  553. package/core/built/admin/assets/embed-signup-form-modal-DqtBs1WE.js +0 -8
  554. package/core/built/admin/assets/empty-indicator-L4Ql5Db7.js +0 -1
  555. package/core/built/admin/assets/en-Cx75dJv5.js +0 -1
  556. package/core/built/admin/assets/explore-DXhDCtKw.js +0 -1
  557. package/core/built/admin/assets/feature-image-placeholder-e2q6TcH6.js +0 -1
  558. package/core/built/admin/assets/feed-mmt4noNL.js +0 -1
  559. package/core/built/admin/assets/field-p7KnP98B.js +0 -1
  560. package/core/built/admin/assets/filter-bar-CiIKBg3D.js +0 -1
  561. package/core/built/admin/assets/filter-sources-I-dRaQxl.js +0 -1
  562. package/core/built/admin/assets/filters-1injvyxJ.js +0 -1
  563. package/core/built/admin/assets/filters-DnpO6GWX.js +0 -1
  564. package/core/built/admin/assets/gift-link-modal-C3H7YFXO.js +0 -1
  565. package/core/built/admin/assets/grid-5vplBYri.js +0 -1
  566. package/core/built/admin/assets/growth-B1og1kQp.js +0 -1
  567. package/core/built/admin/assets/growth-Bf6OHZlK.js +0 -3
  568. package/core/built/admin/assets/heading-BB21QAbb.js +0 -1
  569. package/core/built/admin/assets/history-modal-t_qEnxPx.js +0 -1
  570. package/core/built/admin/assets/html-field-COLQbV4r.js +0 -1
  571. package/core/built/admin/assets/images-4mvoc3lB.js +0 -1
  572. package/core/built/admin/assets/index-B3HZU2i8.css +0 -2
  573. package/core/built/admin/assets/index-DDd-zhNL.js +0 -4
  574. package/core/built/admin/assets/inline-B8H6NzIw.js +0 -1
  575. package/core/built/admin/assets/input-group-CLIN2ykI.js +0 -1
  576. package/core/built/admin/assets/input-surface-wSO5CRy5.js +0 -1
  577. package/core/built/admin/assets/integration-header-CKGrXNVP.js +0 -1
  578. package/core/built/admin/assets/invite-user-modal-BaN2mdhI.js +0 -1
  579. package/core/built/admin/assets/koenig-loader-B1XPPY5C.js +0 -2
  580. package/core/built/admin/assets/kpi-card-CRLPVlFW.js +0 -1
  581. package/core/built/admin/assets/kpi-card-CRPbW8NZ.js +0 -1
  582. package/core/built/admin/assets/kpi-helpers-D7zT96bp.js +0 -1
  583. package/core/built/admin/assets/kpi-tabs-DE_yh9Go.js +0 -1
  584. package/core/built/admin/assets/label-CgeBxy4o.js +0 -1
  585. package/core/built/admin/assets/label-picker-DGDp4Vwr.js +0 -1
  586. package/core/built/admin/assets/layout-DWnOMly4.js +0 -1
  587. package/core/built/admin/assets/lib-_QYaUU89.js +0 -2
  588. package/core/built/admin/assets/link-helpers-8J7ixADV.js +0 -1
  589. package/core/built/admin/assets/list-page-DLMP0PxC.js +0 -1
  590. package/core/built/admin/assets/member-activity-ClMWFyvN.js +0 -1
  591. package/core/built/admin/assets/member-activity-feed-BQY5Rwaj.js +0 -1
  592. package/core/built/admin/assets/member-custom-fields-Dd_ie1zG.js +0 -1
  593. package/core/built/admin/assets/member-detail-DjwkGVne.js +0 -1
  594. package/core/built/admin/assets/members--N9lhk1N.js +0 -4
  595. package/core/built/admin/assets/modal-page-Dz-9TP4E.js +0 -1
  596. package/core/built/admin/assets/moderation-DfYBKq9s.js +0 -1
  597. package/core/built/admin/assets/multi-select-combobox-BcBEzUW_.js +0 -1
  598. package/core/built/admin/assets/navigation-modal-Cd-scywg.js +0 -1
  599. package/core/built/admin/assets/newsletter-detail-modal-CFRY6vg_.js +0 -1
  600. package/core/built/admin/assets/newsletter-emails-4ntck1AC.js +0 -1
  601. package/core/built/admin/assets/newsletter-o6eCJtab.js +0 -1
  602. package/core/built/admin/assets/newsletters-Bmlv0edG.js +0 -1
  603. package/core/built/admin/assets/note-CWs3LF-0.js +0 -1
  604. package/core/built/admin/assets/notifications-BjSvTJqh.js +0 -1
  605. package/core/built/admin/assets/offers-container-modal-Bc9A196w.js +0 -1
  606. package/core/built/admin/assets/onboarding-route-Di1LJYEE.js +0 -1
  607. package/core/built/admin/assets/overview-DE7NHZQN.js +0 -1
  608. package/core/built/admin/assets/overview-DEF-ZY6x.js +0 -1
  609. package/core/built/admin/assets/page-header-B-G_g42C.js +0 -1
  610. package/core/built/admin/assets/pagemenu-CnkTDO71.js +0 -1
  611. package/core/built/admin/assets/pages-route-VT7r7YhG.js +0 -1
  612. package/core/built/admin/assets/portal-frame-D9V8iq5x.js +0 -1
  613. package/core/built/admin/assets/portal-modal-B5OOR9ZD.js +0 -1
  614. package/core/built/admin/assets/post-analytics-header-J0WciLx6.js +0 -1
  615. package/core/built/admin/assets/post-analytics-rGb-PgD-.js +0 -1
  616. package/core/built/admin/assets/post-share-modal-D0BbTo4W.js +0 -1
  617. package/core/built/admin/assets/posts-list-screen-CO5jAWoU.js +0 -2
  618. package/core/built/admin/assets/posts-route-DV-CXWK9.js +0 -1
  619. package/core/built/admin/assets/preferences-Tac29oG6.js +0 -5
  620. package/core/built/admin/assets/preview-chrome-C2lQgZBZ.js +0 -1
  621. package/core/built/admin/assets/preview-modal-CjRbBr8U.js +0 -1
  622. package/core/built/admin/assets/profile-yiM1f_Og.js +0 -1
  623. package/core/built/admin/assets/radio-group-CKROWsw4.js +0 -1
  624. package/core/built/admin/assets/router-provider-CU87qxXw.js +0 -1
  625. package/core/built/admin/assets/select-CKaC4ggu.js +0 -1
  626. package/core/built/admin/assets/settings-81kxUa28.js +0 -1
  627. package/core/built/admin/assets/settings-BVXFqBVK.js +0 -4
  628. package/core/built/admin/assets/settings-breadcrumbs-czGRx-iu.js +0 -1
  629. package/core/built/admin/assets/shade-app-CcS3f8MZ-D5BnfHck.js +0 -3
  630. package/core/built/admin/assets/share-modal-BL-16PiB.js +0 -1
  631. package/core/built/admin/assets/skeleton-DwCva0-b.js +0 -1
  632. package/core/built/admin/assets/sort-button-Dquc83jY.js +0 -1
  633. package/core/built/admin/assets/stack-BURz77VS.js +0 -1
  634. package/core/built/admin/assets/stats-view-NDja_g96.js +0 -1
  635. package/core/built/admin/assets/stripe-button-C3cfCAou.js +0 -1
  636. package/core/built/admin/assets/stripe-connect-modal-FyE3Ey2c.js +0 -1
  637. package/core/built/admin/assets/switch-zfUUy9Jh.js +0 -1
  638. package/core/built/admin/assets/table-dE4GTIRT.js +0 -1
  639. package/core/built/admin/assets/tabs-B3XK93sR.js +0 -1
  640. package/core/built/admin/assets/tag-detail-D4P-tZdM.js +0 -2
  641. package/core/built/admin/assets/tag-picker-BNSZ6Qxw.js +0 -1
  642. package/core/built/admin/assets/tags-BsZcaJ6h.js +0 -1
  643. package/core/built/admin/assets/text-DC-ot6u2.js +0 -1
  644. package/core/built/admin/assets/textarea-B4FffFmE.js +0 -1
  645. package/core/built/admin/assets/tier-detail-modal-a77Z2VMH.js +0 -1
  646. package/core/built/admin/assets/toggle-group-D2p4okmJ.js +0 -1
  647. package/core/built/admin/assets/transistor-modal-C8RMkhOD.js +0 -1
  648. package/core/built/admin/assets/trend-badge-B9v7kMF8.js +0 -1
  649. package/core/built/admin/assets/types-uYQ1HgqL.js +0 -1
  650. package/core/built/admin/assets/use-analytics-data-ChHqiZXv.js +0 -1
  651. package/core/built/admin/assets/use-availability-hPdeG76y.js +0 -1
  652. package/core/built/admin/assets/use-filter-params-BSFigDIn.js +0 -1
  653. package/core/built/admin/assets/use-growth-stats-CqqdnESN.js +0 -1
  654. package/core/built/admin/assets/use-limiter-DBGjYqu7.js +0 -19
  655. package/core/built/admin/assets/use-reply-chain-data-DmD2yX5D.js +0 -1
  656. package/core/built/admin/assets/use-sending-eta-CQeG6OP_.js +0 -1
  657. package/core/built/admin/assets/use-setting-group-Dza6bQ7W.js +0 -1
  658. package/core/built/admin/assets/use-settings-navigation-BIjI5mL3.js +0 -1
  659. package/core/built/admin/assets/use-simple-pagination-DwVxe-Lo.js +0 -1
  660. package/core/built/admin/assets/use-staff-users-i_Mq9OGR.js +0 -1
  661. package/core/built/admin/assets/use-tinybird-query-DXoF74NM.js +0 -1
  662. package/core/built/admin/assets/user-detail-modal-BU4QCHE7.js +0 -1
  663. package/core/built/admin/assets/virtual-list-DScLNuU8.js +0 -1
  664. package/core/built/admin/assets/web-BZS-t4H0.js +0 -1
  665. package/core/built/admin/assets/web-DxAUxnK3.js +0 -2
  666. package/core/frontend/services/sitemap/utils.js +0 -17
  667. package/core/server/services/automations/get-scheduler-idempotency-key.js +0 -13
  668. package/core/server/web/api/testmode/index.js +0 -1
  669. package/core/server/web/api/testmode/jobs/cpu-hog.js +0 -15
  670. package/core/server/web/api/testmode/jobs/graceful-job.js +0 -50
  671. package/core/server/web/api/testmode/jobs/say-hello.js +0 -17
  672. package/core/server/web/api/testmode/routes.js +0 -120
@@ -1 +0,0 @@
1
- import{s as e,t}from"./react-BXwhMTuc.js";import{o as n,p as r}from"./hooks-DYfTEQLk.js";import{t as i}from"./jsx-runtime-BlNNh7jY.js";import{n as a,o,r as s,t as c}from"./pagemenu-CnkTDO71.js";import{c as l}from"./posts-tcoO3iRG.js";import{t as u}from"./analytics-53FOa2wq.js";import{n as d,r as f}from"./post-helpers-C88JBa4D.js";import{a as ee}from"./router-provider-CU87qxXw.js";import{f as p,l as m,m as h,u as g}from"./dist-BXHrDV19.js";import{t as _}from"./box-CZ_LSVSy.js";import{t as v}from"./grid-5vplBYri.js";import{t as y}from"./text-DC-ot6u2.js";import{t as b}from"./heading-BB21QAbb.js";import{E as te,Nn as ne,Pn as re,Tr as x,X as ie,a as S,t as C,xt as ae}from"./button-DvIh2Bq-.js";import{a as oe,i as se,n as w,o as ce,r as le,t as ue}from"./breadcrumb-Chn1Ip_q.js";import{r as T}from"./users-C60_hpn6.js";import{$n as de,Ar as fe,Ci as pe,Cr as E,E as me,Gn as D,Or as he,Qn as ge,Sr as _e,ar as ve,br as ye,er as be,ir as xe,nr as Se,rr as Ce,tr as we,vi as O,wr as k}from"./index-DDd-zhNL.js";import{t as Te}from"./use-analytics-data-ChHqiZXv.js";import{t as Ee}from"./get-site-timezone-HgL0jI_F.js";import{t as De}from"./post-share-modal-D0BbTo4W.js";import{n as A}from"./email-sending-status-context-C76KYL1V.js";import{n as j}from"./post-analytics-context-bt2YTBAC.js";import{i as Oe,t as ke}from"./gift-link-modal-C3H7YFXO.js";import{n as M,t as N}from"./use-sending-eta-CQeG6OP_.js";var P=e(t(),1),F=i(),I=(0,P.forwardRef)(({children:e,className:t,...n},r)=>(0,F.jsx)(`section`,{ref:r,className:m(`flex size-full grow flex-col gap-6 py-8`,t),...n,children:e}));I.displayName=`PostAnalyticsContent`;var L=`email-sending-fill-clip`,R=()=>(0,F.jsxs)(`svg`,{"aria-hidden":`true`,fill:`none`,height:`12`,viewBox:`0 0 12 12`,width:`12`,children:[(0,F.jsx)(`clipPath`,{id:L,children:(0,F.jsx)(`circle`,{cx:`6`,cy:`6`,r:`5.1`})}),(0,F.jsx)(`circle`,{cx:`6`,cy:`6`,fill:`currentColor`,r:`4.8`}),(0,F.jsx)(`g`,{clipPath:`url(#${L})`,children:(0,F.jsx)(`rect`,{className:`animate-email-sending-fill-rise fill-muted-foreground motion-reduce:translate-y-1/2 motion-reduce:animate-none`,height:`12`,width:`12`,x:`0`,y:`0`})})]}),z=({sending:e})=>e.status===`preparing`?(0,F.jsx)(`span`,{className:`relative flex size-4 shrink-0 items-center justify-center overflow-hidden rounded-full bg-muted-foreground text-white ring-1 ring-muted-foreground ring-offset-1 ring-offset-background`,children:(0,F.jsx)(R,{})}):e.status===`failed`?(0,F.jsx)(`span`,{className:`relative flex size-4 shrink-0 items-center justify-center overflow-hidden rounded-full bg-state-danger text-white ring-1 ring-state-danger ring-offset-1 ring-offset-background`,children:(0,F.jsx)(S,{"aria-hidden":`true`,size:12,strokeWidth:2.5})}):(0,F.jsx)(`span`,{className:`relative flex size-4 shrink-0 items-center justify-center overflow-hidden rounded-full bg-state-info text-white ring-1 ring-state-info ring-offset-1 ring-offset-background`,children:(0,F.jsx)(`span`,{className:`animate-email-sending-arrow-rise motion-reduce:animate-none`,children:(0,F.jsx)(x,{"aria-hidden":`true`,size:12,strokeWidth:2.5})})}),B=e=>{let{completed:t,total:n}=e.progress;return n===0?null:e.status===`preparing`?`${h(Math.min(100,Math.floor(t/n*100)))}% complete · ${h(n)} total`:M(e,null).detail},V=(e,t)=>{let{completed:n,total:r}=e.progress,i=e.failed_during===`submitting`?n:0,a=i>0?`${h(i)} of ${h(r)} emails were sent.`:r>0?`None of the ${h(r)} emails were sent.`:`No emails were sent.`;return t?`${a} ${t}`:a},Ae=()=>{let{post:e}=j(),{status:t,isNewsletterDataHidden:n,hasUnknownDeliveryOutcome:r,isRetrying:i,retrySending:a}=A(),o=t?.sending,s=N(t);if(!o||o.status===`submitted`&&!n)return null;let c=o.status===`failed`,l=c?!r&&o.failed_during===`submitting`&&o.progress.completed>0:!1,u,d;o.status===`failed`?(u=l?`Some emails failed to send`:`Emails failed to send`,d=r?e?.email?.error||`Something went wrong while sending this email.`:V(o,e?.email?.error)):(u=M(o,null).title,d=B(o));let f=l?`Send remaining emails`:`Retry sending email`;return(0,F.jsx)(D,{className:`bg-surface-elevated shadow-none hover:shadow-none`,"data-testid":`email-sending-status-banner`,role:c?`alert`:`status`,size:`lg`,children:(0,F.jsxs)(v,{align:`center`,className:m(`grid-cols-[auto_minmax(0,1fr)] gap-y-0 lg:grid-cols-[auto_auto_minmax(0,1fr)_auto]`,c&&!r&&`grid-cols-[auto_minmax(0,1fr)_auto]`),gap:`md`,children:[(0,F.jsx)(_,{className:`row-span-2 lg:row-span-1`,children:(0,F.jsx)(z,{sending:o})}),(0,F.jsx)(y,{as:`strong`,className:`text-base`,weight:`semibold`,children:u}),(0,F.jsxs)(y,{className:`col-start-2 min-w-0 tabular-nums lg:contents`,size:`sm`,tone:`secondary`,children:[(0,F.jsx)(y,{as:`span`,size:`sm`,tone:`secondary`,children:d}),!c&&s&&(0,F.jsxs)(y,{as:`span`,className:`whitespace-nowrap`,size:`sm`,tone:`secondary`,children:[d&&(0,F.jsx)(`span`,{className:`lg:hidden`,children:` · `}),s]})]}),c&&!r&&(0,F.jsx)(C,{className:`col-start-3 row-span-2 row-start-1 lg:col-start-4 lg:row-span-1`,disabled:i,size:`sm`,variant:`outline`,onClick:()=>void a(),children:i?`Sending…`:f})]})})},H=e=>{let{data:t}=n();return!e||!t?!1:e.status===`published`&&!!e.visibility&&e.visibility!==`public`&&T(t)},U=({currentTab:e,children:t})=>{let n=ee(),i=pe(),m=O(),{mutateAsync:_}=l(),v=r(),[y,x]=(0,P.useState)(!1),[S,T]=(0,P.useState)(!1),[D,M]=(0,P.useState)(!1),{settings:N,site:I,statsConfig:L}=Te(),{post:R,isPostLoading:z,postId:B}=j(),{hasNewsletterAnalytics:V,status:U}=A(),W=H(R),G=`/editor/post/${B}`,je=me(G),K=Ee(N),q=R?.status===`published`,J=U?.sending.status===`failed`,Y=q&&(!V||J),Me=q&&V&&!J,X=(0,P.useRef)(!1);(0,P.useEffect)(()=>{if(!S){X.current=!1;return}X.current||(X.current=!0,u(`Share Modal Opened`,{giftLinkShown:W,source:`post-analytics`}))},[S,W]);let{activeVisitors:Z,isLoading:Q}=o({postUuid:R?.uuid,statsConfig:L,enabled:i}),$=(0,P.useMemo)(()=>{if(!R)return[];let e=[];return f(R)&&!i||(e.push(`Overview`),!R.email_only&&i&&e.push(`Web`)),V&&e.push(`Newsletter`),m&&e.push(`Growth`),e},[R,i,m,V]),Ne=()=>{R&&x(!0)},Pe=async()=>{if(R)try{await _({id:B}),x(!1),n(`/posts/`,{crossApp:!0})}catch(e){v(e)}};return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`header`,{className:`z-50 -mx-(--page-gutter) bg-white/70 backdrop-blur-md dark:bg-background`,children:(0,F.jsx)(`div`,{className:`relative flex min-h-[102px] w-full items-start justify-between gap-5 px-(--page-gutter) pt-[28px]! pb-0`,"data-header":`header`,children:(0,F.jsxs)(`div`,{className:`flex w-full flex-col gap-6`,children:[(0,F.jsxs)(`div`,{className:`flex w-full flex-col flex-wrap justify-between md:flex-row md:items-center`,children:[(0,F.jsx)(ue,{children:(0,F.jsxs)(se,{children:[(0,F.jsx)(w,{children:(0,F.jsx)(le,{asChild:!0,children:(0,F.jsx)(`button`,{className:`cursor-pointer rounded-sm focus-visible:ring-1 focus-visible:ring-focus-ring focus-visible:outline-hidden`,type:`button`,onClick:()=>n(`/analytics/`),children:`Analytics`})})}),(0,F.jsx)(ce,{}),(0,F.jsx)(w,{children:(0,F.jsx)(oe,{children:`Post analytics`})})]})}),(0,F.jsxs)(`div`,{className:`flex w-full items-center gap-2 md:w-auto`,children:[i&&!R?.email_only&&(0,F.jsx)(`div`,{className:`mr-3 flex grow items-center gap-2 md:grow-0`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,title:`Active readers in the last 5 minutes · Updates every 60 seconds`,children:[(0,F.jsxs)(`span`,{children:[Q?``:h(Z),` reading now`]}),(0,F.jsx)(`div`,{className:`size-2 rounded-full ${Q?`animate-pulse bg-muted`:Z?`bg-green-500`:`border border-muted-foreground`}`})]})}),!z&&(0,F.jsxs)(F.Fragment,{children:[!R?.email_only&&(0,F.jsx)(De,{author:R?.authors?.[0]?.name||``,canShareAsGift:W,description:``,faviconURL:I?.icon||``,featureImageURL:R?.feature_image??void 0,giftAccessLabel:Oe(R?.visibility),open:S,postExcerpt:R?.excerpt||``,postTitle:R?.title,postURL:R?.url,siteTitle:I?.title||``,onClose:()=>T(!1),onOpenChange:T,onShareAsGift:()=>{T(!1),M(!0)},children:(0,F.jsxs)(C,{variant:`outline`,onClick:()=>T(!0),children:[(0,F.jsx)(ie,{}),` Share`]})}),(0,F.jsxs)(ye,{children:[(0,F.jsx)(fe,{asChild:!0,children:(0,F.jsx)(C,{variant:`outline`,children:(0,F.jsx)(re,{})})}),(0,F.jsxs)(_e,{align:`end`,children:[(0,F.jsxs)(E,{children:[(0,F.jsx)(k,{asChild:!0,children:(0,F.jsxs)(`a`,{href:R?.url,rel:`noopener noreferrer`,target:`_blank`,children:[(0,F.jsx)(ne,{}),`View in browser`]})}),(0,F.jsxs)(k,{onClick:()=>{n(G,{crossApp:je})},children:[(0,F.jsx)(ae,{}),`Edit post`]})]}),(0,F.jsx)(he,{}),(0,F.jsx)(E,{children:(0,F.jsxs)(k,{className:`text-destructive focus:text-destructive`,onClick:Ne,children:[(0,F.jsx)(te,{}),`Delete post`]})})]})]})]})]})]}),!z&&(0,F.jsxs)(`div`,{className:`flex items-start gap-6 md:items-center`,children:[R?.feature_image&&(0,F.jsx)(`div`,{className:`aspect-[16/10] w-full max-w-[100px] rounded-md bg-cover bg-center md:max-w-[132px]`,style:{backgroundImage:`url(${R.feature_image})`}}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(b,{className:`-ml-px max-w-[920px] indent-0 !text-xl md:leading-[1.2em]`,"data-header":`header-title`,children:R?.title}),R?.published_at&&(0,F.jsxs)(`div`,{className:`mt-0.5 flex items-center justify-start leading-[1.65em] text-muted-foreground`,children:[d(R)&&`Sent on ${g(R.published_at,K)} at ${p(R.published_at,K)}`,Y&&`Published on your site on ${g(R.published_at,K)} at ${p(R.published_at,K)}`,Me&&`Published and sent on ${g(R.published_at,K)} at ${p(R.published_at,K)}`]})]})]}),(0,F.jsx)(Ae,{})]})})}),(0,F.jsxs)(s,{className:`sticky top-0 z-50 -mb-8 transform-gpu flex-col items-start gap-y-0 border-none bg-white/70 py-8 backdrop-blur-md lg:flex-row lg:items-center dark:bg-background`,children:[!z&&(0,F.jsxs)(c,{className:`min-h-[34px]`,defaultValue:e,responsive:!0,children:[$.includes(`Overview`)&&(0,F.jsx)(a,{value:`Overview`,onClick:()=>{n(`/posts/analytics/${B}`)},children:`Overview`}),$.includes(`Web`)&&(0,F.jsx)(a,{value:`Web`,onClick:()=>{n(`/posts/analytics/${B}/web`)},children:`Web traffic`}),$.includes(`Newsletter`)&&(0,F.jsx)(a,{value:`Newsletter`,onClick:()=>{n(`/posts/analytics/${B}/newsletter`)},children:`Newsletter`}),$.includes(`Growth`)&&(0,F.jsx)(a,{value:`Growth`,onClick:()=>{n(`/posts/analytics/${B}/growth`)},children:`Growth`})]}),t]}),W&&B&&(0,F.jsx)(ke,{open:D,postId:B,source:`share-modal`,onOpenChange:M},B),(0,F.jsx)(ge,{open:y,onOpenChange:x,children:(0,F.jsxs)(we,{children:[(0,F.jsxs)(xe,{children:[(0,F.jsx)(ve,{children:`Are you sure you want to delete this post?`}),(0,F.jsxs)(Se,{children:[`You're about to delete "`,(0,F.jsx)(`strong`,{children:R?.title}),`". This is permanent! We warned you, k?`]})]}),(0,F.jsxs)(Ce,{children:[(0,F.jsx)(be,{children:`Cancel`}),(0,F.jsx)(de,{className:`bg-red-600 text-white hover:bg-red-700`,onClick:()=>void Pe(),children:`Delete`})]})]})})]})};export{H as n,I as r,U as t};
@@ -1 +0,0 @@
1
- import{s as e,t}from"./react-BXwhMTuc.js";import{t as n}from"./jsx-runtime-BlNNh7jY.js";import{r}from"./posts-tcoO3iRG.js";import{t as i}from"./analytics-53FOa2wq.js";import{i as a}from"./chunk-KS7C4IRE-DhOcHQOU.js";import{m as o}from"./dist-BXHrDV19.js";import{t as s}from"./box-CZ_LSVSy.js";import{t as c}from"./container-DAimjOF_.js";import{t as l}from"./index-DDd-zhNL.js";import{t as u}from"./use-analytics-data-ChHqiZXv.js";import{t as d}from"./post-share-modal-D0BbTo4W.js";var f=e(t(),1),p=n(),m=({children:e})=>(0,p.jsx)(s,{className:`size-full`,children:(0,p.jsx)(c,{className:`relative flex h-full flex-col`,size:`page`,children:(0,p.jsx)(`div`,{className:`grid w-full grow grid-cols-[minmax(0,1fr)]`,children:(0,p.jsx)(`div`,{className:`flex h-full flex-col px-(--page-gutter)`,children:e})})})}),h=()=>{let[e,t]=(0,f.useState)(!1),[n,i]=(0,f.useState)(null),[a,s]=(0,f.useState)(null),{site:c}=u(),d=l(`improveSendingUI`),{data:p}=r({searchParams:n?{filter:`id:${n.id}`,include:`authors,newsletter,email`}:{},enabled:!!n}),{data:m}=r({searchParams:{filter:`status:[published,sent]`,limit:`1`,fields:`id`},enabled:!!n}),h=p?.posts?.[0],g=e=>`${o(e)} subscriber${e===1?``:`s`}`,_=e=>new Date(e).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),v=e=>e?.map(e=>e.name).join(`, `)||``,y=(0,f.useMemo)(()=>{if(!h)return null;let n=!!a,r=d&&h.email?.status!==`submitted`,l=()=>{let e=[];if(h.email_only?e.push(r?`Your email is being sent to`:`Your email was sent to`):h.email?.email_count?e.push(r?`Your post was published on your site and is being sent to`:`Your post was published on your site and sent to`):e.push(`Your post was published on your site`),h.email?.email_count){let t=g(h.email.email_count);e.push(` `),e.push(f.createElement(`strong`,{key:`subscriber-count`},t)),h.newsletter?.name&&(e.push(` of `),e.push(f.createElement(`strong`,{key:`newsletter-name`},h.newsletter.name))),e.push(`,`)}if(h.published_at){let t=new Date(h.published_at);t.toDateString()===new Date().toDateString()?(e.push(` `),e.push(f.createElement(`strong`,{key:`today`},`today`))):(e.push(` on `),e.push(f.createElement(`strong`,{key:`date`},t.toLocaleDateString(`en-US`,{month:`long`,day:`numeric`})))),e.push(` at `),e.push(f.createElement(`strong`,{key:`time`},_(h.published_at)))}return e.push(`.`),f.createElement(`span`,{},...e)},u=()=>{t(!1),i(null),s(null)};return{open:e,onOpenChange:e=>{e||u()},emailOnly:h.email_only,postURL:h.url||``,primaryTitle:`Boom! It's out there.`,secondaryTitle:n&&a?`That's ${o(a)} post${a===1?``:`s`} published.`:`Spread the word!`,description:l(),featureImageURL:h.feature_image||``,postTitle:h.title||``,postExcerpt:h.excerpt||``,faviconURL:c?.icon||``,siteTitle:c?.title||``,author:v(h.authors),onClose:u}},[h,e,a,c?.title,d]);return(0,f.useEffect)(()=>{let e=()=>{try{let e=localStorage.getItem(`ghost-last-published-post`);if(e){let n=JSON.parse(e);i(n),t(!0),localStorage.removeItem(`ghost-last-published-post`)}}catch{}};e();let n=setTimeout(e,100);return()=>clearTimeout(n)},[]),(0,f.useEffect)(()=>{m?.meta?.pagination?.total&&s(m.meta.pagination.total)},[m]),{isModalOpen:e,post:h,postCount:a,showPostCount:!!a,closeModal:()=>{t(!1),i(null),s(null)},modalProps:y}},g=()=>{let{isModalOpen:e,modalProps:t}=h(),n=e&&!!t;return(0,f.useEffect)(()=>{n&&i(`Share Modal Opened`,{giftLinkShown:!1,source:`publish-flow`})},[n]),(0,p.jsxs)(m,{children:[(0,p.jsx)(a,{}),e&&t&&(0,p.jsx)(d,{...t})]})};export{g as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./react-BXwhMTuc.js";import{t}from"./jsx-runtime-BlNNh7jY.js";import{r as n}from"./heading-BB21QAbb.js";import{t as r}from"./button-DvIh2Bq-.js";import{t as i}from"./share-modal-BL-16PiB.js";e();var a=t(),o=({author:e=``,canShareAsGift:t=!1,children:o,description:s=``,emailOnly:c=!1,faviconURL:l=``,featureImageURL:u=``,giftAccessLabel:d=``,onClose:f=()=>{},onShareAsGift:p=()=>{},postExcerpt:m=``,postTitle:h=``,postURL:g=``,primaryTitle:_=`Your post is published.`,secondaryTitle:v=`Spread the word!`,siteTitle:y=``,...b})=>{let x=encodeURIComponent(h),S=encodeURIComponent(g),C=encodeURIComponent(`${h} ${g}`),w=c?[]:[{href:`https://twitter.com/intent/tweet?text=${x}%0A${S}`,label:`Share on X`,service:`x`},{href:`https://threads.net/intent/post?text=${C}`,label:`Share on Threads`,service:`threads`},{href:`https://www.facebook.com/sharer/sharer.php?u=${S}`,label:`Share on Facebook`,service:`facebook`},{href:`https://www.linkedin.com/shareArticle?mini=true&title=${x}&url=${S}`,label:`Share on LinkedIn`,service:`linkedin`},{href:`https://bsky.app/intent/compose?text=${C}`,label:`Share on Bluesky`,service:`bluesky`}];return(0,a.jsxs)(i.Root,{...b,children:[o&&(0,a.jsx)(i.Trigger,{children:o}),(0,a.jsxs)(i.Content,{children:[(0,a.jsx)(`div`,{className:`sticky top-0 ml-auto size-0`,children:(0,a.jsx)(i.CloseButton,{className:`absolute -top-5 -right-5`,onClick:f})}),(0,a.jsxs)(i.Header,{className:`relative -mt-5`,children:[(0,a.jsxs)(i.Title,{className:`text-3xl leading-[1.15em] font-bold`,children:[_&&(0,a.jsx)(`span`,{className:`text-state-success`,children:_}),_&&v&&(0,a.jsx)(`br`,{}),v&&(0,a.jsx)(`span`,{children:v})]}),s&&(0,a.jsx)(i.Description,{className:`mb-0 pt-1 pb-0 text-lg text-foreground`,children:s})]}),(0,a.jsxs)(i.Preview,{className:`rounded-md`,href:g,children:[u&&(0,a.jsx)(`div`,{className:`aspect-video bg-cover bg-center`,style:{backgroundImage:`url(${u})`}}),(0,a.jsxs)(`div`,{className:`p-6 pt-5`,children:[(0,a.jsx)(n,{children:h}),m&&(0,a.jsx)(`p`,{className:`line-clamp-2`,children:m}),(0,a.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[(0,a.jsx)(`div`,{className:`mt-0.5 size-4 bg-cover bg-center`,style:{backgroundImage:`url(${l})`}}),(0,a.jsxs)(`div`,{className:`flex gap-1`,children:[(0,a.jsx)(`strong`,{children:y}),(0,a.jsx)(`span`,{children:`•`}),(0,a.jsx)(`span`,{children:e})]})]})]})]}),(0,a.jsx)(i.Footer,{children:c?(0,a.jsx)(r,{className:`cursor-pointer`,type:`button`,onClick:f,children:`Close`}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.SocialLinks,{links:w}),(0,a.jsx)(i.CopyButton,{className:`ml-0! grow cursor-pointer`,copyURL:g,icon:`link`})]})}),t&&!c&&(0,a.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[`Want to share full access to this `,d,` post?`,` `,(0,a.jsx)(r,{className:`h-auto p-0 align-baseline text-sm`,type:`button`,variant:`link`,onClick:p,children:`Share as a gift`}),`.`]})]})]})};export{o as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./gift-link-modal-C3H7YFXO.js","./react-BXwhMTuc.js","./hooks-DYfTEQLk.js","./framework-provider-DB-svAju.js","./jsx-runtime-BlNNh7jY.js","./dist-DziNzWI2.js","./react-dom-CMOtJ5MH.js","./use-tinybird-query-DXoF74NM.js","./use-tinybird-token-Lk1RSn0t.js","./index-DDd-zhNL.js","./config-BPljH6wF.js","./preload-helper-DYl5dUZ5.js","./chunk-KS7C4IRE-DhOcHQOU.js","./router-provider-CU87qxXw.js","./feature-flag-overrides-context-CrcQKm9Z.js","./dist-BXHrDV19.js","./text-DC-ot6u2.js","./heading-BB21QAbb.js","./lazy-component-COKiVB72.js","./shade-app-CcS3f8MZ-D5BnfHck.js","./dist-FEQQAwTe.js","./overlay-escape-C7XYQuvP.js","./button-DvIh2Bq-.js","./dist-CUwte9v_.js","./Combination-DWfJPcz9.js","./dist-Bf-HQtVL.js","./input-surface-wSO5CRy5.js","./skeleton-DwCva0-b.js","./accordion-CJmRaqK7.js","./badge-qP06OT7C.js","./use-navigate-with-base-path-88EQpw2k.js","./onboarding-DV_XbHts.js","./users-C60_hpn6.js","./update-queries-C4CnvJaW.js","./onboarding-B4hfBi9a.js","./schemas-BoYdB6YU.js","./themes-DtcEFQWm.js","./index-B3HZU2i8.css","./posts-tcoO3iRG.js","./analytics-53FOa2wq.js","./share-modal-BL-16PiB.js","./pages-DZ_YGB1D.js","./gift-links-D8gl_yJS.js"])))=>i.map(i=>d[i]);
2
- import{s as e,t}from"./react-BXwhMTuc.js";import{_ as n,s as r}from"./framework-provider-DB-svAju.js";import{o as i,p as a}from"./hooks-DYfTEQLk.js";import{t as o}from"./jsx-runtime-BlNNh7jY.js";import{n as s}from"./dist-DziNzWI2.js";import{a as c,i as l,o as u,r as d,s as f,t as p}from"./posts-tcoO3iRG.js";import{t as m}from"./preload-helper-DYl5dUZ5.js";import{_ as h,u as g}from"./chunk-KS7C4IRE-DhOcHQOU.js";import{a as _}from"./router-provider-CU87qxXw.js";import{l as v,m as y}from"./dist-BXHrDV19.js";import{t as ee}from"./box-CZ_LSVSy.js";import{t as te}from"./container-DAimjOF_.js";import{t as b}from"./inline-B8H6NzIw.js";import{t as x}from"./stack-BURz77VS.js";import{t as S}from"./text-DC-ot6u2.js";import{$t as C,At as w,D as T,Dr as E,Er as D,H as ne,I as O,On as k,St as A,V as re,Yt as ie,b as ae,c as oe,dr as se,et as j,ft as ce,g as M,nn as le,nr as N,rn as P,sr as ue,t as F,tn as de,tt as I,u as fe,vn as pe,xt as me,yn as L,zn as he}from"./button-DvIh2Bq-.js";import{i as R,n as z,o as B,s as ge,t as _e}from"./select-CKaC4ggu.js";import{t as ve}from"./checkbox-DKht9xMl.js";import{a as ye,i as be,n as xe,r as Se,t as Ce}from"./context-menu-BtioYFrg.js";import{t as we}from"./empty-indicator-L4Ql5Db7.js";import{c as Te,f as Ee,l as De,o as Oe,u as ke}from"./users-C60_hpn6.js";import{$n as Ae,A as V,Ar as je,Bn as Me,Dr as Ne,Er as Pe,Hn as Fe,L as Ie,Qn as Le,R as Re,Sr as ze,Vn as Be,Xn as Ve,Zn as He,_r as Ue,ar as We,br as Ge,dr as Ke,er as qe,fr as Je,gr as Ye,hi as Xe,hr as Ze,ir as Qe,j as $e,li as H,lt as et,mr as tt,n as nt,nr as rt,pi as U,r as it,rr as at,si as ot,sr as st,t as ct,tr as lt,ur as ut,vr as dt}from"./index-DDd-zhNL.js";import{c as ft,d as pt}from"./stats-Cvp8Ep5m.js";import{t as W}from"./page-header-B-G_g42C.js";import{t as mt}from"./filter-bar-CiIKBg3D.js";import{i as ht}from"./filters-1injvyxJ.js";import{a as gt}from"./tiers-6mPzCXlM.js";import{t as _t}from"./post-share-modal-D0BbTo4W.js";import{t as vt}from"./feature-image-placeholder-e2q6TcH6.js";import{t as yt}from"./list-page-DLMP0PxC.js";import{n as bt,t as xt}from"./create-ghost-browse-value-source-DAZMWZNq.js";import{a as St,i as Ct,o as wt,r as Tt,s as Et}from"./pages-DZ_YGB1D.js";import{t as Dt}from"./virtual-list-DScLNuU8.js";import{c as Ot,s as kt,t as At}from"./tag-picker-BNSZ6Qxw.js";import{n as jt}from"./tags-NwZ7BPK6.js";import{t as Mt}from"./use-email-sending-status-DNMtL5B9.js";import{n as Nt,t as Pt}from"./use-sending-eta-CQeG6OP_.js";import{t as Ft}from"./nql-DnDc7UuU.js";var It={deleted:{single:`{Type} deleted`,multiple:`{count} {type}s deleted`},unpublished:{single:`{Type} reverted to a draft`,multiple:`{count} {type}s reverted to drafts`},unscheduled:{single:`{Type} unscheduled`,multiple:`{count} {type}s unscheduled`},accessUpdated:{single:`{Type} access updated`,multiple:`{Type} access updated for {count} {type}s`},tagsAdded:{single:`Tags added`,multiple:`Tags added to {count} {type}s`},tagAdded:{single:`Tag added`,multiple:`Tag added to {count} {type}s`},duplicated:{single:`{Type} duplicated`,multiple:`{count} {type}s duplicated`},copiedPostUrl:{single:`Post link copied`},copiedPreviewUrl:{single:`Preview link copied`}};function G(e,{count:t,resource:n,isSingle:r=t===1}){let i=It[e],a=(r?i.single:i.multiple)??i.single,o=n===`pages`?`page`:`post`;return a.replace(/\{Type\}/g,o.charAt(0).toUpperCase()+o.slice(1)).replace(/\{type\}/g,o).replace(/\{count\}/g,String(t))}function Lt(e,t){return e.uuid?`${t.replace(/\/$/,``)}/p/${e.uuid}/`:``}var K=e(t(),1),Rt=new Set([`copy-link`,`copy-preview`,`duplicate`,`gift-link`,`delete`,`unpublish`,`unschedule`,`feature`,`unfeature`,`add-tag`,`change-access`]);function zt({resource:e,posts:t,onShareAsGift:n,count:i,onBulkAction:a,selectionFilter:o,bucketFilters:c,isSingle:l,inverted:u}){let{data:d}=et(),p=d?.site.url??``,m=f(),h=Et(),g=r();return(0,K.useCallback)(async r=>{let d=t[0];if(!d)return;let f=t=>{s.success(G(t,{count:i,resource:e,isSingle:l}))};try{switch(r){case`copy-link`:await navigator.clipboard.writeText(d.url),f(`copiedPostUrl`);break;case`copy-preview`:await navigator.clipboard.writeText(Lt(d,p)),f(`copiedPreviewUrl`);break;case`duplicate`:{e===`pages`?await h.mutateAsync(d.id):await m.mutateAsync(d.id);let t=e===`pages`?`PagesResponseType`:`PostsResponseType`;g.invalidateQueries({queryKey:[t]}),f(`duplicated`);break}case`gift-link`:n?.(d.id);break;default:a?.(r,{filter:o,posts:t,count:i,bucketFilters:c,isSingle:l,inverted:u});break}}catch(t){s.error(t instanceof Error&&t.message?t.message:`Could not complete that action on this ${e===`pages`?`page`:`post`}.`)}},[t,e,p,m,h,g,n,i,a,o,c,l,u])}var q=o(),Bt={"copy-link":P,"copy-preview":P,"gift-link":L,unpublish:ae,unschedule:se,feature:re,unfeature:ne,"add-tag":O,"change-access":C,duplicate:he,delete:T};function Vt({children:e,getItems:t,showGiftLink:n,enabled:r,onOpenChange:i,onAction:a}){if(!r)return(0,q.jsx)(q.Fragment,{children:e});let o=n?t():t().filter(e=>e.key!==`gift-link`);return(0,q.jsxs)(Ce,{onOpenChange:i,children:[(0,q.jsx)(ye,{asChild:!0,children:e}),(0,q.jsx)(xe,{children:o.map((e,t)=>{let n=Bt[e.key];return(0,q.jsxs)(K.Fragment,{children:[t>0&&(e.separated||o[t-1].key===`gift-link`)&&(0,q.jsx)(be,{}),(0,q.jsxs)(Se,{"data-testid":`post-menu-${e.key}`,disabled:!Rt.has(e.key),variant:e.destructive?`destructive`:void 0,onSelect:()=>{a(e.key)},children:[(0,q.jsx)(n,{}),e.label]})]},e.key)})})]})}function Ht(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Ut(e,t){return t===1?e:`${e}s`}function Wt(e,t){let n=RegExp(`${t}s:\\[(.*?)\\]`).exec(e);if(n)return n[1].split(`,`);let r=[...e.matchAll(RegExp(`${t}:(.*?)(?:,|$)`,`g`))].map(([,e])=>e).filter(Boolean);return r.length?r:null}function Gt(e=``){let t=e.split(`,`);if(t.includes(`status:free`)&&t.includes(`status:-free`))return`All subscribers`;let n=[];t.includes(`status:free`)?n.push(`Free subscribers`):t.includes(`status:-free`)&&n.push(`Paid subscribers`);let r=Wt(e,`label`);r&&n.push(`${Ut(`Label`,r.length)}: ${r.map(Ht).join(`, `)}`);let i=Wt(e,`product`);return i&&n.push(`${Ut(`Product`,i.length)}: ${i.map(Ht).join(`, `)}`),n.length?n.join(` & `):e}function J(e){return e.status??`draft`}function Kt(e,t=`posts`){let n=J(e);return t===`posts`&&(n===`published`||n===`sent`)&&e.email?.status===`failed`}function qt(e){return e.email?.status===`failed`}function Jt(e,t=`posts`){let n=J(e);return t===`posts`&&(n===`published`||n===`sent`)&&!!e.email&&!qt(e)}function Yt(e){return(e.authors??[]).map(e=>e.name||e.email).filter(Boolean).join(`, `)}function Xt(e){let t=J(e);return t===`draft`||t===`scheduled`?`updated_at`:`published_at`}function Zt(e){return(Xt(e)===`updated_at`?e.updated_at:e.published_at)??void 0}function Qt(e){let t=Yt(e);return{byline:t?`By ${t}`:null,primaryTagName:e.primary_tag?.name??null}}function $t(e,{timezone:t,now:n}={}){let{byline:r,primaryTagName:i}=Qt(e),a=Zt(e);return[r,i?`in ${i}`:null,a?Ot(a,{timezone:t,absolute:!0,short:!0,now:n}):null].filter(e=>!!e)}function en(e,{timezone:t,now:n}={}){let r=Zt(e);if(r)return`${Xt(e)===`updated_at`?`Updated`:`Published`} ${Ot(r,{timezone:t,absolute:!0,now:n})}`}function tn(e,t=`posts`){switch(J(e)){case`scheduled`:return`Scheduled`;case`published`:return Kt(e,t)?`Published but failed to send newsletter`:Jt(e,t)?`Published and sent`:`Published`;case`sent`:return Kt(e,t)?`Failed to send newsletter`:`Sent`;default:return`Draft`}}function nn(e,{timezone:t,now:n,resource:r=`posts`}={}){if(J(e)===`scheduled`){let r=Ot(e.published_at,{timezone:t,scheduled:!0,now:n}),i=e.email_segment?`to ${Gt(e.email_segment)}`:null;return[e.email_only?`to be sent`:`to be published${e.newsletter?` and sent`:``}`,r,e.email_only||e.newsletter?i:null].filter(Boolean).join(` `)}if(Jt(e,r)){let t=e.email?.email_count??0;return`to ${y(t)} ${t===1?`member`:`members`}`}return null}var rn={visitors:{label:`Visitors`,tab:`web`},opens:{label:`Opens`,tab:`newsletter`},clicks:{label:`Clicks`,tab:`newsletter`},sent:{label:`Sent`,tab:`newsletter`},members:{label:`Members`,tab:`growth`}};function an(e,t){return t===`posts`&&(e.status===`published`||e.status===`sent`)&&!!e.email&&e.email?.status!==`failed`}function on(e,t,n){return an(e,n)&&!t.isContributor&&t.membersSignupAccess!==`none`&&t.emailTrackOpens&&e.email?.track_opens===!0}function sn(e,t,n){return an(e,n)&&!t.isContributor&&t.membersSignupAccess!==`none`&&t.emailTrackClicks&&e.email?.track_clicks===!0}function cn(e,t,n){return(n===`pages`||!e.email_only)&&e.status===`published`&&t.membersTrackSources&&!t.isMembersInviteOnly&&!t.isContributor}function ln(e,t,n){let r=[],i=e.status===`published`;if(t.webAnalyticsEnabled&&i&&r.push(`visitors`),e.email){let i=on(e,t,n),a=sn(e,t,n);i&&r.push(`opens`),a&&r.push(`clicks`),!i&&!a&&r.push(`sent`)}return t.membersTrackSources&&i&&r.push(`members`),r.map(e=>({key:e,...rn[e]}))}function un(e){let t=e.email?.email_count,n=e.count?.clicks;return!t||!n?0:Math.round(n/t*100)}function dn(e){let t=e.email?.email_count,n=e.email?.opened_count;return!t||!n?0:Math.round(n/t*100)}function fn(e,t,n,r){return n!==`posts`||!r?!1:on(e,t,n)||sn(e,t,n)||cn(e,t,n)}var pn={visitors:pe,opens:ie,clicks:w,sent:j,members:M,free:fe,paid:oe};function mn({title:e,rows:t,children:n}){return(0,q.jsxs)(Me,{closeDelay:0,openDelay:0,children:[(0,q.jsx)(Fe,{asChild:!0,children:n}),(0,q.jsx)(Be,{className:`pointer-events-none w-48 p-3`,"data-testid":`post-metric-panel`,side:`top`,children:(0,q.jsxs)(x,{gap:`xs`,children:[(0,q.jsx)(S,{size:`sm`,weight:`semibold`,children:e}),t.map(e=>{let t=pn[e.icon];return(0,q.jsxs)(b,{gap:`md`,justify:`between`,children:[(0,q.jsxs)(b,{align:`center`,gap:`xs`,children:[(0,q.jsx)(t,{className:`size-3.5 shrink-0 text-muted-foreground`,strokeWidth:1.5}),(0,q.jsx)(S,{size:`sm`,tone:`secondary`,children:e.label})]}),(0,q.jsx)(S,{className:`font-mono`,size:`sm`,children:y(e.value)})]},e.label)})]})})]})}function hn(e,t,n){return e===`visitors`?{title:`Web traffic`,rows:[{label:`Unique visitors`,value:n.visitors??0,icon:`visitors`}]}:e===`opens`||e===`clicks`||e===`sent`?{title:`Newsletter performance`,rows:[{label:`Sent`,value:t.email?.email_count??0,icon:`sent`},...n.showOpens?[{label:`Opens`,value:t.email?.opened_count??0,icon:`opens`}]:[],...n.showClicks?[{label:`Clicks`,value:t.count?.clicks??0,icon:`clicks`}]:[]]}:{title:`New members`,rows:[{label:`Free`,value:n.freeMembers??0,icon:`free`},...n.paidMembersEnabled?[{label:`Paid`,value:n.paidMembers??0,icon:`paid`}]:[]]}}var gn=[`opens`,`clicks`,`sent`];function _n(e,t,n,r){switch(e.key){case`visitors`:return y(n?.[t.uuid??``]??0);case`opens`:return`${dn(t)}%`;case`clicks`:return`${un(t)}%`;case`sent`:return y(t.email?.email_count??0);case`members`:{let e=r?.[t.id];return y((e?.free??0)+(e?.paid??0))}default:return``}}function vn({post:e,settings:t,resource:n,visitorCounts:r,memberCounts:i,paidMembersEnabled:a,className:o,hideEmailMetrics:s}){let c=ln(e,t,n).filter(e=>!(s&&gn.includes(e.key))),l=new Set(c.map(e=>e.key)),u=i?.[e.id];if(c.length===0)return null;let d=[];return c.forEach(e=>{let t=d[d.length-1];gn.includes(e.key)&&t!==void 0&&gn.includes(t[0].key)?t.push(e):d.push([e])}),(0,q.jsx)(b,{align:`center`,className:v(`shrink-0 max-[1200px]:hidden`,o),gap:`md`,children:d.map(t=>{let o=hn(t[0].key,e,{visitors:r?.[e.uuid??``],freeMembers:u?.free,paidMembers:u?.paid,paidMembersEnabled:a,showOpens:l.has(`opens`),showClicks:l.has(`clicks`)});return(0,q.jsx)(mn,{rows:o.rows,title:o.title,children:(0,q.jsx)(b,{align:`center`,gap:`md`,children:t.map(t=>{let a=pn[t.key],o=_n(t,e,r,i),s=(0,q.jsxs)(b,{align:`center`,gap:`xs`,justify:`end`,children:[(0,q.jsx)(a,{className:`size-4 shrink-0 text-muted-foreground`,strokeWidth:1.5}),(0,q.jsx)(S,{className:`font-mono`,size:`sm`,children:o})]});return n===`pages`?(0,q.jsx)(`span`,{"aria-label":`${t.label}: ${o}`,className:`min-w-16`,title:t.label,"data-ignore-select":!0,children:s},t.key):(0,q.jsx)(`a`,{"aria-label":`${t.label}: ${o}`,className:`min-w-16 no-underline`,href:`#/posts/analytics/${e.id}/${t.tab}`,title:t.label,"data-ignore-select":!0,children:s},t.key)})})},t[0].key)})})}var yn={status:`settled`};function bn(e,t,n){return!!(n&&t===`posts`&&(e.status===`published`||e.status===`sent`)&&e.email?.id&&(e.email.status===`pending`||e.email.status===`submitting`))}function xn({post:e,children:t}){let n=r(),i=e.email?.id,a=e.email?.status,o=Mt({emailId:i,emailStatus:a,enabled:!0}),s=o.status,c=s?.sending,l=c?.status,u=Pt(s),[d,f]=(0,K.useState)(null);if((0,K.useEffect)(()=>{if(!(!i||!l)){if(l!==`submitted`&&f(e=>e===i?null:e),l===`failed`){n.invalidateQueries({queryKey:[p]});return}if(l===`submitted`){let e=!1;return n.invalidateQueries({queryKey:[p]}).then(()=>{e||f(i)}),()=>{e=!0}}}},[i,n,l]),o.isUnsupported)return(0,q.jsx)(q.Fragment,{children:t(yn)});if(c?.status===`failed`)return(0,q.jsx)(q.Fragment,{children:t({status:`failed`})});let m=!!(i&&c?.status===`submitted`&&d!==i);return c&&(c.status!==`submitted`||m)?(0,q.jsx)(q.Fragment,{children:t({status:`sending`,copy:Nt(c,u)})}):!c&&(a===`pending`||a===`submitting`)?(0,q.jsx)(q.Fragment,{children:t({status:`sending`,copy:{title:a===`pending`?`Preparing emails`:`Sending emails`,detail:null}})}):(0,q.jsx)(q.Fragment,{children:t(yn)})}function Sn(e,t){if(t)return`text-state-danger`;switch(e.status){case`draft`:return`text-pink`;case`scheduled`:return`text-green`;default:return`text-muted-foreground`}}var Cn=`aspect-[16/10] w-[80px] shrink-0 rounded-sm lg:w-[100px]`;function wn({post:e}){return e.feature_image?(0,q.jsx)(`div`,{className:v(Cn,`bg-muted bg-cover bg-center`),role:`presentation`,style:{backgroundImage:`url(${JSON.stringify(e.feature_image)})`}}):(0,q.jsx)(vt,{className:v(Cn,`p-0`)})}var Tn=(0,K.forwardRef)(function({post:e,resource:t,timezone:n,isContributor:r,hasAdminAccess:i,paidMembersEnabled:a,isSelected:o,onSelectMouseDown:s,onSelectClick:c,getMenuItems:l,showGiftLink:u,menuEnabled:d,menuOnOpenChange:f,menuOnAction:p,metricsSettings:m,visitorCounts:h,memberCounts:g,improveSendingUI:_,emailSendingState:y,...ee},te){let[C,w]=(0,K.useState)(!1),T=$t(e,{timezone:n}),E=en(e,{timezone:n}),ne=tn(e,t),O=nn(e,{timezone:n,resource:t}),k=Kt(e,t),A=y.status===`failed`?{...e,email:{...e.email,status:`failed`}}:e,ie=y.status===`failed`||k,ae=y.status===`failed`?tn(A,t):ne,oe=e.status===`published`,se=t===`pages`?`page`:`post`,j=!!(r&&oe),ce=j?e.url:`#/editor/${se}/${e.id}`,M=fn(e,m,t,!!i)?{href:`#/posts/analytics/${e.id}`,label:`Go to Analytics`,external:!1,Icon:ue}:j?{href:e.url,label:`View post`,external:!0,Icon:D}:{href:ce,label:`Go to Editor`,external:!1,Icon:me},le=(0,q.jsx)(`li`,{ref:te,...ee,className:v(`group border-b border-border-default`,o?`bg-table-row-selected select-none`:`hover:bg-table-row-hover`),"data-selected":o?`true`:void 0,"data-testid":`posts-list-item`,onClickCapture:c,onMouseDownCapture:t=>{s?.(t,e.id)},onMouseEnter:()=>{w(!0)},onMouseLeave:()=>{w(!1)},children:(0,q.jsxs)(b,{align:`center`,className:`pr-4`,gap:`md`,children:[(0,q.jsxs)(`a`,{className:`flex min-w-0 flex-1 items-start gap-4 py-4 pl-4 no-underline`,"data-testid":`post-list-item-link`,href:ce,rel:j?`noopener noreferrer`:void 0,target:j?`_blank`:void 0,children:[(0,q.jsx)(wn,{post:e}),(0,q.jsxs)(x,{className:`min-w-0 flex-1`,gap:`xs`,children:[(0,q.jsxs)(b,{align:`center`,gap:`xs`,children:[e.featured&&(0,q.jsx)(re,{"aria-label":`Featured`,className:`size-4 shrink-0 fill-state-warning text-state-warning`,"data-testid":`post-featured`}),(0,q.jsx)(S,{as:`h3`,className:`truncate`,weight:`semibold`,children:e.title})]}),T.length>0&&(0,q.jsx)(S,{className:`truncate`,size:`sm`,title:E,tone:`secondary`,children:T.join(` - `)}),y.status===`sending`?(0,q.jsxs)(S,{className:`text-muted-foreground tabular-nums`,size:`sm`,children:[y.copy.title,y.copy.detail&&(0,q.jsx)(`span`,{children:` · ${y.copy.detail}`})]}):(0,q.jsxs)(S,{className:Sn(A,ie),size:`sm`,children:[ae,y.status!==`failed`&&C&&O&&(0,q.jsxs)(`span`,{children:[` `,O]})]})]})]}),(0,q.jsx)(vn,{className:`py-4`,hideEmailMetrics:y.status===`sending`,memberCounts:g,paidMembersEnabled:a,post:e,resource:t,settings:m,visitorCounts:h}),(0,q.jsx)(F,{className:`my-4 ms-2 shrink-0 bg-control-surface px-4`,variant:`outline`,asChild:!0,children:(0,q.jsx)(`a`,{"aria-label":M.label,"data-testid":`post-list-item-action`,href:M.href,rel:M.external?`noopener noreferrer`:void 0,target:M.external?`_blank`:void 0,title:M.label,"data-ignore-select":!0,children:(0,q.jsx)(M.Icon,{})})})]})});return(0,q.jsx)(Vt,{enabled:d??!1,getItems:l,showGiftLink:u??!1,onAction:p??(()=>{}),onOpenChange:f??(()=>{}),children:le})}),En=(0,K.forwardRef)(function(e,t){return bn(e.post,e.resource,e.improveSendingUI??!1)?(0,q.jsx)(xn,{post:e.post,children:n=>(0,q.jsx)(Tn,{ref:t,...e,emailSendingState:n})}):(0,q.jsx)(Tn,{ref:t,...e,emailSendingState:yn})}),Dn=(0,K.memo)(En),On={posts:{title:`Posts`,plural:`posts`,newLabel:`New post`,newHref:`#/editor/post`,emptyTitle:`Start creating content.`,emptyAction:`Write a new post`},pages:{title:`Pages`,plural:`pages`,newLabel:`New page`,newHref:`#/editor/page`,emptyTitle:`Tell the world about yourself.`,emptyAction:`Create a new page`}};function kn(e){return On[e]}function An({resource:e,hasFilters:t,onClearFilters:n}){let r=kn(e);return t?(0,q.jsx)(we,{actions:(0,q.jsxs)(F,{onClick:n,children:[`Show all `,r.plural]}),"data-testid":`posts-empty-filtered`,title:`No ${r.plural} match the current filter`,children:(0,q.jsx)(I,{})}):(0,q.jsx)(we,{actions:(0,q.jsx)(F,{asChild:!0,children:(0,q.jsx)(`a`,{href:r.newHref,children:r.emptyAction})}),"data-testid":`posts-empty-cold`,title:r.emptyTitle,children:(0,q.jsx)(A,{})})}var jn=[{value:`draft`,label:`Draft posts`},{value:`published`,label:`Published posts`},{value:`sent`,label:`Email only posts`},{value:`scheduled`,label:`Scheduled posts`},{value:`featured`,label:`Featured posts`}],Mn=[{value:`draft`,label:`Draft pages`},{value:`published`,label:`Published pages`},{value:`scheduled`,label:`Scheduled pages`},{value:`featured`,label:`Featured pages`}],Nn=[{value:`public`,label:`Public`},{value:`members`,label:`Members-only`},{value:`[paid,tiers]`,label:`Paid members-only`}],Pn=[{value:`published_at asc`,label:`Oldest first`},{value:`updated_at desc`,label:`Recently updated`}],Fn=`Newest first`;function In(e){return e===`pages`?Mn:jn}function Ln(e){return e?Pn.find(t=>t.value===e)?.label??e:Fn}var Rn=`100`;function zn(e){return{value:e.slug,label:e.name||e.email,metadata:{id:e.id}}}var Bn=xt({id:`posts.authors`,buildBrowseSearchParams:e=>({limit:Rn,order:`name asc`,...e?{filter:`name:~${ot(e)}`}:{}}),buildHydrateFilter:e=>bt(`slug`,e),buildHydrateSearchParams:e=>({filter:e,order:`name asc`}),getMissingSelectedOption:e=>({value:e,label:`Unknown author`}),selectItems:e=>e?.users,useQuery:({enabled:e,searchParams:t})=>Ee({enabled:e,placeholderData:n,searchParams:t}),toOption:zn,debounceMs:250});function Vn(){return Bn()}var Hn=`100`;function Un(e){return{value:e.slug,label:e.name,detail:e.slug,metadata:{id:e.id}}}var Wn=xt({id:`posts.tags`,buildBrowseSearchParams:e=>({limit:Hn,order:`name asc`,...e?{filter:`tags.name:~${ot(e)}`}:{}}),buildHydrateFilter:e=>bt(`slug`,e),buildHydrateSearchParams:e=>({filter:e,order:`name asc`}),getMissingSelectedOption:e=>({value:e,label:`Unknown tag`}),selectItems:e=>e?.tags,useQuery:({enabled:e,searchParams:t})=>jt({filter:{},enabled:e,placeholderData:n,searchParams:t}),toOption:Un,debounceMs:250});function Gn(){return Wn()}var Y=[{value:`is`,label:`is`}];function Kn(e,t,n){return!t||e.some(e=>e.value===t)?e:[...e,{value:t,label:`Unknown ${n}`}]}function qn({resource:e,authorValueSource:t,tagValueSource:n,isContributor:r=!1,isAuthorOrContributor:i=!1,params:a={}}){let o={key:`type`,label:`${e===`pages`?`Page`:`Post`} type`,type:`select`,icon:(0,q.jsx)(k,{className:`size-4`}),operators:Y,options:Kn(In(e),a.type,`type`)};if(r)return[o];let s=[o,{key:`visibility`,label:`Access`,type:`select`,icon:(0,q.jsx)(C,{className:`size-4`}),operators:Y,options:Kn(Nn,a.visibility,`access`)}];return i||s.push({key:`author`,label:`Author`,type:`select`,icon:(0,q.jsx)(fe,{className:`size-4`}),operators:Y,searchable:!0,placeholder:`Search authors`,valueSource:t}),s.push({key:`tag`,label:`Tag`,type:`select`,icon:(0,q.jsx)(O,{className:`size-4`}),operators:Y,searchable:!0,placeholder:`Search tags`,valueSource:n,className:`w-[320px]`}),s}function Jn(e,t,n){return qn({resource:e,authorValueSource:Vn(),tagValueSource:Gn(),isContributor:!!(t&&De(t)),isAuthorOrContributor:!!(t&&Te(t)),params:n})}function Yn({resource:e,filters:t,params:n,currentUser:r,iconOnly:i=!1,viewActions:a,onFiltersChange:o}){let s=Jn(e,r,n),c=t.length>0,l=i&&!c,u=c?(0,q.jsxs)(b,{className:`shrink-0 sm:absolute sm:top-0 sm:right-0`,gap:`sm`,children:[(0,q.jsx)(F,{className:`hidden items-center text-muted-foreground hover:text-foreground lg:inline-flex`,type:`button`,variant:`outline`,onClick:()=>o([]),children:`Clear`}),a]}):void 0;return(0,q.jsx)(b,{align:`center`,className:v(!i&&`w-full`),"data-testid":`posts-filters`,gap:`sm`,children:(0,q.jsx)(ht,{addButtonClassName:v(l&&`min-w-[34px] gap-0 !px-3 text-[0px] lg:min-w-0 lg:gap-1.5 lg:px-3 lg:text-base`,c&&`gap-0 !px-3 text-[0px]`),addButtonIcon:c?(0,q.jsx)(le,{className:`size-4`}):(0,q.jsx)(de,{className:`size-4`}),addButtonText:c?`Add filter`:`Filter`,allowMultiple:!1,className:v(`[&>button]:order-last`,i?`w-auto`:`w-full`,c&&`sm:!pr-40`),clearButton:u,fields:s,filters:t,keyboardShortcut:`f`,popoverAlign:`start`,showClearButton:c,showSearchInput:!1,onChange:o})})}var X=[`midgrey`,`blue`,`green`,`red`,`teal`,`purple`,`yellow`,`orange`,`pink`];function Xn(){return X[Math.floor(Math.random()*X.length)]}function Zn(e){let t={};return Re.forEach(n=>{let r=e[n];r!=null&&r!==``&&(t[n]=r)}),t}function Qn(e,t,n){return{name:e.trim(),route:`posts`,color:n,filter:Zn(t)}}function $n({isAdmin:e,resource:t,params:n,isDefaultView:r}){return!e||t!==`posts`||r?!1:Re.some(e=>!!n[e])}function er(e,t){let n=Zn(t);return e.find(e=>Re.every(t=>(e.filter[t]??null)===(n[t]??null)))}var tr=`Saved views could not be read, so nothing was changed`,nr=`A view with this name already exists`,rr=`Saved view could not be found`;function ir(e){let t;try{t=JSON.parse(e)}catch{throw Error(tr)}if(!Array.isArray(t))throw Error(tr);return t}function ar(e,t){return e.route===`posts`&&typeof e.name==`string`&&V(e.name)===V(t.name)}function or(e,t,n){let r=V(t);return e.some((e,t)=>t!==n&&e.route===`posts`&&typeof e.name==`string`&&V(e.name)===r)}function sr(e,t,n,r,i){let a=ir(e),o=Qn(t,n,r),s=i?a.findIndex(e=>ar(e,i)):-1;if(i&&s===-1)throw Error(rr);if(or(a,o.name,s))throw Error(nr);let c=s===-1?[...a,o]:a.map((e,t)=>t===s?o:e);return JSON.stringify(c)}function cr(e,t){let n=ir(e),r=n.findIndex(e=>ar(e,t));if(r===-1)throw Error(rr);return JSON.stringify(n.filter((e,t)=>t!==r))}var lr=`Settings are still loading, so nothing was changed`;function ur(e){if(e)return H(e.settings,`shared_views`)??`[]`}function dr(){let{data:e}=U(),t=ur(e);if(t===void 0)return[];let n=$e(t);return n.ok?n.views.filter(e=>e.route===`posts`):[]}function fr(){let{data:e}=U(),{mutateAsync:t}=Xe(),n=a();return(0,K.useCallback)(async r=>{let i=ur(e);if(i===void 0){let e=Error(lr);throw n(e,{withToast:!1}),e}let a=r(i);try{await t([{key:`shared_views`,value:a}])}catch(e){throw n(e,{withToast:!1}),e}},[e,t,n])}function pr(){let e=fr();return(0,K.useCallback)(async(t,n,r,i)=>{await e(e=>sr(e,t,n,r,i))},[e])}function mr(){let e=fr();return(0,K.useCallback)(async t=>{await e(e=>cr(e,t))},[e])}function hr(e){return X.includes(e)}function gr({value:e,onChange:t}){return(0,q.jsx)(b,{gap:`sm`,role:`radiogroup`,children:X.map(n=>(0,q.jsx)(`button`,{"aria-checked":n===e,"aria-label":n,className:v(`size-5 rounded-full border-2`,n===e?`border-foreground`:`border-transparent`),role:`radio`,style:{backgroundColor:it(n)},type:`button`,onClick:()=>{t(n)}},n))})}function _r({resource:e,params:t,activeView:n,onClose:r}){let[i,a]=(0,K.useState)(n?.name??``),[o,s]=(0,K.useState)(hr(n?.color)?n.color:Xn()),[c,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(!1),f=pr(),p=mr(),m=_(),h=!!n,g=async()=>{if(u)return;let e=i.trim();if(!e){l(`Please enter a name`);return}d(!0);try{await f(e,t,o,n),r()}catch(e){l(e instanceof Error?e.message:`Failed to save view`)}finally{d(!1)}},v=async()=>{if(!(!n||u)){d(!0);try{await p(n),r(),m(`/${e}`)}catch(e){l(e instanceof Error?e.message:`Failed to delete view`)}finally{d(!1)}}};return(0,q.jsxs)(x,{gap:`md`,children:[(0,q.jsx)(He,{"aria-label":`View name`,placeholder:`Name this view`,value:i,autoFocus:!0,onChange:e=>{a(e.target.value),l(``)},onKeyDown:e=>{e.key===`Enter`&&g()}}),(0,q.jsx)(gr,{value:o,onChange:s}),c&&(0,q.jsx)(S,{className:`text-state-danger`,role:`alert`,size:`sm`,children:c}),(0,q.jsxs)(b,{gap:`sm`,justify:h?`between`:`end`,children:[h&&(0,q.jsx)(F,{disabled:u,variant:`destructive`,onClick:()=>void v(),children:`Delete`}),(0,q.jsx)(F,{disabled:u,onClick:()=>void g(),children:h?`Save`:`Save view`})]})]})}function vr({resource:e,params:t,activeView:n}){let[r,i]=(0,K.useState)(!1);return(0,q.jsxs)(st,{open:r,onOpenChange:i,children:[(0,q.jsx)(Ke,{asChild:!0,children:(0,q.jsx)(F,{"data-testid":`manage-post-view`,variant:`outline`,children:n?`Edit view`:`Save view`})}),(0,q.jsx)(ut,{align:`end`,className:`w-72`,children:(0,q.jsx)(_r,{activeView:n,params:t,resource:e,onClose:()=>{i(!1)}},n?.name??`new`)})]})}function yr({order:e,onOrderChange:t}){return(0,q.jsxs)(Ge,{children:[(0,q.jsx)(je,{asChild:!0,children:(0,q.jsxs)(F,{"aria-label":`Sort: ${Ln(e)}`,"data-testid":`posts-sort`,variant:`outline`,children:[(0,q.jsx)(E,{className:`size-4`}),Ln(e),(0,q.jsx)(N,{className:`size-4`})]})}),(0,q.jsx)(ze,{align:`end`,children:(0,q.jsxs)(Pe,{value:e??``,onValueChange:e=>{t(e||null)},children:[(0,q.jsx)(Ne,{value:``,children:Fn}),Pn.map(e=>(0,q.jsx)(Ne,{value:e.value,children:e.label},e.value))]})})]})}var br=[`scheduled`,`draft`,`publishedAndSent`],xr=[`draft`,`scheduled`,`published`,`sent`],Sr={draft:[`draft`],published:[`published`],scheduled:[`scheduled`],sent:[`sent`]};function Cr(e){return[...Sr[e??``]??xr]}function wr(e){return e.length===1?e[0]:`[${e.join(`,`)}]`}function Tr(e){return e.filter(e=>{let t=e[1];return t!=null&&t.trim()!==``}).map(([e,t])=>`${e}:${t}`).join(`+`)}function Er(e,t,{ownAuthorSlug:n}){return[[`tag`,e.tag],[`visibility`,e.visibility],[`status`,wr(t)],[`featured`,e.type===`featured`?`true`:null],[`authors`,n||e.author]]}function Dr(e,t={}){return Tr(Er(e,Cr(e.type),t))}function Or(e){let t=Cr(e.type);return br.filter(e=>e===`publishedAndSent`?t.includes(`published`)||t.includes(`sent`):t.includes(e))}function kr(e,t){return e===`publishedAndSent`?Cr(t.type).filter(e=>e===`published`||e===`sent`):[e]}function Ar(e,t,n={}){return Tr(Er(t,kr(e,t),n))}function jr(e,t){return t||(e===`draft`?`updated_at desc`:`published_at desc`)}function Mr(e,t,n={}){return{filter:Ar(e,t,n),order:jr(e,t.order),limit:`30`}}function Z(e){return`'${[...e].join(`','`)}'`}function Nr(e,t){let{selectedIds:n,inverted:r}=e;return r?t?n.size===0?t:`(${t})+id:-[${Z(n)}]`:n.size===0?``:`id:-[${Z(n)}]`:n.size===0?`id:nothing`:`id:[${Z(n)}]`}function Pr(e,t,n){let r=e.indexOf(t),i=e.indexOf(n);return r===-1||i===-1||i===r?[]:i>r?e.slice(r+1,i+1):e.slice(i,r+1)}function Fr(){return{selectedIds:new Set,inverted:!1,lastSelectedId:null,lastShiftGroup:new Set,transient:!1}}var Ir=Fr();function Lr(e,t){return e.inverted?!e.selectedIds.has(t):e.selectedIds.has(t)}function Rr(e){return!e.inverted&&e.selectedIds.size===1}function zr(e,t){return e.inverted?Math.max(t-e.selectedIds.size,1):e.selectedIds.size}function Br(e,t){let n=new Set(e.selectedIds),r=n.delete(t);r||n.add(t);let i=e.lastSelectedId;return!r||e.inverted?i=t:e.lastSelectedId===t&&(i=null),{selectedIds:n,inverted:e.inverted,lastSelectedId:i,lastShiftGroup:new Set,transient:!1}}function Vr(e,t,n){if(e.lastSelectedId===null)return Br(e,t);let r=new Set(e.selectedIds);e.lastShiftGroup.forEach(t=>{e.inverted?r.add(t):r.delete(t)});let i=Pr(n,e.lastSelectedId,t);return i.forEach(t=>{e.inverted?r.delete(t):r.add(t)}),{selectedIds:r,inverted:e.inverted,lastSelectedId:e.lastSelectedId,lastShiftGroup:new Set(i),transient:!1}}function Hr(e,t){switch(t.type){case`toggle`:return Br(e,t.id);case`shift`:return Vr(e,t.id,t.orderedIds);case`selectAll`:return{selectedIds:new Set,inverted:!e.inverted,lastSelectedId:null,lastShiftGroup:new Set,transient:!1};case`contextMenu`:return Lr(e,t.id)?e:{selectedIds:new Set([t.id]),inverted:!1,lastSelectedId:t.id,lastShiftGroup:new Set,transient:!0};case`keepOnly`:{if(e.inverted)return e;let n=new Set([...e.selectedIds].filter(e=>t.ids.has(e)));return{...e,selectedIds:n,lastShiftGroup:new Set}}case`closeContextMenu`:return e.transient?Fr():e;case`clear`:return Fr();default:return e}}function Ur(){let e=window.getSelection();e&&(e.empty?e.empty():e.removeAllRanges&&e.removeAllRanges())}function Wr({orderedIds:e,allFilter:t,enabled:n}){let[r,i]=(0,K.useReducer)(Hr,Ir),[a,o]=(0,K.useState)(!1),s=(0,K.useRef)({orderedIds:e,enabled:n});s.current={orderedIds:e,enabled:n};let c=(0,K.useRef)(t);(0,K.useEffect)(()=>{c.current!==t&&(c.current=t,i({type:`clear`}))},[t]),(0,K.useEffect)(()=>{function e(e){if(!s.current.enabled)return;let t=e.target;if(!(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t?.isContentEditable===!0)){if((e.metaKey||e.ctrlKey)&&!e.shiftKey&&e.key.toLowerCase()===`a`){i({type:`selectAll`}),e.preventDefault();return}e.key===`Escape`&&i({type:`clear`})}}function t(e){o(e.metaKey||e.ctrlKey||e.shiftKey)}function n(){o(!1)}function r(e){s.current.enabled&&(e.target?.closest(`[role="menu"], [role="dialog"], [role="alertdialog"], [role="listbox"]`)||!e.metaKey&&!e.ctrlKey&&i({type:`clear`}))}return window.addEventListener(`keydown`,e),window.addEventListener(`keydown`,t),window.addEventListener(`keyup`,t),window.addEventListener(`click`,r),window.addEventListener(`click`,t),window.addEventListener(`blur`,n),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`keydown`,t),window.removeEventListener(`keyup`,t),window.removeEventListener(`click`,r),window.removeEventListener(`click`,t),window.removeEventListener(`blur`,n)}},[]);let l=(0,K.useCallback)((e,t)=>{if(s.current.enabled&&!e.target.closest(`[data-ignore-select]`)){if(e.ctrlKey||e.metaKey)i({type:`toggle`,id:t});else if(e.shiftKey)i({type:`shift`,id:t,orderedIds:s.current.orderedIds});else return;e.preventDefault(),e.stopPropagation(),Ur()}},[]),u=(0,K.useCallback)(e=>{s.current.enabled&&(e.target.closest(`[data-ignore-select]`)||!e.ctrlKey&&!e.metaKey&&!e.shiftKey||(e.preventDefault(),e.stopPropagation(),Ur()))},[]),d=(0,K.useCallback)((e,t)=>{s.current.enabled&&i(e?{type:`contextMenu`,id:t}:{type:`closeContextMenu`})},[]),f=(0,K.useRef)(new Map),p=(0,K.useCallback)(e=>{let t=f.current.get(e);if(t)return t;let n=t=>{d(t,e)};return f.current.set(e,n),n},[d]),m=(0,K.useCallback)(e=>{i({type:`keepOnly`,ids:e})},[]);return{state:r,filter:(0,K.useMemo)(()=>Nr(r,t),[r,t]),modifierHeld:n&&a,isSelected:(0,K.useCallback)(e=>n&&Lr(r,e),[n,r]),clear:(0,K.useCallback)(()=>i({type:`clear`}),[]),keepOnly:m,onRowMouseDown:l,onRowClick:u,getContextMenuOpenHandler:p,enabled:n}}function Gr({user:e,post:t}){if(!e||!t)return!1;let n=Oe(e)||ke(e),r=t.status===`published`&&!!t.visibility&&t.visibility!==`public`;return n&&r}function Kr({wasPublished:e,type:t,emailOnly:n,postCount:r}){if(!e)return{primary:`All set!`,secondary:``};let i=typeof r==`number`,a=i?`Boom! It’s out there.`:`Your post is published.`;if(t===`page`)return{primary:a,secondary:`Your page is published.`};if(n)return{primary:a,secondary:`Your email has been sent.`};if(i){let e=r===1?`post`:`posts`;return{primary:a,secondary:`That’s ${y(r)} ${e} published.`}}return{primary:a,secondary:`Spread the word!`}}function qr({post:e,type:t,wasPublished:n,postCount:r,siteTitle:i,onClose:a}){let o=Kr({wasPublished:n,type:t,emailOnly:e.email_only===!0,postCount:r});return(0,q.jsx)(_t,{author:e.authors?.[0]?.name??``,emailOnly:e.email_only===!0,featureImageURL:e.feature_image??``,postExcerpt:e.excerpt??e.custom_excerpt??``,postTitle:e.title,postURL:e.url,primaryTitle:o.primary,secondaryTitle:o.secondary,siteTitle:i,open:!0,onClose:a,onOpenChange:e=>{e||a()}})}var Q={published:`ghost-last-published-post`,scheduled:`ghost-last-scheduled-post`};function Jr(){let e=localStorage.getItem(Q.published),t=localStorage.getItem(Q.scheduled);localStorage.removeItem(Q.published),localStorage.removeItem(Q.scheduled);let n=e??t;if(!n)return null;try{let t=JSON.parse(n);return typeof t?.id!=`string`||!t.id?null:{id:t.id,type:typeof t.type==`string`?t.type:`post`,wasPublished:e!==null}}catch{return null}}function Yr(){let[e,t]=(0,K.useState)(null),n=(0,K.useRef)(!1);(0,K.useEffect)(()=>{n.current||(n.current=!0,t(Jr()))},[]);let r=e?.type===`page`,i={filter:`id:${e?.id??``}`,limit:`1`,include:`authors,newsletter,email`},{data:a}=d({searchParams:i,enabled:!!e&&!r}),{data:o}=Tt({searchParams:i,enabled:!!e&&r}),{data:s}=d({searchParams:{filter:`status:published`,limit:`1`},enabled:e?.wasPublished===!0});return{celebration:e,post:r?o?.pages?.[0]:a?.posts?.[0],postCount:e?.wasPublished?s?.meta?.pagination.total:void 0,dismiss:()=>{t(null)}}}function Xr({isRunning:e,onConfirm:t,onCancel:n}){let[r,i]=(0,K.useState)([]),[a,o]=(0,K.useState)(``);return(0,q.jsx)(Je,{open:!0,onOpenChange:e=>{e||n()},children:(0,q.jsxs)(tt,{"data-testid":`add-tag-modal`,onEscapeKeyDown:e=>{(r.length>0||a.length>0)&&e.preventDefault()},children:[(0,q.jsxs)(Ue,{children:[(0,q.jsx)(dt,{children:`Add tags`}),(0,q.jsx)(Ze,{children:`Added to everything selected, on top of any tags already applied.`})]}),(0,q.jsx)(At,{inputLabel:`Search tags`,selected:r,onAdd:e=>{i(t=>[...t,e])},onRemove:e=>{i(t=>t.filter(t=>kt(t)!==e))},onSearchChange:o}),(0,q.jsxs)(Ye,{children:[(0,q.jsx)(F,{disabled:e,variant:`outline`,onClick:n,children:`Cancel`}),(0,q.jsx)(F,{disabled:e||r.length===0,onClick:()=>{t(r)},children:e?`Adding`:`Add`})]})]})})}var Zr={delete:{confirm:`Delete`,running:`Deleting`},unpublish:{confirm:`Unpublish`,running:`Unpublishing`},unschedule:{confirm:`Unschedule`,running:`Unscheduling`}};function Qr(e,{count:t,resource:n,title:r,isSingle:i=t===1}){let a=n===`pages`?`page`:`post`,o=i?`this ${a}`:`these ${a}s`,s=i?r?`"${r}"`:`this ${a}`:`${t} ${a}s`,c=e===`delete`?`You’re about to delete ${s}. This is permanent! We warned you, k?`:`You’re about to revert ${s} to a private draft.`;return{title:`Are you sure you want to ${e} ${o}?`,body:c,confirmLabel:Zr[e].confirm,runningLabel:Zr[e].running}}function $r({count:e,resource:t,isSingle:n}){let r=t===`pages`?`page`:`post`;return n?`Change ${r} access`:`Change ${r} access for ${e} ${r}s`}var ei=[{value:`public`,label:`Public`},{value:`members`,label:`Members only`},{value:`paid`,label:`Paid-members only`},{value:`tiers`,label:`Specific tier(s)`}];function ti({resource:e,count:t,isSingle:n,currentVisibility:r,currentTiers:i,isRunning:a,onConfirm:o,onCancel:s}){let{data:c}=U(),l=H(c?.settings,`default_content_visibility`)??`public`,[u,d]=(0,K.useState)(n&&r?r:l),[f,p]=(0,K.useState)(n&&i?i.map(e=>e.id):[]),{data:m}=gt(),h=(m?.tiers??[]).filter(e=>e.type===`paid`&&e.active),g=u!==`tiers`||f.length>0;return(0,q.jsx)(Je,{open:!0,onOpenChange:e=>{e||s()},children:(0,q.jsxs)(tt,{"data-testid":`change-access-modal`,children:[(0,q.jsxs)(Ue,{children:[(0,q.jsx)(dt,{children:$r({count:t,resource:e,isSingle:n})}),(0,q.jsxs)(Ze,{children:[`Controls who can read the selected`,` `,(e===`pages`?`page`:`post`)+(n?``:`s`),`.`]})]}),(0,q.jsxs)(x,{gap:`md`,children:[(0,q.jsxs)(_e,{value:u,onValueChange:d,children:[(0,q.jsx)(B,{"aria-label":`Access`,children:(0,q.jsx)(ge,{})}),(0,q.jsx)(z,{children:ei.map(e=>(0,q.jsx)(R,{value:e.value,children:e.label},e.value))})]}),u===`tiers`&&(0,q.jsx)(x,{gap:`sm`,children:h.map(e=>(0,q.jsxs)(b,{align:`center`,gap:`sm`,children:[(0,q.jsx)(ve,{checked:f.includes(e.id),id:`tier-${e.id}`,onCheckedChange:t=>{p(n=>t?[...n,e.id]:n.filter(t=>t!==e.id))}}),(0,q.jsx)(`label`,{className:`text-sm`,htmlFor:`tier-${e.id}`,children:e.name})]},e.id))})]}),(0,q.jsxs)(Ye,{children:[(0,q.jsx)(F,{disabled:a,variant:`outline`,onClick:s,children:`Cancel`}),(0,q.jsx)(F,{disabled:a||!g,onClick:()=>{o({visibility:u,tiers:u===`tiers`?f.map(e=>({id:e})):[]})},children:a?`Saving`:`Save`})]})]})})}function ni({action:e,resource:t,count:n,title:r,isSingle:i,isRunning:a,onConfirm:o,onCancel:s}){let c=Qr(e,{count:n,resource:t,title:r,isSingle:i});return(0,q.jsx)(Le,{open:!0,onOpenChange:e=>{e||s()},children:(0,q.jsxs)(lt,{"data-testid":`bulk-${e}-modal`,onEscapeKeyDown:e=>{a&&e.preventDefault()},children:[(0,q.jsxs)(Qe,{children:[(0,q.jsx)(We,{children:c.title}),(0,q.jsx)(rt,{children:c.body})]}),(0,q.jsxs)(at,{children:[(0,q.jsx)(qe,{disabled:a,children:`Cancel`}),(0,q.jsx)(Ae,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,disabled:a,onClick:e=>{e.preventDefault(),o()},children:a?c.runningLabel:c.confirmLabel})]})]})})}var ri=e(Ft(),1),ii=[{key:`primary_tag`,replacement:`tags.slug`,expansion:`posts_tags.sort_order:0+tags.visibility:public`},{key:`primary_author`,replacement:`authors.slug`,expansion:`posts_authors.sort_order:0+authors.visibility:public`},{key:`authors`,replacement:`authors.slug`},{key:`author`,replacement:`authors.slug`},{key:`tag`,replacement:`tags.slug`},{key:`tags`,replacement:`tags.slug`}];function ai({posts:e,editedIds:t,filter:n}){let r=(0,ri.default)(n,{expansions:ii});try{r.queryJSON({})}catch{return e}return e.filter(e=>t.has(e.id)?r.queryJSON(e):!0)}var oi={unpublish:{action:`unpublish`,message:`unpublished`},unschedule:{action:`unschedule`,message:`unscheduled`},feature:{action:`feature`},unfeature:{action:`unfeature`}};function si(e,t){switch(t){case`unpublish`:return e.status===`published`?{...e,status:`draft`}:e;case`unschedule`:return e.status===`scheduled`?{...e,status:`draft`,published_at:void 0}:e;case`feature`:return{...e,featured:!0};case`unfeature`:return{...e,featured:!1};default:return e}}function ci(e){let t=e[1];if(typeof t!=`string`)return null;try{return new URL(t,window.location.origin).searchParams.get(`filter`)}catch{return null}}function li({resource:e,onDeleted:t,onEdited:n}){let[i,a]=(0,K.useState)(!1),o=r(),l=u(),d=wt(),f=c(),p=St(),m=e===`pages`,h=m?`PagesResponseType`:`PostsResponseType`,g=(0,K.useCallback)((e,t)=>{let n=new Set(e.posts.map(e=>e.id)),r=t===`delete`,i=new Set;for(let a of e.bucketFilters)o.setQueriesData({queryKey:[h],predicate:e=>ci(e.queryKey)===a},o=>{if(!Array.isArray(o?.pageParams)||!o.pages)return o;let s=0,c=0,l=o.pages.map(e=>{let o=m?`pages`:`posts`,l=e[o]??[],u;return r?u=l.filter(e=>!n.has(e.id)):(u=ai({posts:l.map(e=>n.has(e.id)?si(e,t):e),editedIds:n,filter:a}),u.forEach(e=>{n.has(e.id)&&i.add(e.id)})),s+=l.length-u.length,c+=u.length,{...e,[o]:u}});return!r||s===0&&!e.inverted?{...o,pages:l}:{...o,pages:l.map(t=>typeof t.meta?.pagination?.total==`number`?{...t,meta:{...t.meta,pagination:{...t.meta.pagination,total:e.inverted?c:Math.max(0,t.meta.pagination.total-s)}}}:t)}});return i},[o,h,m]),_=(0,K.useCallback)(async(t,r,i)=>{a(!0);try{let a=t===`add-tag`?{type:`addTag`,meta:i}:{type:`access`,meta:i};if(m?await d.mutateAsync({filter:r.filter,action:a}):await l.mutateAsync({filter:r.filter,action:a}),t===`change-access`)s.success(G(`accessUpdated`,{count:r.count,resource:e,isSingle:r.isSingle}));else{let t=`tags`in i?i.tags.length:1;s.success(G(t>1?`tagsAdded`:`tagAdded`,{count:r.count,resource:e,isSingle:r.isSingle}))}n?.(new Set(r.posts.map(e=>e.id))),o.invalidateQueries({queryKey:[h]}),t===`add-tag`&&o.invalidateQueries({queryKey:[`TagsResponseType`]})}catch(e){s.error(e instanceof Error&&e.message?e.message:`That action could not be completed.`)}finally{a(!1)}},[m,e,n,o,h,l,d]);return{run:(0,K.useCallback)(async(r,i)=>{a(!0);try{if(r===`delete`){m?await p.mutateAsync({filter:i.filter}):await f.mutateAsync({filter:i.filter}),g(i,`delete`),o.invalidateQueries({queryKey:[h],refetchType:`none`}),s.success(G(`deleted`,{count:i.count,resource:e,isSingle:i.isSingle})),t?.();return}let a=oi[r];if(!a)return;let c={filter:i.filter,action:{type:a.action}};m?await d.mutateAsync(c):await l.mutateAsync(c),a.message&&s.success(G(a.message,{count:i.count,resource:e,isSingle:i.isSingle}));let u=g(i,r);o.invalidateQueries({queryKey:[h],refetchType:`none`}),n?.(u)}catch(e){s.error(e instanceof Error&&e.message?e.message:`That action could not be completed.`)}finally{a(!1)}},[m,e,t,n,g,h,o,l,d,f,p]),runWithPayload:_,isRunning:i}}function ui(e){return e.length===1}function di(e,t){return e.some(e=>e.status===t)}function fi(e){return e.filter(e=>e.featured).length<=e.length/2}function pi(e){let{posts:t,isAdmin:n,membersEnabled:r,canCopyGiftLink:i}=e;if(t.length===0)return[];let a=[],o=(e,t,n={})=>{a.push({key:e,label:t,separated:!1,...n})};return di(t,`published`)?(ui(t)&&o(`copy-link`,`Copy link to post`),i&&o(`gift-link`,`Share as a gift`),o(`unpublish`,`Unpublish`)):(ui(t)&&o(`copy-preview`,`Copy preview link`),di(t,`scheduled`)&&o(`unschedule`,`Unschedule`)),t.some(e=>e.status!==`sent`)&&(fi(t)?o(`feature`,`Feature`):o(`unfeature`,`Unfeature`)),o(`add-tag`,`Add a tag`),r&&o(`change-access`,`Change access`),ui(t)&&o(`duplicate`,`Duplicate`),n&&o(`delete`,`Delete`,{destructive:!0,separated:!0}),a}var mi=[`type`,`visibility`,`author`,`tag`],hi={type:null,visibility:null,author:null,tag:null},gi=`is`;function _i(e){return mi.includes(e)}function vi(e){return mi.flatMap((t,n)=>{let r=e[t];return r==null||r.trim()===``?[]:[{id:`${t}:${n+1}`,field:t,operator:gi,values:[r]}]})}function yi(e){return typeof e==`string`?e===``?null:e:typeof e==`number`||typeof e==`boolean`?String(e):null}function bi(e){let t={...hi};return e.forEach(e=>{_i(e.field)&&(t[e.field]=yi(e.values[0]))}),t}var xi=`order`;function Si(e){let t={};return mi.forEach(n=>{t[n]=e.get(n)}),t.order=e.get(xi),t}function Ci(e,t){let n=new URLSearchParams(e);return Object.entries(t).forEach(([e,t])=>{t==null||t===``?n.delete(e):n.set(e,t)}),n}function wi(){let[e,t]=h(),n=(0,K.useMemo)(()=>Si(e),[e]),r=(0,K.useMemo)(()=>vi(n),[n]),i=n.order??null,a=(0,K.useCallback)((e,{replace:n=!0}={})=>{t(t=>Ci(t,e),{replace:n})},[t]);return{filters:r,params:n,order:i,setFilters:(0,K.useCallback)((e,t)=>{a(bi(e),t)},[a]),setOrder:(0,K.useCallback)((e,t)=>{a({[xi]:e},t)},[a]),clearFilters:(0,K.useCallback)(e=>{a(bi([]),e)},[a]),hasFilters:r.length>0}}function Ti({items:e,webAnalyticsEnabled:t,membersTrackSources:n}){let r=(0,K.useMemo)(()=>e.filter(e=>e.status===`published`),[e]),i=(0,K.useMemo)(()=>r.map(e=>e.uuid).filter(e=>!!e),[r]),a=(0,K.useMemo)(()=>r.map(e=>e.id),[r]),{data:o}=pt(i,{enabled:t}),{data:s}=ft(a,{enabled:n});return{visitorCounts:o,memberCounts:s}}var Ei=()=>{};function Di(e){let t=e.reduce((e,t)=>e+t.total,0),n=e.some(e=>e.isError);if(e.some(e=>e.isLoading))return{items:[],totalItems:t,hasNextPage:!1,isFetchingNextPage:!1,isLoading:!0,isError:n,fetchNextPage:Ei};let r=[],i;for(let t of e){if(r.push(t),t.isError)break;if(t.hasNextPage){i=t;break}}return{items:r.flatMap(e=>e.items),totalItems:t,hasNextPage:!!i,isFetchingNextPage:i?.isFetchingNextPage??!1,isLoading:!1,isError:n,fetchNextPage:i?.fetchNextPage??Ei}}function $(e,{resource:t,params:r,context:i},a){let o=Mr(e,r,i),s=l({searchParams:o,enabled:a&&t===`posts`,placeholderData:n}),c=Ct({searchParams:o,enabled:a&&t===`pages`,placeholderData:n}),u=t===`pages`?c:s;return{bucket:e,items:(t===`pages`?c.data?.pages:s.data?.posts)??[],total:u.data?.meta?.pagination.total??0,hasNextPage:u.hasNextPage,isLoading:a&&u.isLoading,isFetchingNextPage:u.isFetchingNextPage,isError:u.isError,fetchNextPage:()=>{u.fetchNextPage()}}}function Oi(e){let t=Or(e.params),n={scheduled:$(`scheduled`,e,t.includes(`scheduled`)),draft:$(`draft`,e,t.includes(`draft`)),publishedAndSent:$(`publishedAndSent`,e,t.includes(`publishedAndSent`))};return Di(br.filter(e=>t.includes(e)).map(e=>n[e]))}var ki=[`delete`,`unpublish`,`unschedule`],Ai=(0,K.lazy)(()=>m(()=>import(`./gift-link-modal-C3H7YFXO.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]),import.meta.url));function ji({resource:e}){let t=kn(e),{params:n,filters:r,order:a,setFilters:o,setOrder:s,hasFilters:c,clearFilters:l}=wi(),{data:u}=i(),{data:d}=U(),f=ct(`improveSendingUI`),p=g();(0,K.useEffect)(()=>{Ie(e,p.search)},[e,p.search]);let m=H(d?.settings,`timezone`)??void 0,h=!!(u&&De(u)),_=!!(u&&Oe(u)),y=d?.settings??null,b=(0,K.useMemo)(()=>({webAnalyticsEnabled:H(y,`web_analytics_enabled`)===!0,membersTrackSources:H(y,`members_track_sources`)===!0,emailTrackOpens:H(y,`email_track_opens`)===!0,emailTrackClicks:H(y,`email_track_clicks`)===!0,membersSignupAccess:H(y,`members_signup_access`)??`all`,isMembersInviteOnly:H(y,`members_signup_access`)===`invite`,isContributor:h}),[y,h]),C=H(y,`paid_members_enabled`)===!0,w=dr(),T=e===`posts`?er(w,n):void 0,E=$n({isAdmin:_,resource:e,params:n,isDefaultView:nt.some(e=>er([{...e,route:`posts`}],n))}),D=c,ne=E&&!D,O=!!(u&&Te(u)),k=u&&O?u.slug:null,{items:A,isLoading:re,isError:ie,hasNextPage:ae,isFetchingNextPage:oe,fetchNextPage:se,totalItems:j}=Oi({resource:e,params:n,context:{ownAuthorSlug:k}}),M=Wr({orderedIds:A.map(e=>e.id),allFilter:Dr(n,{ownAuthorSlug:k}),enabled:!!u&&!O}),le=(0,K.useMemo)(()=>Or(n).map(e=>Ar(e,n,{ownAuthorSlug:k})),[n,k]),N=M.state,P=(0,K.useMemo)(()=>A.filter(e=>Lr(N,e.id)),[A,N]),ue=H(y,`members_signup_access`)!==`none`,de=(0,K.useMemo)(()=>pi({posts:P,resource:e,isAdmin:_,membersEnabled:ue,canCopyGiftLink:!0}),[P,e,_,ue]),I=Rr(N)?P[0]:void 0,fe=I&&Gr({user:u,post:I})?I.id:null,[pe,me]=(0,K.useState)(null),L=Yr(),{data:he}=et(),[R,z]=(0,K.useState)(null),B=li({resource:e,onDeleted:()=>{z(null),M.clear()},onEdited:e=>{z(null),M.keepOnly(e)}}),ge=(0,K.useRef)(de),_e=(0,K.useRef)(()=>{});ge.current=de;let ve=(0,K.useCallback)(()=>ge.current,[]),ye=(0,K.useCallback)(e=>_e.current(e),[]);_e.current=zt({resource:e,posts:P,onShareAsGift:me,onBulkAction:(e,t)=>{if(e===`feature`||e===`unfeature`){B.run(e,t);return}z({key:e,snapshot:t})},selectionFilter:M.filter,bucketFilters:le,isSingle:Rr(N),inverted:N.inverted,count:zr(N,j)});let{visitorCounts:be,memberCounts:xe}=Ti({items:A,webAnalyticsEnabled:b.webAnalyticsEnabled,membersTrackSources:b.membersTrackSources});return(0,q.jsx)(ee,{className:`size-full`,children:(0,q.jsxs)(te,{className:`relative flex h-full flex-col`,size:`page`,children:[(0,q.jsxs)(yt,{"data-testid":`${e}-page`,children:[(0,q.jsxs)(yt.Header,{children:[(0,q.jsxs)(W,{blurredBackground:!1,sticky:!1,children:[(0,q.jsx)(W.Left,{children:(0,q.jsx)(W.Title,{children:t.title})}),(0,q.jsx)(W.Actions,{children:(0,q.jsxs)(W.ActionGroup,{children:[!D&&(0,q.jsx)(Yn,{currentUser:u,filters:r,iconOnly:!0,params:n,resource:e,onFiltersChange:o}),(0,q.jsx)(yr,{order:a,onOrderChange:s}),ne&&(0,q.jsx)(vr,{activeView:T,params:n,resource:e}),(0,q.jsx)(F,{asChild:!0,children:(0,q.jsxs)(`a`,{className:`font-bold`,href:t.newHref,children:[(0,q.jsx)(ce,{className:`size-4`}),(0,q.jsx)(`span`,{className:`hidden sm:inline`,children:t.newLabel})]})})]})})]}),D&&(0,q.jsx)(mt,{children:(0,q.jsx)(Yn,{currentUser:u,filters:r,params:n,resource:e,viewActions:E&&(0,q.jsx)(vr,{activeView:T,params:n,resource:e}),onFiltersChange:o})})]}),(0,q.jsx)(yt.Body,{children:re?(0,q.jsx)(x,{align:`center`,className:`flex-1`,justify:`center`,children:(0,q.jsx)(Ve,{size:`lg`})}):ie?(0,q.jsx)(x,{align:`center`,className:`flex-1`,justify:`center`,children:(0,q.jsxs)(S,{tone:`secondary`,children:[`Error loading `,t.title.toLowerCase()]})}):A.length===0?(0,q.jsx)(x,{align:`center`,className:`flex-1`,justify:`center`,children:(0,q.jsx)(An,{hasFilters:c,resource:e,onClearFilters:l})}):(0,q.jsxs)(x,{gap:`md`,children:[(0,q.jsx)(`ul`,{className:v(`border-t border-border-default`,M.modifierHeld&&[`cursor-default`,`[&_li_*]:pointer-events-none [&_li_*]:cursor-default`,`[&_li_[data-ignore-select]]:pointer-events-auto`,`[&_li_[data-ignore-select]]:cursor-pointer`]),"data-ctrl":M.modifierHeld?`true`:void 0,"data-selection":M.state.inverted?`inverted`:void 0,"data-testid":`posts-list`,children:A.map(t=>(0,q.jsx)(Dn,{getMenuItems:ve,hasAdminAccess:_,improveSendingUI:f,isContributor:h,isSelected:M.isSelected(t.id),memberCounts:xe,menuEnabled:M.enabled,menuOnAction:ye,menuOnOpenChange:M.getContextMenuOpenHandler(t.id),metricsSettings:b,paidMembersEnabled:C,post:t,resource:e,showGiftLink:fe===t.id,timezone:m,visitorCounts:be,onSelectClick:M.onRowClick,onSelectMouseDown:M.onRowMouseDown},t.id))}),ae&&(0,q.jsx)(Dt,{isLoading:oe,onClick:se})]})})]}),R&&ki.includes(R.key)&&(0,q.jsx)(ni,{action:R.key,count:R.snapshot.count,isRunning:B.isRunning,isSingle:R.snapshot.isSingle,resource:e,title:R.snapshot.posts[0]?.title,onCancel:()=>{z(null)},onConfirm:()=>{B.run(R.key,R.snapshot)}}),R?.key===`add-tag`&&(0,q.jsx)(Xr,{isRunning:B.isRunning,onCancel:()=>{z(null)},onConfirm:e=>{B.runWithPayload(`add-tag`,R.snapshot,{tags:e})}}),R?.key===`change-access`&&(0,q.jsx)(ti,{count:R.snapshot.count,currentTiers:R.snapshot.posts[0]?.tiers,currentVisibility:R.snapshot.posts[0]?.visibility,isRunning:B.isRunning,isSingle:R.snapshot.isSingle,resource:e,onCancel:()=>{z(null)},onConfirm:e=>{B.runWithPayload(`change-access`,R.snapshot,e)}}),L.celebration&&L.post&&(0,q.jsx)(qr,{post:L.post,postCount:L.postCount,siteTitle:he?.site.title??``,type:L.celebration.type,wasPublished:L.celebration.wasPublished,onClose:L.dismiss}),pe&&(0,q.jsx)(K.Suspense,{fallback:null,children:(0,q.jsx)(Ai,{postId:pe,resource:e,source:`context-menu`,open:!0,onOpenChange:e=>{e||me(null)}})})]})})}export{ji as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./jsx-runtime-BlNNh7jY.js";import{t}from"./posts-list-screen-CO5jAWoU.js";var n=e();function r(){return(0,n.jsx)(t,{resource:`posts`})}export{r as default};