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,26 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{n,t as r}from"./jsx-runtime-DX3WBWVO.js";import{i,r as a,s as o}from"./framework-provider-DqI25epG.js";import{C as s,E as c,S as l,T as u,_ as d,b as f,c as p,g as m,i as h,l as g,m as _,n as v,o as y,p as b,r as x,v as S,w as C,x as w,y as T}from"./hooks-Cy_-oZ4o.js";import{n as E}from"./dist-Ndy-PuGN.js";import{i as D,n as O,r as k,t as A}from"./focus-koenig-editor-on-bottom-click-BbSnGOtK.js";import{c as j,l as ee,m as M,n as N,t as P,u as F}from"./posts-pCPrhQeR.js";import{s as te,t as ne}from"./config-kSHvwdTG.js";import{h as I,u as L}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{a as R,t as re}from"./router-provider-BSvTXgZY.js";import{l as z,m as B,x as V}from"./dist-B3keLvjj.js";import{t as H}from"./inline-BWSs_VzR.js";import{t as U}from"./stack-B2eszIiq.js";import{t as W}from"./text-BQDSDsKs.js";import{s as ie}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{$n as G,$t as ae,An as oe,C as se,D as ce,E as le,Hn as ue,In as de,Jn as fe,Mn as pe,Y as me,a as he,an as ge,et as _e,ft as ve,kr as ye,l as be,mn as xe,nt as Se,qt as Ce,rn as we,t as K,tr as Te,wt as Ee}from"./button-Dvcv1QSR.js";import{i as De,r as Oe,t as ke}from"./tabs-eBBlxPp8.js";import{t as Ae}from"./calendar-Bl9RLcZX.js";import{t as je}from"./switch-CI4gLWqb.js";import{t as Me}from"./input-surface-BsrIZeSF.js";import{a as Ne,i as Pe,n as Fe,o as Ie,r as Le,s as Re,t as ze}from"./select-v5YbA3Mw.js";import{t as Be}from"./checkbox-BtayFtjg.js";import{t as Ve}from"./empty-indicator-D9QdpuNX.js";import{t as q}from"./label-OLCzze8N.js";import{t as He}from"./preview-chrome-BljUBlOk.js";import{n as Ue,t as We}from"./radio-group-DL8GI8rt.js";import{t as Ge}from"./textarea-DJ1Q5V39.js";import{n as Ke,t as qe}from"./toggle-group-CviIkyok.js";import{c as Je,d as Ye,f as Xe,l as Ze,s as Qe,t as $e,u as et}from"./users-DVNWrqg9.js";import{_ as tt,d as nt,g as rt,i as it,l as J,m as Y,n as at,r as ot,t as st,u as ct}from"./schemas-BoYdB6YU.js";import{r as lt}from"./newsletters-Rq1M3GD-.js";import{t as ut}from"./use-pintura-config-xgytjU35.js";import{Ci as dt,Cr as ft,E as pt,F as mt,Qn as ht,Sr as gt,Xn as _t,Yn as vt,_i as yt,_r as bt,a as xt,ai as St,ar as Ct,at as wt,br as Tt,ci as Et,cr as Dt,dr as Ot,fi as kt,fr as At,gr as jt,hr as Mt,ii as Nt,ir as Pt,it as Ft,li as It,lr as Lt,mi as Rt,mt as zt,ni as Bt,nr as Vt,nt as Ht,oi as Ut,or as Wt,pi as X,pr as Gt,pt as Kt,qn as qt,qt as Jt,ri as Yt,rr as Xt,si as Zt,sr as Qt,t as $t,ui as en,ur as tn,w as nn,wi as rn,x as an,xr as on,yr as sn}from"./index-CgMCwsxN.js";import{t as cn}from"./dirty-confirm-dialog-DVPuGz3U.js";import{a as ln,c as un,i as dn,n as fn,o as pn,r as mn,s as hn,t as gn}from"./images-KXmyO3Ss.js";import{a as _n,r as vn}from"./tiers-BCpIOGQr.js";import{t as yn}from"./validator-Cr0sMKuW.js";import{n as bn,t as xn}from"./use-unsaved-changes-guard-7-ug0JdH.js";import{t as Sn}from"./labels-Dr0SgUQD.js";import{c as Cn,l as wn,n as Tn,t as En,u as Dn}from"./pages-CjDY2CBI.js";import{r as On}from"./emails-vFMk4yYl.js";import{a as kn,i as An,n as jn,r as Mn,s as Nn,t as Pn}from"./tag-picker-C3UR-uJ-.js";import{t as Fn}from"./index.es-CY6-yuw9.js";import{t as In}from"./brand-icon-CrIGOA3Z.js";import{n as Ln,t as Rn}from"./koenig-loader-BeM5rFPX.js";import{t as zn}from"./lib-7QPTI0FS.js";var Z=e(t(),1),Bn=`editor-header-actions`,Vn=`editor-publish-inputs-error`,Hn=`post-settings-sidebar`,Un=`settings-menu-toggle`,Wn=`settings-excerpt-input`,Gn=`settings-featured-toggle`,Kn=`settings-show-title-toggle`,qn=`settings-show-title-warning`,Jn=`settings-slug-input`,Yn=`settings-slug-error`,Xn=`settings-url-preview`,Zn=`settings-visibility-select`,Qn=`settings-tiers-picker`,$n=`settings-tiers-error`,er=`settings-tags-field`,tr=`settings-tags-input`,nr=`settings-tags-list`,rr=`settings-tags-token`,ir=`settings-template-select`,ar=`settings-template-slug-match`,or=`settings-publish-date`,sr=`settings-publish-time`,cr=`settings-publish-date-error`,lr=`settings-publish-date-note`,ur=`settings-authors-picker`,dr=`settings-authors-error`,fr=`settings-author-chip`,pr=`settings-delete-button`,mr=`settings-delete-dialog`,hr=`settings-delete-error`,gr=`settings-subview-pane`,_r=`settings-meta-title-input`,vr=`settings-meta-description-input`,yr=`settings-serp-preview`,br=`settings-post-history-button`,xr=`post-history-modal`,Sr=`post-history-revision-list`,Cr=`post-history-preview`,wr=`post-history-preview-title`,Tr=`post-history-preview-excerpt`,Er=`post-history-preview-feature-image`,Dr=`post-history-preview-body`,Or=`post-history-restore-confirm`,kr=`publish-flow-modal`,Ar=`publish-flow-options`,jr=`publish-flow-confirm`,Mr=`publish-flow-complete`,Nr=`publish-flow-preview`,Pr=`publish-setting-publish-type`,Fr=`publish-setting-email-recipients`,Ir=`publish-setting-publish-at`,Lr=`publish-already-sent`,Rr=`publish-type-error`,zr=`publish-email-size-warning`,Br=`publish-newsletter-select`,Vr=`publish-recipient-free`,Hr=`publish-recipient-paid`,Ur=`publish-recipient-specific`,Wr=`publish-recipient-segments`,Gr=`publish-schedule-date`,Kr=`publish-schedule-time`,qr=`publish-continue`,Jr=`publish-confirm`,Yr=`publish-confirm-error`,Xr=`publish-limits-error`,Zr=`publish-back-to-settings`,Qr=`publish-complete-bookmark`,$r=`publish-complete-note`,ei=`publish-back-to-dashboard`,ti=`publish-revert-to-draft`,ni=`publish-email-error-step`,ri=`publish-retry-email`,ii=`publish-retry-error`,ai=`tk-reminder-dialog`,oi=`public-preview-warning-dialog`,si=`update-flow-modal`,ci=`update-flow-title`,li=`update-flow-confirmation`,ui=`update-flow-previous-email`;function di(e,t){if(e)return{displayName:e.displayName,isPage:e.displayName===`page`,showTitleAndFeatureImage:e.showTitleAndFeatureImage??!0,visibility:e.visibility||t}}function fi(e){return e?.isPage||e?.displayName===`page`?`web only`:`web and email`}function pi(e,t){let{settings:n,config:r,site:i,currentUser:a}=e;return{unsplash:X(n,`unsplash`)?e.unsplashHeaders:null,klipy:r.klipy?.apiKey?r.klipy:null,pinturaConfig:e.pinturaConfig,fetchAutocompleteLinks:t.fetchAutocompleteLinks,fetchEmbed:t.fetchEmbed,fetchLabels:t.fetchLabels,renderLabels:!Ze(a),feature:{transistor:X(n,`transistor`)===!0,paywallImprovements:r.labs?.paywallImprovements===!0},deprecated:{headerV1:!0},membersEnabled:X(n,`members_signup_access`)===`all`,searchLinks:t.searchLinks,siteTitle:X(n,`title`)??``,siteDescription:X(n,`description`)??``,siteUrl:Kt(i),siteUuid:i.site_uuid,stripeEnabled:kt(n,r),post:e.post,snippets:e.snippets,createSnippet:t.createSnippet,deleteSnippet:t.deleteSnippet,visibilitySettings:fi(e.post)}}function mi(e,t){return e.post?{...e,post:{...e.post,visibility:t.visibility||e.post.visibility,showTitleAndFeatureImage:t.showTitleAndFeatureImage??!0}}:e}var Q={sessionExpiryRedirect:!1};function hi(e,t){return t?`${e.replace(/\/+$/,``)}/p/${t}/`:``}function gi(e,t){if(!e)return``;let n=new URL(e);return n.searchParams.set(`member_status`,t.segment===`tier`?`paid`:t.segment),t.segment===`tier`&&t.tierSlug?n.searchParams.set(`member_tier`,t.tierSlug):n.searchParams.delete(`member_tier`),n.toString()}function _i(e){let t=e.segment===`paid`||e.segment===`tier`?`paid`:`free`;return e.segment===`tier`&&e.tierSlug?{memberStatus:t,memberTier:e.tierSlug}:{memberStatus:t}}function vi(e,t){return e.segment===`tier`&&t?`${t} tier member`:`${e.segment} member`}var $=r();function yi({previewUrl:e,audience:t,device:n}){return e?(0,$.jsx)(He,{"data-testid":`post-preview-browser`,device:n,children:(0,$.jsx)(`iframe`,{className:`size-full border-0`,"data-testid":`post-preview-browser-frame`,src:gi(e,t),title:`Post preview`})}):(0,$.jsx)(Ve,{className:`grow justify-center`,"data-testid":`post-preview-unavailable`,description:`A post gets its preview link the first time it is saved.`,title:`Nothing to preview yet`,children:(0,$.jsx)(oe,{})})}var bi=nt({email_previews:ot(nt({html:Y(),plaintext:Y(),subject:Y()})).min(1)}),xi=h({dataType:`EmailPreviewResponseType`,path:e=>`/email_previews/posts/${e}/`,parseResponse:e=>bi.parse(e)}),Si=(e,t={})=>{let{memberStatus:n,memberTier:r,newsletter:i,searchParams:a,...o}=t,s={...a};return n&&(s.member_status=n),r&&(s.member_tier=r),i&&(s.newsletter=i),xi(e,{...o,searchParams:s})},Ci=v({method:`POST`,sessionExpiryRedirect:!1,path:({postId:e})=>`/email_previews/posts/${e}/`,body:({emails:e,memberStatus:t,memberTier:n,newsletter:r})=>({emails:e,...r&&{newsletter:r},...t&&{member_status:t},...n&&{member_tier:n}})}),wi=e(yn(),1);function Ti({postId:e,audience:t,audienceLabel:n,newsletterSlug:r,disabled:i=!1}){let{data:a}=y({requestOptions:Q}),{data:o}=te({requestOptions:Q}),{data:s}=yt({requestOptions:Q}),{mutateAsync:c,isPending:l}=Ci(),u=b(),[d,f]=(0,Z.useState)(null),p=d??a?.email??``,[m,h,g]=Rt(s?.settings??[],[`mailgun_api_key`,`mailgun_domain`,`mailgun_base_url`]),_=!!o?.config.mailgunIsConfigured||!!(m&&h&&g),v=async()=>{let n=p.trim();if(!i){if(!wi.default.isEmail(n)){E.error(`Please enter a valid email`);return}if(!_){E.error(`Please verify your email settings`);return}try{await c({postId:e,emails:[n],newsletter:r,..._i(t)}),E.success(`Test email sent to ${n}`)}catch(e){u(e)}}};return(0,$.jsxs)(Gt,{children:[(0,$.jsx)(jt,{asChild:!0,children:(0,$.jsxs)(K,{disabled:i,variant:`outline`,children:[(0,$.jsx)(_e,{}),`Test`]})}),(0,$.jsx)(Mt,{align:`end`,className:`w-80`,children:(0,$.jsx)(`form`,{noValidate:!0,onSubmit:e=>{e.preventDefault(),v()},children:(0,$.jsxs)(U,{gap:`md`,children:[(0,$.jsx)(q,{htmlFor:`post-preview-test-email`,children:`Send test email`}),(0,$.jsx)(Xt,{"data-testid":`post-preview-test-email-input`,id:`post-preview-test-email`,placeholder:`you@yoursite.com`,type:`email`,value:p,onChange:e=>f(e.target.value)}),(0,$.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`You’ll receive this as a `,n,`.`]}),(0,$.jsx)(K,{disabled:i||l,type:`submit`,children:l?`Sending...`:`Send`})]})})})]})}var Ei=`
2
+ html {
3
+ scrollbar-width: thin;
4
+ scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
5
+ }
6
+ html::-webkit-scrollbar {
7
+ width: 8px;
8
+ background: transparent;
9
+ }
10
+ html::-webkit-scrollbar-thumb {
11
+ border-radius: 4px;
12
+ background-color: rgba(0, 0, 0, 0.2);
13
+ }
14
+ html::-webkit-scrollbar-thumb:hover {
15
+ background-color: rgba(0, 0, 0, 0.3);
16
+ }
17
+ `;function Di(e){let t=`<style>${Ei}</style>`;return e.includes(`</head>`)?e.replace(`</head>`,`${t}</head>`):`${e}${t}`}function Oi({postId:e,audience:t,tierName:n,canSendTestEmail:r,device:i,newsletters:a,newsletterSlug:o,newsletterLookupError:s=!1,newsletterLookupPending:c=!1,newsletterMissing:l=!1,onNewsletterChange:u,onRetryNewsletterLookup:d}){let{data:f}=yt({requestOptions:Q}),[p]=Rt(f?.settings??[],[`default_email_address`]),{data:m,isError:h,isFetching:g,refetch:_}=Si(e,{..._i(t),enabled:!s&&!c&&!l,newsletter:o,requestOptions:Q,staleTime:0}),v=m?.email_previews[0],y=a.find(e=>e.slug===o),b=e=>e??p??``;return(0,$.jsx)(He,{"data-testid":`post-preview-email`,device:i,children:(0,$.jsxs)(U,{className:`size-full bg-background`,gap:`none`,children:[(0,$.jsxs)(U,{className:`border-b border-border-default p-4`,gap:`md`,children:[(0,$.jsxs)(H,{gap:`lg`,justify:`between`,children:[(0,$.jsx)(H,{className:`min-w-0`,gap:`md`,children:c?(0,$.jsx)(Vt,{size:`sm`}):s?(0,$.jsx)(`p`,{className:`min-w-0 truncate text-sm text-muted-foreground`,children:`Couldn’t load newsletters`}):l?(0,$.jsx)(`p`,{className:`min-w-0 truncate text-sm text-muted-foreground`,"data-testid":`post-preview-newsletter-missing`,children:`This newsletter no longer exists`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:`From`}),a.length>1?(0,$.jsxs)(ze,{value:y?.slug,onValueChange:u,children:[(0,$.jsx)(Ie,{"aria-label":`Newsletter`,className:`w-auto`,children:(0,$.jsx)(Re,{})}),(0,$.jsx)(Fe,{children:a.map(e=>(0,$.jsxs)(Pe,{value:e.slug,children:[e.name,` <`,b(e.sender_email),`>`]},e.id))})]}):(0,$.jsxs)(`p`,{className:`min-w-0 truncate text-sm`,"data-testid":`post-preview-email-from`,children:[y?.name,` `,(0,$.jsxs)(`span`,{className:`text-muted-foreground`,children:[`<`,b(y?.sender_email??null),`>`]})]})]})}),r&&(0,$.jsx)(Ti,{audience:t,audienceLabel:vi(t,n),disabled:s||c||l,newsletterSlug:o,postId:e})]}),(0,$.jsxs)(H,{className:`min-w-0`,gap:`md`,children:[(0,$.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:`Subject`}),(0,$.jsx)(`p`,{className:`min-w-0 truncate text-sm`,"data-testid":`post-preview-email-subject`,children:!g&&v?.subject})]})]}),c||g?(0,$.jsx)(H,{className:`grow`,gap:`none`,justify:`center`,children:(0,$.jsx)(Vt,{size:`md`})}):s?(0,$.jsx)(Ve,{actions:(0,$.jsx)(K,{variant:`outline`,onClick:d,children:`Retry`}),className:`grow justify-center`,"data-testid":`post-preview-newsletters-error`,description:`The newsletters could not be loaded.`,title:`Couldn’t load newsletters`,children:(0,$.jsx)(se,{})}):h?(0,$.jsx)(Ve,{actions:(0,$.jsx)(K,{variant:`outline`,onClick:()=>void _(),children:`Retry`}),className:`grow justify-center`,description:`The email preview could not be loaded.`,title:`Couldn’t load the email preview`,children:(0,$.jsx)(se,{})}):l?(0,$.jsx)(Ve,{className:`grow justify-center`,description:`Choose an active newsletter before sending this post.`,title:`Newsletter unavailable`,children:(0,$.jsx)(Ce,{})}):(0,$.jsx)(`iframe`,{className:`min-h-0 grow border-0`,"data-testid":`post-preview-email-frame`,sandbox:`allow-popups allow-popups-to-escape-sandbox`,srcDoc:Di(v?.html??``),title:`Email preview`})]})})}function ki({open:e,postId:t,previewUrl:n,isPost:r=!0,newsletterSlug:i,onBeforeOpen:a,onReturnToPublish:o,onOpenChange:s}){let[c,l]=(0,Z.useState)(`browser`),[u,d]=(0,Z.useState)(`desktop`),[f,p]=(0,Z.useState)(`free`),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(null),[v,x]=(0,Z.useState)(()=>a&&e?`preparing`:`ready`),[S,C]=(0,Z.useState)(e),w=b(),{data:T}=y({requestOptions:Q}),{data:D}=yt({requestOptions:Q}),O=rn({requestOptions:Q}),k=dt({requestOptions:Q}),A=X(D?.settings??[],`members_enabled`)===!0,j=r&&A&&!!k&&!!T&&!Ze(T),ee=!!T&&(Ye(T)||Qe(T)||et(T)),{data:M}=_n({searchParams:{filter:`type:paid`,limit:`all`},enabled:e&&v===`ready`&&O===!0,requestOptions:Q}),N=(0,Z.useMemo)(()=>M?.tiers??[],[M]),{data:P,isError:F,isFetching:te,refetch:ne}=lt({searchParams:{filter:`status:active`,limit:`all`},enabled:e&&v===`ready`&&j,requestOptions:Q,staleTime:0}),I=(0,Z.useMemo)(()=>P?.newsletters??[],[P]),L=!!P&&!F&&!te&&!!i&&!I.some(e=>e.slug===i),{data:R,isError:re,isFetching:z,refetch:B}=lt({searchParams:{filter:`slug:${i??``}`,limit:`1`},enabled:e&&v===`ready`&&j&&L,requestOptions:Q,staleTime:0}),V=L&&R?R.newsletters.find(e=>e.slug===i):void 0,U=L&&!re&&!!R&&!V,W=F||L&&re,ie=j&&(te||!P&&!F)||L&&(z||!R&&!re),G=(0,Z.useMemo)(()=>V?[V,...I]:I,[I,V]),ae=(0,Z.useRef)(a),oe=(0,Z.useRef)(null);ae.current=a,e!==S&&(C(e),oe.current=null,x(e&&a?`preparing`:`ready`)),(0,Z.useEffect)(()=>{if(!e||v!==`preparing`)return;let t=ae.current;if(!t){x(`ready`);return}let n=oe.current??=Promise.resolve().then(t),r=!1;return n.then(()=>{r||x(`ready`)},e=>{r||(w(e),x(`failed`))}),()=>{r=!0}},[w,e,v]);let ce=(0,Z.useMemo)(()=>{let e=c===`email`?[{label:`Free member`,value:`free`}]:[{label:`Public visitor`,value:`anonymous`},{label:`Free member`,value:`free`}];return O&&(e.push({label:`Paid member`,value:`paid`}),N.length>0&&e.push({label:`Specific tier`,value:`tier`})),e},[c,O,N.length]),le=N.find(e=>e.active)??N[0],ue=m??le?.slug,de=N.find(e=>e.slug===ue),fe=N.filter(e=>e.active),he=N.filter(e=>!e.active),_e=g??i??G[0]?.slug,ve=()=>{F&&ne(),re&&B()},ye={segment:f,tierSlug:ue},be=gi(n,ye),xe=v===`ready`&&!!be,Se=c===`browser`||ce.length>1,Ce=f===`tier`&&N.length>0,Te=c===`email`&&j,Ee=e=>{l(e),e===`email`&&f===`anonymous`&&p(`free`)},Ae=async()=>{try{await navigator.clipboard.writeText(be),E.success(`Preview link copied`)}catch{E.error(`Could not copy the preview link`)}};return(0,$.jsx)(bt,{open:e,onOpenChange:s,children:(0,$.jsxs)(sn,{"aria-describedby":void 0,className:`top-0 left-0 grid h-dvh w-dvw max-w-none translate-x-0 grid-rows-[auto_1fr] gap-0 rounded-none p-0`,"data-testid":`post-preview-modal`,children:[(0,$.jsxs)(gt,{className:`flex-row items-center justify-between gap-4 border-b border-border-default p-4`,children:[(0,$.jsx)(ft,{className:`text-lg`,children:`Preview`}),(0,$.jsxs)(H,{gap:`md`,children:[j&&(0,$.jsx)(ke,{value:c,variant:`segmented`,onValueChange:e=>Ee(e),children:(0,$.jsxs)(Oe,{children:[(0,$.jsx)(De,{value:`browser`,children:`Web`}),(0,$.jsx)(De,{value:`email`,children:`Email`})]})}),(0,$.jsxs)(qe,{type:`single`,value:u,onValueChange:e=>{(e===`desktop`||e===`mobile`)&&d(e)},children:[(0,$.jsx)(Ke,{"aria-label":`Desktop`,value:`desktop`,children:(0,$.jsx)(ge,{})}),(0,$.jsx)(Ke,{"aria-label":`Mobile`,value:`mobile`,children:(0,$.jsx)(me,{})})]}),Se&&(0,$.jsxs)(ze,{value:f,onValueChange:e=>p(e),children:[(0,$.jsx)(Ie,{"aria-label":`Preview as`,className:`w-auto`,children:(0,$.jsx)(Re,{})}),(0,$.jsx)(Fe,{children:ce.map(e=>(0,$.jsx)(Pe,{value:e.value,children:e.label},e.value))})]}),Ce&&(0,$.jsxs)(ze,{value:ue,onValueChange:h,children:[(0,$.jsx)(Ie,{"aria-label":`Tier`,className:`w-auto`,children:(0,$.jsx)(Re,{})}),(0,$.jsxs)(Fe,{children:[fe.length>0&&(0,$.jsxs)(Le,{children:[(0,$.jsx)(Ne,{children:`Active tiers`}),fe.map(e=>(0,$.jsx)(Pe,{value:e.slug,children:e.name},e.id))]}),he.length>0&&(0,$.jsxs)(Le,{children:[(0,$.jsx)(Ne,{children:`Archived tiers`}),he.map(e=>(0,$.jsx)(Pe,{value:e.slug,children:e.name},e.id))]})]})]})]}),(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(K,{"aria-label":`Copy preview link`,disabled:!xe,variant:`outline`,onClick:()=>void Ae(),children:(0,$.jsx)(we,{})}),xe?(0,$.jsx)(K,{variant:`outline`,asChild:!0,children:(0,$.jsxs)(`a`,{href:be,rel:`noopener noreferrer`,target:`_blank`,children:[(0,$.jsx)(pe,{}),`Open in new tab`]})}):(0,$.jsxs)(K,{variant:`outline`,disabled:!0,children:[(0,$.jsx)(pe,{}),`Open in new tab`]}),(0,$.jsx)(K,{variant:o?`outline`:`default`,onClick:()=>s(!1),children:`Close`}),o?(0,$.jsx)(K,{onClick:o,children:`Publish`}):null]})]}),(0,$.jsx)(H,{className:`min-h-0 overflow-auto bg-surface-panel p-6`,gap:`none`,justify:`center`,children:v===`preparing`?(0,$.jsx)(H,{align:`center`,className:`grow`,gap:`none`,justify:`center`,children:(0,$.jsx)(Vt,{size:`lg`})}):v===`failed`?(0,$.jsx)(Ve,{actions:(0,$.jsx)(K,{variant:`outline`,onClick:()=>{oe.current=null,x(`preparing`)},children:`Retry`}),className:`grow justify-center`,"data-testid":`post-preview-save-failed`,description:`Saving the post failed, so there is nothing new to preview.`,title:`Couldn’t preview this post`,children:(0,$.jsx)(se,{})}):Te?(0,$.jsx)(Oi,{audience:ye,canSendTestEmail:ee,device:u,newsletterLookupError:W,newsletterLookupPending:ie,newsletterMissing:U&&_e===i,newsletters:G,newsletterSlug:_e,postId:t,tierName:de?.name,onNewsletterChange:_,onRetryNewsletterLookup:ve}):(0,$.jsx)(yi,{audience:ye,device:u,previewUrl:n})})]})})}function Ai({post:e,siteTitle:t}){return(0,$.jsxs)(`a`,{className:`block overflow-hidden rounded-lg border border-border-default`,"data-testid":Qr,href:e.url??`#`,rel:`noopener noreferrer`,target:`_blank`,children:[e.featureImage?(0,$.jsx)(`div`,{className:`aspect-video bg-cover bg-center`,style:{backgroundImage:`url(${e.featureImage})`}}):null,(0,$.jsxs)(U,{className:`p-5`,gap:`xs`,children:[(0,$.jsx)(W,{size:`lg`,weight:`bold`,children:e.title}),e.excerpt?(0,$.jsx)(W,{className:`line-clamp-2`,tone:`secondary`,children:e.excerpt}):null,t?(0,$.jsx)(W,{size:`sm`,tone:`tertiary`,children:t}):null]})]})}var ji=e(V(),1);function Mi(e){return e===1?`subscriber`:`subscribers`}function Ni(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Pi(e){return e.filter(e=>!!e).join(` `)}function Fi({recipientType:e,count:t,newsletterName:n}){let r=t==null,i=e===`all`;return Pi([i&&(r||t>1)?`All`:null,r?null:B(t),i?null:r?Ni(e):e,Mi(t),n?`of ${n}`:null])}function Ii({recipientType:e,count:t}){let n=t==null,r=e===`all`;return Pi([r?`all`:null,n?null:B(t),r?null:e,Mi(t)])}var Li={"publish+send":{idle:`Publish & send`,running:`Publishing & sending`},send:{idle:`Send email`,running:`Sending`},publish:{idle:`Publish`,running:`Publishing`},schedule:{running:`Scheduling`}};function Ri({publishType:e,isScheduled:t,scheduledAt:n,displayName:r,timezone:i}){let a=Li[e].idle;return e===`publish`&&(a+=` ${r}`),t?a+=`, on ${ji.default.tz(n,i).format(`MMMM Do`)}`:a+=`, right now`,a}function zi(e,t){return Li[t?`schedule`:e].running}function Bi({willPublish:e,willEmail:t,willOnlyEmail:n}){return e&&t?`publish+send`:n?`send`:`publish`}function Vi(e,t){let n=ji.default.tz(e,t);return new Date(n.year(),n.month(),n.date())}function Hi(e,t){return(0,ji.default)(e).from(t?(0,ji.default)(t):ji.default.utc())}function Ui(e,t){return ji.default.tz(e,t).format(`D MMM YYYY [at] HH:mm`)}function Wi(e,t){let n=ji.default.tz(e,t);return`${n.isSame(ji.default.tz(t),`day`)?`today`:`on ${n.format(`MMMM Do`)}`} at ${n.format(`HH:mm`)}`}function Gi({onRevertToDraft:e}){return e?(0,$.jsxs)(W,{children:[`Need to make a change?`,` `,(0,$.jsx)(K,{className:`h-auto p-0`,"data-testid":ti,variant:`link`,onClick:e,children:`Unschedule and revert to draft →`})]}):null}function Ki({post:e,state:t,captured:n,timezone:r,siteTitle:i,postCount:a,completedAt:o,note:s,onRevertToDraft:c}){let{count:l}=an(t.fullRecipientFilter,{requestOptions:Q}),u=n.willOnlyEmail,d=n.isScheduled?t.scheduledAt:o??e.publishedAt??t.scheduledAt,f=u?`sent`:n.willEmail?`published and sent`:`published`,p=!!s;return(0,$.jsxs)(U,{"data-testid":Mr,gap:`xl`,children:[s?(0,$.jsx)(vt,{"data-testid":$r,role:`status`,variant:`warning`,children:s}):null,(0,$.jsx)(W,{as:`h2`,size:`3xl`,weight:`bold`,children:n.isScheduled?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`text-state-success`,children:`All set!`}),` Your`,` `,u?`email`:e.displayName,` will be `,f,` `,Wi(d,r),`.`]}):(0,$.jsxs)($.Fragment,{children:[u&&p?null:(0,$.jsx)(`span`,{className:`text-state-success`,children:`Boom. It’s out there. `}),u?p?(0,$.jsxs)($.Fragment,{children:[`Your `,e.displayName,` has been created.`]}):`Your email has been sent.`:e.displayName===`post`&&a?(0,$.jsxs)($.Fragment,{children:[`That’s `,B(a),` `,a===1?`post`:`posts`,` published, keep going!`]}):(0,$.jsxs)($.Fragment,{children:[`Your `,e.displayName,` has been published.`]})]})}),u?(0,$.jsxs)(U,{gap:`md`,children:[p?null:(0,$.jsxs)(W,{children:[`Your post `,n.isScheduled?`will be`:`was`,` sent to`,` `,(0,$.jsx)(`strong`,{children:Ii({recipientType:Et(t.recipientFilter),count:l})}),t.onlyDefaultNewsletter?null:(0,$.jsxs)($.Fragment,{children:[` `,`of `,(0,$.jsx)(`strong`,{children:t.newsletter?.name})]}),` `,`on `,Ui(d,r),`.`]}),n.isScheduled?(0,$.jsx)(Gi,{onRevertToDraft:c}):null]}):(0,$.jsxs)(U,{gap:`md`,children:[(0,$.jsx)(Ai,{post:e,siteTitle:i}),n.isScheduled?(0,$.jsx)(Gi,{onRevertToDraft:c}):(0,$.jsx)(W,{children:(0,$.jsx)(`a`,{className:`underline`,"data-testid":ei,href:`#/analytics`,children:`Back to dashboard`})})]})]})}var qi=1e3,Ji=15*1e3;function Yi(e){return!!e&&e.includes(`partially`)}function Xi(e){let t=e?.error??null;return{kind:`failed`,error:t,partial:Yi(t)}}function Zi(e){let{reload:t,retry:n}=e,r=e.setTimeout??((e,t)=>setTimeout(e,t)),i=e.clearTimeout??(e=>clearTimeout(e)),a=null;function o(e,t){return new Promise(n=>{let i=!1,a=()=>{i||(i=!0,e.timer=null,e.release=null,n())};e.release=a;let o=r(a,t);i||(e.timer=o)})}function s(e){e.cancelled=!0,e.timer!==null&&(i(e.timer),e.timer=null),e.release?.(),e.release=null,e.settleCancelled()}function c(){a&&=(s(a.state),null)}async function l(e,{stopWhenUnpublished:n}){let r=0;for(;r<Ji;){if(await o(e,qi),e.cancelled)return{kind:`cancelled`};r+=qi;let i=await t(e.postId);if(e.cancelled)return{kind:`cancelled`};if(n&&i.status!==`sent`&&i.status!==`published`)return{kind:`unpublished`};if(!i.email)return{kind:`not-needed`};if(i.email.status===`submitted`)return{kind:`submitted`};if(i.email.status===`failed`)return Xi(i.email)}return{kind:`timeout`}}function u(e,t,n){if(a){if(a.state.operation===e&&a.state.postId===t)return a.promise;s(a.state),a=null}let r=()=>{},i=new Promise(e=>{r=()=>e({kind:`cancelled`})}),o={operation:e,postId:t,cancelled:!1,timer:null,release:null,settleCancelled:r},c=Promise.race([n(o),i]),l=()=>{a?.state===o&&(a=null)};return a={state:o,promise:c},c.then(l,l),c}return{confirm(e,t){return u(`confirm`,e,e=>t&&!t.email?Promise.resolve({kind:`not-needed`}):t?.email?.status===`submitted`?Promise.resolve({kind:`submitted`}):l(e,{stopWhenUnpublished:!0}))},retryAndConfirm(e,t){return u(`retry`,e,async e=>(await n(t),e.cancelled?{kind:`cancelled`}:l(e,{stopWhenUnpublished:!1})))},cancel:c}}function Qi({post:e,emailErrorMessage:t,willOnlyEmail:n,mailgunConfigured:r,status:i,retryFailure:a,onRetry:o}){let s=Yi(t);return(0,$.jsxs)(U,{"data-testid":ni,gap:`xl`,children:[(0,$.jsxs)(W,{as:`h2`,size:`3xl`,weight:`bold`,children:[(0,$.jsx)(`span`,{className:`text-state-error`,children:`Uh-oh.`}),` `,n?`Your post has been created but the email failed to send.`:`Your ${e.displayName} has been published but the email failed to send.`]}),(0,$.jsxs)(W,{children:[t,r?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`br`,{}),(0,$.jsx)(`br`,{}),`If the error persists, please verify your email settings.`]})]}),a?(0,$.jsx)(vt,{"data-testid":ii,role:`alert`,variant:`destructive`,children:a}):null,(0,$.jsx)(`div`,{children:(0,$.jsx)(K,{"data-testid":ri,disabled:i===`running`,size:`lg`,variant:`destructive`,onClick:o,children:i===`running`?`Sending`:s?`Send remaining emails`:`Retry sending email`})})]})}var $i=J({config:J({hostSettings:J({billing:J({upgradeUrl:Y().min(1).regex(/^(?:#?\/|https?:\/\/)/).optional()}).optional()}).optional()})});function ea(e){return e.startsWith(`/`)?`#${e}`:e}function ta(e){let t=$i.safeParse(e),n=t.success?t.data.config.hostSettings?.billing?.upgradeUrl:void 0;return ea(n?n.replace(/^#/,``):ne)}function na({parts:e}){let{data:t}=te({defaultErrorHandler:!1,requestOptions:Q}),n=ta(t);return(0,$.jsx)($.Fragment,{children:e.map(e=>e.kind===`upgrade`?(0,$.jsx)(`a`,{className:`underline`,href:n,children:e.text},`${e.kind}:${e.text}`):(0,$.jsx)(`span`,{children:e.text},`${e.kind}:${e.text}`))})}function ra({failure:e}){return e.parts?(0,$.jsx)(na,{parts:e.parts}):(0,$.jsx)($.Fragment,{children:e.message})}function ia({post:e,state:t,captured:n,timezone:r,status:i,failure:a,onConfirm:o,onBack:s}){let{count:c}=an(t.fullRecipientFilter,{requestOptions:Q}),l=Bi(n),u=!t.onlyDefaultNewsletter&&t.newsletter?.name,d=Ii({recipientType:Et(t.recipientFilter),count:c}),f={idle:Ri({publishType:l,isScheduled:t.isScheduled,scheduledAt:t.scheduledAt,displayName:e.displayName,timezone:r}),running:zi(l,t.isScheduled)};return(0,$.jsxs)(U,{"data-testid":jr,gap:`xl`,children:[(0,$.jsxs)(U,{gap:`none`,children:[(0,$.jsx)(W,{as:`h2`,className:`text-state-success`,size:`3xl`,weight:`bold`,children:`Ready, set, publish.`}),(0,$.jsx)(W,{size:`3xl`,weight:`bold`,children:`Share it with the world.`})]}),(0,$.jsxs)(W,{children:[t.isScheduled?(0,$.jsxs)($.Fragment,{children:[`On `,(0,$.jsx)(`strong`,{children:Ui(t.scheduledAt,r)}),` your`]}):`Your`,` `,e.displayName,n.willPublish?(0,$.jsxs)($.Fragment,{children:[` will be published on your site`,n.willEmail?`, and delivered to`:`.`]}):null,n.willEmail?(0,$.jsxs)($.Fragment,{children:[n.willPublish?` `:` will be delivered to `,(0,$.jsx)(`strong`,{children:d}),u?(0,$.jsxs)($.Fragment,{children:[` `,`of `,(0,$.jsx)(`strong`,{children:t.newsletter?.name})]}):null,n.willPublish?`.`:`,`,n.willPublish?null:(0,$.jsxs)($.Fragment,{children:[` `,`and will `,(0,$.jsx)(`strong`,{children:`not`}),` be published on your site.`]})]}):null]}),a?(0,$.jsx)(vt,{"data-testid":Yr,role:`alert`,variant:`destructive`,children:(0,$.jsx)(ra,{failure:a})}):null,(0,$.jsxs)(U,{align:`start`,gap:`sm`,children:[(0,$.jsx)(K,{"data-testid":Jr,disabled:i===`running`,size:`lg`,onClick:o,children:i===`running`?f.running:f.idle}),(0,$.jsx)(K,{"data-testid":Zr,disabled:i===`running`,size:`lg`,variant:`link`,onClick:s,children:`Back to settings`})]})]})}function aa({testId:e,title:t,children:n,onContinue:r,onBack:i}){return(0,$.jsx)(bt,{open:!0,onOpenChange:e=>!e&&i(),children:(0,$.jsxs)(sn,{"data-testid":e,children:[(0,$.jsxs)(gt,{children:[(0,$.jsx)(ft,{children:t}),(0,$.jsx)(Tt,{children:n})]}),(0,$.jsxs)(on,{children:[(0,$.jsx)(K,{variant:`outline`,onClick:r,children:`Continue to publish`}),(0,$.jsx)(K,{onClick:i,children:`Back to editor`})]})]})})}var oa=J({tiers:ot(J({slug:Y(),name:Y(),active:it()}))}),sa=J({labels:ot(J({slug:Y(),name:Y()}))});function ca(e,t){let n=oa.safeParse(e),r=sa.safeParse(t);return{tiers:n.success?n.data.tiers:[],labels:r.success?r.data.labels:[]}}function la({filter:e}){let{count:t}=an(e,{requestOptions:Q});return t===null?null:(0,$.jsxs)(W,{as:`span`,size:`sm`,tone:`secondary`,children:[`(`,B(t),`)`]})}function ua({filter:e,newsletterRecipientFilter:t,paidAvailable:n,segmentOptions:r,onChange:i}){let a=en(e),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(null),u=o||a.specific.length>0,d=(e,t)=>{i(St({base:e,specific:t},{paidAvailable:n}))},f=e=>{let t=a.base.includes(e)?a.base.filter(t=>t!==e):[...a.base,e];d(t,a.specific)},p=()=>{if(o&&a.specific.length===0){s(!1);return}if(s(!1),u){l(a.specific),d(a.base,[]);return}if(c){d(a.base,c);return}s(!0)},m=e=>{let t=a.specific.includes(e)?a.specific.filter(t=>t!==e):[...a.specific,e];t.length===0&&(l(null),s(!0)),d(a.base,t)},h=e=>t?`${t}+${e}`:e;return(0,$.jsxs)(U,{gap:`md`,children:[(0,$.jsxs)(U,{gap:`sm`,children:[(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(Be,{checked:a.free,"data-testid":Vr,id:`recipients-free`,onCheckedChange:()=>f(Yt)}),(0,$.jsxs)(q,{htmlFor:`recipients-free`,children:[`Free `,(0,$.jsx)(la,{filter:h(Yt)})]})]}),n?(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(Be,{checked:a.paid,"data-testid":Hr,id:`recipients-paid`,onCheckedChange:()=>f(Nt)}),(0,$.jsxs)(q,{htmlFor:`recipients-paid`,children:[`Paid `,(0,$.jsx)(la,{filter:h(Nt)})]})]}):null,r.length>0?(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(Be,{checked:u,"data-testid":Ur,id:`recipients-specific`,onCheckedChange:p}),(0,$.jsx)(q,{htmlFor:`recipients-specific`,children:`Specific people`})]}):null]}),u?(0,$.jsxs)(U,{"data-testid":Wr,gap:`sm`,children:[(0,$.jsx)(W,{size:`sm`,weight:`medium`,children:`Selection`}),r.map(e=>(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(Be,{checked:a.specific.includes(e.segment),id:`recipients-${e.segment}`,onCheckedChange:()=>m(e.segment)}),(0,$.jsx)(q,{htmlFor:`recipients-${e.segment}`,children:e.name})]},e.segment))]}):null]})}var da=nt({settingsData:J({settings:ot(J({key:Y(),value:tt()}))}),configData:J({config:J({stripeDirect:it()})})});function fa({state:e,onSetNewsletter:t,onSetRecipientFilter:n}){let{data:r}=yt({defaultErrorHandler:!1,requestOptions:Q}),{data:i}=te({defaultErrorHandler:!1,requestOptions:Q}),a=_n({defaultErrorHandler:!1,requestOptions:Q,searchParams:{filter:`type:paid`,limit:`all`}}),o=Sn({defaultErrorHandler:!1,requestOptions:Q,searchParams:{limit:`all`}}),{data:s,fetchNextPage:c,hasNextPage:l,isError:u,isFetchingNextPage:d}=o,{data:f,fetchNextPage:p,hasNextPage:m,isError:h,isFetchingNextPage:g}=a;(0,Z.useEffect)(()=>{l&&!d&&!u&&c()},[c,l,d,u]),(0,Z.useEffect)(()=>{m&&!g&&!h&&p()},[p,m,g,h]);let _=!o.isLoading&&!d&&(!l||u),v=!a.isLoading&&!g&&(!m||h),y=da.safeParse({settingsData:r,configData:i}),b=y.success?(()=>{let{settings:e,config:t}={settings:y.data.settingsData.settings,config:y.data.configData.config},n=t=>e.some(e=>e.key===t&&!!e.value),r=n(`stripe_secret_key`)&&n(`stripe_publishable_key`),i=n(`stripe_connect_secret_key`)&&n(`stripe_connect_publishable_key`);return t.stripeDirect?r:i||r})():!1,x=(0,Z.useMemo)(()=>{if(!_||!v)return[];let{tiers:e,labels:t}=ca(h?void 0:f,u?void 0:s);return[...e.length>1?[...e].sort((e,t)=>Number(t.active)-Number(e.active)).map(e=>({segment:`tier:${e.slug}`,name:e.name})):[],...t.map(e=>({segment:`label:${e.slug}`,name:e.name}))]},[s,u,_,f,h,v]),S=e.newsletter?Zt({slug:e.newsletter.slug,visibility:e.newsletter.visibility}):null;return(0,$.jsxs)(U,{gap:`lg`,children:[(0,$.jsx)(ua,{filter:e.recipientFilter,newsletterRecipientFilter:S,paidAvailable:b,segmentOptions:x,onChange:n}),e.newsletters.length>1?(0,$.jsxs)(U,{gap:`sm`,children:[(0,$.jsx)(q,{htmlFor:`publish-newsletter`,children:`Newsletter`}),(0,$.jsxs)(ze,{value:e.newsletter?.slug??``,onValueChange:n=>t(e.newsletters.find(e=>e.slug===n)??null),children:[(0,$.jsx)(Ie,{"data-testid":Br,id:`publish-newsletter`,children:(0,$.jsx)(Re,{placeholder:`Select a newsletter`})}),(0,$.jsx)(Fe,{children:e.newsletters.map(e=>(0,$.jsx)(Pe,{value:e.slug,children:e.name??e.slug},e.slug))})]})]}):null]})}var pa=`YYYY-MM-DD`,ma=`HH:mm`;function ha({value:e,timezone:t,minDate:n,maxDate:r,disabled:i=!1,dateLabel:a,timeLabel:o,dateTestId:s,timeTestId:c,invalid:l=!1,describedBy:u,labelledBy:d,onChange:f}){let p=ji.default.tz(e,t),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(!1),v=e=>{if(!e)return;let t=p.clone().set({year:e.getFullYear(),month:e.getMonth(),date:e.getDate(),second:0,millisecond:0});_(!1),t.isSame(p,`minute`)||f(t.toDate())},y=e=>{if(m===null)return;let t=/^\d:\d\d$/.test(e)?`0${e}`:e,[n,r]=t.split(`:`).map(e=>parseInt(e,10));h(null),!(!/^\d\d:\d\d$/.test(t)||n>23||r>59||t===p.format(ma))&&f(p.clone().set({hour:n,minute:r,second:0,millisecond:0}).toDate())},b=l?{"aria-invalid":!0}:{},x=u?{"aria-describedby":u}:{};return(0,$.jsxs)(H,{"aria-labelledby":d,gap:`sm`,role:d?`group`:void 0,children:[(0,$.jsxs)(Gt,{open:g&&!i,onOpenChange:_,children:[(0,$.jsx)(jt,{asChild:!0,children:(0,$.jsx)(Xt,{"aria-label":a,"data-testid":s,disabled:i,value:p.format(pa),readOnly:!0,...b,...x})}),(0,$.jsx)(Mt,{className:`w-auto p-0`,children:(0,$.jsx)(Ae,{captionLayout:`dropdown-months`,defaultMonth:Vi(e,t),disabled:[...n?[{before:Vi(n,t)}]:[],...r?[{after:Vi(r,t)}]:[]],mode:`single`,selected:Vi(e,t),onSelect:v})})]}),(0,$.jsx)(Xt,{"aria-label":o,"data-testid":c,disabled:i,value:m??p.format(ma),onBlur:e=>y(e.target.value),onChange:e=>h(e.target.value),...b,...x}),(0,$.jsxs)(H,{className:`shrink-0`,gap:`xs`,children:[(0,$.jsx)(ue,{className:`size-4`}),(0,$.jsx)(W,{size:`sm`,tone:`secondary`,children:p.format(`z`)})]})]})}function ga({state:e,timezone:t,onToggleScheduled:n,onSetScheduledAt:r}){return(0,$.jsxs)(U,{gap:`md`,children:[(0,$.jsxs)(We,{value:e.isScheduled?`schedule`:`now`,onValueChange:e=>n(e===`schedule`),children:[(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(Ue,{id:`publish-at-now`,value:`now`}),(0,$.jsx)(q,{htmlFor:`publish-at-now`,children:`Set it live now`})]}),(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(Ue,{id:`publish-at-schedule`,value:`schedule`}),(0,$.jsx)(q,{htmlFor:`publish-at-schedule`,children:`Schedule for later`})]})]}),e.isScheduled?(0,$.jsx)(ha,{dateLabel:`Publish date`,dateTestId:Gr,minDate:e.minScheduledAt,timeLabel:`Publish time`,timeTestId:Kr,timezone:t,value:e.scheduledAt,onChange:r}):null]})}function _a({testId:e,icon:t,title:n,open:r=!1,disabled:i=!1,onToggle:a,children:o,footer:s}){let c=!i&&!!a;return(0,$.jsxs)(U,{className:`border-b border-border-default last:border-b-0`,"data-testid":e,gap:`none`,children:[(0,$.jsxs)(`button`,{"aria-expanded":c?r:void 0,className:z(`flex w-full items-center gap-3 px-1 py-4 text-left`,i&&`cursor-default text-foreground/40`),disabled:!c,type:`button`,onClick:a,children:[(0,$.jsx)(`span`,{className:`shrink-0`,children:t}),(0,$.jsx)(W,{className:`grow`,weight:`medium`,children:n}),(0,$.jsx)(Te,{className:z(`size-4 shrink-0 transition-transform`,r&&`rotate-180`)})]}),r&&o?(0,$.jsx)(`div`,{className:`pb-5`,children:o}):null,s]})}function va({children:e,testId:t}){return(0,$.jsx)(H,{align:`start`,className:`mb-4 rounded-md bg-surface-elevated p-3`,"data-testid":t,gap:`sm`,children:(0,$.jsx)(W,{size:`sm`,children:e})})}var ya=`https://docs.ghost.org/newsletters/#bulk-email-configuration`;function ba({state:e}){let t=e.emailDisabledReason;return t===`sending-limit`||t===`email-verification`?(0,$.jsx)(W,{"data-testid":Rr,size:`sm`,children:e.emailBlock?.message}):t===`no-members`?(0,$.jsxs)(W,{"data-testid":Rr,size:`sm`,children:[(0,$.jsx)(`a`,{className:`underline`,href:`#/members`,children:`Add members`}),` `,`to start sending newsletters!`]}):t===`no-mailgun`?(0,$.jsxs)(W,{"data-testid":Rr,size:`sm`,children:[`Set up`,` `,(0,$.jsx)(`a`,{className:`underline`,href:ya,rel:`noreferrer noopener`,target:`_blank`,children:`Mailgun`}),` `,`to start sending newsletters!`]}):null}function xa({state:e,onChange:t}){return(0,$.jsxs)(U,{gap:`md`,children:[(0,$.jsx)(We,{value:e.publishType,onValueChange:e=>t(e),children:e.publishTypeOptions.map(e=>(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(Ue,{disabled:e.disabled,id:`publish-type-${e.value}`,value:e.value}),(0,$.jsx)(q,{htmlFor:`publish-type-${e.value}`,children:e.label})]},e.value))}),(0,$.jsx)(ba,{state:e})]})}function Sa(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Ca({state:e}){let{count:t}=an(e.fullRecipientFilter,{requestOptions:Q});return e.recipientFilter?(0,$.jsx)($.Fragment,{children:Fi({recipientType:Et(e.recipientFilter),count:t,newsletterName:e.onlyDefaultNewsletter?null:e.newsletter?.name??null})}):(0,$.jsx)($.Fragment,{children:`Not sent as newsletter`})}function wa({post:e,state:t,timezone:n,emailDisabledInSettings:r,limitsChecked:i,limitsFailure:a,onSetPublishType:o,onSetNewsletter:s,onSetRecipientFilter:c,onToggleScheduled:l,onSetScheduledAt:u,onContinue:d,onRetryLimits:f}){let[p,m]=(0,Z.useState)(null),h=e=>()=>m(t=>t===e?null:e),g=t.publishBlock!==null,_=t.publishTypeOptions.find(e=>e.value===t.publishType),v=e.email,y=Et(It(e.emailSegment));return(0,$.jsxs)(U,{"data-testid":Ar,gap:`xl`,children:[(0,$.jsxs)(U,{gap:`none`,children:[(0,$.jsx)(W,{as:`h2`,className:`text-state-success`,size:`3xl`,weight:`bold`,children:`Ready, set, publish.`}),(0,$.jsx)(W,{size:`3xl`,weight:`bold`,children:`Share it with the world.`})]}),a?(0,$.jsx)(vt,{"data-testid":Xr,role:`alert`,variant:`destructive`,children:(0,$.jsxs)(U,{align:`start`,gap:`sm`,children:[(0,$.jsx)(W,{children:a}),(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:f,children:`Try again`})]})}):null,(0,$.jsxs)(U,{gap:`none`,children:[(0,$.jsx)(_a,{disabled:t.emailUnavailable||g,footer:t.willEmail?(0,$.jsx)(`div`,{"data-testid":zr,hidden:!0}):null,icon:(0,$.jsx)(_e,{className:`size-4`}),open:p===`publishType`,testId:Pr,title:t.emailUnavailable||g?`Publish on site`:_?.display??`Publish`,onToggle:h(`publishType`),children:(0,$.jsx)(xa,{state:t,onChange:o})}),t.publishBlock?(0,$.jsx)(va,{children:(0,$.jsx)(na,{parts:t.publishBlock.parts})}):null,t.emailUnavailable?null:(0,$.jsx)(_a,{disabled:t.publishType===`publish`||g,icon:(0,$.jsx)(be,{className:`size-4`}),open:p===`emailRecipients`,testId:Fr,title:t.publishType===`publish`||g?`Not sent as newsletter`:(0,$.jsx)(Ca,{state:t}),onToggle:h(`emailRecipients`),children:(0,$.jsx)(fa,{state:t,onSetNewsletter:s,onSetRecipientFilter:c})}),v&&!r?(0,$.jsx)(_a,{icon:(0,$.jsx)(be,{className:`size-4`}),testId:Lr,title:[v.status===`failed`?`Retry sending to`:`Already sent to`,B(v.email_count??0),y===`all`||y===`none`?null:y,v.email_count===1?`subscriber`:`subscribers`,t.onlyDefaultNewsletter||!e.newsletterName?null:`of ${e.newsletterName}`].filter(Boolean).join(` `),disabled:!0}):null,(0,$.jsx)(_a,{disabled:g,icon:(0,$.jsx)(ue,{className:`size-4`}),open:p===`publishAt`,testId:Ir,title:t.isScheduled?Sa(Hi(t.scheduledAt)):`Right now`,onToggle:h(`publishAt`),children:(0,$.jsx)(ga,{state:t,timezone:n,onSetScheduledAt:u,onToggleScheduled:l})})]}),g?null:(0,$.jsx)(`div`,{children:(0,$.jsx)(K,{"data-testid":qr,disabled:!i||!t.canPublish,size:`lg`,onClick:d,children:`Continue, final review →`})})]})}var Ta=J({type:Y(),text:tt().optional(),children:ot(tt()).optional()}),Ea=J({root:J({children:ot(tt())})});function Da(e){if(!e)return null;try{let t=typeof e==`string`?JSON.parse(e):e,n=Ea.safeParse(t);return n.success?n.data:null}catch{return null}}function Oa(e){let t=Ta.safeParse(e);if(!t.success)return!1;let n=t.data;return n.type===`paywall`||n.type===`linebreak`?!1:typeof n.text==`string`?!!n.text.trim():n.type===`text`||n.type===`extended-text`?!1:Array.isArray(n.children)?n.children.some(Oa):n.type!==`paragraph`&&n.type!==`root`}function ka(e){let t=Da(e.lexical)?.root?.children;if(!t)return null;let n=t.findIndex(e=>{let t=Ta.safeParse(e);return t.success&&t.data.type===`paywall`});return n===-1?null:e.visibility===`public`?`public-access`:t.slice(0,n).some(Oa)?t.slice(n+1).some(Oa)?null:`no-content-after`:`no-content-before`}var Aa={"no-content-before":{title:`Nothing above the public preview`,body:`Add some content above the public preview so everyone has something to read before the paywall.`},"no-content-after":{title:`Nothing below the public preview`,body:`Add some content below the public preview for subscribers who have access to the full post.`},"public-access":{title:`Public preview has no effect`,body:`This post is public, so everyone can read the full post and the public preview won’t have any effect.`}},ja=J({id:Y(),opened_count:ct().int().nonnegative(),email_count:ct().int().nonnegative(),status:st([`pending`,`submitting`,`submitted`,`failed`]),error:Y().nullable().optional(),track_opens:it().optional(),track_clicks:it().optional()}),Ma=J({posts:ot(J({status:st([`published`,`draft`,`scheduled`,`sent`]),email:ja.nullable().optional()})).min(1)}),Na=J({meta:J({pagination:J({total:ct().int().nonnegative()})})}),Pa=5*1e3,Fa=600*1e3,Ia=/please upgrade/i;function La(e){return new Date(e-e%1e3).toISOString()}function Ra(e,t){return Date.parse(e)<Date.parse(t)}function za(e){return e.filter(e=>e.status===`active`).sort((e,t)=>(e.sortOrder??0)-(t.sortOrder??0))}function Ba(e){return e.map(e=>`tier:${e.slug}`).join(`,`)||null}function Va(e,t){let n=t.editorDefaultEmailRecipients,r=It(t.editorDefaultEmailRecipientsFilter),i=n===`filter`&&r===null;if(n===`disabled`)return null;if(n===`visibility`||i)switch(e.visibility){case`public`:case`members`:return Bt;case`paid`:return Nt;case`tiers`:return Ba(e.tiers??[]);default:return e.visibility??null}return r}function Ha(e,t){return e.isPage?`page`:e.email?`already-emailed`:t.editorDefaultEmailRecipients===`disabled`||!t.membersEnabled?`disabled-in-settings`:null}function Ua({mailgunConfigured:e,memberCount:t},n,r){return e?t===0?`no-members`:r?n?.kind??null:`no-newsletter`:`no-mailgun`}function Wa(e,t,{emailUnavailable:n,emailDisabled:r}){let i=`publish+send`;return(n||r)&&(i=`publish`),t.editorDefaultEmailRecipients===`filter`&&It(t.editorDefaultEmailRecipientsFilter)===null&&(i=`publish`),e.status===`sent`&&(i=`send`),i}function Ga(e){let t=Ia.exec(e);if(!t)return[{text:e,kind:`text`}];let n=[],r=e.slice(0,t.index),i=e.slice(t.index+t[0].length);return r&&n.push({text:r,kind:`text`}),n.push({text:t[0],kind:`upgrade`}),i&&n.push({text:i,kind:`text`}),n}function Ka(e){return e instanceof Error?e.message:String(e)}function qa({post:e,site:t,user:n,limits:r={},now:i=()=>new Date}){let a=za(t.newsletters),o=a[0]??null,s=e.status===`draft`,c=s&&e.email?.status===`failed`,l=e.newsletter?t.newsletters.find(t=>t.slug===e.newsletter)??(c?{slug:e.newsletter}:null):null,u=l&&(l.status===`active`||c)?l:o,d=n.isAdmin?t.memberCount:null,f=Ha(e,t),p=f!==null,m=null,h=null,g=u,_=()=>Ua({...t,memberCount:d},m,g!==null),v=()=>_()!==null,y=()=>La(i().getTime()+Pa),b=()=>La(i().getTime()+Fa),x=Wa(e,t,{emailUnavailable:p,emailDisabled:v()}),S=!1,C=!1,w=y(),T=!1,E,D=()=>E===void 0?e.newsletter&&It(e.emailSegment)||Va(e,t)||null:E,O={publishType:x,isScheduled:C,scheduledAt:w,newsletterSlug:g?.slug??null,recipientFilter:D()},k=()=>g?Ut(Zt({slug:g.slug,visibility:g.visibility}),D()):null,A=()=>{if(!g||v()||p&&!c)return!1;let t=!!e.email,n=e.email?.status===`failed`;return x!==`publish`&&!!D()&&s&&!t||s&&t&&n},j=()=>{let e=v();return[{value:`publish+send`,label:`Publish and email`,display:`Publish and email`,disabled:e},{value:`publish`,label:`Publish only`,display:`Publish`,disabled:!1},{value:`send`,label:`Email only`,display:`Email`,disabled:e}]},ee=()=>x!==O.publishType||C!==O.isScheduled||(C||T)&&w!==O.scheduledAt||(g?.slug??null)!==O.newsletterSlug||D()!==O.recipientFilter,M=()=>{let e=j(),t=A();return{publishType:x,publishTypeOptions:e,availablePublishTypes:p?[`publish`]:e.filter(e=>!e.disabled).map(e=>e.value),isScheduled:C,scheduledAt:w,minScheduledAt:y(),newsletter:g,newsletters:a,onlyDefaultNewsletter:a.length===1,recipientFilter:D(),fullRecipientFilter:k(),willEmail:t,willEmailImmediately:t&&!C,willPublish:x!==`send`,willOnlyEmail:x===`send`,emailUnavailable:p,emailUnavailableReason:f,emailDisabled:v(),emailDisabledReason:_(),emailBlock:m,publishBlock:h,canPublish:s&&(x!==`send`||t),isDirty:ee()}},N=e=>{let t=e instanceof Date?e.getTime():Date.parse(e);if(Number.isNaN(t))return;let n=La(t),r=y();w=Ra(n,r)?r:n,T=!0},P=async()=>{await r.refreshSettings?.();try{n.isAuthorOrContributor||await r.checkSendingLimit?.();let e=r.getEmailVerification?.();e?.required&&(m={kind:`email-verification`,message:e.message||`Email sending is temporarily disabled because your account is currently in review. You should have an email about this from us already, but you can also reach us any time at support@ghost.org.`})}catch(e){m={kind:`sending-limit`,message:Ka(e)}}},F=async()=>{if(n.isAdmin)try{await r.checkPublishingLimit?.()}catch(e){let t=Ka(e);h={kind:`host-limit`,message:t,parts:Ga(t)}}};return{getState:M,setPublishType(e){x=e,S=!0},setIsScheduled(e){C=e===void 0?!C:e,C&&Ra(w,b())&&(w=b())},setScheduledAt:N,resetPastScheduledAt(){Ra(w,y())&&(C=!1)},setNewsletter(e){g=e},setRecipientFilter(e){E=It(e)},reset(){x=O.publishType,S=!1,C=O.isScheduled,w=y(),T=!1,g=u,E=void 0},async checkLimits(){m=null,h=null;let[n]=await Promise.allSettled([P(),F()]);if((!S||v())&&(x=Wa(e,t,{emailUnavailable:p,emailDisabled:v()}),O={...O,publishType:x}),n.status===`rejected`)throw n.reason;return{emailBlock:m,publishBlock:h}},toDispatch(){if(!s)return null;let e=A();if(x===`send`&&!e)return null;let t={};if(e&&(t.emailOnly=x===`send`,!c)){let e=D();g&&(t.newsletter=g.slug),e&&(t.emailSegment=e)}return C?{kind:`schedule`,options:{...t,publishedAt:w}}:{kind:`publish`,options:t}},toRevertDispatch(){return{kind:`revert`}}}}var Ja=`Unable to connect, please check your internet connection and try again.`,Ya=`Someone else has edited this post since you opened it. Reload the editor to get their changes before publishing.`,Xa=`Your session expired. Sign in again in a new tab, then try publishing again.`,Za=`Unknown Error`,Qa=`This post can no longer be published from here. Reload the editor.`;function $a(e){return e instanceof Error&&e.message?{message:e.message}:typeof e==`string`&&e?{message:e}:{message:Za}}function eo(e){if(e.kind===`saved`)return null;if(e.kind===`needs-retry`)return{message:Xa};if(e.kind===`dropped`||e.kind===`superseded`)return{message:Qa};let{error:t}=e;switch(t.kind){case`validation`:return{message:`Validation failed: ${t.message||`Unknown Error`}`};case`transport`:return{message:Ja};case`conflict`:return{message:Ya};case`session-invalid`:return{message:Xa};case`host-limit`:return{message:t.message||`Unknown Error`,parts:Ga(t.message||`Unknown Error`)};default:return{message:t.message||`Unknown Error`}}}var to={published:`ghost-last-published-post`,scheduled:`ghost-last-scheduled-post`};function no({postId:e,displayName:t,isScheduled:n}){try{localStorage.setItem(n?to.scheduled:to.published,JSON.stringify({id:e,type:t}))}catch{}}var ro=`Unknown error`,io=`Unknown Error occurred when attempting to resend`,ao=`We couldn’t confirm the newsletter was sent. Check the post’s email status from the posts list.`;function oo(e){return e.displayName===`post`&&(e.status===`published`||e.status===`sent`)&&e.email?.status===`failed`?e.email?.error??ro:null}function so({post:e,site:t,user:n,limits:r,now:i,dispatch:a,onBeforePublish:o,onCompleted:s}){let c=g(),{mutateAsync:l}=On(),[,u]=(0,Z.useReducer)(e=>e+1,0),d=(0,Z.useRef)({post:e,site:t,user:n,limits:r,now:i});d.current={post:e,site:t,user:n,limits:r,now:i};let f=(0,Z.useMemo)(()=>{let e=d.current;return qa({post:{...e.post,isPage:e.post.displayName===`page`},site:e.site,user:e.user,limits:e.limits,now:e.now})},[e.id]),m=(0,Z.useRef)(e.email?.id??null),h=(0,Z.useMemo)(()=>Zi({reload:async e=>{let t=Ma.parse(await c(p(`/posts/${e}/`,{include:`email`}),Q)).posts.at(0);if(!t)throw Error(`The published post was missing from its reload response.`);return m.current=t.email?.id??m.current,{status:t.status,email:t.email??null}},retry:async e=>{await l({id:e,sessionExpiryRedirect:!1})}}),[c,l]),[_,v]=(0,Z.useState)(()=>oo(e)?`email-error`:`options`),[y,b]=(0,Z.useState)(`idle`),[x,S]=(0,Z.useState)(null),[C,w]=(0,Z.useState)(()=>oo(e)),[T,E]=(0,Z.useState)(null),[D,O]=(0,Z.useState)(null),[k,A]=(0,Z.useState)(null),[j,ee]=(0,Z.useState)(null),[M,N]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(`idle`),[te,ne]=(0,Z.useState)(null),[I,L]=(0,Z.useState)(()=>{if(oo(e))return{willPublish:e.status===`published`&&e.emailOnly!==!0,willEmail:!0,willOnlyEmail:e.emailOnly===!0||e.status===`sent`,isScheduled:!1};let t=f.getState();return{willPublish:t.willPublish,willEmail:t.willEmail,willOnlyEmail:t.willOnlyEmail,isScheduled:t.isScheduled}}),R=(0,Z.useRef)(!0),re=(0,Z.useRef)(!1),z=(0,Z.useRef)(!1),B=(0,Z.useRef)(!1),V=(0,Z.useRef)(0),H=(0,Z.useRef)(null),U=(0,Z.useCallback)(async()=>{let e=V.current+1;V.current=e,A(null),ee(null);let t=H.current,n=t?.machine===f?t:{machine:f,promise:f.checkLimits().then(()=>void 0)};H.current=n;try{await n.promise}catch(t){if(R.current&&e===V.current){let{message:e}=$a(t);ee(`Couldn’t check publishing limits. ${e}`),u()}return}finally{H.current===n&&(H.current=null)}R.current&&e===V.current&&(A(f),u())},[f]);(0,Z.useEffect)(()=>(f.resetPastScheduledAt(),U(),()=>{V.current+=1}),[U,f]);let W=(0,Z.useRef)(h);W.current=h;let ie=(0,Z.useCallback)(()=>{R.current=!1,W.current.cancel(),V.current+=1},[]);(0,Z.useEffect)(()=>(R.current=!0,ie),[ie]);let G=f.getState(),ae=k===f,oe=(0,Z.useCallback)(async()=>{if(e.displayName===`page`||G.isScheduled||!G.willPublish){E(null);return}try{let t=Na.parse(await c(p(`/posts/`,{filter:`status:published+id:-'${e.id}'`,limit:`1`}),Q));R.current&&E(t.meta.pagination.total+1)}catch{R.current&&E(null)}},[c,e.displayName,e.id,G.isScheduled,G.willPublish]),se=(0,Z.useCallback)(()=>{!ae||!G.canPublish||(L({willPublish:G.willPublish,willEmail:G.willEmail,willOnlyEmail:G.willOnlyEmail,isScheduled:G.isScheduled}),S(null),b(`idle`),v(`confirm`),oe())},[oe,ae,G]),ce=(0,Z.useCallback)(()=>{z.current||(v(`options`),b(`idle`))},[]),le=(0,Z.useCallback)((t,n)=>{if(!(!R.current||re.current)){re.current=!0,w(null),b(`success`),v(`complete`),O(new Date().toISOString());try{no({postId:e.id,displayName:e.displayName,isScheduled:t})}finally{s?.({postId:e.id,isScheduled:t,hasEmail:n})}}},[s,e.displayName,e.id]),ue=(0,Z.useCallback)((e,t)=>{if(R.current){if(e.kind===`failed`){w(e.error??ro),v(`email-error`),b(`idle`);return}if(e.kind===`cancelled`){b(`idle`);return}e.kind!==`submitted`&&N(ao),le(t,e.kind!==`not-needed`)}},[le]);return{machine:f,state:G,step:_,confirmStatus:y,failure:x,emailErrorMessage:C,postCount:T,completedAt:D,limitsChecked:ae,limitsFailure:j,emailNote:M,captured:I,refresh:u,retryLimits:()=>void U(),toConfirm:se,toOptions:ce,confirmPublish:(0,Z.useCallback)(async()=>{if(z.current)return;z.current=!0,S(null),b(`running`);let t=f.toDispatch();if(!t){z.current=!1,S({message:`This post can no longer be published from here. Reload the editor.`}),b(`failure`);return}let{isScheduled:n,willEmailImmediately:r,willEmail:i}=G;try{await o?.()}catch(e){R.current&&(z.current=!1,S($a(e)),b(`failure`));return}if(!R.current)return;let s;try{s=await a(t)}catch(e){R.current&&(z.current=!1,S($a(e)),b(`failure`));return}if(!R.current)return;let c=eo(s);if(c){z.current=!1,S(c),b(`failure`),v(`confirm`);return}if(r){let t;try{t=await h.confirm(e.id)}catch{if(!R.current)return;N(ao),le(n,!0);return}ue(t,n);return}le(n,i)},[ue,le,h,a,f,o,e.id,G]),retryEmail:(0,Z.useCallback)(async()=>{let t=m.current;if(!B.current){if(!t){ne(io),F(`failure`);return}B.current=!0,ne(null),F(`running`);try{let n=await h.retryAndConfirm(e.id,t);if(!R.current)return;if(n.kind===`failed`||n.kind===`cancelled`){B.current=!1,n.kind===`failed`&&w(n.error??ro),F(`idle`);return}n.kind!==`submitted`&&N(ao),F(`success`),le(!1,n.kind!==`not-needed`)}catch(e){R.current&&(B.current=!1,ne(e instanceof Error?e.message:io),F(`failure`))}}},[le,h,e.id]),retryStatus:P,retryFailure:te,cancel:ie}}var co=`top-0 left-0 h-[100dvh] w-full max-w-full translate-0 grid-rows-[1fr] gap-0 overflow-y-auto rounded-none border-0 p-0 shadow-none sm:rounded-none`;function lo({post:e,...t}){return(0,$.jsx)(uo,{post:e,...t},e.id)}function uo({post:e,site:t,user:n,limits:r,now:i,timezone:a,siteTitle:o,tkCount:s=0,paywallImprovements:c=!1,dispatch:l,onBeforePublish:u,onClose:d,onPreview:f,onRevertToDraft:p,onCompleted:m}){let[h,g]=(0,Z.useState)(!1),_=c?ka(e):null;return!h&&s>0?(0,$.jsxs)(aa,{testId:ai,title:`Forget something?`,onBack:d,onContinue:()=>g(!0),children:[`Looks like you’ve got some unfinished business. There `,s===1?`is`:`are`,` `,(0,$.jsxs)(`strong`,{children:[B(s),` TK `,s===1?`reminder`:`reminders`]}),` `,`left in your post.`]}):!h&&_?(0,$.jsx)(aa,{testId:oi,title:Aa[_].title,onBack:d,onContinue:()=>g(!0),children:Aa[_].body}):(0,$.jsx)(fo,{dispatch:l,limits:r,now:i,post:e,site:t,siteTitle:o,timezone:a,user:n,onBeforePublish:u,onClose:d,onCompleted:m,onPreview:f,onRevertToDraft:p})}function fo({post:e,site:t,user:n,limits:r,now:i,timezone:a,siteTitle:o,dispatch:s,onBeforePublish:c,onClose:l,onPreview:u,onRevertToDraft:d,onCompleted:f}){let p=so({post:e,site:t,user:n,limits:r,now:i,dispatch:s,onBeforePublish:c,onCompleted:f}),{machine:m,state:h,step:g}=p,_=()=>{p.cancel(),l()},v=e=>t=>{e(t),p.refresh()};return(0,$.jsx)(bt,{modal:!1,open:!0,onOpenChange:e=>!e&&_(),children:(0,$.jsxs)(sn,{className:co,"data-testid":kr,onInteractOutside:e=>e.preventDefault(),children:[(0,$.jsx)(ft,{className:`sr-only`,children:`Publish`}),(0,$.jsxs)(U,{className:`mx-auto w-full max-w-2xl px-6 pb-16`,gap:`xl`,children:[(0,$.jsx)(H,{className:`py-4`,justify:`end`,children:g===`complete`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{variant:`outline`,onClick:_,children:`Close`}),p.emailErrorMessage||!u?null:(0,$.jsx)(K,{"data-testid":Nr,variant:`outline`,onClick:u,children:`Preview`})]})}),g===`email-error`&&p.emailErrorMessage?(0,$.jsx)(Qi,{emailErrorMessage:p.emailErrorMessage,mailgunConfigured:t.mailgunConfigured,post:e,retryFailure:p.retryFailure,status:p.retryStatus,willOnlyEmail:h.willOnlyEmail,onRetry:()=>void p.retryEmail()}):g===`complete`?(0,$.jsx)(Ki,{captured:p.captured,completedAt:p.completedAt,note:p.emailNote,post:e,postCount:p.postCount,siteTitle:o,state:h,timezone:a,onRevertToDraft:d}):g===`confirm`?(0,$.jsx)(ia,{captured:p.captured,failure:p.failure,post:e,state:h,status:p.confirmStatus,timezone:a,onBack:p.toOptions,onConfirm:()=>void p.confirmPublish()}):(0,$.jsx)(wa,{emailDisabledInSettings:t.editorDefaultEmailRecipients===`disabled`,limitsChecked:p.limitsChecked,limitsFailure:p.limitsFailure,post:e,state:h,timezone:a,onContinue:p.toConfirm,onRetryLimits:p.retryLimits,onSetNewsletter:v(e=>m.setNewsletter(e)),onSetPublishType:v(e=>m.setPublishType(e)),onSetRecipientFilter:v(e=>m.setRecipientFilter(e)),onSetScheduledAt:v(e=>m.setScheduledAt(e)),onToggleScheduled:v(e=>m.setIsScheduled(e))})]})]})})}var po=`top-0 left-0 h-[100dvh] w-full max-w-full translate-0 grid-rows-[1fr] gap-0 overflow-y-auto rounded-none border-0 p-0 shadow-none sm:rounded-none`;function mo(e){return e==null?`subscribers`:`${B(e)} ${e===1?`subscriber`:`subscribers`}`}function ho({post:e,...t}){return(0,$.jsx)(go,{post:e,...t},e.id)}function go({post:e,site:t,user:n,timezone:r,dispatch:i,onClose:a,onReverted:o}){let s=(0,Z.useRef)({post:e,site:t,user:n});s.current={post:e,site:t,user:n};let c=(0,Z.useMemo)(()=>{let e=s.current;return qa({post:{...e.post,isPage:e.post.displayName===`page`},site:e.site,user:e.user})},[e.id]),l=c.getState(),u=e.status===`scheduled`,d=e.status===`sent`,f=e.emailOnly===!0||d,p=u&&!!e.newsletter&&!e.email,m=e.displayName===`post`&&(e.status===`sent`||e.status===`published`)&&!!(e.email&&e.email.status!==`failed`),h=t.newsletters.find(t=>t.slug===e.newsletter),g=It(e.emailSegment),_=p&&h&&g?Ut(Zt(h),g):null,{count:v}=an(_,{requestOptions:Q}),y=_?v:null,[b,x]=(0,Z.useState)(null),[S,C]=(0,Z.useState)(!1),w=(0,Z.useRef)(!1),T=(0,Z.useRef)(!0),E=!l.onlyDefaultNewsletter||e.newsletterStatus===`archived`,D=()=>{T.current&&(T.current=!1,a())};(0,Z.useEffect)(()=>(T.current=!0,()=>{T.current=!1}),[]);let O=async()=>{if(w.current)return;w.current=!0,x(null),C(!0);let e;try{e=await i(c.toRevertDispatch())}catch(e){T.current&&(x($a(e)),C(!1)),w.current=!1;return}if(!T.current){w.current=!1;return}let t=eo(e);if(t){x(t),C(!1),w.current=!1;return}C(!1),w.current=!1,o?.(),T.current&&D()},k=e.publishedAt;return(0,$.jsx)(bt,{modal:!1,open:!0,onOpenChange:e=>!e&&D(),children:(0,$.jsxs)(sn,{className:po,"data-testid":si,onInteractOutside:e=>e.preventDefault(),children:[(0,$.jsx)(ft,{className:`sr-only`,children:u?`Unschedule`:`Unpublish`}),(0,$.jsxs)(U,{className:`mx-auto w-full max-w-2xl px-6 pb-16`,gap:`xl`,children:[(0,$.jsx)(H,{className:`py-4`,justify:`end`,children:d?null:(0,$.jsx)(K,{variant:`outline`,onClick:D,children:`Close`})}),(0,$.jsxs)(W,{as:`h2`,"data-testid":ci,size:`3xl`,weight:`bold`,children:[`This `,e.displayName,` `,d?`was`:`has been`,` `,(0,$.jsxs)(`span`,{className:`text-state-success`,children:[e.status,d?` by email`:``]})]}),(0,$.jsxs)(W,{"data-testid":li,children:[`Your `,e.displayName,` `,u?`will be`:`was`,` `,m||p?(0,$.jsxs)($.Fragment,{children:[f?`sent to`:`published and sent to`,` `,(0,$.jsx)(`strong`,{children:mo(u?y:e.email?.email_count??null)}),E&&e.newsletterName?(0,$.jsxs)($.Fragment,{children:[` `,`of `,(0,$.jsx)(`strong`,{children:e.newsletterName})]}):null]}):`published on your site`,k?(0,$.jsxs)($.Fragment,{children:[` on `,Ui(k,r),`.`]}):`.`]}),u&&e.email?(0,$.jsxs)(W,{"data-testid":ui,children:[`This post was previously emailed to`,` `,(0,$.jsx)(`strong`,{children:mo(e.email.email_count??null)}),E&&e.newsletterName?(0,$.jsxs)($.Fragment,{children:[` `,`of `,(0,$.jsx)(`strong`,{children:e.newsletterName})]}):null,e.emailCreatedAt?(0,$.jsxs)($.Fragment,{children:[` on `,Ui(e.emailCreatedAt,r),`.`]}):`.`]}):null,b?(0,$.jsx)(vt,{role:`alert`,variant:`destructive`,children:b.message}):null,u||!f?(0,$.jsx)(`div`,{children:(0,$.jsx)(K,{"data-testid":ti,disabled:S,size:`lg`,variant:`outline`,onClick:()=>void O(),children:u?`Unschedule and revert to draft →`:`Unpublish and revert to private draft →`})}):null]})]})})}function _o({snapshot:e,record:t,displayName:n,lexical:r}){let i=t&&`email`in t?t.email??null:null,a=t&&`newsletter`in t?t.newsletter:null;return{id:e.id??t?.id??``,displayName:n,status:e.status,title:e.title,excerpt:t?.custom_excerpt??null,url:t?.url??null,featureImage:t?.feature_image??null,publishedAt:e.publishedAt,visibility:t?.visibility??null,tiers:(t?.tiers??[]).flatMap(e=>e.slug?[{slug:e.slug}]:[]),newsletter:a?.slug??null,newsletterName:a?.name??null,newsletterStatus:a?.status??null,emailSegment:t&&`email_segment`in t?t.email_segment??null:null,emailOnly:t&&`email_only`in t?t.email_only===!0:!1,email:i,emailCreatedAt:i?.created_at??null,lexical:r??t?.lexical??null}}var vo=rt([Y(),it(),ct(),at(),ot(Y())]),yo=J({key:Y(),value:vo}),bo=st([`disabled`,`visibility`,`filter`]),xo=J({slug:Y(),name:Y(),status:Y(),visibility:Y(),sort_order:ct().optional()}).transform(({sort_order:e,...t})=>({...t,sortOrder:e})),So=nt({settingsData:J({settings:ot(yo)}),configData:J({config:J({mailgunIsConfigured:it().optional()})}),newslettersData:J({newsletters:ot(xo)}),currentUser:J({roles:ot(J({name:Y()}))}),memberCount:ct().int().nonnegative().nullable()}),Co={membersEnabled:!0,mailgunConfigured:!1,editorDefaultEmailRecipients:`visibility`,editorDefaultEmailRecipientsFilter:null,memberCount:null,newsletters:[]},wo={isAdmin:!1,isAuthorOrContributor:!1};function To(e,t){let n=e.find(e=>e.key===t)?.value;return typeof n==`string`?n:null}function Eo(e){let t=So.safeParse(e);if(!t.success)return{site:Co,user:wo,timezone:`Etc/UTC`,isValid:!1};let{settingsData:n,configData:r,newslettersData:i,currentUser:a,memberCount:o}=t.data,s=n.settings,c=s.find(e=>e.key===`editor_default_email_recipients`)?.value,l=c==null?bo.safeParse(`visibility`):bo.safeParse(c);if(!l.success)return{site:Co,user:wo,timezone:`Etc/UTC`,isValid:!1};let u=new Set(a.roles.map(e=>e.name)),d=!!(To(s,`mailgun_api_key`)&&To(s,`mailgun_domain`)&&To(s,`mailgun_base_url`));return{site:{membersEnabled:To(s,`members_signup_access`)!==`none`,mailgunConfigured:d||r.config.mailgunIsConfigured===!0,editorDefaultEmailRecipients:l.data,editorDefaultEmailRecipientsFilter:To(s,`editor_default_email_recipients_filter`),memberCount:o,newsletters:i.newsletters},user:{isAdmin:u.has(`Owner`)||u.has(`Administrator`),isAuthorOrContributor:u.has(`Author`)||u.has(`Contributor`)},timezone:To(s,`timezone`)??`Etc/UTC`,isValid:!0}}function Do(e){return e?e instanceof Error?e:Error(`The publish settings could not be loaded.`):null}function Oo(){let e=yt({defaultErrorHandler:!1,requestOptions:Q}),t=te({defaultErrorHandler:!1,requestOptions:Q}),n=lt({defaultErrorHandler:!1,requestOptions:Q,searchParams:{limit:`all`}}),{fetchNextPage:r,hasNextPage:i,isError:a,isFetchingNextPage:o}=n;(0,Z.useEffect)(()=>{i&&!o&&!a&&r()},[r,i,o,a]);let s=y({requestOptions:Q}),{count:c,isLoading:l,isFetching:u,error:d,refetch:f}=an(``,{requestOptions:Q}),p=e.data,m=t.data,h=n.data,g=s.data,_=(0,Z.useMemo)(()=>Eo({settingsData:p,configData:m,newslettersData:h,currentUser:g,memberCount:c}),[p,m,h,g,c]),v=e.isLoading||e.isFetching||t.isLoading||t.isFetching||n.isLoading||n.isFetching||n.hasNextPage||n.isFetchingNextPage||s.isLoading||s.isFetching||l||u,b=(0,Z.useMemo)(()=>{let r=e.error??t.error??n.error??s.error??d;return r?Do(r):!v&&!_.isValid?Error(`The publish settings response was invalid.`):null},[_.isValid,t.error,s.error,v,d,n.error,e.error]),x=(0,Z.useCallback)(()=>{Promise.all([e.refetch(),t.refetch(),n.refetch(),s.refetch(),f()])},[t,s,n,f,e]);return{site:_.site,user:_.user,timezone:_.timezone,isReady:_.isValid&&!v&&!b,error:b,retry:x}}function ko(e,t=!0){let n=(0,Z.useRef)(e),r=(0,Z.useRef)(t);n.current=e,r.current=t,(0,Z.useEffect)(()=>{let e=e=>{let t=e.metaKey||e.ctrlKey;!r.current||e.key.toLowerCase()!==`p`||!t||e.altKey||e.shiftKey||(e.preventDefault(),!e.repeat&&n.current())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[])}function Ao(e,t=!0){let n=(0,Z.useRef)(e),r=(0,Z.useRef)(t);n.current=e,r.current=t,(0,Z.useEffect)(()=>{let e=e=>{let t=e.metaKey||e.ctrlKey;!r.current||e.key.toLowerCase()!==`p`||!t||e.altKey||!e.shiftKey||(e.preventDefault(),!e.repeat&&n.current())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[])}async function jo(e){let t=await e;if(t.kind===`dropped`&&t.reason===`clean`)return;let n=eo(t);if(n)throw Error(n.message)}function Mo({session:e,postType:t,currentUser:n,siteUrl:r,tkCount:i}){let a=e.getSaveSnapshot(),o=e.loadedRecord,[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(`none`),d=(0,Z.useCallback)(()=>c(!0),[]),f=(0,Z.useCallback)(()=>c(!1),[]),p=_o({snapshot:a,record:o,displayName:t,lexical:e.getLiveLexical()}),m=p.status===`draft`;ko((0,Z.useCallback)(()=>c(e=>!e),[]),m&&a.id!==null);let h=(0,Z.useCallback)(async()=>{e.getSaveSnapshot().status!==`draft`||!e.isDirty()||await jo(e.saveExplicit())},[e]),g=e.state.kind===`saving`||e.state.kind===`pending-coalesced`,_=!!n&&Ze(n);return a.id?(0,$.jsxs)(H,{"data-testid":Bn,gap:`sm`,children:[m?(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:d,children:`Preview`}):null,_?(0,$.jsx)(K,{disabled:g,size:`sm`,onClick:e.dispatchExplicit,children:`Save`}):(0,$.jsx)(No,{isDraft:m,isSaving:g,openFlow:l,post:p,previewOpen:s,session:e,tkCount:i,onOpenFlow:u,onPreview:d}),m?(0,$.jsx)(ki,{isPost:t===`post`,newsletterSlug:p.newsletter??void 0,open:s,postId:a.id,previewUrl:hi(r,o?.uuid),onBeforeOpen:h,onOpenChange:c,onReturnToPublish:l===`publish`?f:void 0}):null]}):null}function No({session:e,post:t,tkCount:n,isDraft:r,isSaving:i,openFlow:a,previewOpen:o,onOpenFlow:s,onPreview:c}){let l=Oo(),{data:u}=yt({defaultErrorHandler:!1,requestOptions:Q}),d=X(u?.settings??null,`title`)??void 0,f=$t(`paywallImprovements`,{defaultErrorHandler:!1,requestOptions:Q}),[p,m]=(0,Z.useState)(!1);l.isReady&&!p&&m(!0);let h=(0,Z.useCallback)(async()=>{e.isDirty()&&await jo(e.saveExplicit())},[e]),g=(0,Z.useCallback)(()=>{s(`none`),e.dispatchPublish({kind:`revert`})},[s,e]),_=(0,Z.useCallback)(()=>s(`none`),[s]),v=(0,Z.useCallback)(()=>s(`publish`),[s]);return Ao(v,r&&l.isReady&&!o),(0,$.jsxs)($.Fragment,{children:[r?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{disabled:!l.isReady,size:`sm`,onClick:v,children:`Publish`}),l.error?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(W,{className:`text-destructive`,"data-testid":Vn,role:`alert`,size:`sm`,children:l.error.message}),(0,$.jsx)(K,{size:`sm`,variant:`ghost`,onClick:l.retry,children:`Retry`})]}):null]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{disabled:!e.isDirty()||i,size:`sm`,onClick:e.dispatchExplicit,children:`Update`}),t.status===`sent`?null:(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:()=>s(`update`),children:t.status===`scheduled`?`Unschedule`:`Unpublish`})]}),a===`publish`&&p?(0,$.jsx)(lo,{dispatch:e.dispatchPublish,paywallImprovements:f,post:t,site:l.site,siteTitle:d,timezone:l.timezone,tkCount:n,user:l.user,onBeforePublish:h,onClose:_,onPreview:c,onRevertToDraft:g}):null,a===`update`&&p?(0,$.jsx)(ho,{dispatch:e.dispatchPublish,post:t,site:l.site,timezone:l.timezone,user:l.user,onClose:_}):null]})}var Po=3e3;function Fo(e){return e===`submitting`||e===`pending`?`sending`:e===`submitted`?`sent`:e===`failed`?`failed`:`none`}function Io(e){if(!e.newsletter||e.hasEmail||e.emailSegment===`none`)return null;let t=It(e.emailSegment),n=t??(e.newsletter.visibility===`paid`?`status:-free`:Bt);return{filter:Ut(Zt(e.newsletter),t),segment:n}}function Lo(e,t){if(e.status!==`scheduled`||!e.publishedAt)return!1;let n=Date.parse(e.publishedAt);return!Number.isNaN(n)&&n<=t.getTime()}function Ro({state:e,record:t,isDirty:n,isSaving:r,now:i=new Date}){if(e.kind===`error`)return{kind:`problem`,message:e.error.message};let a=t?.status??`draft`;if(r&&a===`draft`)return{kind:`saving`};if(!t)return{kind:`new`};let o=t.emailCount??0,s=a===`scheduled`?Io(t):null;return a===`sent`?{kind:`sent`,failed:t.emailStatus===`failed`,count:o}:t.emailOnly&&a===`scheduled`?{kind:`scheduled`,publishedAt:t.publishedAt??null,emailOnly:!0,recipientFilter:s?.filter??null,recipientSegment:s?.segment??null}:a===`published`||Lo(t,i)?{kind:`published`,url:t.url,email:Fo(t.emailStatus),count:o}:a===`scheduled`?{kind:`scheduled`,publishedAt:t.publishedAt??null,emailOnly:!1,recipientFilter:s?.filter??null,recipientSegment:s?.segment??null}:{kind:`draft`,saved:!n}}var zo=2147483647;function Bo(e,t){let[n,r]=(0,Z.useState)(0);(0,Z.useEffect)(()=>{if(!t||!e)return;let n=Date.parse(e)-Date.now();if(!Number.isFinite(n)||n<=0)return;let i=setTimeout(()=>r(e=>e+1),Math.min(n,zo));return()=>clearTimeout(i)},[t,n,e])}function Vo(e,t=Po){let[n,r]=(0,Z.useState)(!1),i=(0,Z.useRef)(void 0);return(0,Z.useEffect)(()=>{!e||i.current||(r(!0),i.current=setTimeout(()=>{i.current=void 0,r(!1)},t))},[e,n,t]),(0,Z.useEffect)(()=>()=>clearTimeout(i.current),[]),n}function Ho(e){return`${B(e)} ${e===1?`member`:`members`}`}function Uo({filter:e,segment:t}){let{count:n}=an(e,{requestOptions:Q});return(0,$.jsx)($.Fragment,{children:typeof n==`number`?Ho(n):xt(t,{count:n})})}function Wo({publishedAt:e,emailOnly:t,recipientFilter:n,recipientSegment:r,timezone:i}){return(0,$.jsxs)(`time`,{className:`text-state-success`,"data-testid":`editor-schedule-countdown`,dateTime:e??void 0,children:[t?`to be sent`:`to be published`,n&&r&&(0,$.jsxs)($.Fragment,{children:[t?` to `:` and sent to `,(0,$.jsx)(Uo,{filter:n,segment:r})]}),` `,Nn(e,{timezone:i,scheduled:!0})]})}function Go({view:e,timezone:t,isHovered:n}){switch(e.kind){case`problem`:return(0,$.jsx)(W,{className:`text-state-danger`,children:e.message});case`saving`:return(0,$.jsx)(W,{tone:`secondary`,children:`Saving…`});case`new`:return(0,$.jsx)(W,{tone:`secondary`,children:`New`});case`draft`:return(0,$.jsx)(W,{tone:`secondary`,children:e.saved?`Draft - Saved`:`Draft`});case`sent`:return e.failed?(0,$.jsx)(W,{tone:`secondary`,children:`Failed to send newsletter.`}):(0,$.jsxs)(W,{tone:`secondary`,children:[`Sent to `,Ho(e.count)]});case`scheduled`:return(0,$.jsxs)(W,{tone:`secondary`,children:[`Scheduled`,n&&(0,$.jsxs)($.Fragment,{children:[` `,(0,$.jsx)(Wo,{emailOnly:e.emailOnly,publishedAt:e.publishedAt,recipientFilter:e.recipientFilter,recipientSegment:e.recipientSegment,timezone:t})]})]});default:return(0,$.jsxs)(W,{tone:`secondary`,children:[e.url?(0,$.jsx)(`a`,{className:`hover:text-foreground`,href:e.url,rel:`noopener noreferrer`,target:`_blank`,children:`Published`}):`Published`,e.email===`sending`&&` and sending to ${Ho(e.count)}`,e.email===`sent`&&` and sent to ${Ho(e.count)}`,e.email===`failed`&&` but failed to send newsletter.`]})}}function Ko({state:e,record:t,isDirty:n}){let{data:r}=yt({defaultErrorHandler:!1,requestOptions:Q}),i=X(r?.settings??null,`timezone`)??`Etc/UTC`,a=Vo(e.kind===`saving`||e.kind===`pending-coalesced`),[o,s]=(0,Z.useState)(!1),[,c]=(0,Z.useState)(0);return Bo(t?.publishedAt,t?.status===`scheduled`&&t.emailOnly!==!0),(0,Z.useEffect)(()=>{if(!o)return;let e=setInterval(()=>c(e=>e+1),1e3);return()=>clearInterval(e)},[o]),(0,$.jsx)(H,{align:`center`,className:`text-sm`,"data-testid":`editor-status`,gap:`xs`,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:(0,$.jsx)(Go,{isHovered:o,timezone:i,view:Ro({state:e,record:t,isDirty:n,isSaving:a})})})}var qo=e(n(),1);function Jo(e){console.error(e),i(e,{tags:{lexical:!0},contexts:{koenig:{version:window[`@tryghost/koenig-lexical`]?.version}}})}function Yo({editor:e,html:t,placeholder:n,darkMode:r,searchLinks:i,onChangeHtml:a,onFocus:o,onBlur:s,onTkCountChange:c,registerAPI:l}){let{KoenigComposer:u,KoenigComposableEditor:d,HtmlOutputPlugin:f,EmojiPickerPlugin:p,TKCountPlugin:m,MINIMAL_NODES:h,MINIMAL_TRANSFORMERS:g}=e.read();return(0,$.jsx)(u,{cardConfig:{searchLinks:i},isTKEnabled:!0,nodes:h,onError:Jo,children:(0,$.jsxs)(d,{className:`koenig-lexical-editor-input`,darkMode:r,isSnippetsEnabled:!1,markdownTransformers:g,placeholderClassName:`koenig-lexical-editor-input-placeholder`,placeholderText:n,registerAPI:l,singleParagraph:!0,onBlur:s,onFocus:o,children:[(0,$.jsx)(f,{html:t??void 0,setHtml:a}),(0,$.jsx)(p,{}),(0,$.jsx)(m,{onChange:c})]})})}function Xo(e){let t=(0,Z.useMemo)(()=>Rn(),[]);return(0,$.jsx)(`div`,{className:`koenig-react-editor koenig-lexical flex-1`,children:(0,$.jsx)(Ln,{name:`the feature image caption`,children:(0,$.jsx)(Z.Suspense,{fallback:null,children:(0,$.jsx)(Yo,{...e,editor:t})})})})}var Zo={"image/gif":[`.gif`],"image/jpeg":[`.jpg`,`.jpeg`],"image/png":[`.png`],"image/svg+xml":[`.svg`,`.svgz`],"image/webp":[`.webp`]},Qo=`The image type you uploaded is not supported. Please use .GIF, .JPG, .JPEG, .PNG, .SVG, .SVGZ, .WEBP`,$o=191;function es(e){return e instanceof C?Qo:e instanceof T?`The image you uploaded was larger than the maximum file size your server allows.`:e instanceof d&&e.data?.errors[0]?.message?e.data.errors[0].message:`Couldn’t upload the feature image.`}function ts({image:e,alt:t,caption:n,cardConfig:r,darkMode:i,onImageChange:o,onImageClear:s,onAltChange:c,onCaptionChange:l,onCaptionBlur:u,onTkCountChange:d}){let{mutateAsync:f,isPending:p}=fn(),{unsplashConfig:m}=a(),[h,g]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(0),C=(0,Z.useRef)(null),w=(0,Z.useCallback)(async e=>{try{o(gn(await f({file:e})))}catch(e){E.error(es(e))}},[f,o]),T=(0,Z.useCallback)(e=>{S(e),d(e)},[d]),D=(0,Z.useCallback)(e=>{C.current=e},[]),O=(0,Z.useCallback)(()=>{C.current?.focusEditor({position:`bottom`})},[]),k=(0,Z.useCallback)(()=>b(!0),[]),A=(0,Z.useCallback)(()=>{b(!1),u()},[u]);return e?(0,$.jsxs)(U,{className:`mb-4`,"data-testid":`editor-feature-image`,gap:`sm`,children:[(0,$.jsx)(mn,{className:`max-h-[480px]`,children:(0,$.jsxs)(un,{children:[(0,$.jsx)(hn,{alt:t??``,role:t?`img`:`presentation`,src:e}),(0,$.jsx)(ln,{children:(0,$.jsx)(dn,{"aria-label":`Remove feature image`,onClick:()=>{v(!1),T(0),s()},children:(0,$.jsx)(ce,{})})})]})}),(0,$.jsxs)(H,{align:`center`,className:`relative`,gap:`sm`,children:[_?(0,$.jsx)(`input`,{"aria-label":`Alt text for feature image`,className:`flex-1 border-0 bg-transparent p-0 text-sm text-text-secondary outline-none placeholder:text-muted-foreground`,maxLength:$o,name:`alt`,placeholder:`Add alt text to the feature image`,type:`text`,value:t??``,autoFocus:!0,onChange:e=>c(e.target.value)}):(0,$.jsx)(`div`,{className:`flex-1 text-sm`,"data-testid":`editor-feature-image-caption`,children:(0,$.jsx)(Xo,{darkMode:i,html:n,placeholder:y?``:`Add a caption to the feature image`,registerAPI:D,searchLinks:r.searchLinks,onBlur:A,onChangeHtml:l,onFocus:k,onTkCountChange:T})}),x>0&&!_&&(0,$.jsx)(`button`,{className:`rounded-sm bg-state-warning px-1.5 py-0.5 text-2xs font-bold text-foreground`,"data-testid":`feature-image-tk-indicator`,type:`button`,onClick:O,children:`TK`}),(0,$.jsx)(`button`,{"aria-label":`Toggle between editing alt text and caption`,className:z(`rounded-md border px-1.5 py-0.5 text-2xs font-medium tracking-wide`,_?`border-state-success bg-state-success text-state-success-foreground`:`border-border-default bg-transparent text-text-tertiary`),type:`button`,onClick:()=>v(!_),children:`Alt`})]})]}):(0,$.jsxs)(mn,{className:`mb-4 h-14`,"data-testid":`editor-feature-image`,children:[(0,$.jsx)(pn,{accept:Zo,className:`group/dropzone border-transparent bg-transparent transition-colors hover:bg-interactive-hover`,disabled:p,inputAriaLabel:`Add feature image`,noDragEventsBubbling:!0,onDropAccepted:e=>e[0]&&void w(e[0]),onDropRejected:()=>E.error(Qo),children:p?(0,$.jsx)(Vt,{size:`sm`}):(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(ve,{"aria-hidden":`true`,className:`size-4 text-muted-foreground transition-colors group-hover/dropzone:text-foreground`}),(0,$.jsx)(`span`,{className:`text-sm text-muted-foreground transition-colors group-hover/dropzone:text-foreground`,children:`Add feature image`})]})}),r.unsplash&&(0,$.jsx)(ln,{className:`top-1/2 right-2 -translate-y-1/2 opacity-100`,children:(0,$.jsx)(K,{"aria-label":`Select feature image from Unsplash`,className:`group/unsplash hover:bg-button-hover`,disabled:p,size:`icon`,type:`button`,variant:`ghost`,onClick:()=>g(!0),children:(0,$.jsx)(In,{className:`size-4 text-muted-foreground transition-colors group-hover/unsplash:text-foreground`,name:`unsplash`})})}),h&&(0,qo.createPortal)((0,$.jsx)(Fn,{unsplashProviderConfig:m,onClose:()=>g(!1),onImageInsert:e=>{e.src&&(o(e.src),l(e.caption??``)),g(!1)}}),document.body)]})}var ns={useFileUpload:D,fileTypes:k},rs=()=>{};function is({editor:e,isSecondary:t,onError:n,initialLexical:r,placeholder:i,cardConfig:a,darkMode:o,cursorDidExitAtTop:s,onChange:c,onSecondaryChange:l,registerAPI:u,registerSecondaryAPI:d,onWordCountChange:f,onTkCountChange:p}){let{KoenigComposer:m,KoenigEditor:h,WordCountPlugin:g,TKCountPlugin:_}=e.read();return(0,$.jsx)(`div`,{"data-secondary-instance":t?`true`:`false`,"data-testid":t?`editor-secondary-instance`:`editor-body`,hidden:t,children:(0,$.jsxs)(m,{cardConfig:a,darkMode:o,fileUploader:ns,initialEditorState:r??void 0,isTKEnabled:!0,onError:n,children:[(0,$.jsx)(h,{cursorDidExitAtTop:t?void 0:s,darkMode:t?void 0:o,placeholderText:t?void 0:i,registerAPI:t?d:u,onChange:t?l:c}),(0,$.jsx)(g,{onChange:t?rs:f}),(0,$.jsx)(_,{onChange:t?rs:p})]})})}function as(e){let t=(0,Z.useMemo)(()=>Rn(),[]),{onSecondaryError:n}=e,r=(0,Z.useCallback)(e=>{Jo(e),n?.(e)},[n]);return(0,$.jsx)(`div`,{className:`koenig-react-editor koenig-lexical mx-auto w-full max-w-[740px]`,children:(0,$.jsx)(Ln,{name:`the editor`,children:(0,$.jsxs)(Z.Suspense,{fallback:(0,$.jsx)(`div`,{className:`flex justify-center py-10`,children:(0,$.jsx)(Vt,{size:`lg`})}),children:[(0,$.jsx)(is,{...e,editor:t,isSecondary:!1,onError:Jo}),(0,$.jsx)(is,{...e,editor:t,isSecondary:!0,onError:r})]})})})}var os=/(^|.)([^\p{L}\p{N}\s]*(TK)+[^\p{L}\p{N}\s]*)(.)?/u,ss=/\p{L}|\p{N}/u;function cs(e){return!(e[1]&&e[1].trim()&&ss.test(e[1])||e[4]&&e[4].trim()&&ss.test(e[4]))}function ls(e){let t=e,n=os.exec(t);for(;n!==null&&!cs(n);)t=t.slice(n.index+n[0].length-1),n=os.exec(t);return n!==null}var us=e=>e.charAt(0).toUpperCase()+e.slice(1),ds=`block w-full resize-none overflow-hidden border-0 bg-transparent p-0 outline-none`;function fs(e,t){let n=(0,Z.useCallback)(()=>{let t=e.current;t&&(t.style.height=`auto`,t.style.height=`${t.scrollHeight}px`)},[e]);(0,Z.useLayoutEffect)(n,[n,t]),(0,Z.useEffect)(()=>{let t=e.current;if(!t)return;let r=0,i=new ResizeObserver(()=>{cancelAnimationFrame(r),r=requestAnimationFrame(n)});return i.observe(t),()=>{cancelAnimationFrame(r),i.disconnect()}},[e,n])}function ps({onClick:e,testId:t}){return(0,$.jsx)(`button`,{className:`absolute top-1 -left-12 rounded-sm bg-state-warning px-1.5 py-0.5 text-2xs font-bold text-foreground`,"data-testid":t,type:`button`,onClick:e,children:`TK`})}function ms({postType:e,title:t,excerpt:n,featureImage:r,initialLexical:i,cardConfig:a,showExcerpt:o,autofocusTitle:s=!1,onTitleChange:c,onTitleBlur:l,onExcerptChange:u,onExcerptBlur:d,onLexicalChange:f,onSecondaryChange:p,onSecondaryError:m,registerEditorApi:h,registerSecondaryApi:g,onTkCountChange:_}){let{darkMode:v}=ie(),y=(0,Z.useRef)(null),b=(0,Z.useRef)(null),x=(0,Z.useRef)(null),S=(0,Z.useRef)(!1),[C,w]=(0,Z.useState)(0),[T,E]=(0,Z.useState)(0),[D,O]=(0,Z.useState)(0);fs(y,t),fs(b,n);let k=ls(t),j=o&&ls(n);(0,Z.useEffect)(()=>{_?.(+!!k+ +!!j+T+D)},[_,k,j,T,D]);let ee=(0,Z.useCallback)(()=>{y.current?.focus()},[]),M=(0,Z.useCallback)(()=>{b.current?.focus(),setTimeout(()=>b.current?.setSelectionRange(-1,-1),0)},[]),N=(0,Z.useCallback)(e=>{x.current=e,h?.(e)},[h]),P=(0,Z.useCallback)(e=>{g?.(e)},[g]),F=e=>{let t=x.current;t&&(e===`Enter`&&!t.editorIsEmpty()?t.insertParagraphAtTop({focus:!0}):t.focusEditor({position:`top`}))};return(0,$.jsxs)(`div`,{className:`relative h-full min-h-0`,"data-testid":`post-editor`,children:[(0,$.jsx)(`div`,{className:`h-full overflow-y-auto`,children:(0,$.jsxs)(U,{className:`min-h-full px-6 pt-12 pb-24`,gap:`none`,onDragOver:e=>e.preventDefault(),onDrop:e=>{e.dataTransfer.files.length>0&&(e.preventDefault(),x.current?.insertFiles(Array.from(e.dataTransfer.files)))},onMouseDown:e=>{S.current=e.nativeEvent.composedPath().some(e=>e instanceof Element&&e.matches(`[data-lexical-decorator], [data-kg-slash-menu]`))},onMouseUp:e=>{!S.current&&e.target===e.currentTarget&&x.current&&A(x.current,e),S.current=!1},children:[(0,$.jsxs)(`div`,{className:`relative mx-auto w-full max-w-[740px]`,children:[(0,$.jsx)(ts,{alt:r.featureImageAlt,caption:r.featureImageCaption,cardConfig:a,darkMode:v,image:r.featureImage,onAltChange:r.onFeatureImageAltChange,onCaptionBlur:r.onFeatureImageCaptionBlur,onCaptionChange:r.onFeatureImageCaptionChange,onImageChange:r.onFeatureImageChange,onImageClear:r.onFeatureImageClear,onTkCountChange:O}),k&&(0,$.jsx)(ps,{testId:`tk-indicator`,onClick:ee}),(0,$.jsx)(`textarea`,{ref:y,"aria-label":`${us(e)} title`,autoFocus:s,className:z(ds,`heading-font-features mb-4 text-4xl leading-tight font-bold tracking-tight text-foreground placeholder:font-bold placeholder:text-muted-foreground`),"data-testid":`editor-title-input`,placeholder:`${us(e)} title`,rows:1,value:t,onBlur:l,onChange:e=>c(e.target.value),onKeyDown:e=>{let{key:t}=e,{value:n,selectionStart:r}=e.currentTarget,i=!n||r===n.length;if(o){t===`Enter`&&(e.preventDefault(),M()),(t===`ArrowDown`||t===`ArrowRight`)&&!e.shiftKey&&i&&(e.preventDefault(),M());return}!x.current||e.nativeEvent.isComposing||(t===`Enter`||t===`Tab`||(t===`ArrowDown`||t===`ArrowRight`)&&i)&&(e.preventDefault(),F(t))},onPaste:e=>{let t=e.clipboardData.getData(`text`);t&&(e.preventDefault(),document.execCommand(`insertText`,!1,t.replace(/(\n|\r)+/g,` `).trim()))}}),o&&(0,$.jsxs)(`div`,{className:`relative`,children:[j&&(0,$.jsx)(ps,{testId:`tk-indicator-excerpt`,onClick:M}),(0,$.jsx)(`textarea`,{ref:b,"aria-label":`Excerpt`,className:z(ds,`text-xl leading-normal tracking-tight text-text-secondary placeholder:text-muted-foreground`),"data-testid":`editor-excerpt-input`,placeholder:`Add an excerpt`,rows:1,value:n,onBlur:d,onChange:e=>u(e.target.value),onKeyDown:e=>{let{key:t}=e,{value:n,selectionStart:r}=e.currentTarget;if((t===`ArrowUp`||t===`ArrowLeft`)&&!e.shiftKey&&(!n||r===0)){e.preventDefault(),ee();return}let i=!n||r===n.length,a=(t===`ArrowRight`||t===`ArrowDown`)&&i;(t===`Enter`||t===`Tab`&&!e.shiftKey||a)&&(e.preventDefault(),F(t))}}),(0,$.jsx)(`hr`,{className:`mt-4 mb-6 border-border`})]})]}),(0,$.jsx)(as,{cardConfig:a,cursorDidExitAtTop:o?M:ee,darkMode:v,initialLexical:i,placeholder:`Begin writing your ${e}...`,registerAPI:N,registerSecondaryAPI:P,onChange:f,onSecondaryChange:p,onSecondaryError:m,onTkCountChange:E,onWordCountChange:w})]})}),(0,$.jsxs)(H,{className:`absolute right-0 bottom-0 px-4 py-3`,gap:`sm`,children:[(0,$.jsxs)(W,{"data-testid":`editor-word-count`,size:`xs`,tone:`secondary`,children:[B(C),` `,C===1?`word`:`words`]}),(0,$.jsx)(`a`,{"aria-label":`Editor help`,className:`text-text-secondary hover:text-foreground`,href:`https://ghost.org/help/using-the-editor/`,rel:`noopener noreferrer`,target:`_blank`,children:(0,$.jsx)(fe,{className:`size-4`})})]})]})}var hs=`Your session expired. Sign in again in a new tab, then retry.`,gs=`Someone else is editing this post. Reloading replaces what you have with their version, so copy your content first if you need it.`,_s=`This post has been deleted. Copy your content and paste it into a new post to keep it.`;function vs(e){switch(e.kind){case`session-invalid`:return hs;case`transport`:return`Couldn’t reach the server. Your changes are still here.`;default:return e.message}}function ys({hasUnsavedContent:e,contentText:t,onReload:n,deleted:r=!1}){let[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1),u=r||c,d=async()=>{a(!1),s(!0);let e=await n();s(!1),e===`gone`&&l(!0),e===`failed`&&E.error(`Couldn’t reload this post`)},f=async()=>{try{await navigator.clipboard.writeText(t()),E.success(`Content copied`)}catch{E.error(`Couldn’t copy your content`)}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vt,{className:`mx-4 mb-2 shrink-0 bg-destructive text-destructive-foreground`,"data-testid":`editor-conflict-banner`,role:`alert`,size:`sm`,variant:`destructive`,children:(0,$.jsxs)(H,{align:`center`,gap:`sm`,justify:`center`,wrap:!0,children:[(0,$.jsx)(W,{className:`text-center text-inherit`,children:u?_s:gs}),(0,$.jsxs)(H,{align:`center`,gap:`sm`,justify:`center`,children:[!u&&(0,$.jsx)(K,{className:`border-destructive-foreground/40 text-destructive-foreground hover:bg-destructive-foreground/10 hover:text-destructive-foreground`,disabled:o,size:`sm`,variant:`outline`,onClick:()=>e()?a(!0):void d(),children:`Reload`}),(0,$.jsx)(K,{className:`text-destructive-foreground hover:bg-destructive-foreground/10 hover:text-destructive-foreground`,size:`sm`,variant:`ghost`,onClick:()=>void f(),children:`Copy content`})]})]})}),(0,$.jsx)(Pt,{open:i,onOpenChange:a,children:(0,$.jsxs)(Qt,{className:`z-[1100]`,"data-testid":`editor-conflict-reload-confirm`,overlayClassName:`z-[1100]`,children:[(0,$.jsxs)(tn,{children:[(0,$.jsx)(Ot,{children:`Discard your unsaved changes?`}),(0,$.jsx)(Dt,{children:`Reloading replaces this post with the version on the server. Anything you have not saved is lost.`})]}),(0,$.jsxs)(Lt,{children:[(0,$.jsx)(Wt,{asChild:!0,children:(0,$.jsx)(K,{variant:`outline`,children:`Cancel`})}),(0,$.jsx)(Ct,{asChild:!0,children:(0,$.jsx)(K,{variant:`destructive`,onClick:()=>void d(),children:`Discard and reload`})})]})]})})]})}function bs({state:e,hasUnsavedContent:t,contentText:n,onRetryReauth:r,onDismissReauth:i,onRetrySave:a,onReload:o}){return e.kind===`reauth-pending`?(0,$.jsx)(vt,{className:`mx-4 mb-2 shrink-0`,"data-testid":`editor-reauth-banner`,role:`alert`,size:`sm`,variant:`warning`,children:(0,$.jsxs)(H,{align:`center`,gap:`sm`,children:[(0,$.jsx)(W,{children:hs}),(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:r,children:`Retry`}),(0,$.jsx)(K,{size:`sm`,variant:`ghost`,onClick:i,children:`Dismiss`})]})}):e.kind===`conflict`||e.kind===`halted`?(0,$.jsx)(ys,{contentText:n,deleted:e.kind===`halted`,hasUnsavedContent:t,onReload:o}):e.kind===`error`?(0,$.jsx)(vt,{className:`mx-4 mb-2 shrink-0`,"data-testid":`editor-save-error-banner`,role:`alert`,size:`sm`,variant:`destructive`,children:(0,$.jsxs)(H,{align:`center`,gap:`sm`,children:[(0,$.jsx)(W,{children:vs(e.error)}),(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:a,children:`Retry`})]})}):null}var xs=[`tags`,`authors`,`custom_excerpt`,`featured`,`visibility`,`tiers`,`meta_title`,`meta_description`,`canonical_url`,`custom_template`,`codeinjection_head`,`codeinjection_foot`,`og_image`,`og_title`,`og_description`,`twitter_image`,`twitter_title`,`twitter_description`,`show_title_and_feature_image`],Ss=`Please select at least one tier`,Cs=`At least one author is required.`;function ws(e,t){return e===`authors`?t.map(({id:e})=>({id:e})):e===`tags`?kn(t):t}var Ts=`Meta Title cannot be longer than 300 characters.`,Es=`Meta Description cannot be longer than 500 characters.`;function Ds(e){return e.visibility===`tiers`&&e.tiers.length===0}var Os=`Please choose a past date and time.`;function ks(e,t,n=Date.now()){if(t===null||e!==`draft`&&e!==`published`)return!1;let r=Date.parse(t);return!Number.isNaN(r)&&r>=n}function As(e,t){return Array.from(e??``).length>t}function js(e){return Ds(e)?Ss:As(e.meta_title,300)?Ts:As(e.meta_description,500)?Es:null}function Ms({children:e}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{className:`px-5 py-4`,gap:`sm`,children:e}),(0,$.jsx)(qt,{})]})}var Ns=[{value:`public`,label:`Public`},{value:`members`,label:`Members only`},{value:`paid`,label:`Paid-members only`},{value:`tiers`,label:`Specific tier(s)`}];function Ps(e,t){return e||t||`public`}function Fs(e){let t=(e??[]).filter(e=>e.type===`paid`),n=vn(t),r=t.filter(e=>!e.active);return[...n,...r].map(e=>({id:e.id,name:e.name,archived:!e.active}))}function Is(e){return e.filter(e=>e.type!==`free`).map(e=>e.id).filter(e=>!!e)}function Ls(e){return Is(e).map(e=>({id:e}))}function Rs(e,t){let n=new Set(e.map(e=>e.id)),r=e.filter(e=>t.has(e.id)).map(e=>e.id),i=[...t].filter(e=>!n.has(e));return[...r,...i].map(e=>({id:e}))}function zs({option:e,checked:t,onToggle:n}){let r=(0,Z.useId)();return(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(Be,{checked:t,id:r,onCheckedChange:n}),(0,$.jsx)(q,{htmlFor:r,children:e.name})]})}function Bs({heading:e,options:t,selected:n,onToggle:r}){return t.length===0?null:(0,$.jsxs)(U,{gap:`sm`,children:[(0,$.jsx)(W,{size:`sm`,tone:`secondary`,weight:`medium`,children:e}),t.map(e=>(0,$.jsx)(zs,{checked:n.has(e.id),option:e,onToggle:()=>r(e.id)},e.id))]})}function Vs({session:e,postType:t}){let n=(0,Z.useId)(),{data:r}=yt({defaultErrorHandler:!1,requestOptions:Q}),i=X(r?.settings??null,`default_content_visibility`),a=Ps(e.settings.visibility,i),o=new Set(Is(e.settings.tiers)),{data:s}=_n({defaultErrorHandler:!1,enabled:a===`tiers`,requestOptions:Q,searchParams:{filter:`type:paid`,limit:`all`}}),c=Fs(s?.tiers),l=t=>e.editSettings({visibility:t,tiers:t===`tiers`?Ls(e.settings.tiers):[]}),u=t=>{let n=new Set(o);n.delete(t)||n.add(t),e.editSettings({visibility:`tiers`,tiers:Rs(c,n)})};return(0,$.jsxs)(Ms,{children:[(0,$.jsxs)(q,{htmlFor:n,children:[t===`page`?`Page`:`Post`,` access`]}),(0,$.jsxs)(ze,{value:a,onValueChange:l,children:[(0,$.jsx)(Ie,{"data-testid":Zn,id:n,children:(0,$.jsx)(Re,{})}),(0,$.jsx)(Fe,{children:Ns.map(e=>(0,$.jsx)(Pe,{value:e.value,children:e.label},e.value))})]}),a===`tiers`?(0,$.jsxs)(U,{"data-testid":Qn,gap:`md`,children:[(0,$.jsx)(Bs,{heading:`Active tiers`,options:c.filter(e=>!e.archived),selected:o,onToggle:u}),(0,$.jsx)(Bs,{heading:`Archived tiers`,options:c.filter(e=>e.archived),selected:o,onToggle:u}),Ds(e.settings)?(0,$.jsx)(W,{className:`text-destructive`,"data-testid":$n,size:`sm`,children:Ss}):null]}):null]})}var Hs=`Use the publish menu to re-schedule`;function Us({session:e}){let t=(0,Z.useId)(),n=(0,Z.useId)(),{data:r}=yt({defaultErrorHandler:!1,requestOptions:Q}),i=X(r?.settings??null,`timezone`)??`Etc/UTC`,{status:a,publishedAt:o}=e.publishTime,s=new Date().toISOString(),c=o??s,l=a===`scheduled`,u=l&&!!o&&Date.parse(o)<Date.now(),d=ks(a,o);return(0,$.jsxs)(Ms,{children:[(0,$.jsx)(q,{id:n,children:l&&!u?`Scheduled date`:`Publish date`}),(0,$.jsx)(ha,{dateLabel:`Publish date`,dateTestId:or,describedBy:d?t:void 0,disabled:l,invalid:d,labelledBy:n,maxDate:s,timeLabel:`Publish time`,timeTestId:sr,timezone:i,value:c,onChange:t=>e.editPublishedAt(t.toISOString())}),d?(0,$.jsx)(W,{className:`text-destructive`,"data-testid":cr,id:t,role:`alert`,size:`sm`,children:Os}):null,l&&!u?(0,$.jsx)(W,{"data-testid":lr,size:`sm`,tone:`secondary`,children:Hs}):null]})}function Ws({inputId:e,describedBy:t,invalid:n,selected:r,suggestions:i,loading:a,loadError:o,onRetry:s,onChange:c,onOpen:l,onSearch:u,term:d}){let f=(0,Z.useId)(),p=e=>`${f}-${e}`,[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(0),v=(0,Z.useRef)(null),y=(0,Z.useRef)(null),b=(0,Z.useRef)(null),x=o&&!a,S=(0,Z.useCallback)(()=>{h(!1),u(``)},[u]);(0,Z.useEffect)(()=>{if(!m)return;let e=e=>{y.current&&!y.current.contains(e.target)&&S()};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[S,m]),(0,Z.useEffect)(()=>{_(0)},[d]);let C=Math.min(g,Math.max(i.length-1,0));(0,Z.useEffect)(()=>{b.current?.querySelector(`[data-highlighted="true"]`)?.scrollIntoView({block:`nearest`})},[C,m]);let w=()=>{h(!0),l()},T=e=>{c([...r,e]),u(``)},E=e=>{c(r.filter(t=>t.id!==e.id))};return(0,$.jsxs)(`div`,{ref:y,className:`relative`,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||S()},children:[(0,$.jsxs)(`div`,{className:z(Me(`within`),`flex min-h-9 w-full cursor-text flex-wrap items-center gap-1.5 px-3 py-1 text-control`),"data-testid":ur,onClick:()=>{v.current?.focus(),w()},children:[r.map(e=>(0,$.jsxs)(_t,{className:`gap-1 pr-1`,"data-testid":fr,children:[e.name,(0,$.jsx)(`button`,{"aria-label":`Remove ${e.name}`,className:`rounded-full hover:opacity-70`,type:`button`,onClick:t=>{t.stopPropagation(),E(e)},children:(0,$.jsx)(he,{className:`size-3`})})]},e.id)),(0,$.jsx)(`input`,{ref:v,"aria-activedescendant":m&&!x&&i[C]?p(C):void 0,"aria-autocomplete":`list`,"aria-controls":f,"aria-describedby":t,"aria-expanded":m,"aria-invalid":n,className:`min-w-20 flex-1 bg-transparent text-control outline-hidden placeholder:text-muted-foreground`,id:e,placeholder:r.length===0?`Select authors...`:``,role:`combobox`,value:d,onChange:e=>{u(e.target.value),w()},onKeyDown:e=>{if(!(e.nativeEvent.isComposing||e.nativeEvent.keyCode===229)){if(e.key===`Backspace`&&!d&&r.length>0){E(r[r.length-1]),w();return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),!m){w();return}if(i.length>0){let t=e.key===`ArrowDown`?1:-1;_((C+t+i.length)%i.length)}return}if(e.key===`Escape`&&m){e.preventDefault(),e.stopPropagation(),h(!1);return}(e.key===`Enter`||e.key===`Tab`&&d.trim().length>0)&&m&&!x&&i[C]&&(e.preventDefault(),T(i[C]))}}}),(0,$.jsx)(Te,{className:`size-4 shrink-0 text-muted-foreground`})]}),m&&(0,$.jsxs)(`div`,{className:`absolute top-full left-0 z-50 mt-1 max-h-64 w-full overflow-y-auto rounded-md border border-border/60 bg-surface-elevated-2 p-1 text-popover-foreground shadow-md dark:border-border/30`,children:[x&&(0,$.jsxs)(U,{align:`start`,className:`p-2`,gap:`sm`,children:[(0,$.jsx)(W,{role:`alert`,size:`sm`,children:`Couldn’t load authors.`}),(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:()=>{v.current?.focus(),s()},children:`Retry`})]}),(0,$.jsxs)(`div`,{ref:b,"data-testid":`settings-authors-list`,id:f,role:`listbox`,children:[!x&&i.length===0&&(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-sm text-muted-foreground`,children:a?`Loading authors...`:`No authors found`}),!x&&i.map((e,t)=>{let n=t===C;return(0,$.jsxs)(`div`,{"aria-selected":!1,className:z(`flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm`,n&&`bg-accent text-accent-foreground`),"data-highlighted":n,id:p(t),role:`option`,onClick:()=>T(e),onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>_(t),children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.name}),(0,$.jsx)(`span`,{className:`ms-auto truncate text-xs text-muted-foreground`,children:e.email})]},e.id)})]})]})]})}var Gs={include:`count.posts`,limit:`all`,order:`count.posts desc, name asc`};function Ks(e){return e.normalize(`NFD`).replace(/\p{Diacritic}/gu,``).toLowerCase()}function qs(e){return{id:e.id,name:e.name||e.email,email:e.email}}function Js(e,t){let n=Ks(t);return[e.name,e.slug,e.email].some(e=>Ks(e??``).includes(n))}function Ys(e,t,n){let r=new Set(t.map(({id:e})=>e)),i=n.trim();return(e??[]).filter(e=>!r.has(e.id)&&(!i||Js(e,i))).map(qs)}function Xs(e,t){let n=new Map((t??[]).map(e=>[e.id,e])),r=[];for(let t of e){if(!t.id)continue;let e=n.get(t.id);r.push(e?qs(e):{id:t.id,name:t.name||t.email||t.id,email:t.email??``})}return r}function Zs({session:e,currentUser:t}){let n=(0,Z.useId)(),r=(0,Z.useId)(),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(``),{data:c,isFetching:l,isError:u,refetch:d}=Xe({defaultErrorHandler:!1,enabled:i,requestOptions:Q,searchParams:Gs}),f=e.settings.authors,p=Xs(f,[...c?.users??[],...t?[t]:[]]),m=p.length===0;return(0,$.jsxs)(Ms,{children:[(0,$.jsx)(q,{htmlFor:n,children:`Authors`}),(0,$.jsx)(Ws,{describedBy:m?r:void 0,inputId:n,invalid:m,loadError:u,loading:l,selected:p,suggestions:Ys(c?.users,p,o),term:o,onChange:t=>e.editSettings({authors:t}),onOpen:()=>a(!0),onRetry:()=>void d(),onSearch:s}),m?(0,$.jsx)(W,{className:`text-destructive`,"data-testid":dr,id:r,role:`alert`,size:`sm`,children:Cs}):null]})}var Qs=3e3,$s=6e4,ec=`(Untitled)`,tc={autosave:0,timed:1,field:2,leave:3,explicit:4,publish:5,schedule:5,revert:5};function nc(e){return e===`autosave`||e===`timed`||e===`field`}function rc(e){return e===`publish`||e===`schedule`||e===`revert`}function ic(e){if(e===null)return null;let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t-t%1e3).toISOString()}function ac(e,t){return t.emailOnly!==void 0&&(e.emailOnly=t.emailOnly),t.newsletter!==void 0&&(e.newsletter=t.newsletter),t.emailSegment!==void 0&&(e.emailSegment=t.emailSegment),e}function oc(e,t,n={}){switch(e){case`publish`:return ac({status:`published`,publishedAt:ic(n.publishedAt===void 0?t.publishedAt:n.publishedAt)},n);case`schedule`:return ac({status:`scheduled`,publishedAt:ic(n.publishedAt??null)},n);case`revert`:return{status:`draft`,publishedAt:t.status===`scheduled`?null:ic(t.publishedAt),emailOnly:!1}}}function sc(e,t){return e.target?e.target:{status:nc(e.kind)?`draft`:t.status,publishedAt:ic(t.publishedAt)}}function cc(e,t){return sc(e,t).status!==t.status}var lc={kind:`autosave`,requiresRevision:!1,requiresReconfirmation:!1},uc={kind:`timed`,requiresRevision:!1,requiresReconfirmation:!1};function dc(e){return{kind:`dropped`,reason:e}}function fc(e,t){return{kind:`failed`,error:e,executedAs:t}}function pc(e,t){for(let n of e)n.resolve(t)}function mc(e,t){let n=e.requiresRevision||t.some(e=>e.command.requiresRevision);return n===e.requiresRevision?e:{...e,requiresRevision:n}}function hc(e){return{kind:`unknown`,message:e instanceof Error?e.message:`Save failed`,cause:e}}function gc(e){return typeof e==`string`&&!Number.isNaN(Date.parse(e))}function _c(e,t){if(e.kind!==t.kind)return!1;let n=e,r=t;return n.intent===r.intent&&n.pending===r.pending&&n.error===r.error}function vc(e){queueMicrotask(()=>{throw e})}function yc(e){let t=e.setTimeout??((e,t)=>globalThis.setTimeout(e,t)),n=e.clearTimeout??(e=>globalThis.clearTimeout(e)),r=e.onListenerError??vc,i=new Set,a=new Set,o={kind:`idle`},s=null,c=null,l=null,u=null,d=null,f=null,p=null,m=null,h=null,g=!1;function _(t){if(!_c(o,t)){o=t;for(let n of[e.onStateChange,...i]){if(o!==t)break;try{n?.(t)}catch(e){r(e)}}for(let e of[...a])e()}}function v(){return o.kind===`halted`||o.kind===`crashed`}function y({keepHalt:e=!0}={}){return u||v()||g?o:s?l?{kind:`pending-coalesced`,intent:s.command.kind,pending:l.command.kind}:{kind:`saving`,intent:s.command.kind}:e&&(o.kind===`error`||o.kind===`conflict`)?o:d||f?{kind:`debouncing`}:{kind:`idle`}}function b(e){return p!==null&&e.version===p}function x(e){return m!==null&&e.updatedAt===m}function S(e){return e.status===`draft`?b(e)?`suppressed`:x(e)?`conflict`:null:`not-draft`}function C(e){for(let t of[d,f])t&&(n(t.handle),e.push(...t.waiters));d=null,f=null}function w(e){let r=d?d.waiters:[];d&&n(d.handle),e&&r.push(e),d={handle:t(()=>{d=null,D(lc,r)},Qs),waiters:r},_(y())}function T(){if(f)return;let e=[];f={handle:t(()=>{f=null,D(uc,e)},$s),waiters:e},_(y())}function E(e,t){if(!l){l={command:mc(e,t),waiters:t};return}let n=l.command;if(rc(e.kind)&&rc(l.command.kind)){let t=l.waiters.filter(e=>rc(e.command.kind));l.waiters=l.waiters.filter(e=>!rc(e.command.kind)),pc(t,{kind:`superseded`,by:e.kind}),n=e}else tc[e.kind]>tc[l.command.kind]&&(n=e);l.waiters.push(...t),l.command=mc(n,l.waiters)}function D(e,t){if(s||u){E(e,t),_(y());return}P({command:e,waiters:t})}function O(){if(s)return;let e=l;l=null,e?P(e):_(y())}function k(e,t){pc(e.waiters,fc(t,e.command.kind)),_({kind:`error`,intent:e.command.kind,error:t}),O()}function A(e){return e.trim()?e:ec}function j(t,n){return t.slug&&t.status!==`draft`?Promise.resolve(null):e.slug.fromTitle(A(t.title),t.id,n)}function ee(e,t,n){return{command:e,snapshot:t,title:A(t.title),slug:n?.source===`generated`?n.slug:t.slug,target:sc(e,t),saveRevision:e.requiresRevision}}function M(e,t){let n=N(e,t);return n?(s=null,c=null,pc(e.waiters,dc(n)),O(),!0):!1}function N(e,t){return nc(e.command.kind)?t.status===`draft`?t.isDirty?S(t):`clean`:`not-draft`:null}async function P(t){C(t.waiters),t.command=mc(t.command,t.waiters);let n;try{n=e.getSnapshot()}catch(e){k(t,hc(e));return}let r=N(t,n);if(r){pc(t.waiters,dc(r)),O();return}s=t;let i=new AbortController;c=i,_(y());let a;try{if(await e.slug.settled(),g||(n=e.getSnapshot(),M(t,n)))return;let r=await j(n,i.signal);if(g||r&&(n=e.getSnapshot(),M(t,n)))return;let o=await e.prepare(ee(t.command,n,r),i.signal);if(g||(a=await e.execute(o,i.signal),g))return;a.ok&&await e.reconcile(o,a.result)}catch(e){a={ok:!1,error:hc(e)}}if(!g){if(s=null,c=null,a.ok){p=null,m=null,pc(t.waiters,{kind:`saved`,result:a.result,executedAs:t.command.kind}),O();return}F(t,n,a.error)}}function F(e,t,n){let r=e.command.kind;if(n.kind===`session-invalid`){u={slot:e,error:n},_({kind:`reauth-pending`,intent:r});return}if(n.kind===`not-found`){let i=[];C(i),l&&=(i.push(...l.waiters),null),pc(i,dc(`halted`)),pc(e.waiters,fc(n,r)),_({kind:t.id?`halted`:`crashed`});return}if(n.kind===`conflict`){m=t.updatedAt;let i=[];C(i),l&&=(i.push(...l.waiters),null),pc(i,dc(`conflict`)),pc(e.waiters,fc(n,r)),_({kind:`conflict`,intent:r,error:n});return}n.kind===`validation`&&(p=t.version),n.kind===`host-limit`&&!cc(e.command,t)&&(p=t.version),k(e,n)}function te(e,t,n){if(rc(e)&&t){let r=oc(e,t,n);return{kind:e,target:r,requiresRevision:!1,requiresReconfirmation:r.status!==t.status}}return{kind:e,requiresRevision:e===`explicit`||e===`leave`,requiresReconfirmation:!1}}function ne(t,n){return new Promise(r=>{if(g){r(dc(`disposed`));return}if(v()){r(dc(`halted`));return}let i=null;if(nc(t)||rc(t))try{i=e.getSnapshot()}catch(e){r(fc(hc(e),t));return}let a={command:te(t,i,n),resolve:r};if(!nc(t)||!i){let e=[a];C(e),D(a.command,e);return}let o=S(i);if(o){r(dc(o));return}if(t===`field`){D(a.command,[a]);return}if(T(),i.id===null){D(a.command,[a]);return}w(a)})}function I(){try{return e.getSnapshot()}catch{return null}}function L(e,t){return t?cc(e,t):e.requiresReconfirmation}function R(){if(!u||g)return;let e=l?[u.slot,l]:[u.slot];u=null,l=null;let t=I(),n=!1;for(let r of e)for(let e of r.waiters)L(e.command,t)?(e.resolve({kind:`needs-retry`}),n=!0):E(e.command,[e]);n&&!l&&re(t),O()}function re(e){if(!e){T(),w();return}if(!(e.status!==`draft`||!e.isDirty||S(e))){if(T(),e.id===null){D(lc,[]);return}w()}}function z(){if(!u||g)return;let{slot:e,error:t}=u;u=null,pc(e.waiters,fc(t,e.command.kind));let n=[];C(n),l&&=(n.push(...l.waiters),null);for(let e of n)e.resolve(fc(t,e.command.kind));_({kind:`error`,intent:e.command.kind,error:t})}function B(e){let t=e??I()?.updatedAt;return g||o.kind!==`conflict`||!gc(t)||m!==null&&t===m?!1:(m=null,_(y({keepHalt:!1})),!0)}function V(){return new Promise(e=>{let t=()=>{(!s&&!l||u||g||v())&&(a.delete(t),e())};a.add(t),t()})}function H(){return h||=U().finally(()=>{h=null}),h}async function U(){let e=!1;for(;;){if(g)return`proceed`;let t=I();if(!t||u)return`confirm`;if(v())return t.isDirty?`confirm`:`proceed`;let n=!e&&t.isDirty&&t.status===`draft`&&!x(t);if(n&&t.changedSinceLastRevision){e=!0,await ne(`leave`);continue}if(s||l){await V();continue}if(!t.isDirty)return`proceed`;if(n&&(d||f)){e=!0,await ne(`leave`);continue}return`confirm`}}function W(e){return i.add(e),()=>{i.delete(e)}}function ie(){if(g)return;g=!0,c?.abort(),c=null;let e=[];C(e);for(let t of[s,l,u?.slot??null])t&&e.push(...t.waiters);s=null,l=null,u=null,pc(e,dc(`disposed`)),_({kind:`disposed`}),i.clear()}return{dispatch:ne,getState:()=>o,subscribe:W,reauthSucceeded:R,reauthAbandoned:z,contentReloaded:B,leaveRequested:H,dispose:ie}}function bc({session:e,postType:t}){let n=R(),r=o(),{mutateAsync:i}=j(),{mutateAsync:a}=Cn(),[s,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(null),m=e.loadedRecord?.id??e.createdId,h=t===`page`?`page`:`post`;if(!m)return null;let g=e.bind.title.trim()||e.loadedRecord?.title||`(Untitled)`,_=e=>{u||(l(e),p(null))},v=async()=>{d(!0),p(null);try{await(t===`page`?a({id:m,sessionExpiryRedirect:!1}):i({id:m,sessionExpiryRedirect:!1}))}catch(e){p(e instanceof w?`Your session expired. Sign in again in a new tab, then try deleting again.`:c(e,`Couldn’t delete this ${h}.`)),d(!1);return}e.dispose(),r.invalidateQueries({queryKey:[t===`page`?En:P],refetchType:`none`}),n(t===`page`?`/pages`:`/posts`,{replace:!0})};return(0,$.jsx)(Ms,{children:(0,$.jsxs)(Pt,{open:s,onOpenChange:_,children:[(0,$.jsx)(At,{asChild:!0,children:(0,$.jsxs)(K,{className:`w-full border-destructive text-destructive hover:bg-destructive hover:text-destructive-foreground`,"data-testid":pr,variant:`outline`,children:[(0,$.jsx)(le,{}),`Delete `,h]})}),(0,$.jsxs)(Qt,{"data-testid":mr,children:[(0,$.jsxs)(tn,{children:[(0,$.jsxs)(Ot,{children:[`Are you sure you want to delete this `,h,`?`]}),(0,$.jsxs)(Dt,{children:[`You’re about to delete "`,(0,$.jsx)(`strong`,{children:g}),`". This is permanent! We warned you, k?`]})]}),f?(0,$.jsx)(W,{className:`text-destructive`,"data-testid":hr,role:`alert`,size:`sm`,children:f}):null,(0,$.jsxs)(Lt,{children:[(0,$.jsx)(Wt,{disabled:u,children:`Cancel`}),(0,$.jsx)(K,{disabled:u,variant:`destructive`,onClick:()=>void v(),children:`Delete`})]})]})]})})}var xc=60,Sc=149,Cc=150,wc=`(Untitled)`,Tc=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Ec=`Search engines will automatically show a custom preview of content related to the search term here if no custom meta description is set.`;function Dc(e){return Array.from(e).length}function Oc(e,t){let n=t-3,r=Array.from(e);return r.length>n?`${r.slice(0,n).join(``)}...`:e}function kc(e,t){return e||t||wc}function Ac(e,t){return e||t||``}function jc({siteUrl:e,slug:t,canonicalUrl:n}){let r=[];if(n)try{let e=new URL(n);r.push(e.host,...e.pathname.split(`/`).filter(Boolean))}catch{return``}else{let n=new URL(e);r.push(n.host,...n.pathname.split(`/`).filter(Boolean),t)}return r.join(` › `)}function Mc(e){return Oc(e,xc)}function Nc(e){return e?Oc(e,Sc):Ec}function Pc(e){return Oc(e,Cc)}function Fc(e){return`${String(e.getDate()).padStart(2,`0`)} ${Tc[e.getMonth()]} ${e.getFullYear()}`}var Ic=(0,Z.createContext)(null);function Lc(){let[e,t]=(0,Z.useState)(null),n=(0,Z.useCallback)(()=>{let e=document.activeElement;e instanceof HTMLElement&&e.blur(),t(null)},[]);return(0,Z.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&!e.defaultPrevented&&n()};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[n,e]),(0,Z.useMemo)(()=>({open:e,show:t,close:n}),[n,e])}function Rc(){let e=(0,Z.useContext)(Ic);if(!e)throw Error(`A settings subview must be rendered inside the settings panel.`);return e}function zc({id:e,icon:t,label:n,title:r,closeLabel:i,wide:a=!1,contentClassName:o,children:s}){let{open:c,show:l,close:u}=Rc(),d=c?.id===e,f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),m=(0,Z.useRef)(!1);return(0,Z.useEffect)(()=>{d?f.current?.focus():m.current&&p.current?.focus(),m.current=d},[d]),d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`sticky top-0 z-10 bg-background`,children:[(0,$.jsxs)(H,{align:`center`,className:`p-3`,gap:`sm`,children:[(0,$.jsx)(K,{ref:f,"aria-label":i,size:`sm`,variant:`ghost`,onClick:u,children:(0,$.jsx)(ye,{})}),(0,$.jsx)(W,{as:`h2`,size:`md`,weight:`semibold`,children:r})]}),(0,$.jsx)(qt,{})]}),(0,$.jsx)(U,{className:z(`px-5 py-4`,o),"data-testid":gr,gap:`lg`,children:s})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{ref:p,className:`flex w-full items-center gap-2 px-5 py-3 text-left hover:bg-interactive-hover focus-visible:ring-1 focus-visible:ring-focus-ring focus-visible:outline-hidden [&>svg]:size-4 [&>svg]:shrink-0`,type:`button`,onClick:()=>l({id:e,title:r,wide:a}),children:[t,(0,$.jsx)(W,{as:`span`,className:`flex-1`,size:`sm`,children:n}),(0,$.jsx)(G,{className:`size-4 shrink-0 text-text-tertiary`})]}),(0,$.jsx)(qt,{})]})}function Bc({id:e,value:t,recommended:n}){let r=Dc(t);return(0,$.jsxs)(W,{id:e,size:`sm`,tone:`secondary`,children:[`Recommended: `,(0,$.jsx)(`b`,{children:B(n)}),` characters. You've used`,` `,(0,$.jsx)(`span`,{className:z(`font-bold`,r>n?`text-red`:`text-green`),children:B(r)})]})}function Vc({id:e,message:t}){return(0,$.jsx)(W,{className:`text-red`,id:e,role:`alert`,size:`sm`,children:t})}function Hc({url:e,title:t,description:n}){return(0,$.jsxs)(U,{className:`rounded-md border border-border p-4`,"data-testid":yr,gap:`xs`,children:[(0,$.jsx)(W,{size:`sm`,tone:`secondary`,children:e}),(0,$.jsx)(W,{size:`md`,weight:`medium`,children:Mc(t)}),(0,$.jsxs)(W,{size:`sm`,tone:`secondary`,children:[Fc(new Date),` — `,Nc(n)]})]})}function Uc({session:e,siteUrl:t}){let n=(0,Z.useId)(),r=(0,Z.useId)(),i=(0,Z.useId)(),a=(0,Z.useId)(),o=(0,Z.useId)(),s=(0,Z.useId)(),c=e.settings.meta_title??``,l=e.settings.meta_description??``,u=As(c,300)?Ts:null,d=As(l,500)?Es:null,f=kc(c,e.bind.title),p=Ac(l,e.settings.custom_excerpt??``),m=jc({siteUrl:t,slug:e.getSaveSnapshot().slug,canonicalUrl:e.settings.canonical_url??``});return(0,$.jsxs)(zc,{closeLabel:`Close meta data panel`,icon:(0,$.jsx)(Se,{}),id:`meta-data`,label:`Meta data`,title:`Meta data`,wide:!0,children:[(0,$.jsxs)(U,{gap:`sm`,children:[(0,$.jsx)(q,{htmlFor:n,children:`Meta title`}),(0,$.jsx)(Xt,{"aria-describedby":u?`${r} ${i}`:r,"aria-invalid":!!u,"data-testid":_r,id:n,placeholder:f,value:c,onBlur:e.commitSettings,onChange:t=>e.stageSettings({meta_title:t.target.value||null})}),(0,$.jsx)(Bc,{id:r,recommended:60,value:c}),u?(0,$.jsx)(Vc,{id:i,message:u}):null]}),(0,$.jsxs)(U,{gap:`sm`,children:[(0,$.jsx)(q,{htmlFor:a,children:`Meta description`}),(0,$.jsx)(Ge,{"aria-describedby":d?`${o} ${s}`:o,"aria-invalid":!!d,"data-testid":vr,id:a,placeholder:Pc(p),rows:3,value:l,onBlur:e.commitSettings,onChange:t=>e.stageSettings({meta_description:t.target.value||null})}),(0,$.jsx)(Bc,{id:o,recommended:145,value:l}),d?(0,$.jsx)(Vc,{id:s,message:d}):null]}),(0,$.jsxs)(U,{gap:`sm`,children:[(0,$.jsx)(W,{size:`sm`,weight:`medium`,children:`Search Engine Result Preview`}),(0,$.jsx)(Hc,{description:p,title:f,url:m})]})]})}var Wc=ot(nt({id:Y().optional(),lexical:Y().nullish(),title:Y().nullish(),custom_excerpt:Y().nullish(),feature_image:Y().nullish(),feature_image_alt:Y().nullish(),feature_image_caption:Y().nullish(),post_status:Y().nullish(),reason:Y().nullish(),created_at:Y().optional(),author:nt({name:Y().nullish(),profile_image:Y().nullish()}).nullish()}));function Gc(e){let t=Wc.safeParse(e);return t.success?t.data:[]}function Kc(e){let t=Date.parse(e.created_at??``);return Number.isNaN(t)?0:t}function qc(e){return!e||e.lexical===null||e.lexical===void 0?!1:e.status!==`published`&&e.status!==`sent`?!0:!(`email_only`in e&&e.email_only)}function Jc(e=[]){let t=Gc(e).sort((e,t)=>Kc(t)-Kc(e));return t.map((e,n)=>{let r=e.post_status===`published`&&t[n+1]?.post_status===`draft`,i=[];return n===0&&i.push(`latest`),r&&i.push(`published`),e.reason===`unpublished`&&i.push(`unpublished`),{id:e.id??String(n),lexical:e.lexical??null,title:e.title??``,customExcerpt:e.custom_excerpt??null,featureImage:e.feature_image??null,featureImageAlt:e.feature_image_alt??null,featureImageCaption:e.feature_image_caption??null,authorName:e.author?.name||`Deleted staff user`,authorImage:e.author?.profile_image??null,createdAt:e.created_at??``,tags:i}})}function Yc(e,t){let n=typeof t==`string`&&ji.default.tz.zone(t)?t:`Etc/UTC`,r=ji.default.tz(e,n);return r.isValid()?r.format(`D MMM YYYY, HH:mm`):``}var Xc={useFileUpload:D,fileTypes:k};function Zc(e){return Jt.sanitize(e??``,{ALLOWED_TAGS:[`a`,`b`,`i`,`span`],ALLOWED_ATTR:[`href`,`style`],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1})}function Qc({editor:e,lexical:t,cardConfig:n,darkMode:r}){let{KoenigComposer:i,KoenigEditor:a}=e.read(),o=(0,Z.useCallback)(e=>{(e?.editorInstance)?.setEditable(!1)},[]);return(0,$.jsx)(`div`,{className:`koenig-react-editor koenig-lexical`,"data-testid":Dr,children:(0,$.jsx)(i,{cardConfig:n,darkMode:r,fileUploader:Xc,initialEditorState:t??void 0,onError:Jo,children:(0,$.jsx)(a,{darkMode:r,placeholderText:``,registerAPI:o,readOnly:!0})})})}function $c({revision:e,cardConfig:t,darkMode:n,showExcerpt:r,currentTitle:i,currentExcerpt:a}){let o=(0,Z.useMemo)(()=>Rn(),[]),s=Zc(e.featureImageCaption),c=e.title||i,l=e.customExcerpt??a;return(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-[740px]`,"data-testid":Cr,children:(0,$.jsx)(Ln,{name:`this version`,children:(0,$.jsxs)(Z.Suspense,{fallback:(0,$.jsx)(H,{className:`py-10`,justify:`center`,children:(0,$.jsx)(Vt,{size:`lg`})}),children:[e.featureImage?(0,$.jsxs)(`figure`,{className:`mb-6`,children:[(0,$.jsx)(`img`,{alt:e.featureImageAlt??``,className:`w-full`,"data-testid":Er,src:e.featureImage}),s?(0,$.jsx)(`figcaption`,{dangerouslySetInnerHTML:{__html:s},className:`mt-2 text-center text-sm text-text-secondary`}):null]}):null,(0,$.jsx)(`div`,{className:`heading-font-features mb-4 text-4xl leading-tight font-bold tracking-tight text-foreground`,"data-testid":wr,children:c}),r?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`text-xl leading-normal tracking-tight text-text-secondary`,"data-testid":Tr,children:l}),l?(0,$.jsx)(`hr`,{className:`mt-4 mb-6 border-border`}):null]}):null,e.lexical===null?(0,$.jsx)(W,{tone:`secondary`,children:`This version has no body content to restore.`}):(0,$.jsx)(Qc,{cardConfig:t,darkMode:n,editor:o,lexical:e.lexical},e.id)]})})})}var el={latest:`Latest`,published:`Published`,unpublished:`Unpublished`},tl={latest:`bg-surface-elevated-2 text-text-secondary`,published:`bg-state-success text-foreground`,unpublished:`bg-state-warning text-foreground`};function nl({revision:e,timezone:t,selected:n,restorable:r,onSelect:i,onRestore:a}){return(0,$.jsxs)(`li`,{className:z(`rounded-md px-3 py-2`,n&&`bg-surface-elevated-2`),children:[(0,$.jsxs)(`button`,{"aria-current":n,className:`w-full text-left`,type:`button`,onClick:i,children:[(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(W,{size:`sm`,weight:`medium`,children:Yc(e.createdAt,t)}),e.tags.map(e=>(0,$.jsx)(`span`,{className:z(`rounded-sm px-1.5 py-0.5 text-2xs font-medium`,tl[e]),children:el[e]},e))]}),(0,$.jsxs)(H,{className:`mt-1`,gap:`sm`,children:[(0,$.jsx)(ht,{className:`size-6`,...mt({name:e.authorName}),src:e.authorImage}),(0,$.jsx)(W,{size:`sm`,tone:`secondary`,children:e.authorName})]})]}),n&&r?(0,$.jsx)(K,{className:`mt-2 w-full`,size:`sm`,variant:`outline`,onClick:a,children:`Restore`}):null]})}function rl({open:e,revisions:t,postType:n,isPublished:r,timezone:i,cardConfig:a,darkMode:o,showExcerpt:s,currentTitle:c,currentExcerpt:l,onRestore:u,onOpenChange:d,onCloseAutoFocus:f,restoreError:p}){let[m,h]=(0,Z.useState)(0),[g,_]=(0,Z.useState)(null),[v,y]=(0,Z.useState)(!1),b=t[m],x=async e=>{if(e.preventDefault(),!g||v)return;y(!0);let t=await u(g);if(y(!1),_(null),t){E.success(`Revision restored.`),d(!1);return}E.error(`Failed to restore revision.`)};return(0,$.jsxs)(bt,{open:e,onOpenChange:e=>!v&&d(e),children:[(0,$.jsxs)(sn,{className:`top-0 left-0 grid h-dvh w-dvw max-w-none translate-x-0 grid-rows-[auto_1fr] gap-0 rounded-none p-0`,"data-testid":xr,onCloseAutoFocus:f,children:[(0,$.jsx)(gt,{className:`flex-row items-center gap-4 border-b border-border-default p-4`,children:(0,$.jsxs)(ft,{className:`text-lg`,children:[n===`page`?`Page`:`Post`,` history`]})}),(0,$.jsxs)(H,{align:`stretch`,className:`min-h-0`,gap:`none`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto bg-surface-panel p-8`,children:b?(0,$.jsx)($c,{cardConfig:a,currentExcerpt:l,currentTitle:c,darkMode:o,revision:b,showExcerpt:s}):(0,$.jsxs)(W,{"data-testid":Cr,tone:`secondary`,children:[`This `,n,` has no saved versions yet.`]})}),(0,$.jsxs)(U,{className:`w-[320px] shrink-0 overflow-y-auto border-l border-border p-3`,gap:`none`,children:[p?(0,$.jsx)(W,{className:`mb-3 text-destructive`,role:`alert`,size:`sm`,children:p}):null,(0,$.jsx)(`ul`,{"data-testid":Sr,children:t.map((e,t)=>(0,$.jsx)(nl,{restorable:t!==0&&e.lexical!==null,revision:e,selected:t===m,timezone:i,onRestore:()=>_(e),onSelect:()=>h(t)},e.id))})]})]})]}),(0,$.jsx)(Pt,{open:!!g,onOpenChange:e=>!e&&!v&&_(null),children:(0,$.jsxs)(Qt,{className:`z-[1100]`,"data-testid":Or,overlayClassName:`z-[1100]`,children:[(0,$.jsxs)(tn,{children:[(0,$.jsx)(Ot,{children:r?`Restore version for published ${n}?`:`Restore this version?`}),(0,$.jsx)(Dt,{children:r?`Heads up! This ${n} has already been published, restoring a previous version will automatically update the ${n} on your site.`:`Replace your existing draft with this version of the ${n}.`})]}),(0,$.jsxs)(Lt,{children:[(0,$.jsx)(Wt,{asChild:!0,children:(0,$.jsx)(K,{disabled:v,variant:`outline`,children:`Cancel`})}),(0,$.jsx)(Ct,{asChild:!0,children:(0,$.jsx)(K,{disabled:v,onClick:e=>void x(e),children:`Restore`})})]})]})})]})}function il({session:e,postType:t,cardConfig:n,showExcerpt:r}){let[i,a]=(0,Z.useState)(!1),o=(0,Z.useRef)(null),{darkMode:s}=ie(),{data:c}=yt({defaultErrorHandler:!1,requestOptions:Q}),l=X(c?.settings??null,`timezone`)??`Etc/UTC`,u=e.loadedRecord,d=(0,Z.useMemo)(()=>Jc(u?.post_revisions),[u]);return qc(u)?(0,$.jsxs)(Ms,{children:[(0,$.jsx)(`button`,{ref:o,className:`-mx-2 rounded-md px-2 py-1 text-left hover:bg-surface-elevated-2`,"data-testid":br,type:`button`,onClick:()=>a(!0),children:(0,$.jsxs)(H,{gap:`sm`,justify:`between`,children:[(0,$.jsxs)(H,{gap:`sm`,children:[(0,$.jsx)(xe,{className:`size-4 text-text-secondary`}),(0,$.jsxs)(W,{size:`sm`,children:[t===`page`?`Page`:`Post`,` history`]})]}),(0,$.jsx)(G,{className:`size-4 text-text-secondary`})]})}),i?(0,$.jsx)(rl,{cardConfig:n,currentExcerpt:e.settings.custom_excerpt??null,currentTitle:u?.title??``,darkMode:s,isPublished:u?.status===`published`,open:i,postType:t,restoreError:e.state.kind===`error`&&e.state.error.kind===`session-invalid`||e.state.kind===`reauth-pending`?`Your session expired. Sign in again in a new tab, then try restoring again.`:void 0,revisions:d,showExcerpt:r,timezone:l,onCloseAutoFocus:e=>{e.preventDefault(),o.current?.focus()},onOpenChange:a,onRestore:t=>e.restoreRevision({lexical:t.lexical,title:t.title,custom_excerpt:r?t.customExcerpt??e.settings.custom_excerpt:e.settings.custom_excerpt,feature_image:t.featureImage,feature_image_alt:t.featureImageAlt,feature_image_caption:t.featureImageCaption})}):null]}):null}var al=[`url`,`publish-date`,`tags`,`access`,`excerpt`,`authors`,`template`,`show-title-and-feature-image`,`featured`,`post-history`,`code-injection`,`meta-data`,`x-card`,`facebook-card`,`keyboard-shortcuts`,`delete`],ol=`show_title_and_feature_image`,sl=`Uh-oh. Looks like your theme doesn't support this feature.`,cl=`https://docs.ghost.org/themes/helpers/`;function ll({session:e,currentUser:t}){let n=(0,Z.useId)(),r=e.settings.show_title_and_feature_image??!0,{data:i}=Ft({enabled:!(t&&Ze(t))&&!r,defaultErrorHandler:!1,requestOptions:Q}),a=i?.themes?.[0],o=!!a&&[...a.errors??[],...a.warnings??[]].some(e=>Ht(e,ol));return(0,$.jsxs)(Ms,{children:[(0,$.jsxs)(H,{gap:`sm`,justify:`between`,children:[(0,$.jsx)(q,{htmlFor:n,children:`Show title and feature image`}),(0,$.jsx)(je,{checked:r,"data-testid":Kn,id:n,onCheckedChange:t=>e.editSettings({show_title_and_feature_image:t})})]}),!r&&o?(0,$.jsxs)(W,{"data-testid":qn,size:`sm`,tone:`secondary`,children:[sl,` `,(0,$.jsx)(`a`,{className:`underline`,href:cl,rel:`noopener noreferrer`,target:`_blank`,children:`Learn more`})]}):null]})}var ul=191;function dl({session:e}){let t=(0,Z.useId)(),n=e.settings.tags,r=t=>{t!==n&&e.editSettings({tags:t})};return(0,$.jsxs)(Ms,{children:[(0,$.jsx)(q,{htmlFor:t,children:`Tags`}),(0,$.jsx)(Pn,{defaultErrorHandler:!1,inputId:t,inputLabel:`Tags`,maxLength:ul,requestOptions:Q,selected:n,testIds:{field:er,input:tr,list:nr,token:rr},deferSearch:!0,hideSelected:!0,onAdd:e=>{r(jn(n,e))},onRemove:e=>{r(Mn(n,e))}})]})}var fl=`default`,pl=`Default`;function ml(e){return e?.find(e=>e.active)?.templates??[]}function hl(e,t){return!e.for||e.for.includes(t)}function gl(e){return e.filter(e=>!e.slug).sort((e,t)=>e.name.localeCompare(t.name))}function _l(e,t,n){return n?e.find(e=>!!e.slug&&hl(e,t)&&e.slug===n):void 0}function vl(e,t){return e.some(e=>e.filename===t)&&t?t:fl}function yl({session:e,postType:t}){let n=(0,Z.useId)(),{data:r}=wt({defaultErrorHandler:!1,requestOptions:Q}),i=ml(r?.themes),a=gl(i),o=_l(i,t,e.slug);return a.length===0?null:(0,$.jsxs)(Ms,{children:[(0,$.jsx)(q,{htmlFor:n,children:`Template`}),(0,$.jsxs)(ze,{disabled:!!o,value:vl(a,e.settings.custom_template),onValueChange:t=>e.editSettings({custom_template:t==="default"?null:t}),children:[(0,$.jsx)(Ie,{"data-testid":ir,id:n,children:(0,$.jsx)(Re,{})}),(0,$.jsxs)(Fe,{children:[(0,$.jsx)(Pe,{value:fl,children:pl}),a.map(e=>(0,$.jsx)(Pe,{value:e.filename,children:e.name},e.filename))]})]}),o?(0,$.jsxs)(W,{"data-testid":ar,size:`sm`,tone:`secondary`,children:[t===`page`?`Page`:`Post`,` URL matches `,o.filename]}):null]})}var bl=zn();function xl(e,t){return!e||t===`(Untitled)`||t.endsWith(`(Copy)`)?!1:(0,bl.slugify)(t)!==e}function Sl(e,t){if(e.mode===`custom`)return!1;let n=t.trim();return!(!n||n===`(Untitled)`&&e.slug)}function Cl(e,t){let n=(e||t).trim();return!n||n===t?null:n}function wl(e,t,n){if(e===n)return n;let r=e.split(`-`);return Number(r.pop())>0&&r.join(`-`)===n&&e!==(0,bl.slugify)(t)?n:e}function Tl({generateSlug:e,onListenerError:t}){let n=`derived`,r=new Set,i=``,a=``,o=``,s=0,c=0,l=0,u=new Set,d=new Set,f=0,p=0,m=null,h=null,g=()=>r.has(l)?`custom`:n,_=()=>{let e=g();return{status:e===`custom`?`custom`:Sl({mode:e,slug:i},o)?`derived`:`frozen`,mode:e,slug:i,title:a,lastCommittedTitle:o,pending:u.has(c)||u.has(l)}},v=e=>{let n=_();for(let r of d)try{r(n,e)}catch(e){try{t(e)}catch{}}},y=e=>(v(e),e),b=(e,t)=>y({slug:i,source:`unchanged`,reason:e,...t!==void 0&&{error:t}}),x=e=>({slug:e,source:`unchanged`,reason:`stale`}),S=()=>{u.delete(c),c=0},C=()=>{u.delete(l),r.delete(l),l=0},w=e=>{let t=_();u.delete(e),r.delete(e);let n=_();return t.pending!==n.pending||t.mode!==n.mode||t.status!==n.status},T=async(t,n)=>{s+=1;let a=s,o=i;n?(S(),C(),l=a):(S(),c=a),u.add(a),n&&r.add(a),v(null);let d,f;try{d=await e(t)}catch(e){f=e}return{ticket:a,result:d,error:f,slugAtRequest:o}},E=async e=>{let t=e.trim();if(o=t,g()===`custom`)return b(`custom`);if(t===a&&i)return S(),b(`same-title`);if(!Sl({mode:`derived`,slug:i},t))return S(),b(`frozen`);let{ticket:n,result:r,error:s,slugAtRequest:l}=await T(t,!1),u=w(n);return n===c?s===void 0?r?.trim()?(i=r,a=t,y({slug:i,source:`generated`})):b(`empty-result`):b(`error`,s):(u&&v(null),x(l))},D=async e=>{let t=Cl(e,i);if(t===null)return C(),b(`reverted`);let{ticket:r,result:a,error:o,slugAtRequest:s}=await T(t,!0),c=w(r);if(r!==l)return c&&v(null),x(s);if(o!==void 0)return b(`error`,o);if(!a?.trim())return b(`empty-result`);let u=wl(a,t,i);return u===i?b(`reverted`):(i=u,n=`custom`,y({slug:i,source:`manual`}))},O=e=>e.kind===`title`?E(e.value):D(e.value),k=e=>{if(e!==p)return;let t=h;if(h=null,!t){p=0,m=null;return}A(t.submission).then(t.resolve,t.reject)},A=e=>{f+=1;let t=f;p=t,m=e.kind;let n=O(e);return n.then(()=>k(t),()=>k(t)),n},j=e=>{if(!p)return A(e);if(e.kind===`manual`&&Cl(e.value,i)===null)return h?.submission.kind===`manual`&&(h.resolve(x(h.slugAtSubmission)),h=null),m===`manual`&&C(),Promise.resolve(b(`reverted`));if(e.kind===`title`&&m===`title`){let t=e.value.trim();if(o=t,t===a&&i)return h&&=(h.resolve(x(h.slugAtSubmission)),null),S(),Promise.resolve(b(`same-title`));if(!Sl({mode:`derived`,slug:i},t))return h&&=(h.resolve(x(h.slugAtSubmission)),null),S(),Promise.resolve(b(`frozen`))}return h&&h.resolve(x(h.slugAtSubmission)),new Promise((t,n)=>{h={submission:e,slugAtSubmission:i,resolve:t,reject:n}})};return{loaded(e){p=0,m=null,h&&=(h.resolve(x(h.slugAtSubmission)),null),c=0,l=0,u.clear(),r.clear(),i=e.slug,a=e.title,o=e.title,n=xl(e.slug,e.title)?`custom`:`derived`,v(null)},saveAcknowledged(e,t){let n=!1;i===e.slug&&i!==t.slug&&(i=t.slug,n=!0),a===e.title&&a!==t.title&&(a=t.title,o===e.title&&(o=t.title),n=!0),n&&v(null)},titleCommitted(e){return j({kind:`title`,value:e})},slugEdited(e){return j({kind:`manual`,value:e})},getState:_,subscribe(e){return d.add(e),()=>{d.delete(e)}}}}function El(e,t){return`${e.replace(/^[a-z][a-z\d+.-]*:\/\//i,``).replace(/\/+$/,``)}/${t?`${t}/`:``}`}var Dl=`Couldn’t update the URL. Try again.`;function Ol({session:e,postType:t,siteUrl:n}){let r=(0,Z.useId)(),i=(0,Z.useId)(),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(!1),{slug:d,editSlug:f}=e,p=a??d,m=(0,Z.useCallback)(()=>{if(u(!1),Cl(p,d)===null){o(null);return}c(!0),f(p).then(e=>u(e===`failed`)).finally(()=>{c(!1),o(null)})},[f,d,p]),h=(0,Z.useCallback)(e=>{e.key===`Enter`&&e.currentTarget.blur()},[]);return(0,$.jsxs)(Ms,{children:[(0,$.jsxs)(q,{htmlFor:r,children:[t===`page`?`Page`:`Post`,` URL`]}),(0,$.jsx)(Xt,{"aria-describedby":l?i:void 0,"aria-invalid":l,"data-testid":Jn,disabled:s,id:r,value:p,onBlur:m,onChange:e=>o(e.target.value),onKeyDown:h}),l?(0,$.jsx)(W,{className:`text-destructive`,"data-testid":Yn,id:i,role:`alert`,size:`sm`,children:Dl}):null,(0,$.jsx)(W,{"data-testid":Xn,size:`sm`,tone:`secondary`,children:El(n,p)})]})}function kl({session:e}){let t=(0,Z.useId)();return(0,$.jsxs)(Ms,{children:[(0,$.jsx)(q,{htmlFor:t,children:`Excerpt`}),(0,$.jsx)(Ge,{"data-testid":Wn,id:t,rows:3,value:e.bind.excerpt,onBlur:e.commitSettings,onChange:t=>e.bind.onExcerptChange(t.target.value)})]})}function Al({session:e,postType:t}){let n=(0,Z.useId)();return(0,$.jsx)(Ms,{children:(0,$.jsxs)(H,{gap:`sm`,justify:`between`,children:[(0,$.jsxs)(q,{htmlFor:n,children:[`Feature this `,t]}),(0,$.jsx)(je,{checked:e.settings.featured,"data-testid":Gn,id:n,onCheckedChange:t=>e.editSettings({featured:t})})]})})}function jl({session:e,postType:t,siteUrl:n,cardConfig:r,currentUser:i,hasInlineExcerpt:a=!1}){let o=!!i&&$e(i),s=!!i&&!Ze(i),c=!!i&&!Je(i),l=Lc(),u={url:(0,$.jsx)(Ol,{postType:t,session:e,siteUrl:n}),"publish-date":(0,$.jsx)(Us,{session:e}),tags:s?(0,$.jsx)(dl,{session:e}):null,excerpt:a?null:(0,$.jsx)(kl,{session:e}),featured:o?(0,$.jsx)(Al,{postType:t,session:e}):null,access:o?(0,$.jsx)(Vs,{postType:t,session:e}):null,authors:c?(0,$.jsx)(Zs,{currentUser:i,session:e}):null,"show-title-and-feature-image":t===`page`?(0,$.jsx)(ll,{currentUser:i,session:e}):null,template:(0,$.jsx)(yl,{postType:t,session:e}),delete:(0,$.jsx)(bc,{postType:t,session:e}),"meta-data":(0,$.jsx)(Uc,{session:e,siteUrl:n}),"post-history":(0,$.jsx)(il,{cardConfig:r,postType:t,session:e,showExcerpt:a})},d=l.open&&u[l.open.id]?l.open:null;(0,Z.useEffect)(()=>{l.open&&!d&&l.close()},[d,l]);let f=`${t===`page`?`Page`:`Post`} settings`;return(0,$.jsx)(Ic.Provider,{value:l,children:(0,$.jsxs)(`aside`,{"aria-label":d?.title??f,className:z(`absolute inset-y-0 right-0 z-10 w-[350px] overflow-y-auto border-l border-border bg-background shadow-lg max-[500px]:w-screen lg:static lg:shrink-0 lg:shadow-none`,d?.wide&&`w-[500px]`),"data-testid":Hn,children:[d?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(W,{as:`h2`,className:`px-5 py-4`,size:`md`,weight:`semibold`,children:f}),(0,$.jsx)(qt,{})]}),al.map(e=>(0,$.jsx)(Z.Fragment,{children:d&&d.id!==e?null:u[e]??null},e))]})})}function Ml(e){return e.replace(/<code\b[^>]*>((.*?){.*?}(.*?))<\/code>/gi,`$1`)}function Nl(e=``,t={}){let n=Object.assign({},{},t);if(!n.createDocument){let e=typeof DOMParser<`u`&&DOMParser||typeof window<`u`&&window.DOMParser;if(!e)throw Error("cleanBasicHtml() must be passed a `createDocument` function as an option when used in a non-browser environment");n.createDocument=function(t){return new e().parseFromString(t,`text/html`)}}let r=e;if((!n.allowBr||r===`<br>`)&&(r=r.replace(/<br\s?\/?>/g,` `)),n.removeCodeWrappers&&(r=Ml(r)),r=r.replace(/(\s|&nbsp;){2,}/g,` `).trim().replace(/^&nbsp;|&nbsp$/g,``).trim(),r){let e=n.createDocument(r);if(e.body.textContent===``)return``;e.body.querySelectorAll(`*`).forEach(t=>{if(!t.textContent?.trim().replace(/\u200c+/g,``)){if(n.allowBr&&t.tagName===`BR`)return;if(n.allowBr&&t.querySelector(`br`))return t.replaceWith(e.createElement(`br`));if(t.textContent&&t.textContent.length>0){let n=e.createTextNode(` `);return t.replaceWith(n)}return t.remove()}}),r=n.firstChildInnerContent&&e.body.firstElementChild?e.body.firstElementChild.innerHTML.trim():e.body.innerHTML.trim()}return r}function Pl(e){return Nl(e??``,{firstChildInnerContent:!0})}function Fl(e){if(e.tagName!==`SPAN`||e.attributes.length!==1)return!1;let t=(e.getAttribute(`style`)??``).split(`;`).map(e=>e.trim()).filter(Boolean);return t.length===1&&/^white-space\s*:\s*pre-wrap$/i.test(t[0])}function Il(e){return e?new DOMParser().parseFromString(e,`text/html`).body.firstElementChild?.tagName===`P`?e:`<p>${e}</p>`:null}function Ll(e){let t=Pl(Il(e)),n=new DOMParser().parseFromString(t,`text/html`);return n.body.querySelectorAll(`span`).forEach(e=>{Fl(e)&&e.replaceWith(...e.childNodes)}),n.body.innerHTML.trim()}function Rl(e,t,n=0){let r=(0,Z.useRef)(e);r.current=e;let[i,a]=(0,Z.useState)(t?.feature_image??null),[o,s]=(0,Z.useState)(t?.feature_image_alt??null),[c,l]=(0,Z.useState)(t?.feature_image_caption??null),[u,d]=(0,Z.useState)(n),f=(0,Z.useRef)(c);f.current=c,u!==n&&(d(n),a(t?.feature_image??null),s(t?.feature_image_alt??null),l(t?.feature_image_caption??null));let p=(0,Z.useCallback)(e=>{a(e),r.current.patchFeatureImage({feature_image:e}),r.current.dispatchField()},[]),m=(0,Z.useCallback)(()=>{a(null),s(null),l(null),r.current.patchFeatureImage({feature_image:null,feature_image_alt:null,feature_image_caption:null}),r.current.dispatchField()},[]),h=(0,Z.useCallback)(e=>{s(e),r.current.patchFeatureImage({feature_image_alt:e}),r.current.dispatchField()},[]),g=(0,Z.useCallback)(e=>{let t=Pl(e);Ll(t)!==Ll(f.current)&&(l(t),r.current.patchFeatureImage({feature_image_caption:t}))},[]),_=(0,Z.useCallback)(()=>r.current.dispatchField(),[]);return{featureImage:i,featureImageAlt:o,featureImageCaption:Il(c),onFeatureImageChange:p,onFeatureImageClear:m,onFeatureImageAltChange:h,onFeatureImageCaptionChange:g,onFeatureImageCaptionBlur:_}}function zl(e,t){return t?!0:e.kind===`saving`||e.kind===`pending-coalesced`||e.kind===`reauth-pending`}function Bl(e,t,n,r){let i=`/editor/${n}`;if(e.pathname!==i||!t.pathname.startsWith(`${i}/`))return!1;let a=t.pathname.slice(i.length+1);return!a||a.includes(`/`)?!1:t.state?.editorSession===r}var Vl=()=>{let e=g();return(0,Z.useCallback)(async({type:t,text:n,id:r,sessionExpiryRedirect:i})=>{if(!n)return``;let a=encodeURIComponent((0,bl.slugify)(n)),o=r?`/slugs/${t}/${a}/${r}/`:`/slugs/${t}/${a}/`;return(await e(p(o),{sessionExpiryRedirect:i})).slugs[0].slug},[e])},Hl={Date:!0,RegExp:!0,String:!0,Number:!0};function Ul(e,t,n={cyclesFix:!0},r=[]){let i=[],a=Array.isArray(e);for(let o in e){let s=e[o],c=a?+o:o;if(!(o in t)){i.push({type:`REMOVE`,path:[c],oldValue:e[o]});continue}let l=t[o],u=typeof s==`object`&&typeof l==`object`&&Array.isArray(s)===Array.isArray(l);s&&l&&u&&!Hl[Object.getPrototypeOf(s)?.constructor?.name]&&(!n.cyclesFix||!r.includes(s))?i.push.apply(i,Ul(s,l,n,n.cyclesFix?r.concat([s]):[]).map(e=>(e.path.unshift(c),e))):s!==l&&!(Number.isNaN(s)&&Number.isNaN(l))&&!(u&&(isNaN(s)?s+``==l+``:+s==+l))&&i.push({path:[c],type:`CHANGE`,value:l,oldValue:s})}let o=Array.isArray(t);for(let n in t)n in e||i.push({type:`CREATE`,path:[o?+n:n],value:t[n]});return i}var Wl=class extends Error{constructor(e,t){super(e,t),this.name=`LexicalParseError`}};function Gl(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Kl(e){if(e==null||e===``)return null;let t=e;if(typeof e==`string`)try{t=JSON.parse(e)}catch(e){throw new Wl(e instanceof Error?e.message:`invalid JSON`,{cause:e})}if(!Gl(t)||!Gl(t.root)||!Array.isArray(t.root.children))throw new Wl(`lexical root must be an object with a children array`);return t}function ql(e){if(Array.isArray(e))return e.map(ql);if(Gl(e)&&Array.isArray(e.children)){let t={};for(let n of Object.keys(e))n!==`direction`&&(t[n]=n===`children`?ql(e.children):e[n]);return t}return e}var Jl={audio:{src:`url`},bookmark:{url:`url`,"metadata.icon":`url`,"metadata.thumbnail":`url`},button:{buttonUrl:`url`},"email-cta":{buttonUrl:`url`},embed:{url:`url`},file:{src:`url`},gallery:{images:{src:`url`}},header:{buttonUrl:`url`,backgroundImageSrc:`url`},image:{src:`url`,href:`url`},product:{productImageSrc:`url`},video:{src:`url`,thumbnailSrc:`url`,customThumbnailSrc:`url`}};function Yl(e){if(!e)return null;try{return new URL(e)}catch{return null}}function Xl(e,t){let n=t.endsWith(`/`)?t.slice(0,-1):t;return e===n||e.startsWith(`${n}/`)}function Zl(e,t){let n;try{n=new URL(e.startsWith(`//`)?`${t.protocol}${e}`:e)}catch{return e}return n.username||n.password||n.host!==t.host||!Xl(n.pathname,t.pathname)?e:`${n.pathname}${n.search}${n.hash}`}function Ql(e,[t,...n],r){if(t===void 0||!(t in e))return e;let i=e[t];return n.length===0?{...e,[t]:r(i)}:Gl(i)?{...e,[t]:Ql(i,n,r)}:e}function $l(e,t,n){return t===`url`?typeof e==`string`?Zl(e,n):e:Array.isArray(e)?e.map(e=>Gl(e)?eu(e,t,n):e):e}function eu(e,t,n){let r=e;for(let[e,i]of Object.entries(t))r=Ql(r,e.split(`.`),e=>$l(e,i,n));return r}function tu(e,t){if(Array.isArray(e))return e.map(e=>tu(e,t));if(!Gl(e))return e;let n=typeof e.type==`string`?Jl[e.type]:void 0,r=n?eu(e,n,t):e;return!n&&typeof e.url==`string`&&(r={...r,url:Zl(e.url,t)}),Array.isArray(e.children)&&(r={...r,children:tu(e.children,t)}),r}function nu(e,t){let n=Yl(t);return n?tu(e,n):e}function ru(e){return Array.isArray(e)?`[${e.map(ru).join(`,`)}]`:Gl(e)?`{${Object.keys(e).sort().filter(t=>e[t]!==void 0).map(t=>`${JSON.stringify(t)}:${ru(e[t])}`).join(`,`)}}`:JSON.stringify(e)??`null`}function iu(e){let t=e?.root;return Gl(t)&&Array.isArray(t.children)?t.children:[]}function au(e,t){return ql(nu(iu(Kl(e)),t))}function ou(e,t=``){return ru(au(e,t))}function su(e,t,n=``){return ou(e,n)===ou(t,n)}function cu(e,t){let n=e;for(let e of t)if(Array.isArray(n))n=n[Number(e)];else if(Gl(n))n=n[String(e)];else return;return n}function lu(e,t){return e.map((n,r)=>{if(typeof n!=`number`)return n;let i=cu(t,e.slice(0,r+1)),a=Gl(i)?i.type:void 0;return typeof a==`string`?`${n}[${a}]`:String(n)}).join(`.`)}function uu(e,t){let n=Kl(e);if(!n)return{};let r=n.root,i={...n,root:{...r,children:nu(iu(n),t)}};return Object.fromEntries(Object.entries(i).map(([e,t])=>[e,ql(t)]))}function du(e,t,n=``){let r=uu(e,n);return Ul(r,uu(t,n),{cyclesFix:!1}).map(e=>{let t={type:e.type,path:lu(e.path,r)};return`value`in e&&(t.value=e.value),`oldValue`in e&&(t.oldValue=e.oldValue),t})}var fu={h1:`# `,h2:`## `,h3:`### `,h4:`#### `,h5:`##### `,h6:`###### `},pu={bookmark:[`title`,`description`,`url`,`caption`],"call-to-action":[`textValue`],callout:[`calloutText`],codeblock:[`code`,`caption`],embed:[`caption`],file:[`fileTitle`,`fileCaption`],gallery:[`caption`],header:[`header`,`subheader`],html:[`html`],image:[`caption`],markdown:[`markdown`],product:[`productTitle`,`productDescription`],signup:[`disclaimer`,`header`,`subheader`],toggle:[`heading`,`content`],video:[`caption`]},mu=new Set([`bookmark.caption`,`call-to-action.textValue`,`callout.calloutText`,`codeblock.caption`,`embed.caption`,`gallery.caption`,`header.header`,`header.subheader`,`html.html`,`image.caption`,`product.productTitle`,`product.productDescription`,`signup.disclaimer`,`signup.header`,`signup.subheader`,`toggle.heading`,`toggle.content`,`video.caption`]),hu=new Set(`ADDRESS.ARTICLE.ASIDE.BLOCKQUOTE.DD.DIV.DL.DT.FIELDSET.FIGCAPTION.FIGURE.FOOTER.FORM.H1.H2.H3.H4.H5.H6.HEADER.LI.MAIN.NAV.OL.P.PRE.SECTION.TABLE.TBODY.TD.TFOOT.TH.THEAD.TR.UL`.split(`.`)),gu=``,_u=``,vu=new Set([`heading`,`extended-heading`]),yu=new Set([`quote`,`extended-quote`,`aside`]);function bu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function xu(e,t){let n=e[t];return typeof n==`string`?n:null}function Su(e){return Array.isArray(e.children)?e.children.filter(bu):[]}function Cu(e){return e?.nodeType===Node.ELEMENT_NODE&&hu.has(e.tagName)}function wu(e,t=!1){if(e.nodeType===Node.TEXT_NODE){let n=e.textContent??``;return t?n:!n.trim()&&(Cu(e.previousSibling)||Cu(e.nextSibling))?``:n.replace(/\s+/g,` `)}if(e.nodeType!==Node.ELEMENT_NODE)return``;let n=e;if(n.matches(`script, style, template`))return``;if(n.tagName===`BR`)return _u;let r=[...n.childNodes].map(e=>wu(e,t||n.tagName===`PRE`)).join(``);if(!hu.has(n.tagName)||!r)return r;let i=r.replace(/^ +/,``),a=r.replace(/ +$/,``),o=i.startsWith(gu)||i.startsWith(_u),s=a.endsWith(gu)||a.endsWith(_u);return`${o?``:gu}${r}${s?``:gu}`}function Tu(e){let{body:t}=new DOMParser().parseFromString(e,`text/html`);return wu(t).replace(RegExp(`${gu}(?: *${gu})+`,`g`),gu).replace(RegExp(`^ *${gu}|${gu} *$`,`g`),``).replace(RegExp(` *${gu} *`,`g`),`
18
+ `).replace(new RegExp(_u,`g`),`
19
+ `)}function Eu(e){return e.map(Du).join(``)}function Du(e){let t=xu(e,`text`);return t===null?e.type===`linebreak`?`
20
+ `:Eu(Su(e)):t}function Ou(e,t){let n=xu(e,`type`),r=t.map(t=>{let r=xu(e,t);return r?n&&mu.has(`${n}.${t}`)?Tu(r):r:``}).filter(Boolean);return r.length>0?[r.join(`
21
+ `)]:[]}function ku(e,t){let n=e.listType===`number`,r=` `.repeat(t);return Su(e).flatMap((e,i)=>{let a=Su(e).filter(e=>e.type===`list`),o=Eu(Su(e).filter(e=>e.type!==`list`)),s=a.flatMap(e=>ku(e,t+1)),c=n?`${i+1}. `:`- `;return o?[`${r}${c}${o}`,...s]:s})}function Au(e){let t=typeof e.type==`string`?pu[e.type]:void 0;if(t)return Ou(e,t);if(e.type===`list`){let t=ku(e,0);return t.length>0?[t.join(`
22
+ `)]:[]}let n=Du(e);return n?typeof e.type==`string`&&vu.has(e.type)?[`${fu[xu(e,`tag`)??``]??``}${n}`]:typeof e.type==`string`&&yu.has(e.type)?[`> ${n}`]:[n]:[]}function ju(e){try{let t=Kl(e)?.root;return bu(t)?Su(t).flatMap(Au).join(`
23
+
24
+ `):``}catch{return``}}function Mu(e,t){return[e.trim(),ju(t)].filter(Boolean).join(`
25
+
26
+ `)}var Nu=`title.slug.lexical.tags.custom_excerpt.feature_image.feature_image_alt.feature_image_caption.featured.visibility.tiers.authors.meta_title.meta_description.canonical_url.custom_template.codeinjection_head.codeinjection_foot.og_image.og_title.og_description.twitter_image.twitter_title.twitter_description.show_title_and_feature_image.updated_at`.split(`.`),Pu=new Set([`tiers`,`authors`]),Fu=new Set([`title`,`lexical`,`tags`,`updated_at`]);function Iu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Lu(e){return Array.isArray(e)?e.map(Lu):Iu(e)?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Lu(t)])):e}function Ru(e){let t={};for(let n of Nu)t[n]=Lu(e[n]);return t}function zu(e){let t={};for(let n of Nu)n in e&&e[n]!==void 0&&(t[n]=Lu(e[n]));return t}function Bu(e){return e instanceof Error?e.message:String(e)}function Vu(e){return e==null?null:typeof e==`string`?e:JSON.stringify(e)}function Hu(e){return(e??[]).map(e=>e.name??``)}function Uu(e,t){let n=e??[],r=t??[];return n.length===r.length&&n.every((e,t)=>An(e,r[t]))}function Wu(e){return(e??[]).map(e=>e.id??``)}function Gu(e,t,n){return e===`tags`?Uu(t,n):Pu.has(e)?bn(Wu(t),Wu(n)):bn(t,n)}function Ku(e,t){if(e===null||t===null)return!1;let n=Date.parse(e),r=Date.parse(t);return!Number.isNaN(n)&&!Number.isNaN(r)&&n<r}function qu(e={}){let t=e.siteUrl??``,n=null,r=!1,i=new Set,a=null,o=null,s={status:`pending`},c=null,l=!1;function u(e,n){return su(e,n,t)}function d(e,t,n){if(e===`lexical`)try{return u(t,n)}catch{return!1}return Gu(e,t,n)}function f(e){return!l&&a!==null&&e===n}function p(e){return f(e)||e===null&&r&&!l&&a!==null}function m(){let e={};if(!a||!o)return e;for(let t of Nu)!Fu.has(t)&&!d(t,a[t],o[t])&&(e[t]=[a[t],o[t]]);return e}function h(){if(!a||!o)return[];let e=[];if(c&&e.push({code:`POST_HAS_ERROR`,reason:`isError`,context:{messages:c.messages}}),!Uu(a.tags,o.tags)){let t=Hu(o.tags),n=Hu(a.tags);e.push({code:`POST_TAGS_DIVERGED`,reason:`tags are different`,context:{currentTags:t,previousTags:n}})}o.title.trim()!==a.title.trim()&&e.push({code:`POST_TITLE_DIVERGED`,reason:`title is different`,context:{current:a.title,scratch:o.title}});let t=o.lexical;try{u(a.lexical,t)||(s.status===`pending`?e.push({code:`BASELINE_PENDING`,reason:`main editor content has diverged from saved content before the hidden editor reported`,context:{lexical:a.lexical,scratch:t}}):s.status===`failed`?e.push({code:`BASELINE_FAILED`,reason:`main editor content has diverged from saved content and the hidden editor failed`,context:{lexical:a.lexical,scratch:t,error:s.error}}):u(s.lexical,t)||e.push({code:`SCRATCH_DIVERGED_FROM_SECONDARY`,reason:`main editor content has diverged from both hidden editor and saved content`,context:{secondaryLexical:s.lexical,lexical:a.lexical,scratch:t}}))}catch(t){e.push({code:`LEXICAL_PARSE_FAILED`,reason:`lexical state could not be parsed for comparison`,context:{error:Bu(t)}})}let r=m();return Object.keys(r).length>0&&e.push(n===null?{code:`NEW_POST_HAS_CHANGED_ATTRIBUTES`,reason:`post.changedAttributes.length > 0`,context:r}:{code:`POST_HAS_DIRTY_ATTRIBUTES`,reason:`post.hasDirtyAttributes === true`,context:r}),e}return{load(e,t){l||(n=e,r=!1,e!==null&&i.add(e),a=Ru(t),o=Ru(t),s={status:`pending`},c=null)},setSaved(e,t){if(!f(e)||!a||!o)return;let n=Ru(t);Ku(n.updated_at,a.updated_at)||(a=n,o={...o,updated_at:n.updated_at})},saveAcknowledged(e,t,u){if(l||!a||!o||n!==null&&e!==n||n===null&&e!==null&&i.has(e))return;let f=Ru(u),p={...o};for(let e of Nu){let n=t[e]===void 0?a[e]:t[e];(e===`updated_at`||d(e,o[e],n))&&(p[e]=f[e])}n===null&&e!==null&&(r=!0,i.add(e)),n=e,d(`lexical`,a.lexical,f.lexical)||(s={status:`ready`,lexical:f.lexical}),a=f,o=p,c=null},setBaseline(e,t){p(e)&&(s={status:`ready`,lexical:Vu(t)})},baselineFailed(e,t){p(e)&&(s={status:`failed`,error:Bu(t)})},setLive(e,t){if(!p(e)||!o)return;let n=zu(t);delete n.updated_at,o={...o,...n}},markSaveError(e){l||(c={messages:e})},clearSaveError(){l||(c=null)},revisionRestored(e,t){if(!f(e)||!a||!o)return;let n=Lu({lexical:t.lexical,title:t.title,custom_excerpt:t.custom_excerpt,feature_image:t.feature_image,feature_image_alt:t.feature_image_alt,feature_image_caption:t.feature_image_caption});a={...a,...n},o={...o,...n},s={status:`pending`},c=null},verdict({includeDiff:e=!1}={}){let n=h(),r={dirty:n.length>0,reasons:n};return e&&s.status===`ready`&&n.some(e=>e.code===`SCRATCH_DIVERGED_FROM_SECONDARY`)&&(r.diff=du(s.lexical,o?.lexical,t)),r},isFieldDirty(e){return!!a&&!!o&&e!==`updated_at`&&!d(e,a[e],o[e])},hasChangedSinceRevision(e){if(l||!a)return!1;if(!e)return!0;if(n===null)return!1;if(a.title!==e.title||a.custom_excerpt!==(e.custom_excerpt??null)||a.feature_image!==(e.feature_image??null))return!0;try{return!u(a.lexical,e.lexical)}catch{return!0}},dispose(){l=!0,n=null,r=!1,i.clear(),a=null,o=null,s={status:`pending`},c=null}}}var Ju=`UPDATE_COLLISION`;function Yu(e){return e instanceof d?e.data?.errors?.[0]?.code??void 0:void 0}function Xu(e){return e instanceof _?e.response?.status:void 0}function Zu(e,t){return e instanceof Error&&e.message?e.message:t}function Qu(e,t){return{kind:(()=>{if(Yu(e)===Ju)return`conflict`;if(e instanceof w||e instanceof s)return`session-invalid`;if(e instanceof m)return`host-limit`;if(e instanceof f||e instanceof S||e instanceof l)return`transport`;if(e instanceof u||e instanceof T)return`validation`;let t=Xu(e);return t===401?`session-invalid`:t===404?`not-found`:t===422?`validation`:`unknown`})(),message:Zu(e,t),cause:e}}var $u=function(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}};function ed(e){let t=Promise.resolve(),n=$u();function r(e){return t=e.catch(()=>void 0),e}async function i(){let e;do e=t,await Promise.race([e,n.promise]);while(e!==t)}async function a(t){let n=await r(e.titleCommitted(t));return n.source===`generated`?{slug:n.slug,source:`generated`}:{slug:e.getState().slug,source:`unchanged`}}function o(){t=Promise.resolve();let e=n;n=$u(),e.resolve()}return{port:{settled:i,fromTitle:a},commitTitle:t=>void r(e.titleCommitted(t)),editSlug:t=>{let i=e.getState().slug,a=n.promise;return Promise.race([r(e.slugEdited(t)),a.then(()=>({slug:i,source:`unchanged`,reason:`stale`}))])},titleReplaced:t=>{o(),e.loaded({slug:e.getState().slug,title:t})},reset:o}}function td({identity:e,status:t,publishedAt:n,publishedAtDirty:r,title:i,slug:a,slugIsCustom:o,verdict:s,changedSinceLastRevision:c,version:l}){let u={status:t,publishedAt:n,title:i,slug:a,slugIsCustom:o,isDirty:s.dirty||r,titleDirty:s.reasons.some(e=>e.code===`POST_TITLE_DIVERGED`),changedSinceLastRevision:c,version:l};return e.id===null?{id:null,updatedAt:null,...u}:{id:e.id,updatedAt:e.updatedAt,...u}}function nd(e){return{title:``,slug:``,lexical:null,tags:[],custom_excerpt:null,feature_image:null,feature_image_alt:null,feature_image_caption:null,featured:!1,visibility:null,tiers:[],authors:e?[{id:e}]:[],meta_title:null,meta_description:null,canonical_url:null,custom_template:null,codeinjection_head:null,codeinjection_foot:null,og_image:null,og_title:null,og_description:null,twitter_image:null,twitter_title:null,twitter_description:null,show_title_and_feature_image:null,updated_at:null}}function rd(e){return{title:e.title,slug:e.slug,lexical:e.lexical??null,tags:e.tags??[],custom_excerpt:e.custom_excerpt??null,feature_image:e.feature_image??null,feature_image_alt:e.feature_image_alt??null,feature_image_caption:e.feature_image_caption??null,featured:e.featured??!1,visibility:e.visibility??null,tiers:e.tiers??[],authors:e.authors??[],meta_title:e.meta_title??null,meta_description:e.meta_description??null,canonical_url:e.canonical_url??null,custom_template:e.custom_template??null,codeinjection_head:e.codeinjection_head??null,codeinjection_foot:e.codeinjection_foot??null,og_image:e.og_image??null,og_title:e.og_title??null,og_description:e.og_description??null,twitter_image:e.twitter_image??null,twitter_title:e.twitter_title??null,twitter_description:e.twitter_description??null,show_title_and_feature_image:`show_title_and_feature_image`in e?e.show_title_and_feature_image??null:null,updated_at:e.updated_at}}function id(e){let t=Gc(e?.post_revisions);if(t.length===0)return null;let n=t.reduce((e,t)=>Kc(t)>=Kc(e)?t:e);return{lexical:n.lexical??null,title:n.title??``,custom_excerpt:n.custom_excerpt??null,feature_image:n.feature_image??null}}var ad=[`title`,`slug`];function od(e,t){if(e===null||t===null)return e===t;let n=Date.parse(e),r=Date.parse(t);return!Number.isNaN(n)&&!Number.isNaN(r)&&Math.floor(n/6e4)===Math.floor(r/6e4)}function sd(e,t){if(!t)return!1;let n=Date.parse(e),r=Date.parse(t);return!Number.isNaN(n)&&!Number.isNaN(r)&&n<r}function cd({record:e,siteUrl:t,currentUserId:n,saveFailureMessage:r,transport:i,onIdAcquired:a,onError:o}){let s=e?{id:e.id,updatedAt:e.updated_at??``}:{id:null,updatedAt:null},c=e?.status??`draft`,l=e?.published_at??null,u=null,d=0,f=e?rd(e):nd(n),p=id(e),m=0,h=!1,g=new Set,_=new Map,v=null;function y(){return u??l}function b(){od(u,l)&&(v===null||d<=v)&&(u=null)}let x=qu({siteUrl:t});x.load(s.id,f);let S=Tl({generateSlug:e=>i.generateSlug(e,s.id),onListenerError:o});S.loaded({slug:f.slug,title:f.title});let C=ed(S),w=new Set,T,E=S.getState().slug;function D(){for(let e of w)try{e()}catch(e){o(e)}}function O(){let e=P().isDirty;e!==T&&(T=e,D())}function k(){let e=S.getState().slug;e!==E&&(E=e,D())}function A(e){let t=f;f={...f,...e},m+=1;for(let n of xs)e[n]!==void 0&&!Gu(n,t[n],e[n])&&_.set(n,m);x.setLive(s.id,e),O()}function j(e,t){for(let n of ad){let r=t[n];r===void 0||r===e[n]||f[n]!==e[n]||(f={...f,[n]:r},x.setLive(s.id,{[n]:r}))}}function ee(e){return x.isFieldDirty(e)?!1:v===null||(_.get(e)??0)<=v}function M(e,t){let n={};for(let r of xs)t(r)&&f[r]!==e[r]&&(n[r]=e[r]);Object.keys(n).length!==0&&(f={...f,...n},x.setLive(s.id,n))}function N(){return f.authors.length===0&&x.isFieldDirty(`authors`)}function P(){let e=x.verdict();return td({identity:s,status:c,publishedAt:y(),publishedAtDirty:u!==null,title:f.title,slug:S.getState().slug,slugIsCustom:S.getState().mode===`custom`,verdict:{...e,dirty:e.dirty||g.size>0},changedSinceLastRevision:x.hasChangedSinceRevision(p),version:m})}T=P().isDirty;let F=S.subscribe(k);function te(e){let t=e.snapshot.id===null,r={title:e.title,slug:e.slug,lexical:f.lexical,feature_image:f.feature_image,feature_image_alt:f.feature_image_alt,feature_image_caption:f.feature_image_caption,updated_at:e.snapshot.updatedAt},i={title:r.title,slug:r.slug,lexical:r.lexical,feature_image:r.feature_image,feature_image_alt:r.feature_image_alt,feature_image_caption:r.feature_image_caption,status:e.target.status,published_at:e.target.publishedAt};t&&n&&(i.authors=[{id:n}]);let a=r;for(let e of xs)x.isFieldDirty(e)&&(a[e]=f[e],i[e]=ws(e,f[e]));if(f.visibility===`tiers`&&(`visibility`in i||`tiers`in i)&&(r.visibility=f.visibility,i.visibility=f.visibility,r.tiers=f.tiers,i.tiers=f.tiers),!t){if(!r.updated_at)return Promise.reject(Error(`Cannot save without the version this post was loaded at.`));i.id=e.snapshot.id,i.updated_at=r.updated_at}return e.target.emailOnly!==void 0&&(i.email_only=e.target.emailOnly),Promise.resolve({...e,projection:r,authoredFrom:{title:f.title,slug:f.slug},validated:{visibility:f.visibility,tiers:f.tiers,meta_title:f.meta_title,meta_description:f.meta_description},builtAtVersion:m,payload:i,options:{saveRevision:e.saveRevision,newsletter:e.target.newsletter,emailSegment:e.target.emailSegment},isCreate:t})}async function ne(e){let t=js(e.validated);if(t)return{ok:!1,error:{kind:`validation`,message:t}};if(e.target.publishedAt!==l&&ks(e.target.status,e.target.publishedAt))return{ok:!1,error:{kind:`validation`,message:Os}};if(e.projection.authors?.length===0)return{ok:!1,error:{kind:`validation`,message:Cs}};v=e.builtAtVersion;try{let t=e.isCreate?await i.create(e.payload):await i.update(e.payload,e.options);return t?{ok:!0,result:{id:t.id,status:t.status??`draft`,updatedAt:t.updated_at??``,post:t}}:(v=null,b(),{ok:!1,error:{kind:`unknown`,message:r}})}catch(e){return v=null,b(),{ok:!1,error:Qu(e,r)}}}function I(e,t){let n={title:e.projection.title??e.authoredFrom.title,slug:e.projection.slug??e.authoredFrom.slug};j(e.authoredFrom,n);let r=Object.fromEntries(xs.filter(t=>e.projection[t]===void 0&&(_.get(t)??0)>e.builtAtVersion).map(e=>[e,f[e]])),i=rd(t.post);x.saveAcknowledged(t.id,e.projection,i),x.setLive(t.id,r),j(n,{title:i.title,slug:i.slug}),v=null,M(i,ee),S.saveAcknowledged(n,{title:i.title,slug:i.slug});let o=s.id===null;s={id:t.id,updatedAt:t.updatedAt},c=t.status,l=t.post.published_at??null,d<=e.builtAtVersion&&(u=null),b(),p=id(t.post),f={...f,updated_at:t.updatedAt},o&&a(t.id),O()}let L=yc({getSnapshot:P,slug:C.port,prepare:te,execute:ne,reconcile:I,onStateChange:e=>{(e.kind===`error`||e.kind===`conflict`)&&x.markSaveError(e.error.message),O()},onListenerError:o});function R(){c!==`draft`||js(f)||N()||ks(c,y())||L.dispatch(`field`)}async function re(e){if(h)return`unchanged`;let t=Symbol();g.add(t);let n=C.editSlug(e);O();try{let e=await n;return h||!g.has(t)?`unchanged`:e.source===`unchanged`?e.reason===`error`?(o(e.error),`failed`):e.reason===`empty-result`?`failed`:`unchanged`:(A({slug:e.slug}),R(),`applied`)}finally{g.delete(t),h||O()}}return{getState:()=>L.getState(),subscribe:e=>{let t=L.subscribe(e);return w.add(e),()=>{t(),w.delete(e)}},getSaveSnapshot:P,isDirty:()=>P().isDirty,hasUnsavedContent:()=>u!==null||g.size>0||x.verdict().reasons.some(e=>e.code!==`POST_HAS_ERROR`),patchTitle:e=>A({title:e.trim()?e:ec}),patchExcerpt:e=>A({custom_excerpt:e===``?null:e}),patchFeatureImage:e=>A(e),patchFields:A,getFields:()=>f,commitField:R,getSlug:()=>S.getState().slug,editSlug:re,editPublishedAt:e=>{od(e,y())||(u=od(e,l)?l:ic(e),m+=1,d=m,b(),O())},getPublishedAt:y,patchLexical:e=>A({lexical:JSON.stringify(e)}),restoreRevision:async e=>{if(h||e.lexical===null||L.getState().kind===`reauth-pending`)return!1;let t={...e,title:e.title.trim()?e.title:ec},n={lexical:f.lexical,title:f.title,custom_excerpt:f.custom_excerpt,feature_image:f.feature_image,feature_image_alt:f.feature_image_alt,feature_image_caption:f.feature_image_caption};A(t),C.titleReplaced(t.title);let r=L.subscribe(()=>{L.getState().kind===`reauth-pending`&&L.reauthAbandoned()});return(await L.dispatch(`explicit`).finally(r)).kind===`saved`?(x.revisionRestored(s.id,t),O(),!0):(A(n),C.titleReplaced(n.title),!1)},setBaseline:e=>{x.setBaseline(s.id,e),O()},baselineFailed:e=>{x.baselineFailed(s.id,e),O()},commitTitle:e=>{c===`draft`&&C.commitTitle(e)},dispatchField:()=>void L.dispatch(`field`),dispatchAutosave:()=>void L.dispatch(`autosave`),dispatchExplicit:()=>L.dispatch(`explicit`),dispatchPublish:e=>L.dispatch(`publish`,e),dispatchSchedule:e=>L.dispatch(`schedule`,e),dispatchRevert:()=>L.dispatch(`revert`),getLiveLexical:()=>f.lexical,recordRefetched:e=>{let t=e.updated_at??``;if(h||s.id!==e.id||!gc(t)||sd(t,s.updatedAt))return!1;let n=new Set(xs.filter(ee)),r=rd(e);return x.setSaved(e.id,r),M(r,e=>n.has(e)),s={id:e.id,updatedAt:t},c=e.status??c,l=e.published_at??null,b(),p=id(e),O(),!0},recordReloaded:e=>{let t=e.updated_at??``;return h||s.id!==e.id||!gc(t)||sd(t,s.updatedAt)||L.getState().kind!==`conflict`||!L.contentReloaded(t)?!1:(s={id:e.id,updatedAt:t},c=e.status??`draft`,l=e.published_at??null,p=id(e),f=rd(e),u=null,d=0,g.clear(),_.clear(),v=null,m+=1,x.load(s.id,f),S.loaded({slug:f.slug,title:f.title}),C.reset(),O(),!0)},reauthSucceeded:()=>L.reauthSucceeded(),reauthAbandoned:()=>L.reauthAbandoned(),leaveRequested:()=>L.leaveRequested(),dispose:()=>{h=!0,g.clear(),F(),C.reset(),L.dispose(),x.dispose(),w.clear()}}}function ld(e){return t=>{switch(t.kind){case`publish`:return e.publish(t.options);case`schedule`:return e.schedule(t.options);default:return e.revert()}}}function ud(){let e=L();return e.state?.editorSession??e.key}function dd(e){let t=e.getSaveSnapshot();return{status:t.status,publishedAt:t.publishedAt}}function fd(e,t){return e.status===t.status&&e.publishedAt===t.publishedAt}function pd(e){let t={};for(let n of xs)t[n]=e[n];return t}function md(e){console.error(e),i(e)}function hd({postType:e,record:t,siteUrl:n,currentUserId:r}){let i=g(),a=o(),s=Vl(),{mutateAsync:c}=N(),{mutateAsync:l}=ee(),{mutateAsync:u}=Tn(),{mutateAsync:d}=wn(),[f,m]=(0,Z.useState)(t?.id??null),[h,v]=(0,Z.useState)(()=>t?.title===`(Untitled)`?``:t?.title??``),[y,b]=(0,Z.useState)(()=>t?.custom_excerpt??``),[x,S]=(0,Z.useState)(()=>t?.lexical??null),[C,w]=(0,Z.useState)(t),[T,E]=(0,Z.useState)(0),D=(0,Z.useRef)({addPost:c,editPost:l,addPage:u,editPage:d,generateSlug:s,postType:e});(0,Z.useEffect)(()=>{D.current={addPost:c,editPost:l,addPage:u,editPage:d,generateSlug:s,postType:e}});let[O]=(0,Z.useState)(()=>cd({record:t,siteUrl:n,currentUserId:r,saveFailureMessage:`Couldn’t save this ${e}.`,onIdAcquired:m,onError:md,transport:{create:async e=>{let t=D.current;if(t.postType===`page`){let{pages:n}=await t.addPage({page:e,sessionExpiryRedirect:!1});return n[0]}let{posts:n}=await t.addPost({post:e,sessionExpiryRedirect:!1});return n[0]},update:async(e,t)=>{let n=D.current;if(n.postType===`page`){let{pages:r}=await n.editPage({page:e,options:t,sessionExpiryRedirect:!1});return r[0]}let{posts:r}=await n.editPost({post:e,options:t,sessionExpiryRedirect:!1});return r[0]},generateSlug:(e,t)=>D.current.generateSlug({type:`post`,text:e,id:t??void 0,sessionExpiryRedirect:!1})}})),k=(0,Z.useRef)(void 0);(0,Z.useEffect)(()=>(clearTimeout(k.current),()=>{k.current=setTimeout(()=>O.dispose())}),[O]);let A=(0,Z.useSyncExternalStore)(O.subscribe,O.getState),j=(0,Z.useSyncExternalStore)(O.subscribe,O.isDirty),te=(0,Z.useSyncExternalStore)(O.subscribe,O.getSlug),[ne,I]=(0,Z.useState)(()=>pd(O.getFields())),[L,R]=(0,Z.useState)(()=>dd(O)),re=(0,Z.useCallback)(e=>{O.patchFields(e),I(pd(O.getFields()))},[O]),z=(0,Z.useCallback)(e=>{let t=dd(O);O.editPublishedAt(e);let n=dd(O);fd(t,n)||(R(n),O.commitField())},[O]),B=(0,Z.useCallback)(()=>O.commitField(),[O]),V=(0,Z.useCallback)(e=>{re(e),O.commitField()},[O,re]);(0,Z.useEffect)(()=>{let e=pd(O.getFields());I(t=>xs.every(n=>t[n]===e[n])?t:e),b(e.custom_excerpt??``);let t=dd(O);R(e=>fd(e,t)?e:t)},[O,A]);let H=F(f??``,{enabled:e===`post`&&!!f,defaultErrorHandler:!1,requestOptions:Q}),U=Dn(f??``,{enabled:e===`page`&&!!f,defaultErrorHandler:!1,requestOptions:Q}),W=e===`page`?U.data?.pages[0]:H.data?.posts[0];(0,Z.useEffect)(()=>{if(W&&O.recordRefetched(W)){w(W);let e=O.getFields();I(pd(e)),b(e.custom_excerpt??``),R(dd(O))}},[W,O]);let ie=(0,Z.useCallback)(async()=>{if(!f)return`failed`;let t=p(e===`page`?`/pages/${f}/`:`/posts/${f}/`,M()),n=[e===`page`?En:P,t],r;try{r=await i(t,Q)}catch(e){return e instanceof _&&e.response?.status===404?`gone`:`failed`}let o=e===`page`?r.pages?.[0]:r.posts?.[0];if(!o)return`gone`;let s=a.getQueryData(n),c=e===`page`?s?.pages?.[0]:s?.posts?.[0];return s&&c&&c.id===o.id&&gc(c.updated_at)&&gc(o.updated_at)&&Date.parse(c.updated_at)>Date.parse(o.updated_at)&&(r=s,o=c),O.recordReloaded(o)?(await a.cancelQueries({queryKey:n,exact:!0}),a.setQueryData(n,r),v(o.title===`(Untitled)`?``:o.title),b(o.custom_excerpt??``),I(pd(O.getFields())),R(dd(O)),S(o.lexical??null),w(o),E(e=>e+1),`reloaded`):`failed`},[i,f,e,a,O]),G=(0,Z.useCallback)(async e=>{if(!await O.restoreRevision(e))return!1;let t=O.getFields();return v(t.title===`(Untitled)`?``:t.title),b(t.custom_excerpt??``),I(pd(t)),S(e.lexical),w(n=>n&&{...n,...e,title:t.title}),E(e=>e+1),!0},[O]),ae=(0,Z.useCallback)(()=>Mu(h,O.getLiveLexical()),[O,h]),oe=!t,se=(0,Z.useCallback)(e=>{v(e),O.patchTitle(e)},[O]),ce=(0,Z.useCallback)(e=>{b(e),O.patchExcerpt(e)},[O]),le=(0,Z.useCallback)(()=>{O.commitTitle(h),O.dispatchField()},[O,h]),ue=(0,Z.useCallback)(e=>{O.patchLexical(e),O.dispatchAutosave()},[O]),de=(0,Z.useCallback)(e=>O.setBaseline(e),[O]),fe=(0,Z.useCallback)(e=>O.baselineFailed(e),[O]),pe=(0,Z.useMemo)(()=>ld({publish:O.dispatchPublish,schedule:O.dispatchSchedule,revert:O.dispatchRevert}),[O]);return{bind:{title:h,excerpt:y,initialLexical:x,onTitleChange:se,onTitleBlur:le,onExcerptChange:ce,onLexicalChange:ue,onSecondaryChange:de,onSecondaryError:fe},state:A,createdId:oe?f:null,isDirty:()=>j,contentKey:T,loadedRecord:C,hasUnsavedContent:O.hasUnsavedContent,contentText:ae,reload:ie,restoreRevision:G,patchFeatureImage:O.patchFeatureImage,settings:ne,editSettings:V,stageSettings:re,commitSettings:B,slug:te,editSlug:O.editSlug,publishTime:L,editPublishedAt:z,getSaveSnapshot:O.getSaveSnapshot,getLiveLexical:O.getLiveLexical,dispatchField:O.dispatchField,dispatchExplicit:()=>void O.dispatchExplicit(),saveExplicit:O.dispatchExplicit,dispatchPublish:pe,reauthSucceeded:O.reauthSucceeded,reauthAbandoned:O.reauthAbandoned,leaveRequested:O.leaveRequested,dispose:O.dispose}}function gd(e,t){let n=L(),r=R(),i=ud(),a=e.isDirty(),o=zl(e.state,a),[s,c]=(0,Z.useState)(!1),l=xn({when:o,confirmUnloadWhen:o,interceptNavigation:({currentLocation:e,nextLocation:n})=>Bl(e,n,t,i)}),u=(0,Z.useRef)(l);u.current=l;let d=(0,Z.useRef)(!1),f=(0,Z.useRef)(!0);(0,Z.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=l.interceptedNavigation.isBlocked,m=e.createdId;(0,Z.useEffect)(()=>{if(!m||l.isBlocked||p||d.current)return;let e=`/editor/${t}/${m}`;n.pathname!==e&&r(e,{replace:!0,state:{editorSession:i}})},[m,l.isBlocked,p,n.pathname,r,t,i]),(0,Z.useEffect)(()=>{p&&u.current.interceptedNavigation.proceed()},[p]);let{isBlocked:h}=l,{leaveRequested:g}=e,_=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{if(!h){_.current=!1,d.current||c(!1);return}_.current||(_.current=!0,g().then(e=>{if(f.current){if(e===`confirm`){c(!0);return}d.current=!0,u.current.dialogProps.onConfirm()}}))},[h,g]);let v=l.dialogProps;return{dialogProps:{open:s,onConfirm:()=>{d.current||(d.current=!0,v.onConfirm())},onOpenChange:e=>{d.current||(e||c(!1),v.onOpenChange(e))}}}}function _d(e,t){return e.map(e=>({label:`Offer — ${e.name}`,value:`${t}${e.code.replace(/^\//,``)}`}))}function vd(e,t){let n=[{label:`Homepage`,value:e.homepageUrl},{label:`Free signup`,value:`#/portal/signup/free`}],r=[{label:`Share ${e.postType}`,value:`#/share`}],i=e.paidMembersEnabled?[{label:`Paid signup`,value:`#/portal/signup`},{label:`Upgrade or change plan`,value:`#/portal/account/plans`}]:[],a=e.donationsEnabled?[{label:`Tips and donations`,value:`#/portal/support`}]:[],o=e.recommendationsEnabled?[{label:`Recommendations`,value:`#/portal/recommendations`}]:[],s=e.paidMembersEnabled?[{label:`Gift subscriptions`,value:`#/portal/gift`}]:[];return[...n,...i,...a,...s,...r,...o,...t]}function yd(e,t){let n=new Intl.DateTimeFormat(`en-US`,{day:`numeric`,month:`short`,year:`numeric`,timeZone:t}).formatToParts(new Date(e)),r=e=>n.find(t=>t.type===e)?.value??``;return`${r(`day`)} ${r(`month`)} ${r(`year`)}`}function bd(e,t){let n={...e};return e.publishedAt&&(n.metaText=yd(e.publishedAt,t.timezone)),t.membersEnabled&&e.visibility&&(e.visibility===`members`?(n.MetaIcon=ae,n.metaIconTitle=`Members only`):e.visibility===`paid`?(n.MetaIcon=de,n.metaIconTitle=`Paid-members only`):e.visibility===`tiers`&&(n.MetaIcon=de,n.metaIconTitle=`Specific tiers only`)),n}function xd(e,t){let n=[];return e.forEach(e=>{let r=e.options.filter(e=>e.url);(e.groupName===`Posts`||e.groupName===`Pages`)&&(r=r.filter(e=>e.status===`published`)),e.groupName===`Staff`&&(r=r.filter(e=>!/\/404\//.test(e.url??``))),r.length!==0&&((e.groupName===`Posts`||e.groupName===`Pages`)&&(r=r.map(e=>bd(e,t))),n.push({label:e.groupName,items:r}))}),n}function Sd(e,t){return[{label:`Latest posts`,items:e.map(e=>bd({id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.published_at},t))}]}function Cd(e,t,n){return{groupName:e,options:Td(t,n,e=>e.title).map(t=>({id:`${e===`Posts`?`post`:`page`}.${t.id}`,title:t.title,url:t.url,status:t.status,visibility:t.visibility,publishedAt:t.published_at}))}}function wd(e,t,n){return{groupName:e,options:Td(t,n,e=>e.name).map(t=>({id:`${e===`Staff`?`user`:`tag`}.${t.id}`,title:t.name,url:t.url}))}}function Td(e,t,n){let r=t.trim().toLowerCase();return r?e.filter(e=>n(e).toLowerCase().includes(r)):[]}function Ed({postType:e,homepageUrl:t,paidMembersEnabled:n,donationsEnabled:r,recommendationsEnabled:i,membersEnabled:a,timezone:o}){let s=g(),c=(0,Z.useRef)({index:{}}),l=(0,Z.useCallback)(e=>{let t=c.current.index[e];if(t)return t;let n=s(p(`/search-index/${e}/`),Q).then(t=>t[e]).catch(()=>(delete c.current.index[e],[]));return c.current.index[e]=n,n},[s]),u=(0,Z.useCallback)(async()=>{c.current.offerLinks??=s(p(`/offers/`,{filter:`status:active+redemption_type:signup`}),Q).then(e=>_d(e.offers??[],t)).catch(()=>(delete c.current.offerLinks,[]));let a=await c.current.offerLinks;return vd({postType:e,homepageUrl:t,paidMembersEnabled:n,donationsEnabled:r,recommendationsEnabled:i},a)},[s,e,t,n,r,i]),d=(0,Z.useMemo)(()=>({timezone:o,membersEnabled:a}),[o,a]);return{fetchAutocompleteLinks:u,searchLinks:(0,Z.useCallback)(async e=>{if(!e)return c.current.latestPosts??=s(p(`/posts/`,{filter:`status:published`,fields:`id,url,title,visibility,published_at`,order:`published_at desc`,limit:`5`}),Q).then(e=>Sd(e.posts,d)).catch(e=>{throw delete c.current.latestPosts,e}),c.current.latestPosts;let[t,n,r,i]=await Promise.all([l(`users`),l(`tags`),l(`posts`),l(`pages`)]);return xd([wd(`Staff`,t,e),wd(`Tags`,n,e),Cd(`Posts`,r,e),Cd(`Pages`,i,e)],d)},[s,l,d])}}function Dd({post:e,snippets:t,createSnippet:n,deleteSnippet:r}){let{data:i}=yt({requestOptions:Q}),{data:o}=te({requestOptions:Q}),{data:s}=zt({requestOptions:Q}),{data:c}=y({requestOptions:Q}),{unsplashConfig:l}=a(),u=ut({requestOptions:Q}),d=O(Q),f=g(),m=i?.settings??null,h=o?.config,_=s?.site,v=(0,Z.useRef)(null),b=(0,Z.useCallback)(()=>(v.current??=f(p(`/labels/`,{limit:`all`,fields:`id,name`}),Q).then(e=>e.labels.map(e=>e.name)).catch(e=>{throw v.current=null,e}),v.current),[f]),{fetchAutocompleteLinks:x,searchLinks:S}=Ed({postType:e.displayName,homepageUrl:_?Kt(_):`/`,paidMembersEnabled:X(m,`paid_members_enabled`)===!0,donationsEnabled:X(m,`donations_enabled`)===!0,recommendationsEnabled:X(m,`recommendations_enabled`)===!0,membersEnabled:X(m,`members_signup_access`)!==`none`,timezone:X(m,`timezone`)??`Etc/UTC`}),C=X(m,`default_content_visibility`)??`public`,w=(0,Z.useMemo)(()=>di(e,C),[e,C]);return(0,Z.useMemo)(()=>!m||!h||!_||!c?null:pi({settings:m,config:h,site:_,currentUser:c,unsplashHeaders:l,pinturaConfig:u,post:w,snippets:t},{fetchEmbed:d,fetchAutocompleteLinks:x,searchLinks:S,fetchLabels:b,createSnippet:n,deleteSnippet:r}),[m,h,_,c,l,u,w,t,d,x,S,b,n,r])}var Od=`SnippetsResponseType`,kd=`mobiledoc,lexical`,Ad=x({dataType:Od,path:`/snippets/`,defaultSearchParams:{limit:`all`,formats:kd}}),jd=({searchParams:e,...t}={})=>Ad({...t,searchParams:{limit:`all`,...e,formats:kd}}),Md=!1,Nd=v({method:`POST`,sessionExpiryRedirect:Md,path:()=>`/snippets/`,searchParams:()=>({formats:kd}),body:e=>({snippets:[e]}),invalidateQueries:{dataType:Od}}),Pd=v({method:`PUT`,sessionExpiryRedirect:Md,path:({id:e})=>`/snippets/${e}/`,searchParams:()=>({formats:kd}),body:({id:e,...t})=>({snippets:[t]}),invalidateQueries:{dataType:Od}}),Fd=v({method:`DELETE`,sessionExpiryRedirect:Md,path:e=>`/snippets/${e}/`,invalidateQueries:{dataType:Od}});function Id({canManage:e}){let{data:t}=jd({requestOptions:Q}),n=Nd(),r=Pd(),i=Fd(),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(!1),l=(0,Z.useMemo)(()=>(t?.snippets??[]).filter(e=>e.lexical!==null).sort((e,t)=>e.name.localeCompare(t.name)),[t?.snippets]),u=(0,Z.useMemo)(()=>l.map(e=>({id:e.id,name:e.name,value:e.lexical??``})),[l]),d=(0,Z.useCallback)(e=>{let t=e.name.trim().toLowerCase(),r=l.find(e=>e.name.toLowerCase()===t);if(r){o({kind:`update`,snippet:r,value:e.value});return}n.mutateAsync({name:e.name,lexical:e.value,mobiledoc:`{}`}).then(()=>E.success(`Snippet saved as "${e.name}"`)).catch(()=>E.error(`Snippet save failed`))},[n,l]),f=(0,Z.useCallback)(({name:e})=>{let t=l.find(t=>t.name===e);t&&o({kind:`delete`,snippet:t})},[l]),p=()=>o(null),m=async()=>{if(a){c(!0);try{a.kind===`update`?(await r.mutateAsync({id:a.snippet.id,name:a.snippet.name,lexical:a.value,mobiledoc:a.snippet.mobiledoc||`{}`}),E.success(`Snippet "${a.snippet.name}" updated`)):await i.mutateAsync(a.snippet.id)}catch{E.error(a.kind===`update`?`Snippet save failed`:`Snippet delete failed`)}finally{c(!1),p()}}},h=(0,$.jsx)(Pt,{open:a!==null,onOpenChange:e=>!e&&!s&&p(),children:(0,$.jsxs)(Qt,{"data-testid":`snippet-confirm-modal`,children:[(0,$.jsxs)(tn,{children:[(0,$.jsx)(Ot,{children:a?.kind===`delete`?`Confirm snippet deletion`:`Update this snippet?`}),(0,$.jsx)(Dt,{children:a?.kind===`delete`?(0,$.jsxs)($.Fragment,{children:[`You’re about to delete the “`,(0,$.jsx)(`strong`,{children:a.snippet.name}),`” snippet. This is permanent, and will delete the snippet for all staff users. It will`,` `,(0,$.jsx)(`strong`,{children:`not`}),` change any posts where you’ve used this snippet in the past.`]}):(0,$.jsxs)($.Fragment,{children:[`“`,(0,$.jsx)(`strong`,{children:a?.snippet.name}),`” will be overwritten. Don’t worry, this will only affect using the snippet in the future. Any older posts using this snippet will stay the same.`]})})]}),(0,$.jsxs)(Lt,{children:[(0,$.jsx)(K,{disabled:s,variant:`outline`,onClick:p,children:`Cancel`}),(0,$.jsx)(K,{disabled:s,variant:a?.kind===`delete`?`destructive`:`default`,onClick:()=>void m(),children:a?.kind===`delete`?`Delete snippet`:`Update`})]})]})});return{snippets:u,createSnippet:e?d:void 0,deleteSnippet:e?f:void 0,snippetDialog:h}}function Ld(){let e=document.activeElement;e instanceof HTMLInputElement&&e.type===`text`&&e.blur()}function Rd(e){let t=(0,Z.useRef)(e);t.current=e,(0,Z.useEffect)(()=>{let e=new Set,n=n=>{let r=n.metaKey||n.ctrlKey;if(n.key.toLowerCase()!==`s`||!r||n.altKey||(n.preventDefault(),n.repeat))return;Ld();let i=setTimeout(()=>{e.delete(i),t.current()});e.add(i)};return document.addEventListener(`keydown`,n),()=>{document.removeEventListener(`keydown`,n),e.forEach(clearTimeout)}},[])}function zd(){return(0,$.jsx)(U,{align:`center`,className:`h-full`,justify:`center`,children:(0,$.jsx)(Vt,{size:`lg`})})}function Bd({message:e,onRetry:t}){return(0,$.jsxs)(U,{align:`center`,className:`h-full`,"data-testid":`editor-load-error`,justify:`center`,children:[(0,$.jsx)(W,{tone:`secondary`,children:e}),(0,$.jsx)(K,{variant:`outline`,onClick:t,children:`Retry`})]})}function Vd({postType:e,children:t}){let n=e===`page`?`Pages`:`Posts`;return(0,$.jsxs)(H,{className:`shrink-0 px-4 py-3`,gap:`sm`,children:[(0,$.jsx)(K,{size:`sm`,variant:`ghost`,asChild:!0,children:(0,$.jsxs)(nn,{to:e===`page`?`/pages`:`/posts`,children:[(0,$.jsx)(ye,{}),n]})}),t]})}function Hd(e,t){if(!e)return t?{status:`draft`}:void 0;let n=`email`in e?e.email:null,r=`newsletter`in e?e.newsletter:null;return{status:e.status,publishedAt:e.published_at,url:e.url,emailOnly:`email_only`in e?e.email_only:!1,newsletter:r,emailSegment:`email_segment`in e?e.email_segment:null,hasEmail:!!n,emailStatus:n?.status??null,emailCount:n?.email_count??0}}function Ud({postType:e,record:t,createdId:n,cardConfig:r,currentUser:i,showExcerpt:a,snippetDialog:o}){let s=hd({postType:e,record:t,siteUrl:r.siteUrl,currentUserId:i?.id}),[c,l]=(0,Z.useState)(0),[u,d]=(0,Z.useState)(!1),f=(0,Z.useCallback)(()=>d(e=>!e),[]),p=Rl(s,s.loadedRecord,s.contentKey),m=gd(s,e),h=s.settings.visibility,g=s.settings.show_title_and_feature_image,_=(0,Z.useMemo)(()=>mi(r,{visibility:h,showTitleAndFeatureImage:g}),[r,g,h]);return Rd(s.dispatchExplicit),(0,$.jsxs)(U,{className:`h-full`,gap:`none`,children:[(0,$.jsxs)(Vd,{postType:e,children:[(0,$.jsx)(Ko,{isDirty:s.isDirty(),record:Hd(s.loadedRecord??t,n),state:s.state}),(0,$.jsxs)(H,{className:`ml-auto`,gap:`sm`,children:[(0,$.jsx)(Mo,{currentUser:i,postType:e,session:s,siteUrl:r.siteUrl,tkCount:c}),(0,$.jsx)(K,{"aria-expanded":u,"aria-label":`Settings`,"data-testid":Un,size:`sm`,variant:`ghost`,onClick:f,children:(0,$.jsx)(Ee,{})})]})]}),(0,$.jsx)(bs,{contentText:s.contentText,hasUnsavedContent:s.hasUnsavedContent,state:s.state,onDismissReauth:s.reauthAbandoned,onReload:s.reload,onRetryReauth:s.reauthSucceeded,onRetrySave:s.dispatchExplicit}),(0,$.jsxs)(H,{align:`stretch`,className:`relative min-h-0 flex-1`,gap:`none`,children:[(0,$.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1`,children:(0,$.jsx)(ms,{...s.bind,autofocusTitle:!t,cardConfig:_,featureImage:p,postType:e,showExcerpt:a,onExcerptBlur:s.commitSettings,onTkCountChange:l},s.contentKey)}),u?(0,$.jsx)(jl,{cardConfig:_,currentUser:i,hasInlineExcerpt:a,postType:e,session:s,siteUrl:r.siteUrl}):null]}),o,(0,$.jsx)(cn,{testId:`editor-leave-dialog`,...m.dialogProps})]})}function Wd({postType:e,record:t,createdId:n}){let{data:r}=y({requestOptions:Q}),i=$t(`editorExcerpt`,{requestOptions:Q}),{snippets:a,createSnippet:o,deleteSnippet:s,snippetDialog:c}=Id({canManage:!!r&&(Ye(r)||Qe(r)||et(r))}),[l]=(0,Z.useState)(()=>({displayName:e,showTitleAndFeatureImage:t&&`show_title_and_feature_image`in t?t.show_title_and_feature_image:void 0,visibility:t?.visibility})),u=Dd({post:l,snippets:a,createSnippet:o,deleteSnippet:s});return u?(0,$.jsx)(Ud,{cardConfig:u,createdId:n,currentUser:r,postType:e,record:t,showExcerpt:i,snippetDialog:c}):(0,$.jsx)(zd,{})}function Gd(e,t){let n=t.authors?.some(t=>t.id===e.id)??!1;return Je(e)&&!n?!0:Ze(e)&&t.status!==`draft`}function Kd(e){let{mutateAsync:t}=ee(),{mutateAsync:n}=wn(),[r,i]=(0,Z.useState)(null);return{state:r,convert:(0,Z.useCallback)(async r=>{let a={id:r.id,updated_at:r.updated_at},o={convertToLexical:!0};i({id:r.id});try{let s=e===`page`?(await n({page:a,options:o})).pages[0]:(await t({post:a,options:o})).posts[0];i(s?{id:r.id,record:s}:{id:r.id,error:!0})}catch(e){i({id:r.id,error:e})}},[n,t,e])}}function qd({postType:e,id:t}){let[n]=(0,Z.useState)(t),r=R(),{data:i}=y({requestOptions:Q}),a=F(n??``,{enabled:e===`post`&&!!n,defaultErrorHandler:!1,requestOptions:Q}),o=Dn(n??``,{enabled:e===`page`&&!!n,defaultErrorHandler:!1,requestOptions:Q}),s=e===`page`?o:a,c=e===`page`?o.data?.pages[0]:a.data?.posts[0],{state:l,convert:u}=Kd(e),d=e===`page`?`/pages`:`/posts`,f=!!i&&!!c&&Gd(i,c);(0,Z.useEffect)(()=>{f&&r(d,{replace:!0})},[f,r,d]);let p=!!i&&!!c?.mobiledoc&&!c.lexical&&!f;if((0,Z.useEffect)(()=>{p&&c&&l?.id!==c.id&&u(c)},[p,c,l?.id,u]),!n)return(0,$.jsx)(Wd,{createdId:t,postType:e});if(s.error instanceof _&&s.error.response?.status===404)return(0,$.jsx)(pt,{});if(s.error)return(0,$.jsx)(Bd,{message:`Couldn’t load this ${e}.`,onRetry:()=>void s.refetch()});if(s.isPending||!i||f)return(0,$.jsx)(zd,{});if(!c)return(0,$.jsx)(pt,{});let m=c;if(p){let t=l?.id===c.id?l:void 0;if(t?.error)return(0,$.jsx)(Bd,{message:`Couldn’t convert this ${e} for editing.`,onRetry:()=>void u(c)});if(!t?.record)return(0,$.jsx)(zd,{});m=t.record}return(0,$.jsx)(Wd,{postType:e,record:m})}function Jd(){let e=I()[`*`]??``,t=ud(),[n,r,...i]=e.split(`/`).filter(Boolean);return n?n!==`post`&&n!==`page`||i.length>0?(0,$.jsx)(pt,{}):(0,$.jsx)(qd,{id:r,postType:n},t):(0,$.jsx)(re,{to:`/editor/post`,replace:!0})}export{Jd as default};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";var n=e(t(),1),r=(0,n.createContext)(void 0),i=()=>{let e=(0,n.useContext)(r);if(!e)throw Error(`useEmailSendingStatusContext must be used within an EmailSendingStatusProvider`);return e};export{i as n,r as t};
@@ -0,0 +1 @@
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{s as r}from"./framework-provider-DqI25epG.js";import{m as i,p as a}from"./hooks-Cy_-oZ4o.js";import{t as o}from"./posts-pCPrhQeR.js";import{n as s}from"./post-utils-DKF4mfuo.js";import{t as c}from"./index-CgMCwsxN.js";import{n as l,t as u}from"./stats-D9PDLS3x.js";import{n as d,r as f,t as p}from"./emails-vFMk4yYl.js";import{t as m}from"./email-sending-status-context-CWDOD1FN.js";import{t as h}from"./feedback-DJ4Zb9rZ.js";import{t as g}from"./links-BDHPTlyj.js";import{n as _}from"./post-analytics-context-D0Mw-Pmv.js";var v=e(t(),1),y=n(),b=2e3,x=new Set([o,g,u,l,h]),S=({children:e})=>{let{post:t,refetchPost:n}=_(),o=r(),l=c(`improveSendingUI`),u=t?.email?.id,h=t?.email?.status,g=!!u&&(t?.status===`published`||t?.status===`sent`),S=l&&g&&!!h,C=d(u??``,{enabled:e=>{let t=e.state.data?.email_statuses[0]?.sending.status,n=!e.state.data&&e.state.error instanceof i&&e.state.error.response?.status===404,r=!e.state.data&&h===`submitted`;return S&&!n&&!r&&t!==`submitted`},defaultErrorHandler:!1,refetchInterval:e=>{let t=e.state.data?.email_statuses[0]?.sending.status;return t===`preparing`||t===`submitting`?b:!1},refetchIntervalInBackground:!1,refetchOnWindowFocus:!0,retry:!1}),{mutateAsync:w,isPending:T}=f(),{refetch:E}=C,D=a(),[O,k]=(0,v.useState)(!1),A=C.data?.email_statuses[0],j=A?.sending.status,M=!!(l&&u&&j===`failed`),N=p(u??``,{enabled:M,searchParams:{filter:`status:submitting`,fields:`id,status`,limit:`1`},defaultErrorHandler:!1,refetchOnWindowFocus:!0,retry:!1,staleTime:0}),P=!!(M&&(N.isFetching||N.isError||!N.data||N.data.batches.some(e=>e.status===`submitting`))),F=(0,v.useRef)(null),I=(0,v.useRef)(!1),[L,R]=(0,v.useState)(null);(0,v.useEffect)(()=>{if(!u||!j)return;let e=`${u}:${j}`;if(F.current!==e){if(F.current=e,j!==`submitted`&&R(e=>e===u?null:e),j===`failed`){n();return}j===`submitted`&&Promise.all([...x].map(e=>o.invalidateQueries({queryKey:[e]}))).then(()=>R(u))}},[u,o,n,j]);let z=S&&C.isLoading&&!A,B=!!(u&&j===`submitted`&&L!==u),V=!!(l&&A&&(A.sending.status!==`submitted`||B)),H=V?A?.sending.status===`failed`?`failed`:`sending`:null,U=!!(t&&(t.status===`published`||t.status===`sent`)&&(s(t)||l&&A&&t.email)),W=(0,v.useCallback)(async()=>{if(!(!u||I.current)){I.current=!0,k(!0);try{await w({id:u}),await E({throwOnError:!0})}catch(e){D(e)}finally{I.current=!1,k(!1)}}},[u,D,E,w]),G=T||O,K=(0,v.useMemo)(()=>({status:A,isStatusLoading:z,isNewsletterDataHidden:V,newsletterDataHiddenReason:H,hasNewsletterAnalytics:U,hasUnknownDeliveryOutcome:P,isRetrying:G,retrySending:W}),[A,z,V,H,U,P,G,W]);return(0,y.jsx)(m.Provider,{value:K,children:e})};export{S as default};
@@ -0,0 +1 @@
1
+ import{i as e,n as t}from"./hooks-Cy_-oZ4o.js";import{t as n}from"./posts-pCPrhQeR.js";import{c as r,d as i,m as a,r as o,s,t as c,u as l}from"./schemas-BoYdB6YU.js";var u=c([`pending`,`submitting`,`submitted`,`failed`]),d=i({batches:o(i({id:a(),status:u}))}),f=c([`preparing`,`submitting`]),p=i({completed:l().int().nonnegative(),total:l().int().nonnegative(),estimated_seconds_remaining:l().int().nonnegative().nullable()}),m=s(`status`,[i({status:f,progress:p}),i({status:r(`submitted`),progress:p}),i({status:r(`failed`),progress:p,failed_during:f})]),h=i({email_statuses:o(i({id:a(),sending:m}))}),g=`EmailStatusesResponseType`,_=e({dataType:`EmailBatchesResponseType`,path:e=>`/emails/${e}/batches/`,parseResponse:e=>d.parse(e)}),v=e({dataType:g,path:e=>`/emails/${e}/status/`,parseResponse:e=>h.parse(e)}),y=t({method:`PUT`,path:({id:e})=>`/emails/${e}/retry/`,body:()=>({}),requestOptions:({sessionExpiryRedirect:e})=>({sessionExpiryRedirect:e}),invalidateQueries:{dataType:n}});export{v as n,y as r,_ as t};
@@ -1,4 +1,4 @@
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{t as r}from"./use-filterable-api-CzXcpUh8.js";import{t as i}from"./inline-BWSs_VzR.js";import{t as a}from"./stack-B2eszIiq.js";import{t as o}from"./text-BQDSDsKs.js";import{dt as s,t as c}from"./button-B2jcu6bk.js";import{o as l,t as u}from"./use-settings-navigation-BbrSUVcf.js";import{i as d,n as f,r as p,t as m}from"./combobox-DrMtv_4P.js";import{a as h,o as g,r as _,t as v}from"./field-Cj8lmDOo.js";import{t as y}from"./multi-select-combobox-B6LiRzDO.js";import{t as b}from"./textarea-DJ1Q5V39.js";import{n as x,t as S}from"./toggle-group-EM9WpESu.js";import{Er as C}from"./index-DjQe-e5s.js";import{n as w}from"./global-data-context-gAMDH9u1.js";import{t as T}from"./use-setting-group-VM7FQwMY.js";import{t as E}from"./color-picker-field-CPlkzOH0.js";import{t as D}from"./color-utils-Dzeeuj1F.js";import{t as O}from"./iframe-buffering-B2OKJzbz.js";var k=e(t(),1);function A(e){return e?e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`):``}var j=e=>`data-preview-layout="${A(e)}"`,M=({preview:e,config:t,settings:n,labels:r,backgroundColor:i,layout:a})=>{let o=t.blogUrl,s=t.signupForm.url.replace(`{version}`,t.signupForm.version),c={site:o,locale:n.locale,"button-color":n.accentColor,"button-text-color":D(n.accentColor).hex()};for(let[e,t]of r.entries())c[`label-${e+1}`]=t.name;let l=`min-height: 58px;max-width: 440px;margin: 0 auto;width: 100%`;a===`all-in-one`&&(n.icon&&n.icon!==``&&(c.icon=n.icon.replace(/\/content\/images\/(?:size\/[^/]+\/)*/,`/content/images/size/w192h192/`)),c.title=n.title??``,c.description=n.description??``,c[`background-color`]=i,c[`text-color`]=D(i).hex(),l=`height: 40vmin;min-height: 360px`),e&&(l=a===`minimal`?`min-height:58px;width:calc(100% - 48px);position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)`:`height: 100vh`);let u=``,d=[`background-color`,`text-color`,`button-color`,`button-text-color`,`title`,`description`,`icon`,`site`,`locale`],f=Object.keys(c).sort((e,t)=>d.indexOf(e)-d.indexOf(t));for(let e of f){let t=c[e];u+=` data-${e}="${A(t)}"`}let p=`<div${e?` ${j(a)}`:``} style="${A(l)}"><script src="${encodeURI(s)}"${u} async><\/script></div>`;return e&&a===`minimal`?`<div style="position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%);background-size: 16px 16px;background-position: 0 0, 8px 8px;;"></div>${p}`:p},N=n(),P=({backgroundColor:e,html:t,style:n})=>{let r=(0,k.useRef)(e),i=(0,k.useRef)(t),a=t.includes(j(n));return r.current=e,i.current=t,(0,N.jsx)(O,{className:`absolute size-full overflow-hidden transition-opacity duration-500`,generateContent:(0,k.useCallback)(e=>{if(!a)return;let t=e.contentDocument||e.contentWindow?.document;if(!t)return;e.dataset.previewLayout=n;let o=`
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{t as r}from"./use-filterable-api-BVEVMrhZ.js";import{t as i}from"./inline-BWSs_VzR.js";import{t as a}from"./stack-B2eszIiq.js";import{t as o}from"./text-BQDSDsKs.js";import{ft as s,t as c}from"./button-Dvcv1QSR.js";import{o as l,t as u}from"./use-settings-navigation-B-qrriKD.js";import{i as d,n as f,r as p,t as m}from"./combobox-BnYzgEB4.js";import{a as h,o as g,r as _,t as v}from"./field-C93_Mg6j.js";import{t as y}from"./multi-select-combobox-CT13MTo-.js";import{t as b}from"./textarea-DJ1Q5V39.js";import{n as x,t as S}from"./toggle-group-CviIkyok.js";import{mi as C}from"./index-CgMCwsxN.js";import{n as w}from"./global-data-context-gAMDH9u1.js";import{t as T}from"./use-setting-group-bLKMwoBT.js";import{t as E}from"./color-picker-field-DQFVTNnT.js";import{t as D}from"./color-utils-Dzeeuj1F.js";import{t as O}from"./iframe-buffering-B2OKJzbz.js";var k=e(t(),1);function A(e){return e?e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`):``}var j=e=>`data-preview-layout="${A(e)}"`,M=({preview:e,config:t,settings:n,labels:r,backgroundColor:i,layout:a})=>{let o=t.blogUrl,s=t.signupForm.url.replace(`{version}`,t.signupForm.version),c={site:o,locale:n.locale,"button-color":n.accentColor,"button-text-color":D(n.accentColor).hex()};for(let[e,t]of r.entries())c[`label-${e+1}`]=t.name;let l=`min-height: 58px;max-width: 440px;margin: 0 auto;width: 100%`;a===`all-in-one`&&(n.icon&&n.icon!==``&&(c.icon=n.icon.replace(/\/content\/images\/(?:size\/[^/]+\/)*/,`/content/images/size/w192h192/`)),c.title=n.title??``,c.description=n.description??``,c[`background-color`]=i,c[`text-color`]=D(i).hex(),l=`height: 40vmin;min-height: 360px`),e&&(l=a===`minimal`?`min-height:58px;width:calc(100% - 48px);position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)`:`height: 100vh`);let u=``,d=[`background-color`,`text-color`,`button-color`,`button-text-color`,`title`,`description`,`icon`,`site`,`locale`],f=Object.keys(c).sort((e,t)=>d.indexOf(e)-d.indexOf(t));for(let e of f){let t=c[e];u+=` data-${e}="${A(t)}"`}let p=`<div${e?` ${j(a)}`:``} style="${A(l)}"><script src="${encodeURI(s)}"${u} async><\/script></div>`;return e&&a===`minimal`?`<div style="position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%);background-size: 16px 16px;background-position: 0 0, 8px 8px;;"></div>${p}`:p},N=n(),P=({backgroundColor:e,html:t,style:n})=>{let r=(0,k.useRef)(e),i=(0,k.useRef)(t),a=t.includes(j(n));return r.current=e,i.current=t,(0,N.jsx)(O,{className:`absolute size-full overflow-hidden transition-opacity duration-500`,generateContent:(0,k.useCallback)(e=>{if(!a)return;let t=e.contentDocument||e.contentWindow?.document;if(!t)return;e.dataset.previewLayout=n;let o=`
2
2
  <html>
3
3
  <head>
4
4
  <style>body, html {height: 100%; padding: 0; margin: 0; overflow: hidden; background: ${r.current}; transition: background-color 200ms ease;}</style>
@@ -0,0 +1 @@
1
+ import{a as e,n as t,r as n,t as r}from"./rolldown-runtime-DAXXjFlN.js";var i=n({default:()=>a}),a,o=t((()=>{a=JSON.parse(`[["AF","AFG","004","ISO 3166-2:AF"],["AL","ALB","008","ISO 3166-2:AL"],["DZ","DZA","012","ISO 3166-2:DZ"],["AS","ASM","016","ISO 3166-2:AS"],["AD","AND","020","ISO 3166-2:AD"],["AO","AGO","024","ISO 3166-2:AO"],["AI","AIA","660","ISO 3166-2:AI"],["AQ","ATA","010","ISO 3166-2:AQ"],["AG","ATG","028","ISO 3166-2:AG"],["AR","ARG","032","ISO 3166-2:AR"],["AM","ARM","051","ISO 3166-2:AM"],["AW","ABW","533","ISO 3166-2:AW"],["AU","AUS","036","ISO 3166-2:AU"],["AT","AUT","040","ISO 3166-2:AT"],["AZ","AZE","031","ISO 3166-2:AZ"],["BS","BHS","044","ISO 3166-2:BS"],["BH","BHR","048","ISO 3166-2:BH"],["BD","BGD","050","ISO 3166-2:BD"],["BB","BRB","052","ISO 3166-2:BB"],["BY","BLR","112","ISO 3166-2:BY"],["BE","BEL","056","ISO 3166-2:BE"],["BZ","BLZ","084","ISO 3166-2:BZ"],["BJ","BEN","204","ISO 3166-2:BJ"],["BM","BMU","060","ISO 3166-2:BM"],["BT","BTN","064","ISO 3166-2:BT"],["BO","BOL","068","ISO 3166-2:BO"],["BA","BIH","070","ISO 3166-2:BA"],["BW","BWA","072","ISO 3166-2:BW"],["BV","BVT","074","ISO 3166-2:BV"],["BR","BRA","076","ISO 3166-2:BR"],["IO","IOT","086","ISO 3166-2:IO"],["BN","BRN","096","ISO 3166-2:BN"],["BG","BGR","100","ISO 3166-2:BG"],["BF","BFA","854","ISO 3166-2:BF"],["BI","BDI","108","ISO 3166-2:BI"],["KH","KHM","116","ISO 3166-2:KH"],["CM","CMR","120","ISO 3166-2:CM"],["CA","CAN","124","ISO 3166-2:CA"],["CV","CPV","132","ISO 3166-2:CV"],["KY","CYM","136","ISO 3166-2:KY"],["CF","CAF","140","ISO 3166-2:CF"],["TD","TCD","148","ISO 3166-2:TD"],["CL","CHL","152","ISO 3166-2:CL"],["CN","CHN","156","ISO 3166-2:CN"],["CX","CXR","162","ISO 3166-2:CX"],["CC","CCK","166","ISO 3166-2:CC"],["CO","COL","170","ISO 3166-2:CO"],["KM","COM","174","ISO 3166-2:KM"],["CG","COG","178","ISO 3166-2:CG"],["CD","COD","180","ISO 3166-2:CD"],["CK","COK","184","ISO 3166-2:CK"],["CR","CRI","188","ISO 3166-2:CR"],["CI","CIV","384","ISO 3166-2:CI"],["HR","HRV","191","ISO 3166-2:HR"],["CU","CUB","192","ISO 3166-2:CU"],["CY","CYP","196","ISO 3166-2:CY"],["CZ","CZE","203","ISO 3166-2:CZ"],["DK","DNK","208","ISO 3166-2:DK"],["DJ","DJI","262","ISO 3166-2:DJ"],["DM","DMA","212","ISO 3166-2:DM"],["DO","DOM","214","ISO 3166-2:DO"],["EC","ECU","218","ISO 3166-2:EC"],["EG","EGY","818","ISO 3166-2:EG"],["SV","SLV","222","ISO 3166-2:SV"],["GQ","GNQ","226","ISO 3166-2:GQ"],["ER","ERI","232","ISO 3166-2:ER"],["EE","EST","233","ISO 3166-2:EE"],["ET","ETH","231","ISO 3166-2:ET"],["FK","FLK","238","ISO 3166-2:FK"],["FO","FRO","234","ISO 3166-2:FO"],["FJ","FJI","242","ISO 3166-2:FJ"],["FI","FIN","246","ISO 3166-2:FI"],["FR","FRA","250","ISO 3166-2:FR"],["GF","GUF","254","ISO 3166-2:GF"],["PF","PYF","258","ISO 3166-2:PF"],["TF","ATF","260","ISO 3166-2:TF"],["GA","GAB","266","ISO 3166-2:GA"],["GM","GMB","270","ISO 3166-2:GM"],["GE","GEO","268","ISO 3166-2:GE"],["DE","DEU","276","ISO 3166-2:DE"],["GH","GHA","288","ISO 3166-2:GH"],["GI","GIB","292","ISO 3166-2:GI"],["GR","GRC","300","ISO 3166-2:GR"],["GL","GRL","304","ISO 3166-2:GL"],["GD","GRD","308","ISO 3166-2:GD"],["GP","GLP","312","ISO 3166-2:GP"],["GU","GUM","316","ISO 3166-2:GU"],["GT","GTM","320","ISO 3166-2:GT"],["GN","GIN","324","ISO 3166-2:GN"],["GW","GNB","624","ISO 3166-2:GW"],["GY","GUY","328","ISO 3166-2:GY"],["HT","HTI","332","ISO 3166-2:HT"],["HM","HMD","334","ISO 3166-2:HM"],["VA","VAT","336","ISO 3166-2:VA"],["HN","HND","340","ISO 3166-2:HN"],["HK","HKG","344","ISO 3166-2:HK"],["HU","HUN","348","ISO 3166-2:HU"],["IS","ISL","352","ISO 3166-2:IS"],["IN","IND","356","ISO 3166-2:IN"],["ID","IDN","360","ISO 3166-2:ID"],["IR","IRN","364","ISO 3166-2:IR"],["IQ","IRQ","368","ISO 3166-2:IQ"],["IE","IRL","372","ISO 3166-2:IE"],["IL","ISR","376","ISO 3166-2:IL"],["IT","ITA","380","ISO 3166-2:IT"],["JM","JAM","388","ISO 3166-2:JM"],["JP","JPN","392","ISO 3166-2:JP"],["JO","JOR","400","ISO 3166-2:JO"],["KZ","KAZ","398","ISO 3166-2:KZ"],["KE","KEN","404","ISO 3166-2:KE"],["KI","KIR","296","ISO 3166-2:KI"],["KP","PRK","408","ISO 3166-2:KP"],["KR","KOR","410","ISO 3166-2:KR"],["KW","KWT","414","ISO 3166-2:KW"],["KG","KGZ","417","ISO 3166-2:KG"],["LA","LAO","418","ISO 3166-2:LA"],["LV","LVA","428","ISO 3166-2:LV"],["LB","LBN","422","ISO 3166-2:LB"],["LS","LSO","426","ISO 3166-2:LS"],["LR","LBR","430","ISO 3166-2:LR"],["LY","LBY","434","ISO 3166-2:LY"],["LI","LIE","438","ISO 3166-2:LI"],["LT","LTU","440","ISO 3166-2:LT"],["LU","LUX","442","ISO 3166-2:LU"],["MO","MAC","446","ISO 3166-2:MO"],["MG","MDG","450","ISO 3166-2:MG"],["MW","MWI","454","ISO 3166-2:MW"],["MY","MYS","458","ISO 3166-2:MY"],["MV","MDV","462","ISO 3166-2:MV"],["ML","MLI","466","ISO 3166-2:ML"],["MT","MLT","470","ISO 3166-2:MT"],["MH","MHL","584","ISO 3166-2:MH"],["MQ","MTQ","474","ISO 3166-2:MQ"],["MR","MRT","478","ISO 3166-2:MR"],["MU","MUS","480","ISO 3166-2:MU"],["YT","MYT","175","ISO 3166-2:YT"],["MX","MEX","484","ISO 3166-2:MX"],["FM","FSM","583","ISO 3166-2:FM"],["MD","MDA","498","ISO 3166-2:MD"],["MC","MCO","492","ISO 3166-2:MC"],["MN","MNG","496","ISO 3166-2:MN"],["MS","MSR","500","ISO 3166-2:MS"],["MA","MAR","504","ISO 3166-2:MA"],["MZ","MOZ","508","ISO 3166-2:MZ"],["MM","MMR","104","ISO 3166-2:MM"],["NA","NAM","516","ISO 3166-2:NA"],["NR","NRU","520","ISO 3166-2:NR"],["NP","NPL","524","ISO 3166-2:NP"],["NL","NLD","528","ISO 3166-2:NL"],["NC","NCL","540","ISO 3166-2:NC"],["NZ","NZL","554","ISO 3166-2:NZ"],["NI","NIC","558","ISO 3166-2:NI"],["NE","NER","562","ISO 3166-2:NE"],["NG","NGA","566","ISO 3166-2:NG"],["NU","NIU","570","ISO 3166-2:NU"],["NF","NFK","574","ISO 3166-2:NF"],["MP","MNP","580","ISO 3166-2:MP"],["MK","MKD","807","ISO 3166-2:MK"],["NO","NOR","578","ISO 3166-2:NO"],["OM","OMN","512","ISO 3166-2:OM"],["PK","PAK","586","ISO 3166-2:PK"],["PW","PLW","585","ISO 3166-2:PW"],["PS","PSE","275","ISO 3166-2:PS"],["PA","PAN","591","ISO 3166-2:PA"],["PG","PNG","598","ISO 3166-2:PG"],["PY","PRY","600","ISO 3166-2:PY"],["PE","PER","604","ISO 3166-2:PE"],["PH","PHL","608","ISO 3166-2:PH"],["PN","PCN","612","ISO 3166-2:PN"],["PL","POL","616","ISO 3166-2:PL"],["PT","PRT","620","ISO 3166-2:PT"],["PR","PRI","630","ISO 3166-2:PR"],["QA","QAT","634","ISO 3166-2:QA"],["RE","REU","638","ISO 3166-2:RE"],["RO","ROU","642","ISO 3166-2:RO"],["RU","RUS","643","ISO 3166-2:RU"],["RW","RWA","646","ISO 3166-2:RW"],["SH","SHN","654","ISO 3166-2:SH"],["KN","KNA","659","ISO 3166-2:KN"],["LC","LCA","662","ISO 3166-2:LC"],["PM","SPM","666","ISO 3166-2:PM"],["VC","VCT","670","ISO 3166-2:VC"],["WS","WSM","882","ISO 3166-2:WS"],["SM","SMR","674","ISO 3166-2:SM"],["ST","STP","678","ISO 3166-2:ST"],["SA","SAU","682","ISO 3166-2:SA"],["SN","SEN","686","ISO 3166-2:SN"],["SC","SYC","690","ISO 3166-2:SC"],["SL","SLE","694","ISO 3166-2:SL"],["SG","SGP","702","ISO 3166-2:SG"],["SK","SVK","703","ISO 3166-2:SK"],["SI","SVN","705","ISO 3166-2:SI"],["SB","SLB","090","ISO 3166-2:SB"],["SO","SOM","706","ISO 3166-2:SO"],["ZA","ZAF","710","ISO 3166-2:ZA"],["GS","SGS","239","ISO 3166-2:GS"],["ES","ESP","724","ISO 3166-2:ES"],["LK","LKA","144","ISO 3166-2:LK"],["SD","SDN","729","ISO 3166-2:SD"],["SR","SUR","740","ISO 3166-2:SR"],["SJ","SJM","744","ISO 3166-2:SJ"],["SZ","SWZ","748","ISO 3166-2:SZ"],["SE","SWE","752","ISO 3166-2:SE"],["CH","CHE","756","ISO 3166-2:CH"],["SY","SYR","760","ISO 3166-2:SY"],["TW","TWN","158","ISO 3166-2:TW"],["TJ","TJK","762","ISO 3166-2:TJ"],["TZ","TZA","834","ISO 3166-2:TZ"],["TH","THA","764","ISO 3166-2:TH"],["TL","TLS","626","ISO 3166-2:TL"],["TG","TGO","768","ISO 3166-2:TG"],["TK","TKL","772","ISO 3166-2:TK"],["TO","TON","776","ISO 3166-2:TO"],["TT","TTO","780","ISO 3166-2:TT"],["TN","TUN","788","ISO 3166-2:TN"],["TR","TUR","792","ISO 3166-2:TR"],["TM","TKM","795","ISO 3166-2:TM"],["TC","TCA","796","ISO 3166-2:TC"],["TV","TUV","798","ISO 3166-2:TV"],["UG","UGA","800","ISO 3166-2:UG"],["UA","UKR","804","ISO 3166-2:UA"],["AE","ARE","784","ISO 3166-2:AE"],["GB","GBR","826","ISO 3166-2:GB"],["US","USA","840","ISO 3166-2:US"],["UM","UMI","581","ISO 3166-2:UM"],["UY","URY","858","ISO 3166-2:UY"],["UZ","UZB","860","ISO 3166-2:UZ"],["VU","VUT","548","ISO 3166-2:VU"],["VE","VEN","862","ISO 3166-2:VE"],["VN","VNM","704","ISO 3166-2:VN"],["VG","VGB","092","ISO 3166-2:VG"],["VI","VIR","850","ISO 3166-2:VI"],["WF","WLF","876","ISO 3166-2:WF"],["EH","ESH","732","ISO 3166-2:EH"],["YE","YEM","887","ISO 3166-2:YE"],["ZM","ZMB","894","ISO 3166-2:ZM"],["ZW","ZWE","716","ISO 3166-2:ZW"],["AX","ALA","248","ISO 3166-2:AX"],["BQ","BES","535","ISO 3166-2:BQ"],["CW","CUW","531","ISO 3166-2:CW"],["GG","GGY","831","ISO 3166-2:GG"],["IM","IMN","833","ISO 3166-2:IM"],["JE","JEY","832","ISO 3166-2:JE"],["ME","MNE","499","ISO 3166-2:ME"],["BL","BLM","652","ISO 3166-2:BL"],["MF","MAF","663","ISO 3166-2:MF"],["RS","SRB","688","ISO 3166-2:RS"],["SX","SXM","534","ISO 3166-2:SX"],["SS","SSD","728","ISO 3166-2:SS"],["XK","XKK","983","ISO 3166-2:XK"]]`)})),s=n({default:()=>c}),c,l=t((()=>{c=`br.cy.dv.sw.eu.af.am.ha.ku.ml.mt.no.ps.sd.so.sq.ta.tg.tt.ug.ur.vi.ar.az.be.bg.bn.bs.ca.cs.da.de.el.en.es.et.fa.fi.fr.ga.gl.he.hi.hr.hu.hy.id.is.it.ja.ka.kk.km.ko.ky.lt.lv.mk.mn.mr.ms.nb.nl.nn.pl.pt.ro.ru.sk.sl.sr.sv.th.tk.tr.uk.uz.zh`.split(`.`)})),u=r((e=>{e.remove=o;for(var t=[{base:` `,chars:`\xA0`},{base:`0`,chars:`߀`},{base:`A`,chars:`ⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ`},{base:`AA`,chars:`Ꜳ`},{base:`AE`,chars:`ÆǼǢ`},{base:`AO`,chars:`Ꜵ`},{base:`AU`,chars:`Ꜷ`},{base:`AV`,chars:`ꜸꜺ`},{base:`AY`,chars:`Ꜽ`},{base:`B`,chars:`ⒷBḂḄḆɃƁ`},{base:`C`,chars:`ⒸCꜾḈĆCĈĊČÇƇȻ`},{base:`D`,chars:`ⒹDḊĎḌḐḒḎĐƊƉᴅꝹ`},{base:`Dh`,chars:`Ð`},{base:`DZ`,chars:`DZDŽ`},{base:`Dz`,chars:`DzDž`},{base:`E`,chars:`ɛⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎᴇ`},{base:`F`,chars:`ꝼⒻFḞƑꝻ`},{base:`G`,chars:`ⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾɢ`},{base:`H`,chars:`ⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ`},{base:`I`,chars:`ⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ`},{base:`J`,chars:`ⒿJĴɈȷ`},{base:`K`,chars:`ⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ`},{base:`L`,chars:`ⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ`},{base:`LJ`,chars:`LJ`},{base:`Lj`,chars:`Lj`},{base:`M`,chars:`ⓂMḾṀṂⱮƜϻ`},{base:`N`,chars:`ꞤȠⓃNǸŃÑṄŇṆŅṊṈƝꞐᴎ`},{base:`NJ`,chars:`NJ`},{base:`Nj`,chars:`Nj`},{base:`O`,chars:`ⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ`},{base:`OE`,chars:`Œ`},{base:`OI`,chars:`Ƣ`},{base:`OO`,chars:`Ꝏ`},{base:`OU`,chars:`Ȣ`},{base:`P`,chars:`ⓅPṔṖƤⱣꝐꝒꝔ`},{base:`Q`,chars:`ⓆQꝖꝘɊ`},{base:`R`,chars:`ⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ`},{base:`S`,chars:`ⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ`},{base:`T`,chars:`ⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ`},{base:`Th`,chars:`Þ`},{base:`TZ`,chars:`Ꜩ`},{base:`U`,chars:`ⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ`},{base:`V`,chars:`ⓋVṼṾƲꝞɅ`},{base:`VY`,chars:`Ꝡ`},{base:`W`,chars:`ⓌWẀẂŴẆẄẈⱲ`},{base:`X`,chars:`ⓍXẊẌ`},{base:`Y`,chars:`ⓎYỲÝŶỸȲẎŸỶỴƳɎỾ`},{base:`Z`,chars:`ⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ`},{base:`a`,chars:`ⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐɑ`},{base:`aa`,chars:`ꜳ`},{base:`ae`,chars:`æǽǣ`},{base:`ao`,chars:`ꜵ`},{base:`au`,chars:`ꜷ`},{base:`av`,chars:`ꜹꜻ`},{base:`ay`,chars:`ꜽ`},{base:`b`,chars:`ⓑbḃḅḇƀƃɓƂ`},{base:`c`,chars:`cⓒćĉċčçḉƈȼꜿↄ`},{base:`d`,chars:`ⓓdḋďḍḑḓḏđƌɖɗƋᏧԁꞪ`},{base:`dh`,chars:`ð`},{base:`dz`,chars:`dzdž`},{base:`e`,chars:`ⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇǝ`},{base:`f`,chars:`ⓕfḟƒ`},{base:`ff`,chars:`ff`},{base:`fi`,chars:`fi`},{base:`fl`,chars:`fl`},{base:`ffi`,chars:`ffi`},{base:`ffl`,chars:`ffl`},{base:`g`,chars:`ⓖgǵĝḡğġǧģǥɠꞡꝿᵹ`},{base:`h`,chars:`ⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ`},{base:`hv`,chars:`ƕ`},{base:`i`,chars:`ⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı`},{base:`j`,chars:`ⓙjĵǰɉ`},{base:`k`,chars:`ⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ`},{base:`l`,chars:`ⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇɭ`},{base:`lj`,chars:`lj`},{base:`m`,chars:`ⓜmḿṁṃɱɯ`},{base:`n`,chars:`ⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥлԉ`},{base:`nj`,chars:`nj`},{base:`o`,chars:`ⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿꝋꝍɵɔᴑ`},{base:`oe`,chars:`œ`},{base:`oi`,chars:`ƣ`},{base:`oo`,chars:`ꝏ`},{base:`ou`,chars:`ȣ`},{base:`p`,chars:`ⓟpṕṗƥᵽꝑꝓꝕρ`},{base:`q`,chars:`ⓠqɋꝗꝙ`},{base:`r`,chars:`ⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ`},{base:`s`,chars:`ⓢsśṥŝṡšṧṣṩșşȿꞩꞅẛʂ`},{base:`ss`,chars:`ß`},{base:`t`,chars:`ⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ`},{base:`th`,chars:`þ`},{base:`tz`,chars:`ꜩ`},{base:`u`,chars:`ⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ`},{base:`v`,chars:`ⓥvṽṿʋꝟʌ`},{base:`vy`,chars:`ꝡ`},{base:`w`,chars:`ⓦwẁẃŵẇẅẘẉⱳ`},{base:`x`,chars:`ⓧxẋẍ`},{base:`y`,chars:`ⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ`},{base:`z`,chars:`ⓩzźẑżžẓẕƶȥɀⱬꝣ`}],n={},r=0;r<t.length;r+=1)for(var i=t[r].chars,a=0;a<i.length;a+=1)n[i[a]]=t[r].base;function o(e){return e.replace(/[^\u0000-\u007e]/g,function(e){return n[e]||e})}e.replacementList=t,e.diacriticsMap=n})),d=r((t=>{var n=(o(),e(i).default),r=(l(),e(s).default),a=u().remove,c={},d={},f={},p={},m={};n.forEach(function(e){let t=e;d[t[0]]=t[1],f[t[1]]=t[0],p[t[2]]=t[0],m[t[0]]=t[2]});function h(e){return String(`000`+(e||``)).slice(-3)}function g(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function _(e,t){return Object.keys(e).reduce(function(n,r){let i=e[r];return n[r]=t(i,r),n},{})}function v(e,t){switch(e){case`official`:return Array.isArray(t)?t[0]:t;case`all`:return typeof t==`string`?[t]:t;case`alias`:return Array.isArray(t)?t[1]||t[0]:t;default:throw TypeError(`LocaleNameType must be one of these: all, official, alias!`)}}t.registerLocale=function(e){if(!e.locale)throw TypeError(`Missing localeData.locale`);if(!e.countries)throw TypeError(`Missing localeData.countries`);c[e.locale]=e.countries};function y(e){return f[e]}t.alpha3ToAlpha2=y;function b(e){return d[e]}t.alpha2ToAlpha3=b;function x(e){return m[y(e)]}t.alpha3ToNumeric=x;function S(e){return m[e]}t.alpha2ToNumeric=S;function C(e){return b(p[h(e)])}t.numericToAlpha3=C;function w(e){return p[h(e)]}t.numericToAlpha2=w;function T(e){if(typeof e==`string`){if(/^[0-9]*$/.test(e))return C(e);if(e.length===2)return b(e.toUpperCase());if(e.length===3)return e.toUpperCase()}if(typeof e==`number`)return C(e)}t.toAlpha3=T;function E(e){if(typeof e==`string`){if(/^[0-9]*$/.test(e))return w(e);if(e.length===2)return e.toUpperCase();if(e.length===3)return y(e.toUpperCase())}if(typeof e==`number`)return w(e)}t.toAlpha2=E,t.getName=function(e,t,n={}){`select`in n||(n.select=`official`);try{let r=c[t.toLowerCase()][E(e)];return v(n.select,r)}catch{return}},t.getNames=function(e,t={}){`select`in t||(t.select=`official`);let n=c[e.toLowerCase()];return n===void 0?{}:_(n,function(e){return v(t.select,e)})},t.getAlpha2Code=function(e,t){let n=e=>e.toLowerCase(),r=(e,t)=>n(e)===n(t);try{let n=c[t.toLowerCase()];for(let t in n)if(g(n,t)){if(typeof n[t]==`string`&&r(n[t],e))return t;if(Array.isArray(n[t])){for(let i of n[t])if(r(i,e))return t}}return}catch{return}},t.getSimpleAlpha2Code=function(e,t){let n=e=>a(e.toLowerCase()),r=(e,t)=>n(e)===n(t);try{let n=c[t.toLowerCase()];for(let t in n)if(g(n,t)){if(typeof n[t]==`string`&&r(n[t],e))return t;if(Array.isArray(n[t])){for(let i of n[t])if(r(i,e))return t}}return}catch{return}},t.getAlpha2Codes=function(){return d},t.getAlpha3Code=function(e,n){let r=t.getAlpha2Code(e,n);if(r)return t.toAlpha3(r)},t.getSimpleAlpha3Code=function(e,n){let r=t.getSimpleAlpha2Code(e,n);if(r)return t.toAlpha3(r)},t.getAlpha3Codes=function(){return f},t.getNumericCodes=function(){return p},t.langs=function(){return Object.keys(c)},t.getSupportedLanguages=function(){return r},t.isValid=function(e){if(!e)return!1;let t=e.toString().toUpperCase();return g(f,t)||g(d,t)||g(p,t)}})),f={locale:`en`,countries:{AF:`Afghanistan`,AL:`Albania`,DZ:`Algeria`,AS:`American Samoa`,AD:`Andorra`,AO:`Angola`,AI:`Anguilla`,AQ:`Antarctica`,AG:`Antigua and Barbuda`,AR:`Argentina`,AM:`Armenia`,AW:`Aruba`,AU:`Australia`,AT:`Austria`,AZ:`Azerbaijan`,BS:`Bahamas`,BH:`Bahrain`,BD:`Bangladesh`,BB:`Barbados`,BY:`Belarus`,BE:`Belgium`,BZ:`Belize`,BJ:`Benin`,BM:`Bermuda`,BT:`Bhutan`,BO:`Bolivia`,BA:`Bosnia and Herzegovina`,BW:`Botswana`,BV:`Bouvet Island`,BR:`Brazil`,IO:`British Indian Ocean Territory`,BN:`Brunei Darussalam`,BG:`Bulgaria`,BF:`Burkina Faso`,BI:`Burundi`,KH:`Cambodia`,CM:`Cameroon`,CA:`Canada`,CV:`Cape Verde`,KY:`Cayman Islands`,CF:`Central African Republic`,TD:`Chad`,CL:`Chile`,CN:[`People's Republic of China`,`China`],CX:`Christmas Island`,CC:`Cocos (Keeling) Islands`,CO:`Colombia`,KM:`Comoros`,CG:[`Republic of the Congo`,`Congo`],CD:[`Democratic Republic of the Congo`,`Congo`],CK:`Cook Islands`,CR:`Costa Rica`,CI:[`Cote d'Ivoire`,`Côte d'Ivoire`,`Ivory Coast`],HR:`Croatia`,CU:`Cuba`,CY:`Cyprus`,CZ:[`Czech Republic`,`Czechia`],DK:`Denmark`,DJ:`Djibouti`,DM:`Dominica`,DO:`Dominican Republic`,EC:`Ecuador`,EG:`Egypt`,SV:`El Salvador`,GQ:`Equatorial Guinea`,ER:`Eritrea`,EE:`Estonia`,ET:`Ethiopia`,FK:`Falkland Islands (Malvinas)`,FO:`Faroe Islands`,FJ:`Fiji`,FI:`Finland`,FR:`France`,GF:`French Guiana`,PF:`French Polynesia`,TF:`French Southern Territories`,GA:`Gabon`,GM:[`Republic of The Gambia`,`The Gambia`,`Gambia`],GE:`Georgia`,DE:`Germany`,GH:`Ghana`,GI:`Gibraltar`,GR:`Greece`,GL:`Greenland`,GD:`Grenada`,GP:`Guadeloupe`,GU:`Guam`,GT:`Guatemala`,GN:`Guinea`,GW:`Guinea-Bissau`,GY:`Guyana`,HT:`Haiti`,HM:`Heard Island and McDonald Islands`,VA:`Holy See (Vatican City State)`,HN:`Honduras`,HK:`Hong Kong`,HU:`Hungary`,IS:`Iceland`,IN:`India`,ID:`Indonesia`,IR:[`Islamic Republic of Iran`,`Iran`],IQ:`Iraq`,IE:`Ireland`,IL:`Israel`,IT:`Italy`,JM:`Jamaica`,JP:`Japan`,JO:`Jordan`,KZ:`Kazakhstan`,KE:`Kenya`,KI:`Kiribati`,KP:`North Korea`,KR:[`South Korea`,`Korea, Republic of`,`Republic of Korea`],KW:`Kuwait`,KG:`Kyrgyzstan`,LA:`Lao People's Democratic Republic`,LV:`Latvia`,LB:`Lebanon`,LS:`Lesotho`,LR:`Liberia`,LY:`Libya`,LI:`Liechtenstein`,LT:`Lithuania`,LU:`Luxembourg`,MO:`Macao`,MG:`Madagascar`,MW:`Malawi`,MY:`Malaysia`,MV:`Maldives`,ML:`Mali`,MT:`Malta`,MH:`Marshall Islands`,MQ:`Martinique`,MR:`Mauritania`,MU:`Mauritius`,YT:`Mayotte`,MX:`Mexico`,FM:`Micronesia, Federated States of`,MD:`Moldova, Republic of`,MC:`Monaco`,MN:`Mongolia`,MS:`Montserrat`,MA:`Morocco`,MZ:`Mozambique`,MM:`Myanmar`,NA:`Namibia`,NR:`Nauru`,NP:`Nepal`,NL:[`Netherlands`,`The Netherlands`,`Netherlands (Kingdom of the)`],NC:`New Caledonia`,NZ:`New Zealand`,NI:`Nicaragua`,NE:`Niger`,NG:`Nigeria`,NU:`Niue`,NF:`Norfolk Island`,MK:[`The Republic of North Macedonia`,`North Macedonia`],MP:`Northern Mariana Islands`,NO:`Norway`,OM:`Oman`,PK:`Pakistan`,PW:`Palau`,PS:[`State of Palestine`,`Palestine`],PA:`Panama`,PG:`Papua New Guinea`,PY:`Paraguay`,PE:`Peru`,PH:`Philippines`,PN:[`Pitcairn`,`Pitcairn Islands`],PL:`Poland`,PT:`Portugal`,PR:`Puerto Rico`,QA:`Qatar`,RE:`Reunion`,RO:`Romania`,RU:[`Russian Federation`,`Russia`],RW:`Rwanda`,SH:`Saint Helena`,KN:`Saint Kitts and Nevis`,LC:`Saint Lucia`,PM:`Saint Pierre and Miquelon`,VC:`Saint Vincent and the Grenadines`,WS:`Samoa`,SM:`San Marino`,ST:`Sao Tome and Principe`,SA:`Saudi Arabia`,SN:`Senegal`,SC:`Seychelles`,SL:`Sierra Leone`,SG:`Singapore`,SK:`Slovakia`,SI:`Slovenia`,SB:`Solomon Islands`,SO:`Somalia`,ZA:`South Africa`,GS:`South Georgia and the South Sandwich Islands`,ES:`Spain`,LK:`Sri Lanka`,SD:`Sudan`,SR:`Suriname`,SJ:`Svalbard and Jan Mayen`,SZ:`Eswatini`,SE:`Sweden`,CH:`Switzerland`,SY:`Syrian Arab Republic`,TW:[`Taiwan, Province of China`,`Taiwan`],TJ:`Tajikistan`,TZ:[`United Republic of Tanzania`,`Tanzania`],TH:`Thailand`,TL:`Timor-Leste`,TG:`Togo`,TK:`Tokelau`,TO:`Tonga`,TT:`Trinidad and Tobago`,TN:`Tunisia`,TR:[`Türkiye`,`Turkey`],TM:`Turkmenistan`,TC:`Turks and Caicos Islands`,TV:`Tuvalu`,UG:`Uganda`,UA:`Ukraine`,AE:[`United Arab Emirates`,`UAE`],GB:[`United Kingdom`,`UK`,`Great Britain`],US:[`United States of America`,`United States`,`USA`,`U.S.A.`,`US`,`U.S.`],UM:`United States Minor Outlying Islands`,UY:`Uruguay`,UZ:`Uzbekistan`,VU:`Vanuatu`,VE:`Venezuela`,VN:`Vietnam`,VG:`Virgin Islands, British`,VI:`Virgin Islands, U.S.`,WF:`Wallis and Futuna`,EH:`Western Sahara`,YE:`Yemen`,ZM:`Zambia`,ZW:`Zimbabwe`,AX:[`Åland Islands`,`Aland Islands`],BQ:`Bonaire, Sint Eustatius and Saba`,CW:`Curaçao`,GG:`Guernsey`,IM:`Isle of Man`,JE:`Jersey`,ME:`Montenegro`,BL:`Saint Barthélemy`,MF:`Saint Martin (French part)`,RS:`Serbia`,SX:`Sint Maarten (Dutch part)`,SS:`South Sudan`,XK:`Kosovo`}};export{d as n,f as t};
@@ -0,0 +1 @@
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{h as r}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{i}from"./heading-Dh5SFVjL.js";import{a,q as o,t as s}from"./button-Dvcv1QSR.js";import{t as c}from"./skeleton-Ce9GgUpf.js";import{t as l}from"./use-navigate-with-base-path-BkxcPj5l.js";import{n as u}from"./onboarding-pXyct0Jm.js";import"./onboarding-CUuy9unR.js";import{Gt as d,Jt as f,Kt as p,Ut as m,Yt as h,en as g,nr as _,un as v,vt as y,zt as b}from"./index-CgMCwsxN.js";import"./layout-DUTL8SH5.js";import{t as x}from"./topic-filter-I2jCBGxm.js";var S=e(t(),1),C=n(),w=({profile:e,update:t,isLoading:n,onOpenChange:r})=>{let{data:i}=g(`index`,`me`),a=e.handle===i?.handle,o=()=>{t(e.id,{followedByMe:!0})},s=()=>{t(e.id,{followedByMe:!1})},u=l();return(0,C.jsx)(`div`,{className:`flex w-full cursor-pointer items-start gap-3 pt-4 [&:last-of-type>:nth-child(2)]:border-none`,onClick:()=>{u(`/profile/${e.handle}`)},children:(0,C.jsxs)(`div`,{className:`flex w-full flex-col gap-1 border-b border-gray-200 pb-4 dark:border-gray-950`,children:[(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,C.jsx)(b,{actor:e,isCurrentUser:a,children:(0,C.jsxs)(`div`,{className:`flex gap-3`,children:[(0,C.jsx)(h,{author:{icon:{url:e.avatarUrl},name:e.name,handle:e.handle},onClick:()=>r?.(!1)}),(0,C.jsxs)(`div`,{className:`break-anywhere -mt-0.5 flex grow flex-col`,children:[(0,C.jsx)(`span`,{className:`line-clamp-1 font-semibold text-black dark:text-white`,children:n?(0,C.jsx)(c,{className:`w-full max-w-48`}):e.name}),(0,C.jsx)(`span`,{className:`line-clamp-1 text-md text-gray-700 dark:text-gray-600`,children:n?(0,C.jsx)(c,{className:`w-32`}):e.handle})]})]})}),n?(0,C.jsx)(`div`,{className:`inline-flex items-center`,children:(0,C.jsx)(c,{className:`w-24`})}):a?null:(0,C.jsx)(f,{className:`ml-auto`,following:e.followedByMe,handle:e.handle,type:`primary`,onFollow:o,onUnfollow:s})]}),(0,C.jsx)(`div`,{className:`pl-[52px]`,children:n?(0,C.jsx)(c,{className:`w-full max-w-96`}):e.bio&&(0,C.jsx)(`div`,{dangerouslySetInnerHTML:{__html:d(m(p(e.bio,[`a`,`br`])))},className:`ap-profile-content break-anywhere pointer-events-none mt-0 line-clamp-2 max-w-[460px]`})})]})})},T=()=>{let{isExplainerClosed:e,setExplainerClosed:t}=u(),n=r(),c=l(),d=n.topic||`top`,{exploreProfilesQuery:f,updateExploreProfile:p}=v(`index`,d),{data:m,isLoading:h,fetchNextPage:g,hasNextPage:b,isFetchingNextPage:T}=f,E=Array(10).fill(null).map((e,t)=>({id:`skeleton-${t}`,name:``,handle:``,avatarUrl:``,bio:``,url:``,followedByMe:!1})),D=m?.pages.flatMap(e=>e.accounts)||[];return(0,S.useEffect)(()=>{let e=document.querySelector(`.load-more-trigger`);if(!e)return;let t=new IntersectionObserver(e=>{e[0].isIntersecting&&b&&!T&&g()},{threshold:.1});return t.observe(e),()=>t.disconnect()},[b,T,g]),(0,C.jsxs)(y,{children:[!e&&(0,C.jsxs)(`div`,{className:`relative mb-6 flex items-start gap-1 rounded-md bg-gradient-to-r from-[#CFB0FF66] to-[#B6E8FF66] p-4 pr-10 dark:from-[#CFB0FF20] dark:to-[#B6E8FF20]`,children:[(0,C.jsx)(`div`,{className:`min-w-[46px]`,children:(0,C.jsx)(o,{className:`text-purple`,size:46,strokeWidth:.75})}),(0,C.jsxs)(`div`,{className:`mt-1 flex flex-col gap-[2px]`,children:[(0,C.jsx)(i,{className:`text-pretty`,children:`The fastest way to grow your followers, is to follow others!`}),(0,C.jsx)(`p`,{className:`text-sm text-balance text-black/60 2xl:text-pretty dark:text-white/60`,children:`Here are some recommendations to get you started, from Ghost publishers and other great accounts from around the social web.`})]}),(0,C.jsx)(s,{className:`absolute top-[17px] right-4 size-6 opacity-40`,variant:`link`,onClick:()=>t(!0),children:(0,C.jsx)(a,{size:20})})]}),(0,C.jsx)(x,{currentTopic:d,excludeTopics:[`following`],onTopicChange:e=>{c(e===`top`?`/explore`:`/explore/${e}`,{replace:!0})}}),(0,C.jsx)(`div`,{className:`mt-12 flex flex-col gap-12 pb-20 max-md:mt-5`,children:h?(0,C.jsx)(`div`,{children:E.map(e=>(0,C.jsx)(`div`,{className:`mx-auto w-full max-w-[640px]`,children:(0,C.jsx)(w,{isLoading:h,profile:e,update:()=>{}})},e.id))}):(0,C.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[640px] flex-col items-center`,children:[(0,C.jsx)(`div`,{className:`w-full`,children:D.map(e=>(0,C.jsx)(S.Fragment,{children:(0,C.jsx)(w,{isLoading:!1,profile:e,update:p})},e.id))}),(0,C.jsx)(`div`,{className:`load-more-trigger h-4 w-full`}),T&&(0,C.jsx)(`div`,{className:`mt-2 flex w-full justify-center`,children:(0,C.jsx)(_,{size:`sm`})})]})})]})};export{T as default};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";var n=e(t(),1),r=(0,n.createContext)({enabledFlags:[]}),i=()=>(0,n.useContext)(r);export{i as n,r as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{l as n}from"./dist-B3keLvjj.js";import{fn as r}from"./button-Dvcv1QSR.js";e();var i=t(),a=({className:e})=>(0,i.jsx)(`div`,{className:n(`flex flex-col items-center justify-center gap-1 rounded-sm bg-muted p-6 dark:bg-surface-elevated-2`,e),children:(0,i.jsx)(r,{className:`text-muted-foreground/50`,size:18,strokeWidth:1.5})});export{a as t};