ghost 6.61.0 → 6.63.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 (619) hide show
  1. package/components/ghost-storage-base-3.0.0.tgz +0 -0
  2. package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
  3. package/components/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
  4. package/components/tryghost-adapter-base-redirects-0.0.0.tgz +0 -0
  5. package/components/tryghost-adapter-base-route-settings-0.0.0.tgz +0 -0
  6. package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
  7. package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
  8. package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
  9. package/components/tryghost-checkout-0.0.0.tgz +0 -0
  10. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  11. package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
  12. package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
  13. package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
  14. package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
  15. package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
  16. package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
  17. package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
  18. package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
  19. package/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
  20. package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
  21. package/components/tryghost-limit-service-0.0.0.tgz +0 -0
  22. package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
  23. package/components/tryghost-nql-string-0.0.0.tgz +0 -0
  24. package/components/tryghost-parse-email-address-0.0.0.tgz +0 -0
  25. package/content/settings/README.md +1 -1
  26. package/content/themes/casper/.gitignore +28 -0
  27. package/content/themes/casper/assets/built/casper.js +1 -1
  28. package/content/themes/casper/assets/built/screen.css +1 -1
  29. package/content/themes/casper/assets/css/screen.css +2 -1
  30. package/content/themes/casper/assets/js/lightbox.js +63 -46
  31. package/content/themes/casper/package.json +6 -6
  32. package/content/themes/casper/page.hbs +1 -0
  33. package/content/themes/casper/post.hbs +1 -0
  34. package/content/themes/source/.gitignore +28 -0
  35. package/content/themes/source/assets/built/screen.css +1 -1
  36. package/content/themes/source/assets/built/source.js +1 -1
  37. package/content/themes/source/assets/css/screen.css +2 -1
  38. package/content/themes/source/assets/js/lightbox.js +62 -45
  39. package/content/themes/source/assets/js/main.js +2 -2
  40. package/content/themes/source/package.json +4 -4
  41. package/content/themes/source/partials/feature-image.hbs +1 -0
  42. package/content/themes/source/partials/post-card.hbs +1 -1
  43. package/core/boot.js +61 -27
  44. package/core/built/admin/assets/Combination-B0l4MKVh.js +41 -0
  45. package/core/built/admin/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
  46. package/core/built/admin/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
  47. package/core/built/admin/assets/{about-Bve7IJS2.js → about-C1C3s5-g.js} +1 -1
  48. package/core/built/admin/assets/accordion-CxGsDKwa.js +1 -0
  49. package/core/built/admin/assets/account-migration-CbUhW6gk.js +1 -0
  50. package/core/built/admin/assets/activitypub/{account-migration-C-aej4x_.js → account-migration-KA6Jjf9L.js} +16 -16
  51. package/core/built/admin/assets/activitypub/activitypub.js +9 -9
  52. package/core/built/admin/assets/activitypub/{avatar-DLPL3Abs.js → avatar-DVJF5bxP.js} +2 -2
  53. package/core/built/admin/assets/activitypub/{avatar-flipboard-C9iDY-QV.js → avatar-flipboard-csQaNeYK.js} +2 -2
  54. package/core/built/admin/assets/activitypub/{bluesky-sharing-BXkA5mqV.js → bluesky-sharing-C7nTDMvw.js} +37 -37
  55. package/core/built/admin/assets/activitypub/{content-formatters-CHcyMFk4.js → content-formatters-CLcjaBwV.js} +4 -4
  56. package/core/built/admin/assets/activitypub/{copy-DIAOQoCZ.js → copy-DcOh8kXw.js} +2 -2
  57. package/core/built/admin/assets/activitypub/{domain-B3ihkPde.js → domain-fZ-X8i4-.js} +121 -121
  58. package/core/built/admin/assets/activitypub/{edit-profile-DsZM3rTX.js → edit-profile-BqMLQV88.js} +40 -40
  59. package/core/built/admin/assets/activitypub/{explore-BodNrZgR.js → explore-B4yPoP8E.js} +27 -27
  60. package/core/built/admin/assets/activitypub/{feed-PwH1iJ84.js → feed-BRC_mvAe.js} +51 -51
  61. package/core/built/admin/assets/activitypub/{field-D06-kmOJ.js → field-COacNgOt.js} +3 -3
  62. package/core/built/admin/assets/activitypub/{hash-Bm3WxYN4.js → hash-C7u-irQQ.js} +2 -2
  63. package/core/built/admin/assets/activitypub/inbox-BW-yvUoN.js +1284 -0
  64. package/core/built/admin/assets/activitypub/{inbox-d8oJRTf4.js → inbox-CbTTdDQ3.js} +2 -2
  65. package/core/built/admin/assets/activitypub/label-kPMmYI7l.js +16 -0
  66. package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +1 -0
  67. package/core/built/admin/assets/activitypub/{moderation-D1Yapsod.js → moderation-CuidJzc0.js} +91 -91
  68. package/core/built/admin/assets/activitypub/{note-C5zjqq5C.js → note-CAMRRSqD.js} +24 -24
  69. package/core/built/admin/assets/activitypub/{notifications-B9p8eCHD.js → notifications-BmNlXGgp.js} +51 -51
  70. package/core/built/admin/assets/activitypub/{onboarding-CNelD_uF.js → onboarding-Bqg7fh_L.js} +2 -2
  71. package/core/built/admin/assets/activitypub/{onboarding-mat5Hrl0.js → onboarding-Dmun9jr_.js} +2 -2
  72. package/core/built/admin/assets/activitypub/{preferences-BCqUdC3v.js → preferences--oH19wf9.js} +1519 -1519
  73. package/core/built/admin/assets/activitypub/{profile-BRCWoFem.js → profile-DH_tQx2D.js} +185 -185
  74. package/core/built/admin/assets/activitypub/{reply-DYK5vVqb.js → reply-Cap9PxSH.js} +2 -2
  75. package/core/built/admin/assets/activitypub/{routes-BSXT992i.js → routes-DdyY9uFF.js} +744 -735
  76. package/core/built/admin/assets/activitypub/{separator-BbQqTm-p.js → separator-CAxxu8VV.js} +3 -3
  77. package/core/built/admin/assets/activitypub/settings-B6EEcVkW.js +315 -0
  78. package/core/built/admin/assets/activitypub/{site-DHoMupSB.js → site-BYps63oh.js} +2 -2
  79. package/core/built/admin/assets/activitypub/{step-1-B-YfsVeO.js → step-1-CKjR2KAm.js} +6 -6
  80. package/core/built/admin/assets/activitypub/{step-2-DtPQzlTH.js → step-2-B6PKfOUQ.js} +6 -6
  81. package/core/built/admin/assets/activitypub/{step-3-D6BFMXL_.js → step-3-C-qBbcUo.js} +11 -11
  82. package/core/built/admin/assets/activitypub/{tabs-GpNecvfB.js → tabs-DLhZtVde.js} +306 -306
  83. package/core/built/admin/assets/activitypub/{topic-filter-BPDeQQys.js → topic-filter-DsUOuu0k.js} +3 -3
  84. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-BoVOxXkV.js → use-activity-pub-queries-CX9snsLs.js} +3 -3
  85. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Bmk5h4lW.js → use-navigate-with-base-path-DsJTGDSS.js} +988 -959
  86. package/core/built/admin/assets/activitypub/{use-reply-chain-data-wVBX7swM.js → use-reply-chain-data-AJi9zkzm.js} +30 -30
  87. package/core/built/admin/assets/activitypub/{users-CoX6FT_K.js → users-inweyKL5.js} +192 -164
  88. package/core/built/admin/assets/activitypub/{x-DbQZOLiI.js → x-DR8AT3-4.js} +2 -2
  89. package/core/built/admin/assets/add-integration-modal-BT_onDJy.js +1 -0
  90. package/core/built/admin/assets/add-newsletter-modal-Cx1kQpiY.js +1 -0
  91. package/core/built/admin/assets/add-recommendation-modal-B5nvAhvr.js +1 -0
  92. package/core/built/admin/assets/analytics-DjoJWPI7.js +1 -0
  93. package/core/built/admin/assets/{announcement-bar-modal-DM3cYOpo.js → announcement-bar-modal-Dwd0EGFP.js} +1 -1
  94. package/core/built/admin/assets/{api-keys-3-0vJC3Y.js → api-keys-BGPzLHzA.js} +1 -1
  95. package/core/built/admin/assets/{api-keys-BLm2NDBh.js → api-keys-BoeacM-s.js} +1 -1
  96. package/core/built/admin/assets/{audience-9mwU5TW6.js → audience-ceV3XVHq.js} +1 -1
  97. package/core/built/admin/assets/automated-emails-BLesE41L.js +1 -0
  98. package/core/built/admin/assets/{automations-sAcJ1334.js → automations-BN4u3GR8.js} +1 -1
  99. package/core/built/admin/assets/automations-C-ZTUwW3.js +1 -0
  100. package/core/built/admin/assets/bluesky-sharing-vzh-oPXL.js +1 -0
  101. package/core/built/admin/assets/{breadcrumb-DLiqCyFc.js → breadcrumb-CaLk2b7D.js} +1 -1
  102. package/core/built/admin/assets/{button-B2jcu6bk.js → button-Dvcv1QSR.js} +1 -1
  103. package/core/built/admin/assets/calendar-Bl9RLcZX.js +1 -0
  104. package/core/built/admin/assets/{chart-helpers-Fo3bUL3K.js → chart-helpers-FHywU0pj.js} +1 -1
  105. package/core/built/admin/assets/{checkbox-BfKktMph.js → checkbox-BtayFtjg.js} +1 -1
  106. package/core/built/admin/assets/chunk.254.035b85ec456ebbd7336b.js +440 -0
  107. package/core/built/admin/assets/{chunk.524.60ca4692d91c6022042f.js → chunk.524.e6975095fccdf22d90f8.js} +5 -5
  108. package/core/built/admin/assets/{chunk.582.525c7617c2d9e94c940a.js → chunk.582.98b485f9b2802f540897.js} +6 -6
  109. package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js → chunk.901.4ccc639821020230bcca.js} +9949 -7921
  110. package/core/built/admin/assets/{code-editor-view-DCQJxsfU.js → code-editor-view-C3ZfoF1X.js} +1 -1
  111. package/core/built/admin/assets/{code-editor-view-CYVu4EW6.js → code-editor-view-CAyRWy1s.js} +1 -1
  112. package/core/built/admin/assets/color-picker-G4kGR7rp.js +3 -0
  113. package/core/built/admin/assets/color-picker-field-DQFVTNnT.js +1 -0
  114. package/core/built/admin/assets/combobox-BnYzgEB4.js +1 -0
  115. package/core/built/admin/assets/command-C_vyTikI.js +1 -0
  116. package/core/built/admin/assets/comments-aBrxfnZf.js +1 -0
  117. package/core/built/admin/assets/{config-DOMQDZGZ.js → config-kSHvwdTG.js} +1 -1
  118. package/core/built/admin/assets/confirmation-context-DwXX_Y5h.js +1 -0
  119. package/core/built/admin/assets/{content-api-modal-CyQEC3fr.js → content-api-modal-D2G0nJP6.js} +1 -1
  120. package/core/built/admin/assets/context-menu-DOVB6yaz.js +1 -0
  121. package/core/built/admin/assets/{copy-field-B3M1s78L.js → copy-field-DCJwh9qf.js} +1 -1
  122. package/core/built/admin/assets/create-ghost-browse-value-source-5C53jJaX.js +1 -0
  123. package/core/built/admin/assets/custom-field-type-option-BAuW0F-E.js +1 -0
  124. package/core/built/admin/assets/custom-integration-modal-AbJGVyKc.js +1 -0
  125. package/core/built/admin/assets/{date-range-select-DD2RKkgB.js → date-range-select-BY3K-ukj.js} +1 -1
  126. package/core/built/admin/assets/design-and-theme-modal-BvEy4_pC.js +2 -0
  127. package/core/built/admin/assets/dirty-confirm-dialog-DVPuGz3U.js +1 -0
  128. package/core/built/admin/assets/{disabled-sources-indicator-Cvy47bE2.js → disabled-sources-indicator-Cy7Zp4c8.js} +1 -1
  129. package/core/built/admin/assets/dist-Dcsslyo72.js +1 -0
  130. package/core/built/admin/assets/domain-Dl61QGuk.js +1 -0
  131. package/core/built/admin/assets/dropzone-Dtz5Rmjt.js +5 -0
  132. package/core/built/admin/assets/edit-profile-DNJSMDwm.js +1 -0
  133. package/core/built/admin/assets/editor-DbAen9zf.js +8 -0
  134. package/core/built/admin/assets/editor-screen-BFWThIai.js +26 -0
  135. package/core/built/admin/assets/email-sending-status-context-CWDOD1FN.js +1 -0
  136. package/core/built/admin/assets/email-sending-status-provider-DCPkDICt.js +1 -0
  137. package/core/built/admin/assets/emails-vFMk4yYl.js +1 -0
  138. package/core/built/admin/assets/{embed-signup-form-modal-DeBMLxlL.js → embed-signup-form-modal-DGqsORxS.js} +1 -1
  139. package/core/built/admin/assets/en-B1jX3WMs.js +1 -0
  140. package/core/built/admin/assets/explore-nnRr1Fja.js +1 -0
  141. package/core/built/admin/assets/feature-flag-overrides-context-DQjdJFAk.js +1 -0
  142. package/core/built/admin/assets/feature-image-placeholder-BrIHmPs8.js +1 -0
  143. package/core/built/admin/assets/feed-BNUcNu-W.js +1 -0
  144. package/core/built/admin/assets/feedback-DJ4Zb9rZ.js +1 -0
  145. package/core/built/admin/assets/{field-Cj8lmDOo.js → field-C93_Mg6j.js} +1 -1
  146. package/core/built/admin/assets/filter-bar-Da1qxybu.js +1 -0
  147. package/core/built/admin/assets/filter-sources-CGJb4C5r.js +1 -0
  148. package/core/built/admin/assets/filters--kKP-EC8.js +1 -0
  149. package/core/built/admin/assets/filters-DxA_a4FP.js +1 -0
  150. package/core/built/admin/assets/first-promoter-modal-BYDtrz2S.js +1 -0
  151. package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-BbSnGOtK.js +1 -0
  152. package/core/built/admin/assets/{ghost-c8807202a07c20030acb719ee0114815.css → ghost-8fd5bb799356bbefb254210ba7e1236d.css} +1 -1
  153. package/core/built/admin/assets/{ghost-3894eedcc6968f658578c0abfe942aab.js → ghost-b4e8a403baba61905cd7560e30b9732d.js} +63 -44
  154. package/core/built/admin/assets/{ghost-dark-fbf1e384aaef3ae315e540f0eb7373a7.css → ghost-dark-cac0cb2d5bb78e9bd14d8d1c2768ed45.css} +1 -1
  155. package/core/built/admin/assets/gift-link-modal-B7u5bD4e.js +1 -0
  156. package/core/built/admin/assets/{gift-links-DLDS7ljO.js → gift-links-CfLSnst2.js} +1 -1
  157. package/core/built/admin/assets/{growth-D6mhcx3q.js → growth-Cd1uO9d2.js} +1 -1
  158. package/core/built/admin/assets/growth-aG32xfdE.js +3 -0
  159. package/core/built/admin/assets/history-modal-Df8lW8h-.js +1 -0
  160. package/core/built/admin/assets/hooks-Cy_-oZ4o.js +2 -0
  161. package/core/built/admin/assets/{html-field-C8qVGGC1.js → html-field-DA4eU7eq.js} +1 -1
  162. package/core/built/admin/assets/{images-h8VZEQ9k.js → images-KXmyO3Ss.js} +1 -1
  163. package/core/built/admin/assets/{inbox-BYd1M06Q.js → inbox-gJHG7_xd.js} +14 -14
  164. package/core/built/admin/assets/index-BHHXtR5C.css +2 -0
  165. package/core/built/admin/assets/index-CgMCwsxN.js +4 -0
  166. package/core/built/admin/assets/index.es-CY6-yuw9.js +1 -0
  167. package/core/built/admin/assets/{input-group-D8sCXRF5.js → input-group-BE8rM2y1.js} +1 -1
  168. package/core/built/admin/assets/{integrations-Bjbu86Z0.js → integrations-B4kuRBFY.js} +1 -1
  169. package/core/built/admin/assets/invite-user-modal-B4CuNcx4.js +1 -0
  170. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +14 -14
  171. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +3 -3
  172. package/core/built/admin/assets/koenig-lexical/style.css +1 -1
  173. package/core/built/admin/assets/{koenig-lexical-_-IsVI7E.js → koenig-lexical-CGXb0F8o.js} +3 -3
  174. package/core/built/admin/assets/koenig-loader-BeM5rFPX.js +2 -0
  175. package/core/built/admin/assets/{kpi-card-DZQk_0W8.js → kpi-card-B21aToe8.js} +1 -1
  176. package/core/built/admin/assets/{kpi-card-DW_2y3ug.js → kpi-card-pz6Wv4Ae.js} +1 -1
  177. package/core/built/admin/assets/{kpi-helpers-PueTKuA6.js → kpi-helpers-Dq5jelmP.js} +1 -1
  178. package/core/built/admin/assets/{kpi-tabs-CojDs-Qz.js → kpi-tabs-DEZHpKUt.js} +1 -1
  179. package/core/built/admin/assets/{label-DjbT91GM.js → label-OLCzze8N.js} +1 -1
  180. package/core/built/admin/assets/label-picker-BigOvMPV.js +1 -0
  181. package/core/built/admin/assets/{labels-CH3Kn8RV.js → labels-Dr0SgUQD.js} +1 -1
  182. package/core/built/admin/assets/layout-DUTL8SH5.js +1 -0
  183. package/core/built/admin/assets/lib-7QPTI0FS.js +1 -0
  184. package/core/built/admin/assets/link-helpers-BRAg9SCj.js +1 -0
  185. package/core/built/admin/assets/links-BDHPTlyj.js +1 -0
  186. package/core/built/admin/assets/member-custom-fields-TRTHCAz9.js +1 -0
  187. package/core/built/admin/assets/member-detail-b6dRwc3C.js +1 -0
  188. package/core/built/admin/assets/members-Czt5lJSc.js +4 -0
  189. package/core/built/admin/assets/moderation-ZWefD9uH.js +1 -0
  190. package/core/built/admin/assets/{multi-select-combobox-B6LiRzDO.js → multi-select-combobox-CT13MTo-.js} +1 -1
  191. package/core/built/admin/assets/navigation-modal-C8FEhBK5.js +1 -0
  192. package/core/built/admin/assets/newsletter-5VYW4RyJ.js +1 -0
  193. package/core/built/admin/assets/newsletter-detail-modal-ChjC0ZqH.js +1 -0
  194. package/core/built/admin/assets/{newsletter-emails-CFeLlt4z.js → newsletter-emails-DZH6I-PY.js} +1 -1
  195. package/core/built/admin/assets/newsletters-DOC9KBcX.js +1 -0
  196. package/core/built/admin/assets/newsletters-Rq1M3GD-.js +1 -0
  197. package/core/built/admin/assets/note-DIV-Pojr.js +1 -0
  198. package/core/built/admin/assets/notifications-s20-H49V.js +1 -0
  199. package/core/built/admin/assets/nql-BLpCn7qX.js +21 -0
  200. package/core/built/admin/assets/{offers-9J1CSiLy.js → offers--e2nGvkW.js} +1 -1
  201. package/core/built/admin/assets/offers-container-modal-BmG5M5Tv.js +1 -0
  202. package/core/built/admin/assets/onboarding-CUuy9unR.js +1 -0
  203. package/core/built/admin/assets/{onboarding-B4YhlZ0i.js → onboarding-pXyct0Jm.js} +1 -1
  204. package/core/built/admin/assets/{onboarding-route-Dmc4IPm3.js → onboarding-route-CK4pcXoR.js} +1 -1
  205. package/core/built/admin/assets/overview-CaPsciMs.js +1 -0
  206. package/core/built/admin/assets/overview-a8GfcsKX.js +1 -0
  207. package/core/built/admin/assets/{page-header-BR_nbIPp.js → page-header-DM_KyoFI.js} +1 -1
  208. package/core/built/admin/assets/pagemenu-vgZVUVKR.js +1 -0
  209. package/core/built/admin/assets/pages-CjDY2CBI.js +1 -0
  210. package/core/built/admin/assets/pages-route-BzKZYdV5.js +1 -0
  211. package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +10 -0
  212. package/core/built/admin/assets/{pintura-modal-BR9hEvS8.js → pintura-modal-DExCF1ii.js} +1 -1
  213. package/core/built/admin/assets/portal-frame-Cqanidq4.js +1 -0
  214. package/core/built/admin/assets/portal-modal-oinBgA27.js +1 -0
  215. package/core/built/admin/assets/post-analytics-C5oJ1dWV.js +1 -0
  216. package/core/built/admin/assets/post-analytics-header-OATo3X_r.js +1 -0
  217. package/core/built/admin/assets/post-analytics-provider-tOpIVGT5.js +1 -0
  218. package/core/built/admin/assets/post-helpers-C88JBa4D.js +1 -0
  219. package/core/built/admin/assets/post-share-modal-DvhC1XgV.js +1 -0
  220. package/core/built/admin/assets/post-utils-DKF4mfuo.js +1 -0
  221. package/core/built/admin/assets/posts-list-screen-o4ZjbgS3.js +2 -0
  222. package/core/built/admin/assets/posts-pCPrhQeR.js +1 -0
  223. package/core/built/admin/assets/posts-route-9F--xdIb.js +1 -0
  224. package/core/built/admin/assets/preferences--vNubsqD.js +5 -0
  225. package/core/built/admin/assets/{preview-modal-C-BL-F9k.js → preview-modal-YYbzlYdO.js} +1 -1
  226. package/core/built/admin/assets/profile-BllKV3dR.js +1 -0
  227. package/core/built/admin/assets/{radio-group-Bgz60i81.js → radio-group-DL8GI8rt.js} +1 -1
  228. package/core/built/admin/assets/{referrers-CnhCMWCs.js → referrers-D8oHPmDB.js} +1 -1
  229. package/core/built/admin/assets/router-provider-BSvTXgZY.js +1 -0
  230. package/core/built/admin/assets/schemas-BoYdB6YU.js +64 -0
  231. package/core/built/admin/assets/select-v5YbA3Mw.js +1 -0
  232. package/core/built/admin/assets/settings-PEsZupw1.js +4 -0
  233. package/core/built/admin/assets/{settings-breadcrumbs-CyP_9zTo.js → settings-breadcrumbs-NwPnCTC7.js} +1 -1
  234. package/core/built/admin/assets/settings-u_s1CRkr.js +1 -0
  235. package/core/built/admin/assets/share-modal-SskCmVGL.js +1 -0
  236. package/core/built/admin/assets/slack-modal-XxSJiYgo.js +1 -0
  237. package/core/built/admin/assets/{sort-button-Cc-Z96sA.js → sort-button-Cx1KtINE.js} +1 -1
  238. package/core/built/admin/assets/{source-icon-v6PUnmyM.js → source-icon-Bdp9Im_5.js} +1 -1
  239. package/core/built/admin/assets/stats-D9PDLS3x.js +1 -0
  240. package/core/built/admin/assets/stats-view-W2g6Jsd-.js +1 -0
  241. package/core/built/admin/assets/{step-1-DSRp2vBj.js → step-1-BQYzvBzr.js} +1 -1
  242. package/core/built/admin/assets/{step-2-COqv2g0u.js → step-2-xES32xJV.js} +1 -1
  243. package/core/built/admin/assets/{step-3-6W1NMVQc.js → step-3-DA_XK5kW.js} +2 -2
  244. package/core/built/admin/assets/{stripe-button-D2K42Uty.js → stripe-button-CVsLHelt.js} +1 -1
  245. package/core/built/admin/assets/stripe-connect-modal-ClmLOMGS.js +1 -0
  246. package/core/built/admin/assets/style-Wd9nQubI.css +1 -0
  247. package/core/built/admin/assets/{table-B2pIKjVh.js → table-BenqVupI.js} +1 -1
  248. package/core/built/admin/assets/{tabs-SaW_UT-Q.js → tabs-eBBlxPp8.js} +1 -1
  249. package/core/built/admin/assets/tag-detail-Ce8Se2qd.js +2 -0
  250. package/core/built/admin/assets/tag-picker-C3UR-uJ-.js +1 -0
  251. package/core/built/admin/assets/tags-B-kJxCs7.js +1 -0
  252. package/core/built/admin/assets/{tags-zTFiKRpb.js → tags-ChfdwJyS.js} +1 -1
  253. package/core/built/admin/assets/testimonials-modal-9Q6fT06V.js +1 -0
  254. package/core/built/admin/assets/tier-detail-modal-CDyYdqK7.js +1 -0
  255. package/core/built/admin/assets/tiers-BCpIOGQr.js +1 -0
  256. package/core/built/admin/assets/{toggle-group-EM9WpESu.js → toggle-group-CviIkyok.js} +1 -1
  257. package/core/built/admin/assets/{topic-filter-DY4gNHn2.js → topic-filter-I2jCBGxm.js} +1 -1
  258. package/core/built/admin/assets/{transistor-modal-CpyPG-MH.js → transistor-modal-p53u3W8y.js} +1 -1
  259. package/core/built/admin/assets/{trend-badge-ByMkuAuH.js → trend-badge-CideVzQd.js} +1 -1
  260. package/core/built/admin/assets/{unsplash-modal-Cv2Q6GtY.js → unsplash-modal-DY8UcKcE.js} +1 -1
  261. package/core/built/admin/assets/{use-analytics-data-CHvjMYuT.js → use-analytics-data-DAIGcr2f.js} +1 -1
  262. package/core/built/admin/assets/use-check-theme-limit-error-B8bjF-gO.css +1 -0
  263. package/core/built/admin/assets/{use-check-theme-limit-error-Qv4SVXqw.js → use-check-theme-limit-error-DRUjK4YM.js} +1 -1
  264. package/core/built/admin/assets/use-filter-params-JkZhIS8L.js +1 -0
  265. package/core/built/admin/assets/{use-filterable-api-CzXcpUh8.js → use-filterable-api-BVEVMrhZ.js} +1 -1
  266. package/core/built/admin/assets/use-growth-stats-937CUj6j.js +1 -0
  267. package/core/built/admin/assets/use-host-limits-D0Dv3tKA.js +1 -0
  268. package/core/built/admin/assets/{use-limiter-cwJvsNBo.js → use-limiter-CohWfzvK.js} +1 -1
  269. package/core/built/admin/assets/{use-navigate-with-base-path-BHPA228f.js → use-navigate-with-base-path-BkxcPj5l.js} +1 -1
  270. package/core/built/admin/assets/use-pintura-config-xgytjU35.js +1 -0
  271. package/core/built/admin/assets/{use-pintura-editor-BDBXWUYq.js → use-pintura-editor-CaV1mbfO.js} +1 -1
  272. package/core/built/admin/assets/{use-post-referrers-DbY-mzci.js → use-post-referrers-BCQI7fDg.js} +1 -1
  273. package/core/built/admin/assets/use-reply-chain-data-CYRhoaxY.js +1 -0
  274. package/core/built/admin/assets/{use-router-history-entry-Bg6BhBQQ.js → use-router-history-entry-NOKcd--l.js} +1 -1
  275. package/core/built/admin/assets/{use-setting-group-VM7FQwMY.js → use-setting-group-bLKMwoBT.js} +1 -1
  276. package/core/built/admin/assets/use-settings-navigation-B-qrriKD.js +1 -0
  277. package/core/built/admin/assets/{use-simple-pagination-Dum6Irbs.js → use-simple-pagination-CNPd6Rf6.js} +1 -1
  278. package/core/built/admin/assets/use-staff-users-pRIMIyiW.js +1 -0
  279. package/core/built/admin/assets/use-tinybird-query-CmdbCS9X.js +1 -0
  280. package/core/built/admin/assets/use-tinybird-token-KLne235s.js +1 -0
  281. package/core/built/admin/assets/{use-unsaved-changes-guard-BAy0RANR.js → use-unsaved-changes-guard-7-ug0JdH.js} +1 -1
  282. package/core/built/admin/assets/use-upgrade-route-Dm_qqKr0.js +1 -0
  283. package/core/built/admin/assets/{use-url-input-Df5QzNa7.js → use-url-input-fvp-TpPx.js} +1 -1
  284. package/core/built/admin/assets/user-detail-modal-D3KlGYv-.js +1 -0
  285. package/core/built/admin/assets/users-DVNWrqg9.js +1 -0
  286. package/core/built/admin/assets/{vendor-5753232c7d6ffb3c44e1eb0a02133953.js → vendor-2dd263291938d407802568d3357ec69e.js} +19 -17
  287. package/core/built/admin/assets/{virtual-list-DEx8WgiO.js → virtual-list-CZ3RK2Yf.js} +1 -1
  288. package/core/built/admin/assets/web-ClEJsCAj.js +2 -0
  289. package/core/built/admin/assets/web-X9rdnrtq.js +1 -0
  290. package/core/built/admin/assets/{zapier-modal-Cw3BTBUu.js → zapier-modal-DfVhV17j.js} +1 -1
  291. package/core/built/admin/index.html +23 -27
  292. package/core/frontend/apps/private-blogging/lib/views/private.hbs +44 -43
  293. package/core/frontend/helpers/cancel_link.js +2 -2
  294. package/core/frontend/helpers/pagination.js +2 -2
  295. package/core/frontend/helpers/social_accounts.js +2 -2
  296. package/core/frontend/public/ghost.css +1 -1
  297. package/core/frontend/public/ghost.min.css +1 -1
  298. package/core/frontend/services/sitemap/user-map-generator.js +9 -2
  299. package/core/server/adapters/jobs/InMemoryJobsBackend.js +74 -29
  300. package/core/server/api/endpoints/authentication.js +1 -2
  301. package/core/server/api/endpoints/authors-public.js +15 -5
  302. package/core/server/api/endpoints/emails.js +13 -0
  303. package/core/server/api/endpoints/index.js +10 -2
  304. package/core/server/api/endpoints/mail.js +1 -1
  305. package/core/server/api/endpoints/member-metafields-members.js +23 -0
  306. package/core/server/api/endpoints/member-metafields.js +102 -0
  307. package/core/server/api/endpoints/members-account.js +42 -0
  308. package/core/server/api/endpoints/members.js +4 -4
  309. package/core/server/api/endpoints/newsletters-public.js +10 -1
  310. package/core/server/api/endpoints/pages-public.js +15 -5
  311. package/core/server/api/endpoints/posts-public.js +15 -5
  312. package/core/server/api/endpoints/posts.js +3 -3
  313. package/core/server/api/endpoints/tags-public.js +22 -3
  314. package/core/server/api/endpoints/tiers-checkout-config.js +2 -2
  315. package/core/server/api/endpoints/tiers-public.js +38 -1
  316. package/core/server/api/endpoints/users.js +2 -2
  317. package/core/server/api/endpoints/utils/api-filter-utils.js +170 -3
  318. package/core/server/api/endpoints/utils/public-cache-keys.js +3 -0
  319. package/core/server/api/endpoints/utils/serializers/input/authors.js +2 -0
  320. package/core/server/api/endpoints/utils/serializers/input/members.js +20 -9
  321. package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -0
  322. package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -0
  323. package/core/server/api/endpoints/utils/serializers/input/tags.js +2 -0
  324. package/core/server/api/endpoints/utils/serializers/output/emails.js +7 -0
  325. package/core/server/api/endpoints/utils/serializers/output/index.js +6 -2
  326. package/core/server/api/endpoints/utils/serializers/output/member-metafields.js +18 -0
  327. package/core/server/api/endpoints/utils/serializers/output/members-account.js +19 -0
  328. package/core/server/api/endpoints/utils/serializers/output/members-csv-transform.js +1 -1
  329. package/core/server/api/endpoints/utils/serializers/output/members.js +2 -4
  330. package/core/server/api/endpoints/utils/serializers/output/tiers.js +10 -2
  331. package/core/server/api/endpoints/utils/serializers/output/users.js +0 -10
  332. package/core/server/api/endpoints/utils/validators/input/invitations.js +0 -5
  333. package/core/server/api/endpoints/utils/validators/input/pages.js +1 -1
  334. package/core/server/api/endpoints/utils/validators/input/posts.js +1 -1
  335. package/core/server/data/exporter/table-lists.js +3 -3
  336. package/core/server/data/importer/importers/data/data-importer.js +3 -3
  337. package/core/server/data/migrations/utils/migrations.js +1 -1
  338. package/core/server/data/migrations/versions/6.53/2026-07-15-20-22-53-add-members-custom-field-values.js +1 -1
  339. package/core/server/data/migrations/versions/6.57/2026-08-04-18-00-00-store-custom-field-values-as-leaf-rows.js +10 -1
  340. package/core/server/data/migrations/versions/6.63/2026-09-03-10-07-03-rename-custom-field-tables-to-metafields.js +169 -0
  341. package/core/server/data/migrations/versions/6.63/2026-09-03-11-03-31-remove-member-custom-field-read-permissions.js +30 -0
  342. package/core/server/data/schema/fixtures/fixtures.json +0 -11
  343. package/core/server/data/schema/lib/default-index-name.js +8 -11
  344. package/core/server/data/schema/schema.js +18 -18
  345. package/core/server/data/seeders/README.md +48 -0
  346. package/core/server/data/tinybird/pipes/mv_hits.pipe +86 -50
  347. package/core/server/lib/db-types/count.js +16 -0
  348. package/core/server/lib/image/image-size.js +24 -0
  349. package/core/server/lib/package-json/parse.js +2 -2
  350. package/core/server/lib/validate-password.js +81 -120
  351. package/core/server/models/action.js +4 -4
  352. package/core/server/models/base/plugins/filtered-collection.js +16 -0
  353. package/core/server/models/member.js +10 -21
  354. package/core/server/models/post.js +2 -2
  355. package/core/server/models/relations/authors.js +2 -16
  356. package/core/server/models/user.js +10 -3
  357. package/core/server/services/auth/passwordreset.js +13 -0
  358. package/core/server/services/automations/automations-api.js +1 -1
  359. package/core/server/services/automations/database-automations-repository.js +11 -4
  360. package/core/server/services/comments/comments-controller.js +30 -9
  361. package/core/server/services/comments/comments-service.js +55 -5
  362. package/core/server/services/content-import/csv/formula.js +12 -0
  363. package/core/server/services/content-import/csv/index.js +6 -1
  364. package/core/server/services/content-import/csv/parse.js +27 -6
  365. package/core/server/services/content-import/csv/serialize.js +13 -0
  366. package/core/server/services/content-import/import/completion-email.js +164 -0
  367. package/core/server/services/content-import/import/errors-file.js +36 -0
  368. package/core/server/services/content-import/import/importer.js +160 -53
  369. package/core/server/services/content-import/import/local-media-url.js +63 -0
  370. package/core/server/services/content-import/import/media.js +254 -0
  371. package/core/server/services/content-import/import/post-data.js +0 -1
  372. package/core/server/services/content-import/import/post-link.js +11 -0
  373. package/core/server/services/content-import/import/post-repository.js +25 -3
  374. package/core/server/services/content-import/import/reader.js +9 -2
  375. package/core/server/services/content-import/import/report.js +34 -0
  376. package/core/server/services/content-import/import/row.js +0 -2
  377. package/core/server/services/content-import/import/schema.js +1 -0
  378. package/core/server/services/content-import/import/staged-file.js +29 -0
  379. package/core/server/services/content-import/import/store.js +25 -2
  380. package/core/server/services/content-import/index.js +52 -6
  381. package/core/server/services/content-import/jobs/content-csv-import-job.js +20 -0
  382. package/core/server/services/custom-redirects/redirect-config-parser.js +2 -2
  383. package/core/server/services/custom-redirects/redirects-service.js +1 -1
  384. package/core/server/services/custom-redirects/validation.js +1 -1
  385. package/core/server/services/email-address/email-address-parser.js +30 -38
  386. package/core/server/services/email-address/email-address-service.js +37 -4
  387. package/core/server/services/email-analytics/index.js +2 -7
  388. package/core/server/services/email-service/CONTEXT.md +37 -0
  389. package/core/server/services/email-service/README.md +42 -0
  390. package/core/server/services/email-service/batch-sending-service.js +2 -4
  391. package/core/server/services/email-service/email-controller.js +18 -2
  392. package/core/server/services/email-service/email-renderer.js +14 -4
  393. package/core/server/services/email-service/email-service-wrapper.js +3 -9
  394. package/core/server/services/email-service/mailgun-email-provider.js +20 -9
  395. package/core/server/services/email-service/sending-status-schema.js +21 -0
  396. package/core/server/services/email-service/sending-status-serializers.js +33 -0
  397. package/core/server/services/email-service/sending-status-service.js +47 -0
  398. package/core/server/services/email-service/sending-status.js +111 -0
  399. package/core/server/services/email-suppression-list/email-suppression-list.js +0 -33
  400. package/core/server/services/email-suppression-list/mailgun-email-suppression-list.js +6 -7
  401. package/core/server/services/gifts/README.md +2 -2
  402. package/core/server/services/gifts/constants.js +1 -1
  403. package/core/server/services/gifts/email-templates/gift-delivery.hbs +3 -3
  404. package/core/server/services/gifts/gift-email-service.js +0 -1
  405. package/core/server/services/gifts/gift-service.js +19 -57
  406. package/core/server/services/gifts/index.js +3 -5
  407. package/core/server/services/gifts/jobs/index.js +4 -4
  408. package/core/server/services/indexnow-ping/indexnow-ping-service.js +2 -2
  409. package/core/server/services/invitations/accept.js +4 -2
  410. package/core/server/services/jobs/job-service.js +0 -9
  411. package/core/server/services/jobs-service/index.js +8 -0
  412. package/core/server/services/jobs-service/jobs-service.js +52 -3
  413. package/core/server/services/jobs-service/register-job-handlers.js +32 -11
  414. package/core/server/services/mail/ghost-mailer.js +4 -4
  415. package/core/server/services/member-welcome-emails/service.js +7 -7
  416. package/core/server/services/members/account-service.js +98 -0
  417. package/core/server/services/members/api.js +4 -3
  418. package/core/server/services/members/import-export/csv/parse.js +0 -7
  419. package/core/server/services/members/import-export/export/exporter.js +20 -20
  420. package/core/server/services/members/import-export/import/completion-email.js +8 -11
  421. package/core/server/services/members/import-export/import/importer.js +13 -13
  422. package/core/server/services/members/import-export/import/row.js +0 -3
  423. package/core/server/services/members/import-export/index.js +10 -17
  424. package/core/server/services/members/jobs/clean-expired-comped-job.js +7 -0
  425. package/core/server/services/members/jobs/clean-expired-comped-task.js +145 -0
  426. package/core/server/services/members/jobs/index.js +48 -24
  427. package/core/server/services/members/members-api/controllers/member-controller.js +11 -0
  428. package/core/server/services/members/members-api/controllers/router-controller.js +3 -6
  429. package/core/server/services/members/members-api/members-api.js +26 -8
  430. package/core/server/services/members/members-api/repositories/event-repository.js +0 -4
  431. package/core/server/services/members/members-api/repositories/member-repository.js +4 -4
  432. package/core/server/services/members/members-api/services/member-bread-service.js +62 -84
  433. package/core/server/services/members/members-api/services/payments-service.js +1 -1
  434. package/core/server/services/members/members-ssr.js +18 -0
  435. package/core/server/services/members/middleware.js +95 -81
  436. package/core/server/services/members/service.js +71 -47
  437. package/core/server/services/members/utils.js +9 -0
  438. package/core/server/services/members-metafields/access.js +28 -0
  439. package/core/server/services/{members-custom-fields → members-metafields}/actions.js +5 -5
  440. package/core/server/services/members-metafields/bindings-service.js +147 -0
  441. package/core/server/services/members-metafields/codec.js +14 -0
  442. package/core/server/services/{members-custom-fields → members-metafields}/config.js +1 -1
  443. package/core/server/services/{members-custom-fields → members-metafields}/definitions-service.js +68 -22
  444. package/core/server/services/members-metafields/filter.js +181 -0
  445. package/core/server/services/{members-custom-fields → members-metafields}/index.js +16 -7
  446. package/core/server/services/{members-custom-fields → members-metafields}/key.js +2 -1
  447. package/core/server/services/{members-custom-fields → members-metafields}/models.js +5 -5
  448. package/core/server/services/members-metafields/namespaces.js +34 -0
  449. package/core/server/services/{members-custom-fields → members-metafields}/queries.js +1 -1
  450. package/core/server/services/{members-custom-fields → members-metafields}/schema.js +16 -12
  451. package/core/server/services/members-metafields/serializers.js +22 -0
  452. package/core/server/services/{members-custom-fields → members-metafields}/values-service.js +80 -48
  453. package/core/server/services/mentions/mention-controller.js +23 -21
  454. package/core/server/services/mentions/mention-sending-service.js +26 -9
  455. package/core/server/services/mentions/process-webmention-job.js +16 -0
  456. package/core/server/services/mentions/send-webmentions-job.js +18 -0
  457. package/core/server/services/mentions/service.js +7 -33
  458. package/core/server/services/route-settings/validation-errors.js +1 -1
  459. package/core/server/services/route-settings/yaml-parser.js +1 -1
  460. package/core/server/services/settings/settings-service.js +1 -8
  461. package/core/server/services/settings-helpers/settings-helpers.js +4 -6
  462. package/core/server/services/slack-ping/slack-ping-service.js +1 -1
  463. package/core/server/services/staff/staff-service-emails.js +2 -2
  464. package/core/server/services/stripe/config.js +14 -8
  465. package/core/server/services/stripe/service.js +10 -1
  466. package/core/server/services/stripe/services/checkout/completed-session.js +2 -2
  467. package/core/server/services/stripe/services/checkout/session-options.js +18 -15
  468. package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +28 -7
  469. package/core/server/services/stripe/stripe-api.js +2 -0
  470. package/core/server/services/stripe/stripe-service.js +24 -14
  471. package/core/server/services/stripe/webhook-controller.js +10 -0
  472. package/core/server/services/tier-checkout-config/codec.js +11 -7
  473. package/core/server/services/tier-checkout-config/index.js +2 -1
  474. package/core/server/services/tier-checkout-config/models.js +11 -5
  475. package/core/server/services/tier-checkout-config/queries.js +12 -12
  476. package/core/server/services/tier-checkout-config/serializers.js +73 -10
  477. package/core/server/services/tier-checkout-config/service.js +14 -13
  478. package/core/server/services/tiers/service.js +3 -3
  479. package/core/server/services/update-check/index.js +13 -13
  480. package/core/server/services/update-check/jobs/update-check-job.js +7 -0
  481. package/core/server/services/update-check/update-check-service.js +2 -2
  482. package/core/server/services/url/router-filter.js +8 -10
  483. package/core/server/services/users.js +1 -19
  484. package/core/server/web/admin/controller.js +1 -1
  485. package/core/server/web/api/endpoints/admin/routes.js +20 -16
  486. package/core/server/web/members/account/index.js +2 -0
  487. package/core/server/web/members/account/routes.js +46 -0
  488. package/core/server/web/members/app.js +4 -18
  489. package/core/shared/config/defaults.json +1 -1
  490. package/core/shared/config/env/config.testing-mysql.json +1 -1
  491. package/core/shared/labs.js +7 -2
  492. package/package.json +42 -41
  493. package/pnpm-lock.yaml +1159 -582
  494. package/pnpm-workspace.yaml +18 -15
  495. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  496. package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
  497. package/core/built/admin/assets/Combination-5fYEzgbs.js +0 -41
  498. package/core/built/admin/assets/account-migration-DRhAehfw.js +0 -1
  499. package/core/built/admin/assets/activitypub/inbox-BluD2ucT.js +0 -1284
  500. package/core/built/admin/assets/activitypub/label-FHSh6ZAw.js +0 -16
  501. package/core/built/admin/assets/activitypub/layout-Cq4NG0Xr.js +0 -1
  502. package/core/built/admin/assets/activitypub/settings-DQDkr06X.js +0 -315
  503. package/core/built/admin/assets/add-integration-modal-BC0jExDZ.js +0 -1
  504. package/core/built/admin/assets/add-newsletter-modal-DchTkA7l.js +0 -1
  505. package/core/built/admin/assets/add-recommendation-modal-DMvaJZKp.js +0 -1
  506. package/core/built/admin/assets/alert-dialog-QhXzdHfc.js +0 -1
  507. package/core/built/admin/assets/analytics-No1DDY3A.js +0 -1
  508. package/core/built/admin/assets/automated-emails-te1D5kq-.js +0 -1
  509. package/core/built/admin/assets/automations-DpUNUdcZ.js +0 -1
  510. package/core/built/admin/assets/bluesky-sharing-Cjrv_f62.js +0 -1
  511. package/core/built/admin/assets/chunk.896.435fe0637944d4a69810.js +0 -366
  512. package/core/built/admin/assets/color-picker-BTY_NdEm.js +0 -3
  513. package/core/built/admin/assets/color-picker-field-CPlkzOH0.js +0 -1
  514. package/core/built/admin/assets/combobox-DrMtv_4P.js +0 -1
  515. package/core/built/admin/assets/command-ZdgYJpoI.js +0 -1
  516. package/core/built/admin/assets/comments-kidj60-h.js +0 -1
  517. package/core/built/admin/assets/confirmation-context-BhbmQQEl.js +0 -1
  518. package/core/built/admin/assets/custom-field-type-option-CsGIZk1J.js +0 -10
  519. package/core/built/admin/assets/custom-integration-modal-BY37O_9X.js +0 -1
  520. package/core/built/admin/assets/design-and-theme-modal-DUSKM4uC.js +0 -22
  521. package/core/built/admin/assets/dialog-B44iRwlc.js +0 -1
  522. package/core/built/admin/assets/dirty-confirm-dialog-BxgQgQ6H.js +0 -1
  523. package/core/built/admin/assets/dist-Cy8tfrp_.js +0 -1
  524. package/core/built/admin/assets/domain-Ca6KhoQt.js +0 -1
  525. package/core/built/admin/assets/dropzone-Bb-5zQTk.js +0 -5
  526. package/core/built/admin/assets/edit-profile-BdupLlus.js +0 -1
  527. package/core/built/admin/assets/editor-BP883Lpn.js +0 -8
  528. package/core/built/admin/assets/explore-FB-CimXw.js +0 -1
  529. package/core/built/admin/assets/feed-C1GxsmI2.js +0 -1
  530. package/core/built/admin/assets/filter-sources-D5n5bFA2.js +0 -1
  531. package/core/built/admin/assets/filters-DJEzkMUK.js +0 -1
  532. package/core/built/admin/assets/filters-MZXvdH5D.js +0 -1
  533. package/core/built/admin/assets/first-promoter-modal-CGTGLCr5.js +0 -1
  534. package/core/built/admin/assets/gift-link-modal-B6v0tnRN.js +0 -1
  535. package/core/built/admin/assets/growth-BGAJD1rs.js +0 -3
  536. package/core/built/admin/assets/history-modal-iKwUY3XR.js +0 -1
  537. package/core/built/admin/assets/hooks-CuEZV2-q.js +0 -2
  538. package/core/built/admin/assets/index-DjQe-e5s.js +0 -4
  539. package/core/built/admin/assets/index-Dqf2x-ry.css +0 -1
  540. package/core/built/admin/assets/index.es-VihPwfeH.js +0 -1
  541. package/core/built/admin/assets/input--W-rCTrX.js +0 -1
  542. package/core/built/admin/assets/invite-user-modal-MdImLCaJ.js +0 -1
  543. package/core/built/admin/assets/koenig-loader-DYZpm6El.js +0 -2
  544. package/core/built/admin/assets/label-picker-cB51xl1r.js +0 -1
  545. package/core/built/admin/assets/layout-c_B_1hax.js +0 -1
  546. package/core/built/admin/assets/link-helpers-MVDdnFCY.js +0 -1
  547. package/core/built/admin/assets/loading-indicator-BpFWTVgh.js +0 -1
  548. package/core/built/admin/assets/member-custom-fields-qs0dIkxM.js +0 -1
  549. package/core/built/admin/assets/member-detail-B6uec2a6.js +0 -1
  550. package/core/built/admin/assets/members-BQF3CqhI.js +0 -2
  551. package/core/built/admin/assets/moderation-DY4wF1Q3.js +0 -1
  552. package/core/built/admin/assets/navigation-modal-DX-gNF3X.js +0 -1
  553. package/core/built/admin/assets/newsletter-CyQA7m3m.js +0 -1
  554. package/core/built/admin/assets/newsletter-detail-modal-BDrptuxn.js +0 -1
  555. package/core/built/admin/assets/newsletters-DXuNmC42.js +0 -1
  556. package/core/built/admin/assets/newsletters-DhNigJUh.js +0 -1
  557. package/core/built/admin/assets/note-Cgo2LCJ6.js +0 -1
  558. package/core/built/admin/assets/notifications-BC50AMku.js +0 -1
  559. package/core/built/admin/assets/offers-container-modal-DWycIMzT.js +0 -1
  560. package/core/built/admin/assets/onboarding-DGQuV7Ew.js +0 -1
  561. package/core/built/admin/assets/overview-CVbFtn-k.js +0 -1
  562. package/core/built/admin/assets/overview-YKj7SZaK.js +0 -1
  563. package/core/built/admin/assets/pages-B6vr9F_D.js +0 -1
  564. package/core/built/admin/assets/popover-CCy0h5rq.js +0 -1
  565. package/core/built/admin/assets/portal-frame-dc4XKr0e.js +0 -1
  566. package/core/built/admin/assets/portal-modal-BvvdF_B9.js +0 -1
  567. package/core/built/admin/assets/post-analytics-DX470WRG.js +0 -1
  568. package/core/built/admin/assets/post-analytics-header-CXpJmdDv.js +0 -1
  569. package/core/built/admin/assets/post-analytics-provider-CLfKGWZy.js +0 -1
  570. package/core/built/admin/assets/post-helpers-C5OQMBoi.js +0 -1
  571. package/core/built/admin/assets/post-share-modal-Cl0NXRJr.js +0 -1
  572. package/core/built/admin/assets/posts-KY3aUhVV.js +0 -1
  573. package/core/built/admin/assets/preferences-DO0UUWFp.js +0 -5
  574. package/core/built/admin/assets/profile-CxT-0l4d.js +0 -1
  575. package/core/built/admin/assets/router-provider-B0gZyiGJ.js +0 -1
  576. package/core/built/admin/assets/schemas-4UPic-oD.js +0 -64
  577. package/core/built/admin/assets/select-DuDUFdPq.js +0 -1
  578. package/core/built/admin/assets/settings-BjCii7BM.js +0 -1
  579. package/core/built/admin/assets/settings-b8kNzZSQ.js +0 -4
  580. package/core/built/admin/assets/share-modal-BV70mr9k.js +0 -1
  581. package/core/built/admin/assets/shim-ClF_m5ux.js +0 -1
  582. package/core/built/admin/assets/slack-modal-Be2_KK-z.js +0 -1
  583. package/core/built/admin/assets/stats-C4reGh9O.js +0 -1
  584. package/core/built/admin/assets/stats-view-DP9pQ62k.js +0 -1
  585. package/core/built/admin/assets/stripe-connect-modal-Z-UT_BGc.js +0 -1
  586. package/core/built/admin/assets/tag-detail-Dc0nTOtU.js +0 -2
  587. package/core/built/admin/assets/tags-BLaXBwnb.js +0 -1
  588. package/core/built/admin/assets/testimonials-modal-sFwRnNLh.js +0 -1
  589. package/core/built/admin/assets/tier-detail-modal-BCFpWwUS.js +0 -1
  590. package/core/built/admin/assets/tiers-Nd_z4BZY.js +0 -1
  591. package/core/built/admin/assets/use-filter-params-CAvfDvf1.js +0 -1
  592. package/core/built/admin/assets/use-growth-stats-D6mZXGhK.js +0 -1
  593. package/core/built/admin/assets/use-host-limits-DZtR08oa.js +0 -1
  594. package/core/built/admin/assets/use-pintura-config-CzTfnufz.js +0 -1
  595. package/core/built/admin/assets/use-reply-chain-data-BeQwz8oF.js +0 -1
  596. package/core/built/admin/assets/use-settings-navigation-BbrSUVcf.js +0 -1
  597. package/core/built/admin/assets/use-staff-users-cZg4ugOF.js +0 -1
  598. package/core/built/admin/assets/use-tinybird-query-B1IMyAcv.js +0 -39
  599. package/core/built/admin/assets/use-tinybird-token-Bow0Zwn8.js +0 -1
  600. package/core/built/admin/assets/use-upgrade-route-DhRSo7at.js +0 -1
  601. package/core/built/admin/assets/user-detail-modal-yipSoQfv.js +0 -1
  602. package/core/built/admin/assets/users-5msE1WMs.js +0 -1
  603. package/core/built/admin/assets/web-CKcXAu86.js +0 -1
  604. package/core/built/admin/assets/web-DR4TqM3E.js +0 -2
  605. package/core/server/api/endpoints/member-custom-fields.js +0 -90
  606. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.js +0 -20
  607. package/core/server/services/email-suppression-list/in-memory-email-suppression-list.js +0 -39
  608. package/core/server/services/jobs/worker-model-event-bridge.js +0 -149
  609. package/core/server/services/members/jobs/clean-expired-comped.js +0 -132
  610. package/core/server/services/members-custom-fields/bindings-service.js +0 -119
  611. package/core/server/services/members-custom-fields/codec.js +0 -15
  612. package/core/server/services/members-custom-fields/filter.js +0 -199
  613. package/core/server/services/members-custom-fields/serializers.js +0 -24
  614. package/core/server/services/stripe/services/checkout/allowed-countries.js +0 -267
  615. package/core/server/services/stripe/services/checkout/field-ports.js +0 -34
  616. package/core/server/services/tier-checkout-config/destinations.js +0 -17
  617. package/core/server/services/update-check/run-update-check.js +0 -63
  618. /package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js.LICENSE.txt → chunk.901.4ccc639821020230bcca.js.LICENSE.txt} +0 -0
  619. /package/core/server/services/{members-custom-fields → members-metafields}/storage.js +0 -0
