ghost 6.62.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 (439) hide show
  1. package/components/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
  2. package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
  3. package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
  4. package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
  5. package/components/tryghost-checkout-0.0.0.tgz +0 -0
  6. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  7. package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
  8. package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
  9. package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
  10. package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
  11. package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
  12. package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
  13. package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
  14. package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
  15. package/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
  16. package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
  17. package/components/tryghost-limit-service-0.0.0.tgz +0 -0
  18. package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
  19. package/content/themes/source/package.json +2 -2
  20. package/content/themes/source/partials/post-card.hbs +1 -1
  21. package/core/boot.js +7 -5
  22. package/core/built/admin/assets/{about-Dyae_UT6.js → about-C1C3s5-g.js} +1 -1
  23. package/core/built/admin/assets/accordion-CxGsDKwa.js +1 -0
  24. package/core/built/admin/assets/{account-migration-CESa0mnX.js → account-migration-CbUhW6gk.js} +1 -1
  25. package/core/built/admin/assets/activitypub/{account-migration-By69CgCp.js → account-migration-KA6Jjf9L.js} +7 -7
  26. package/core/built/admin/assets/activitypub/activitypub.js +3 -3
  27. package/core/built/admin/assets/activitypub/{avatar-DLPL3Abs.js → avatar-DVJF5bxP.js} +2 -2
  28. package/core/built/admin/assets/activitypub/{avatar-flipboard-C9iDY-QV.js → avatar-flipboard-csQaNeYK.js} +2 -2
  29. package/core/built/admin/assets/activitypub/{bluesky-sharing-BJcPMrDd.js → bluesky-sharing-C7nTDMvw.js} +9 -9
  30. package/core/built/admin/assets/activitypub/{content-formatters-3rTHg3mp.js → content-formatters-CLcjaBwV.js} +4 -4
  31. package/core/built/admin/assets/activitypub/{copy-DIAOQoCZ.js → copy-DcOh8kXw.js} +2 -2
  32. package/core/built/admin/assets/activitypub/{domain-DUR4xSkV.js → domain-fZ-X8i4-.js} +9 -9
  33. package/core/built/admin/assets/activitypub/{edit-profile-BqtfzxCp.js → edit-profile-BqMLQV88.js} +6 -6
  34. package/core/built/admin/assets/activitypub/{explore-BxuJd-J4.js → explore-B4yPoP8E.js} +10 -10
  35. package/core/built/admin/assets/activitypub/{feed-BM1TcksA.js → feed-BRC_mvAe.js} +9 -9
  36. package/core/built/admin/assets/activitypub/{field-Dn7HHx2-.js → field-COacNgOt.js} +3 -3
  37. package/core/built/admin/assets/activitypub/{hash-Bm3WxYN4.js → hash-C7u-irQQ.js} +2 -2
  38. package/core/built/admin/assets/activitypub/{inbox-CCjkuow2.js → inbox-BW-yvUoN.js} +10 -10
  39. package/core/built/admin/assets/activitypub/{inbox-d8oJRTf4.js → inbox-CbTTdDQ3.js} +2 -2
  40. package/core/built/admin/assets/activitypub/{label-1AA_s9Fa.js → label-kPMmYI7l.js} +3 -3
  41. package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +1 -0
  42. package/core/built/admin/assets/activitypub/{moderation-CnmxEB8w.js → moderation-CuidJzc0.js} +10 -10
  43. package/core/built/admin/assets/activitypub/{note-ZKc_Bnba.js → note-CAMRRSqD.js} +7 -7
  44. package/core/built/admin/assets/activitypub/{notifications-CB2tJZau.js → notifications-BmNlXGgp.js} +9 -9
  45. package/core/built/admin/assets/activitypub/{onboarding-BsJ9E5qf.js → onboarding-Bqg7fh_L.js} +2 -2
  46. package/core/built/admin/assets/activitypub/{onboarding-CSUJJIlh.js → onboarding-Dmun9jr_.js} +2 -2
  47. package/core/built/admin/assets/activitypub/{preferences-0-JZnUkI.js → preferences--oH19wf9.js} +11 -11
  48. package/core/built/admin/assets/activitypub/{profile-C35cFIhM.js → profile-DH_tQx2D.js} +14 -14
  49. package/core/built/admin/assets/activitypub/{reply-DYK5vVqb.js → reply-Cap9PxSH.js} +2 -2
  50. package/core/built/admin/assets/activitypub/{routes-BD4vscyc.js → routes-DdyY9uFF.js} +30 -30
  51. package/core/built/admin/assets/activitypub/{separator-BbQqTm-p.js → separator-CAxxu8VV.js} +3 -3
  52. package/core/built/admin/assets/activitypub/{settings-BsMROdqh.js → settings-B6EEcVkW.js} +6 -6
  53. package/core/built/admin/assets/activitypub/{site-O0RL9YCN.js → site-BYps63oh.js} +2 -2
  54. package/core/built/admin/assets/activitypub/{step-1-BMSx7c_X.js → step-1-CKjR2KAm.js} +6 -6
  55. package/core/built/admin/assets/activitypub/{step-2-DtPQzlTH.js → step-2-B6PKfOUQ.js} +6 -6
  56. package/core/built/admin/assets/activitypub/{step-3-CLlOZTyt.js → step-3-C-qBbcUo.js} +11 -11
  57. package/core/built/admin/assets/activitypub/{tabs-Dxk-b9M-.js → tabs-DLhZtVde.js} +6 -6
  58. package/core/built/admin/assets/activitypub/{topic-filter-5yZH6tId.js → topic-filter-DsUOuu0k.js} +3 -3
  59. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CV50qe03.js → use-activity-pub-queries-CX9snsLs.js} +3 -3
  60. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Bmk5h4lW.js → use-navigate-with-base-path-DsJTGDSS.js} +988 -959
  61. package/core/built/admin/assets/activitypub/{use-reply-chain-data-Cbvzgjzd.js → use-reply-chain-data-AJi9zkzm.js} +5 -5
  62. package/core/built/admin/assets/activitypub/{users-BjcoP_HC.js → users-inweyKL5.js} +186 -160
  63. package/core/built/admin/assets/activitypub/{x-DbQZOLiI.js → x-DR8AT3-4.js} +2 -2
  64. package/core/built/admin/assets/{add-integration-modal-BlF6rs_f.js → add-integration-modal-BT_onDJy.js} +1 -1
  65. package/core/built/admin/assets/{add-newsletter-modal-CglVQqah.js → add-newsletter-modal-Cx1kQpiY.js} +1 -1
  66. package/core/built/admin/assets/{add-recommendation-modal-wz7BsuaG.js → add-recommendation-modal-B5nvAhvr.js} +1 -1
  67. package/core/built/admin/assets/{analytics-C4HE1gBg.js → analytics-DjoJWPI7.js} +1 -1
  68. package/core/built/admin/assets/{announcement-bar-modal-Ci4zz8jO.js → announcement-bar-modal-Dwd0EGFP.js} +1 -1
  69. package/core/built/admin/assets/{api-keys-3-0vJC3Y.js → api-keys-BGPzLHzA.js} +1 -1
  70. package/core/built/admin/assets/{api-keys-Ck-Yteiv.js → api-keys-BoeacM-s.js} +1 -1
  71. package/core/built/admin/assets/{audience-CtbA54Sn.js → audience-ceV3XVHq.js} +1 -1
  72. package/core/built/admin/assets/automated-emails-BLesE41L.js +1 -0
  73. package/core/built/admin/assets/{automations-sAcJ1334.js → automations-BN4u3GR8.js} +1 -1
  74. package/core/built/admin/assets/automations-C-ZTUwW3.js +1 -0
  75. package/core/built/admin/assets/{bluesky-sharing-BEtJ_gL_.js → bluesky-sharing-vzh-oPXL.js} +1 -1
  76. package/core/built/admin/assets/{breadcrumb-zUrZrBtW.js → breadcrumb-CaLk2b7D.js} +1 -1
  77. package/core/built/admin/assets/{button-eNMKQWXr.js → button-Dvcv1QSR.js} +1 -1
  78. package/core/built/admin/assets/calendar-Bl9RLcZX.js +1 -0
  79. package/core/built/admin/assets/{chart-helpers-CfBKt0vT.js → chart-helpers-FHywU0pj.js} +1 -1
  80. package/core/built/admin/assets/{checkbox-CgOn_tKW.js → checkbox-BtayFtjg.js} +1 -1
  81. package/core/built/admin/assets/chunk.254.035b85ec456ebbd7336b.js +440 -0
  82. package/core/built/admin/assets/{chunk.524.a697dee88db67fdf6021.js → chunk.524.e6975095fccdf22d90f8.js} +5 -5
  83. package/core/built/admin/assets/{chunk.582.5ed5d124cfca9c259b9c.js → chunk.582.98b485f9b2802f540897.js} +6 -6
  84. package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js → chunk.901.4ccc639821020230bcca.js} +9949 -7921
  85. package/core/built/admin/assets/{code-editor-view-K2wI-I5f.js → code-editor-view-C3ZfoF1X.js} +1 -1
  86. package/core/built/admin/assets/{code-editor-view-BYNoAoNV.js → code-editor-view-CAyRWy1s.js} +1 -1
  87. package/core/built/admin/assets/{color-picker-Ddw80xX6.js → color-picker-G4kGR7rp.js} +1 -1
  88. package/core/built/admin/assets/{color-picker-field-D9nUhvA7.js → color-picker-field-DQFVTNnT.js} +1 -1
  89. package/core/built/admin/assets/{combobox-w9j8PPQT.js → combobox-BnYzgEB4.js} +1 -1
  90. package/core/built/admin/assets/{command-BfpHORBv.js → command-C_vyTikI.js} +1 -1
  91. package/core/built/admin/assets/comments-aBrxfnZf.js +1 -0
  92. package/core/built/admin/assets/{config-DOMQDZGZ.js → config-kSHvwdTG.js} +1 -1
  93. package/core/built/admin/assets/{confirmation-context-CBM8G0Vj.js → confirmation-context-DwXX_Y5h.js} +1 -1
  94. package/core/built/admin/assets/{content-api-modal-TXRz3U7S.js → content-api-modal-D2G0nJP6.js} +1 -1
  95. package/core/built/admin/assets/{context-menu-_QMdd3kp.js → context-menu-DOVB6yaz.js} +1 -1
  96. package/core/built/admin/assets/{copy-field-6N01S07E.js → copy-field-DCJwh9qf.js} +1 -1
  97. package/core/built/admin/assets/{create-ghost-browse-value-source-qIBymvvf.js → create-ghost-browse-value-source-5C53jJaX.js} +1 -1
  98. package/core/built/admin/assets/custom-field-type-option-BAuW0F-E.js +1 -0
  99. package/core/built/admin/assets/{custom-integration-modal-DmNquxUV.js → custom-integration-modal-AbJGVyKc.js} +1 -1
  100. package/core/built/admin/assets/{date-range-select-uvz_DtPh.js → date-range-select-BY3K-ukj.js} +1 -1
  101. package/core/built/admin/assets/design-and-theme-modal-BvEy4_pC.js +2 -0
  102. package/core/built/admin/assets/{dirty-confirm-dialog-BZ1iytEd.js → dirty-confirm-dialog-DVPuGz3U.js} +1 -1
  103. package/core/built/admin/assets/{disabled-sources-indicator-DMRrxsiJ.js → disabled-sources-indicator-Cy7Zp4c8.js} +1 -1
  104. package/core/built/admin/assets/{domain-BNYrt0aD.js → domain-Dl61QGuk.js} +1 -1
  105. package/core/built/admin/assets/{dropzone-D7nFdAe5.js → dropzone-Dtz5Rmjt.js} +4 -4
  106. package/core/built/admin/assets/edit-profile-DNJSMDwm.js +1 -0
  107. package/core/built/admin/assets/editor-DbAen9zf.js +8 -0
  108. package/core/built/admin/assets/editor-screen-BFWThIai.js +26 -0
  109. package/core/built/admin/assets/email-sending-status-context-CWDOD1FN.js +1 -0
  110. package/core/built/admin/assets/email-sending-status-provider-DCPkDICt.js +1 -0
  111. package/core/built/admin/assets/emails-vFMk4yYl.js +1 -0
  112. package/core/built/admin/assets/{embed-signup-form-modal-Ds6mPEi5.js → embed-signup-form-modal-DGqsORxS.js} +1 -1
  113. package/core/built/admin/assets/{explore-UY10Egsp.js → explore-nnRr1Fja.js} +1 -1
  114. package/core/built/admin/assets/feature-flag-overrides-context-DQjdJFAk.js +1 -0
  115. package/core/built/admin/assets/{feature-image-placeholder-D1iF_8bc.js → feature-image-placeholder-BrIHmPs8.js} +1 -1
  116. package/core/built/admin/assets/{feed-81C8mJWR.js → feed-BNUcNu-W.js} +1 -1
  117. package/core/built/admin/assets/feedback-DJ4Zb9rZ.js +1 -0
  118. package/core/built/admin/assets/{field-Dihp5p18.js → field-C93_Mg6j.js} +1 -1
  119. package/core/built/admin/assets/filter-sources-CGJb4C5r.js +1 -0
  120. package/core/built/admin/assets/{filters-DirqNXjH.js → filters--kKP-EC8.js} +1 -1
  121. package/core/built/admin/assets/filters-DxA_a4FP.js +1 -0
  122. package/core/built/admin/assets/{first-promoter-modal-CT6MxYZb.js → first-promoter-modal-BYDtrz2S.js} +1 -1
  123. package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-BbSnGOtK.js +1 -0
  124. package/core/built/admin/assets/{ghost-8eabfc1ece81b03cf7b90780d31487e8.css → ghost-8fd5bb799356bbefb254210ba7e1236d.css} +1 -1
  125. package/core/built/admin/assets/{ghost-c2848508292937415f20f5a830eea59e.js → ghost-b4e8a403baba61905cd7560e30b9732d.js} +43 -27
  126. package/core/built/admin/assets/{ghost-dark-a7bebe2c561f55369dcf29f4c820f7ff.css → ghost-dark-cac0cb2d5bb78e9bd14d8d1c2768ed45.css} +1 -1
  127. package/core/built/admin/assets/{gift-link-modal-CQVAye17.js → gift-link-modal-B7u5bD4e.js} +1 -1
  128. package/core/built/admin/assets/{gift-links-DLDS7ljO.js → gift-links-CfLSnst2.js} +1 -1
  129. package/core/built/admin/assets/growth-Cd1uO9d2.js +1 -0
  130. package/core/built/admin/assets/growth-aG32xfdE.js +3 -0
  131. package/core/built/admin/assets/{history-modal-CFd1Hvx6.js → history-modal-Df8lW8h-.js} +1 -1
  132. package/core/built/admin/assets/hooks-Cy_-oZ4o.js +2 -0
  133. package/core/built/admin/assets/{html-field-CJBCLTvv.js → html-field-DA4eU7eq.js} +1 -1
  134. package/core/built/admin/assets/{images-scfkWZiK.js → images-KXmyO3Ss.js} +1 -1
  135. package/core/built/admin/assets/{inbox-Mcp4DXZN.js → inbox-gJHG7_xd.js} +6 -6
  136. package/core/built/admin/assets/index-BHHXtR5C.css +2 -0
  137. package/core/built/admin/assets/index-CgMCwsxN.js +4 -0
  138. package/core/built/admin/assets/index.es-CY6-yuw9.js +1 -0
  139. package/core/built/admin/assets/{input-group-CMhe2DvY.js → input-group-BE8rM2y1.js} +1 -1
  140. package/core/built/admin/assets/{integrations-Bjbu86Z0.js → integrations-B4kuRBFY.js} +1 -1
  141. package/core/built/admin/assets/{invite-user-modal-DfheMXs0.js → invite-user-modal-B4CuNcx4.js} +1 -1
  142. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +2 -2
  143. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +2 -2
  144. package/core/built/admin/assets/{koenig-lexical-DBSqAuiI.js → koenig-lexical-CGXb0F8o.js} +2 -2
  145. package/core/built/admin/assets/koenig-loader-BeM5rFPX.js +2 -0
  146. package/core/built/admin/assets/{kpi-card-DBRMfGOW.js → kpi-card-B21aToe8.js} +1 -1
  147. package/core/built/admin/assets/{kpi-card-DFafD1qq.js → kpi-card-pz6Wv4Ae.js} +1 -1
  148. package/core/built/admin/assets/{kpi-helpers-Cv8i8hns.js → kpi-helpers-Dq5jelmP.js} +1 -1
  149. package/core/built/admin/assets/{kpi-tabs-BJItvLYm.js → kpi-tabs-DEZHpKUt.js} +1 -1
  150. package/core/built/admin/assets/{label-BnSCvffu.js → label-OLCzze8N.js} +1 -1
  151. package/core/built/admin/assets/label-picker-BigOvMPV.js +1 -0
  152. package/core/built/admin/assets/{labels-CH3Kn8RV.js → labels-Dr0SgUQD.js} +1 -1
  153. package/core/built/admin/assets/layout-DUTL8SH5.js +1 -0
  154. package/core/built/admin/assets/lib-7QPTI0FS.js +1 -0
  155. package/core/built/admin/assets/link-helpers-BRAg9SCj.js +1 -0
  156. package/core/built/admin/assets/links-BDHPTlyj.js +1 -0
  157. package/core/built/admin/assets/{member-custom-fields-DDQV6QeG.js → member-custom-fields-TRTHCAz9.js} +1 -1
  158. package/core/built/admin/assets/member-detail-b6dRwc3C.js +1 -0
  159. package/core/built/admin/assets/members-Czt5lJSc.js +4 -0
  160. package/core/built/admin/assets/{moderation-AgCIEso4.js → moderation-ZWefD9uH.js} +1 -1
  161. package/core/built/admin/assets/{multi-select-combobox-BcITkUVr.js → multi-select-combobox-CT13MTo-.js} +1 -1
  162. package/core/built/admin/assets/navigation-modal-C8FEhBK5.js +1 -0
  163. package/core/built/admin/assets/newsletter-5VYW4RyJ.js +1 -0
  164. package/core/built/admin/assets/newsletter-detail-modal-ChjC0ZqH.js +1 -0
  165. package/core/built/admin/assets/{newsletter-emails-DKzwafuh.js → newsletter-emails-DZH6I-PY.js} +1 -1
  166. package/core/built/admin/assets/{newsletters-BRBb_uQC.js → newsletters-DOC9KBcX.js} +1 -1
  167. package/core/built/admin/assets/newsletters-Rq1M3GD-.js +1 -0
  168. package/core/built/admin/assets/{note-DyGHtS9a.js → note-DIV-Pojr.js} +1 -1
  169. package/core/built/admin/assets/{notifications-ZgWniKna.js → notifications-s20-H49V.js} +1 -1
  170. package/core/built/admin/assets/{offers-9J1CSiLy.js → offers--e2nGvkW.js} +1 -1
  171. package/core/built/admin/assets/{offers-container-modal-B-E8TIWr.js → offers-container-modal-BmG5M5Tv.js} +1 -1
  172. package/core/built/admin/assets/onboarding-CUuy9unR.js +1 -0
  173. package/core/built/admin/assets/{onboarding-CzIsre-d.js → onboarding-pXyct0Jm.js} +1 -1
  174. package/core/built/admin/assets/{onboarding-route-CaavZulg.js → onboarding-route-CK4pcXoR.js} +1 -1
  175. package/core/built/admin/assets/overview-CaPsciMs.js +1 -0
  176. package/core/built/admin/assets/overview-a8GfcsKX.js +1 -0
  177. package/core/built/admin/assets/{page-header-De0VzKBi.js → page-header-DM_KyoFI.js} +1 -1
  178. package/core/built/admin/assets/{pagemenu-B5KKCpbA.js → pagemenu-vgZVUVKR.js} +1 -1
  179. package/core/built/admin/assets/pages-CjDY2CBI.js +1 -0
  180. package/core/built/admin/assets/pages-route-BzKZYdV5.js +1 -0
  181. package/core/built/admin/assets/{pintura-modal-BZ2J9w3n.js → pintura-modal-DExCF1ii.js} +1 -1
  182. package/core/built/admin/assets/{portal-frame-B6Hr9wHc.js → portal-frame-Cqanidq4.js} +1 -1
  183. package/core/built/admin/assets/portal-modal-oinBgA27.js +1 -0
  184. package/core/built/admin/assets/post-analytics-C5oJ1dWV.js +1 -0
  185. package/core/built/admin/assets/post-analytics-header-OATo3X_r.js +1 -0
  186. package/core/built/admin/assets/post-analytics-provider-tOpIVGT5.js +1 -0
  187. package/core/built/admin/assets/post-helpers-C88JBa4D.js +1 -0
  188. package/core/built/admin/assets/post-share-modal-DvhC1XgV.js +1 -0
  189. package/core/built/admin/assets/post-utils-DKF4mfuo.js +1 -0
  190. package/core/built/admin/assets/posts-list-screen-o4ZjbgS3.js +2 -0
  191. package/core/built/admin/assets/posts-pCPrhQeR.js +1 -0
  192. package/core/built/admin/assets/posts-route-9F--xdIb.js +1 -0
  193. package/core/built/admin/assets/{preferences-C5YJLp74.js → preferences--vNubsqD.js} +2 -2
  194. package/core/built/admin/assets/{preview-modal-BfeFqi5y.js → preview-modal-YYbzlYdO.js} +1 -1
  195. package/core/built/admin/assets/profile-BllKV3dR.js +1 -0
  196. package/core/built/admin/assets/radio-group-DL8GI8rt.js +1 -0
  197. package/core/built/admin/assets/{referrers-CnhCMWCs.js → referrers-D8oHPmDB.js} +1 -1
  198. package/core/built/admin/assets/router-provider-BSvTXgZY.js +1 -0
  199. package/core/built/admin/assets/schemas-BoYdB6YU.js +64 -0
  200. package/core/built/admin/assets/{select-cb0t_TAJ.js → select-v5YbA3Mw.js} +1 -1
  201. package/core/built/admin/assets/settings-PEsZupw1.js +4 -0
  202. package/core/built/admin/assets/{settings-breadcrumbs-DLzbRRSt.js → settings-breadcrumbs-NwPnCTC7.js} +1 -1
  203. package/core/built/admin/assets/{settings-DZqxR0Da.js → settings-u_s1CRkr.js} +1 -1
  204. package/core/built/admin/assets/{share-modal-D2-Bz1_I.js → share-modal-SskCmVGL.js} +1 -1
  205. package/core/built/admin/assets/{slack-modal-DYDTUria.js → slack-modal-XxSJiYgo.js} +1 -1
  206. package/core/built/admin/assets/{sort-button-VVeQjjbu.js → sort-button-Cx1KtINE.js} +1 -1
  207. package/core/built/admin/assets/{source-icon-Ck5_5Kgq.js → source-icon-Bdp9Im_5.js} +1 -1
  208. package/core/built/admin/assets/stats-D9PDLS3x.js +1 -0
  209. package/core/built/admin/assets/stats-view-W2g6Jsd-.js +1 -0
  210. package/core/built/admin/assets/{step-1-CsaBjeN4.js → step-1-BQYzvBzr.js} +1 -1
  211. package/core/built/admin/assets/{step-2-D2vnxOOM.js → step-2-xES32xJV.js} +1 -1
  212. package/core/built/admin/assets/{step-3-wBoLdGEb.js → step-3-DA_XK5kW.js} +2 -2
  213. package/core/built/admin/assets/{stripe-button-CDgLz0S0.js → stripe-button-CVsLHelt.js} +1 -1
  214. package/core/built/admin/assets/{stripe-connect-modal-CSjMJetP.js → stripe-connect-modal-ClmLOMGS.js} +1 -1
  215. package/core/built/admin/assets/style-Wd9nQubI.css +1 -0
  216. package/core/built/admin/assets/{table-Do6iQ83Q.js → table-BenqVupI.js} +1 -1
  217. package/core/built/admin/assets/{tabs-D2yWLMp_.js → tabs-eBBlxPp8.js} +1 -1
  218. package/core/built/admin/assets/tag-detail-Ce8Se2qd.js +2 -0
  219. package/core/built/admin/assets/tag-picker-C3UR-uJ-.js +1 -0
  220. package/core/built/admin/assets/tags-B-kJxCs7.js +1 -0
  221. package/core/built/admin/assets/{tags-zTFiKRpb.js → tags-ChfdwJyS.js} +1 -1
  222. package/core/built/admin/assets/{testimonials-modal-CtnZBJKl.js → testimonials-modal-9Q6fT06V.js} +1 -1
  223. package/core/built/admin/assets/tier-detail-modal-CDyYdqK7.js +1 -0
  224. package/core/built/admin/assets/tiers-BCpIOGQr.js +1 -0
  225. package/core/built/admin/assets/{toggle-group-ByUJsxwD.js → toggle-group-CviIkyok.js} +1 -1
  226. package/core/built/admin/assets/{topic-filter-BgC3g5_v.js → topic-filter-I2jCBGxm.js} +1 -1
  227. package/core/built/admin/assets/{transistor-modal-Drr0SNfo.js → transistor-modal-p53u3W8y.js} +1 -1
  228. package/core/built/admin/assets/{trend-badge-6ye93YAW.js → trend-badge-CideVzQd.js} +1 -1
  229. package/core/built/admin/assets/{unsplash-modal-p6AoQoWp.js → unsplash-modal-DY8UcKcE.js} +1 -1
  230. package/core/built/admin/assets/{use-analytics-data-CWCMAESo.js → use-analytics-data-DAIGcr2f.js} +1 -1
  231. package/core/built/admin/assets/{use-check-theme-limit-error-Cw3WQHy8.js → use-check-theme-limit-error-DRUjK4YM.js} +1 -1
  232. package/core/built/admin/assets/use-filter-params-JkZhIS8L.js +1 -0
  233. package/core/built/admin/assets/{use-filterable-api-CzXcpUh8.js → use-filterable-api-BVEVMrhZ.js} +1 -1
  234. package/core/built/admin/assets/{use-growth-stats-DCVG3s9w.js → use-growth-stats-937CUj6j.js} +1 -1
  235. package/core/built/admin/assets/use-host-limits-D0Dv3tKA.js +1 -0
  236. package/core/built/admin/assets/{use-limiter-D2WRRx0H.js → use-limiter-CohWfzvK.js} +1 -1
  237. package/core/built/admin/assets/{use-navigate-with-base-path-BHPA228f.js → use-navigate-with-base-path-BkxcPj5l.js} +1 -1
  238. package/core/built/admin/assets/use-pintura-config-xgytjU35.js +1 -0
  239. package/core/built/admin/assets/{use-pintura-editor-BfN1UwzH.js → use-pintura-editor-CaV1mbfO.js} +1 -1
  240. package/core/built/admin/assets/{use-post-referrers-Czg47m8s.js → use-post-referrers-BCQI7fDg.js} +1 -1
  241. package/core/built/admin/assets/{use-reply-chain-data-ns0caK8k.js → use-reply-chain-data-CYRhoaxY.js} +1 -1
  242. package/core/built/admin/assets/{use-router-history-entry-uldn7zJO.js → use-router-history-entry-NOKcd--l.js} +1 -1
  243. package/core/built/admin/assets/{use-setting-group-DpcuCUDg.js → use-setting-group-bLKMwoBT.js} +1 -1
  244. package/core/built/admin/assets/{use-settings-navigation-CZjGrhsp.js → use-settings-navigation-B-qrriKD.js} +1 -1
  245. package/core/built/admin/assets/{use-simple-pagination-DzJWobPR.js → use-simple-pagination-CNPd6Rf6.js} +1 -1
  246. package/core/built/admin/assets/use-staff-users-pRIMIyiW.js +1 -0
  247. package/core/built/admin/assets/{use-tinybird-query-CSnGXzZh.js → use-tinybird-query-CmdbCS9X.js} +1 -1
  248. package/core/built/admin/assets/{use-tinybird-token-DTOKRR7e.js → use-tinybird-token-KLne235s.js} +1 -1
  249. package/core/built/admin/assets/{use-unsaved-changes-guard-CBzs-KPi.js → use-unsaved-changes-guard-7-ug0JdH.js} +1 -1
  250. package/core/built/admin/assets/use-upgrade-route-Dm_qqKr0.js +1 -0
  251. package/core/built/admin/assets/{use-url-input-DFr8lCbS.js → use-url-input-fvp-TpPx.js} +1 -1
  252. package/core/built/admin/assets/user-detail-modal-D3KlGYv-.js +1 -0
  253. package/core/built/admin/assets/{users-Cg-OeGzC.js → users-DVNWrqg9.js} +1 -1
  254. package/core/built/admin/assets/{vendor-5753232c7d6ffb3c44e1eb0a02133953.js → vendor-2dd263291938d407802568d3357ec69e.js} +19 -17
  255. package/core/built/admin/assets/{virtual-list-BW-padMe.js → virtual-list-CZ3RK2Yf.js} +1 -1
  256. package/core/built/admin/assets/{web-C1v33ehA.js → web-ClEJsCAj.js} +2 -2
  257. package/core/built/admin/assets/web-X9rdnrtq.js +1 -0
  258. package/core/built/admin/assets/{zapier-modal-BBFfI6Ml.js → zapier-modal-DfVhV17j.js} +1 -1
  259. package/core/built/admin/index.html +19 -18
  260. package/core/server/adapters/jobs/InMemoryJobsBackend.js +74 -29
  261. package/core/server/api/endpoints/authentication.js +1 -2
  262. package/core/server/api/endpoints/authors-public.js +15 -5
  263. package/core/server/api/endpoints/emails.js +13 -0
  264. package/core/server/api/endpoints/index.js +8 -0
  265. package/core/server/api/endpoints/member-metafields-members.js +23 -0
  266. package/core/server/api/endpoints/member-metafields.js +33 -20
  267. package/core/server/api/endpoints/members-account.js +42 -0
  268. package/core/server/api/endpoints/newsletters-public.js +10 -1
  269. package/core/server/api/endpoints/pages-public.js +15 -5
  270. package/core/server/api/endpoints/posts-public.js +15 -5
  271. package/core/server/api/endpoints/tags-public.js +22 -3
  272. package/core/server/api/endpoints/tiers-checkout-config.js +2 -2
  273. package/core/server/api/endpoints/tiers-public.js +38 -1
  274. package/core/server/api/endpoints/users.js +2 -2
  275. package/core/server/api/endpoints/utils/api-filter-utils.js +170 -3
  276. package/core/server/api/endpoints/utils/public-cache-keys.js +3 -0
  277. package/core/server/api/endpoints/utils/serializers/input/authors.js +2 -0
  278. package/core/server/api/endpoints/utils/serializers/input/members.js +16 -2
  279. package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -0
  280. package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -0
  281. package/core/server/api/endpoints/utils/serializers/input/tags.js +2 -0
  282. package/core/server/api/endpoints/utils/serializers/output/emails.js +7 -0
  283. package/core/server/api/endpoints/utils/serializers/output/index.js +4 -0
  284. package/core/server/api/endpoints/utils/serializers/output/member-metafields.js +3 -3
  285. package/core/server/api/endpoints/utils/serializers/output/members-account.js +19 -0
  286. package/core/server/api/endpoints/utils/serializers/output/members-csv-transform.js +1 -1
  287. package/core/server/api/endpoints/utils/serializers/output/tiers.js +10 -2
  288. package/core/server/api/endpoints/utils/serializers/output/users.js +0 -10
  289. package/core/server/data/exporter/table-lists.js +3 -3
  290. package/core/server/data/migrations/versions/6.53/2026-07-15-20-22-53-add-members-custom-field-values.js +1 -1
  291. package/core/server/data/migrations/versions/6.57/2026-08-04-18-00-00-store-custom-field-values-as-leaf-rows.js +10 -1
  292. package/core/server/data/migrations/versions/6.63/2026-09-03-10-07-03-rename-custom-field-tables-to-metafields.js +169 -0
  293. package/core/server/data/migrations/versions/6.63/2026-09-03-11-03-31-remove-member-custom-field-read-permissions.js +30 -0
  294. package/core/server/data/schema/fixtures/fixtures.json +0 -11
  295. package/core/server/data/schema/lib/default-index-name.js +8 -11
  296. package/core/server/data/schema/schema.js +18 -18
  297. package/core/server/data/seeders/README.md +48 -0
  298. package/core/server/data/tinybird/pipes/mv_hits.pipe +86 -50
  299. package/core/server/lib/db-types/count.js +16 -0
  300. package/core/server/lib/validate-password.js +81 -120
  301. package/core/server/models/action.js +4 -4
  302. package/core/server/models/base/plugins/filtered-collection.js +16 -0
  303. package/core/server/models/member.js +6 -6
  304. package/core/server/models/user.js +1 -1
  305. package/core/server/services/automations/automations-api.js +1 -1
  306. package/core/server/services/automations/database-automations-repository.js +11 -4
  307. package/core/server/services/email-service/CONTEXT.md +37 -0
  308. package/core/server/services/email-service/README.md +42 -0
  309. package/core/server/services/email-service/batch-sending-service.js +2 -0
  310. package/core/server/services/email-service/email-controller.js +18 -2
  311. package/core/server/services/email-service/email-service-wrapper.js +3 -0
  312. package/core/server/services/email-service/sending-status-schema.js +21 -0
  313. package/core/server/services/email-service/sending-status-serializers.js +33 -0
  314. package/core/server/services/email-service/sending-status-service.js +47 -0
  315. package/core/server/services/email-service/sending-status.js +111 -0
  316. package/core/server/services/email-suppression-list/email-suppression-list.js +0 -33
  317. package/core/server/services/email-suppression-list/mailgun-email-suppression-list.js +6 -7
  318. package/core/server/services/gifts/README.md +2 -2
  319. package/core/server/services/gifts/constants.js +1 -1
  320. package/core/server/services/gifts/gift-service.js +19 -57
  321. package/core/server/services/gifts/index.js +0 -2
  322. package/core/server/services/jobs-service/index.js +8 -0
  323. package/core/server/services/jobs-service/jobs-service.js +52 -3
  324. package/core/server/services/jobs-service/register-job-handlers.js +13 -2
  325. package/core/server/services/members/account-service.js +98 -0
  326. package/core/server/services/members/api.js +4 -4
  327. package/core/server/services/members/import-export/export/exporter.js +20 -20
  328. package/core/server/services/members/import-export/import/completion-email.js +6 -6
  329. package/core/server/services/members/import-export/import/importer.js +13 -13
  330. package/core/server/services/members/import-export/index.js +7 -7
  331. package/core/server/services/members/members-api/members-api.js +26 -6
  332. package/core/server/services/members/members-api/repositories/member-repository.js +4 -4
  333. package/core/server/services/members/members-api/services/member-bread-service.js +45 -39
  334. package/core/server/services/members/members-ssr.js +18 -0
  335. package/core/server/services/members/middleware.js +95 -81
  336. package/core/server/services/members/service.js +70 -42
  337. package/core/server/services/members/utils.js +9 -0
  338. package/core/server/services/members-metafields/access.js +28 -0
  339. package/core/server/services/{members-custom-fields → members-metafields}/actions.js +5 -5
  340. package/core/server/services/members-metafields/bindings-service.js +147 -0
  341. package/core/server/services/{members-custom-fields → members-metafields}/codec.js +4 -4
  342. package/core/server/services/{members-custom-fields → members-metafields}/config.js +1 -1
  343. package/core/server/services/{members-custom-fields → members-metafields}/definitions-service.js +17 -23
  344. package/core/server/services/{members-custom-fields → members-metafields}/filter.js +9 -9
  345. package/core/server/services/{members-custom-fields → members-metafields}/index.js +16 -7
  346. package/core/server/services/{members-custom-fields → members-metafields}/key.js +1 -1
  347. package/core/server/services/{members-custom-fields → members-metafields}/models.js +4 -4
  348. package/core/server/services/members-metafields/namespaces.js +34 -0
  349. package/core/server/services/{members-custom-fields → members-metafields}/queries.js +1 -1
  350. package/core/server/services/{members-custom-fields → members-metafields}/schema.js +16 -12
  351. package/core/server/services/{members-custom-fields → members-metafields}/serializers.js +6 -6
  352. package/core/server/services/{members-custom-fields → members-metafields}/values-service.js +32 -22
  353. package/core/server/services/mentions/mention-sending-service.js +26 -9
  354. package/core/server/services/mentions/send-webmentions-job.js +18 -0
  355. package/core/server/services/mentions/service.js +1 -31
  356. package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +2 -2
  357. package/core/server/services/stripe/stripe-service.js +4 -4
  358. package/core/server/services/tier-checkout-config/codec.js +2 -2
  359. package/core/server/services/tier-checkout-config/index.js +2 -1
  360. package/core/server/services/tier-checkout-config/models.js +2 -2
  361. package/core/server/services/tier-checkout-config/queries.js +8 -8
  362. package/core/server/services/tier-checkout-config/serializers.js +57 -0
  363. package/core/server/services/tier-checkout-config/service.js +1 -1
  364. package/core/server/services/tiers/service.js +3 -3
  365. package/core/server/services/url/router-filter.js +8 -10
  366. package/core/server/services/users.js +1 -19
  367. package/core/server/web/api/endpoints/admin/routes.js +1 -0
  368. package/core/server/web/members/account/index.js +2 -0
  369. package/core/server/web/members/account/routes.js +46 -0
  370. package/core/server/web/members/app.js +4 -18
  371. package/core/shared/config/defaults.json +1 -1
  372. package/core/shared/labs.js +4 -2
  373. package/package.json +22 -22
  374. package/pnpm-lock.yaml +513 -571
  375. package/pnpm-workspace.yaml +12 -12
  376. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  377. package/core/built/admin/assets/activitypub/layout-2-0bw6HN.js +0 -1
  378. package/core/built/admin/assets/automated-emails-D5VVMND9.js +0 -1
  379. package/core/built/admin/assets/automations-CzKt5fb8.js +0 -1
  380. package/core/built/admin/assets/chunk.598.7e056fabb47ce7dbd73f.js +0 -366
  381. package/core/built/admin/assets/comments-BLmCmyCs.js +0 -1
  382. package/core/built/admin/assets/custom-field-type-option-BddFlJFa.js +0 -1
  383. package/core/built/admin/assets/design-and-theme-modal-BSmo12Op.js +0 -2
  384. package/core/built/admin/assets/edit-profile-C5Asm4LA.js +0 -1
  385. package/core/built/admin/assets/editor-REokrzci.js +0 -8
  386. package/core/built/admin/assets/filter-sources-BO9xUPj7.js +0 -1
  387. package/core/built/admin/assets/filters-CRUWecfY.js +0 -1
  388. package/core/built/admin/assets/growth-BWIu-6xj.js +0 -3
  389. package/core/built/admin/assets/growth-DU29oxeA.js +0 -1
  390. package/core/built/admin/assets/hooks-CuEZV2-q.js +0 -2
  391. package/core/built/admin/assets/index-6MkPdCtr.js +0 -4
  392. package/core/built/admin/assets/index-Bn7QhcZu.css +0 -2
  393. package/core/built/admin/assets/index.es-CNnuNH0d.js +0 -1
  394. package/core/built/admin/assets/koenig-loader-aFQNlJlD.js +0 -2
  395. package/core/built/admin/assets/label-picker-KVoo91sh.js +0 -1
  396. package/core/built/admin/assets/layout-Bjv2Ll-5.js +0 -1
  397. package/core/built/admin/assets/link-helpers-MVDdnFCY.js +0 -1
  398. package/core/built/admin/assets/member-detail-CdJF6Agw.js +0 -1
  399. package/core/built/admin/assets/members-DjQbq9Z2.js +0 -4
  400. package/core/built/admin/assets/navigation-modal-BkT7b1M2.js +0 -1
  401. package/core/built/admin/assets/newsletter-BMMAuvgq.js +0 -1
  402. package/core/built/admin/assets/newsletter-detail-modal-0SCJ7Zpm.js +0 -1
  403. package/core/built/admin/assets/newsletters-DhNigJUh.js +0 -1
  404. package/core/built/admin/assets/onboarding-qg8Akovm.js +0 -1
  405. package/core/built/admin/assets/overview-BW8GLeYi.js +0 -1
  406. package/core/built/admin/assets/overview-BkXZNzaZ.js +0 -1
  407. package/core/built/admin/assets/pages-jgaFm69d.js +0 -1
  408. package/core/built/admin/assets/pages-route-CIUAQxtY.js +0 -1
  409. package/core/built/admin/assets/portal-modal-D4ceei3t.js +0 -1
  410. package/core/built/admin/assets/post-analytics-header-BYCsT0GP.js +0 -1
  411. package/core/built/admin/assets/post-analytics-ot7f6pih.js +0 -1
  412. package/core/built/admin/assets/post-analytics-provider-Bo1gmYaP.js +0 -1
  413. package/core/built/admin/assets/post-helpers-C5OQMBoi.js +0 -1
  414. package/core/built/admin/assets/post-share-modal-C-PaYZ_e.js +0 -1
  415. package/core/built/admin/assets/posts-DuGazgTb.js +0 -1
  416. package/core/built/admin/assets/posts-list-screen-CBGGgjjj.js +0 -2
  417. package/core/built/admin/assets/posts-route-D6xmS7Vf.js +0 -1
  418. package/core/built/admin/assets/profile-B8mx2yAu.js +0 -1
  419. package/core/built/admin/assets/radio-group-DczlLKOn.js +0 -1
  420. package/core/built/admin/assets/router-provider-B0gZyiGJ.js +0 -1
  421. package/core/built/admin/assets/schemas-DppqmpeJ.js +0 -64
  422. package/core/built/admin/assets/settings-DvfTNdHQ.js +0 -4
  423. package/core/built/admin/assets/stats-Rjmk5owg.js +0 -1
  424. package/core/built/admin/assets/stats-view-BGGmkmgv.js +0 -1
  425. package/core/built/admin/assets/tag-detail-BhXlOsCa.js +0 -2
  426. package/core/built/admin/assets/tags-ldukRApe.js +0 -1
  427. package/core/built/admin/assets/tier-detail-modal-BOs8e_G8.js +0 -1
  428. package/core/built/admin/assets/tiers-Nd_z4BZY.js +0 -1
  429. package/core/built/admin/assets/use-filter-params-BIni9taJ.js +0 -1
  430. package/core/built/admin/assets/use-host-limits-DZtR08oa.js +0 -1
  431. package/core/built/admin/assets/use-pintura-config-h-J0Lvta.js +0 -1
  432. package/core/built/admin/assets/use-staff-users-Csipb-O0.js +0 -1
  433. package/core/built/admin/assets/use-upgrade-route-DhRSo7at.js +0 -1
  434. package/core/built/admin/assets/user-detail-modal-B_iUClI6.js +0 -1
  435. package/core/built/admin/assets/web-C4BKzn2T.js +0 -1
  436. package/core/server/services/email-suppression-list/in-memory-email-suppression-list.js +0 -39
  437. package/core/server/services/members-custom-fields/bindings-service.js +0 -120
  438. /package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js.LICENSE.txt → chunk.901.4ccc639821020230bcca.js.LICENSE.txt} +0 -0
  439. /package/core/server/services/{members-custom-fields → members-metafields}/storage.js +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{_ as r,n as i}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{m as a}from"./dist-B3keLvjj.js";import{t as o}from"./box-CdfQAP_F.js";import{t as s}from"./container-BuQG1wuP.js";import{F as c,Mn as l,bt as u,ft as d,t as f}from"./button-eNMKQWXr.js";import{t as p}from"./empty-indicator-D9QdpuNX.js";import{a as m,c as h,n as g,r as _,s as v,t as y}from"./table-Do6iQ83Q.js";import{n as b,t as x}from"./toggle-group-ByUJsxwD.js";import{Qn as S,S as C,Sr as w}from"./index-6MkPdCtr.js";import{t as T}from"./page-header-De0VzKBi.js";import{t as E}from"./list-page-BucXJ0hi.js";import{i as D,r as O,t as k}from"./virtual-list-BW-padMe.js";import{n as A}from"./tags-zTFiKRpb.js";var j=e(t(),1),M=n(),N=({height:e})=>(0,M.jsx)(`tr`,{"aria-hidden":`true`,className:`flex lg:table-row`,children:(0,M.jsx)(`td`,{className:`flex lg:table-cell`,style:{height:e}})}),P=(0,j.forwardRef)(function(e,t){return(0,M.jsx)(h,{ref:t,...e,"aria-hidden":`true`,className:`relative flex flex-col lg:table-row`,children:(0,M.jsx)(_,{className:`relative z-10 h-24 animate-pulse`,children:(0,M.jsx)(`div`,{className:`h-full rounded-md bg-muted`,"data-testid":`loading-placeholder`})})})});function F({items:e,totalItems:t,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i}){let o=(0,j.useRef)(null),{visibleItemCount:s,canLoadMore:c,loadMore:l}=O(t),{visibleItems:d,spaceBefore:p,spaceAfter:b}=D({items:e,totalItems:s,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i,parentRef:o});return(0,M.jsxs)(`div`,{ref:o,className:`overflow-hidden`,children:[(0,M.jsxs)(y,{className:`flex table-fixed flex-col lg:table`,"data-testid":`tags-list`,children:[(0,M.jsx)(v,{className:`hidden lg:visible! lg:table-header-group!`,children:(0,M.jsxs)(h,{children:[(0,M.jsx)(m,{className:`w-auto px-4`,children:`Tag`}),(0,M.jsx)(m,{className:`w-1/5 px-4`,children:`Slug`}),(0,M.jsx)(m,{className:`w-1/5 px-4`,children:`No. of posts`}),(0,M.jsx)(m,{className:`w-20 px-4`})]})}),(0,M.jsxs)(g,{className:`flex flex-col lg:table-row-group`,children:[(0,M.jsx)(N,{height:p}),d.map(({key:t,virtualItem:n,item:r,props:i})=>n.index>e.length-1?(0,M.jsx)(P,{...i},t):(0,M.jsxs)(h,{...i,className:`group grid w-full grid-cols-[1fr_5rem] items-center gap-x-4 p-2 md:grid-cols-[1fr_auto_5rem] lg:table-row lg:p-0`,"data-testid":`tag-list-row`,children:[(0,M.jsxs)(_,{className:`static col-start-1 col-end-1 row-start-1 row-end-1 flex min-w-0 flex-col p-0 md:relative lg:table-cell lg:w-1/2 lg:p-4 xl:w-3/5`,children:[(0,M.jsx)(C,{className:`before:absolute before:top-0 before:left-0 before:z-10 before:h-full before:w-[100vw]`,to:`/tags/${r.slug}`,children:(0,M.jsx)(`span`,{className:`block truncate text-base text-md font-semibold`,children:r.name})}),(0,M.jsx)(`span`,{className:`block truncate text-muted-foreground`,children:r.description})]}),(0,M.jsx)(_,{className:`col-start-1 col-end-1 row-start-2 row-end-2 flex p-0 lg:table-cell lg:p-4`,children:(0,M.jsx)(`span`,{className:`block truncate`,children:r.slug})}),(0,M.jsx)(_,{className:`col-start-1 col-end-1 row-start-3 row-end-3 flex p-0 md:col-start-2 md:col-end-2 md:row-start-1 md:row-end-3 lg:table-cell lg:p-4`,children:r.count?.posts?(0,M.jsx)(`a`,{className:`relative z-10 -m-4 inline-block p-4 hover:underline`,href:`#/posts?tag=${r.slug}`,children:`${a(r.count?.posts)} ${r.count?.posts===1?`post`:`posts`}`}):(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:`0 posts`})}),(0,M.jsx)(_,{className:`col-start-2 col-end-2 row-start-1 row-end-3 p-0 md:col-start-3 md:col-end-3 lg:table-cell lg:p-4`,children:(0,M.jsx)(f,{"aria-hidden":`true`,className:`opacity-0 transition-all group-hover:opacity-100`,size:`icon`,tabIndex:-1,variant:`outline`,children:(0,M.jsx)(u,{})})})]},t)),(0,M.jsx)(N,{height:b})]})]}),c&&(0,M.jsx)(k,{isLoading:r,onClick:l})]})}var I=()=>{let[e,t]=r(),n=e.get(`type`)??`public`,{data:a,isError:u,isLoading:m,isFetchingNextPage:h,fetchNextPage:g,hasNextPage:_}=A({filter:{visibility:n}});return(0,M.jsx)(o,{className:`size-full`,children:(0,M.jsx)(s,{className:`relative flex h-full flex-col`,size:`page`,children:(0,M.jsxs)(E,{"data-testid":`tags-page`,children:[(0,M.jsx)(E.Header,{children:(0,M.jsxs)(T,{blurredBackground:!1,sticky:!1,children:[(0,M.jsx)(T.Left,{children:(0,M.jsx)(T.Title,{children:`Tags`})}),(0,M.jsxs)(T.Actions,{children:[(0,M.jsxs)(T.ActionGroup,{children:[(0,M.jsxs)(x,{"data-testid":`tags-header-tabs`,size:`button`,type:`single`,value:n,children:[(0,M.jsx)(b,{"aria-label":`Public tags`,value:`public`,asChild:!0,children:(0,M.jsx)(i,{to:`/tags`,children:`Public tags`})}),(0,M.jsx)(b,{"aria-label":`Internal tags`,value:`internal`,asChild:!0,children:(0,M.jsx)(i,{to:`/tags?type=internal`,children:`Internal tags`})})]}),(0,M.jsxs)(T.ActionGroup.MobileMenu,{children:[(0,M.jsx)(T.ActionGroup.MobileMenuTrigger,{children:(0,M.jsx)(f,{variant:`outline`,children:(0,M.jsx)(l,{className:`size-4`})})}),(0,M.jsxs)(T.ActionGroup.MobileMenuContent,{children:[(0,M.jsx)(w,{checked:n===`public`,onCheckedChange:()=>t({}),children:`Public tags`}),(0,M.jsx)(w,{checked:n===`internal`,onCheckedChange:()=>t({type:`internal`}),children:`Internal tags`})]})]})]}),(0,M.jsx)(T.ActionGroup,{children:(0,M.jsx)(f,{asChild:!0,children:(0,M.jsxs)(C,{className:`font-bold`,to:`/tags/new`,children:[(0,M.jsx)(d,{className:`size-4`}),(0,M.jsx)(`span`,{className:`hidden sm:inline`,children:`New tag`})]})})})]})]})}),(0,M.jsx)(E.Body,{children:m?(0,M.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,M.jsx)(S,{size:`lg`})}):u?(0,M.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,M.jsx)(`h2`,{className:`mb-2 text-xl font-medium`,children:`Error loading tags`}),(0,M.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:`Please reload the page to try again`}),(0,M.jsx)(f,{onClick:()=>window.location.reload(),children:`Reload page`})]}):a?.tags.length?(0,M.jsx)(F,{fetchNextPage:()=>void g(),hasNextPage:_,isFetchingNextPage:h,items:a?.tags??[],totalItems:a?.meta?.pagination?.total??0}):(0,M.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,M.jsx)(p,{actions:(0,M.jsx)(f,{asChild:!0,children:(0,M.jsx)(C,{to:`/tags/new`,children:`Create a new tag`})}),title:`Start organizing your content`,children:(0,M.jsx)(c,{})})})})]})})})};export{I as default};