@@ -0,0 +1,440 @@
1
+ (globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]).push([[254],{25305(e,t){"use strict"
2
+ Object.defineProperty(t,"__esModule",{value:!0}),t.cleanBasicHtml=function(e="",t={}){const r=Object.assign({},{},t)
3
+ if(!r.createDocument){const e="undefined"!=typeof DOMParser&&DOMParser||"undefined"!=typeof window&&window.DOMParser
4
+ if(!e)throw new Error("cleanBasicHtml() must be passed a `createDocument` function as an option when used in a non-browser environment")
5
+ r.createDocument=function(t){return(new e).parseFromString(t,"text/html")}}let s=e
6
+ if(r.allowBr&&"<br>"!==s||(s=s.replace(/<br\s?\/?>/g," ")),r.removeCodeWrappers&&(s=function(e){return e.replace(/<code\b[^>]*>((.*?){.*?}(.*?))<\/code>/gi,"$1")}(s)),s=s.replace(/(\s|&nbsp;){2,}/g," ").trim().replace(/^&nbsp;|&nbsp$/g,"").trim(),s){const e=r.createDocument(s)
7
+ if(""===e.body.textContent)return""
8
+ e.body.querySelectorAll("*").forEach(t=>{if(!t.textContent?.trim().replace(/\u200c+/g,"")){if(r.allowBr&&"BR"===t.tagName)return
9
+ if(r.allowBr&&t.querySelector("br"))return t.replaceWith(e.createElement("br"))
10
+ if(t.textContent&&t.textContent.length>0){const r=e.createTextNode(" ")
11
+ return t.replaceWith(r)}return t.remove()}}),s=r.firstChildInnerContent&&e.body.firstElementChild?e.body.firstElementChild.innerHTML.trim():e.body.innerHTML.trim()}return s}},27929(e,t,r){"use strict"
12
+ Object.defineProperty(t,"__esModule",{value:!0}),t.cleanBasicHtml=void 0
13
+ var s=r(25305)
14
+ Object.defineProperty(t,"cleanBasicHtml",{enumerable:!0,get:function(){return s.cleanBasicHtml}})},90724(e,t,r){"use strict"
15
+ Object.defineProperty(t,"__esModule",{value:!0}),t.mobiledocToLexical=t.lexicalToMobiledoc=void 0
16
+ var s=r(34104)
17
+ Object.defineProperty(t,"lexicalToMobiledoc",{enumerable:!0,get:function(){return s.lexicalToMobiledoc}}),Object.defineProperty(t,"mobiledocToLexical",{enumerable:!0,get:function(){return s.mobiledocToLexical}})},34104(e,t,r){"use strict"
18
+ Object.defineProperty(t,"__esModule",{value:!0}),t.mobiledocToLexical=t.lexicalToMobiledoc=void 0
19
+ const s=r(52217)
20
+ Object.defineProperty(t,"lexicalToMobiledoc",{enumerable:!0,get:function(){return s.lexicalToMobiledoc}})
21
+ const a=r(22297)
22
+ Object.defineProperty(t,"mobiledocToLexical",{enumerable:!0,get:function(){return a.mobiledocToLexical}})},52217(e,t){"use strict"
23
+ Object.defineProperty(t,"__esModule",{value:!0}),t.lexicalToMobiledoc=function(e){if(null==e||""===e)return JSON.stringify(a)
24
+ const t=JSON.parse(e)
25
+ if(!t.root)return JSON.stringify(a)
26
+ const n={version:r,ghostVersion:s,atoms:[],cards:[],markups:[],sections:[]}
27
+ return t.root.children?.forEach(e=>function(e,t){"paragraph"===e.type&&p(e,t),i.includes(e.type)&&p(e,t,e.tag),"quote"===e.type&&p(e,t,"blockquote"),"aside"===e.type&&p(e,t,"aside"),"list"===e.type&&function(e,t,r="ul"){const s=function(e,t){const r=[]
28
+ return function(e){const t=[];(function e(r){r.children?.forEach(r=>{r.children?.forEach(t=>{"list"===t.type&&(e(t),r.children.splice(r.children.indexOf(t),1))}),"listitem"===r.type&&r.children?.length&&t.push(r)})})(e),e.children=t}(e),e.children?.forEach(e=>{if("listitem"===e.type){const s=m(e,t)
29
+ r.push(s)}}),r}(e,t),a=[3,r,s]
30
+ t.sections.push(a)}(e,t,e.tag),l.includes(e.type)&&function(e,t){const r=e.type
31
+ let s=e.type
32
+ u[s]&&(s=u[s])
33
+ const a={}
34
+ for(const o of Object.keys(e))"type"!==o&&(a[o]=e[o])
35
+ if(c[r]){const e=c[r]
36
+ for(const[t,r]of Object.entries(e))a[r]=a[t],delete a[t]}const n=[s,a]
37
+ t.cards.push(n)
38
+ const i=[10,t.cards.length-1]
39
+ t.sections.push(i)}(e,t)}(e,n)),JSON.stringify(n)}
40
+ const r="0.3.1",s="4.0",a={version:r,ghostVersion:s,markups:[],atoms:[],cards:[],sections:[[1,"p",[[0,[],0,""]]]]},n=new Map([[1,"strong"],[2,"em"],[4,"s"],[8,"u"],[16,"code"],[32,"sub"],[64,"sup"]]),i=["heading","extended-heading"],o=["text","extended-text"],l=["audio","bookmark","button","callout","codeblock","email-cta","email","embed","file","gallery","header","horizontalrule","html","image","markdown","paywall","product","signup","toggle","video"],u={codeblock:"code",horizontalrule:"hr"},c={embed:{embedType:"type"}}
41
+ function d(e,t){let r=t.markups.findIndex(t=>t[0]===e)
42
+ return-1===r&&(t.markups.push([e]),r=t.markups.length-1),r}function p(e,t,r="p"){const s=[1,r,m(e,t)]
43
+ t.sections.push(s)}function m(e,t){const r=[]
44
+ if(e.children?.length){let s=[]
45
+ e.children.forEach((a,n)=>{if(o.includes(a.type))if(0!==a.format){const i=[]
46
+ let l=0
47
+ if(h(a.format).forEach(e=>{s.includes(e)||(s.push(e),i.push(e))}),e.children[n+1]&&o.includes(e.children[n+1].type)){const t=h(e.children[n+1].format),r=s.findIndex(e=>!t.includes(e));-1!==r&&(l=s.slice(r).length,s=s.slice(0,r))}else l=s.length,s=[]
48
+ const u=i.map(e=>d(e,t))
49
+ r.push([0,u,l,a.text])}else{const e=s.length
50
+ s=[],r.push([0,[],e,a.text])}if("link"===a.type){const e=["a",["href",a.url]],n=t.markups.push(e)-1
51
+ a.children?.forEach((i,o)=>{if(0!==i.format){const l=[],u=[]
52
+ 0===o&&(s.push(e),l.push(n))
53
+ let c=0
54
+ if(h(i.format).forEach(e=>{s.includes(e)||(s.push(e),u.push(e))}),a.children[o+1]){const t=h(a.children[o+1].format),r=s.findIndex(r=>!(JSON.stringify(r)===JSON.stringify(e)||t.includes(r)));-1!==r&&(c=s.slice(r).length,s=s.slice(0,r))}else c=s.length,s=[]
55
+ l.push(...u.map(e=>d(e,t))),r.push([0,l,c,i.text])}else{const t=[]
56
+ 0===o&&(s.push(e),t.push(n))
57
+ let l=s.length-1
58
+ a.children[o+1]||(l+=1,s=[]),r.push([0,t,l,i.text])}})}if("linebreak"===a.type){const e=function(e,t){let r=t.atoms.findIndex(t=>t===e)
59
+ return-1===r&&(t.atoms.push(e),r=t.atoms.length-1),r}(["soft-return","",{}],t)
60
+ r.push([1,[],0,e])}})}else r.push([0,[],0,""])
61
+ return r}function h(e){const t=[]
62
+ return n.forEach((r,s)=>{0!==(e&s)&&t.push(r)}),t}},22297(e,t){"use strict"
63
+ Object.defineProperty(t,"__esModule",{value:!0}),t.mobiledocToLexical=function(e){if(null==e||""===e)return JSON.stringify(r)
64
+ const t=JSON.parse(e)
65
+ if(!t.sections)return JSON.stringify(r)
66
+ const s={root:{children:[],direction:null,format:"",indent:0,type:"root",version:1}}
67
+ return t.sections.forEach(e=>function(e,t,r){const s=e[0]
68
+ if(1===s){const s=function(e,t){const r=e[1],s=e[2],a=d(r)
69
+ return u(a,s,t),a}(e,t)
70
+ r.root.children.push(s),s.children&&s.children.length>0&&(r.root.direction="ltr")}else if(2===s);else if(3===s){const s=function(e,t){const r=e[1],s=e[2],a=d(r,{tag:r,type:"list",listType:"ul"===r?"bullet":"number",start:1,direction:"ltr"})
71
+ return s?.forEach((e,r)=>{const s=d("li",{type:"listitem",value:r+1,direction:"ltr"})
72
+ u(s,e,t),a.children.push(s)}),a}(e,t)
73
+ r.root.children.push(s),r.root.direction="ltr"}else if(10===s){const s=function(e,t){const r=e[1]
74
+ let[s,a]=t.cards[r]
75
+ if(s=i[s]||s,o[s]){const e=o[s]
76
+ for(const[t,r]of Object.entries(e))a[r]=a[t],delete a[t]}return l[s]&&(a=l[s](a)),delete a.type,{type:s,...a}}(e,t)
77
+ r.root.children.push(s)}}(e,t,s)),JSON.stringify(s)}
78
+ const r={root:{children:[],direction:null,format:"",indent:0,type:"root",version:1}},s={p:{type:"paragraph"},h1:{type:"heading",tag:"h1"},h2:{type:"heading",tag:"h2"},h3:{type:"heading",tag:"h3"},h4:{type:"heading",tag:"h4"},h5:{type:"heading",tag:"h5"},h6:{type:"heading",tag:"h6"},blockquote:{type:"quote"},aside:{type:"aside"},a:{type:"link",rel:null,target:null,title:null,url:null}},a={"soft-return":{type:"linebreak",version:1}},n={strong:1,b:1,em:2,i:2,s:4,u:8,code:16,sub:32,sup:64},i={code:"codeblock",hr:"horizontalrule"},o={embed:{type:"embedType"}},l={callout:e=>(e.backgroundColor&&!e.backgroundColor.match(/^[a-zA-Z\d-]+$/)&&(e.backgroundColor="white"),e)}
79
+ function u(e,t,r){const s=r.markups,n=r.atoms,i=[]
80
+ let o,l,u,h=!1
81
+ for(let f=0;f<t.length;f++){const[r,g,b,y]=t[f]
82
+ if("atom"==(0===r?"markup":"atom")){const t=n[y][0]
83
+ p(e,a[t])
84
+ continue}if(g.forEach(e=>{const t=s[e]
85
+ if("a"===t[0]){h=!0
86
+ const e=t[1]
87
+ e&&"href"===e[0]&&(l=e[1]),e&&"rel"===e[2]&&(u=e[3])}i.push(t)}),void 0!==y){const t=m(i)
88
+ h?(o=void 0!==o?o:d("a",{url:l,rel:u||null}),p(o,c(y,t))):p(e,c(y,t))}for(let t=0;t<b;t++){const t=i.pop()
89
+ t&&"a"===t[0]&&(p(e,o),h=!1,l=void 0,o=void 0)}}}function c(e,t){return{detail:0,format:t,mode:"normal",style:"",text:e,type:"text",version:1}}function d(e,t={}){const r=s[e]
90
+ return{children:[],direction:"ltr",format:"",indent:0,...r,...t,type:r?.type||t.type||e,version:1}}function p(e,t){t&&(e.children.push(t),t&&"text"in t&&t.text&&(e.direction="ltr"))}function m(e){let t=0
91
+ return e.forEach(e=>{const r=e[0]
92
+ r in n&&(t|=n[r])}),t}},70147(e,t,r){e.exports=r(36097)},36097(e,t,r){const s=r(74091),a=r(92213),{IncorrectUsageError:n}=r(17879),{MaxLimit:i,MaxPeriodicLimit:o,FlagLimit:l,AllowlistLimit:u}=r(77368),c=r(16617)
93
+ e.exports=class{constructor(){this.limits={}}loadLimits({limits:e={},subscription:t,helpLink:r,db:d,errors:p}){if(!p)throw new n({message:"Config Missing: 'errors' is required."})
94
+ this.errors=p,this.limits={},Object.keys(e).forEach(m=>{if(m=s(m),c[m]){let s=Object.assign({},c[m],e[m])
95
+ if(a(s,"allowlist"))this.limits[m]=new u({name:m,config:s,helpLink:r,errors:p})
96
+ else if(a(s,"max"))this.limits[m]=new i({name:m,config:s,helpLink:r,db:d,errors:p})
97
+ else if(a(s,"maxPeriodic")){if(void 0===t)throw new n({message:"Attempted to setup a periodic max limit without a subscription"})
98
+ const e=Object.assign({},s,t)
99
+ this.limits[m]=new o({name:m,config:e,helpLink:r,db:d,errors:p})}else this.limits[m]=new l({name:m,config:s,helpLink:r,errors:p})}})}isLimited(e){return!!this.limits[s(e)]}isDisabled(e){if(!this.isLimited(e))return
100
+ const t=this.limits[s(e)]
101
+ if("function"!=typeof t.isDisabled)throw new n({message:`Limit ${e} does not support .isDisabled()`})
102
+ return t.isDisabled()}async checkIsOverLimit(e,t={}){if(this.isLimited(e))try{return await this.limits[e].errorIfIsOverLimit(t),!1}catch(e){if(e instanceof this.errors.HostLimitError)return!0
103
+ throw e}}async checkWouldGoOverLimit(e,t={}){if(this.isLimited(e))try{return await this.limits[e].errorIfWouldGoOverLimit(t),!1}catch(e){if(e instanceof this.errors.HostLimitError)return!0
104
+ throw e}}async errorIfIsOverLimit(e,t={}){this.isLimited(e)&&await this.limits[e].errorIfIsOverLimit(t)}async errorIfWouldGoOverLimit(e,t={}){this.isLimited(e)&&await this.limits[e].errorIfWouldGoOverLimit(t)}async checkIfAnyOverLimit(e={}){for(const t in this.limits)if(await this.checkIsOverLimit(t,e))return!0
105
+ return!1}}},16617(e){e.exports={members:{currentCountQuery:async e=>(await e("members").count("id",{as:"count"}).first()).count},newsletters:{currentCountQuery:async e=>(await e("newsletters").count("id",{as:"count"}).where("status","=","active").first()).count},emails:{currentCountQuery:async(e,t)=>(await e("emails").sum("email_count",{as:"count"}).where("created_at",">=",t).first()).count},staff:{currentCountQuery:async e=>(await e("users").select("users.id").leftJoin("roles_users","users.id","roles_users.user_id").leftJoin("roles","roles_users.role_id","roles.id").whereNot("roles.name","Contributor").andWhereNot("users.status","inactive").union([e("invites").select("invites.id").leftJoin("roles","invites.role_id","roles.id").whereNot("roles.name","Contributor")])).length},customIntegrations:{},customThemes:{},uploads:{currentCountQuery:()=>{},formatter:e=>e/1e6+"MB"},limitStripeConnect:{},limitAnalytics:{},limitSocialWeb:{},publicSiteAccess:{}}},63251(e,t,r){const{DateTime:s}=r(77899),{IncorrectUsageError:a}=r(17879)
106
+ e.exports={lastPeriodStart:(e,t)=>{if("month"===t){const t=s.fromISO(e,{zone:"UTC"}),r=s.now().setZone("UTC"),a=Math.floor(r.diff(t,"months").months)
107
+ return t.plus({months:a}).toISO()}throw new a({message:'Invalid interval specified. Only "month" value is accepted.'})},SUPPORTED_INTERVALS:["month"]}},77368(e,t,r){const s=r(29560),a=r(27403),{lastPeriodStart:n,SUPPORTED_INTERVALS:i}=r(63251),o=/{{([\s\S]+?)}}/g
108
+ class l{constructor({name:e,error:t,helpLink:r,db:s,errors:a}){this.name=e,this.error=t,this.helpLink=r,this.db=s,this.errors=a}generateError(){let e={errorDetails:{name:this.name}}
109
+ return this.helpLink&&(e.help=this.helpLink),e}}e.exports={MaxLimit:class extends l{constructor({name:e,config:t,helpLink:r,db:a,errors:n}){if(super({name:e,error:t.error||"",helpLink:r,db:a,errors:n}),void 0===t.max)throw new n.IncorrectUsageError({message:"Attempted to setup a max limit without a limit"})
110
+ if(!t.currentCountQuery)throw new n.IncorrectUsageError({message:"Attempted to setup a max limit without a current count query"})
111
+ this.currentCountQueryFn=t.currentCountQuery,this.max=t.max,this.formatter=t.formatter,this.fallbackMessage=`This action would exceed the ${s(this.name)} limit on your current plan.`}generateError(e){let t=super.generateError()
112
+ if(t.message=this.fallbackMessage,this.error){const r=this.formatter||Intl.NumberFormat().format
113
+ try{t.message=a(this.error,{interpolate:o})({max:r(this.max),count:r(e),name:this.name})}catch(e){t.message=this.fallbackMessage}}return t.errorDetails.limit=this.max,t.errorDetails.total=e,new this.errors.HostLimitError(t)}async currentCountQuery(e={}){return await this.currentCountQueryFn(e.transacting??this.db?.knex)}async errorIfWouldGoOverLimit(e={}){const{max:t,addedCount:r=1}=e
114
+ let s=await this.currentCountQuery(e)
115
+ if(s+r>(t||this.max))throw this.generateError(s)}async errorIfIsOverLimit(e={}){const t=e.currentCount||await this.currentCountQuery(e)
116
+ if(t>(e.max||this.max))throw this.generateError(t)}},MaxPeriodicLimit:class extends l{constructor({name:e,config:t,helpLink:r,db:a,errors:n}){if(super({name:e,error:t.error||"",helpLink:r,db:a,errors:n}),void 0===t.maxPeriodic)throw new n.IncorrectUsageError({message:"Attempted to setup a periodic max limit without a limit"})
117
+ if(!t.currentCountQuery)throw new n.IncorrectUsageError({message:"Attempted to setup a periodic max limit without a current count query"})
118
+ if(!t.interval)throw new n.IncorrectUsageError({message:"Attempted to setup a periodic max limit without an interval"})
119
+ if(!i.includes(t.interval))throw new n.IncorrectUsageError({message:`Attempted to setup a periodic max limit without unsupported interval. Please specify one of: ${i}`})
120
+ if(!t.startDate)throw new n.IncorrectUsageError({message:"Attempted to setup a periodic max limit without a start date"})
121
+ this.currentCountQueryFn=t.currentCountQuery,this.maxPeriodic=t.maxPeriodic,this.interval=t.interval,this.startDate=t.startDate,this.fallbackMessage=`This action would exceed the ${s(this.name)} limit on your current plan.`}generateError(e){let t=super.generateError()
122
+ if(t.message=this.fallbackMessage,this.error)try{t.message=a(this.error,{interpolate:o})({max:Intl.NumberFormat().format(this.maxPeriodic),count:Intl.NumberFormat().format(e),name:this.name})}catch(e){t.message=this.fallbackMessage}return t.errorDetails.limit=this.maxPeriodic,t.errorDetails.total=e,new this.errors.HostLimitError(t)}async currentCountQuery(e={}){const t=n(this.startDate,this.interval)
123
+ return await this.currentCountQueryFn(e.transacting?e.transacting:this.db?this.db.knex:void 0,t)}async errorIfWouldGoOverLimit(e={}){const{max:t,addedCount:r=1}=e
124
+ let s=await this.currentCountQuery(e)
125
+ if(s+r>(t||this.maxPeriodic))throw this.generateError(s)}async errorIfIsOverLimit(e={}){const{max:t}=e
126
+ let r=await this.currentCountQuery(e)
127
+ if(r>(t||this.maxPeriodic))throw this.generateError(r)}},FlagLimit:class extends l{constructor({name:e,config:t,helpLink:r,db:a,errors:n}){super({name:e,error:t.error||"",helpLink:r,db:a,errors:n})
128
+ const i=s(e.replace(/^limit/,""))
129
+ this.disabled=t.disabled,this.fallbackMessage=`Your plan does not support ${i}. Please upgrade to enable ${i}.`}generateError(){let e=super.generateError()
130
+ return this.error?e.message=this.error:e.message=this.fallbackMessage,new this.errors.HostLimitError(e)}async errorIfWouldGoOverLimit(){if(this.disabled)throw this.generateError()}async errorIfIsOverLimit(){}isDisabled(){return!!this.disabled}},AllowlistLimit:class extends l{constructor({name:e,config:t,helpLink:r,errors:a}){if(super({name:e,error:t.error||"",helpLink:r,errors:a}),!t.allowlist||!t.allowlist.length)throw new this.errors.IncorrectUsageError({message:"Attempted to setup an allowlist limit without an allowlist"})
131
+ this.allowlist=t.allowlist,this.fallbackMessage=`This action would exceed the ${s(this.name)} limit on your current plan.`}generateError(){let e=super.generateError()
132
+ return this.error?e.message=this.error:e.message=this.fallbackMessage,new this.errors.HostLimitError(e)}async errorIfWouldGoOverLimit(e){if(!e||!e.value)throw new this.errors.IncorrectUsageError({message:"Attempted to check an allowlist limit without a value"})
133
+ if(!this.allowlist.includes(e.value))throw this.generateError()}async errorIfIsOverLimit(e){if(!e||!e.value)throw new this.errors.IncorrectUsageError({message:"Attempted to check an allowlist limit without a value"})
134
+ if(!this.allowlist.includes(e.value))throw this.generateError()}}}},54551(e,t,r){var s={"./af":1199,"./af.js":1199,"./ar":36347,"./ar-dz":77230,"./ar-dz.js":77230,"./ar-kw":63390,"./ar-kw.js":63390,"./ar-ly":65283,"./ar-ly.js":65283,"./ar-ma":30570,"./ar-ma.js":30570,"./ar-ps":15505,"./ar-ps.js":15505,"./ar-sa":94112,"./ar-sa.js":94112,"./ar-tn":20386,"./ar-tn.js":20386,"./ar.js":36347,"./az":2067,"./az.js":2067,"./be":2405,"./be.js":2405,"./bg":77091,"./bg.js":77091,"./bm":36429,"./bm.js":36429,"./bn":88548,"./bn-bd":62919,"./bn-bd.js":62919,"./bn.js":88548,"./bo":94219,"./bo.js":94219,"./br":89248,"./br.js":89248,"./bs":30551,"./bs.js":30551,"./ca":36e3,"./ca.js":36e3,"./cs":46330,"./cs.js":46330,"./cv":32805,"./cv.js":32805,"./cy":51096,"./cy.js":51096,"./da":96035,"./da.js":96035,"./de":3015,"./de-at":30917,"./de-at.js":30917,"./de-ch":24475,"./de-ch.js":24475,"./de.js":3015,"./dv":29706,"./dv.js":29706,"./el":95637,"./el.js":95637,"./en-au":33146,"./en-au.js":33146,"./en-ca":45800,"./en-ca.js":45800,"./en-gb":2053,"./en-gb.js":2053,"./en-ie":86274,"./en-ie.js":86274,"./en-il":53993,"./en-il.js":53993,"./en-in":2663,"./en-in.js":2663,"./en-nz":38060,"./en-nz.js":38060,"./en-sg":95022,"./en-sg.js":95022,"./eo":14060,"./eo.js":14060,"./es":44920,"./es-do":98508,"./es-do.js":98508,"./es-mx":22604,"./es-mx.js":22604,"./es-us":75269,"./es-us.js":75269,"./es.js":44920,"./et":85773,"./et.js":85773,"./eu":75598,"./eu.js":75598,"./fa":17933,"./fa.js":17933,"./fi":83909,"./fi.js":83909,"./fil":80893,"./fil.js":80893,"./fo":24455,"./fo.js":24455,"./fr":49940,"./fr-ca":53317,"./fr-ca.js":53317,"./fr-ch":77678,"./fr-ch.js":77678,"./fr.js":49940,"./fy":53429,"./fy.js":53429,"./ga":96692,"./ga.js":96692,"./gd":72511,"./gd.js":72511,"./gl":82103,"./gl.js":82103,"./gom-deva":33906,"./gom-deva.js":33906,"./gom-latn":96893,"./gom-latn.js":96893,"./gu":55896,"./gu.js":55896,"./he":98755,"./he.js":98755,"./hi":46639,"./hi.js":46639,"./hr":9130,"./hr.js":9130,"./hu":29171,"./hu.js":29171,"./hy-am":26406,"./hy-am.js":26406,"./id":74694,"./id.js":74694,"./is":24220,"./is.js":24220,"./it":72681,"./it-ch":40757,"./it-ch.js":40757,"./it.js":72681,"./ja":33649,"./ja.js":33649,"./jv":75572,"./jv.js":75572,"./ka":14824,"./ka.js":14824,"./kk":81770,"./kk.js":81770,"./km":35724,"./km.js":35724,"./kn":94005,"./kn.js":94005,"./ko":65814,"./ko.js":65814,"./ku":17028,"./ku-kmr":25683,"./ku-kmr.js":25683,"./ku.js":17028,"./ky":23984,"./ky.js":23984,"./lb":21038,"./lb.js":21038,"./lo":4009,"./lo.js":4009,"./lt":27208,"./lt.js":27208,"./lv":53970,"./lv.js":53970,"./me":13030,"./me.js":13030,"./mi":51413,"./mi.js":51413,"./mk":85336,"./mk.js":85336,"./ml":26189,"./ml.js":26189,"./mn":17227,"./mn.js":17227,"./mr":1975,"./mr.js":1975,"./ms":12256,"./ms-my":87323,"./ms-my.js":87323,"./ms.js":12256,"./mt":36053,"./mt.js":36053,"./my":1042,"./my.js":1042,"./nb":1228,"./nb.js":1228,"./ne":60057,"./ne.js":60057,"./nl":31442,"./nl-be":17014,"./nl-be.js":17014,"./nl.js":31442,"./nn":46152,"./nn.js":46152,"./oc-lnc":62100,"./oc-lnc.js":62100,"./pa-in":41771,"./pa-in.js":41771,"./pl":6300,"./pl.js":6300,"./pt":88340,"./pt-br":20645,"./pt-br.js":20645,"./pt.js":88340,"./ro":15195,"./ro.js":15195,"./ru":75813,"./ru.js":75813,"./sd":62339,"./sd.js":62339,"./se":6876,"./se.js":6876,"./si":41176,"./si.js":41176,"./sk":52930,"./sk.js":52930,"./sl":38891,"./sl.js":38891,"./sq":91392,"./sq.js":91392,"./sr":28025,"./sr-cyrl":50808,"./sr-cyrl.js":50808,"./sr.js":28025,"./ss":38538,"./ss.js":38538,"./sv":50773,"./sv.js":50773,"./sw":22582,"./sw.js":22582,"./ta":23155,"./ta.js":23155,"./te":27863,"./te.js":27863,"./tet":29464,"./tet.js":29464,"./tg":58425,"./tg.js":58425,"./th":9492,"./th.js":9492,"./tk":21341,"./tk.js":21341,"./tl-ph":37317,"./tl-ph.js":37317,"./tlh":59394,"./tlh.js":59394,"./tr":15622,"./tr.js":15622,"./tzl":26952,"./tzl.js":26952,"./tzm":61567,"./tzm-latn":83753,"./tzm-latn.js":83753,"./tzm.js":61567,"./ug-cn":34856,"./ug-cn.js":34856,"./uk":40816,"./uk.js":40816,"./ur":25695,"./ur.js":25695,"./uz":51639,"./uz-latn":15521,"./uz-latn.js":15521,"./uz.js":51639,"./vi":80885,"./vi.js":80885,"./x-pseudo":97765,"./x-pseudo.js":97765,"./yo":93592,"./yo.js":93592,"./zh-cn":71922,"./zh-cn.js":71922,"./zh-hk":37406,"./zh-hk.js":37406,"./zh-mo":81043,"./zh-mo.js":81043,"./zh-tw":72998,"./zh-tw.js":72998}
135
+ function a(e){var t=n(e)
136
+ return r(t)}function n(e){if(!r.o(s,e)){var t=new Error("Cannot find module '"+e+"'")
137
+ throw t.code="MODULE_NOT_FOUND",t}return s[e]}a.keys=function(){return Object.keys(s)},a.resolve=n,e.exports=a,a.id=54551},86147(){},21901(){},95032(e,t){window._eai_r=require,window._eai_d=define},82211(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
138
+ var s="ConfigResponseType",a=s,n=r(90665).createQuery({dataType:s,path:"/config/"}),i="/pro"
139
+ t.DEFAULT_UPGRADE_ROUTE=i,t.configDataType=a,t.hasSendingDomain=e=>{const t=e?.hostSettings?.managedEmail?.sendingDomain
140
+ return"string"==typeof t&&t.length>0},t.isManagedEmail=e=>!!e?.hostSettings?.managedEmail?.enabled,t.sendingDomain=e=>e?.hostSettings?.managedEmail?.sendingDomain,t.upgradeRoute=e=>{const t=e?.hostSettings?.billing?.upgradeUrl
141
+ return t?t.replace(/^#/,""):i},t.useBrowseConfig=n},48808(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
142
+ const s=r(51184),a=r(79522)
143
+ let n=r(6841),i=r(80576)
144
+ var o="UsersResponseType",l=a.apiUrl("/users/me/",{include:"roles"}),u=[o,l]
145
+ t.currentUserQueryKey=u,t.useCurrentUser=({requestOptions:e}={})=>{const t=a.useFetchApi(),r=s(),o=(0,n.useQuery)({queryKey:u,queryFn:()=>t(l,e),select:e=>e.users[0]})
146
+ return(0,i.useEffect)(()=>{o.error&&r(o.error)},[r,o.error]),o},t.usersDataType=o},16757(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
147
+ const s=r(90665),a=r(72215)
148
+ var n="InvitesResponseType",i=s.createInfiniteQuery({dataType:n,path:"/invites/",permissions:["Owner","Administrator"],defaultSearchParams:{limit:"100",include:"roles"},defaultNextPageParams:(e,t)=>({...t,page:(e.meta?.pagination.next||1).toString()}),returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.invites),s=t[t.length-1].meta
149
+ return{invites:r,meta:s,isEnd:!s||s.pagination.pages===s.pagination.page}}}),o=s.createMutation({method:"POST",path:()=>"/invites/",body:({email:e,roleId:t})=>({invites:[{email:e,role_id:t,expires:null,status:null,token:null}]}),updateQueries:{dataType:n,emberUpdateType:"createOrUpdate",update:a.insertToQueryCache("invites")}}),l=s.createMutation({path:e=>`/invites/${e}/`,method:"DELETE",updateQueries:{dataType:n,emberUpdateType:"delete",update:a.deleteFromQueryCache("invites")}})
150
+ t.useAddInvite=o,t.useBrowseInvites=i,t.useDeleteInvite=l},77898(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
151
+ const s=r(79522),a=r(48808),n=r(90665)
152
+ r(25904)
153
+ const i=r(28091)
154
+ let o=r(6841),l=r(80576)
155
+ var u="MembersResponseType",c="/members/",d={limit:"1"},p=()=>[u,s.apiUrl(c,d)],m=n.createQuery({dataType:u,path:c}),h=n.createQuery({dataType:u,path:c,defaultSearchParams:d}),f=()=>Promise.resolve(),g=n.createQuery({dataType:u,path:c})
156
+ function b(e,t){return`${e.toLocaleString()} ${1===e?t:`${t}s`}`}var y=n.createMutation({method:"POST",path:()=>"/members/",body:e=>({members:[e]}),invalidateQueries:{dataType:u}}),w=n.createMutation({method:"POST",retry:!1,path:()=>"/members/upload/",body:function({file:e,labels:t=[],mapping:r={}}){const s=new FormData
157
+ s.append("membersfile",e)
158
+ for(const a of t)s.append("labels",a)
159
+ for(const[a,n]of Object.entries(r))"string"==typeof n&&s.append(`mapping[${a}]`,n)
160
+ return s},invalidateQueries:{dataType:u}}),v=n.createQueryWithId({dataType:u,path:e=>`/members/${e}/`}),E=n.createMutation({method:"POST",path:({id:e})=>`/members/${e}/commenting/disable`,body:({reason:e,hideComments:t})=>({reason:e,hide_comments:t}),invalidateQueries:{dataType:["CommentsResponseType",u]}}),P=n.createMutation({method:"POST",path:({id:e})=>`/members/${e}/commenting/enable`,body:()=>({}),invalidateQueries:{dataType:["CommentsResponseType",u]}}),T=n.createInfiniteQuery({dataType:u,path:c,defaultSearchParams:{include:"labels,tiers",limit:"100",order:"created_at desc"},defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.members),s=t[t.length-1].meta
161
+ return{members:r,meta:s,isEnd:!s||s.pagination.pages===s.pagination.page}}})
162
+ function j({filter:e,search:t,all:r}){if(!r&&!e&&!t)throw new Error("Bulk operation requires a filter, search, or all flag")
163
+ const s={}
164
+ return r&&(s.all="true"),e&&(s.filter=e),t&&(s.search=t),s}var S=n.createMutation({method:"PUT",path:()=>"/members/bulk/",body:({action:e})=>({bulk:{action:e.type,meta:e.meta||{},newsletter:e.newsletter}}),searchParams:j,invalidateQueries:{dataType:u}}),_=n.createMutation({method:"DELETE",path:()=>"/members/",searchParams:j,invalidateQueries:{dataType:u}}),x=n.createMutation({method:"PUT",path:({id:e})=>`/members/${e}/`,searchParams:()=>({include:"tiers,metafields"}),body:({id:e,...t})=>({members:[{id:e,...t}]}),invalidateQueries:{dataType:u}}),O=n.createMutation({method:"DELETE",path:({id:e})=>`/members/${e}/`,searchParams:({cancel:e})=>({cancel:e?"true":"false"}),invalidateQueries:{dataType:u}}),M=n.createQueryWithId({dataType:"MemberSigninUrlResponseType",path:e=>`/members/${e}/signin_urls/`,returnData:e=>e.member_signin_urls?.[0]??{member_id:"",url:""}}),k=n.createMutation({method:"DELETE",path:({id:e})=>`/members/${e}/sessions/`,invalidateQueries:{dataType:u}}),L=n.createMutation({method:"PUT",path:({memberId:e,subscriptionId:t})=>`/members/${e}/subscriptions/${t}/`,body:({cancelAtPeriodEnd:e,status:t})=>({...void 0!==e?{cancel_at_period_end:e}:{},...t?{status:t}:{}}),invalidateQueries:{dataType:u}}),C=n.createMutation({method:"DELETE",path:({id:e})=>`/members/${e}/suppression/`,invalidateQueries:{dataType:u}}),U="20"
165
+ function I(e){return`data.member_id:'${e}'`}var z=n.createInfiniteQuery({dataType:"MemberActivityFeedResponseType",path:"/members/events/",defaultSearchParams:{limit:U},defaultNextPageParams:(e,t)=>{const r=Number(t.limit??U),s=function(e){const t=e[e.length-1]?.data?.created_at
166
+ if(t)return new Date(t).toISOString().slice(0,19).replace("T"," ")}(e.events)
167
+ if(s&&!(e.events.length<r))return{...t,filter:`data.created_at:<'${s}'+${t.filter??""}`}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.events),s=t[t.length-1],a=s?.meta?.pagination?.limit,n="number"==typeof a?a:Number(U)
168
+ return{events:r,meta:s?.meta,isEnd:(s?.events.length??0)<n}}})
169
+ t.getMemberCountQueryKey=p,t.isImportMembersCompleteResponse=function(e){return"number"==typeof e.meta?.stats?.imported},t.membersCountString=function(e="",{count:t,newsletter:r,hasMultipleNewsletters:s=!1}={}){const a=r&&s?"subscriber":"member",n=`${a}s`,i=r&&s?` of ${r.name}`:"",o=(r?e.replace(r.recipientFilter,"").replace(/^\+\((.*)\)$/,"$1"):e).split(","),l=1===o.length&&"status:free"===o[0],u=1===o.length&&"status:-free"===o[0],c=!e||o.includes("status:free")&&o.includes("status:-free")
170
+ return null==t?l?`all free ${n}${i}`:u?`all paid ${n}${i}`:c?`all ${n}${i}`:"a custom members segment":l?b(t,`free ${a}`)+i:u?b(t,`paid ${a}`)+i:b(t,a)+i},t.useAddMember=y,t.useBrowseMembers=m,t.useBrowseMembersInfinite=function(e={}){const t=T(e)
171
+ return function(e,t){const r=(0,o.useQueryClient)(),s=e.data?.meta?.pagination?.total,a=function(e){return!e?.filter&&!e?.search}(t);(0,l.useEffect)(()=>{if(!a||e.isError||e.isPlaceholderData||"number"!=typeof s)return
172
+ const t=p(),n=r.getQueryState(t),i=n?.data,o=i?.meta?.pagination
173
+ if(!n||!i||!o)return
174
+ const l=o.total===s,u=n.dataUpdatedAt<=e.dataUpdatedAt
175
+ !l&&u&&r.setQueryData(t,{...i,meta:{...i.meta,pagination:{...o,total:s}}},{updatedAt:e.dataUpdatedAt})},[r,a,s,e.dataUpdatedAt,e.isError,e.isPlaceholderData])}(t,e.searchParams),t},t.useBulkDeleteMembers=_,t.useBulkEditMembers=S,t.useDeleteMember=O,t.useDisableMemberCommenting=E,t.useEditMember=x,t.useEditMemberSubscription=L,t.useEnableMemberCommenting=P,t.useImportMembers=w,t.useMember=v,t.useMemberActivityFeed=function(e,t={}){const{limit:r=U,enabled:s}=t
176
+ return z({searchParams:{filter:I(e),limit:r},...void 0!==s?{enabled:s}:{}})},t.useMemberCount=function(){const{data:e}=a.useCurrentUser(),{data:t}=h({enabled:Boolean(e&&i.canManageMembers(e))})
177
+ return t?.meta?.pagination.total},t.useMemberLogout=k,t.useMemberSigninUrl=M,t.useMembersCount=function(e,{requestOptions:t}={}){const r=a.useCurrentUser({requestOptions:t}),{data:s}=r,n=Boolean(s&&i.canManageMembers(s)),o=n&&null!=e,l=g({searchParams:{filter:e??"",order:"id",limit:"1",page:"1"},staleTime:6e4,enabled:o,defaultErrorHandler:!1,requestOptions:t})
178
+ return r.isError?{count:null,isLoading:!1,isFetching:r.isFetching,error:r.error,refetch:async()=>{const t=await r.refetch()
179
+ return t.isSuccess&&t.data&&i.canManageMembers(t.data)&&null!=e?l.refetch():t}}:void 0===s?{count:null,isLoading:!0,isFetching:!1,error:null,refetch:f}:o?l.isError?{count:null,isLoading:!1,isFetching:l.isFetching,error:l.error,refetch:l.refetch}:{count:l.data?.meta?.pagination.total??null,isLoading:l.isLoading,isFetching:l.isFetching,error:l.error,refetch:l.refetch}:{count:n?0:null,isLoading:!1,isFetching:!1,error:null,refetch:f}},t.useMembersFetching=()=>(0,o.useIsFetching)({queryKey:[u]})>0,t.useRemoveMemberEmailSuppression=C},93147(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
180
+ const s=r(90665),a=r(72215)
181
+ let n=r(74937)
182
+ var i=n.z.object({id:n.z.string(),uuid:n.z.string(),name:n.z.string(),description:n.z.string().nullable(),feedback_enabled:n.z.boolean(),slug:n.z.string(),sender_name:n.z.string().nullable(),sender_email:n.z.string().nullable(),sender_reply_to:n.z.string(),status:n.z.string(),visibility:n.z.string(),subscribe_on_signup:n.z.boolean(),sort_order:n.z.number(),header_image:n.z.string().nullable(),show_header_icon:n.z.boolean(),show_header_title:n.z.boolean(),title_font_category:n.z.string(),title_font_weight:n.z.string(),title_alignment:n.z.string(),show_excerpt:n.z.boolean(),show_feature_image:n.z.boolean(),body_font_category:n.z.string(),footer_content:n.z.string().nullable(),show_badge:n.z.boolean(),show_header_name:n.z.boolean(),show_post_title_section:n.z.boolean(),show_comment_cta:n.z.boolean(),show_share_button:n.z.boolean(),show_subscription_details:n.z.boolean(),show_latest_posts:n.z.boolean(),background_color:n.z.string(),header_background_color:n.z.string(),button_color:n.z.string().nullable(),link_color:n.z.string().nullable(),post_title_color:n.z.string().nullable(),section_title_color:n.z.string().nullable(),divider_color:n.z.string().nullable(),button_corners:n.z.string().nullable(),button_style:n.z.string().nullable(),image_corners:n.z.string().nullable(),link_style:n.z.string().nullable(),divider_style:n.z.string().nullish(),created_at:n.z.string(),updated_at:n.z.string().nullable(),count:n.z.object({posts:n.z.number().optional(),active_members:n.z.number().optional()}).optional()}),o=n.z.object({capabilities:n.z.object({dislikes:n.z.boolean().optional()}).optional(),pagination:n.z.object({page:n.z.number(),limit:n.z.union([n.z.number(),n.z.literal("all")]),pages:n.z.number(),total:n.z.number(),next:n.z.number().nullable(),prev:n.z.number().nullable()})}),l=n.z.object({meta:o.optional(),newsletters:n.z.array(i)}),u="NewslettersResponseType",c=u,d=s.createInfiniteQuery({dataType:u,path:"/newsletters/",parseResponse:e=>l.parse(e),defaultSearchParams:{include:"count.active_members,count.posts",limit:"50"},defaultNextPageParams:(e,t)=>{const r=e.meta?.pagination.next
183
+ if(r)return{...t,page:r.toString()}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.newsletters),s=t[t.length-1].meta
184
+ return{newsletters:r,meta:s,isEnd:!s||s.pagination.pages===s.pagination.page}}}),p=s.createMutation({method:"POST",path:()=>"/newsletters/",body:({opt_in_existing:e,...t})=>({newsletters:[t]}),searchParams:e=>({opt_in_existing:e.opt_in_existing.toString(),include:"count.active_members,count.posts"}),updateQueries:{dataType:u,emberUpdateType:"createOrUpdate",update:a.insertToQueryCache("newsletters")}}),m=s.createMutation({method:"PUT",path:e=>`/newsletters/${e.id}/`,body:e=>({newsletters:[e]}),defaultSearchParams:{include:"count.active_members,count.posts"},updateQueries:{dataType:u,emberUpdateType:"createOrUpdate",update:a.updateQueryCache("newsletters")}}),h=s.createMutation({method:"PUT",path:()=>"/newsletters/verifications/",body:({token:e})=>({token:e}),defaultSearchParams:{include:"count.active_members,count.posts"},updateQueries:{dataType:u,emberUpdateType:"createOrUpdate",update:a.updateQueryCache("newsletters")}})
185
+ t.NewsletterSchema=i,t.NewslettersResponseSchema=l,t.newslettersDataType=c,t.useAddNewsletter=p,t.useBrowseNewsletters=d,t.useEditNewsletter=m,t.useVerifyNewsletterEmail=h},37380(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
186
+ const s=r(90665),a=r(72215)
187
+ let n=r(6841)
188
+ var i="OffersResponseType",o=s.createQuery({dataType:i,path:"/offers/",defaultSearchParams:{}}),l=s.createQueryWithId({dataType:i,path:e=>`/offers/${e}/`}),u=s.createMutation({method:"PUT",path:e=>`/offers/${e.id}/`,body:e=>({offers:[e]}),updateQueries:{dataType:i,emberUpdateType:"createOrUpdate",update:a.updateQueryCache("offers")}}),c=s.createMutation({method:"POST",path:()=>"/offers/",body:e=>({offers:[e]}),updateQueries:{dataType:i,emberUpdateType:"createOrUpdate",update:a.insertToQueryCache("offers")}})
189
+ t.useAddOffer=c,t.useBrowseOffers=o,t.useBrowseOffersById=l,t.useEditOffer=u,t.useInvalidateOffers=()=>{const e=(0,n.useQueryClient)()
190
+ return()=>e.invalidateQueries({queryKey:[i]})}},59198(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
191
+ var r=["tags","authors","authors.roles","email","tiers","newsletter","count.clicks","post_revisions","post_revisions.author"].join(","),s="mobiledoc,lexical",a=["author_id","uuid","url","send_email_when_published","email_recipient_filter","email","newsletter","post_revisions","author"],n=["email_subject","email_only","email_id"]
192
+ t.ALL_POST_INCLUDES=r,t.POST_FORMATS=s,t.buildPageWriteParams=function(e={}){const t={formats:s}
193
+ return e.source&&(t.source=e.source),e.saveRevision&&(t.save_revision="true"),e.convertToLexical&&(t.convert_to_lexical="true"),t.include=r,t},t.buildPostEditorReadParams=function(){return{formats:s,include:r}},t.buildPostReadParams=function(){return{formats:s}},t.buildPostWriteParams=function(e={}){const t={formats:s}
194
+ return e.source&&(t.source=e.source),e.newsletter&&(t.newsletter=e.newsletter,e.emailSegment&&(t.email_segment="status:free,status:-free"===e.emailSegment?"all":e.emailSegment)),e.saveRevision&&(t.save_revision="true"),e.convertToLexical&&(t.convert_to_lexical="true"),t.include=r,t},t.serializePostPayload=function(e,t="post"){const r={...e}
195
+ for(const s of a)delete r[s]
196
+ if("page"===t)for(const s of n)delete r[s]
197
+ else delete r.show_title_and_feature_image
198
+ return null===r.visibility&&(delete r.visibility,delete r.visibility_filter,delete r.tiers),"tiers"===r.visibility&&delete r.visibility_filter,"tiers"!==r.visibility||r.tiers?.length||(delete r.visibility,delete r.tiers),r}},42262(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
199
+ const s=r(90665),a=r(59198)
200
+ var n="PostsResponseType",i=n,o=s.createQuery({dataType:n,path:"/posts/"}),l=s.createInfiniteQuery({dataType:n,path:"/posts/",defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.posts),s=t[t.length-1].meta
201
+ return{posts:r,meta:s,isEnd:!s||s.pagination.pages===s.pagination.page}}}),u=s.createQueryWithId({dataType:n,path:e=>`/posts/${e}/`}),c=s.createQueryWithId({dataType:n,path:e=>`/posts/${e}/`}),d=s.createMutation({method:"POST",path:()=>"/posts/",searchParams:({options:e})=>a.buildPostWriteParams(e),body:({post:e})=>({posts:[a.serializePostPayload(e)]}),requestOptions:({sessionExpiryRedirect:e})=>({sessionExpiryRedirect:e}),invalidateQueries:{dataType:n}}),p=s.createMutation({method:"PUT",path:({post:e})=>`/posts/${e.id}/`,searchParams:({options:e})=>a.buildPostWriteParams(e),body:({post:e})=>({posts:[a.serializePostPayload(e)]}),requestOptions:({sessionExpiryRedirect:e})=>({sessionExpiryRedirect:e}),invalidateQueries:{dataType:n}}),m=s.createMutation({method:"DELETE",path:({id:e})=>`/posts/${e}/`,requestOptions:({sessionExpiryRedirect:e})=>({sessionExpiryRedirect:e})}),h=s.createMutation({method:"PUT",path:()=>"/posts/bulk/",searchParams:({filter:e})=>({filter:e}),body:({action:e})=>({bulk:{action:e.type,meta:"meta"in e?e.meta:{}}})}),f=s.createMutation({method:"DELETE",path:()=>"/posts/",searchParams:({filter:e})=>({filter:e})}),g=s.createMutation({method:"POST",path:e=>`/posts/${e}/copy/`}),b=s.createMutation({method:"POST",retry:!1,path:()=>"/posts/upload/",body:({file:e,mapping:t})=>{const r=new FormData
202
+ r.append("postsfile",e)
203
+ for(const[s,a]of Object.entries(t))r.append(`mapping[${s}]`,a)
204
+ return r}})
205
+ t.postsDataType=i,t.useAddPost=d,t.useBrowsePosts=o,t.useBrowsePostsInfinite=l,t.useBulkDeletePosts=f,t.useBulkEditPosts=h,t.useCopyPost=g,t.useDeletePost=m,t.useEditPost=p,t.useEditorPost=(e,t={})=>{const{searchParams:r,...s}=t
206
+ return c(e,{...s,searchParams:{...r,...a.buildPostEditorReadParams()}})},t.useImportContentCSV=b,t.usePost=(e,t={})=>{const{searchParams:r,...s}=t
207
+ return u(e,{...s,searchParams:{...a.buildPostReadParams(),...r}})}},80916(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
208
+ var s=r(90665).createQuery({dataType:"RolesResponseType",path:"/roles/",defaultSearchParams:{limit:"100"}})
209
+ t.useBrowseRoles=s},12098(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
210
+ const s=r(90665)
211
+ var a="SettingsResponseType",n=s.createQuery({dataType:a,path:"/settings/",defaultSearchParams:{group:"site,theme,private,members,portal,newsletter,email,labs,slack,unsplash,views,firstpromoter,editor,comments,analytics,announcement,pintura,donations,security,social_web,explore,transistor"}}),i=s.createMutation({method:"PUT",path:()=>"/settings/",body:e=>({settings:e.map(({key:e,value:t})=>({key:e,value:t}))}),updateQueries:{dataType:a,emberUpdateType:"createOrUpdate",update:e=>({...e,settings:e.settings})},invalidateQueries:{filters:{predicate:e=>e.queryKey[0]!==a}}}),o=s.createMutation({method:"POST",path:()=>"/settings/access_code/regenerate/",updateQueries:{dataType:a,emberUpdateType:"createOrUpdate",update:e=>({...e,settings:e.settings})},invalidateQueries:{filters:{predicate:e=>e.queryKey[0]!==a}}}),l=s.createMutation({method:"DELETE",path:()=>"/settings/stripe/connect/",invalidateQueries:{dataType:a}}),u=s.createMutation({method:"POST",path:()=>"/slack/test/"})
212
+ function c(e,t){return e&&e.find(e=>e.key===t)?.value||null}function d({requestOptions:e}={}){const{data:t}=n({requestOptions:e})
213
+ return t?.settings}t.checkStripeEnabled=function(e,t){const r=t=>e.some(e=>e.key===t&&e.value),s=r("stripe_secret_key")&&r("stripe_publishable_key"),a=r("stripe_connect_secret_key")&&r("stripe_connect_publishable_key")
214
+ return t.stripeDirect?s:a||s},t.getSettingValue=c,t.getSettingValues=function(e,t){return t.map(t=>e?.find(e=>e.key===t)?.value)},t.humanizeSettingKey=function(e){return e.replace(/^[a-z]/,e=>e.toUpperCase()).replace(/_/g," ").replace(new RegExp(`\\b(${["API","CTA","RSS"].join("|")})\\b`,"ig"),e=>e.toUpperCase())},t.isSettingReadOnly=function(e,t){if(e)return e.find(e=>e.key===t)?.is_read_only||!1},t.useBrowseSettings=n,t.useDeleteStripeSettings=l,t.useEditSettings=i,t.useEmailTrackClicks=function(){const e=d()
215
+ if(e)return c(e,"email_track_clicks")??!1},t.useEmailTrackOpens=function(){const e=d()
216
+ if(e)return c(e,"email_track_opens")??!1},t.useMembersTrackSources=function(){const e=d()
217
+ if(e)return c(e,"members_track_sources")??!1},t.useNewslettersEnabled=function(e){const t=d(e)
218
+ if(t)return"disabled"!==c(t,"editor_default_email_recipients")},t.usePaidMembersEnabled=function(e){const t=d(e)
219
+ if(t)return c(t,"paid_members_enabled")??!1},t.useRegenerateAccessCode=o,t.useTestSlack=u,t.useWebAnalyticsEnabled=function(){const e=d()
220
+ return!!e&&!0===c(e,"web_analytics_enabled")}},28091(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
221
+ const s=r(48808),a=r(90665),n=r(72215)
222
+ var i=s.usersDataType,o=a.createInfiniteQuery({dataType:i,path:"/users/",defaultSearchParams:{limit:"100",include:"roles"},defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{const{pages:t}=e,r=t.flatMap(e=>e.users),s=t[t.length-1].meta
223
+ return{users:r,meta:s,isEnd:!s||s.pagination.pages===s.pagination.page}}}),l=a.createQueryWithId({dataType:i,path:e=>`/users/slug/${e}/`,defaultSearchParams:{include:"roles"}}),u=a.createMutation({method:"PUT",path:e=>`/users/${e.id}/`,body:e=>({users:[e]}),searchParams:()=>({include:"roles"}),updateQueries:{dataType:i,emberUpdateType:"createOrUpdate",update:n.updateQueryCache("users")}}),c=a.createMutation({method:"DELETE",path:e=>`/users/${e}/`,updateQueries:{dataType:i,emberUpdateType:"delete",update:n.deleteFromQueryCache("users")}}),d=a.createMutation({method:"PUT",path:()=>"/users/password/",body:({newPassword:e,confirmNewPassword:t,userId:r,oldPassword:s})=>({password:[{user_id:r,oldPassword:s||"",newPassword:e,ne2Password:t}]})}),p=a.createMutation({method:"PUT",path:()=>"/users/owner/",body:e=>({owner:[{id:e}]}),updateQueries:{dataType:i,emberUpdateType:"createOrUpdate",update:n.updateQueryCache("users")}})
224
+ function m(e){return e.roles.some(e=>"Owner"===e.name)}function h(e){return e.roles.some(e=>"Administrator"===e.name)}function f(e){return e.roles.some(e=>"Editor"===e.name)||e.roles.some(e=>"Super Editor"===e.name)}function g(e){return e.roles.some(e=>"Super Editor"===e.name)}function b(e){return e.roles.some(e=>"Author"===e.name)}function y(e){return e.roles.some(e=>"Contributor"===e.name)}t.canAccessSettings=function(e){return m(e)||h(e)||f(e)},t.canManageAutomations=function(e){return m(e)||h(e)},t.canManageGiftLinks=function(e){return m(e)||h(e)||f(e)},t.canManageMembers=function(e){return m(e)||h(e)||g(e)},t.canManageTags=function(e){return m(e)||h(e)||f(e)},t.hasAdminAccess=function(e){return m(e)||h(e)},t.isAdminUser=h,t.isAuthorOrContributor=function(e){return b(e)||y(e)},t.isAuthorUser=b,t.isContributorUser=y,t.isEditorUser=f,t.isOwnerUser=m,t.isSuperEditorUser=g,t.useBrowseUsers=o,t.useDeleteUser=c,t.useEditUser=u,t.useGetUserBySlug=l,t.useMakeOwner=p,t.useUpdatePassword=d},88950(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
225
+ const s=r(51184),a=r(79522),n=r(20031),i=r(27057),o=r(48078),l=r(99767),u=r(77699),c=r(26781),d=r(26322),p=r(4418),m=r(64573),h=r(99489)
226
+ t.koenigFileUploadTypes=l.koenigFileUploadTypes,t.useConfirmUnload=n.useConfirmUnload,t.useFeatureFlag=d.useFeatureFlag,t.useFetchApi=a.useFetchApi,t.useFilterableApi=o,t.useForm=i,t.useHandleError=s,t.useHostLimits=p.useHostLimits,t.useKoenigFetchEmbed=u.useKoenigFetchEmbed,t.useKoenigFileUpload=l.useKoenigFileUpload,t.useKoenigLinkSuggestions=c.useKoenigLinkSuggestions,t.useLimiter=m.useLimiter,t.usePinturaConfig=h.usePinturaConfig},20031(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
227
+ const s=r(2940)
228
+ let a=r(80576)
229
+ a=s.__toESM(a,1),t.useConfirmUnload=function(e){a.useEffect(()=>{if(!e)return
230
+ const t=e=>{e.preventDefault(),e.returnValue=""}
231
+ return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t)}},[e])}},26322(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
232
+ const s=r(82211),a=r(39112)
233
+ t.useFeatureFlag=(e,{requestOptions:t,defaultErrorHandler:r}={})=>{const{data:n}=s.useBrowseConfig({defaultErrorHandler:r,refetchOnMount:!1,requestOptions:t}),{enabledFlags:i}=a.useFeatureFlagOverrides()
234
+ return!0===n?.config.labs?.[e]||i.includes(e)}},48078(e,t,r){const s=r(79522)
235
+ let a=r(80576),n=r(26031)
236
+ var i=(e=[],t,r)=>e&&r?e.filter(e=>e[t]?.toLowerCase().includes(r.toLowerCase())):e
237
+ e.exports=({path:e,filterKey:t,responseKey:r,limit:o=20})=>{const l=s.useFetchApi(),u=(0,a.useRef)({}),c=async a=>{if((u.current.allLoaded||u.current.lastInput===a)&&u.current.data)return i(u.current.data,t,a)
238
+ const c=await l(s.apiUrl(e,{filter:a?`${t}:~${(0,n.escapeNqlString)(a)}`:"",limit:o.toString()}))
239
+ return u.current.data=c[r],u.current.allLoaded=!a&&!c.meta?.pagination.next,u.current.lastInput=a,i(c[r],t,a)}
240
+ return{loadData:c,loadInitialValues:async(t,a)=>{await c("")
241
+ const n=[...u.current.data||[]],i=t.filter(e=>!u.current.data?.find(t=>t[a]===e))
242
+ if(i.length){const t=await l(s.apiUrl(e,{filter:`${a}:[${i.join(",")}]`,limit:"100"}))
243
+ n.push(...t[r])}return t.map(e=>n.find(t=>t[a]===e))}}}},27057(e,t,r){let s=r(80576)
244
+ e.exports=({initialState:e,savingDelay:t,savedDelay:r=2e3,onSave:a,onSaveError:n,onSavedStateReset:i,onValidate:o})=>{const[l,u]=(0,s.useState)(e),[c,d]=(0,s.useState)(""),[p,m]=(0,s.useState)({});(0,s.useEffect)(()=>{"saved"===c&&setTimeout(()=>{i?.(),d(e=>"saved"===e?"":e)},r)},[c,r])
245
+ const h=e=>0===Object.values(e).filter(Boolean).length,f=(0,s.useCallback)(()=>{if(!o)return!0
246
+ const e=o(l)
247
+ return m(e),h(e)},[l,o]),g=(0,s.useCallback)(async(e={})=>{if(!f())return d("error"),!1
248
+ if("unsaved"!==c&&!e.force&&!e.fakeWhenUnchanged)return!0
249
+ const r=Date.now()
250
+ d("saving")
251
+ try{("unsaved"===c||e.force)&&await a(l)
252
+ const s=Date.now()-r
253
+ return t&&s<t&&await new Promise(e=>{setTimeout(e,t-s)}),d("saved"),!0}catch(e){throw await(n?.(e)),d("unsaved"),e}},[l,c,t,a,n,f]),b=(0,s.useCallback)(e=>{u(e),d("unsaved")},[])
254
+ let y="default"
255
+ "saved"===c?y="default":"error"===c&&(y="destructive")
256
+ let w=""
257
+ "saved"===c?w="Saved":"saving"===c?w="Saving...":"error"===c&&(w="Retry")
258
+ const v={disabled:"saving"===c,variant:y,label:w||void 0}
259
+ return{formState:l,saveState:c,handleSave:g,updateForm:b,setFormState:u,reset(){u(e),d("")},validate:f,isValid:h(p),clearError:e=>{m(t=>({...t,[e]:""}))},errors:p,setErrors:m,okProps:v}}},51184(e,t,r){const s=r(2940),a=r(85089),n=r(27621)
260
+ let i=r(28219)
261
+ i=s.__toESM(i,1)
262
+ let o=r(80576),l=r(89860)
263
+ function u(e){l.toast.dismiss(),l.toast.error(e)}e.exports=()=>{const{sentryDSN:e}=a.useFramework()
264
+ return(0,o.useCallback)((t,{withToast:r=!0}={})=>{console.error(t),!e||t instanceof n.SessionExpiredError||i.withScope(e=>{t instanceof n.APIError&&t.response&&(e.setTag("api_url",t.response.url),e.setTag("api_response_status",t.response.status)),i.captureException(t)}),r&&(t instanceof n.APIError&&418===t.response?.status||t instanceof n.SessionExpiredError?l.toast.dismiss():t instanceof n.APIError?u(n.getErrorMessage(t,t.message)):u("Something went wrong, please try again."))},[e])}},4418(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
265
+ const s=r(82211)
266
+ t.useHostLimits=()=>{const{data:e}=s.useBrowseConfig({refetchOnMount:!1})
267
+ return e?.config.hostSettings?.limits}},77699(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
268
+ const s=r(65955),a=r(79522)
269
+ let n=r(80576)
270
+ var i={}
271
+ t.useKoenigFetchEmbed=(e=i)=>{const t=a.useFetchApi()
272
+ return(0,n.useCallback)(async(r,{type:a}={})=>{const n=new URL(`${s.getGhostPaths().apiRoot}/oembed/`,window.location.origin)
273
+ return n.searchParams.set("url",r),a&&n.searchParams.set("type",a),await t(n,e)},[t,e])}},99767(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
274
+ const s=r(65955),a=r(79522)
275
+ let n=r(80576)
276
+ var i={image:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/svg+xml","image/webp"],extensions:["gif","jpg","jpeg","png","svg","svgz","webp"],endpoint:"/images/upload/",requestMethod:"post",resourceName:"images"},video:{mimeTypes:["video/mp4","video/webm","video/ogg"],extensions:["mp4","webm","ogv"],endpoint:"/media/upload/",requestMethod:"post",resourceName:"media"},audio:{mimeTypes:["audio/mp3","audio/mpeg","audio/ogg","audio/wav","audio/vnd.wav","audio/wave","audio/x-wav","audio/mp4","audio/x-m4a"],extensions:["mp3","wav","ogg","m4a"],endpoint:"/media/upload/",requestMethod:"post",resourceName:"media"},mediaThumbnail:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/webp"],extensions:["gif","jpg","jpeg","png","webp"],endpoint:"/media/thumbnail/upload/",requestMethod:"put",resourceName:"media"},file:{extensions:[],endpoint:"/files/upload/",requestMethod:"post",resourceName:"files"}},o=(e,t)=>{let r=e
277
+ for(const s of t){if(!r||"object"!=typeof r||!(s in r))return null
278
+ r=r[s]}return"string"==typeof r?r:null}
279
+ t.koenigFileUploadTypes=i,t.useKoenigFileUpload=(e="image")=>{const[t,r]=(0,n.useState)(0),[l,u]=(0,n.useState)(!1),[c,d]=(0,n.useState)([]),[p,m]=(0,n.useState)(0),h=(0,n.useRef)(new Map),f=a.useFetchApi()
280
+ function g(){if(0===h.current.size)return void r(0)
281
+ let e=0
282
+ h.current.forEach(t=>{e+=t}),r(Math.round(e/h.current.size))}const b=t=>{if("file"===e)return!0
283
+ const r=i[e].extensions,[,s]=/(?:\.([^.]+))?$/.exec(t.name)??[]
284
+ return!r||!(!s||-1===r.indexOf(s.toLowerCase()))||`The file type you uploaded is not supported. Please use .${r.join(", .").toUpperCase()}`},y=async(t,{formData:r={}}={})=>{h.current.set(t,0)
285
+ const a=new FormData
286
+ a.append("file",t,t.name),Object.keys(r).forEach(e=>{a.append(e,r[e])})
287
+ const n=`${s.getGhostPaths().apiRoot}${i[e].endpoint}`
288
+ try{const r=await f(n,{method:i[e].requestMethod,body:a,onUploadProgress(e){h.current.set(t,e),g()}})
289
+ let s
290
+ if(h.current.set(t,100),g(),r){const t=r[i[e].resourceName]
291
+ t&&Array.isArray(t)&&t[0]&&(s=t[0].url)}return{url:s,fileName:t.name}}catch(e){console.error(e)
292
+ const s=o(e,["data","errors",0,"context"])||"",a=o(e,["data","errors",0,"message"])||o(e,["message"])||""
293
+ throw{message:s||a,context:s,fileName:t.name}}}
294
+ return{progress:t,isLoading:l,upload:async(e=[],t={})=>{m(e.length),u(!0),d([])
295
+ const s=((e=[])=>{const t=[]
296
+ for(let r=0;r<e.length;r+=1){const s=e[r],a=b(s)
297
+ !0!==a&&t.push({fileName:s.name,message:a})}return t})(e)
298
+ if(s.length)return d(s),u(!1),r(100),null
299
+ const a=[]
300
+ for(let r=0;r<e.length;r+=1){const s=e[r]
301
+ a.push(y(s,t))}try{const e=await Promise.all(a)
302
+ return r(100),h.current.clear(),u(!1),d([]),e}catch(e){return console.error(e),d([e]),u(!1),r(100),h.current.clear(),null}},errors:c,filesNumber:p}}},26781(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
303
+ const s=r(48078),a=r(37380),n=r(42262)
304
+ let i=r(80576)
305
+ t.useKoenigLinkSuggestions=({siteUrl:e,membersSignupAccess:t,donationsEnabled:r,recommendationsEnabled:o,includeShareLink:l=!1,shareLinkLabel:u="Share"})=>{const{data:c}=a.useBrowseOffers(),{data:d}=n.useBrowsePosts({searchParams:{filter:"status:published",fields:"id,url,title,visibility,published_at",order:"published_at desc",limit:"5"}}),p=s({path:"/search-index/posts/",filterKey:"title",responseKey:"posts"}),m=s({path:"/search-index/pages/",filterKey:"title",responseKey:"pages"}),h=(0,i.useMemo)(()=>[{label:"Latest posts",items:(d?.posts||[]).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at??void 0}))}],[d?.posts])
306
+ return{fetchAutocompleteLinks:(0,i.useCallback)(async()=>[{label:"Homepage",value:e},{label:"Free signup",value:"#/portal/signup/free"},..."all"===t?[{label:"Paid signup",value:"#/portal/signup"},{label:"Upgrade or change plan",value:"#/portal/account/plans"}]:[],...r?[{label:"Tips and donations",value:"#/portal/support"}]:[],...l?[{label:u,value:"#/share"}]:[],...o?[{label:"Recommendations",value:"#/portal/recommendations"}]:[],...(c?.offers||[]).filter(e=>"active"===e.status&&"signup"===e.redemption_type).map(t=>({label:`Offer - ${t.name}`,value:new URL(t.code,e).toString()}))],[r,l,t,c?.offers,o,u,e]),searchLinks:(0,i.useCallback)(async e=>{if(!e)return h
307
+ const[t,r]=await Promise.all([p.loadData(e),m.loadData(e)])
308
+ return[{label:"Posts",items:t.filter(e=>"published"===e.status).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at}))},{label:"Pages",items:r.filter(e=>"published"===e.status).map(e=>({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at}))}].filter(e=>e.items.length>0)},[h,m,p])}}},64573(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
309
+ const s=r(27621),a=r(82211),n=r(16757),i=r(28091),o=r(77898),l=r(93147),u=r(80916)
310
+ let c=r(80576)
311
+ var d=Promise.resolve().then(r.t.bind(r,70147,23)),p=class extends Error{constructor({message:e}){super(e)}}
312
+ t.useLimiter=()=>{const{data:e}=a.useBrowseConfig({refetchOnMount:!1}),t=e?.config,[r,m]=(0,c.useState)(null);(0,c.useEffect)(()=>{d.then(e=>m(()=>e.default))},[])
313
+ const{data:{users:h}={users:[]},isLoading:f}=i.useBrowseUsers(),{data:{invites:g}={invites:[]},isLoading:b}=n.useBrowseInvites(),{data:{roles:y}={},isLoading:w}=u.useBrowseRoles(),v=f||b||w,{refetch:E}=o.useBrowseMembers({searchParams:{limit:"1"},enabled:!1}),{refetch:P}=l.useBrowseNewsletters({searchParams:{filter:"status:active",limit:"1"},enabled:!1}),T=(0,c.useMemo)(()=>!0===t?.hostSettings?.billing?.enabled&&t.hostSettings.billing.url?t.hostSettings.billing.url:"https://ghost.org/help/",[t?.hostSettings?.billing])
314
+ return(0,c.useMemo)(()=>{const e={isLimited:()=>!1,isDisabled:()=>!1,checkWouldGoOverLimit:()=>Promise.resolve(!1),errorIfWouldGoOverLimit:()=>Promise.resolve(),errorIfIsOverLimit:()=>Promise.resolve()}
315
+ if(!r||!t?.hostSettings?.limits||v)return e
316
+ const a={...t.hostSettings.limits},n=new r
317
+ return a.staff&&(a.staff.currentCountQuery=()=>{const e=h.filter(e=>"inactive"!==e.status&&!e.roles.some(e=>"Contributor"===e.name)),t=g.filter(e=>"Contributor"!==(y?.find(({id:t})=>t===e.role_id))?.name)
318
+ return Promise.resolve(e.length+t.length)}),a.members&&(a.members.currentCountQuery=async()=>{const{data:e}=await E()
319
+ return e?.meta?.pagination?.total||0}),a.newsletters&&(a.newsletters.currentCountQuery=async()=>{const{data:{pages:e}={pages:[]}}=await P()
320
+ return e[0].meta?.pagination.total||0}),n.loadLimits({limits:a,helpLink:T,errors:{HostLimitError:s.HostLimitError,IncorrectUsageError:p}}),{isLimited:e=>n.isLimited(e),isDisabled:e=>n.isDisabled(e),checkWouldGoOverLimit:e=>n.checkWouldGoOverLimit(e),errorIfWouldGoOverLimit:(e,t={})=>n.errorIfWouldGoOverLimit(e,t),errorIfIsOverLimit:e=>n.errorIfIsOverLimit(e)}},[r,t,E,P,T,g,v,y,h])}},63501(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
321
+ const s=r(48808)
322
+ t.usePermission=(e,t)=>{const{data:r}=s.useCurrentUser(t)
323
+ if(!e||0===e.length)return!0
324
+ const a=r?.roles.map(e=>e.name)
325
+ return!!a&&e.some(e=>a.includes(e))}},99489(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
326
+ const s=r(65955),a=r(12098),n=r(82211)
327
+ let i=r(80576)
328
+ var o=e=>{if(null!=e){if("string"==typeof e)return e
329
+ throw new TypeError("Expected value to be null, undefined, or a string")}},l=e=>{if(e.startsWith("/")){const{adminRoot:t}=s.getGhostPaths()
330
+ return window.location.origin+t.replace(/\/$/,"")+e}return e}
331
+ t.usePinturaConfig=function({requestOptions:e}={}){const{data:t}=n.useBrowseConfig({requestOptions:e}),{data:r}=a.useBrowseSettings({requestOptions:e}),s=(t?.config)?.pintura,[u,c,d]=a.getSettingValues(r?.settings??null,["pintura","pintura_js_url","pintura_css_url"])
332
+ let p,m
333
+ return u&&(p=s?.js||o(c),m=s?.css||o(d)),(0,i.useMemo)(()=>p&&m?{jsUrl:l(p),cssUrl:l(m)}:null,[p,m])}},39112(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
334
+ let s=r(80576)
335
+ var a=(0,s.createContext)({enabledFlags:[]})
336
+ t.FeatureFlagOverridesContext=a,t.useFeatureFlagOverrides=()=>(0,s.useContext)(a)},85089(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
337
+ const s=r(5852)
338
+ let a=r(28219),n=r(6841),i=r(80576),o=r(49628)
339
+ var l=(0,i.createContext)({ghostVersion:"",externalNavigate:()=>{},unsplashConfig:{Authorization:"","Accept-Version":"","Content-Type":"","App-Pragma":"","X-Unsplash-Cache":!0},sentryDSN:null,onUpdate:()=>{},onInvalidate:()=>{},onDelete:()=>{}})
340
+ t.FrameworkProvider=function({children:e,queryClient:t,...r}){return(0,o.jsx)(a.ErrorBoundary,{children:(0,o.jsx)(n.QueryClientProvider,{client:(0,i.useMemo)(()=>t||s,[t]),children:(0,o.jsx)(l.Provider,{value:r,children:e})})})},t.defaultUnsplashConfig={Authorization:"Client-ID 8672af113b0a8573edae3aa3713886265d9bb741d707f6c01a486cde8c278980","Accept-Version":"v1","Content-Type":"application/json","App-Pragma":"no-cache","X-Unsplash-Cache":!0},t.useFramework=()=>(0,i.useContext)(l)},2940(e,t){var r=Object.create,s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,l=(e,t,l)=>(l=null!=e?r(i(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=n(t),c=0,d=u.length;c<d;c++)l=u[c],o.call(e,l)||void 0===l||s(e,l,{get:(e=>t[e]).bind(null,l),enumerable:!(i=a(t,l))||i.enumerable})
341
+ return e})(!t&&e&&e.__esModule?l:s(l,"default",{value:e,enumerable:!0}),e))
342
+ Object.defineProperty(t,"__toESM",{enumerable:!0,get:function(){return l}})},79522(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
343
+ const s=r(2940),a=r(85089),n=r(27621),i=r(65955),o=r(95167)
344
+ let l=r(28219)
345
+ l=s.__toESM(l,1)
346
+ let u=r(80576)
347
+ var c=e=>{const t=new Headers,r=e.getAllResponseHeaders()?.split("\r\n")||[]
348
+ for(const s of r){const e=s.indexOf(":")
349
+ if(-1===e)continue
350
+ const r=s.slice(0,e),a=s.slice(e+1).trim()
351
+ t.append(r,a)}return t},d=/\/ghost\/api\//,p=/\/ghost\/api\/admin\/session([/?#]|$)/,m=/^#\/(?:reset|setup|signin|signup)(?:[/?]|$)/,h=!1,f=e=>{const t=e.toString()
352
+ return d.test(t)&&!p.test(t)},g=()=>{const{adminRoot:e}=i.getGhostPaths()
353
+ h||(e=>window.location.pathname===e&&(!window.location.hash||"#/"===window.location.hash||m.test(window.location.hash)))(e)||(h=!0,window.location.replace(e))},b=(e,t,{method:r,headers:s,credentials:a,body:n,signal:i})=>new Promise((o,l)=>{const u=()=>{l(new DOMException("Aborted","AbortError"))}
354
+ if(i.aborted)return void u()
355
+ const d=new XMLHttpRequest
356
+ switch(d.open(r,t.toString(),!0),a){case"omit":throw new Error('"omit" credentials cannot be represented with legacy XMLHttpRequest. Consider "same-origin".')
357
+ case"same-origin":d.withCredentials=!1
358
+ break
359
+ case"include":d.withCredentials=!0
360
+ break
361
+ default:throw new Error(a)}d.responseType="arraybuffer"
362
+ for(const[e,t]of Object.entries(s))d.setRequestHeader(e,t)
363
+ d.upload.onprogress=t=>{t.lengthComputable&&e(t.loaded/t.total*100)},d.onload=()=>{o((e=>new Response(e.response,{status:e.status,statusText:e.statusText,headers:c(e)}))(d))},d.onerror=()=>{l(new TypeError("Network request failed"))},d.onabort=u
364
+ const p=()=>d.abort()
365
+ i.addEventListener("abort",p),d.onloadend=()=>{i.removeEventListener("abort",p)},d.send(n)}),{apiRoot:y}=i.getGhostPaths()
366
+ t.apiUrl=(e,t={})=>{const r=new URL(`${y}${e}`,window.location.origin)
367
+ return r.search=new URLSearchParams(t).toString(),r.toString()},t.useFetchApi=()=>{const{ghostVersion:e,sentryDSN:t}=a.useFramework()
368
+ return(0,u.useCallback)(async(r,{method:s="GET",headers:a={},body:i,credentials:u="include",timeout:c,retry:d=!0,responseType:p,sessionExpiryRedirect:m=!0,onUploadProgress:h}={})=>{const y=new AbortController,w={method:s,headers:{"app-pragma":"no-cache",...e?{"x-ghost-version":e}:{},..."string"==typeof i?{"content-type":"application/json"}:{},...a},credentials:u,mode:"cors",body:i,signal:y.signal}
369
+ let v=0,E=0
370
+ const P=Date.now(),T=[500,1e3],j=[n.ServerUnreachableError,n.MaintenanceError,TypeError],S=(e,t)=>{const s={errorName:e?.name,attempts:v,totalSeconds:E/1e3,endpoint:r.toString()}
371
+ return r.toString().includes("/ghost/api/")&&(s.server=t?.headers.get("server")),s},_=h?b.bind(null,h):fetch,x=c?setTimeout(()=>y.abort(),c):void 0
372
+ try{for(;0===v||d;)try{return await o(await _(r,w),{responseType:p})}catch(e){if(E=Date.now()-P,d&&j.some(t=>e instanceof t)&&E<=15e3){await new Promise(e=>{setTimeout(e,T[v]||T[T.length-1])}),v+=1
373
+ continue}if(0!==v&&t&&l.captureMessage("Request failed after multiple attempts",{extra:S()}),e&&"object"==typeof e&&"name"in e&&"AbortError"===e.name)throw new n.TimeoutError
374
+ if(e instanceof n.UnauthorizedError&&f(r))throw m&&g(),new n.SessionExpiredError(e.response,e.data,{cause:e})
375
+ let a=e
376
+ throw e instanceof n.APIError||(a=new n.ServerUnreachableError({cause:e})),a}}finally{clearTimeout(x)}},[e,t])}},95167(e,t,r){const s=r(27621)
377
+ e.exports=async(e,{responseType:t}={})=>{if(0===e.status)throw new s.ServerUnreachableError
378
+ if(503===e.status)throw new s.MaintenanceError(e,await e.text())
379
+ if(415===e.status)throw new s.UnsupportedMediaTypeError(e,await e.text())
380
+ if(413===e.status)throw new s.RequestEntityTooLargeError(e,await e.text())
381
+ if(401===e.status){if(e.headers.get("content-type")?.includes("json"))throw new s.UnauthorizedError(e,await e.json())
382
+ throw new s.UnauthorizedError(e,await e.text())}if(e.ok)return 204===e.status?void 0:"blob"===t?await e.blob():"arraybuffer"===t?await e.arrayBuffer():(r=e.headers.get("content-type"))&&(r.startsWith("text/")||r.includes("application/yaml"))?await e.text():await e.json()
383
+ {if(!e.headers.get("content-type")?.includes("json"))throw new s.APIError(e,await e.text())
384
+ const t=await e.json()
385
+ throw 403===e.status&&"Authorization failed"===t.errors?.[0]?.message?new s.UnauthorizedError(e,t):"VersionMismatchError"===t.errors?.[0]?.type?new s.VersionMismatchError(e,t):"ValidationError"===t.errors?.[0]?.type||"NoPermissionError"===t.errors?.[0]?.type?new s.ValidationError(e,t):"ThemeValidationError"===t.errors?.[0]?.type?new s.ThemeValidationError(e,t):"HostLimitError"===t.errors?.[0]?.type?new s.HostLimitError(e,t):"EmailError"===t.errors?.[0]?.type?new s.EmailError(e,t):new s.JSONError(e,t)}var r}},90665(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
386
+ const s=r(85089),a=r(51184),n=r(79522),i=r(63501)
387
+ let o=r(6841),l=r(80576)
388
+ var u=e=>({searchParams:t,requestOptions:r,...s}={})=>{const u=n.apiUrl(e.path,t||e.defaultSearchParams),c=n.useFetchApi(),d=a(),p=i.usePermission(e.permissions,{requestOptions:r}),m=(0,o.useQuery)({...s,enabled:p&&(s.enabled??!0),queryKey:[e.dataType,u],queryFn:async()=>{if(e.parseResponse){const t=await c(u,{headers:e.headers,...r})
389
+ return e.parseResponse(t)}return c(u,{headers:e.headers,...r})}}),h=(0,l.useMemo)(()=>m.data&&e.returnData?e.returnData(m.data):m.data,[m.data])
390
+ return(0,l.useEffect)(()=>{m.error&&!1!==s.defaultErrorHandler&&d(m.error)},[d,m.error,s.defaultErrorHandler]),{...m,data:h}}
391
+ t.createInfiniteQuery=e=>({searchParams:t,requestOptions:r,getNextPageParams:s,...u}={})=>{const c=n.useFetchApi(),d=a(),p=i.usePermission(e.permissions,{requestOptions:r}),m=s||e.defaultNextPageParams||(()=>({})),h=(0,o.useInfiniteQuery)({...u,enabled:p&&(u.enabled??!0),queryKey:[e.dataType,n.apiUrl(e.path,t||e.defaultSearchParams)],queryFn:async({pageParam:s})=>{const a=n.apiUrl(e.path,s||t||e.defaultSearchParams)
392
+ if(e.parseResponse){const t=await c(a,{headers:e.headers,...r})
393
+ return e.parseResponse(t)}return c(a,{headers:e.headers,...r})},initialPageParam:void 0,getNextPageParam:r=>m(r,t||e.defaultSearchParams||{})}),f=(0,l.useMemo)(()=>h.data&&e.returnData(h.data),[h.data])
394
+ return(0,l.useEffect)(()=>{h.error&&!1!==u.defaultErrorHandler&&d(h.error)},[d,h.error,u.defaultErrorHandler]),{...h,data:f}},t.createMutation=({path:e,searchParams:t,defaultSearchParams:r,updateQueries:a,invalidateQueries:i,...u})=>()=>{const c=n.useFetchApi(),d=(0,o.useQueryClient)(),{onUpdate:p,onInvalidate:m,onDelete:h}=s.useFramework()
395
+ return(0,o.useMutation)({mutationFn:s=>(({fetchApi:e,path:t,payload:r,searchParams:s,options:a})=>{const{defaultSearchParams:i,body:o,requestOptions:l,...u}=a,c=n.apiUrl(t,s||i),d=r&&o?.(r)
396
+ let p
397
+ return d instanceof FormData?p=d:d&&(p=JSON.stringify(d)),e(c,{body:p,...u,...void 0===r?{}:l?.(r)})})({fetchApi:c,path:e(s),payload:s,searchParams:t?.(s)||r,options:u}),onSuccess:(0,l.useCallback)((e,t)=>{if(i&&"dataType"in i){const e=Array.isArray(i.dataType)?i.dataType:[i.dataType]
398
+ for(const t of e)d.invalidateQueries({queryKey:[t]}),m(t)}else i&&d.invalidateQueries(i.filters,i.options)
399
+ if(a)if(d.setQueriesData({queryKey:[a.dataType]},r=>a.update(e,r,t)),"createOrUpdate"===a.emberUpdateType)p(a.dataType,e)
400
+ else if("delete"===a.emberUpdateType){if("string"!=typeof t)throw new Error("Expected delete mutation to have a string (ID) payload. Either change the payload or update the createMutation hook")
401
+ h(a.dataType,t)}},[m,p,h,d])})},t.createQuery=u,t.createQueryWithId=e=>(t,{searchParams:r,...s}={})=>u({...e,path:e.path(t)})({searchParams:r||e.defaultSearchParams,...s})},72215(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.deleteFromQueryCache=(e,t)=>(r,s,a)=>{if(!s)return s
402
+ const n=t?.(a)||[a]
403
+ if("object"==typeof s&&"pages"in s){const{pages:t}=s
404
+ return{...s,pages:t.map(t=>({...t,[e]:t[e].filter(e=>!n.includes(e.id))}))}}return{...s,[e]:s[e].filter(e=>!n.includes(e.id))}},t.insertToQueryCache=(e,t)=>(r,s)=>{if(!s)return s
405
+ const a=t||(t=>t[e])
406
+ if("object"==typeof s&&"pages"in s){const{pages:t}=s,n=t[t.length-1]
407
+ return{...s,pages:t.slice(0,-1).concat({...n,[e]:n[e].concat(a(r))})}}return{...s,[e]:s[e].concat(a(r))}},t.updateQueryCache=(e,t)=>(r,s)=>{if(!s)return s
408
+ const a=(t||(t=>t[e].reduce((e,t)=>({...e,[t.id]:t}),{})))(r)
409
+ if("object"==typeof s&&"pages"in s){const{pages:t}=s
410
+ return{...s,pages:t.map(t=>({...t,[e]:t[e].map(e=>a[e.id]||e)}))}}return{...s,[e]:s[e].map(e=>a[e.id]||e)}}},27621(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
411
+ var r=class extends Error{response
412
+ data
413
+ constructor(e,t,r,s){!r&&e&&e.url.includes("/ghost/api/admin/")&&(r=`Something went wrong while loading ${e.url.replace(/.+\/ghost\/api\/admin\//,"").replace(/\W.*/,"").replace("_"," ")}, please try again.`),super(r||"Something went wrong, please try again.",s),this.response=e,this.data=t}},s=class extends r{data
414
+ constructor(e,t,r,s){super(e,t,r,s),this.data=t}},a=class extends r{constructor(e,t,r){super(e,t,"You are not authorised to make this request.",r)}},n=class extends s{constructor(e,t,r){super(e,t,"Theme is not compatible or contains errors.",r)}},i=class extends s{errorDetails
415
+ constructor(e,t,r){e instanceof Response?super(e,t,"A hosting plan limit was reached or exceeded.",r):(super(void 0,void 0,e.message||"A hosting plan limit was reached or exceeded."),this.errorDetails=e.errorDetails)}},o=class extends s{constructor(e,t,r){super(e,t,"Please verify your email settings",r)}},l=class extends s{constructor(e,t,r){super(e,t,t.errors[0].message,r)}},u=[l,n,i,o],c=class extends Error{constructor(e){super(e)}}
416
+ t.APIError=r,t.AlreadyExistsError=c,t.EmailError=o,t.HostLimitError=i,t.JSONError=s,t.MaintenanceError=class extends r{constructor(e,t,r){super(e,t,"Ghost is currently undergoing maintenance, please wait a moment then retry.",r)}},t.RequestEntityTooLargeError=class extends r{constructor(e,t,r){super(e,t,"Request is larger than the maximum file size the server allows",r)}},t.ServerUnreachableError=class extends r{constructor(e){super(void 0,void 0,"Something went wrong, please try again.",e)}},t.SessionExpiredError=class extends a{},t.ThemeValidationError=n,t.TimeoutError=class extends r{constructor(e){super(void 0,void 0,"Request timed out, please try again.",e)}},t.UnauthorizedError=a,t.UnsupportedMediaTypeError=class extends r{constructor(e,t,r){super(e,t,"Request contains an unknown or unsupported file type.",r)}},t.ValidationError=l,t.VersionMismatchError=class extends s{constructor(e,t,r){super(e,t,"API server is running a newer version of Ghost, please upgrade.",r)}},t.errorsWithMessage=u,t.getErrorMessage=function(e,t){const r=e instanceof s?e.data?.errors?.[0]:void 0
417
+ return r?.context||r?.message||t}},65955(e,t){function r(){const e=window.location.pathname,t=e.substr(0,e.search("/ghost/"))
418
+ return{subdir:t,adminRoot:`${t}/ghost/`,assetRoot:`${t}/ghost/assets/`,apiRoot:`${t}/ghost/api/admin`}}function s(e){let t=document.getElementById("iframeDownload")
419
+ t||(t=document.createElement("iframe"),t.id="iframeDownload",t.style.display="none",document.body.append(t)),t.setAttribute("src",e)}function a(e){if(!e)return
420
+ const t=e.match(/filename\*=([^;]+)/i)
421
+ if(t?.[1]){const e="'",r=t[1].trim(),s=r.indexOf(e),a=-1===s?-1:r.indexOf(e,s+1),n=-1===a?r:r.slice(a+1)
422
+ try{return decodeURIComponent(n.replace(/^["']|["']$/g,""))}catch{}}const r=e.match(/filename="([^"]*)"/i)
423
+ if(r?.[1])return r[1].trim()
424
+ const s=e.match(/filename=([^;]+)/i)
425
+ return s?.[1]?s[1].trim():void 0}async function n(e,t,{signal:r}={}){const s=await fetch(e,{method:"GET",signal:r})
426
+ if(!s.ok)throw new Error(`Download failed: ${s.status} ${s.statusText}`)
427
+ const n=a(s.headers.get("content-disposition"))??t??"download",i=await s.blob(),o=window.URL.createObjectURL(i),l=document.createElement("a")
428
+ l.href=o,l.download=n,document.body.appendChild(l),l.click(),l.remove(),window.URL.revokeObjectURL(o)}Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.blobDownload=n,t.blobDownloadFromEndpoint=async function(e,t,s={}){return n(`${r().apiRoot}${e}`,t,s)},t.downloadFile=s,t.downloadFromEndpoint=function(e){s(`${r().apiRoot}${e}`)},t.getFilenameFromContentDisposition=a,t.getGhostPaths=r},5852(e,t,r){let s=r(6841)
429
+ var a=window.adminXQueryClient||new s.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:3e5,gcTime:6e5,retry:!1,networkMode:"always"}}})
430
+ window.__TANSTACK_QUERY_CLIENT__=a,window.adminXQueryClient||(window.adminXQueryClient=a),e.exports=a},25904(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})
431
+ var r="status:free",s="status:-free",a=`${r},${s}`,n=[r,s]
432
+ t.EVERYONE_RECIPIENT_FILTER=a,t.FREE_SEGMENT=r,t.PAID_SEGMENT=s,t.buildRecipientFilter=function(e,{paidAvailable:t=!0}={}){const r=new Set([...e.base,...e.specific])
433
+ return t||r.delete(s),Array.from(r).join(",")||null},t.getFullRecipientFilter=function(e,t){let r=e
434
+ return t&&(r+=`+(${t})`),r},t.getNewsletterRecipientFilter=function({slug:e,visibility:t}){const r=[`newsletters.slug:${e}`,"email_disabled:0"]
435
+ return"paid"===t&&r.push(s),r.join("+")},t.getRecipientType=function(e){return e?"status:free"===e?"free":"status:-free"===e?"paid":e.includes("status:free")&&e.includes("status:-free")?"all":"specific":"none"},t.normalizeRecipientFilter=function(e){return"all"===e?a:e&&"none"!==e?e:null},t.parseRecipientFilter=function(e){const t=(e||"").split(","),a=[],i=[]
436
+ for(const r of t)n.includes(r.trim())?a.includes(r)||a.push(r):""!==r.trim()&&(i.includes(r)||i.push(r))
437
+ return{free:a.includes(r),paid:a.includes(s),base:a,specific:i}}},26031(e,t,r){"use strict"
438
+ function s(e){return`'${e.replace(/(['"])/g,"\\$1")}'`}r.r(t),r.d(t,{escapeNqlString:()=>s})}}])
439
+
440
+ //# sourceMappingURL=chunk.254.035b85ec456ebbd7336b.map
@@ -1,7 +1,7 @@
1
1
  var __ember_auto_import__;(()=>{var e,r,t,n={32186(e){"use strict"
2
2
  e.exports=require("@ember/test-waiters")},80032(e){"use strict"
3
- e.exports=require("ember-tracked-storage-polyfill")},57171(e,r,t){e.exports=function(){var e=_eai_d,r=_eai_r
4
- function n(e){return e&&e.__esModule?e:Object.assign({default:e},e)}window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},e("@sentry/browser",[],function(){return n(t(14919))}),e("@sentry/core",[],function(){return n(t(43581))}),e("@sentry/integrations",[],function(){return n(t(33388))}),e("@sentry/replay",[],function(){return n(t(22397))}),e("@sentry/utils",[],function(){return n(t(3261))}),e("@tryghost/admin-x-framework/hooks",[],function(){return n(t(88950))}),e("@tryghost/color-utils",[],function(){return n(t(21521))}),e("@tryghost/kg-clean-basic-html",[],function(){return n(t(27929))}),e("@tryghost/kg-converters",[],function(){return n(t(90724))}),e("@tryghost/limit-service",[],function(){return n(t(91373))}),e("@tryghost/nql",[],function(){return n(t(84769))}),e("@tryghost/nql-string",[],function(){return n(t(26031))}),e("@tryghost/string",[],function(){return n(t(38701))}),e("@tryghost/timezone-data",[],function(){return n(t(70087))}),e("dompurify",[],function(){return n(t(13830))}),e("element-resize-detector",[],function(){return n(t(93197))}),e("ember-assign-helper/helpers/assign",[],function(){return n(t(83514))}),e("ember-css-transitions/modifiers/css-transition",["@ember/test-waiters"],function(){return n(t(1943))}),e("ember-keyboard/helpers/if-key.js",[],function(){return n(t(13247))}),e("ember-keyboard/helpers/on-key.js",[],function(){return n(t(41353))}),e("ember-keyboard/modifiers/on-key.js",[],function(){return n(t(61264))}),e("ember-keyboard/services/keyboard.js",[],function(){return n(t(66135))}),e("ember-modifier",[],function(){return n(t(47078))}),e("ember-moment/helpers/-base",[],function(){return n(t(85820))}),e("ember-moment/helpers/is-after",[],function(){return n(t(4843))}),e("ember-moment/helpers/is-before",[],function(){return n(t(90498))}),e("ember-moment/helpers/is-between",[],function(){return n(t(3857))}),e("ember-moment/helpers/is-same",[],function(){return n(t(17639))}),e("ember-moment/helpers/is-same-or-after",[],function(){return n(t(72942))}),e("ember-moment/helpers/is-same-or-before",[],function(){return n(t(68213))}),e("ember-moment/helpers/moment",[],function(){return n(t(79592))}),e("ember-moment/helpers/moment-add",[],function(){return n(t(51922))}),e("ember-moment/helpers/moment-calendar",[],function(){return n(t(94355))}),e("ember-moment/helpers/moment-diff",[],function(){return n(t(91778))}),e("ember-moment/helpers/moment-duration",[],function(){return n(t(43913))}),e("ember-moment/helpers/moment-format",[],function(){return n(t(60594))}),e("ember-moment/helpers/moment-from",[],function(){return n(t(37761))}),e("ember-moment/helpers/moment-from-now",[],function(){return n(t(9400))}),e("ember-moment/helpers/moment-subtract",[],function(){return n(t(7761))}),e("ember-moment/helpers/moment-to",[],function(){return n(t(70220))}),e("ember-moment/helpers/moment-to-date",[],function(){return n(t(4365))}),e("ember-moment/helpers/moment-to-now",[],function(){return n(t(67377))}),e("ember-moment/helpers/now",[],function(){return n(t(32814))}),e("ember-moment/helpers/unix",[],function(){return n(t(80414))}),e("ember-moment/helpers/utc",[],function(){return n(t(63696))}),e("ember-moment/services/moment",[],function(){return n(t(36478))}),e("fast-deep-equal",[],function(){return n(t(45484))}),e("flexsearch",[],function(){return n(t(52177))}),e("focus-trap",[],function(){return n(t(83600))}),e("intersection-observer-admin",[],function(){return n(t(73116))}),e("microdiff",[],function(){return n(t(75917))}),e("moment-timezone",[],function(){return n(t(9523))}),e("raf-pool",[],function(){return n(t(82474))}),e("react",[],function(){return n(t(80576))}),e("react-dom",[],function(){return n(t(42997))}),e("react-dom/client",[],function(){return n(t(99790))}),e("react/jsx-runtime",[],function(){return n(t(49628))}),e("tooltip.js",[],function(){return n(t(82566))}),e("tracked-built-ins",["ember-tracked-storage-polyfill"],function(){return n(t(30227))}),e("validator",[],function(){return n(t(29522))}),e("_eai_dyn_@sentry/browser",[],function(){return Promise.resolve().then(t.bind(t,14919))})}()}},o={}
3
+ e.exports=require("ember-tracked-storage-polyfill")},46989(e,r,t){e.exports=function(){var e=_eai_d,r=_eai_r
4
+ function n(e){return e&&e.__esModule?e:Object.assign({default:e},e)}window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},e("@sentry/browser",[],function(){return n(t(14919))}),e("@sentry/core",[],function(){return n(t(43581))}),e("@sentry/integrations",[],function(){return n(t(33388))}),e("@sentry/replay",[],function(){return n(t(22397))}),e("@sentry/utils",[],function(){return n(t(3261))}),e("@tryghost/admin-x-framework/hooks",[],function(){return n(t(88950))}),e("@tryghost/color-utils",[],function(){return n(t(21521))}),e("@tryghost/kg-clean-basic-html",[],function(){return n(t(27929))}),e("@tryghost/kg-converters",[],function(){return n(t(90724))}),e("@tryghost/limit-service",[],function(){return n(t(70147))}),e("@tryghost/nql",[],function(){return n(t(84769))}),e("@tryghost/nql-string",[],function(){return n(t(26031))}),e("@tryghost/string",[],function(){return n(t(38701))}),e("@tryghost/timezone-data",[],function(){return n(t(70087))}),e("dompurify",[],function(){return n(t(13830))}),e("element-resize-detector",[],function(){return n(t(93197))}),e("ember-assign-helper/helpers/assign",[],function(){return n(t(83514))}),e("ember-css-transitions/modifiers/css-transition",["@ember/test-waiters"],function(){return n(t(1943))}),e("ember-keyboard/helpers/if-key.js",[],function(){return n(t(13247))}),e("ember-keyboard/helpers/on-key.js",[],function(){return n(t(41353))}),e("ember-keyboard/modifiers/on-key.js",[],function(){return n(t(61264))}),e("ember-keyboard/services/keyboard.js",[],function(){return n(t(66135))}),e("ember-modifier",[],function(){return n(t(47078))}),e("ember-moment/helpers/-base",[],function(){return n(t(85820))}),e("ember-moment/helpers/is-after",[],function(){return n(t(4843))}),e("ember-moment/helpers/is-before",[],function(){return n(t(90498))}),e("ember-moment/helpers/is-between",[],function(){return n(t(3857))}),e("ember-moment/helpers/is-same",[],function(){return n(t(17639))}),e("ember-moment/helpers/is-same-or-after",[],function(){return n(t(72942))}),e("ember-moment/helpers/is-same-or-before",[],function(){return n(t(68213))}),e("ember-moment/helpers/moment",[],function(){return n(t(79592))}),e("ember-moment/helpers/moment-add",[],function(){return n(t(51922))}),e("ember-moment/helpers/moment-calendar",[],function(){return n(t(94355))}),e("ember-moment/helpers/moment-diff",[],function(){return n(t(91778))}),e("ember-moment/helpers/moment-duration",[],function(){return n(t(43913))}),e("ember-moment/helpers/moment-format",[],function(){return n(t(60594))}),e("ember-moment/helpers/moment-from",[],function(){return n(t(37761))}),e("ember-moment/helpers/moment-from-now",[],function(){return n(t(9400))}),e("ember-moment/helpers/moment-subtract",[],function(){return n(t(7761))}),e("ember-moment/helpers/moment-to",[],function(){return n(t(70220))}),e("ember-moment/helpers/moment-to-date",[],function(){return n(t(4365))}),e("ember-moment/helpers/moment-to-now",[],function(){return n(t(67377))}),e("ember-moment/helpers/now",[],function(){return n(t(32814))}),e("ember-moment/helpers/unix",[],function(){return n(t(80414))}),e("ember-moment/helpers/utc",[],function(){return n(t(63696))}),e("ember-moment/services/moment",[],function(){return n(t(36478))}),e("fast-deep-equal",[],function(){return n(t(45484))}),e("flexsearch",[],function(){return n(t(52177))}),e("focus-trap",[],function(){return n(t(83600))}),e("intersection-observer-admin",[],function(){return n(t(73116))}),e("microdiff",[],function(){return n(t(75917))}),e("moment-timezone",[],function(){return n(t(9523))}),e("raf-pool",[],function(){return n(t(82474))}),e("react",[],function(){return n(t(80576))}),e("react-dom",[],function(){return n(t(42997))}),e("react-dom/client",[],function(){return n(t(99790))}),e("react/jsx-runtime",[],function(){return n(t(49628))}),e("tooltip.js",[],function(){return n(t(82566))}),e("tracked-built-ins",["ember-tracked-storage-polyfill"],function(){return n(t(30227))}),e("validator",[],function(){return n(t(29522))}),e("_eai_dyn_@sentry/browser",[],function(){return Promise.resolve().then(t.bind(t,14919))})}()}},o={}
5
5
  function u(e){var r=o[e]
6
6
  if(void 0!==r)return r.exports
7
7
  var t=o[e]={id:e,loaded:!1,exports:{}}
@@ -25,8 +25,8 @@ var r=(r,t)=>{var n,o,[i,m,s]=t,c=0
25
25
  if(i.some(r=>0!==e[r])){for(n in m)u.o(m,n)&&(u.m[n]=m[n])
26
26
  if(s)var f=s(u)}for(r&&r(t);c<i.length;c++)o=i[c],u.o(e,o)&&e[o]&&e[o][0](),e[o]=0
27
27
  return u.O(f)},t=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
28
- t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),u.O(void 0,[492,896],()=>u(u.s=15806))
29
- var i=u.O(void 0,[492,896],()=>u(u.s=57171))
28
+ t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),u.O(void 0,[901,254],()=>u(u.s=95032))
29
+ var i=u.O(void 0,[901,254],()=>u(u.s=46989))
30
30
  i=u.O(i),__ember_auto_import__=i})()
31
31
 
32
- //# sourceMappingURL=chunk.524.60ca4692d91c6022042f.map
32
+ //# sourceMappingURL=chunk.524.e6975095fccdf22d90f8.map