@@ -1 +0,0 @@
1
- import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./react-Bb3IsNbi.js";import{t as r}from"./jsx-runtime-DX3WBWVO.js";import{_ as i,b as a,g as o,m as s,n as c,p as l,r as u,x as d}from"./hooks-CuEZV2-q.js";import{n as f}from"./dist-Ndy-PuGN.js";import{t as p}from"./use-form-vRjI0Kwk.js";import{a as m,i as h,n as g,r as _,t as v}from"./currency-Dy4Tc2R2.js";import{h as y}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{l as b,m as x,w as S}from"./dist-B3keLvjj.js";import{t as C}from"./inline-BWSs_VzR.js";import{t as w}from"./text-BQDSDsKs.js";import{D as ee,er as T,ft as te,t as E}from"./button-eNMKQWXr.js";import{a as ne,i as re,l as D,n as ie,o as O,s as k,t as ae}from"./command-BfpHORBv.js";import{t as oe}from"./switch-CI4gLWqb.js";import{i as A,n as se,o as ce,s as j,t as M}from"./select-cb0t_TAJ.js";import{o as le,t as ue}from"./use-settings-navigation-CZjGrhsp.js";import{i as de,n as fe,r as N,t as pe}from"./combobox-w9j8PPQT.js";import{a as me,c as he,i as P,o as F,r as ge,s as _e,t as I}from"./field-Dihp5p18.js";import{a as L,i as R,n as ve,t as ye}from"./input-group-CMhe2DvY.js";import{t as be}from"./multi-select-combobox-BcITkUVr.js";import{i as xe,n as Se,t as Ce}from"./use-url-input-DFr8lCbS.js";import{$n as z,$r as B,Un as V,oi as we,t as H,ti as Te}from"./index-6MkPdCtr.js";import{a as U,i as Ee,o as De}from"./tiers-Nd_z4BZY.js";import{n as W,t as G}from"./en-B1jX3WMs.js";import{c as K,u as Oe}from"./member-custom-fields-DDQV6QeG.js";import{n as ke,t as q}from"./custom-field-type-option-BddFlJFa.js";import{n as Ae}from"./confirmation-context-CBM8G0Vj.js";import{n as J}from"./global-data-context-gAMDH9u1.js";import{t as je}from"./use-setting-group-DpcuCUDg.js";var Y=e(n(),1),X=r();function Me(e,t,n){return D((n??[]).join(` `),t)}function Ne({id:e,label:t,fields:n,value:r,invalid:i,onChange:a,createTypes:o}){let[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(``),p=n.find(e=>e.key===r),m=!!o?.length,h=()=>{c(!1),u(null),f(``)};return(0,X.jsxs)(pe,{open:s,onOpenChange:e=>{e?c(!0):h()},children:[(0,X.jsx)(N,{"aria-invalid":i||void 0,"aria-label":t,id:e,children:(0,X.jsx)(de,{placeholder:!p,children:p?(0,X.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(ke,{className:`size-4 shrink-0`,type:p.type}),(0,X.jsx)(`span`,{className:`truncate`,children:p.name})]}):`Select...`})}),(0,X.jsx)(fe,{onEscapeKeyDown:e=>{l&&(e.preventDefault(),u(null))},children:l&&o?.length?(0,X.jsx)(Pe,{initialName:l.initialName,label:t,types:o,onCancel:()=>u(null),onCreated:e=>{h(),a(e)}}):(0,X.jsxs)(ae,{filter:Me,children:[(0,X.jsx)(ne,{placeholder:`Search fields...`,value:d,onValueChange:f}),(0,X.jsxs)(k,{children:[n.length>0&&(0,X.jsx)(re,{className:`p-0`,children:n.map(e=>(0,X.jsxs)(O,{keywords:[e.name],value:e.key,onSelect:()=>{h(),a(e.key)},children:[(0,X.jsx)(ke,{className:`size-4`,type:e.type}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name}),r===e.key&&(0,X.jsx)(ie,{})]},e.key))}),m&&(0,X.jsx)(re,{className:`p-0`,forceMount:!0,children:(0,X.jsxs)(O,{className:`font-semibold text-green`,value:`__create-custom-field__`,forceMount:!0,onSelect:()=>u({initialName:d.trim()}),children:[(0,X.jsx)(te,{className:`size-4`}),(0,X.jsx)(`span`,{children:`Add custom field`})]})})]})]})})]})}function Pe({initialName:e,label:t,types:n,onCancel:r,onCreated:c}){let[u,f]=(0,Y.useState)(e),[p,m]=(0,Y.useState)(n[0]),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(null),[y,b]=(0,Y.useState)(!0),{mutateAsync:x,isPending:S}=Oe(),C=l(),w=async()=>{if(!u.trim()){g(`Enter a name for the field`);return}try{let e=(await x({name:u.trim(),type:p})).members_metafields?.[0];if(!e){v(`The field was created but could not be selected. Choose it from the list.`),b(!1);return}c(e.key)}catch(e){let t=e instanceof i?e.data?.errors?.[0]:null;if(e instanceof a&&t?.property===`name`){g(d(e,`Invalid name`));return}e instanceof o||C(e,{withToast:!1}),v(d(e,e instanceof s?e.message:`Could not create the custom field, please try again.`)),b(!(e instanceof o)&&t?.type!==`NoPermissionError`)}};return(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,onKeyDown:e=>{e.key===`Enter`&&!S&&y&&(e.preventDefault(),w())},children:[(0,X.jsxs)(I,{"data-invalid":!!h||void 0,children:[(0,X.jsx)(F,{className:`text-sm!`,htmlFor:`custom-field-picker-create-name`,children:`New custom field`}),(0,X.jsx)(z,{"aria-invalid":!!h||void 0,"aria-label":`New custom field for ${t}`,autoComplete:`off`,className:`h-8 text-sm!`,id:`custom-field-picker-create-name`,placeholder:`Enter custom field name`,value:u,autoFocus:!0,onChange:e=>{f(e.target.value),g(null),v(null),b(!0)}}),h&&(0,X.jsx)(P,{children:h})]}),(0,X.jsxs)(I,{children:[(0,X.jsx)(F,{className:`text-sm!`,children:`Type`}),(0,X.jsxs)(M,{disabled:n.length===1,value:p,onValueChange:e=>m(e),children:[(0,X.jsx)(ce,{"aria-label":`Type`,className:`h-8 text-sm!`,children:(0,X.jsx)(j,{children:(0,X.jsx)(q,{type:p})})}),(0,X.jsx)(se,{children:n.map(e=>(0,X.jsx)(A,{value:e,children:(0,X.jsx)(q,{type:e})},e))})]})]}),(0,X.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,X.jsx)(E,{disabled:S,size:`sm`,type:`button`,variant:`outline`,onClick:r,children:`Cancel`}),(0,X.jsx)(E,{disabled:S||!y,size:`sm`,type:`button`,onClick:()=>void w(),children:S?`Saving`:`Save`})]}),_&&(0,X.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:_})]})}var Z=`AC.AD.AE.AF.AG.AI.AL.AM.AO.AQ.AR.AT.AU.AW.AX.AZ.BA.BB.BD.BE.BF.BG.BH.BI.BJ.BL.BM.BN.BO.BQ.BR.BS.BT.BV.BW.BY.BZ.CA.CD.CF.CG.CH.CI.CK.CL.CM.CN.CO.CR.CV.CW.CY.CZ.DE.DJ.DK.DM.DO.DZ.EC.EE.EG.EH.ER.ES.ET.FI.FJ.FK.FO.FR.GA.GB.GD.GE.GF.GG.GH.GI.GL.GM.GN.GP.GQ.GR.GS.GT.GU.GW.GY.HK.HN.HR.HT.HU.ID.IE.IL.IM.IN.IO.IQ.IS.IT.JE.JM.JO.JP.KE.KG.KH.KI.KM.KN.KR.KW.KY.KZ.LA.LB.LC.LI.LK.LR.LS.LT.LU.LV.LY.MA.MC.MD.ME.MF.MG.MK.ML.MM.MN.MO.MQ.MR.MS.MT.MU.MV.MW.MX.MY.MZ.NA.NC.NE.NG.NI.NL.NO.NP.NR.NU.NZ.OM.PA.PE.PF.PG.PH.PK.PL.PM.PN.PR.PS.PT.PY.QA.RE.RO.RS.RU.RW.SA.SB.SC.SD.SE.SG.SH.SI.SJ.SK.SL.SM.SN.SO.SR.SS.ST.SV.SX.SZ.TA.TC.TD.TF.TG.TH.TJ.TK.TL.TM.TN.TO.TR.TT.TV.TW.TZ.UA.UG.US.UY.UZ.VA.VC.VE.VG.VN.VU.WF.WS.XK.YE.YT.ZA.ZM.ZW.ZZ`.split(`.`);new Set(Z);var Q=[`shipping_name`,`shipping_address`,`phone`];function Fe(e){return Q.includes(e)}var $={shippingName:`shipping_name`,shippingAddress:`shipping_address`,phone:`phone`},Ie={shipping_name:{key:`shipping_name`,name:`Shipping Name`,type:`short_text`},shipping_address:{key:`shipping_address`,name:`Shipping Address`,type:`address`},phone:{key:`shipping_phone`,name:`Shipping Phone`,type:`short_text`}},Le=`TiersCheckoutConfigResponseType`,Re=u({dataType:Le,path:`/tiers/checkout_config/`}),ze=c({method:`PUT`,path:({tierId:e})=>`/tiers/${e}/checkout_config/`,body:({config:e})=>({tiers_checkout_config:[e]}),invalidateQueries:{dataType:Le}}),Be=e(W(),1);Be.registerLocale(G);var Ve={AC:`Ascension Island`,TA:`Tristan da Cunha`,ZZ:`Unknown region`},He=e=>Ve[e]??Be.getName(e,`en`,{select:`alias`})??e,Ue=Z.map(e=>({value:e,label:He(e)})).sort((e,t)=>e.label.localeCompare(t.label)),We=[{value:`all`,label:`All countries`,hint:`Everywhere Stripe supports shipping`},{value:`specific`,label:`Specific countries`,hint:`Choose the countries you deliver to`}],Ge={[$.shippingAddress]:`shippingField`,[$.shippingName]:`shippingName`,[$.phone]:`phoneField`},Ke=e=>{let t=(e instanceof i?e.data?.errors?.[0]?.property:null)??``,n=/^checkout\.(\w+)\.custom_field_key$/.exec(t)?.[1];return n&&Fe(n)?Ge[n]:void 0},qe=(e,t)=>t??Ie[e].key,Je=e=>({shipping:e.shipping.collect?{...e.shipping,allowedCountries:e.shipping.countriesMode===`specific`?e.shipping.allowedCountries:[]}:{collect:!1,countriesMode:`all`,allowedCountries:[],addressFieldKey:null,nameFieldKey:null},taxNumber:e.taxNumber,phone:e.phone.collect?e.phone:{collect:!1,customFieldKey:null}}),Ye=e=>{let t=e?.shipping,n=t?.allowed_countries;return{shipping:{collect:!!t,addressFieldKey:t?.address.custom_field_key??null,nameFieldKey:t?.name.custom_field_key??null,countriesMode:n?`specific`:`all`,allowedCountries:n??[]},taxNumber:{collect:!!e?.tax_number},phone:{collect:!!e?.phone,customFieldKey:e?.phone?.custom_field_key??null}}};function Xe({children:e}){return(0,X.jsxs)(he,{children:[(0,X.jsx)(_e,{children:`Checkout`}),(0,X.jsx)(me,{className:`mb-10 gap-6 rounded-sm border border-border-default p-4 md:p-7`,children:e})]})}function Ze({label:e,children:t}){return(0,X.jsxs)(`div`,{className:`flex flex-col content-center gap-4 md:flex-row md:items-center`,children:[(0,X.jsx)(`div`,{className:`w-full min-w-[160px] md:flex-1`,children:e}),(0,X.jsx)(`div`,{className:`w-full md:w-64 md:min-w-0`,children:t})]})}function Qe({checked:e,description:t,id:n,label:r,onCheckedChange:i}){return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsxs)(I,{orientation:`horizontal`,children:[(0,X.jsx)(F,{htmlFor:n,children:r}),(0,X.jsx)(oe,{checked:e,id:n,onCheckedChange:i})]}),(0,X.jsx)(ge,{children:t})]})}function $e({eligible:e,error:t,id:n,label:r,port:i,value:a,onChange:o}){return(0,X.jsx)(Ze,{label:r,children:(0,X.jsxs)(I,{"data-invalid":!!t||void 0,children:[(0,X.jsx)(Ne,{createTypes:[Ie[i].type],fields:e[i],id:n,invalid:!!t,label:r,value:a,onChange:o}),t&&(0,X.jsx)(P,{children:t})]})})}var et=(0,Y.forwardRef)(({config:e,failed:t,onDirtyChange:n},r)=>{let[i,a]=(0,Y.useState)(()=>Ye(e)),[o,s]=(0,Y.useState)({}),[c,u]=(0,Y.useState)(!1),{mutateAsync:f}=ze(),p=l(),m=H(`membersCustomFields`),{data:h}=K({enabled:m}),g=h??[],_=Object.fromEntries(Object.entries(Ie).map(([e,t])=>[e,g.filter(e=>e.type===t.type)])),v=i.shipping.allowedCountries,y=(0,Y.useMemo)(()=>JSON.stringify(Je(Ye(e))),[e]),[b,x]=(0,Y.useState)(null),S=!t&&JSON.stringify(Je(i))!==(b??y);(0,Y.useEffect)(()=>{n?.(S)},[S,n]);let C=()=>{let e={},t=(e,t)=>{if(!e)return`Choose where this should be kept`;if(h&&!t.some(t=>t.key===e))return`This field is no longer available. Choose another`};return i.shipping.collect&&(m&&(e.shippingField=t(i.shipping.addressFieldKey,_[$.shippingAddress]),e.shippingName=t(i.shipping.nameFieldKey,_[$.shippingName])),i.shipping.countriesMode===`specific`&&!i.shipping.allowedCountries.length&&(e.shippingCountries=`Choose at least one country you deliver to`)),i.phone.collect&&m&&(e.phoneField=t(i.phone.customFieldKey,_[$.phone])),e},ee=()=>{if(!S)return s({}),!0;let e=C();return s(e),!Object.values(e).some(Boolean)};return(0,Y.useImperativeHandle)(r,()=>({validate:ee,save:async e=>{if(!S)return!0;if(!ee())return!1;try{return await f({tierId:e,config:{shipping:i.shipping.collect?{collect:!0,...i.shipping.countriesMode===`specific`?{allowed_countries:i.shipping.allowedCountries}:{},name:{custom_field_key:qe($.shippingName,i.shipping.nameFieldKey)},address:{custom_field_key:qe($.shippingAddress,i.shipping.addressFieldKey)}}:{collect:!1},tax_number:{collect:i.taxNumber.collect},phone:i.phone.collect?{collect:!0,custom_field_key:qe($.phone,i.phone.customFieldKey)}:{collect:!1}}}),x(JSON.stringify(Je(i))),!0}catch(e){let t=m?Ke(e):void 0;return t?(p(e,{withToast:!1}),s(n=>({...n,[t]:d(e,`This field cannot be used here. Choose another`)})),!1):(p(e),!1)}}}),[m,S,f,h,p,i]),t?(0,X.jsx)(Xe,{children:(0,X.jsx)(w,{className:`text-sm text-muted-foreground`,children:`Checkout collection settings could not be loaded, so they are not shown. Close and reopen this tier to try again.`})}):(0,X.jsxs)(Xe,{children:[(0,X.jsx)(Qe,{checked:i.shipping.collect,description:`Require a shipping address during checkout`,id:`tier-collect-shipping`,label:`Collect shipping address`,onCheckedChange:e=>a(t=>({...t,shipping:{...t.shipping,collect:e}}))}),i.shipping.collect&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ze,{label:`Ships to`,children:(0,X.jsxs)(I,{children:[(0,X.jsx)(F,{className:`sr-only`,children:`Ships to`}),(0,X.jsxs)(M,{value:i.shipping.countriesMode,onValueChange:e=>{s(e=>({...e,shippingCountries:void 0})),a(t=>({...t,shipping:{...t.shipping,countriesMode:e}}))},children:[(0,X.jsx)(ce,{"aria-label":`Ships to`,children:(0,X.jsx)(j,{children:We.find(e=>e.value===i.shipping.countriesMode)?.label})}),(0,X.jsx)(se,{children:We.map(e=>(0,X.jsx)(A,{value:e.value,children:(0,X.jsxs)(`span`,{className:`flex flex-col`,children:[(0,X.jsx)(`span`,{children:e.label}),(0,X.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e.hint})]})},e.value))})]})]})}),i.shipping.countriesMode===`specific`&&(0,X.jsx)(Ze,{label:`Select specific countries`,children:(0,X.jsxs)(I,{"data-invalid":!!o.shippingCountries||void 0,children:[(0,X.jsx)(F,{className:`sr-only`,children:`Select specific countries`}),(0,X.jsxs)(pe,{open:c,onOpenChange:u,children:[(0,X.jsx)(N,{"aria-invalid":!!o.shippingCountries||void 0,"aria-label":`Select specific countries`,children:(0,X.jsx)(de,{placeholder:!v.length,children:v.length?v.map(He).join(`, `):`Select...`})}),(0,X.jsx)(fe,{children:(0,X.jsx)(be,{i18n:{searchPlaceholder:`Search countries...`},options:Ue,values:v,onChange:e=>{s(e=>({...e,shippingCountries:void 0})),a(t=>({...t,shipping:{...t.shipping,allowedCountries:e}}))},onClose:()=>u(!1)})})]}),o.shippingCountries&&(0,X.jsx)(P,{children:o.shippingCountries})]})}),m&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)($e,{eligible:_,error:o.shippingField,id:`tier-shipping-address-field`,label:`Save address as`,port:$.shippingAddress,value:i.shipping.addressFieldKey,onChange:e=>{s(e=>({...e,shippingField:void 0})),a(t=>({...t,shipping:{...t.shipping,addressFieldKey:e}}))}}),(0,X.jsx)($e,{eligible:_,error:o.shippingName,id:`tier-shipping-name-field`,label:`Save recipient name as`,port:$.shippingName,value:i.shipping.nameFieldKey,onChange:e=>{s(e=>({...e,shippingName:void 0})),a(t=>({...t,shipping:{...t.shipping,nameFieldKey:e}}))}})]})]}),(0,X.jsx)(V,{}),(0,X.jsx)(Qe,{checked:i.phone.collect,description:`Require a phone number during checkout`,id:`tier-collect-phone`,label:`Collect phone number`,onCheckedChange:e=>a(t=>({...t,phone:{...t.phone,collect:e}}))}),i.phone.collect&&m&&(0,X.jsx)($e,{eligible:_,error:o.phoneField,id:`tier-phone-field`,label:`Save to custom field`,port:$.phone,value:i.phone.customFieldKey,onChange:e=>{s(e=>({...e,phoneField:void 0})),a(t=>({...t,phone:{...t.phone,customFieldKey:e}}))}}),(0,X.jsx)(V,{}),(0,X.jsx)(Qe,{checked:i.taxNumber.collect,description:`Let members add a tax ID to their invoices`,id:`tier-collect-tax`,label:`Collect business tax ID`,onCheckedChange:e=>a(t=>({...t,taxNumber:{...t.taxNumber,collect:e}}))})]})});et.displayName=`TierCheckoutCollection`;var tt=(e,{creating:t=!1}={})=>{let n=H(`stripeCheckoutCollection`),{config:r,settings:i}=J(),a=n&&B(i||[],r||{}),{data:o,error:c,isError:l,isFetching:u}=Re({enabled:a,defaultErrorHandler:!1}),d=a&&(e?e.type!==`free`:t),f=l&&!u,p=f&&c instanceof s&&c.response?.status===404,m=d&&!f;return{enabled:m,failed:d&&f&&!p,isReady:!m||!!o,config:o?.tiers_checkout_config?.find(t=>t.tier_id===e?.id)}},nt=({size:e=`md`,trialDays:t})=>t?(0,X.jsxs)(`span`,{className:S(e===`sm`?`px-1.5 py-0.5 text-sm`:`px-2.5 py-1.5`,`relative -mt-1 -mr-1 rounded-full leading-none font-semibold tracking-wide whitespace-nowrap text-gray-900`),children:[(0,X.jsx)(`span`,{className:`absolute inset-0 block rounded-full bg-ghostaccent opacity-20 dark:bg-pink`}),(0,X.jsxs)(`span`,{className:`dark:text-pink`,children:[x(t),` days free`]})]}):null,rt=({benefits:e})=>{if(!e?.length)return(0,X.jsx)(`div`,{className:`mt-4 w-full text-md leading-snug text-gray-900 opacity-30`,children:(0,X.jsxs)(`div`,{className:`mb-2.5 flex items-start`,children:[(0,X.jsx)(T,{className:`mt-[3px] mr-[10px] size-3.5! min-w-[14px] overflow-visible stroke-[3px]!`}),(0,X.jsx)(`div`,{children:`Expert analysis`})]})});let t=new Map;return(0,X.jsx)(X.Fragment,{children:e.map(e=>{let n=(t.get(e)||0)+1;return t.set(e,n),(0,X.jsx)(`div`,{className:`mt-4 w-full text-md leading-snug text-gray-900`,children:(0,X.jsxs)(`div`,{className:`mb-2.5 flex items-start`,children:[(0,X.jsx)(T,{className:`mt-[3px] mr-[10px] size-3.5! min-w-[14px] overflow-visible stroke-[3px]!`}),(0,X.jsx)(`div`,{children:e})]})},`${e}:${n}`)})})},it=({discount:e})=>e?(0,X.jsxs)(`span`,{className:`mt-1 leading-none font-semibold text-ghostaccent`,children:[x(e),`% discount`]}):null,at=({tier:e,isFreeTier:t})=>{let[n,r]=(0,Y.useState)(!1),i=e?.name||``,a=e?.description||``,o=parseFloat(e?.trial_days||`0`),s=e?.currency||`USD`,c=s?h(s):`$`,l=e?.benefits||[],u=t?0:500,d=t?0:5e3,f=_(e?.monthly_price??u),p=_(e?.yearly_price??d),m=e?.monthly_price&&e?.yearly_price?Math.ceil((f*12-p)/(f*12)*100):0;return(0,X.jsxs)(`div`,{className:`-mt-2`,"data-testid":`tier-preview`,children:[(0,X.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,X.jsx)(w,{as:`h6`,className:`pb-2 text-base leading-snug`,weight:`medium`,children:t?`Free membership preview`:`Tier preview`}),!t&&(0,X.jsxs)(`div`,{className:`flex gap-1`,children:[(0,X.jsx)(E,{className:n?`h-auto p-0 text-muted-foreground`:`h-auto p-0 text-foreground`,type:`button`,variant:`link`,onClick:()=>r(!1),children:`Monthly`}),(0,X.jsx)(E,{className:n?`ml-2 h-auto p-0 text-foreground`:`ml-2 h-auto p-0 text-muted-foreground`,type:`button`,variant:`link`,onClick:()=>r(!0),children:`Yearly`})]})]}),(0,X.jsx)(`div`,{className:`rounded-sm border border-gray-200 bg-white dark:border-transparent`,children:(0,X.jsxs)(`div`,{className:`flex-column relative flex min-h-[200px] w-full max-w-[420px] scale-90 items-start justify-stretch rounded bg-white p-4`,children:[(0,X.jsxs)(`div`,{className:`min-h-[56px] w-full`,children:[(0,X.jsx)(`h4`,{className:`-mt-1 mb-0 w-full text-lg leading-tight font-semibold break-words text-ghostaccent ${!i&&`opacity-30`}`,children:i||(t?`Free`:`Bronze`)}),(0,X.jsxs)(`div`,{className:`mt-4 flex w-full flex-row flex-wrap items-end justify-between gap-x-1 gap-y-[10px]`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap text-black ${(n&&e?.yearly_price===void 0||!n&&e?.monthly_price===void 0)&&!t?`opacity-30`:``}`,children:[(0,X.jsx)(`span`,{className:`self-start text-[2.7rem] leading-[1.115] font-bold uppercase`,children:c}),(0,X.jsx)(`span`,{className:`text-[3.4rem] leading-none font-bold tracking-tight break-all`,children:x(n?p:f,{maximumFractionDigits:20})}),!t&&(0,X.jsxs)(`span`,{className:`ml-1 self-end text-[1.5rem] leading-snug text-gray-800`,children:[`/`,n?`year`:`month`]})]}),(0,X.jsx)(nt,{trialDays:o})]}),n&&m>0&&(0,X.jsx)(it,{discount:m})]}),(0,X.jsx)(`div`,{className:`flex-column flex w-full flex-1`,children:(0,X.jsxs)(`div`,{className:`flex-1`,children:[(0,X.jsx)(`div`,{className:`mt-4 w-full text-[1.55rem] leading-snug font-semibold text-gray-900 ${!a&&`opacity-30`}`,children:a||(t?`Free preview`:`Full access to premium content`)}),(0,X.jsx)(rt,{benefits:l})]})})]})})]})},ot=e=>e.replace(/[^\d.]+/g,``),st=e=>Math.round(parseFloat(e.match(/[\d]+\.?[\d]{0,2}/)?.[0]||`0`)*100),ct=(e,t)=>{let[n,r]=(0,Y.useState)(e===``?``:((e||0)/100).toString()),i=(0,Y.useRef)(e);return(0,Y.useEffect)(()=>{Object.is(e,i.current)||r(e===``?``:((e||0)/100).toString()),i.current=e},[e]),{value:n,onBlur:()=>r((st(n)/100).toString()),onChange:e=>{let n=st(e);r(ot(e)),i.current=n,t?.(n)}}},lt=t({default:()=>dt}),ut=({tier:e,checkout:t})=>{let n=e?.type===`free`,r=t.enabled,i=t.failed,[a,o]=Y.useState(!1),{updateRoute:s}=ue(),{mutateAsync:c}=De(),{mutateAsync:u}=Ee(),{mutateAsync:d}=we(),[h,_]=Y.useState(!!e?.trial_days),y=l(),{confirm:x}=Ae(),{localSettings:S,siteData:ne}=je(),[re]=Te(S,[`portal_plans`]),D=JSON.parse(re?.toString()||`[]`),ie=g().flatMap(e=>e.options.map(t=>({...t,metadata:{groupKey:e.key,groupLabel:e.label}}))),O={name:()=>k.name?void 0:`Enter a name for the tier`,monthly_price:()=>k.type===`free`?void 0:m(k.monthly_price||0,k.currency,{allowZero:!1}),yearly_price:()=>k.type===`free`?void 0:m(k.yearly_price||0,k.currency,{allowZero:!1})},{formState:k,saveState:ae,updateForm:A,handleSave:se,validate:ce,errors:j,clearError:M,okProps:B}=p({initialState:{...e||{},trial_days:e?.trial_days?.toString()||``,currency:e?.currency||v[0].isoCode,visibility:e?.visibility||`none`,welcome_page_url:e?.welcome_page_url||null},savingDelay:500,savedDelay:500,onValidate:()=>{let e={};return Object.entries(O).forEach(([t,n])=>{e[t]=n?.()}),e},onSave:async()=>{let{trial_days:t,currency:r,...i}=k,a=i;if(a.benefits=a.benefits?.filter(e=>e),n||(a.currency=r,a.trial_days=parseInt(t)),e?.id)await c({...e,...a});else{let e=await u(a);Oe.current=e.tiers[0]?.id??null}if(n){let e=k.visibility===`public`,t=!1;D.includes(`free`)&&!e&&(D.splice(D.indexOf(`free`),1),t=!0),!D.includes(`free`)&&e&&(D.push(`free`),t=!0),t&&await d([{key:`portal_plans`,value:JSON.stringify(D)}])}},onSaveError:y}),V=ct(k.monthly_price||``,e=>A(t=>({...t,monthly_price:e}))),H=ct(k.yearly_price||``,e=>A(t=>({...t,yearly_price:e}))),U=Ce({baseUrl:ne?.url,nullable:!0,transformPathWithoutSlash:!0,value:k.welcome_page_url||null,onChange:e=>A(t=>({...t,welcome_page_url:e||null}))}),W=Se({items:k.benefits||[],setItems:e=>A(t=>({...t,benefits:e})),blank:``,canAddNewItem:e=>!!e}),G=(0,Y.useRef)(null),K=(0,Y.useRef)(null),Oe=(0,Y.useRef)(null),[ke,q]=Y.useState(!1);(0,Y.useEffect)(()=>{r||q(!1)},[r]);let J=(0,Y.useRef)(null),Me=()=>{if(!W.newItem)return;let e=J.current?.getBoundingClientRect().top;W.addItem(),window.requestAnimationFrame(()=>{let t=J.current,n=G.current;!t||!n||e===void 0||(t.focus({preventScroll:!0}),n.scrollBy({behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`,top:t.getBoundingClientRect().top-e}))})},Ne=t=>{t?(_(!0),A(t=>({...t,trial_days:e?.trial_days?e?.trial_days.toString():`7`}))):(_(!1),A(e=>({...e,trial_days:`0`})))},Pe=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{Pe.current&&(O.monthly_price?.(),O.yearly_price?.()),Pe.current=!0},[k.currency]);let Z=()=>{if(e){let t=e.active?`Archive tier`:`Reactivate tier`,n=e.active?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`mb-6`,children:[`Members will no longer be able to subscribe to `,(0,X.jsx)(`strong`,{children:e.name}),` and it will be removed from the list of available tiers in portal.`]}),(0,X.jsx)(`div`,{children:`Existing members on this tier will remain unchanged. Offers using this tier will be disabled.`})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`mb-6`,children:[`Reactivating `,(0,X.jsx)(`strong`,{children:e.name}),` will re-enable it as an option in portal and allow new members to subscribe to this tier.`]}),(0,X.jsx)(`div`,{children:`Existing members will remain unchanged.`})]}),r=e.active?`Archive`:`Reactivate`;x({title:t,prompt:n,okLabel:r,cancelLabel:`Cancel`,okVariant:e.active?`destructive`:`default`,onOk:t=>{c({...e,active:!e.active}),t?.remove(),f.success(`Tier ${e.active?`archived`:`reactivated`}`)}})}},Q;return e&&(e.active&&e.type!==`free`?Q=(0,X.jsx)(E,{className:`text-destructive hover:text-destructive`,type:`button`,variant:`ghost`,onClick:Z,children:`Archive tier`}):e.active||(Q=(0,X.jsx)(E,{className:`text-green hover:text-green`,type:`button`,variant:`ghost`,onClick:Z,children:`Reactivate tier`}))),(0,X.jsx)(le,{ref:G,buttonsDisabled:B.disabled,cancelLabel:`Close`,dirty:ae===`unsaved`||ke,leftButton:Q,okLabel:B.label||`Save`,okVariant:B.variant,size:`lg`,testId:`tier-detail-modal`,title:e?e.active?`Edit tier`:`Edit archived tier`:`New tier`,stickyFooter:!0,onClose:()=>{s(`tiers`)},onOk:async()=>{if(!(K.current?.validate()??!0)){ce();return}if(!await se({fakeWhenUnchanged:!0}))return;let t=e?.id??Oe.current;t&&await K.current?.save(t)},children:(0,X.jsxs)(`div`,{className:`mt-8 -mb-8 flex items-start gap-8`,children:[(0,X.jsxs)(`div`,{className:`flex grow flex-col gap-8`,children:[(0,X.jsxs)(he,{children:[(0,X.jsx)(_e,{children:`Basic`}),(0,X.jsxs)(me,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,X.jsxs)(I,{"data-invalid":!!j.name||void 0,children:[(0,X.jsx)(F,{htmlFor:`tier-name`,children:`Name`}),(0,X.jsx)(z,{"aria-invalid":!!j.name||void 0,autoComplete:`off`,id:`tier-name`,maxLength:191,placeholder:n?`Free`:`Bronze`,value:k.name||``,autoFocus:!0,onChange:e=>A(t=>({...t,name:e.target.value})),onKeyDown:()=>M(`name`)}),j.name&&(0,X.jsx)(P,{children:j.name})]}),(0,X.jsxs)(I,{children:[(0,X.jsx)(F,{htmlFor:`tier-description`,children:`Description`}),(0,X.jsx)(z,{autoComplete:`off`,autoFocus:n,id:`tier-description`,maxLength:191,placeholder:n?`Free preview`:`Full access to premium content`,value:k.description||``,onChange:e=>A(t=>({...t,description:e.target.value}))})]}),!n&&(0,X.jsx)(X.Fragment,{children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-10 md:flex-row`,children:[(0,X.jsxs)(`div`,{className:`basis-1/2`,children:[(0,X.jsxs)(`div`,{className:`mb-1 flex h-6 items-center justify-between`,children:[(0,X.jsx)(w,{as:`h6`,className:`text-base`,weight:`semibold`,children:`Prices`}),(0,X.jsx)(`div`,{children:(0,X.jsxs)(I,{children:[(0,X.jsx)(F,{className:`sr-only`,children:`Currency`}),(0,X.jsxs)(pe,{open:a,onOpenChange:o,children:[(0,X.jsx)(N,{"aria-label":`Currency`,className:`w-auto justify-start border-0 bg-transparent px-0 shadow-none hover:bg-transparent focus-visible:ring-0`,children:(0,X.jsx)(de,{className:`flex-none`,children:k.currency})}),(0,X.jsx)(fe,{align:`end`,className:`w-64`,children:(0,X.jsx)(be,{groupBy:e=>({key:e.metadata?.groupKey,label:e.metadata?.groupLabel}),i18n:{searchPlaceholder:`Search currencies...`},isMultiSelect:!1,options:ie,values:k.currency?[k.currency]:[],autoCloseOnSelect:!0,onChange:e=>{e[0]&&A(t=>({...t,currency:e[0]}))},onClose:()=>o(!1)})})]})]})})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsxs)(I,{"data-invalid":!!j.monthly_price||void 0,children:[(0,X.jsx)(F,{className:`sr-only`,htmlFor:`tier-monthly-price`,children:`Monthly price`}),(0,X.jsxs)(ye,{"data-invalid":!!j.monthly_price||void 0,children:[(0,X.jsx)(R,{"aria-invalid":!!j.monthly_price||void 0,id:`tier-monthly-price`,inputMode:`decimal`,placeholder:`5`,value:V.value,onBlur:e=>{V.onBlur(),e.target.value===``&&A(e=>({...e,monthly_price:0}))},onChange:e=>V.onChange(e.target.value),onKeyDown:()=>M(`monthly_price`)}),(0,X.jsx)(ve,{align:`inline-end`,children:(0,X.jsxs)(L,{children:[k.currency,`/month`]})})]}),j.monthly_price&&(0,X.jsx)(P,{children:j.monthly_price})]}),(0,X.jsxs)(I,{"data-invalid":!!j.yearly_price||void 0,children:[(0,X.jsx)(F,{className:`sr-only`,htmlFor:`tier-yearly-price`,children:`Yearly price`}),(0,X.jsxs)(ye,{"data-invalid":!!j.yearly_price||void 0,children:[(0,X.jsx)(R,{"aria-invalid":!!j.yearly_price||void 0,id:`tier-yearly-price`,inputMode:`decimal`,placeholder:`50`,value:H.value,onBlur:e=>{H.onBlur(),e.target.value===``&&A(e=>({...e,yearly_price:0}))},onChange:e=>H.onChange(e.target.value),onKeyDown:()=>M(`yearly_price`)}),(0,X.jsx)(ve,{align:`inline-end`,children:(0,X.jsxs)(L,{children:[k.currency,`/year`]})})]}),j.yearly_price&&(0,X.jsx)(P,{children:j.yearly_price})]})]})]}),(0,X.jsxs)(`div`,{className:`basis-1/2`,children:[(0,X.jsx)(`div`,{className:`mb-1 flex h-6 flex-col justify-center`,children:(0,X.jsxs)(I,{orientation:`horizontal`,children:[(0,X.jsx)(F,{htmlFor:`tier-free-trial`,children:`Add a free trial`}),(0,X.jsx)(oe,{checked:h,id:`tier-free-trial`,onCheckedChange:Ne})]})}),(0,X.jsxs)(I,{"data-disabled":!h||void 0,children:[(0,X.jsx)(F,{className:`sr-only`,htmlFor:`tier-trial-days`,children:`Trial days`}),(0,X.jsxs)(ye,{children:[(0,X.jsx)(R,{disabled:!h,id:`tier-trial-days`,placeholder:`0`,value:k.trial_days,onChange:e=>A(t=>({...t,trial_days:e.target.value.replace(/[^\d]/,``)}))}),(0,X.jsx)(ve,{align:`inline-end`,children:(0,X.jsx)(L,{children:`days`})})]}),(0,X.jsx)(ge,{children:(0,X.jsxs)(`span`,{className:`mt-1`,children:[`Members will be subscribed at full price once the trial ends.`,` `,(0,X.jsx)(`a`,{className:`text-green`,href:`https://ghost.org/help/free-trials/`,rel:`noreferrer`,target:`_blank`,children:`Learn more`})]})})]})]})]})}),(0,X.jsxs)(I,{children:[(0,X.jsx)(F,{htmlFor:`tier-welcome-page`,children:`Welcome page`}),(0,X.jsx)(z,{id:`tier-welcome-page`,maxLength:2e3,placeholder:ne?.url,value:U.displayValue,onBlur:U.commitValue,onChange:e=>U.setDisplayValue(e.target.value),onFocus:U.handleFocus,onKeyDown:U.handleKeyDown}),(0,X.jsxs)(ge,{children:[`Redirect to this URL after signup`,n?``:` for premium membership`]})]})]})]}),(0,X.jsxs)(he,{children:[(0,X.jsx)(_e,{children:`Benefits`}),(0,X.jsxs)(me,{className:b(`gap-0 rounded-sm border border-border-default p-4 md:p-7`,!r&&!i&&`mb-10`),children:[(0,X.jsx)(xe,{getDragHandleLabel:({item:e})=>`Reorder benefit${e?`: ${e}`:``}`,items:W.items,itemSeparator:!1,renderItem:({id:e,item:t})=>(0,X.jsxs)(C,{align:`center`,className:`relative w-full`,gap:`lg`,children:[(0,X.jsx)(C,{align:`center`,className:`absolute top-1/2 left-[-32px] size-6 -translate-y-1/2 bg-background group-hover:hidden`,justify:`center`,children:(0,X.jsx)(T,{className:`size-4`})}),(0,X.jsx)(z,{"aria-label":`Benefit`,className:`grow`,maxLength:191,value:t,onChange:t=>W.updateItem(e,t.target.value)}),(0,X.jsx)(E,{"aria-label":`Delete benefit`,className:`absolute top-1/2 right-1 z-10 size-5! -translate-y-1/2 p-0! opacity-0 group-hover:opacity-100`,size:`icon`,type:`button`,variant:`secondary`,onClick:()=>W.removeItem(e),children:(0,X.jsx)(ee,{})})]}),onMove:W.moveItem}),(0,X.jsxs)(C,{align:`center`,className:`relative mt-1`,gap:`md`,children:[(0,X.jsx)(T,{className:`size-4`}),(0,X.jsxs)(I,{className:`w-100`,children:[(0,X.jsx)(F,{className:`sr-only`,htmlFor:`new-tier-benefit`,children:`New benefit`}),(0,X.jsx)(z,{ref:J,className:`grow`,id:`new-tier-benefit`,maxLength:191,placeholder:`Expert analysis`,value:W.newItem,onChange:e=>W.setNewItem(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),Me())}})]}),(0,X.jsx)(E,{"aria-label":`Add benefit`,className:`absolute top-1/2 right-1 z-10 size-[22px]! -translate-y-1/2 p-0!`,size:`icon`,type:`button`,onClick:Me,children:(0,X.jsx)(te,{})})]})]})]}),(r||i)&&(0,X.jsx)(et,{ref:K,config:t.config,failed:i,onDirtyChange:q},e?.id??`new`)]}),(0,X.jsx)(`div`,{className:`sticky top-[96px] hidden shrink-0 basis-[380px] min-[920px]:!visible min-[920px]:!block`,children:(0,X.jsx)(at,{isFreeTier:n,tier:k})})]})})},dt=()=>{let{tierId:e}=y(),{data:{tiers:t,isEnd:n}={},fetchNextPage:r}=U(),i;(0,Y.useEffect)(()=>{e&&!i&&!n&&r()},[r,n,e,i]),e&&(i=t?.find(({id:t})=>t===e));let a=tt(i,{creating:!e});return e&&!i||!a.isReady?null:(0,X.jsx)(ut,{checkout:a,tier:i})};export{tt as i,ct as n,nt as r,lt as t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./hooks-CuEZV2-q.js";import{r as n}from"./update-queries-C4CnvJaW.js";var r=`TiersResponseType`,i=t({dataType:r,path:`/tiers/`,defaultNextPageParams:(e,t)=>({...t,page:(e.meta?.pagination.next||1).toString()}),returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.tiers),r=t[t.length-1].meta;return{tiers:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),a=e({method:`POST`,path:()=>`/tiers/`,body:e=>({tiers:[e]}),invalidateQueries:{dataType:r}}),o=e({method:`PUT`,path:e=>`/tiers/${e.id}/`,body:e=>({tiers:[e]}),updateQueries:{dataType:r,emberUpdateType:`createOrUpdate`,update:n(`tiers`)}});function s(e){return e.filter(e=>e.type===`paid`&&e.active)}function c(e){return e.filter(e=>e.active)}function l(e){return e.filter(e=>!e.active)}export{i as a,a as i,l as n,o,s as r,c as t};