ghost 6.68.0 → 6.69.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 (300) hide show
  1. package/components/ghost-storage-base-3.0.1.tgz +0 -0
  2. package/components/tryghost-adapter-base-cache-0.2.1.tgz +0 -0
  3. package/components/tryghost-adapter-base-scheduling-0.2.5.tgz +0 -0
  4. package/components/tryghost-adapter-base-sso-0.1.4.tgz +0 -0
  5. package/components/tryghost-app-contracts-0.0.0.tgz +0 -0
  6. package/components/tryghost-checkout-0.0.0.tgz +0 -0
  7. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  8. package/components/tryghost-kg-card-factory-5.2.6.tgz +0 -0
  9. package/components/tryghost-kg-clean-basic-html-4.3.6.tgz +0 -0
  10. package/components/tryghost-kg-converters-1.2.6.tgz +0 -0
  11. package/components/tryghost-kg-default-cards-10.3.7.tgz +0 -0
  12. package/components/tryghost-kg-default-nodes-2.2.3.tgz +0 -0
  13. package/components/tryghost-kg-default-transforms-1.3.6.tgz +0 -0
  14. package/components/tryghost-kg-html-to-lexical-1.4.1.tgz +0 -0
  15. package/components/tryghost-kg-lexical-html-renderer-1.5.1.tgz +0 -0
  16. package/components/tryghost-kg-markdown-html-renderer-7.2.7.tgz +0 -0
  17. package/components/tryghost-kg-utils-1.1.6.tgz +0 -0
  18. package/components/tryghost-metafield-csv-0.0.0.tgz +0 -0
  19. package/components/tryghost-metafield-types-0.1.1.tgz +0 -0
  20. package/core/boot.js +6 -0
  21. package/core/built/admin/assets/{about-D_nwtf7X.js → about-Dxp30cNg.js} +1 -1
  22. package/core/built/admin/assets/{account-migration-BaecWw1T.js → account-migration-D05akW4q.js} +1 -1
  23. package/core/built/admin/assets/activitypub/{account-migration-4saTEZ6p.js → account-migration-BmiwuzXI.js} +6 -6
  24. package/core/built/admin/assets/activitypub/activitypub.js +2 -2
  25. package/core/built/admin/assets/activitypub/{bluesky-sharing-BHBNuZQH.js → bluesky-sharing-B1fzMdFb.js} +6 -6
  26. package/core/built/admin/assets/activitypub/{content-formatters-DVx9YktY.js → content-formatters-G0qBT5QE.js} +3 -3
  27. package/core/built/admin/assets/activitypub/{domain-rAmlMXBC.js → domain-B3UtdA1m.js} +7 -7
  28. package/core/built/admin/assets/activitypub/{edit-profile-CXYL4ZrS.js → edit-profile-9EodzviR.js} +4 -4
  29. package/core/built/admin/assets/activitypub/{explore-dqpEx3GA.js → explore-DmwPdxHI.js} +8 -8
  30. package/core/built/admin/assets/activitypub/{feed-Cb-wYNw9.js → feed-yauqnu7A.js} +5 -5
  31. package/core/built/admin/assets/activitypub/{field-JxegcPt6.js → field-CsrMjbg2.js} +2 -2
  32. package/core/built/admin/assets/activitypub/{inbox-2hXDJBn5.js → inbox-DV3RrpFH.js} +7 -7
  33. package/core/built/admin/assets/activitypub/{label-DRQzZ7lb.js → label-DPs40NLn.js} +2 -2
  34. package/core/built/admin/assets/activitypub/layout-CvOhndCA.js +1 -0
  35. package/core/built/admin/assets/activitypub/{moderation-BnYKcTXY.js → moderation-DGa6hVNH.js} +7 -7
  36. package/core/built/admin/assets/activitypub/{note-C6ucS3Wu.js → note-BVL6LVHF.js} +5 -5
  37. package/core/built/admin/assets/activitypub/{notifications-DgBW9wEC.js → notifications-CRUu_uMC.js} +5 -5
  38. package/core/built/admin/assets/activitypub/{onboarding-DGu6yG4L.js → onboarding-Dpm-nLkQ.js} +2 -2
  39. package/core/built/admin/assets/activitypub/{onboarding-Bq3fNf_a.js → onboarding-KtpJA-xb.js} +2 -2
  40. package/core/built/admin/assets/activitypub/{preferences-C3jI1eVN.js → preferences-CdFuVqIt.js} +7 -7
  41. package/core/built/admin/assets/activitypub/{profile-Cn3vRb5Z.js → profile-KnNAoHYu.js} +8 -8
  42. package/core/built/admin/assets/activitypub/{routes-DbrwlS9h.js → routes-BRndai50.js} +26 -26
  43. package/core/built/admin/assets/activitypub/{settings-D0BALDQu.js → settings-DU7ftJ8w.js} +4 -4
  44. package/core/built/admin/assets/activitypub/{site-BFGj8HuQ.js → site-D1ZYV3AT.js} +2 -2
  45. package/core/built/admin/assets/activitypub/{step-1-CaoPg0a5.js → step-1-9IHheE78.js} +4 -4
  46. package/core/built/admin/assets/activitypub/{step-3-5k0TkyC9.js → step-3-DBERnfa-.js} +3 -3
  47. package/core/built/admin/assets/activitypub/{tabs-BV4JU7Vg.js → tabs-CvkwStij.js} +4 -4
  48. package/core/built/admin/assets/activitypub/{topic-filter-71sX5nfN.js → topic-filter-CS0Jsf_4.js} +2 -2
  49. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-B3srUuKt.js → use-activity-pub-queries-CGgtQrxL.js} +2 -2
  50. package/core/built/admin/assets/activitypub/{use-reply-chain-data-Cl6bGNy7.js → use-reply-chain-data-CLdUpx1t.js} +4 -4
  51. package/core/built/admin/assets/activitypub/{users-EcSPpds5.js → users-CyoMXlwX.js} +11 -3
  52. package/core/built/admin/assets/{add-integration-modal-DBFzeAUT.js → add-integration-modal-BVg-ec8i.js} +1 -1
  53. package/core/built/admin/assets/{add-newsletter-modal-CYJe-dTC.js → add-newsletter-modal-Du6th521.js} +1 -1
  54. package/core/built/admin/assets/{add-recommendation-modal-CgwGKH-_.js → add-recommendation-modal-BiCJ0-q5.js} +1 -1
  55. package/core/built/admin/assets/{analytics-CcXT_WqF.js → analytics-CQJzDDdJ.js} +1 -1
  56. package/core/built/admin/assets/{announcement-bar-modal-Ldcg-PB-.js → announcement-bar-modal-CskyZLzT.js} +1 -1
  57. package/core/built/admin/assets/{api-BLteQZ7W.js → api-BFocMbDg.js} +2 -2
  58. package/core/built/admin/assets/{api-keys-CoeerpwI.js → api-keys-CqKJHuAV.js} +1 -1
  59. package/core/built/admin/assets/{audience-Deg9lzfk.js → audience-Dn7LuH-r.js} +1 -1
  60. package/core/built/admin/assets/{auth-layout-CRaMX7g6.js → auth-layout-VLhXgXn5.js} +1 -1
  61. package/core/built/admin/assets/{automated-emails-WcjjRkRV.js → automated-emails-D5cFl1wr.js} +1 -1
  62. package/core/built/admin/assets/{automations-CbIdX0rd.js → automations-BpweKEcq.js} +1 -1
  63. package/core/built/admin/assets/automations-DBTYwNTJ.js +1 -0
  64. package/core/built/admin/assets/{bluesky-sharing-BJMNRwnU.js → bluesky-sharing-CrfpFHQ9.js} +1 -1
  65. package/core/built/admin/assets/{chart-helpers-D-3N170i.js → chart-helpers-BSuFLd6-.js} +1 -1
  66. package/core/built/admin/assets/{chunk.524.94ab17e1199b4c3f4615.js → chunk.524.e24d68bc6253b274b726.js} +4 -4
  67. package/core/built/admin/assets/{chunk.582.6f09b19a007e2805824e.js → chunk.582.47834285406dfa1abb29.js} +6 -6
  68. package/core/built/admin/assets/{chunk.476.53b5794a67d68111e0bf.js → chunk.837.e1454abc054e1fba1fe5.js} +5 -5
  69. package/core/built/admin/assets/{code-editor-view-DhTwpxxv.js → code-editor-view-BrGe3eS4.js} +1 -1
  70. package/core/built/admin/assets/{code-editor-view-C7wXGiuv.js → code-editor-view-CY6JCXNv.js} +1 -1
  71. package/core/built/admin/assets/{color-picker-field-Cjz2zY11.js → color-picker-field-DGe9HH6W.js} +1 -1
  72. package/core/built/admin/assets/{comments-DY-VLVxh.js → comments-iRbF6XiJ.js} +1 -1
  73. package/core/built/admin/assets/{config-B3HuCo0y.js → config-CRAZ4Civ.js} +1 -1
  74. package/core/built/admin/assets/{content-api-modal-2jt-jWiM.js → content-api-modal-B-XRbzeW.js} +1 -1
  75. package/core/built/admin/assets/{content-formatters-VqvNA7Pv.js → content-formatters-C08JJbUJ.js} +2 -2
  76. package/core/built/admin/assets/{context-menu-BWbk9nd5.js → context-menu-BxGXsgQO.js} +1 -1
  77. package/core/built/admin/assets/{custom-field-type-option-CIatEwIN.js → custom-field-type-option-C8Nt4X6x.js} +1 -1
  78. package/core/built/admin/assets/{custom-integration-modal-Cw0w2Tb3.js → custom-integration-modal-DzI16qjN.js} +1 -1
  79. package/core/built/admin/assets/{date-range-select-O-uA-BRV.js → date-range-select-BZqsYsGx.js} +1 -1
  80. package/core/built/admin/assets/{design-and-theme-modal-BLjNHRYN.js → design-and-theme-modal-1ty_KEkM.js} +2 -2
  81. package/core/built/admin/assets/{dist-DJhCsld6.js → dist-B4jqKAG5.js} +1 -1
  82. package/core/built/admin/assets/{dist-5Ol0DC_t.js → dist-Bmo2j_KH.js} +1 -1
  83. package/core/built/admin/assets/{dist-p52UDdoR.js → dist-C-_aTlvJ.js} +1 -1
  84. package/core/built/admin/assets/{dist-CcN1a5SB.js → dist-CWHIoxYn.js} +1 -1
  85. package/core/built/admin/assets/{dist-BcfsaiCV.js → dist-Cp2M5TzT.js} +1 -1
  86. package/core/built/admin/assets/{dist-kjTYGivb.js → dist-DQAAPbtg.js} +1 -1
  87. package/core/built/admin/assets/{dist-IMek6Acg.js → dist-DyO279y5.js} +1 -1
  88. package/core/built/admin/assets/{domain-DaPAeOFF.js → domain-DiFl_Z1A.js} +1 -1
  89. package/core/built/admin/assets/{edit-profile-BKO5qonH.js → edit-profile-PrLbJV3P.js} +1 -1
  90. package/core/built/admin/assets/editor-BBJDJL8U.js +8 -0
  91. package/core/built/admin/assets/{editor-screen-l4BUPE2o.js → editor-screen-nblrp808.js} +3 -3
  92. package/core/built/admin/assets/{email-previews-B1Ska3CF.js → email-previews-BKJxrW29.js} +1 -1
  93. package/core/built/admin/assets/{email-sending-status-provider-Bjn5KTy2.js → email-sending-status-provider-DB9ylBWk.js} +1 -1
  94. package/core/built/admin/assets/{emails-qxNbhO6X.js → emails-8YiSmC2X.js} +1 -1
  95. package/core/built/admin/assets/{embed-signup-form-modal-DSgds6Js.js → embed-signup-form-modal-CZmbYKfd.js} +1 -1
  96. package/core/built/admin/assets/{error-boundary-CJODV8Rg.js → error-boundary-DrxPFFO-.js} +1 -1
  97. package/core/built/admin/assets/{esm-CNLDtBMc.js → esm-_iCUCvbN.js} +1 -1
  98. package/core/built/admin/assets/{explore-C6V_JpUZ.js → explore-C69LSRVg.js} +1 -1
  99. package/core/built/admin/assets/{feed-B_TyFn9E.js → feed-B_0m7WhZ.js} +1 -1
  100. package/core/built/admin/assets/{feedback-gKOzmiGt.js → feedback-DW1DXdzT.js} +1 -1
  101. package/core/built/admin/assets/{filters-Bf6E1qAP.js → filters-Dr3vMnjZ.js} +1 -1
  102. package/core/built/admin/assets/{filters-DhsiEotO.js → filters-M2sRWPoF.js} +1 -1
  103. package/core/built/admin/assets/{first-promoter-modal-LmTXHr-z.js → first-promoter-modal-D43R2zhI.js} +1 -1
  104. package/core/built/admin/assets/{focus-koenig-editor-on-bottom-click-BAcLNJti.js → focus-koenig-editor-on-bottom-click-BzS8jiJf.js} +1 -1
  105. package/core/built/admin/assets/fullscreen-close-button-CWSp-MsK.js +1 -0
  106. package/core/built/admin/assets/{ghost-63bc7da4336844000c523a5a0819531e.js → ghost-ffde29676517b768b1aef5ec8d492418.js} +93 -96
  107. package/core/built/admin/assets/{gift-link-modal-uZtwRHzl.js → gift-link-modal-CNE7dfPD.js} +1 -1
  108. package/core/built/admin/assets/{gift-links-HVqaXear.js → gift-links-lQ7H_D8Z.js} +1 -1
  109. package/core/built/admin/assets/global-search-modal-DzRM3aON.js +1 -0
  110. package/core/built/admin/assets/{growth-BlPW4DHj.js → growth-CAi_5HIf.js} +1 -1
  111. package/core/built/admin/assets/{growth-CflU3vR0.js → growth-CMHbTWKE.js} +1 -1
  112. package/core/built/admin/assets/history-modal-BIz13vhr.js +1 -0
  113. package/core/built/admin/assets/{hooks-C-BDQ6Hs.js → hooks-0r7qxGEo.js} +2 -2
  114. package/core/built/admin/assets/{html-field-D6G0G1d_.js → html-field-vTe2q1be.js} +1 -1
  115. package/core/built/admin/assets/{iframe-buffering-DW-Axhvc.js → iframe-buffering-cu-yK7NA.js} +1 -1
  116. package/core/built/admin/assets/{images-BSUWxquu.js → images-DTZtaIAr.js} +1 -1
  117. package/core/built/admin/assets/{inbox-BkU3sg13.js → inbox-BHfpmmzn.js} +1 -1
  118. package/core/built/admin/assets/{index-z8-nEVdb.css → index-B02LJqc8.css} +1 -1
  119. package/core/built/admin/assets/{index-CuDhPtkB.js → index-RuRs_qGS.js} +3 -3
  120. package/core/built/admin/assets/{index.es-H6HOI4DG.js → index.es-rdb1skp_.js} +1 -1
  121. package/core/built/admin/assets/{integrations-BRo5DwA5.js → integrations-Deg9-u8X.js} +1 -1
  122. package/core/built/admin/assets/{invite-user-modal-CydBOG99.js → invite-user-modal-C4DeNcoO.js} +1 -1
  123. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +10483 -10455
  124. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +131 -131
  125. package/core/built/admin/assets/{koenig-lexical-CG_eb4dw.js → koenig-lexical-BhXu1__-.js} +96 -96
  126. package/core/built/admin/assets/{kpi-helpers-CyRx_yD6.js → kpi-helpers-H-Hl6h7h.js} +1 -1
  127. package/core/built/admin/assets/{kpi-tabs-V1_Nu9sh.js → kpi-tabs-k4A9-imn.js} +1 -1
  128. package/core/built/admin/assets/{label-picker-GTIIlBQ6.js → label-picker-DaivLdMw.js} +1 -1
  129. package/core/built/admin/assets/{labels-BVGLgdAj.js → labels-BCj6D_nl.js} +1 -1
  130. package/core/built/admin/assets/{layout-CG58T6P7.js → layout-_g2xhB0L.js} +1 -1
  131. package/core/built/admin/assets/{lib-Dkic19kH.js → lib-Bre6UXdJ.js} +2 -2
  132. package/core/built/admin/assets/{links-jD8AkkIu.js → links-C8RnEJVJ.js} +1 -1
  133. package/core/built/admin/assets/{member-activity-JggQ0VNQ.js → member-activity-DNJPUW5X.js} +1 -1
  134. package/core/built/admin/assets/{member-activity-feed-BBeCZmLM.js → member-activity-feed-CvKEetHS.js} +1 -1
  135. package/core/built/admin/assets/{member-custom-fields-DPsyP1Hq.js → member-custom-fields-CBdiwPD9.js} +1 -1
  136. package/core/built/admin/assets/{member-detail-D7qugPN7.js → member-detail-BIoyIIsl.js} +1 -1
  137. package/core/built/admin/assets/{members-Cj_BUZUL.js → members-CH6KeXQc.js} +1 -1
  138. package/core/built/admin/assets/{members-alDWPKDd.js → members-Dd9RczFK.js} +1 -1
  139. package/core/built/admin/assets/{migrate-2uKKakld.js → migrate-CVQIWsXO.js} +1 -1
  140. package/core/built/admin/assets/{moderation-pCUKsxbF.js → moderation-OtjZoNOc.js} +1 -1
  141. package/core/built/admin/assets/{navigation-modal-D0FBI5-m.js → navigation-modal-Bl02NjtO.js} +1 -1
  142. package/core/built/admin/assets/{newsletter-4urgCSR_.js → newsletter-BXyT7o69.js} +1 -1
  143. package/core/built/admin/assets/{newsletter-detail-modal-Chh1jvjH.js → newsletter-detail-modal-DxuKNu_1.js} +1 -1
  144. package/core/built/admin/assets/{newsletter-emails-CzVCiC2K.js → newsletter-emails-DicgmnMU.js} +1 -1
  145. package/core/built/admin/assets/{newsletters-eRQTtOBH.js → newsletters-By25FmUs.js} +1 -1
  146. package/core/built/admin/assets/{newsletters-BMEgeL2l.js → newsletters-CACa0VCx.js} +1 -1
  147. package/core/built/admin/assets/{note-dqog4Bua.js → note-CF4LrSmR.js} +1 -1
  148. package/core/built/admin/assets/{notifications-rcEVv-gx.js → notifications-BmHJmqIJ.js} +1 -1
  149. package/core/built/admin/assets/{offers-hV7zBtsI.js → offers-Df9Jzay5.js} +1 -1
  150. package/core/built/admin/assets/{offers-container-modal-DgZgkMsA.js → offers-container-modal-R0HRwugm.js} +1 -1
  151. package/core/built/admin/assets/{onboarding-4TxbZb90.js → onboarding-Bpo1yTzA.js} +1 -1
  152. package/core/built/admin/assets/{onboarding-SGscZLIc.js → onboarding-bMq3R8jB.js} +1 -1
  153. package/core/built/admin/assets/{onboarding-route-B3mN9l7E.js → onboarding-route-flf5YWti.js} +1 -1
  154. package/core/built/admin/assets/{overview-D4EanvDG.js → overview-C9WvmmOC.js} +1 -1
  155. package/core/built/admin/assets/{overview-CCwbHet8.js → overview-CDkHdIJM.js} +1 -1
  156. package/core/built/admin/assets/{page-header-Baymg6VR.js → page-header-CxTb0je5.js} +1 -1
  157. package/core/built/admin/assets/{pagemenu--UL0gW1x.js → pagemenu-DXr_U43J.js} +1 -1
  158. package/core/built/admin/assets/{pages-Cbq1M2kG.js → pages-Bm-zFXyP.js} +1 -1
  159. package/core/built/admin/assets/pages-route-LCw94aIO.js +1 -0
  160. package/core/built/admin/assets/{pintura-modal-D6HGlnJa.js → pintura-modal-B5sIPWcj.js} +1 -1
  161. package/core/built/admin/assets/{portal-modal-Bhqsevn_.js → portal-modal-DjOO3Unv.js} +1 -1
  162. package/core/built/admin/assets/{post-analytics-header-DX9fETdi.js → post-analytics-header-D2anehCj.js} +1 -1
  163. package/core/built/admin/assets/{post-analytics-provider-U7RtOle1.js → post-analytics-provider-BLQvV5C0.js} +1 -1
  164. package/core/built/admin/assets/{post-analytics-BJWDtC3a.js → post-analytics-wdu9gq8u.js} +1 -1
  165. package/core/built/admin/assets/{post-debug-D1b8Amju.js → post-debug-BnABXMfD.js} +1 -1
  166. package/core/built/admin/assets/{posts-Lg-p_ZHg.js → posts-CftunZgV.js} +1 -1
  167. package/core/built/admin/assets/{posts-list-screen-CmsW18e_.js → posts-list-screen-CwXmvY68.js} +2 -2
  168. package/core/built/admin/assets/posts-route-J74fMhCe.js +1 -0
  169. package/core/built/admin/assets/{preferences-CMlDfHfa.js → preferences-DFhf_pJF.js} +1 -1
  170. package/core/built/admin/assets/{preview-modal-D8om_cQv.js → preview-modal-BrZza3R_.js} +1 -1
  171. package/core/built/admin/assets/{profile-yFsIoZom.js → profile-CS4fP60N.js} +1 -1
  172. package/core/built/admin/assets/{radio-group-DwgLjwWB.js → radio-group-Xfp-frJz.js} +1 -1
  173. package/core/built/admin/assets/{referrers-DzP5QoXL.js → referrers-C8LJlrBm.js} +1 -1
  174. package/core/built/admin/assets/{reload-CZ-KP3IQ.js → reload-D0fnKoCm.js} +1 -1
  175. package/core/built/admin/assets/{reset-CCAa8v35.js → reset-CB-ATcLE.js} +1 -1
  176. package/core/built/admin/assets/{restore-screen-Ba0i2Y1K.js → restore-screen-EaZf4V8j.js} +1 -1
  177. package/core/built/admin/assets/{routes-DrnhmKTT.js → routes-DKfpFMfF.js} +2 -2
  178. package/core/built/admin/assets/search-index-sM3OjEUl.js +1 -0
  179. package/core/built/admin/assets/settings-BWzod-5X.js +4 -0
  180. package/core/built/admin/assets/{settings-lqWkfSmT.js → settings-DvgngbFt.js} +1 -1
  181. package/core/built/admin/assets/{setup-BopRPuaM.js → setup-CdHAchG5.js} +1 -1
  182. package/core/built/admin/assets/{signin-e8NgsU9M.js → signin-CUEEme88.js} +1 -1
  183. package/core/built/admin/assets/{signin-verify-CHkFJevb.js → signin-verify-CYRphSrj.js} +1 -1
  184. package/core/built/admin/assets/{signout-DRvQZuWa.js → signout-kLCJau9G.js} +1 -1
  185. package/core/built/admin/assets/{signup-DQHi7jZz.js → signup-J2Vjq7Gt.js} +1 -1
  186. package/core/built/admin/assets/{slack-modal-BuGESzgn.js → slack-modal-DKamr_94.js} +1 -1
  187. package/core/built/admin/assets/source-icon-DqBCPDIK.js +1 -0
  188. package/core/built/admin/assets/{stats-CHOikfoP.js → stats-BL_FJ7Ns.js} +1 -1
  189. package/core/built/admin/assets/{stats-view-DQZzKeEz.js → stats-view-BwbdkdOQ.js} +1 -1
  190. package/core/built/admin/assets/{step-1-C8XwHcKt.js → step-1-CLYhNmG9.js} +1 -1
  191. package/core/built/admin/assets/{step-2-BXaXAdwY.js → step-2-B2ujMlpa.js} +1 -1
  192. package/core/built/admin/assets/{step-3-DytbqpJi.js → step-3-DoaTWqqj.js} +1 -1
  193. package/core/built/admin/assets/{stripe-connect-modal-BhudjSeO.js → stripe-connect-modal-DytxH9DJ.js} +1 -1
  194. package/core/built/admin/assets/{tabs-CDb_TceL.js → tabs-fHs3A8WC.js} +1 -1
  195. package/core/built/admin/assets/{tag-detail-V72Zlro8.js → tag-detail-BcO46Ids.js} +2 -2
  196. package/core/built/admin/assets/{tag-picker-M3fC-yOF.js → tag-picker-Ct6NeqWK.js} +1 -1
  197. package/core/built/admin/assets/{tags-CXqE2A2T.js → tags-C1h3wCpW.js} +1 -1
  198. package/core/built/admin/assets/{tags-ZhqbPPc6.js → tags-OlmRJ6Ps.js} +1 -1
  199. package/core/built/admin/assets/{testimonials-modal-Cn8gvIFA.js → testimonials-modal-DMsQzSCB.js} +1 -1
  200. package/core/built/admin/assets/{themes-pOHHvnkt.js → themes-CPJSMo_W.js} +1 -1
  201. package/core/built/admin/assets/{tier-detail-modal-CeDla1OO.js → tier-detail-modal-DssSmhkF.js} +1 -1
  202. package/core/built/admin/assets/{tiers-D7aGzwZ-.js → tiers-DlvS8D6_.js} +1 -1
  203. package/core/built/admin/assets/{toggle-group-D7ly9OGa.js → toggle-group-BFWCtH3p.js} +1 -1
  204. package/core/built/admin/assets/{topic-filter-DQ3pr6AB.js → topic-filter-DAJ-DFPb.js} +1 -1
  205. package/core/built/admin/assets/{transistor-modal-4_Yx2vRo.js → transistor-modal-CtyFRsD0.js} +1 -1
  206. package/core/built/admin/assets/{unsplash-modal-Dm7R4k4k.js → unsplash-modal-DHnnTPmZ.js} +1 -1
  207. package/core/built/admin/assets/{use-activity-pub-queries-Gy9_locM.js → use-activity-pub-queries-BgR1USeY.js} +1 -1
  208. package/core/built/admin/assets/{use-analytics-data-oJ2o0pSS.js → use-analytics-data-Byf83QE-.js} +1 -1
  209. package/core/built/admin/assets/{use-availability-BqL7Dvn_.js → use-availability-CgZC6L_V.js} +1 -1
  210. package/core/built/admin/assets/{use-check-theme-limit-error-CxC9uKJz.js → use-check-theme-limit-error-DjprzKAN.js} +1 -1
  211. package/core/built/admin/assets/use-definitions-CJuXLSob.js +1 -0
  212. package/core/built/admin/assets/{use-email-sending-status-BFAg5TIb.js → use-email-sending-status-7kopNcza.js} +1 -1
  213. package/core/built/admin/assets/{use-filter-params-BOo9yZ5j.js → use-filter-params-DQ7uX-Zp.js} +1 -1
  214. package/core/built/admin/assets/{use-filterable-api-BnNLaS_r.js → use-filterable-api-CDrrxoGD.js} +1 -1
  215. package/core/built/admin/assets/{use-growth-stats-BS62uyyn.js → use-growth-stats-CCpnBgqS.js} +1 -1
  216. package/core/built/admin/assets/{use-host-limits-CNh4AAEs.js → use-host-limits-BZx7rzRI.js} +1 -1
  217. package/core/built/admin/assets/{use-limiter-DPKxoO1_.js → use-limiter-gF219BEg.js} +1 -1
  218. package/core/built/admin/assets/{use-pintura-config-CyVO62ZV.js → use-pintura-config-D-pmGkn2.js} +1 -1
  219. package/core/built/admin/assets/{use-pintura-editor-B5VBPbiO.js → use-pintura-editor-D_4zhlGE.js} +1 -1
  220. package/core/built/admin/assets/{use-post-referrers-nUPolSk7.js → use-post-referrers-Bc8eq4uy.js} +1 -1
  221. package/core/built/admin/assets/{use-post-top-links-DCH4eO11.js → use-post-top-links-DjltnQuI.js} +1 -1
  222. package/core/built/admin/assets/{use-reply-chain-data-UMzFbDvh.js → use-reply-chain-data-BiV3Cl0B.js} +1 -1
  223. package/core/built/admin/assets/use-sending-eta-gE-2B0Zw.js +1 -0
  224. package/core/built/admin/assets/{use-setting-group-Bf3vY8br.js → use-setting-group-YP84CqrJ.js} +1 -1
  225. package/core/built/admin/assets/{use-staff-users-CcQzTHqH.js → use-staff-users-CnwfdSx1.js} +1 -1
  226. package/core/built/admin/assets/{use-tinybird-query-CPy5ipAP.js → use-tinybird-query-BYbl5gKY.js} +1 -1
  227. package/core/built/admin/assets/{use-tinybird-token-DVNHuhu_.js → use-tinybird-token-Dz37zvb7.js} +1 -1
  228. package/core/built/admin/assets/{use-unsaved-changes-guard-Bvcp_Rny.js → use-unsaved-changes-guard-BkCuSlvU.js} +1 -1
  229. package/core/built/admin/assets/{use-upgrade-route-Bsxw9ZLN.js → use-upgrade-route-C-V-Xfak.js} +1 -1
  230. package/core/built/admin/assets/{use-url-input-DPJ592FB.js → use-url-input-BeYKYMGh.js} +1 -1
  231. package/core/built/admin/assets/{user-detail-modal-6UY6GdNy.js → user-detail-modal-CSoj7vOC.js} +1 -1
  232. package/core/built/admin/assets/{users-CzgQKbfO.js → users-CKJaAxEJ.js} +1 -1
  233. package/core/built/admin/assets/{view-site-DA_-zfGq.js → view-site-SpMx4P7G.js} +1 -1
  234. package/core/built/admin/assets/{web-Cq5YiD2r.js → web-CZf-k4F0.js} +1 -1
  235. package/core/built/admin/assets/{web-DqFIrOxt.js → web-uAqgYPK9.js} +1 -1
  236. package/core/built/admin/assets/{zapier-modal-DgqU-OBB.js → zapier-modal-DENbgTyE.js} +1 -1
  237. package/core/built/admin/index.html +24 -24
  238. package/core/frontend/helpers/color_to_rgba.js +15 -13
  239. package/core/frontend/helpers/facebook_url.js +27 -15
  240. package/core/frontend/services/assets-minification/card-assets.js +1 -1
  241. package/core/frontend/services/helpers/register-ghost-helpers.js +2 -2
  242. package/core/server/api/endpoints/app-installations.js +36 -0
  243. package/core/server/api/endpoints/automations.js +1 -1
  244. package/core/server/api/endpoints/index.js +4 -0
  245. package/core/server/data/exporter/table-lists.js +2 -0
  246. package/core/server/data/migrations/versions/6.69/2026-10-07-06-20-43-add-app-installation-permissions.js +40 -0
  247. package/core/server/data/schema/fixtures/fixtures.json +21 -0
  248. package/core/server/data/schema/in-development.js +1 -1
  249. package/core/server/data/schema/schema.js +53 -0
  250. package/core/server/lib/after-commit.js +20 -0
  251. package/core/server/models/action.js +6 -0
  252. package/core/server/services/app-installations/actions.js +44 -0
  253. package/core/server/services/app-installations/codec.js +20 -0
  254. package/core/server/services/app-installations/index.js +42 -0
  255. package/core/server/services/app-installations/schema.js +52 -0
  256. package/core/server/services/app-installations/service.js +160 -0
  257. package/core/server/services/automations/README.md +3 -3
  258. package/core/server/services/automations/automations-api.js +1 -1
  259. package/core/server/services/comments/comments-service-emails.js +8 -6
  260. package/core/server/services/email-service/README.md +16 -0
  261. package/core/server/services/email-service/email-service-wrapper.js +1 -0
  262. package/core/server/services/email-service/email-service.js +94 -53
  263. package/core/server/services/email-service/sending-status-serializers.js +4 -1
  264. package/core/server/services/email-service/sending-status-service.js +13 -0
  265. package/core/server/services/email-service/sending-status.js +12 -1
  266. package/core/server/services/members/members-api/repositories/member-repository.js +5 -23
  267. package/core/server/services/posts/post-email-handler.js +61 -28
  268. package/core/server/services/posts/posts-service.js +27 -2
  269. package/core/server/services/service-inventory.yaml +93 -7
  270. package/core/server/services/stats/stats-service.js +1 -5
  271. package/core/server/services/tinybird-sync/index.js +0 -3
  272. package/core/server/services/tinybird-sync/tinybird-sync-service.js +2 -6
  273. package/core/server/web/api/endpoints/admin/routes.js +25 -12
  274. package/core/shared/labs.js +4 -6
  275. package/package.json +11 -10
  276. package/pnpm-lock.yaml +112 -100
  277. package/pnpm-workspace.yaml +14 -12
  278. package/components/ghost-storage-base-3.0.0.tgz +0 -0
  279. package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
  280. package/components/tryghost-checkout-0.0.1.tgz +0 -0
  281. package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
  282. package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
  283. package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
  284. package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
  285. package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
  286. package/components/tryghost-kg-markdown-html-renderer-7.2.6.tgz +0 -0
  287. package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
  288. package/components/tryghost-metafield-csv-0.0.1.tgz +0 -0
  289. package/core/built/admin/assets/activitypub/layout-QTbY0t8e.js +0 -1
  290. package/core/built/admin/assets/automations-DVToctfJ.js +0 -1
  291. package/core/built/admin/assets/editor-CMXR0YvR.js +0 -8
  292. package/core/built/admin/assets/fullscreen-close-button-DXssPeDB.js +0 -1
  293. package/core/built/admin/assets/global-search-modal-C8LVJmiz.js +0 -1
  294. package/core/built/admin/assets/history-modal-parBtjpz.js +0 -1
  295. package/core/built/admin/assets/pages-route-CDk3V9rq.js +0 -1
  296. package/core/built/admin/assets/posts-route-CexHhklY.js +0 -1
  297. package/core/built/admin/assets/settings-xqakrAWa.js +0 -4
  298. package/core/built/admin/assets/source-icon-BjVangBd.js +0 -1
  299. package/core/built/admin/assets/use-definitions-DMVU3mTG.js +0 -1
  300. package/core/built/admin/assets/use-sending-eta-BsnKdQhv.js +0 -1
@@ -101,7 +101,7 @@ let u=e.default=(r=Ember.inject.service,n=(0,i.task)({drop:!0}),o=class extends
101
101
  super(...e),t=this,i="notifications",n=this,(r=a)&&Object.defineProperty(t,i,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}*deleteSnippetTask(){try{const{snippet:e}=this.args.data
102
102
  return e.isDeleted||(yield e.destroyRecord(),this.notifications.closeAlerts("snippet.delete")),!0}catch(e){this.notifications.showAPIError(e,{key:"snippet.delete.failed"})}finally{this.args.close()}}},a=s(o.prototype,"notifications",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s(o.prototype,"deleteSnippetTask",[n],Object.getOwnPropertyDescriptor(o.prototype,"deleteSnippetTask"),o.prototype),o)
103
103
  Ember._setComponentTemplate(l,u)})
104
- define("ghost-admin/components/editor/modals/preview",["exports","@glimmer/component","ghost-admin/utils/copy-text-to-clipboard","ghost-admin/utils/group-tiers","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M
104
+ define("ghost-admin/components/editor/modals/preview",["exports","@glimmer/component","ghost-admin/utils/copy-text-to-clipboard","ghost-admin/utils/group-tiers","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M
105
105
  function A(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function D(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
106
106
  var i=e[Symbol.toPrimitive]
107
107
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -110,13 +110,13 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
110
110
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function I(e,t,i,r,n){var o={}
111
111
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
112
112
  const R=Ember.HTMLBars.template({id:"+d7K4JIG",block:'{"symbols":["isContributor","tier","option","@data","@close"],"statements":[[10,"div"],[14,0,"gh-post-preview-modal"],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header gh-post-preview-header"],[14,"data-test-modal","preview-email"],[12],[2,"\\n "],[10,"div"],[14,0,"left"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Preview"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-post-preview-btn-group"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-contentfilter gh-btn-group"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn gh-post-preview-mode ",[30,[36,3],[[30,[36,0],[[32,0,["previewFormat"]],"browser"],null],"gh-btn-group-selected"],null]]]],[24,"data-test-button","browser-preview"],[16,"data-test-selected",[30,[36,0],[[32,0,["previewFormat"]],"browser"],null]],[24,4,"button"],[4,[38,5],["click",[30,[36,7],[[32,0,["changePreviewFormat"]],"browser"],null]],null],[12],[10,"span"],[12],[2,"Web"],[13],[13],[2,"\\n"],[6,[37,3],[[30,[36,8],[[32,0,["settings","membersEnabled"]],[30,[36,9],[[32,0,["settings","editorDefaultEmailRecipients"]],"disabled"],null]],null]],null,[["default"],[{"statements":[[6,[37,3],[[30,[36,8],[[32,4,["publishOptions","post","isPost"]],[30,[36,1],[[32,4,["publishOptions","user","isContributor"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,0],[[32,0,["previewFormat"]],"email"],null],"gh-btn-group-selected"],null]," gh-post-preview-mode"]]],[24,"data-test-button","email-preview"],[16,"data-test-selected",[30,[36,0],[[32,0,["previewFormat"]],"email"],null]],[24,4,"button"],[4,[38,5],["click",[30,[36,7],[[32,0,["changePreviewFormat"]],"email"],null]],null],[12],[10,"span"],[12],[2,"Email"],[13],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-contentfilter-divider"],[12],[13],[2,"\\n "],[10,"div"],[14,0,"gh-contentfilter gh-btn-group gh-post-preview-sizes"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,0],[[32,0,["previewSize"]],"desktop"],null],"gh-btn-group-selected"],null]," gh-post-preview-mode"]]],[24,4,"button"],[4,[38,5],["click",[30,[36,7],[[32,0,["changePreviewSize"]],"desktop"],null]],null],[12],[10,"span"],[12],[1,[30,[36,10],["laptop"],null]],[13],[13],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,0],[[32,0,["previewSize"]],"mobile"],null],"gh-btn-group-selected"],null]," gh-post-preview-mode"]]],[24,4,"button"],[4,[38,5],["click",[30,[36,7],[[32,0,["changePreviewSize"]],"mobile"],null]],null],[12],[10,"span"],[12],[1,[30,[36,10],["mobile-phone"],null]],[13],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,3],[[32,0,["showMemberSegmentDropdown"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-contentfilter-divider"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-select gh-web-preview-segment gh-preview-member-type"],[14,"data-test-select","preview-segment"],[12],[2,"\\n "],[8,"power-select",[],[["@selected","@options","@onChange","@triggerComponent","@triggerClass","@dropdownClass","@matchTriggerWidth","@onOpen"],[[32,0,["selectedPreviewAsOption"]],[32,0,["previewAsOptions"]],[32,0,["changePreviewAsOption"]],[30,[36,6],["gh-power-select/trigger"],null],"gh-preview-segment-trigger","gh-preview-segment-dropdown",false,[32,0,["dropdown","closeDropdowns"]]]],[["default"],[{"statements":[[2,"\\n "],[1,[32,3,["label"]]],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,3],[[32,0,["showTierDropdown"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-select gh-web-preview-segment gh-preview-tier"],[14,"data-test-select","preview-tier"],[12],[2,"\\n "],[8,"power-select",[],[["@selected","@options","@onChange","@triggerComponent","@triggerClass","@dropdownClass","@matchTriggerWidth","@onOpen"],[[32,0,["selectedPreviewTier"]],[32,0,["previewTierOptions"]],[32,0,["changePreviewTier"]],[30,[36,6],["gh-power-select/trigger"],null],"gh-preview-segment-trigger","gh-preview-segment-dropdown gh-preview-tier-dropdown",false,[32,0,["dropdown","closeDropdowns"]]]],[["default"],[{"statements":[[2,"\\n "],[1,[32,2,["name"]]],[2,"\\n "]],"parameters":[2]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"right"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-post-test-email-group"],[12],[2,"\\n "],[8,"gh-dropdown-button",[[24,"data-test-button","share-preview"]],[["@dropdownName","@classNames"],["post-preview-share","gh-btn gh-btn-preview gh-post-preview-url"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[1,[30,[36,10],["share"],null]],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-dropdown",[],[["@name","@classNames","@onOpen"],["post-preview-share","dropdown-menu gh-post-preview-share-dropdown",[32,0,["focusInput"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-post-preview-share"],[12],[2,"\\n "],[8,"gh-task-button",[[24,"data-test-button","copy-draft-link"]],[["@task","@idleIcon","@buttonText","@runningText","@successText","@successClass","@class"],[[32,0,["copyPreviewUrlTask"]],"copy","Copy preview link","Copy preview link","Copied","","gh-btn gh-btn-icon gh-btn-preview gh-post-copy-url"]],null],[2,"\\n "],[10,"a"],[15,6,[32,0,["browserPreviewUrl"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[14,0,"gh-btn gh-btn-preview gh-publish-preview-newtab"],[14,"data-test-link","open-draft"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,10],["external"],null]],[2,"Open in new tab"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-contentfilter-divider"],[12],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-editor gh-editor-preview-trigger gh-post-preview-close active"],[24,4,"button"],[4,[38,5],["click",[32,5]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Close"],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,3],[[32,4,["publishOptions","user","isContributor"]]],null,[["default","else"],[{"statements":[[2," "],[8,"gh-task-button",[[24,"data-test-preview-contributor-save",""]],[["@buttonText","@task","@runningText","@class"],["Save",[32,4,["saveTask"]],"Saving","gh-btn gh-btn-icon gh-btn-editor gh-editor-save-trigger contributor-save-button"]],null],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-primary"],[24,4,"button"],[4,[38,5],["click",[32,4,["togglePreviewPublish"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Publish"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,3],[[32,0,["saveFirstTask","isRunning"]]],null,[["default","else"],[{"statements":[[2," "],[8,"gh-loading-spinner",[],[[],[]],null],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,4],[[32,4,["publishOptions","user","isContributor"]]],null,[["default"],[{"statements":[[6,[37,3],[[30,[36,2],[[32,1],[30,[36,1],[[32,4,["publishOptions","post","isPost"]]],null],[30,[36,0],[[32,0,["previewFormat"]],"browser"],null]],null]],null,[["default","else"],[{"statements":[[2," "],[8,"editor/modals/preview/browser",[],[["@previewUrl","@skipAnimation","@mobile","@closeModal"],[[32,0,["browserPreviewUrl"]],[32,0,["skipAnimation"]],[30,[36,0],[[32,0,["previewSize"]],"mobile"],null],[32,5]]],null],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"editor/modals/preview/email",[],[["@post","@memberStatus","@memberTier","@memberDescription","@newsletter","@skipAnimation","@savePostTask","@mobile","@closeModal"],[[32,4,["publishOptions","post"]],[32,0,["emailMemberStatus"]],[32,0,["emailMemberTier"]],[32,0,["emailMemberDescription"]],[32,4,["publishOptions","newsletter"]],[32,0,["skipAnimation"]],[32,4,["saveTask"]],[30,[36,0],[[32,0,["previewSize"]],"mobile"],null],[32,5]]],null],[2,"\\n"]],"parameters":[]}]]]],"parameters":[1]}]]]],"parameters":[]}]]],[13],[2,"\\n"]],"hasEval":false,"upvars":["eq","not","or","if","let","on","component","fn","and","not-eq","svg-jar"]}',moduleName:"ghost-admin/components/editor/modals/preview.hbs"})
113
- let L=e.default=(o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember._tracked,u=Ember._tracked,c=Ember._tracked,d=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._tracked,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,M=class extends t.default{constructor(){super(...arguments),A(this,"dropdown",P,this),A(this,"settings",_,this),A(this,"session",O,this),A(this,"previewFormat",j,this),A(this,"previewSize",k,this),A(this,"isChangingTab",T,this),A(this,"previewEmailAddress",z,this),A(this,"previewAsSegment",S,this),A(this,"previewAsOptions",x,this),A(this,"previewTierSlug",C,this),D(this,"tiers",this.args.data.tiers||[]),this.saveFirstTask.perform()
113
+ let L=e.default=(o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember._tracked,u=Ember._tracked,c=Ember._tracked,d=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._tracked,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,M=class extends t.default{constructor(){super(...arguments),A(this,"dropdown",P,this),A(this,"settings",_,this),A(this,"session",O,this),A(this,"previewFormat",j,this),A(this,"previewSize",k,this),A(this,"isChangingTab",T,this),A(this,"previewEmailAddress",z,this),A(this,"previewAsSegment",x,this),A(this,"previewAsOptions",S,this),A(this,"previewTierSlug",C,this),D(this,"tiers",this.args.data.tiers||[]),this.saveFirstTask.perform()
114
114
  const{initialPreviewAsSegment:e,initialPreviewTierSlug:t}=this.args.data,i=this.tiers.find(e=>e.slug===t)||this.tiers.find(e=>e.active)||this.tiers[0]
115
115
  if(this.previewTierSlug=i?.slug,e){const t="tier"!==e||this.previewTierSlug?e:this.settings.paidMembersEnabled?"paid":"free"
116
116
  this.changePreviewAsSegment(t)}this.setPreviewAsOptions()}get selectedPreviewAsOption(){return this.previewAsOptions.find(e=>e.value===this.previewAsSegment)}get selectedPreviewTier(){return this.tiers.find(e=>e.slug===this.previewTierSlug)}get previewTierOptions(){return(0,r.groupTiersByActive)(this.tiers).filter(e=>e.options.length>0)}get showTierDropdown(){return"tier"===this.previewAsSegment&&this.tiers.length>0}get showMemberSegmentDropdown(){return"browser"===this.previewFormat||this.previewAsOptions.length>1}get skipAnimation(){return this.args.data.skipAnimation||this.isChangingTab}get browserPreviewUrl(){const e=new URL(this.args.data.publishOptions.post.previewUrl)
117
117
  return e.searchParams.set("member_status","tier"===this.previewAsSegment?"paid":this.previewAsSegment),"tier"===this.previewAsSegment&&this.previewTierSlug?e.searchParams.set("member_tier",this.previewTierSlug):e.searchParams.delete("member_tier"),e.toString()}get emailMemberStatus(){return"paid"===this.previewAsSegment||"tier"===this.previewAsSegment?"paid":"free"}get emailMemberTier(){return"tier"===this.previewAsSegment?this.previewTierSlug:null}get emailMemberDescription(){return"tier"===this.previewAsSegment&&this.selectedPreviewTier?`${this.selectedPreviewTier.name} tier member`:`${this.previewAsSegment} member`}setPreviewAsOptions(){"email"===this.previewFormat?this.previewAsOptions=[{label:"Free member",value:"free"}]:this.previewAsOptions=[{label:"Public visitor",value:"anonymous"},{label:"Free member",value:"free"}],this.settings.paidMembersEnabled&&(this.previewAsOptions.push({label:"Paid member",value:"paid"}),this.tiers.length>0&&this.previewAsOptions.push({label:"Specific tier",value:"tier"}))}changePreviewFormat(e){this.isChangingTab=!0,this.previewFormat=e,this.args.data.changePreviewFormat?.(e),this.setPreviewAsOptions(),"email"===e&&"anonymous"===this.previewAsSegment&&this.changePreviewAsSegment("free")}changePreviewSize(e){this.isChangingTab=!0,this.previewSize=e,this.args.data.changePreviewSize?.(e)}changePreviewAsSegment(e){"email"===this.previewFormat&&"anonymous"===e&&(e="free"),this.previewAsSegment=e,this.args.data.changePreviewAsSegment?.(e)}changePreviewAsOption(e){this.changePreviewAsSegment(e.value)}changePreviewTier(e){this.previewTierSlug=e.slug,this.args.data.changePreviewTier?.(e.slug)}focusInput(){setTimeout(()=>{document.querySelector("[data-post-preview-email-input]")?.focus()},100)}*saveFirstTask(){const{saveTask:e,publishOptions:t,hasDirtyAttributes:i}=this.args.data
118
118
  if(e.isRunning)return yield e.last
119
- t.post.isDraft&&i&&(yield e.perform())}*copyPreviewUrlTask(){return(0,i.default)(this.browserPreviewUrl),yield!0}},D(M,"modalOptions",{className:"fullscreen-modal-total-overlay publish-modal",omitBackdrop:!0,ignoreBackdropClick:!0}),P=I((E=M).prototype,"dropdown",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=I(E.prototype,"settings",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=I(E.prototype,"session",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=I(E.prototype,"previewFormat",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.args.data.initialPreviewFormat||"browser"}}),k=I(E.prototype,"previewSize",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.args.data.initialPreviewSize||"desktop"}}),T=I(E.prototype,"isChangingTab",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),z=I(E.prototype,"previewEmailAddress",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.session.user.email}}),S=I(E.prototype,"previewAsSegment",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"free"}}),x=I(E.prototype,"previewAsOptions",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),C=I(E.prototype,"previewTierSlug",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I(E.prototype,"changePreviewFormat",[b],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewFormat"),E.prototype),I(E.prototype,"changePreviewSize",[f],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewSize"),E.prototype),I(E.prototype,"changePreviewAsSegment",[g],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewAsSegment"),E.prototype),I(E.prototype,"changePreviewAsOption",[v],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewAsOption"),E.prototype),I(E.prototype,"changePreviewTier",[y],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewTier"),E.prototype),I(E.prototype,"focusInput",[w],Object.getOwnPropertyDescriptor(E.prototype,"focusInput"),E.prototype),I(E.prototype,"saveFirstTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"saveFirstTask"),E.prototype),I(E.prototype,"copyPreviewUrlTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"copyPreviewUrlTask"),E.prototype),E)
119
+ t.post.isDraft&&i&&(yield e.perform())}*copyPreviewUrlTask(){return(0,i.default)(this.browserPreviewUrl),yield!0}},D(M,"modalOptions",{className:"fullscreen-modal-total-overlay publish-modal",omitBackdrop:!0,ignoreBackdropClick:!0}),P=I((E=M).prototype,"dropdown",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=I(E.prototype,"settings",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=I(E.prototype,"session",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=I(E.prototype,"previewFormat",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.args.data.initialPreviewFormat||"browser"}}),k=I(E.prototype,"previewSize",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.args.data.initialPreviewSize||"desktop"}}),T=I(E.prototype,"isChangingTab",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),z=I(E.prototype,"previewEmailAddress",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.session.user.email}}),x=I(E.prototype,"previewAsSegment",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"free"}}),S=I(E.prototype,"previewAsOptions",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),C=I(E.prototype,"previewTierSlug",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I(E.prototype,"changePreviewFormat",[b],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewFormat"),E.prototype),I(E.prototype,"changePreviewSize",[f],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewSize"),E.prototype),I(E.prototype,"changePreviewAsSegment",[g],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewAsSegment"),E.prototype),I(E.prototype,"changePreviewAsOption",[v],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewAsOption"),E.prototype),I(E.prototype,"changePreviewTier",[y],Object.getOwnPropertyDescriptor(E.prototype,"changePreviewTier"),E.prototype),I(E.prototype,"focusInput",[w],Object.getOwnPropertyDescriptor(E.prototype,"focusInput"),E.prototype),I(E.prototype,"saveFirstTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"saveFirstTask"),E.prototype),I(E.prototype,"copyPreviewUrlTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"copyPreviewUrlTask"),E.prototype),E)
120
120
  Ember._setComponentTemplate(R,L)}),define("ghost-admin/components/editor/modals/preview/browser",["exports","@glimmer/component"],function(e,t){var i,r
121
121
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
122
122
  const n=Ember.HTMLBars.template({id:"GV9heMqO",block:'{"symbols":["@skipAnimation","@previewUrl","@mobile"],"statements":[[6,[37,3],[[32,3]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["modal-body modal-preview-email-content gh-pe-mobile-container gh-post-preview-container h-auto overflow-auto ",[30,[36,0],[[32,1],"fade-in"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-pe-mobile-bezel"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-pe-mobile-screen"],[12],[2,"\\n "],[11,"iframe"],[24,0,"gh-post-preview-iframe"],[16,"src",[32,2]],[24,"title","Mobile browser post preview"],[4,[38,1],null,null],[4,[38,2],["load",[32,0,["setupPreview"]]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[15,0,[31,["gh-post-preview-container gh-post-preview-browser-container ",[30,[36,0],[[32,1],"fade-in"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-browserpreview-iframecontainer"],[12],[2,"\\n "],[11,"iframe"],[24,0,"gh-pe-iframe"],[16,"src",[32,2]],[24,"title","Desktop browser post preview"],[4,[38,1],null,null],[4,[38,2],["load",[32,0,["setupPreview"]]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["unless","close-dropdowns-on-click","on","if"]}',moduleName:"ghost-admin/components/editor/modals/preview/browser.hbs"})
@@ -126,11 +126,11 @@ document.dispatchEvent(e)}},window.addEventListener("message",this.messageHandle
126
126
  if(e&&e.body){const t=e.createElement("script")
127
127
  t.setAttribute("data-ghost-preview-escape-handler","true"),t.innerHTML="\n (function() {\n // Mark that the escape handler is ready\n window.ghostPreviewEscapeHandlerReady = true;\n\n // Listen for escape key and post message to parent\n document.addEventListener('keydown', function(e) {\n if (e.key === 'Escape') {\n window.parent.postMessage({ type: 'escapeKeyPressed' }, '*');\n }\n }, true);\n\n // Also listen on window to catch all events\n window.addEventListener('keydown', function(e) {\n if (e.key === 'Escape') {\n window.parent.postMessage({ type: 'escapeKeyPressed' }, '*');\n }\n }, true);\n })();\n ",e.body.appendChild(t)}}catch(s){}},500)}willDestroy(){super.willDestroy(...arguments),this.messageHandler&&window.removeEventListener("message",this.messageHandler)}},a=r.prototype,s="setupPreview",l=[i],u=Object.getOwnPropertyDescriptor(r.prototype,"setupPreview"),c=r.prototype,d={},Object.keys(u).forEach(function(e){d[e]=u[e]}),d.enumerable=!!d.enumerable,d.configurable=!!d.configurable,("value"in d||d.initializer)&&(d.writable=!0),d=l.slice().reverse().reduce(function(e,t){return t(a,s,e)||e},d),c&&void 0!==d.initializer&&(d.value=d.initializer?d.initializer.call(c):void 0,d.initializer=void 0),void 0===d.initializer&&Object.defineProperty(a,s,d),r)
128
128
  var a,s,l,u,c,d
129
- Ember._setComponentTemplate(n,o)}),define("ghost-admin/components/editor/modals/preview/email",["exports","@glimmer/component","validator","ghost-admin/decorators/inject","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M
129
+ Ember._setComponentTemplate(n,o)}),define("ghost-admin/components/editor/modals/preview/email",["exports","@glimmer/component","validator","ghost-admin/decorators/inject","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M
130
130
  function A(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function D(e,t,i,r,n){var o={}
131
131
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
132
132
  const I=Ember.HTMLBars.template({id:"5iX8dwAf",block:'{"symbols":["overLimit","emailSizeKb","option","@skipAnimation","@mobile","@memberDescription","@post","@savePostTask","@memberTier","@memberStatus"],"statements":[[10,"div"],[15,0,[31,["gh-post-preview-container gh-post-preview-email-container ",[30,[36,5],[[32,5],"gh-pe-mobile-container"],null]," ",[30,[36,4],[[32,4],"fade-in"],null]]]],[12],[2,"\\n "],[10,"div"],[15,0,[31,["gh-post-preview-email ",[30,[36,5],[[32,5],"gh-pe-mobile-bezel"],null]]]],[12],[2,"\\n "],[10,"div"],[15,0,[31,["gh-post-preview-email-mockup ",[30,[36,5],[[32,5],"gh-post-preview-email-mockup-mobile gh-pe-mobile-screen"],null]]]],[12],[2,"\\n "],[10,"div"],[15,0,[31,["gh-post-preview-email-header ",[30,[36,5],[[30,[36,6],[[32,0,["newslettersList","length"]],1],null],"gh-post-preview-multiple-newsletters"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-post-preview-email-columns"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-post-preview-email-group"],[12],[2,"\\n "],[10,"form"],[14,0,"gh-email-preview-newsletter-select"],[14,"data-test-email-preview-newsletter-select-section",""],[12],[2,"\\n "],[10,"label"],[14,"for","email-preview-newsletter-select"],[12],[2,"From"],[13],[2,"\\n"],[6,[37,5],[[30,[36,6],[[32,0,["newslettersList","length"]],1],null]],null,[["default","else"],[{"statements":[[2," "],[8,"power-select",[[24,"data-test-email-preview-newsletter-select",""]],[["@selected","@options","@onChange","@triggerComponent","@triggerClass","@dropdownClass","@selectedItemComponent","@matchTriggerWidth"],[[32,0,["newsletter"]],[32,0,["newslettersList"]],[32,0,["setNewsletter"]],[30,[36,2],["gh-power-select/trigger"],null],"gh-preview-newsletter-trigger gh-input-x","gh-dropdown-x gh-publish-newsletter-dropdown gh-preview-newsletter-dropdown",[30,[36,2],["editor/modals/preview/selected-newsletter-label"],null],false]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[1,[32,3,["name"]]],[2," "],[1,[30,[36,3],["<",[30,[36,1],[[32,3,["senderEmail"]]],null],">"],null]],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"p"],[14,0,"gh-preview-newsletter-name"],[14,"data-test-text","newsletter-from"],[12],[2,"\\n "],[1,[32,0,["newsletter","name"]]],[2,"\\n "],[10,"span"],[14,0,"gh-preview-email-address"],[12],[2,"<"],[1,[30,[36,1],[[32,0,["newsletter","senderEmail"]]],null]],[2,">"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-post-test-email-group"],[12],[2,"\\n "],[8,"gh-dropdown-button",[[24,"data-test-button","post-preview-test-email"]],[["@dropdownName","@classNames"],["post-preview-test-email","gh-btn gh-btn-icon gh-post-preview-email-trigger"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[1,[30,[36,0],["send-email"],null]],[2,"Test"],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-dropdown",[],[["@name","@classNames","@onOpen"],["post-preview-test-email","dropdown-menu gh-post-preview-email-test-dropdown",[32,0,["focusInput"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-post-preview-email-test"],[12],[2,"\\n "],[10,"form"],[14,0,"form-group"],[12],[2,"\\n "],[10,"label"],[14,"for","post-preview-email-input"],[12],[2,"Send test email"],[13],[2,"\\n "],[8,"input",[[24,0,"gh-input gh-input-x gh-post-preview-email-input"],[24,"placeholder","you@yoursite.com"],[24,"aria-label","Email address to receive preview"],[16,"aria-invalid",[30,[36,5],[[32,0,["sendPreviewEmailError"]],"true"],null]],[16,"aria-describedby",[30,[36,5],[[32,0,["sendPreviewEmailError"]],"sendError"],null]],[24,"data-post-preview-email-input",""],[4,[38,7],null,null],[4,[38,9],["Enter",[30,[36,8],[[32,0,["sendPreviewEmailTask"]]],null]],null]],[["@value"],[[32,0,["previewEmailAddress"]]]],null],[2,"\\n "],[10,"p"],[14,0,"description"],[12],[2,"You\'ll receive this as a "],[1,[32,6]],[2,"."],[13],[2,"\\n "],[8,"gh-task-button",[[24,"data-test-button","send-test-email"]],[["@task","@buttonText","@successText","@runningText","@class"],[[32,0,["sendPreviewEmailTask"]],"Send","Sent","Sending...","gh-btn gh-btn-icon gh-btn-primary"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,5],[[32,0,["sendPreviewEmailError"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-post-preview-email-error"],[12],[2,"\\n "],[10,"span"],[14,0,"response"],[14,1,"sendError"],[12],[1,[32,0,["sendPreviewEmailError"]]],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"hr"],[12],[13],[2,"\\n\\n "],[10,"form"],[14,0,"gh-email-preview-newsletter-select"],[12],[2,"\\n "],[10,"label"],[14,"for","email-preview-newsletter-select"],[12],[2,"Subject"],[13],[2,"\\n "],[8,"editor/modals/preview/email/email-subject",[],[["@post","@savePostTask","@mobile"],[[32,7],[32,8],[32,5]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[8,"editor/email-size-warning",[],[["@post"],[[32,7]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,5],[[32,1]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-email-preview-clip-container"],[12],[2,"\\n "],[1,[30,[36,0],["email-warning"],null]],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-email-preview-clip-title"],[12],[2,"This newsletter is "],[10,"span"],[14,0,"yellow-d1"],[12],[1,[32,2]],[2,"kB"],[13],[13],[2,"\\n "],[10,"div"],[14,0,"gh-email-preview-clip-description"],[12],[2,"Emails may get clipped in the inbox behind a “View entire message” link when they’re over 100kB."],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1,2]}]]],[2,"\\n "],[11,"iframe"],[24,0,"gh-pe-iframe"],[24,"title","Email preview"],[24,"tabindex","0"],[24,"sandbox","allow-same-origin allow-popups allow-popups-to-escape-sandbox"],[4,[38,10],[[32,0,["renderEmailPreview"]]],null],[4,[38,11],[[32,0,["renderEmailPreview"]],[32,10],[32,9]],null],[4,[38,12],["focusin",[32,0,["focusPreviewFrame"]]],null],[4,[38,13],null,null],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar","sender-email-address","component","concat","unless","if","gt","autofocus","perform","on-key","did-insert","did-update","on","close-dropdowns-on-click"]}',moduleName:"ghost-admin/components/editor/modals/preview/email.hbs"})
133
- let R=e.default=(o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember._tracked,d=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._tracked,b=Ember._tracked,f=Ember._action,g=Ember._action,v=(0,n.task)({drop:!0}),y=Ember._action,w=class extends t.default{constructor(){super(...arguments),A(this,"ajax",E,this),A(this,"ghostPaths",P,this),A(this,"session",_,this),A(this,"settings",O,this),A(this,"store",j,this),A(this,"config",k,this),A(this,"html",T,this),A(this,"subject",z,this),A(this,"previewEmailAddress",S,this),A(this,"sendPreviewEmailError",x,this),A(this,"newsletter",C,this),A(this,"newslettersList",M,this),this.loadNewslettersTask.perform()}get mailgunIsEnabled(){return this.config.mailgunIsConfigured||!!(this.settings.mailgunApiKey&&this.settings.mailgunDomain&&this.settings.mailgunBaseUrl)}get _audienceParams(){const{memberStatus:e,memberTier:t}=this.args,i={member_status:e}
133
+ let R=e.default=(o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember._tracked,d=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._tracked,b=Ember._tracked,f=Ember._action,g=Ember._action,v=(0,n.task)({drop:!0}),y=Ember._action,w=class extends t.default{constructor(){super(...arguments),A(this,"ajax",E,this),A(this,"ghostPaths",P,this),A(this,"session",_,this),A(this,"settings",O,this),A(this,"store",j,this),A(this,"config",k,this),A(this,"html",T,this),A(this,"subject",z,this),A(this,"previewEmailAddress",x,this),A(this,"sendPreviewEmailError",S,this),A(this,"newsletter",C,this),A(this,"newslettersList",M,this),this.loadNewslettersTask.perform()}get mailgunIsEnabled(){return this.config.mailgunIsConfigured||!!(this.settings.mailgunApiKey&&this.settings.mailgunDomain&&this.settings.mailgunBaseUrl)}get _audienceParams(){const{memberStatus:e,memberTier:t}=this.args,i={member_status:e}
134
134
  return t&&(i.member_tier=t),i}async renderEmailPreview(e){this._previewIframe=e,await this._fetchEmailData(),await(0,n.timeout)(100),e&&(e.contentWindow.document.open(),e.contentWindow.document.write(this.html),e.contentWindow.document.close())}focusPreviewFrame(e){const t=e?.target,i=t?.contentDocument?.body
135
135
  i?(i.hasAttribute("tabindex")||i.setAttribute("tabindex","-1"),i.focus({preventScroll:!0})):t?.contentWindow?.focus()}*sendPreviewEmailTask(){try{const e=this.args.post.id,t=this.previewEmailAddress.trim()
136
136
  if(!i.default.isEmail(t))return this.sendPreviewEmailError="Please enter a valid email",!1
@@ -150,7 +150,7 @@ const n=await this.ajax.request(i.href),[o]=n.email_previews
150
150
  e=o.html,t=o.subject}const a=(new DOMParser).parseFromString(e,"text/html"),s=a.querySelector("style"),l=s.innerHTML
151
151
  s.innerHTML=`${l}\n\n\nhtml {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.2) transparent;\n}\nhtml::-webkit-scrollbar {\n width: 8px;\n background: transparent;\n}\nhtml::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, 0.2);\n}\nhtml::-webkit-scrollbar-thumb:hover {\n background-color: rgba(0, 0, 0, 0.3);\n}\n`
152
152
  e=(new XMLSerializer).serializeToString(a.doctype)+a.documentElement.outerHTML,this.html=e,this.subject=t}*loadNewslettersTask(){const e=yield this.store.query("newsletter",{filter:"status:active"})
153
- this.newslettersList=e}setNewsletter(e){this.newsletter=e,this._previewIframe&&this.renderEmailPreview(this._previewIframe)}},E=D(w.prototype,"ajax",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=D(w.prototype,"ghostPaths",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=D(w.prototype,"session",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=D(w.prototype,"settings",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=D(w.prototype,"store",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=D(w.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=D(w.prototype,"html",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),z=D(w.prototype,"subject",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),S=D(w.prototype,"previewEmailAddress",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.session.user.email}}),x=D(w.prototype,"sendPreviewEmailError",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),C=D(w.prototype,"newsletter",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.args.post.newsletter||this.args.newsletter}}),M=D(w.prototype,"newslettersList",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D(w.prototype,"renderEmailPreview",[f],Object.getOwnPropertyDescriptor(w.prototype,"renderEmailPreview"),w.prototype),D(w.prototype,"focusPreviewFrame",[g],Object.getOwnPropertyDescriptor(w.prototype,"focusPreviewFrame"),w.prototype),D(w.prototype,"sendPreviewEmailTask",[v],Object.getOwnPropertyDescriptor(w.prototype,"sendPreviewEmailTask"),w.prototype),D(w.prototype,"loadNewslettersTask",[n.task],Object.getOwnPropertyDescriptor(w.prototype,"loadNewslettersTask"),w.prototype),D(w.prototype,"setNewsletter",[y],Object.getOwnPropertyDescriptor(w.prototype,"setNewsletter"),w.prototype),w)
153
+ this.newslettersList=e}setNewsletter(e){this.newsletter=e,this._previewIframe&&this.renderEmailPreview(this._previewIframe)}},E=D(w.prototype,"ajax",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=D(w.prototype,"ghostPaths",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=D(w.prototype,"session",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=D(w.prototype,"settings",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=D(w.prototype,"store",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=D(w.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=D(w.prototype,"html",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),z=D(w.prototype,"subject",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),x=D(w.prototype,"previewEmailAddress",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.session.user.email}}),S=D(w.prototype,"sendPreviewEmailError",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),C=D(w.prototype,"newsletter",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.args.post.newsletter||this.args.newsletter}}),M=D(w.prototype,"newslettersList",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D(w.prototype,"renderEmailPreview",[f],Object.getOwnPropertyDescriptor(w.prototype,"renderEmailPreview"),w.prototype),D(w.prototype,"focusPreviewFrame",[g],Object.getOwnPropertyDescriptor(w.prototype,"focusPreviewFrame"),w.prototype),D(w.prototype,"sendPreviewEmailTask",[v],Object.getOwnPropertyDescriptor(w.prototype,"sendPreviewEmailTask"),w.prototype),D(w.prototype,"loadNewslettersTask",[n.task],Object.getOwnPropertyDescriptor(w.prototype,"loadNewslettersTask"),w.prototype),D(w.prototype,"setNewsletter",[y],Object.getOwnPropertyDescriptor(w.prototype,"setNewsletter"),w.prototype),w)
154
154
  Ember._setComponentTemplate(I,R)}),define("ghost-admin/components/editor/modals/preview/email/email-subject",["exports","@glimmer/component"],function(e,t){var i,r,n,o,a
155
155
  function s(e,t,i,r,n){var o={}
156
156
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -162,7 +162,7 @@ const t=e.target.value,i=this.args.post
162
162
  if(i.get("emailSubject")!==t)return i.set("emailSubject",t),i.validate({property:"emailSubject"}).then(()=>{if(!i.get("isNew"))return this.args.savePostTask.perform()})}editSubject(){this.isEditing=!0}},a=s(o.prototype,"isEditing",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s(o.prototype,"setSubject",[r],Object.getOwnPropertyDescriptor(o.prototype,"setSubject"),o.prototype),s(o.prototype,"editSubject",[n],Object.getOwnPropertyDescriptor(o.prototype,"editSubject"),o.prototype),o)
163
163
  Ember._setComponentTemplate(l,u)}),define("ghost-admin/components/editor/modals/preview/selected-newsletter-label",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
164
164
  const t=Ember.HTMLBars.template({id:"4ca+8xPF",block:'{"symbols":["@select","@extra"],"statements":[[1,[32,1,["selected","name"]]],[2," "],[1,[32,2]],[2,"\\n"]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/components/editor/modals/preview/selected-newsletter-label.hbs"})
165
- e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/editor/modals/preview/social",["exports","@glimmer/component","ghost-admin/components/gh-image-uploader","ghost-admin/decorators/inject"],function(e,t,i,r){var n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M,A,D,I,R,L,N,F,U
165
+ e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/editor/modals/preview/social",["exports","@glimmer/component","ghost-admin/components/gh-image-uploader","ghost-admin/decorators/inject"],function(e,t,i,r){var n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M,A,D,I,R,L,N,F,U
166
166
  function B(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function H(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
167
167
  var i=e[Symbol.toPrimitive]
168
168
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -171,7 +171,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
171
171
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function V(e,t,i,r,n){var o={}
172
172
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
173
173
  const q=Ember.HTMLBars.template({id:"CkC4GJBT",block:'{"symbols":["uploader","error","uploader","error","@post","@skipAnimation"],"statements":[[10,"div"],[15,0,[31,["gh-post-preview-container gh-post-preview-social-container ",[30,[36,12],[[32,6],"fade-in"],null]]]],[12],[2,"\\n "],[10,"p"],[14,0,"mb8 fw5"],[12],[2,"This is how your content will look when shared, you can click on any elements you’d like to edit."],[13],[2,"\\n "],[10,"div"],[14,0,"flex flex-column"],[12],[2,"\\n "],[10,"div"],[14,0,"flex gh-social-container-responsive"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-container"],[12],[2,"\\n "],[10,"div"],[14,0,"flex ma3 mb2"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,8],["social-facebook"],[["class"],["social-icon"]]]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-title"],[12],[1,[30,[36,10],[[32,0,["settings","metaTitle"]],[32,0,["settings","title"]]],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-time"],[12],[2,"12 hrs"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"flex flex-column ma3 mt2"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-100 mb2"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-100 mb2"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-60"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[11,"div"],[24,0,"gh-social-og-preview"],[4,[38,1],["mouseenter",[30,[36,6],[[30,[36,13],[[32,0,["facebookHovered"]]],null],true],null]],null],[4,[38,1],["mouseleave",[30,[36,6],[[30,[36,13],[[32,0,["facebookHovered"]]],null],false],null]],null],[12],[2,"\\n"],[6,[37,4],[[30,[36,11],[[32,0,["facebookHovered"]],[30,[36,14],[[32,0,["facebookImage"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-social-og-preview-img-add"],[24,4,"button"],[4,[38,1],["click",[30,[36,6],[[32,0,["triggerFileDialog"]],"facebook"],null]],null],[12],[2,"+ Add image"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[32,0,["setFacebookImage"]]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,16],[[30,[36,15],[[30,[36,15],[[32,3,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"error pa2"],[12],[10,"span"],[14,0,"response"],[12],[1,[30,[36,10],[[32,4,["context"]],[32,4,["message"]]],null]],[13],[13],[2,"\\n"]],"parameters":[4]}]]],[2,"\\n"],[6,[37,4],[[30,[36,10],[[32,0,["facebookImage"]],[32,3,["isUploading"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-social-og-preview-image relative"],[15,5,[30,[36,9],[[32,0,["facebookImage"]]],null]],[12],[2,"\\n "],[10,"div"],[14,0,"flex h-100 items-center justify-center"],[12],[2,"\\n"],[6,[37,4],[[30,[36,10],[[32,0,["facebookHovered"]],[32,3,["isUploading"]]],null]],null,[["default"],[{"statements":[[6,[37,4],[[32,3,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,3,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-white"],[24,4,"button"],[4,[38,1],["click",[30,[36,6],[[32,0,["triggerFileDialog"]],"facebook"],null]],null],[12],[10,"span"],[12],[1,[30,[36,4],[[32,5,["ogImage"]],"Change","Upload"],null]],[2," image"],[13],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,4],[[30,[36,11],[[32,0,["facebookHovered"]],[32,5,["ogImage"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-black gh-btn-icon gh-social-preview-img-delete"],[24,"title","Remove custom Facebook image"],[24,4,"button"],[4,[38,1],["click",[32,0,["clearFacebookImage"]]],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,8],["trash"],null]],[13],[2,"\\n "],[10,"span"],[14,0,"hidden"],[12],[2,"Remove custom Facebook image"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,1,"facebookFileInput"]],[["@multiple","@action","@accept"],[false,[32,3,["setFiles"]],[32,0,["imageMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n\\n "],[10,"div"],[14,0,"gh-social-og-preview-bookmark"],[12],[2,"\\n"],[2," "],[10,"div"],[15,0,[31,["gh-social-og-preview-content ",[30,[36,4],[[32,0,["editingFacebookTitle"]],"edit-mode"],null]," ",[30,[36,4],[[32,0,["editingFacebookDescription"]],"edit-mode"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-preview-meta"],[12],[2,"\\n "],[1,[32,0,["config","blogDomain"]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,4],[[32,0,["editingFacebookTitle"]]],null,[["default","else"],[{"statements":[[2," "],[11,"input"],[24,"aria-label","Facebook title"],[24,0,"gh-input"],[16,"placeholder",[32,0,["facebookTitle"]]],[16,2,[32,5,["ogTitle"]]],[24,"maxlength","300"],[24,"data-prevent-escape-close-modal","true"],[24,4,"text"],[4,[38,1],["blur",[32,0,["setFacebookTitle"]]],null],[4,[38,5],["Enter",[32,0,["blurElement"]]],null],[4,[38,5],["Escape",[30,[36,6],[[32,0,["cancelEdit"]],"ogTitle"],null]],null],[4,[38,7],null,null],[12],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-social-og-preview-title editable pointer"],[24,"role","button"],[24,"aria-label","Edit Facebook title"],[4,[38,1],["click",[32,0,["editFacebookTitle"]]],null],[12],[2,"\\n "],[1,[30,[36,0],[[32,0,["facebookTitle"]]],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,4],[[32,0,["editingFacebookDescription"]]],null,[["default","else"],[{"statements":[[2," "],[11,"textarea"],[24,"aria-label","Facebook description"],[24,0,"gh-input"],[24,"maxlength","500"],[16,"placeholder",[30,[36,0],[[32,0,["facebookDescription"]],160],null]],[24,"data-prevent-escape-close-modal","true"],[4,[38,1],["blur",[32,0,["setFacebookDescription"]]],null],[4,[38,5],["Enter",[32,0,["blurElement"]]],null],[4,[38,5],["Escape",[30,[36,6],[[32,0,["cancelEdit"]],"ogDescription"],null]],null],[4,[38,7],null,null],[12],[1,[32,5,["ogDescription"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-social-og-preview-desc editable pointer"],[24,"role","button"],[24,"aria-label","Edit Facebook description"],[4,[38,1],["click",[32,0,["editFacebookDescription"]]],null],[12],[2,"\\n "],[1,[30,[36,0],[[32,0,["facebookDescription"]]],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-reactions"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-likes"],[12],[1,[30,[36,8],["facebook-like"],[["class"],["z-999"]]]],[1,[30,[36,8],["facebook-heart"],[["class"],["nl1"]]]],[2,"182"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-comments"],[12],[2,"7 comments"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-comments ml2"],[12],[2,"2 shares"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-social-twitter-container"],[12],[2,"\\n "],[10,"div"],[14,0,"flex ma4"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,8],["social-x"],[["class"],["social-icon"]]]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-title"],[12],[1,[30,[36,10],[[32,0,["settings","metaTitle"]],[32,0,["settings","title"]]],null]],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-time"],[12],[2,"12 hrs"],[13],[2,"\\n "],[10,"div"],[14,0,"flex flex-column mt2 mb3"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-100 mb2"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-60"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[11,"div"],[24,0,"gh-social-twitter-post-preview"],[4,[38,1],["mouseenter",[30,[36,6],[[30,[36,13],[[32,0,["twitterHovered"]]],null],true],null]],null],[4,[38,1],["mouseleave",[30,[36,6],[[30,[36,13],[[32,0,["twitterHovered"]]],null],false],null]],null],[12],[2,"\\n"],[6,[37,4],[[30,[36,11],[[32,0,["twitterHovered"]],[30,[36,14],[[32,0,["twitterImage"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-social-twitter-preview-img-add"],[24,4,"button"],[4,[38,1],["click",[30,[36,6],[[32,0,["triggerFileDialog"]],"twitter"],null]],null],[12],[2,"+ Add image"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[32,0,["setTwitterImage"]]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,16],[[30,[36,15],[[30,[36,15],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"error pa2"],[12],[10,"span"],[14,0,"response"],[12],[1,[30,[36,10],[[32,2,["context"]],[32,2,["message"]]],null]],[13],[13],[2,"\\n"]],"parameters":[2]}]]],[2,"\\n"],[6,[37,4],[[30,[36,10],[[32,0,["twitterImage"]],[32,1,["isUploading"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-social-twitter-preview-image relative"],[15,5,[30,[36,9],[[32,0,["twitterImage"]]],null]],[12],[2,"\\n "],[10,"div"],[14,0,"flex h-100 items-center justify-center"],[12],[2,"\\n"],[6,[37,4],[[30,[36,10],[[32,0,["twitterHovered"]],[32,1,["isUploading"]]],null]],null,[["default"],[{"statements":[[6,[37,4],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,1,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-white"],[24,4,"button"],[4,[38,1],["click",[30,[36,6],[[32,0,["triggerFileDialog"]],"twitter"],null]],null],[12],[10,"span"],[12],[1,[30,[36,4],[[32,5,["twitterImage"]],"Change","Upload"],null]],[2," image"],[13],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,4],[[30,[36,11],[[32,0,["twitterHovered"]],[32,5,["twitterImage"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-black gh-btn-icon gh-social-preview-img-delete"],[24,"title","Remove custom Twitter image"],[24,4,"button"],[4,[38,1],["click",[32,0,["clearTwitterImage"]]],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,8],["trash"],null]],[13],[2,"\\n "],[10,"span"],[14,0,"hidden"],[12],[2,"Remove custom Twitter image"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,1,"twitterFileInput"]],[["@multiple","@action","@accept"],[false,[32,1,["setFiles"]],[32,0,["imageMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n\\n "],[10,"div"],[14,0,"gh-social-twitter-preview-content"],[12],[2,"\\n"],[6,[37,4],[[32,0,["editingTwitterTitle"]]],null,[["default","else"],[{"statements":[[2," "],[11,"input"],[24,"aria-label","Twitter title"],[24,0,"gh-input"],[16,"placeholder",[32,0,["twitterTitle"]]],[16,2,[32,5,["twitterTitle"]]],[24,"maxlength","300"],[24,"data-prevent-escape-close-modal","true"],[24,4,"text"],[4,[38,1],["blur",[32,0,["setTwitterTitle"]]],null],[4,[38,5],["Enter",[32,0,["blurElement"]]],null],[4,[38,5],["Escape",[30,[36,6],[[32,0,["cancelEdit"]],"twitterTitle"],null]],null],[4,[38,7],null,null],[12],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-social-twitter-preview-title editable pointer"],[24,"role","button"],[24,"aria-label","Edit Twitter title"],[4,[38,1],["click",[32,0,["editTwitterTitle"]]],null],[12],[1,[32,0,["twitterTitle"]]],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,4],[[32,0,["editingTwitterDescription"]]],null,[["default","else"],[{"statements":[[2," "],[11,"textarea"],[24,"aria-label","Twitter description"],[24,0,"gh-input"],[24,"maxlength","500"],[16,"placeholder",[30,[36,0],[[32,0,["twitterDescription"]],160],null]],[24,"data-prevent-escape-close-modal","true"],[4,[38,1],["blur",[32,0,["setTwitterDescription"]]],null],[4,[38,5],["Enter",[32,0,["blurElement"]]],null],[4,[38,5],["Escape",[30,[36,6],[[32,0,["cancelEdit"]],"twitterDescription"],null]],null],[4,[38,7],null,null],[12],[1,[32,5,["twitterDescription"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-social-twitter-preview-desc editable pointer"],[24,"role","button"],[24,"aria-label","Edit Twitter description"],[4,[38,1],["click",[32,0,["editTwitterDescription"]]],null],[12],[1,[30,[36,0],[[32,0,["twitterDescription"]]],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-social-twitter-preview-meta"],[12],[2,"\\n "],[1,[30,[36,8],["twitter-link"],null]],[2,"\\n "],[1,[32,0,["config","blogDomain"]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-twitter-reactions"],[12],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[1,[30,[36,8],["twitter-comment"],null]],[2,"2"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[1,[30,[36,8],["twitter-retweet"],null]],[2,"11"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[1,[30,[36,8],["twitter-like"],null]],[2,"32"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[1,[30,[36,8],["twitter-share"],null]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-seo-preview-container"],[12],[2,"\\n "],[1,[30,[36,8],["google"],null]],[2,"\\n "],[10,"div"],[14,0,"gh-seo-preview"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-seo-search-bar mb12"],[12],[1,[30,[36,8],["google-search"],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-seo-preview-link"],[12],[1,[32,0,["serpURL"]]],[13],[2,"\\n"],[6,[37,4],[[32,0,["editingMetaTitle"]]],null,[["default","else"],[{"statements":[[2," "],[11,"input"],[24,"aria-label","Meta title"],[24,0,"gh-input"],[16,"placeholder",[32,0,["serpTitle"]]],[16,2,[32,5,["metaTitle"]]],[24,"maxlength","300"],[24,"data-prevent-escape-close-modal","true"],[24,4,"text"],[4,[38,1],["blur",[32,0,["setMetaTitle"]]],null],[4,[38,5],["Enter",[32,0,["blurElement"]]],null],[4,[38,5],["Escape",[30,[36,6],[[32,0,["cancelEdit"]],"metaTitle"],null]],null],[4,[38,7],null,null],[12],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-seo-preview-title editable pointer"],[24,"role","button"],[24,"aria-label","Edit meta title"],[4,[38,1],["click",[32,0,["editMetaTitle"]]],null],[12],[2,"\\n "],[1,[32,0,["serpTitle"]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,4],[[32,0,["editingMetaDescription"]]],null,[["default","else"],[{"statements":[[2," "],[11,"textarea"],[24,"aria-label","Meta description"],[24,0,"gh-input"],[16,"placeholder",[32,0,["serpDescription"]]],[24,"maxlength","500"],[24,"data-prevent-escape-close-modal","true"],[4,[38,1],["blur",[32,0,["setMetaDescription"]]],null],[4,[38,5],["Enter",[32,0,["blurElement"]]],null],[4,[38,5],["Escape",[30,[36,6],[[32,0,["cancelEdit"]],"metaDescription"],null]],null],[4,[38,7],null,null],[12],[1,[32,5,["metaDescription"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-seo-preview-desc editable pointer"],[24,"role","button"],[24,"aria-label","Edit meta description"],[4,[38,1],["click",[32,0,["editMetaDescription"]]],null],[12],[2,"\\n "],[1,[30,[36,3],[[30,[36,2],null,null],"DD MMM YYYY"],null]],[2," — "],[6,[37,4],[[32,0,["serpDescription"]]],null,[["default","else"],[{"statements":[[1,[30,[36,0],[[32,0,["serpDescription"]],149],null]]],"parameters":[]},{"statements":[[2,"Search engines will automatically show a custom preview of content related to the search term here if no custom meta description is set. Click to edit."]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["truncate","on","now","moment-format","if","on-key","fn","autofocus","svg-jar","background-image-style","or","and","unless","mut","not","-track-array","each"]}',moduleName:"ghost-admin/components/editor/modals/preview/social.hbs"})
174
- let $=e.default=(n=Ember.inject.service,o=Ember.inject.service,a=Ember._tracked,s=Ember._tracked,l=Ember._tracked,u=Ember._tracked,c=Ember._tracked,d=Ember._tracked,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,P=Ember._action,_=Ember._action,O=Ember._action,j=Ember._action,k=Ember._action,T=Ember._action,z=Ember._action,S=Ember._action,x=Ember._action,C=class extends t.default{constructor(...e){super(...e),B(this,"settings",M,this),B(this,"ghostPaths",A,this),B(this,"config",D,this),B(this,"editingFacebookTitle",I,this),B(this,"editingFacebookDescription",R,this),B(this,"editingTwitterTitle",L,this),B(this,"editingTwitterDescription",N,this),B(this,"editingMetaTitle",F,this),B(this,"editingMetaDescription",U,this),H(this,"imageExtensions",i.IMAGE_EXTENSIONS),H(this,"imageMimeTypes",i.IMAGE_MIME_TYPES)}get _fallbackDescription(){return this.args.post.customExcerpt||this.serpDescription||this.settings.description}blurElement(e){e.shiftKey||(e.preventDefault(),e.target.blur())}triggerFileDialog(e){const t=document.querySelector(`#${e}FileInput input`)
174
+ let $=e.default=(n=Ember.inject.service,o=Ember.inject.service,a=Ember._tracked,s=Ember._tracked,l=Ember._tracked,u=Ember._tracked,c=Ember._tracked,d=Ember._tracked,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,P=Ember._action,_=Ember._action,O=Ember._action,j=Ember._action,k=Ember._action,T=Ember._action,z=Ember._action,x=Ember._action,S=Ember._action,C=class extends t.default{constructor(...e){super(...e),B(this,"settings",M,this),B(this,"ghostPaths",A,this),B(this,"config",D,this),B(this,"editingFacebookTitle",I,this),B(this,"editingFacebookDescription",R,this),B(this,"editingTwitterTitle",L,this),B(this,"editingTwitterDescription",N,this),B(this,"editingMetaTitle",F,this),B(this,"editingMetaDescription",U,this),H(this,"imageExtensions",i.IMAGE_EXTENSIONS),H(this,"imageMimeTypes",i.IMAGE_MIME_TYPES)}get _fallbackDescription(){return this.args.post.customExcerpt||this.serpDescription||this.settings.description}blurElement(e){e.shiftKey||(e.preventDefault(),e.target.blur())}triggerFileDialog(e){const t=document.querySelector(`#${e}FileInput input`)
175
175
  t&&t.click()}get serpTitle(){return this.args.post.metaTitle||this.args.post.title||"(Untitled)"}get serpURL(){const e=[]
176
176
  if(this.args.post.canonicalUrl){const t=new URL(this.args.post.canonicalUrl)
177
177
  e.push(t.host),e.push(...t.pathname.split("/").reject(e=>!e))}else{const t=new URL(this.config.blogUrl)
@@ -181,7 +181,7 @@ this.args.post.metaDescription=t.trim(),this.args.post.save(),this.editingMetaDe
181
181
  this.args.post.ogTitle=t.trim(),this.args.post.save(),this.editingFacebookTitle=!1}editFacebookDescription(){this.editingFacebookDescription=!0}setFacebookDescription(){const e=event.target.value
182
182
  this.args.post.ogDescription=e.trim(),this.args.post.save(),this.editingFacebookDescription=!1}setFacebookImage([e]){this.args.post.ogImage=e.url,this.args.post.save()}clearFacebookImage(){this.args.post.ogImage=null,this.args.post.save()}get twitterTitle(){return this.args.post.twitterTitle||this.serpTitle}get twitterDescription(){return this.args.post.twitterDescription||this._fallbackDescription}get twitterImage(){return this.args.post.twitterImage||this.args.post.featureImage||this.settings.twitterImage||this.settings.coverImage}editTwitterTitle(){this.editingTwitterTitle=!0}setTwitterTitle(e){const t=e.target.value
183
183
  this.args.post.twitterTitle=t.trim(),this.args.post.save(),this.editingTwitterTitle=!1}editTwitterDescription(){this.editingTwitterDescription=!0}setTwitterDescription(){const e=event.target.value
184
- this.args.post.twitterDescription=e.trim(),this.args.post.save(),this.editingTwitterDescription=!1}setTwitterImage([e]){this.args.post.twitterImage=e.url,this.args.post.save()}clearTwitterImage(){this.args.post.twitterImage=null,this.args.post.save()}},M=V(C.prototype,"settings",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=V(C.prototype,"ghostPaths",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=V(C.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=V(C.prototype,"editingFacebookTitle",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),R=V(C.prototype,"editingFacebookDescription",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),L=V(C.prototype,"editingTwitterTitle",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),N=V(C.prototype,"editingTwitterDescription",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),F=V(C.prototype,"editingMetaTitle",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),U=V(C.prototype,"editingMetaDescription",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),V(C.prototype,"blurElement",[p],Object.getOwnPropertyDescriptor(C.prototype,"blurElement"),C.prototype),V(C.prototype,"triggerFileDialog",[m],Object.getOwnPropertyDescriptor(C.prototype,"triggerFileDialog"),C.prototype),V(C.prototype,"editMetaTitle",[h],Object.getOwnPropertyDescriptor(C.prototype,"editMetaTitle"),C.prototype),V(C.prototype,"setMetaTitle",[b],Object.getOwnPropertyDescriptor(C.prototype,"setMetaTitle"),C.prototype),V(C.prototype,"editMetaDescription",[f],Object.getOwnPropertyDescriptor(C.prototype,"editMetaDescription"),C.prototype),V(C.prototype,"setMetaDescription",[g],Object.getOwnPropertyDescriptor(C.prototype,"setMetaDescription"),C.prototype),V(C.prototype,"editFacebookTitle",[v],Object.getOwnPropertyDescriptor(C.prototype,"editFacebookTitle"),C.prototype),V(C.prototype,"cancelEdit",[y],Object.getOwnPropertyDescriptor(C.prototype,"cancelEdit"),C.prototype),V(C.prototype,"setFacebookTitle",[w],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookTitle"),C.prototype),V(C.prototype,"editFacebookDescription",[E],Object.getOwnPropertyDescriptor(C.prototype,"editFacebookDescription"),C.prototype),V(C.prototype,"setFacebookDescription",[P],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookDescription"),C.prototype),V(C.prototype,"setFacebookImage",[_],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookImage"),C.prototype),V(C.prototype,"clearFacebookImage",[O],Object.getOwnPropertyDescriptor(C.prototype,"clearFacebookImage"),C.prototype),V(C.prototype,"editTwitterTitle",[j],Object.getOwnPropertyDescriptor(C.prototype,"editTwitterTitle"),C.prototype),V(C.prototype,"setTwitterTitle",[k],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterTitle"),C.prototype),V(C.prototype,"editTwitterDescription",[T],Object.getOwnPropertyDescriptor(C.prototype,"editTwitterDescription"),C.prototype),V(C.prototype,"setTwitterDescription",[z],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterDescription"),C.prototype),V(C.prototype,"setTwitterImage",[S],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterImage"),C.prototype),V(C.prototype,"clearTwitterImage",[x],Object.getOwnPropertyDescriptor(C.prototype,"clearTwitterImage"),C.prototype),C)
184
+ this.args.post.twitterDescription=e.trim(),this.args.post.save(),this.editingTwitterDescription=!1}setTwitterImage([e]){this.args.post.twitterImage=e.url,this.args.post.save()}clearTwitterImage(){this.args.post.twitterImage=null,this.args.post.save()}},M=V(C.prototype,"settings",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=V(C.prototype,"ghostPaths",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=V(C.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=V(C.prototype,"editingFacebookTitle",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),R=V(C.prototype,"editingFacebookDescription",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),L=V(C.prototype,"editingTwitterTitle",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),N=V(C.prototype,"editingTwitterDescription",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),F=V(C.prototype,"editingMetaTitle",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),U=V(C.prototype,"editingMetaDescription",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),V(C.prototype,"blurElement",[p],Object.getOwnPropertyDescriptor(C.prototype,"blurElement"),C.prototype),V(C.prototype,"triggerFileDialog",[m],Object.getOwnPropertyDescriptor(C.prototype,"triggerFileDialog"),C.prototype),V(C.prototype,"editMetaTitle",[h],Object.getOwnPropertyDescriptor(C.prototype,"editMetaTitle"),C.prototype),V(C.prototype,"setMetaTitle",[b],Object.getOwnPropertyDescriptor(C.prototype,"setMetaTitle"),C.prototype),V(C.prototype,"editMetaDescription",[f],Object.getOwnPropertyDescriptor(C.prototype,"editMetaDescription"),C.prototype),V(C.prototype,"setMetaDescription",[g],Object.getOwnPropertyDescriptor(C.prototype,"setMetaDescription"),C.prototype),V(C.prototype,"editFacebookTitle",[v],Object.getOwnPropertyDescriptor(C.prototype,"editFacebookTitle"),C.prototype),V(C.prototype,"cancelEdit",[y],Object.getOwnPropertyDescriptor(C.prototype,"cancelEdit"),C.prototype),V(C.prototype,"setFacebookTitle",[w],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookTitle"),C.prototype),V(C.prototype,"editFacebookDescription",[E],Object.getOwnPropertyDescriptor(C.prototype,"editFacebookDescription"),C.prototype),V(C.prototype,"setFacebookDescription",[P],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookDescription"),C.prototype),V(C.prototype,"setFacebookImage",[_],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookImage"),C.prototype),V(C.prototype,"clearFacebookImage",[O],Object.getOwnPropertyDescriptor(C.prototype,"clearFacebookImage"),C.prototype),V(C.prototype,"editTwitterTitle",[j],Object.getOwnPropertyDescriptor(C.prototype,"editTwitterTitle"),C.prototype),V(C.prototype,"setTwitterTitle",[k],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterTitle"),C.prototype),V(C.prototype,"editTwitterDescription",[T],Object.getOwnPropertyDescriptor(C.prototype,"editTwitterDescription"),C.prototype),V(C.prototype,"setTwitterDescription",[z],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterDescription"),C.prototype),V(C.prototype,"setTwitterImage",[x],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterImage"),C.prototype),V(C.prototype,"clearTwitterImage",[S],Object.getOwnPropertyDescriptor(C.prototype,"clearTwitterImage"),C.prototype),C)
185
185
  Ember._setComponentTemplate(q,$)}),define("ghost-admin/components/editor/modals/public-preview-warning",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
186
186
  const t=Ember.HTMLBars.template({id:"CCE/qsoW",block:'{"symbols":["@data","@close"],"statements":[[10,"div"],[14,0,"modal-content gh-tk-reminder"],[14,"data-test-modal","public-preview-warning"],[15,"data-testid",[30,[36,2],["public-preview-warning-",[32,1,["warning"]]],null]],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[32,1,["warning"]],"no-content-before"],null]],null,[["default","else"],[{"statements":[[2," "],[10,"h1"],[12],[2,"Nothing above the public preview"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[30,[36,0],[[32,1,["warning"]],"no-content-after"],null]],null,[["default","else"],[{"statements":[[2," "],[10,"h1"],[12],[2,"Nothing below the public preview"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"h1"],[12],[2,"Public preview has no effect"],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[11,"button"],[24,0,"close"],[24,"title","Close"],[24,4,"button"],[4,[38,3],["click",[32,2]],null],[12],[1,[30,[36,4],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-body"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[32,1,["warning"]],"no-content-before"],null]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[2,"Add some content above the public preview so everyone has something to read before the paywall."],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[30,[36,0],[[32,1,["warning"]],"no-content-after"],null]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[2,"Add some content below the public preview for subscribers who have access to the full post."],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"p"],[12],[2,"This post is public, so everyone can read the full post and the public preview won’t have any effect."],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-footer"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[24,"data-test-button","continue-with-public-preview-warning"],[24,4,"button"],[4,[38,3],["click",[30,[36,5],[[32,2],true],null]],null],[12],[10,"span"],[12],[2,"Continue to publish"],[13],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-black"],[24,"data-test-button","back-to-editor"],[24,4,"button"],[4,[38,3],["click",[32,2]],null],[12],[10,"span"],[12],[2,"Back to editor"],[13],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["eq","if","concat","on","svg-jar","fn"]}',moduleName:"ghost-admin/components/editor/modals/public-preview-warning.hbs"})
187
187
  e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/editor/modals/publish-flow",["exports","@glimmer/component","ember-concurrency"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w
@@ -252,7 +252,7 @@ return this.session.set("errorCode",t),yield this.modals.open("editor/modals/re-
252
252
  t.message=Ember.String.htmlSafe(t.context||t.message)}),this.signin.errors.add("password","Incorrect password"),this.signin.hasValidated.pushObject("password"),this.authenticationError=e.payload.errors[0].message),this.notifications.showAPIError(e)}}async _authenticate(){const{identification:e,password:t}=this.signin
253
253
  this.session.skipAuthSuccessHandler=!0
254
254
  try{await this.session.authenticate("authenticator:cookie",{identification:e,password:t})}finally{this.session.skipAuthSuccessHandler=void 0}}},_(E,"modalOptions",{className:"fullscreen-modal-wide fullscreen-modal-action modal-reauthenticate",ignoreBackdropClick:!0,backgroundLight:!0,backgroundBlur:!0}),g=O((f=E).prototype,"notifications",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=O(f.prototype,"session",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=O(f.prototype,"modals",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=O(f.prototype,"authenticationError",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),O(f.prototype,"setPassword",[h],Object.getOwnPropertyDescriptor(f.prototype,"setPassword"),f.prototype),O(f.prototype,"reauthenticateTask",[b],Object.getOwnPropertyDescriptor(f.prototype,"reauthenticateTask"),f.prototype),f)
255
- Ember._setComponentTemplate(j,T)}),define("ghost-admin/components/editor/modals/re-verify",["exports","@glimmer/component","ember-data","tracked-built-ins","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C
255
+ Ember._setComponentTemplate(j,T)}),define("ghost-admin/components/editor/modals/re-verify",["exports","@glimmer/component","ember-data","tracked-built-ins","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C
256
256
  function M(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function A(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
257
257
  var i=e[Symbol.toPrimitive]
258
258
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -261,13 +261,13 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
261
261
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function D(e,t,i,r,n){var o={}
262
262
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
263
263
  const I=Ember.HTMLBars.template({id:"qC+2sQQ1",block:'{"symbols":["task"],"statements":[[10,"div"],[14,0,"modal-content"],[14,"data-test-modal","re-verify"],[12],[2,"\\n "],[11,"form"],[24,1,"verify"],[24,0,"gh-signin"],[24,"method","post"],[24,"novalidate","novalidate"],[4,[38,4],["submit",[30,[36,3],[[32,0,["verifyTokenTask"]]],null]],null],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"h1"],[12],[6,[37,2],[[32,0,["twoFactorRequired"]]],null,[["default","else"],[{"statements":[[2,"2FA confirmation"]],"parameters":[]},{"statements":[[2,"Verify it\'s really you"]],"parameters":[]}]]],[13],[2,"\\n"],[6,[37,2],[[32,0,["twoFactorRequired"]]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[2,"Enter the sign-in verification code sent to your email."],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"p"],[12],[2,"It looks like you\'re signing in from a new device. A 6-digit sign-in verification code has been sent to your email to keep your account safe."],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"form-group"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["verifyData","errors"]],[32,0,["verifyData","hasValidated"]],"token"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","token"],[12],[2,"Verification code"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon forgotten-wrap"],[12],[2,"\\n "],[11,"input"],[24,1,"token"],[24,3,"token"],[24,"inputmode","numeric"],[24,"pattern","[0-9]*"],[24,"placeholder","• • • • • •"],[24,"autocomplete","one-time-code"],[24,0,"gh-input"],[16,2,[32,0,["token"]]],[24,"data-test-input","token"],[24,"data-1p-ignore",""],[24,4,"text"],[4,[38,4],["input",[32,0,["handleTokenInput"]]],null],[12],[13],[2,"\\n\\n "],[8,"gh-task-button",[[24,"data-test-button","resend-token"]],[["@task","@class","@type","@successClass","@failureClass","@disabled"],[[32,0,["resendTokenTask"]],"forgotten-link gh-btn gh-btn-link gh-btn-icon","button","","",[30,[36,0],[[32,0,["resendTokenTask","isRunning"]],[32,0,["delayResendAvailabilityTask","isRunning"]]],null]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,2],[[32,0,["delayResendAvailabilityTask","isRunning"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[12],[2,"Sent"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[12],[6,[37,2],[[32,1,["isRunning"]]],null,[["default","else"],[{"statements":[[1,[30,[36,1],["spinner"],[["class"],["gh-spinner"]]]],[2," Sending"]],"parameters":[]},{"statements":[[2,"Resend"]],"parameters":[]}]]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[8,"gh-task-button",[[24,"data-test-button","verify"]],[["@buttonText","@task","@showSuccess","@class","@type","@useAccentColor"],["Verify →",[32,0,["verifyTokenTask"]],false,"login gh-btn gh-btn-login gh-btn-block gh-btn-icon","submit",true]],null],[2,"\\n\\n"],[6,[37,2],[[30,[36,0],[[32,0,["flowErrors"]],[32,0,["verifyData","validationMessage"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"response"],[14,"data-test-error","verify"],[12],[1,[30,[36,0],[[32,0,["flowErrors"]],[32,0,["verifyData","validationMessage"]]],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["or","svg-jar","if","perform","on"]}',moduleName:"ghost-admin/components/editor/modals/re-verify.hbs"}),{Errors:R}=i.default,L=!0,N=!1
264
- let F=(o=Ember._tracked,a=Ember._tracked,l=D((s=class{constructor(){M(this,"token",l,this),M(this,"hasValidated",u,this),A(this,"errors",R.create())}validate(){return this.resetValidations(),this.token?.trim()?!!this.token?.trim().match(/^\d{6}$/)||(this.errors.add("token","Verification code must be 6 numbers"),this.hasValidated.push("token"),!1):(this.errors.add("token","Verification code is required"),this.hasValidated.push("token"),!1)}setTokenError(e){this.resetValidations(),this.errors.add("token",e),this.hasValidated.push("token")}resetValidations(){this.errors.clear(),this.hasValidated=new r.TrackedArray}get validationMessage(){return this.errors.toArray()[0]?.message}}).prototype,"token",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=D(s.prototype,"hasValidated",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new r.TrackedArray}}),s),U=e.default=(c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._tracked,v=Ember._action,y=Ember._action,w=(0,n.task)({drop:!0}),E=(0,n.task)({drop:!0}),C=class extends t.default{constructor(){super(...arguments),M(this,"ajax",_,this),M(this,"session",O,this),M(this,"ghostPaths",j,this),M(this,"notifications",k,this),M(this,"flowErrors",T,this),M(this,"verifyData",z,this),M(this,"resendTokenCountdown",S,this),M(this,"twoFactorRequired",x,this),this.resetData()
264
+ let F=(o=Ember._tracked,a=Ember._tracked,l=D((s=class{constructor(){M(this,"token",l,this),M(this,"hasValidated",u,this),A(this,"errors",R.create())}validate(){return this.resetValidations(),this.token?.trim()?!!this.token?.trim().match(/^\d{6}$/)||(this.errors.add("token","Verification code must be 6 numbers"),this.hasValidated.push("token"),!1):(this.errors.add("token","Verification code is required"),this.hasValidated.push("token"),!1)}setTokenError(e){this.resetValidations(),this.errors.add("token",e),this.hasValidated.push("token")}resetValidations(){this.errors.clear(),this.hasValidated=new r.TrackedArray}get validationMessage(){return this.errors.toArray()[0]?.message}}).prototype,"token",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=D(s.prototype,"hasValidated",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new r.TrackedArray}}),s),U=e.default=(c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._tracked,v=Ember._action,y=Ember._action,w=(0,n.task)({drop:!0}),E=(0,n.task)({drop:!0}),C=class extends t.default{constructor(){super(...arguments),M(this,"ajax",_,this),M(this,"session",O,this),M(this,"ghostPaths",j,this),M(this,"notifications",k,this),M(this,"flowErrors",T,this),M(this,"verifyData",z,this),M(this,"resendTokenCountdown",x,this),M(this,"twoFactorRequired",S,this),this.resetData()
265
265
  "2FA_TOKEN_REQUIRED"===this.session.get("errorCode")&&(this.twoFactorRequired=!0),this.session.set("errorCode",null)}resetData(){this.verifyData=new F,this.flowErrors=""}handleTokenInput(e){this.resetErrorState(),this.verifyData.token=e.target.value}*verifyTokenTask(){if(this.flowErrors="",!this.verifyData.validate())return N
266
266
  try{return yield this._authenticate(),this.notifications.closeAlerts(),this.args.close(),L}catch(e){if(e?.payload?.errors){const[t]=e.payload.errors
267
267
  "UnauthorizedError"===t.type?this.verifyData.setTokenError("Your verification code is incorrect."):this.flowErrors=t.message}else this.flowErrors="There was a problem verifying the code. Please try again."
268
268
  return N}}async _authenticate(){this.session.skipAuthSuccessHandler=!0
269
269
  try{await this.session.authenticate("authenticator:cookie",{token:this.verifyData.token})}finally{this.session.skipAuthSuccessHandler=void 0}}*resendTokenTask(){const e=`${this.ghostPaths.apiRoot}/session/verify`
270
- try{return yield this.ajax.post(e,{contentType:"application/json;charset=utf-8",dataType:"text"}),this.notifications.showNotification("A new verification code has been sent to your email.",{type:"success"}),this.delayResendAvailabilityTask.perform(),L}catch(t){return this.flowErrors=t?.payload?.errors?t.payload.errors[0].message:"There was a problem resending the verification token.",N}}*delayResendAvailabilityTask(){for(this.resendTokenCountdown=15;this.resendTokenCountdown>0;)yield(0,n.timeout)(1e3),this.resendTokenCountdown=this.resendTokenCountdown-1}resetErrorState(){this.flowErrors="",this.verifyData.resetValidations()}willDestroy(){super.willDestroy(...arguments),this.delayResendAvailabilityTask.cancelAll()}},A(C,"modalOptions",{className:"fullscreen-modal-wide fullscreen-modal-action modal-reauthenticate",ignoreBackdropClick:!0,backgroundLight:!0,backgroundBlur:!0}),_=D((P=C).prototype,"ajax",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=D(P.prototype,"session",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=D(P.prototype,"ghostPaths",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=D(P.prototype,"notifications",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=D(P.prototype,"flowErrors",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),z=D(P.prototype,"verifyData",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new F}}),S=D(P.prototype,"resendTokenCountdown",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 15}}),x=D(P.prototype,"twoFactorRequired",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),D(P.prototype,"resetData",[v],Object.getOwnPropertyDescriptor(P.prototype,"resetData"),P.prototype),D(P.prototype,"handleTokenInput",[y],Object.getOwnPropertyDescriptor(P.prototype,"handleTokenInput"),P.prototype),D(P.prototype,"verifyTokenTask",[w],Object.getOwnPropertyDescriptor(P.prototype,"verifyTokenTask"),P.prototype),D(P.prototype,"resendTokenTask",[E],Object.getOwnPropertyDescriptor(P.prototype,"resendTokenTask"),P.prototype),D(P.prototype,"delayResendAvailabilityTask",[n.task],Object.getOwnPropertyDescriptor(P.prototype,"delayResendAvailabilityTask"),P.prototype),P)
270
+ try{return yield this.ajax.post(e,{contentType:"application/json;charset=utf-8",dataType:"text"}),this.notifications.showNotification("A new verification code has been sent to your email.",{type:"success"}),this.delayResendAvailabilityTask.perform(),L}catch(t){return this.flowErrors=t?.payload?.errors?t.payload.errors[0].message:"There was a problem resending the verification token.",N}}*delayResendAvailabilityTask(){for(this.resendTokenCountdown=15;this.resendTokenCountdown>0;)yield(0,n.timeout)(1e3),this.resendTokenCountdown=this.resendTokenCountdown-1}resetErrorState(){this.flowErrors="",this.verifyData.resetValidations()}willDestroy(){super.willDestroy(...arguments),this.delayResendAvailabilityTask.cancelAll()}},A(C,"modalOptions",{className:"fullscreen-modal-wide fullscreen-modal-action modal-reauthenticate",ignoreBackdropClick:!0,backgroundLight:!0,backgroundBlur:!0}),_=D((P=C).prototype,"ajax",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=D(P.prototype,"session",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=D(P.prototype,"ghostPaths",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=D(P.prototype,"notifications",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=D(P.prototype,"flowErrors",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),z=D(P.prototype,"verifyData",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new F}}),x=D(P.prototype,"resendTokenCountdown",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 15}}),S=D(P.prototype,"twoFactorRequired",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),D(P.prototype,"resetData",[v],Object.getOwnPropertyDescriptor(P.prototype,"resetData"),P.prototype),D(P.prototype,"handleTokenInput",[y],Object.getOwnPropertyDescriptor(P.prototype,"handleTokenInput"),P.prototype),D(P.prototype,"verifyTokenTask",[w],Object.getOwnPropertyDescriptor(P.prototype,"verifyTokenTask"),P.prototype),D(P.prototype,"resendTokenTask",[E],Object.getOwnPropertyDescriptor(P.prototype,"resendTokenTask"),P.prototype),D(P.prototype,"delayResendAvailabilityTask",[n.task],Object.getOwnPropertyDescriptor(P.prototype,"delayResendAvailabilityTask"),P.prototype),P)
271
271
  Ember._setComponentTemplate(I,U)}),define("ghost-admin/components/editor/modals/tk-reminder",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
272
272
  const t=Ember.HTMLBars.template({id:"qnrsCdOF",block:'{"symbols":["@close","@data"],"statements":[[10,"div"],[14,0,"modal-content gh-tk-reminder"],[14,"data-test-modal","tk-reminder"],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[2,"Forget something?"],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"close"],[24,"title","Close"],[24,4,"button"],[4,[38,0],["click",[32,1]],null],[12],[1,[30,[36,1],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-body"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n Looks like you\'ve got some unfinished business.\\n There "],[1,[30,[36,3],[[30,[36,2],[[32,2,["tkCount"]],1],null],"is","are"],null]],[2," "],[10,"strong"],[12],[1,[30,[36,4],[[32,2,["tkCount"]],"TK reminder"],null]],[13],[2," left in your post.\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-footer"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[24,4,"button"],[4,[38,0],["click",[30,[36,5],[[32,1],true],null]],null],[12],[10,"span"],[12],[2,"Continue to publish"],[13],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-black"],[24,4,"button"],[4,[38,0],["click",[32,1]],null],[12],[10,"span"],[12],[2,"Back to editor"],[13],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["on","svg-jar","eq","if","gh-pluralize","fn"]}',moduleName:"ghost-admin/components/editor/modals/tk-reminder.hbs"})
273
273
  e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/editor/modals/update-flow",["exports","@glimmer/component","ember-concurrency"],function(e,t,i){var r,n
@@ -291,7 +291,7 @@ super(...e),t=this,i="notifications",n=this,(r=a)&&Object.defineProperty(t,i,{en
291
291
  try{return t&&(e.mobiledoc=t),i&&(e.lexical=i,e.mobiledoc||(e.mobiledoc={})),yield e.save(),this.notifications.closeAlerts("snippet.save"),this.notifications.showNotification(`Snippet "${e.name}" updated`,{type:"success"}),e}catch(r){throw e.errors.isEmpty||this.notifications.showAlert(`Snippet save failed: ${e.errors.messages.join(". ")}`,{type:"error",key:"snippet.save"}),e.rollbackAttributes(),r}finally{this.args.close()}}},a=s(o.prototype,"notifications",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s(o.prototype,"updateSnippetTask",[n],Object.getOwnPropertyDescriptor(o.prototype,"updateSnippetTask"),o.prototype),o)
292
292
  Ember._setComponentTemplate(l,u)}),define("ghost-admin/components/editor/publish-buttons",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
293
293
  const t=Ember.HTMLBars.template({id:"XLTqJN2Z",block:'{"symbols":["@publishManagement"],"statements":[[6,[37,1],[[32,1,["publishOptions","user","isContributor"]]],null,[["default","else"],[{"statements":[[6,[37,1],[[32,1,["post","isDraft"]]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-editor gh-editor-preview-trigger gh-tooltip-trigger tooltip-bottom no-text"],[24,"data-test-button","contributor-preview"],[24,4,"button"],[4,[38,0],["click",[32,1,["openPreview"]]],null],[4,[38,4],["cmd+p",[32,1,["togglePreview"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Preview"],[13],[2,"\\n "],[8,"gh-tooltip",[],[["@shortcut"],[[30,[36,5],["⌘","P"],null]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-task-button",[[24,"data-test-button","contributor-save"]],[["@buttonText","@task","@runningText","@class"],["Save",[32,1,["saveTask"]],"Saving","gh-btn gh-btn-icon gh-btn-editor gh-editor-save-trigger contributor-save-button"]],null],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[32,1,["post","isDraft"]]],null,[["default","else"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-editor gh-editor-preview-trigger gh-tooltip-trigger tooltip-bottom no-text"],[24,"data-test-button","publish-preview"],[24,4,"button"],[4,[38,0],["click",[32,1,["openPreview"]]],null],[4,[38,4],["cmd+p",[32,1,["togglePreview"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Preview"],[13],[2,"\\n "],[8,"gh-tooltip",[],[["@shortcut"],[[30,[36,5],["⌘","P"],null]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[24,0,"gh-btn gh-btn-editor darkgrey gh-publish-trigger gh-tooltip-trigger tooltip-bottom no-text"],[16,"disabled",[32,1,["publishOptions","isLoading"]]],[24,"data-test-button","publish-flow"],[24,4,"button"],[4,[38,0],["click",[32,1,["openPublishFlow"]]],null],[4,[38,4],["cmd+shift+p"],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Publish"],[13],[2,"\\n "],[8,"gh-tooltip",[],[["@shortcut"],[[30,[36,5],["⌘","&#8679;","P"],null]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"gh-task-button",[[24,"data-test-button","publish-save"]],[["@task","@buttonText","@runningText","@successText","@class","@idleClass","@runningClass","@successClass","@failureClass","@showIcon","@disabled","@autoReset"],[[32,1,["saveTask"]],"Update","Updating...","Updated","gh-btn gh-btn-editor gh-editor-save-trigger","green","midlightgrey","midlightgrey","red",false,[30,[36,2],[[32,1,["hasUnsavedChanges"]]],null],true]],null],[2,"\\n\\n"],[6,[37,1],[[30,[36,2],[[30,[36,3],[[32,1,["post","isSent"]],[30,[36,2],[[32,1,["post","isPublished"]]],null]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-editor darkgrey gh-unpublish-trigger"],[24,"data-test-button","update-flow"],[24,4,"button"],[4,[38,0],["click",[32,1,["openUpdateFlow"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n "],[1,[30,[36,1],[[32,1,["post","isScheduled"]],"Unschedule","Unpublish"],null]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]]],"hasEval":false,"upvars":["on","if","not","and","on-key","array"]}',moduleName:"ghost-admin/components/editor/publish-buttons.hbs"})
294
- e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/editor/publish-management",["exports","@glimmer/component","ghost-admin/errors/email-failed-error","ghost-admin/components/editor/modals/preview","ghost-admin/components/editor/modals/public-preview-warning","ghost-admin/components/editor/modals/publish-flow","ghost-admin/helpers/publish-options","ghost-admin/components/editor/modals/tk-reminder","ghost-admin/components/editor/modals/update-flow","ghost-admin/config/environment","ember-concurrency","ember-could-get-used-to-this"],function(e,t,i,r,n,o,a,s,l,u,c,d){var p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$
294
+ e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/editor/publish-management",["exports","@glimmer/component","ghost-admin/errors/email-failed-error","ghost-admin/components/editor/modals/preview","ghost-admin/components/editor/modals/public-preview-warning","ghost-admin/components/editor/modals/publish-flow","ghost-admin/helpers/publish-options","ghost-admin/components/editor/modals/tk-reminder","ghost-admin/components/editor/modals/update-flow","ghost-admin/config/environment","ember-concurrency","ember-could-get-used-to-this"],function(e,t,i,r,n,o,a,s,l,u,c,d){var p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$
295
295
  function W(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function K(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
296
296
  var i=e[Symbol.toPrimitive]
297
297
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -300,7 +300,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
300
300
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function Y(e,t,i,r,n){var o={}
301
301
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.CONFIRM_EMAIL_POLL_LENGTH=e.CONFIRM_EMAIL_MAX_POLL_LENGTH=void 0
302
302
  const G=Ember.HTMLBars.template({id:"b78GEebC",block:'{"symbols":["@hasUnsavedChanges","@post","&default"],"statements":[[18,3,[[30,[36,0],null,[["post","publishOptions","openPreview","togglePreview","saveTask","saveButtonTaskGroup","hasUnsavedChanges","openPublishFlow","openUpdateFlow"],[[32,2],[32,0,["publishOptions"]],[32,0,["openPreview"]],[32,0,["togglePreview"]],[32,0,["saveTask"]],[32,0,["saveButtonTaskGroup"]],[32,1],[32,0,["openPublishFlow"]],[32,0,["openUpdateFlow"]]]]]]],[2,"\\n"]],"hasEval":false,"upvars":["hash"]}',moduleName:"ghost-admin/components/editor/publish-management.hbs"}),J=e.CONFIRM_EMAIL_POLL_LENGTH=1e3,Q=e.CONFIRM_EMAIL_MAX_POLL_LENGTH=15e3
303
- let X=e.default=(p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,g=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,P=Ember._action,_=Ember._action,O=Ember._action,j=Ember._action,k=Ember._action,T=Ember._action,z=Ember._action,S=Ember._action,x=Ember._action,C=(0,c.task)({group:"saveButtonTaskGroup"}),M=(0,c.task)({group:"saveButtonTaskGroup"}),A=class extends t.default{constructor(...e){super(...e),W(this,"feature",D,this),W(this,"modals",I,this),W(this,"notifications",R,this),W(this,"settings",L,this),W(this,"store",N,this),W(this,"publishOptions",F,this),W(this,"previewFormat",U,this),W(this,"previewSize",B,this),W(this,"previewAsSegment",H,this),W(this,"previewTierSlug",V,this),W(this,"tiers",q,this),K(this,"publishFlowModal",null),K(this,"updateFlowModal",null),W(this,"saveButtonTaskGroup",$,this)}willDestroy(){super.willDestroy(...arguments),this.publishFlowModal?.close()}async openPublishFlow(e,{skipAnimation:t}={}){e?.preventDefault(),this.updateFlowModal?.close()
303
+ let X=e.default=(p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,g=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,P=Ember._action,_=Ember._action,O=Ember._action,j=Ember._action,k=Ember._action,T=Ember._action,z=Ember._action,x=Ember._action,S=Ember._action,C=(0,c.task)({group:"saveButtonTaskGroup"}),M=(0,c.task)({group:"saveButtonTaskGroup"}),A=class extends t.default{constructor(...e){super(...e),W(this,"feature",D,this),W(this,"modals",I,this),W(this,"notifications",R,this),W(this,"settings",L,this),W(this,"store",N,this),W(this,"publishOptions",F,this),W(this,"previewFormat",U,this),W(this,"previewSize",B,this),W(this,"previewAsSegment",H,this),W(this,"previewTierSlug",V,this),W(this,"tiers",q,this),K(this,"publishFlowModal",null),K(this,"updateFlowModal",null),W(this,"saveButtonTaskGroup",$,this)}willDestroy(){super.willDestroy(...arguments),this.publishFlowModal?.close()}async openPublishFlow(e,{skipAnimation:t}={}){e?.preventDefault(),this.updateFlowModal?.close()
304
304
  const i=await this._validatePost()
305
305
  if(this.args.tkCount>0){if(!0!==await this.modals.open(s.default,{tkCount:this.args.tkCount}))return}else if(i&&this.feature.paywallImprovements&&this.publishOptions.publicPreviewWarning){if(!0!==await this.modals.open(n.default,{warning:this.publishOptions.publicPreviewWarning}))return}if(i&&(!this.publishFlowModal||this.publishFlowModal?.isClosing)){this.publishOptions.resetPastScheduledAt(),this.publishFlowModal=this.modals.open(o.default,{publishOptions:this.publishOptions,saveTask:this.publishTask,togglePreviewPublish:this.togglePreviewPublish,skipAnimation:t})
306
306
  const e=await this.publishFlowModal
@@ -320,7 +320,7 @@ let t=0
320
320
  if(e.email&&"submitted"!==e.email.status)for(;t<Q&&(yield(0,c.timeout)(J),t+=J,yield e.reload(),e.isSent||e.isPublished)&&"submitted"!==e.email.status;)if("failed"===e.email.status)throw new i.default(e.email.error)
321
321
  return!0}*revertToDraftTask(){try{yield this.publishTask.perform({taskName:"revertToDraftTask"})
322
322
  const e=Ember.String.capitalize(this.args.post.displayName)
323
- return this.notifications.showNotification(`${e} reverted to a draft.`,{type:"success"}),!0}catch(e){this.notifications.showAPIError(e)}}},D=Y(A.prototype,"feature",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=Y(A.prototype,"modals",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=Y(A.prototype,"notifications",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=Y(A.prototype,"settings",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=Y(A.prototype,"store",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=Y(A.prototype,"publishOptions",[d.use],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new a.default(()=>[this.args.post])}}),U=Y(A.prototype,"previewFormat",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"browser"}}),B=Y(A.prototype,"previewSize",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"desktop"}}),H=Y(A.prototype,"previewAsSegment",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"free"}}),V=Y(A.prototype,"previewTierSlug",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=Y(A.prototype,"tiers",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),Y(A.prototype,"openPublishFlow",[P],Object.getOwnPropertyDescriptor(A.prototype,"openPublishFlow"),A.prototype),Y(A.prototype,"openUpdateFlow",[_],Object.getOwnPropertyDescriptor(A.prototype,"openUpdateFlow"),A.prototype),Y(A.prototype,"openPreview",[O],Object.getOwnPropertyDescriptor(A.prototype,"openPreview"),A.prototype),Y(A.prototype,"togglePreview",[j],Object.getOwnPropertyDescriptor(A.prototype,"togglePreview"),A.prototype),Y(A.prototype,"changePreviewFormat",[k],Object.getOwnPropertyDescriptor(A.prototype,"changePreviewFormat"),A.prototype),Y(A.prototype,"changePreviewSize",[T],Object.getOwnPropertyDescriptor(A.prototype,"changePreviewSize"),A.prototype),Y(A.prototype,"changePreviewAsSegment",[z],Object.getOwnPropertyDescriptor(A.prototype,"changePreviewAsSegment"),A.prototype),Y(A.prototype,"changePreviewTier",[S],Object.getOwnPropertyDescriptor(A.prototype,"changePreviewTier"),A.prototype),Y(A.prototype,"loadTiersTask",[c.task],Object.getOwnPropertyDescriptor(A.prototype,"loadTiersTask"),A.prototype),Y(A.prototype,"togglePreviewPublish",[x],Object.getOwnPropertyDescriptor(A.prototype,"togglePreviewPublish"),A.prototype),Y(A.prototype,"publishTask",[c.task],Object.getOwnPropertyDescriptor(A.prototype,"publishTask"),A.prototype),Y(A.prototype,"saveTask",[C],Object.getOwnPropertyDescriptor(A.prototype,"saveTask"),A.prototype),Y(A.prototype,"saveButtonTimeoutTask",[M],Object.getOwnPropertyDescriptor(A.prototype,"saveButtonTimeoutTask"),A.prototype),$=Y(A.prototype,"saveButtonTaskGroup",[c.taskGroup],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y(A.prototype,"confirmEmailTask",[c.task],Object.getOwnPropertyDescriptor(A.prototype,"confirmEmailTask"),A.prototype),Y(A.prototype,"revertToDraftTask",[c.task],Object.getOwnPropertyDescriptor(A.prototype,"revertToDraftTask"),A.prototype),A)
323
+ return this.notifications.showNotification(`${e} reverted to a draft.`,{type:"success"}),!0}catch(e){this.notifications.showAPIError(e)}}},D=Y(A.prototype,"feature",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=Y(A.prototype,"modals",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=Y(A.prototype,"notifications",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=Y(A.prototype,"settings",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=Y(A.prototype,"store",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=Y(A.prototype,"publishOptions",[d.use],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new a.default(()=>[this.args.post])}}),U=Y(A.prototype,"previewFormat",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"browser"}}),B=Y(A.prototype,"previewSize",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"desktop"}}),H=Y(A.prototype,"previewAsSegment",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"free"}}),V=Y(A.prototype,"previewTierSlug",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=Y(A.prototype,"tiers",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),Y(A.prototype,"openPublishFlow",[P],Object.getOwnPropertyDescriptor(A.prototype,"openPublishFlow"),A.prototype),Y(A.prototype,"openUpdateFlow",[_],Object.getOwnPropertyDescriptor(A.prototype,"openUpdateFlow"),A.prototype),Y(A.prototype,"openPreview",[O],Object.getOwnPropertyDescriptor(A.prototype,"openPreview"),A.prototype),Y(A.prototype,"togglePreview",[j],Object.getOwnPropertyDescriptor(A.prototype,"togglePreview"),A.prototype),Y(A.prototype,"changePreviewFormat",[k],Object.getOwnPropertyDescriptor(A.prototype,"changePreviewFormat"),A.prototype),Y(A.prototype,"changePreviewSize",[T],Object.getOwnPropertyDescriptor(A.prototype,"changePreviewSize"),A.prototype),Y(A.prototype,"changePreviewAsSegment",[z],Object.getOwnPropertyDescriptor(A.prototype,"changePreviewAsSegment"),A.prototype),Y(A.prototype,"changePreviewTier",[x],Object.getOwnPropertyDescriptor(A.prototype,"changePreviewTier"),A.prototype),Y(A.prototype,"loadTiersTask",[c.task],Object.getOwnPropertyDescriptor(A.prototype,"loadTiersTask"),A.prototype),Y(A.prototype,"togglePreviewPublish",[S],Object.getOwnPropertyDescriptor(A.prototype,"togglePreviewPublish"),A.prototype),Y(A.prototype,"publishTask",[c.task],Object.getOwnPropertyDescriptor(A.prototype,"publishTask"),A.prototype),Y(A.prototype,"saveTask",[C],Object.getOwnPropertyDescriptor(A.prototype,"saveTask"),A.prototype),Y(A.prototype,"saveButtonTimeoutTask",[M],Object.getOwnPropertyDescriptor(A.prototype,"saveButtonTimeoutTask"),A.prototype),$=Y(A.prototype,"saveButtonTaskGroup",[c.taskGroup],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y(A.prototype,"confirmEmailTask",[c.task],Object.getOwnPropertyDescriptor(A.prototype,"confirmEmailTask"),A.prototype),Y(A.prototype,"revertToDraftTask",[c.task],Object.getOwnPropertyDescriptor(A.prototype,"revertToDraftTask"),A.prototype),A)
324
324
  Ember._setComponentTemplate(G,X)}),define("ghost-admin/components/editor/publish-options/email-recipients",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
325
325
  const t=Ember.HTMLBars.template({id:"hQX9EiP5",block:'{"symbols":["newsletter","@publishOptions"],"statements":[[10,"div"],[14,0,"form-group max-width mb0"],[12],[2,"\\n "],[8,"gh-members-recipient-select",[],[["@filter","@newsletter","@onChange","@renderInPlace","@dropdownClass"],[[32,2,["recipientFilter"]],[32,2,["newsletter"]],[32,2,["setRecipientFilter"]],false,"gh-publish-newsletter-dropdown"]],null],[2,"\\n\\n"],[6,[37,2],[[30,[36,3],[[32,2,["newsletters","length"]],1],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"mt4"],[14,"data-test-select","newsletter"],[12],[2,"\\n "],[10,"label"],[14,0,"gh-main-section-header small bn"],[12],[2,"Newsletter"],[13],[2,"\\n "],[8,"power-select",[],[["@selected","@options","@onChange","@triggerComponent","@triggerClass","@dropdownClass"],[[32,2,["newsletter"]],[32,2,["newsletters"]],[32,2,["setNewsletter"]],[30,[36,1],["gh-power-select/trigger"],null],"gh-publish-newsletter-trigger","gh-publish-newsletter-dropdown"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[15,"data-test-select-option",[32,1,["name"]]],[12],[1,[32,1,["name"]]],[13],[2,"\\n"],[6,[37,2],[[32,2,["user","isAdmin"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-newsletter-count"],[12],[1,[30,[36,0],[[32,1,["count","active_members"]]],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[13]],"hasEval":false,"upvars":["format-number","component","if","gt"]}',moduleName:"ghost-admin/components/editor/publish-options/email-recipients.hbs"})
326
326
  e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/editor/publish-options/publish-at",["exports","@glimmer/component","moment-timezone"],function(e,t,i){var r,n,o,a,s
@@ -368,11 +368,11 @@ super(...e),t=this,i="store",n=this,(r=c)&&Object.defineProperty(t,i,{enumerable
368
368
  return this.store.query("user",{include:m,filter:`(name:~${n},slug:~${n},email:~${n})`,order:h,limit:t,page:r})}sortAuthors(e){return e.slice().sort((e,t)=>{const i=this._authorPostCount(t)-this._authorPostCount(e)
369
369
  return 0!==i?i:(e.name||"").localeCompare(t.name||"")})}matchAuthor(e,t){const i=(0,r.stripDiacritics)(t||"").toLowerCase()
370
370
  return[e.name,e.slug,e.email].some(e=>(0,r.stripDiacritics)(e||"").toLowerCase().includes(i))?0:-1}get searchDebounceMs(){return 250}_authorPostCount(e){return Number(e.count?.posts||0)}},c=d(u.prototype,"store",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d(u.prototype,"loadAuthorsPage",[o],Object.getOwnPropertyDescriptor(u.prototype,"loadAuthorsPage"),u.prototype),d(u.prototype,"searchAuthorsPage",[a],Object.getOwnPropertyDescriptor(u.prototype,"searchAuthorsPage"),u.prototype),d(u.prototype,"sortAuthors",[s],Object.getOwnPropertyDescriptor(u.prototype,"sortAuthors"),u.prototype),d(u.prototype,"matchAuthor",[l],Object.getOwnPropertyDescriptor(u.prototype,"matchAuthor"),u.prototype),u)
371
- Ember._setComponentTemplate(p,b)}),define("ghost-admin/components/gh-billing-iframe",["exports","@glimmer/component","ghost-admin/decorators/inject","@tryghost/admin-x-framework/api/dunning"],function(e,t,i,r){var n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T
372
- function z(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function S(e,t,i,r,n){var o={}
371
+ Ember._setComponentTemplate(p,b)}),define("ghost-admin/components/gh-billing-iframe",["exports","@glimmer/component","ghost-admin/decorators/inject"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O
372
+ function j(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function k(e,t,i,r,n){var o={}
373
373
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
374
- const x=Ember.HTMLBars.template({id:"ErYely0X",block:'{"symbols":["&attrs"],"statements":[[11,"iframe"],[24,1,"billing-frame"],[24,0,"billing-frame"],[24,"frameborder","0"],[24,"title","Billing"],[24,"allow","clipboard-write"],[17,1],[4,[38,0],[[32,0,["setup"]]],null],[12],[13]],"hasEval":false,"upvars":["did-insert"]}',moduleName:"ghost-admin/components/gh-billing-iframe.hbs"})
375
- let C=e.default=(n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember._tracked,h=Ember._action,b=Ember._action,f=class extends t.default{constructor(...e){super(...e),z(this,"ajax",g,this),z(this,"billing",v,this),z(this,"configManager",y,this),z(this,"feature",w,this),z(this,"ghostPaths",E,this),z(this,"limit",P,this),z(this,"notifications",_,this),z(this,"session",O,this),z(this,"stateBridge",j,this),z(this,"config",k,this),z(this,"isOwner",T,this)}willDestroy(){super.willDestroy(...arguments),window.removeEventListener("message",this.handleIframeMessage)}setup(){this.billing.setBillingIframeSrc(),this.billing.startBillingAppLoadMonitor(),window.addEventListener("message",this.handleIframeMessage)}async handleIframeMessage(e){if(this.isDestroyed||this.isDestroying)return
374
+ const T=Ember.HTMLBars.template({id:"ErYely0X",block:'{"symbols":["&attrs"],"statements":[[11,"iframe"],[24,1,"billing-frame"],[24,0,"billing-frame"],[24,"frameborder","0"],[24,"title","Billing"],[24,"allow","clipboard-write"],[17,1],[4,[38,0],[[32,0,["setup"]]],null],[12],[13]],"hasEval":false,"upvars":["did-insert"]}',moduleName:"ghost-admin/components/gh-billing-iframe.hbs"})
375
+ let z=e.default=(r=Ember.inject.service,n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember._tracked,p=Ember._action,m=Ember._action,h=class extends t.default{constructor(...e){super(...e),j(this,"ajax",b,this),j(this,"billing",f,this),j(this,"configManager",g,this),j(this,"ghostPaths",v,this),j(this,"limit",y,this),j(this,"notifications",w,this),j(this,"session",E,this),j(this,"stateBridge",P,this),j(this,"config",_,this),j(this,"isOwner",O,this)}willDestroy(){super.willDestroy(...arguments),window.removeEventListener("message",this.handleIframeMessage)}setup(){this.billing.setBillingIframeSrc(),this.billing.startBillingAppLoadMonitor(),window.addEventListener("message",this.handleIframeMessage)}async handleIframeMessage(e){if(this.isDestroyed||this.isDestroying)return
376
376
  if(!this.billing.isValidBillingIframeMessage(e))return
377
377
  const t=e.data
378
378
  if("billingAppReady"===t?.request)return this.billing.markBillingAppLoaded(t),void(t?.route&&this.billing.handleRouteChangeInIframe(t.route))
@@ -383,11 +383,9 @@ this.ajax.request(t).then(e=>{const t=e?.identities?.[0]?.token
383
383
  this._postMessageToBillingIframe({request:"token",response:t}),this.isOwner=!0}).catch(t=>{if("NoPermissionError"!==t.payload?.errors?.[0]?.type)throw t
384
384
  e()})}_handleForceUpgradeRequest(){let e=null
385
385
  const t=this.billing.ownerUser
386
- t&&(e={name:t?.name,email:t?.email}),this._postMessageToBillingIframe({request:"forceUpgradeInfo",response:{forceUpgrade:this.config.hostSettings?.forceUpgrade,isOwner:this.isOwner,ownerUser:e}})}async _handleSubscriptionUpdate(e){try{await this.configManager.fetch()}catch(i){}this.limit.reload(),this.stateBridge.triggerSubscriptionChange(e),window?.adminXQueryClient?.refetchQueries&&"function"==typeof window.adminXQueryClient.refetchQueries&&(window.adminXQueryClient.refetchQueries({queryKey:["ConfigResponseType"]}).catch(()=>{}),window.adminXQueryClient.refetchQueries({queryKey:["SettingsResponseType"]}).catch(()=>{})),this.billing.subscription=e.subscription,this.billing.checkoutRoute=e?.checkoutRoute??"/plans","active"===e.subscription.status&&this.config.hostSettings?.forceUpgrade&&(this.config.hostSettings.forceUpgrade=!1)
387
- const t=this.feature.dunningWarnings&&null!==(0,r.parseDunningConfig)(this.config.hostSettings?.billing?.dunning)
388
- if("past_due"!==e.subscription.status&&"unpaid"!==e.subscription.status||t?this.notifications.closeAlerts("billing.overdue"):this.notifications.showAlert(Ember.String.htmlSafe(`Your billing details need updating. The site owner must <a href="${this.billing.billingRouteRoot}/update-card">update payment information</a> to avoid suspension.`),{type:"error",key:"billing.overdue"}),e?.exceededLimits&&e?.exceededLimits.length&&e?.exceededLimits.indexOf("members")>=0&&e?.checkoutRoute){const e=this.billing.billingRouteRoot+"?action=checkout"
389
- this.notifications.showAlert(Ember.String.htmlSafe(`Your audience has grown! To continue publishing, the site owner must <a href="${e}">confirm pricing for this number of members</a>.`),{type:"warn",key:"billing.exceeded"})}else this.notifications.closeAlerts("billing.exceeded")}},g=S(f.prototype,"ajax",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=S(f.prototype,"billing",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=S(f.prototype,"configManager",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=S(f.prototype,"feature",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=S(f.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=S(f.prototype,"limit",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=S(f.prototype,"notifications",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=S(f.prototype,"session",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=S(f.prototype,"stateBridge",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=S(f.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=S(f.prototype,"isOwner",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),S(f.prototype,"setup",[h],Object.getOwnPropertyDescriptor(f.prototype,"setup"),f.prototype),S(f.prototype,"handleIframeMessage",[b],Object.getOwnPropertyDescriptor(f.prototype,"handleIframeMessage"),f.prototype),f)
390
- Ember._setComponentTemplate(x,C)}),define("ghost-admin/components/gh-billing-modal",["exports","@glimmer/component"],function(e,t){var i,r,n
386
+ t&&(e={name:t?.name,email:t?.email}),this._postMessageToBillingIframe({request:"forceUpgradeInfo",response:{forceUpgrade:this.config.hostSettings?.forceUpgrade,isOwner:this.isOwner,ownerUser:e}})}async _handleSubscriptionUpdate(e){try{await this.configManager.fetch()}catch(t){}if(this.limit.reload(),this.stateBridge.triggerSubscriptionChange(e),window?.adminXQueryClient?.refetchQueries&&"function"==typeof window.adminXQueryClient.refetchQueries&&(window.adminXQueryClient.refetchQueries({queryKey:["ConfigResponseType"]}).catch(()=>{}),window.adminXQueryClient.refetchQueries({queryKey:["SettingsResponseType"]}).catch(()=>{})),this.billing.subscription=e.subscription,this.billing.checkoutRoute=e?.checkoutRoute??"/plans","active"===e.subscription.status&&this.config.hostSettings?.forceUpgrade&&(this.config.hostSettings.forceUpgrade=!1),e?.exceededLimits&&e?.exceededLimits.length&&e?.exceededLimits.indexOf("members")>=0&&e?.checkoutRoute){const e=this.billing.billingRouteRoot+"?action=checkout"
387
+ this.notifications.showAlert(Ember.String.htmlSafe(`Your audience has grown! To continue publishing, the site owner must <a href="${e}">confirm pricing for this number of members</a>.`),{type:"warn",key:"billing.exceeded"})}else this.notifications.closeAlerts("billing.exceeded")}},b=k(h.prototype,"ajax",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=k(h.prototype,"billing",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=k(h.prototype,"configManager",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=k(h.prototype,"ghostPaths",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=k(h.prototype,"limit",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=k(h.prototype,"notifications",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=k(h.prototype,"session",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=k(h.prototype,"stateBridge",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=k(h.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=k(h.prototype,"isOwner",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),k(h.prototype,"setup",[p],Object.getOwnPropertyDescriptor(h.prototype,"setup"),h.prototype),k(h.prototype,"handleIframeMessage",[m],Object.getOwnPropertyDescriptor(h.prototype,"handleIframeMessage"),h.prototype),h)
388
+ Ember._setComponentTemplate(T,z)}),define("ghost-admin/components/gh-billing-modal",["exports","@glimmer/component"],function(e,t){var i,r,n
391
389
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
392
390
  const o=Ember.HTMLBars.template({id:"3HNyVqrU",block:'{"symbols":[],"statements":[[10,"div"],[15,0,[31,[[32,0,["visibilityClass"]]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-billing-container"],[12],[2,"\\n "],[8,"gh-billing-iframe",[],[[],[]],[["default"],[{"statements":[],"parameters":[]}]]],[2,"\\n\\n"],[6,[37,1],[[32,0,["showLoadingState"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-billing-status gh-billing-status-loading"],[14,"data-test-billing-loading",""],[12],[2,"\\n "],[10,"div"],[14,0,"gh-loading-spinner"],[12],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,1],[[32,0,["showErrorState"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-billing-status gh-billing-status-error"],[14,"role","alert"],[14,"data-test-billing-load-error",""],[12],[2,"\\n "],[10,"div"],[14,0,"gh-billing-empty-indicator"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-billing-empty-badge"],[14,"aria-hidden","true"],[12],[2,"\\n "],[1,[30,[36,0],["cloud-off"],null]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-billing-empty-copy"],[12],[2,"\\n "],[10,"h3"],[14,"data-test-billing-load-error-title",""],[12],[2,"We couldn\'t load your Ghost(Pro) settings"],[13],[2,"\\n "],[10,"p"],[14,"data-test-billing-load-error-description",""],[12],[2,"Refresh the page and try again. If the issue continues, contact "],[10,"a"],[14,6,"mailto:support@ghost.org"],[12],[2,"support@ghost.org"],[13],[2,"."],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar","if"]}',moduleName:"ghost-admin/components/gh-billing-modal.hbs"})
393
391
  let a=e.default=(i=Ember.inject.service,r=class extends t.default{constructor(...e){var t,i,r,o
@@ -422,19 +420,19 @@ if("object"!=typeof r)return r
422
420
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
423
421
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function T(e,t,i,r,n){var o={}
424
422
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
425
- const z=Ember.HTMLBars.template({id:"NiBLlZJz",block:'{"symbols":["dp","@datePickerTriggerClass","@datePickerClass","@timeInputClass"],"statements":[[10,"div"],[14,0,"gh-date-time-picker"],[14,"data-test-component","gh-date-time-picker"],[12],[2,"\\n "],[8,"power-datepicker",[],[["@selected","@center","@onSelect","@renderInPlace","@disabled"],[[30,[36,0],[[32,0,["localDateValue"]]],null],[30,[36,0],[[32,0,["localDateValue"]]],null],[30,[36,1],[[32,0],"setLocalDate"],[["value"],["date"]]],[32,0,["renderInPlaceWithFallback"]],[32,0,["disabled"]]]],[["default"],[{"statements":[[2,"\\n "],[8,[32,1,["Trigger"]],[[16,0,[32,2]],[24,"data-test-date-time-picker-datepicker",""]],[["@tabindex"],["-1"]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[15,0,[31,["gh-date-time-picker-date ",[30,[36,2],[[32,0,["dateError"]],"error"],null]]]],[12],[2,"\\n "],[11,"input"],[16,"placeholder",[32,0,["dateFormat"]]],[16,2,[30,[36,0],[[32,0,["dateValue"]]],null]],[16,"disabled",[32,0,["disabled"]]],[24,"aria-label","Date Picker"],[24,"data-test-date-time-picker-date-input",""],[24,4,"text"],[4,[38,4],["input",[30,[36,3],[[32,0,["onDateInput"]],[32,1]],null]],null],[4,[38,4],["blur",[32,0,["onDateBlur"]]],null],[4,[38,4],["keydown",[30,[36,3],[[32,0,["onDateKeydown"]],[32,1]],null]],null],[12],[13],[2,"\\n "],[1,[30,[36,5],["calendar"],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,[32,1,["Content"]],[[16,0,[31,["dropdown-menu ",[32,3]]]]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[8,[32,1,["Nav"]],[],[[],[]],null],[2,"\\n "],[8,[32,1,["Days"]],[],[["@minDate","@maxDate","@weekdayFormat"],[[32,0,["_minDate"]],[32,0,["_maxDate"]],"min"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n\\n "],[10,"div"],[15,0,[31,["gh-date-time-picker-time ",[30,[36,2],[[32,0,["hasError"]],"error"],null]," ",[32,4]]]],[12],[2,"\\n "],[11,"input"],[16,2,[32,0,["_time"]]],[16,"disabled",[32,0,["disabled"]]],[24,"aria-label","Time Picker"],[24,"data-test-date-time-picker-time-input",""],[24,4,"text"],[4,[38,4],["change",[32,0,["updateTimeValue"]]],null],[4,[38,4],["blur",[30,[36,3],[[32,0,["setTimeInternal"]],[32,0,["_time"]]],null]],null],[4,[38,6],[[32,0,["registerTimeInput"]]],null],[12],[13],[2,"\\n "],[10,"small"],[14,0,"gh-date-time-picker-timezone"],[14,"data-test-date-time-picker-timezone",""],[12],[1,[32,0,["timezone"]]],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[6,[37,2],[[32,0,["hasError"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-date-time-picker-error"],[14,"data-test-date-time-picker-error",""],[12],[1,[32,0,["dateError"]]],[1,[32,0,["timeError"]]],[13],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["readonly","action","if","fn","on","svg-jar","did-insert"]}',moduleName:"ghost-admin/components/gh-date-time-picker.hbs"}),S="YYYY-MM-DD"
426
- let x=e.default=(r=(0,i.tagName)(""),n=Ember.inject.service,o=Ember.computed.reads("settings.timezone"),a=Ember.computed.or("dateError","timeError"),s=Ember.computed("_date","_scratchDate"),l=Ember.computed("_date"),u=Ember.computed("blogTimezone"),c=Ember.computed("errors.[]","dateErrorProperty","_scratchDateError"),d=Ember.computed("errors.[]","timeErrorProperty"),p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,r((E=class extends Ember.Component{constructor(...e){super(...e),j(this,"settings",P,this),k(this,"date",""),k(this,"dateFormat",S),k(this,"time",""),k(this,"errors",null),k(this,"dateErrorProperty",null),k(this,"timeErrorProperty",null),k(this,"isActive",!0),k(this,"_time",""),k(this,"_previousTime",""),k(this,"_minDate",null),k(this,"_maxDate",null),k(this,"_scratchDate",null),k(this,"_scratchDateError",null),j(this,"blogTimezone",_,this),j(this,"hasError",O,this)}setTypedDateError(){}get renderInPlaceWithFallback(){return void 0===this.renderInPlace||this.renderInPlace}get dateValue(){return null!==this._scratchDate?this._scratchDate:this._date?.format(S)}get localDateValue(){const[e,t,i]=this._date.format(S).split("-").map(Number)
423
+ const z=Ember.HTMLBars.template({id:"NiBLlZJz",block:'{"symbols":["dp","@datePickerTriggerClass","@datePickerClass","@timeInputClass"],"statements":[[10,"div"],[14,0,"gh-date-time-picker"],[14,"data-test-component","gh-date-time-picker"],[12],[2,"\\n "],[8,"power-datepicker",[],[["@selected","@center","@onSelect","@renderInPlace","@disabled"],[[30,[36,0],[[32,0,["localDateValue"]]],null],[30,[36,0],[[32,0,["localDateValue"]]],null],[30,[36,1],[[32,0],"setLocalDate"],[["value"],["date"]]],[32,0,["renderInPlaceWithFallback"]],[32,0,["disabled"]]]],[["default"],[{"statements":[[2,"\\n "],[8,[32,1,["Trigger"]],[[16,0,[32,2]],[24,"data-test-date-time-picker-datepicker",""]],[["@tabindex"],["-1"]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[15,0,[31,["gh-date-time-picker-date ",[30,[36,2],[[32,0,["dateError"]],"error"],null]]]],[12],[2,"\\n "],[11,"input"],[16,"placeholder",[32,0,["dateFormat"]]],[16,2,[30,[36,0],[[32,0,["dateValue"]]],null]],[16,"disabled",[32,0,["disabled"]]],[24,"aria-label","Date Picker"],[24,"data-test-date-time-picker-date-input",""],[24,4,"text"],[4,[38,4],["input",[30,[36,3],[[32,0,["onDateInput"]],[32,1]],null]],null],[4,[38,4],["blur",[32,0,["onDateBlur"]]],null],[4,[38,4],["keydown",[30,[36,3],[[32,0,["onDateKeydown"]],[32,1]],null]],null],[12],[13],[2,"\\n "],[1,[30,[36,5],["calendar"],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,[32,1,["Content"]],[[16,0,[31,["dropdown-menu ",[32,3]]]]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[8,[32,1,["Nav"]],[],[[],[]],null],[2,"\\n "],[8,[32,1,["Days"]],[],[["@minDate","@maxDate","@weekdayFormat"],[[32,0,["_minDate"]],[32,0,["_maxDate"]],"min"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n\\n "],[10,"div"],[15,0,[31,["gh-date-time-picker-time ",[30,[36,2],[[32,0,["hasError"]],"error"],null]," ",[32,4]]]],[12],[2,"\\n "],[11,"input"],[16,2,[32,0,["_time"]]],[16,"disabled",[32,0,["disabled"]]],[24,"aria-label","Time Picker"],[24,"data-test-date-time-picker-time-input",""],[24,4,"text"],[4,[38,4],["change",[32,0,["updateTimeValue"]]],null],[4,[38,4],["blur",[30,[36,3],[[32,0,["setTimeInternal"]],[32,0,["_time"]]],null]],null],[4,[38,6],[[32,0,["registerTimeInput"]]],null],[12],[13],[2,"\\n "],[10,"small"],[14,0,"gh-date-time-picker-timezone"],[14,"data-test-date-time-picker-timezone",""],[12],[1,[32,0,["timezone"]]],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[6,[37,2],[[32,0,["hasError"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-date-time-picker-error"],[14,"data-test-date-time-picker-error",""],[12],[1,[32,0,["dateError"]]],[1,[32,0,["timeError"]]],[13],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["readonly","action","if","fn","on","svg-jar","did-insert"]}',moduleName:"ghost-admin/components/gh-date-time-picker.hbs"}),x="YYYY-MM-DD"
424
+ let S=e.default=(r=(0,i.tagName)(""),n=Ember.inject.service,o=Ember.computed.reads("settings.timezone"),a=Ember.computed.or("dateError","timeError"),s=Ember.computed("_date","_scratchDate"),l=Ember.computed("_date"),u=Ember.computed("blogTimezone"),c=Ember.computed("errors.[]","dateErrorProperty","_scratchDateError"),d=Ember.computed("errors.[]","timeErrorProperty"),p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,r((E=class extends Ember.Component{constructor(...e){super(...e),j(this,"settings",P,this),k(this,"date",""),k(this,"dateFormat",x),k(this,"time",""),k(this,"errors",null),k(this,"dateErrorProperty",null),k(this,"timeErrorProperty",null),k(this,"isActive",!0),k(this,"_time",""),k(this,"_previousTime",""),k(this,"_minDate",null),k(this,"_maxDate",null),k(this,"_scratchDate",null),k(this,"_scratchDateError",null),j(this,"blogTimezone",_,this),j(this,"hasError",O,this)}setTypedDateError(){}get renderInPlaceWithFallback(){return void 0===this.renderInPlace||this.renderInPlace}get dateValue(){return null!==this._scratchDate?this._scratchDate:this._date?.format(x)}get localDateValue(){const[e,t,i]=this._date.format(x).split("-").map(Number)
427
425
  return new Date(e,t-1,i)}get timezone(){const e=this.blogTimezone
428
426
  return t.default.utc().tz(e).format("z")}get dateError(){if(this._scratchDateError)return this._scratchDateError
429
427
  const e=this.errors,t=this.dateErrorProperty
430
428
  return e&&!Ember.isEmpty(e.errorsFor(t))?e.errorsFor(t).get("firstObject").message:""}get timeError(){const e=this.errors,t=this.timeErrorProperty
431
429
  return e&&!Ember.isEmpty(e.errorsFor(t))?e.errorsFor(t).get("firstObject").message:""}didReceiveAttrs(){super.didReceiveAttrs(...arguments)
432
430
  const e=this.date,i=this.time,r=this.minDate,n=this.maxDate,o=this.blogTimezone
433
- Ember.isBlank(e)?this.set("_date",(0,t.default)().tz(o)):this.set("_date",t.default.tz(e,o)),!this.isActive&&this._lastIsActive&&this._resetScratchDate(),this._lastIsActive=this.isActive,(e&&e.valueOf())!==(this._lastDate&&this._lastDate.valueOf())&&this._resetScratchDate(),this._lastDate=this.date,Ember.isBlank(i)?this.set("_time",this._date.format("HH:mm")):this.set("_time",this.time),this.set("_previousTime",this._time),"now"===r?this.set("_minDate",(0,t.default)((0,t.default)().tz(o).format(S)).toDate()):Ember.isBlank(r)?this.set("_minDate",null):this.set("_minDate",(0,t.default)(t.default.tz(r,o).format(S)).toDate()),"now"===n?this.set("_maxDate",(0,t.default)((0,t.default)().tz(o).format(S)).toDate()):Ember.isBlank(n)?this.set("_maxDate",null):this.set("_maxDate",(0,t.default)(t.default.tz(n,o).format(S)).toDate())}willDestroyElement(){super.willDestroyElement(...arguments),this.setTypedDateError(null)}setDateInternal(e){e!==this._date&&(this.setDate(e),Ember.isBlank(this.time)&&this.setTime(this._time))}setLocalDate(e){const i=(0,t.default)(e).format(S)
431
+ Ember.isBlank(e)?this.set("_date",(0,t.default)().tz(o)):this.set("_date",t.default.tz(e,o)),!this.isActive&&this._lastIsActive&&this._resetScratchDate(),this._lastIsActive=this.isActive,(e&&e.valueOf())!==(this._lastDate&&this._lastDate.valueOf())&&this._resetScratchDate(),this._lastDate=this.date,Ember.isBlank(i)?this.set("_time",this._date.format("HH:mm")):this.set("_time",this.time),this.set("_previousTime",this._time),"now"===r?this.set("_minDate",(0,t.default)((0,t.default)().tz(o).format(x)).toDate()):Ember.isBlank(r)?this.set("_minDate",null):this.set("_minDate",(0,t.default)(t.default.tz(r,o).format(x)).toDate()),"now"===n?this.set("_maxDate",(0,t.default)((0,t.default)().tz(o).format(x)).toDate()):Ember.isBlank(n)?this.set("_maxDate",null):this.set("_maxDate",(0,t.default)(t.default.tz(n,o).format(x)).toDate())}willDestroyElement(){super.willDestroyElement(...arguments),this.setTypedDateError(null)}setDateInternal(e){e!==this._date&&(this.setDate(e),Ember.isBlank(this.time)&&this.setTime(this._time))}setLocalDate(e){const i=(0,t.default)(e).format(x)
434
432
  this._setDate(i)}setTimeInternal(e,t){e.match(/^\d:\d\d$/)&&(e=`0${e}`),e!==this._previousTime&&(this.setTime(e,t),this.set("_previousTime",e),Ember.isBlank(this.date)&&this.setDate(this._date.toDate()))}updateTimeValue(e){this.set("_time",e.target.value)}registerTimeInput(e){this._timeInputElem=e}onDateInput(e,t){e.actions.close(t,!0),this.set("_scratchDate",t.target.value)}onDateBlur(e){e.target.value!==this._date.format("YYYY-MM-DD")&&e.target.value?this._setDate(e.target.value):this._resetScratchDate()}onDateKeydown(e,t){if("Escape"===t.key&&this._resetScratchDate(),"Enter"===t.key&&(this._setDate(t.target.value),t.preventDefault(),t.stopImmediatePropagation(),e.actions.close()),"Tab"===t.key&&e.isOpen&&(e.actions.close(),!t.shiftKey&&this._timeInputElem&&(t.preventDefault(),this._timeInputElem.focus(),this._timeInputElem.select())),"s"===t.key&&(t.ctrlKey||t.metaKey)){this._setDate(t.target.value)||(t.stopImmediatePropagation(),t.preventDefault())}}_resetScratchDate(){this.set("_scratchDate",null),this._setScratchDateError(null)}_setDate(e){if(!e.match(/^\d\d\d\d-\d\d-\d\d$/))return this._setScratchDateError("Invalid date format, must be YYYY-MM-DD"),!1
435
- const i=t.default.tz(e,S,this.blogTimezone)
433
+ const i=t.default.tz(e,x,this.blogTimezone)
436
434
  return i.isValid()?(this.setDateInternal(i.toDate()),this._resetScratchDate(),!0):(this._setScratchDateError("Invalid date"),!1)}_setScratchDateError(e){this.set("_scratchDateError",e),this.setTypedDateError(e)}},P=T(E.prototype,"settings",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=T(E.prototype,"blogTimezone",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=T(E.prototype,"hasError",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T(E.prototype,"dateValue",[s],Object.getOwnPropertyDescriptor(E.prototype,"dateValue"),E.prototype),T(E.prototype,"localDateValue",[l],Object.getOwnPropertyDescriptor(E.prototype,"localDateValue"),E.prototype),T(E.prototype,"timezone",[u],Object.getOwnPropertyDescriptor(E.prototype,"timezone"),E.prototype),T(E.prototype,"dateError",[c],Object.getOwnPropertyDescriptor(E.prototype,"dateError"),E.prototype),T(E.prototype,"timeError",[d],Object.getOwnPropertyDescriptor(E.prototype,"timeError"),E.prototype),T(E.prototype,"setDateInternal",[p],Object.getOwnPropertyDescriptor(E.prototype,"setDateInternal"),E.prototype),T(E.prototype,"setLocalDate",[m],Object.getOwnPropertyDescriptor(E.prototype,"setLocalDate"),E.prototype),T(E.prototype,"setTimeInternal",[h],Object.getOwnPropertyDescriptor(E.prototype,"setTimeInternal"),E.prototype),T(E.prototype,"updateTimeValue",[b],Object.getOwnPropertyDescriptor(E.prototype,"updateTimeValue"),E.prototype),T(E.prototype,"registerTimeInput",[f],Object.getOwnPropertyDescriptor(E.prototype,"registerTimeInput"),E.prototype),T(E.prototype,"onDateInput",[g],Object.getOwnPropertyDescriptor(E.prototype,"onDateInput"),E.prototype),T(E.prototype,"onDateBlur",[v],Object.getOwnPropertyDescriptor(E.prototype,"onDateBlur"),E.prototype),T(E.prototype,"onDateKeydown",[y],Object.getOwnPropertyDescriptor(E.prototype,"onDateKeydown"),E.prototype),w=E))||w)
437
- Ember._setComponentTemplate(z,x)}),define("ghost-admin/components/gh-dropdown-button",["exports","ghost-admin/mixins/dropdown-mixin","@ember-decorators/component"],function(e,t,i){var r,n,o,a,s,l,u
435
+ Ember._setComponentTemplate(z,S)}),define("ghost-admin/components/gh-dropdown-button",["exports","ghost-admin/mixins/dropdown-mixin","@ember-decorators/component"],function(e,t,i){var r,n,o,a,s,l,u
438
436
  function c(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
439
437
  var i=e[Symbol.toPrimitive]
440
438
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -458,16 +456,16 @@ e.on("close",this,this.close),e.on("toggle",this,this.toggle),this._animationEnd
458
456
  const e=this.dropdown
459
457
  e.off("close",this,this.close),e.off("toggle",this,this.toggle),this.element.removeEventListener("animationend",this._animationEndHandler)}open(){this.set("isOpen",!0),this.set("closing",!1),this.set("button.isOpen",!0)}close(){this.set("closing",!0),this.button&&this.set("button.isOpen",!1)}toggle(e){const t=this.closing,i=this.isOpen,r=this.name,n=e.target
460
458
  let o=this.button
461
- r!==n||i&&!t?i&&this.close():(o||(o=e.button,this.set("button",o)),this.open())}click(){if(super.click(...arguments),this.closeOnClick)return this.close()}},u=d(l.prototype,"dropdown",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d(l.prototype,"fadeIn",[a],Object.getOwnPropertyDescriptor(l.prototype,"fadeIn"),l.prototype),s=l))||s)||s)}),define("ghost-admin/components/gh-editor-feature-image",["exports","@glimmer/component","@tryghost/kg-clean-basic-html"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S
462
- function x(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function C(e,t,i,r,n){var o={}
459
+ r!==n||i&&!t?i&&this.close():(o||(o=e.button,this.set("button",o)),this.open())}click(){if(super.click(...arguments),this.closeOnClick)return this.close()}},u=d(l.prototype,"dropdown",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d(l.prototype,"fadeIn",[a],Object.getOwnPropertyDescriptor(l.prototype,"fadeIn"),l.prototype),s=l))||s)||s)}),define("ghost-admin/components/gh-editor-feature-image",["exports","@glimmer/component","@tryghost/kg-clean-basic-html"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x
460
+ function S(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function C(e,t,i,r,n){var o={}
463
461
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
464
462
  const M=Ember.HTMLBars.template({id:"/GNHssAk",block:'{"symbols":["uploader","error","@isHidden","@alt","@image","@clearImage"],"statements":[[10,"div"],[14,0,"gh-editor-feature-image-container"],[12],[2,"\\n"],[2," "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[32,0,["setUploadedImage"]]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,11],[[32,5]],null,[["default"],[{"statements":[[2," "],[11,"div"],[24,0,"gh-editor-feature-image-dropzone"],[4,[38,0],["dragover",[32,0,["dragOver"]]],null],[4,[38,0],["dragleave",[32,0,["dragLeave"]]],null],[4,[38,0],["drop",[30,[36,6],[[32,0,["drop"]],[32,1,["setFiles"]]],null]],null],[12],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[32,0,["canDrop"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-editor-feature-image-drop-indicator bg-green br-pill pe-none"],[12],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,1,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,1,["errors"]]],null,[["default","else"],[{"statements":[[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[14,"data-test-error","feature-image"],[12],[2,"\\n "],[1,[30,[36,8],[[32,2,["context"]],[32,2,["message"]]],null]],[2,"\\n "],[11,"button"],[24,0,"ml2 b"],[24,4,"button"],[4,[38,0],["click",[32,1,["cancel"]]],null],[12],[2,"Retry"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[2]}]]]],"parameters":[]},{"statements":[[6,[37,2],[[32,5]],null,[["default","else"],[{"statements":[[6,[37,2],[[32,3]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-editor-hidden-indicator"],[14,"data-tooltip","Feature image and post title are hidden on page"],[12],[2,"\\n "],[1,[30,[36,1],["eye-closed"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-editor-feature-image"],[12],[2,"\\n "],[10,"img"],[15,"src",[32,5]],[15,"alt",[32,4]],[15,"role",[30,[36,2],[[32,4],"img","presentation"],null]],[15,0,[31,[[30,[36,2],[[32,3],"faded"],null]]]],[12],[13],[2,"\\n "],[10,"div"],[14,0,"gh-editor-feature-image-overlay"],[12],[13],[2,"\\n "],[8,"koenig-image-editor",[],[["@imageSrc","@saveImage"],[[32,5],[30,[36,6],[[32,0,["saveImage"]],[32,1,["setFiles"]]],null]]],null],[2,"\\n "],[11,"button"],[24,0,"image-action image-delete"],[24,"data-tooltip","Delete"],[24,4,"button"],[4,[38,0],["click",[32,6]],null],[12],[2,"\\n "],[1,[30,[36,1],["koenig/kg-trash"],null]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-editor-feature-image-caption-container"],[12],[2,"\\n"],[6,[37,2],[[32,0,["isEditingAlt"]]],null,[["default","else"],[{"statements":[[2," "],[11,"input"],[24,"placeholder","Add alt text to the feature image"],[16,0,[31,["gh-editor-feature-image-alttext ",[30,[36,2],[[32,3],"faded"],null]]]],[24,3,"alt"],[24,"maxlength","191"],[16,2,[32,4]],[24,"aria-label","Alt text for feature image"],[24,4,"text"],[4,[38,7],null,null],[4,[38,0],["input",[32,0,["onAltInput"]]],null],[12],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"koenig-lexical-editor-input",[[16,0,[31,["gh-editor-feature-image-caption ",[30,[36,2],[[30,[36,4],[[32,3],[30,[36,3],[[32,0,["captionInputFocused"]]],null]],null],"faded"],null]]]]],[["@html","@onChangeHtml","@placeholderText","@onFocus","@onBlur","@onTKCountChange","@registerAPI"],[[32,0,["caption"]],[32,0,["setCaption"]],[30,[36,2],[[32,0,["captionInputFocused"]],"","Add a caption to the feature image"],null],[30,[36,6],[[30,[36,5],[[32,0,["captionInputFocused"]]],null],true],null],[32,0,["handleCaptionBlur"]],[32,0,["onTKCountChange"]],[32,0,["registerEditorAPI"]]]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[11,"button"],[24,"title","Toggle between editing alt text and caption"],[16,0,[31,["h-100 pl1 pr1 ba br3 f8 sans-serif fw4 lh-title tracked-2 ",[30,[36,2],[[32,0,["isEditingAlt"]],"bg-green b--green white","bg-transparent b--midlightgrey midlightgrey"],null]]]],[24,4,"button"],[4,[38,0],["click",[32,0,["toggleAltEditing"]]],[["passive"],[true]]],[12],[2,"\\n Alt\\n "],[13],[2,"\\n\\n"],[6,[37,2],[[30,[36,4],[[32,0,["tkCount"]],[30,[36,3],[[32,0,["isEditingAlt"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"div"],[24,0,"tk-indicator"],[24,"data-testid","feature-image-tk-indicator"],[24,"role","button"],[4,[38,0],["click",[32,0,["focusCaptionEditor"]]],null],[12],[2,"\\n TK\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"gh-editor-feature-image-add"],[12],[2,"\\n"],[6,[37,2],[[32,0,["canDrop"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-editor-feature-image-add-button"],[12],[10,"span"],[12],[2,"Drop to upload feature image"],[13],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-editor-feature-image-add-button"],[24,4,"button"],[4,[38,0],["click",[32,1,["triggerFileDialog"]]],null],[12],[1,[30,[36,1],["plus"],null]],[10,"span"],[12],[2,"Add feature image"],[13],[13],[2,"\\n"],[6,[37,2],[[32,0,["settings","unsplash"]]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-editor-feature-image-unsplash"],[24,4,"button"],[4,[38,0],["click",[32,0,["toggleUnsplashSelector"]]],null],[12],[1,[30,[36,1],["unsplash"],null]],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,"data-test-file-input","feature-image"]],[["@multiple","@action","@accept","@onInsert"],[false,[32,1,["setFiles"]],[32,1,["imageMimeTypes"]],[32,1,["registerFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n"],[13],[2,"\\n\\n"],[6,[37,2],[[32,0,["showUnsplashSelector"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-unsplash",[],[["@select","@close"],[[32,0,["setUnsplashImage"]],[32,0,["toggleUnsplashSelector"]]]],null],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["on","svg-jar","if","not","and","mut","fn","autofocus","or","-track-array","each","unless"]}',moduleName:"ghost-admin/components/gh-editor-feature-image.hbs"})
465
463
  function A(e){return(0,i.cleanBasicHtml)(e||"",{firstChildInnerContent:!0})}function D(e){const t=A(e),i=(new DOMParser).parseFromString(t,"text/html")
466
- return i.body.querySelectorAll("span").forEach(e=>{(function(e){return"SPAN"===e.tagName&&1===e.style.length&&"pre-wrap"===e.style.whiteSpace})(e)&&e.replaceWith(...e.childNodes)}),i.body.innerHTML.trim()}let I=e.default=(r=Ember.inject.service,n=Ember._tracked,o=Ember._tracked,a=Ember._tracked,s=Ember._tracked,l=Ember._tracked,u=Ember._action,c=Ember._action,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,P=Ember._action,_=class extends t.default{constructor(...e){super(...e),x(this,"settings",O,this),x(this,"isEditingAlt",j,this),x(this,"captionInputFocused",k,this),x(this,"showUnsplashSelector",T,this),x(this,"canDrop",z,this),x(this,"tkCount",S,this)}get caption(){const e=this.args.caption
464
+ return i.body.querySelectorAll("span").forEach(e=>{(function(e){return"SPAN"===e.tagName&&1===e.style.length&&"pre-wrap"===e.style.whiteSpace})(e)&&e.replaceWith(...e.childNodes)}),i.body.innerHTML.trim()}let I=e.default=(r=Ember.inject.service,n=Ember._tracked,o=Ember._tracked,a=Ember._tracked,s=Ember._tracked,l=Ember._tracked,u=Ember._action,c=Ember._action,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,P=Ember._action,_=class extends t.default{constructor(...e){super(...e),S(this,"settings",O,this),S(this,"isEditingAlt",j,this),S(this,"captionInputFocused",k,this),S(this,"showUnsplashSelector",T,this),S(this,"canDrop",z,this),S(this,"tkCount",x,this)}get caption(){const e=this.args.caption
467
465
  return e?function(e){const t=(new DOMParser).parseFromString(e,"text/html")
468
466
  return"P"===t.body?.firstElementChild?.tagName}(e)?e:`<p>${e}</p>`:null}setCaption(e){const t=A(e)
469
467
  D(t)!==D(this.caption)&&this.args.updateCaption(t)}registerEditorAPI(e){this.editorAPI=e}focusCaptionEditor(){this.editorAPI&&this.editorAPI.focusEditor({position:"bottom"})}handleCaptionBlur(){this.captionInputFocused=!1,this.args.handleCaptionBlur()}setUploadedImage(e){e[0]&&this.args.updateImage(e[0].url)}setUnsplashImage({src:e,caption:t}){this.args.updateImage(e),this.args.updateCaption(t)}toggleUnsplashSelector(){this.showUnsplashSelector=!this.showUnsplashSelector}toggleAltEditing(){this.isEditingAlt=!this.isEditingAlt}onAltInput(e){this.args.updateAlt(e.target.value)}dragOver(e){if(e.dataTransfer.files){if(navigator.userAgent.indexOf("Chrome")>-1){const t=e.dataTransfer.effectAllowed
470
- e.dataTransfer.dropEffect="move"===t||"linkMove"===t?"move":"copy"}e.preventDefault(),this.canDrop=!0}}dragLeave(e){e.dataTransfer.files&&(e.preventDefault(),this.canDrop=!1)}drop(e,t){t.dataTransfer.files&&(t.stopPropagation(),t.preventDefault(),this.canDrop=!1,e(t.dataTransfer.files))}saveImage(e,t){this.canDrop=!1,e([t])}onTKCountChange(e){this.args.onTKCountChange&&(this.tkCount=e,this.args.onTKCountChange(e))}},O=C(_.prototype,"settings",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=C(_.prototype,"isEditingAlt",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),k=C(_.prototype,"captionInputFocused",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),T=C(_.prototype,"showUnsplashSelector",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),z=C(_.prototype,"canDrop",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),S=C(_.prototype,"tkCount",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),C(_.prototype,"setCaption",[u],Object.getOwnPropertyDescriptor(_.prototype,"setCaption"),_.prototype),C(_.prototype,"registerEditorAPI",[c],Object.getOwnPropertyDescriptor(_.prototype,"registerEditorAPI"),_.prototype),C(_.prototype,"focusCaptionEditor",[d],Object.getOwnPropertyDescriptor(_.prototype,"focusCaptionEditor"),_.prototype),C(_.prototype,"handleCaptionBlur",[p],Object.getOwnPropertyDescriptor(_.prototype,"handleCaptionBlur"),_.prototype),C(_.prototype,"setUploadedImage",[m],Object.getOwnPropertyDescriptor(_.prototype,"setUploadedImage"),_.prototype),C(_.prototype,"setUnsplashImage",[h],Object.getOwnPropertyDescriptor(_.prototype,"setUnsplashImage"),_.prototype),C(_.prototype,"toggleUnsplashSelector",[b],Object.getOwnPropertyDescriptor(_.prototype,"toggleUnsplashSelector"),_.prototype),C(_.prototype,"toggleAltEditing",[f],Object.getOwnPropertyDescriptor(_.prototype,"toggleAltEditing"),_.prototype),C(_.prototype,"onAltInput",[g],Object.getOwnPropertyDescriptor(_.prototype,"onAltInput"),_.prototype),C(_.prototype,"dragOver",[v],Object.getOwnPropertyDescriptor(_.prototype,"dragOver"),_.prototype),C(_.prototype,"dragLeave",[y],Object.getOwnPropertyDescriptor(_.prototype,"dragLeave"),_.prototype),C(_.prototype,"drop",[w],Object.getOwnPropertyDescriptor(_.prototype,"drop"),_.prototype),C(_.prototype,"saveImage",[E],Object.getOwnPropertyDescriptor(_.prototype,"saveImage"),_.prototype),C(_.prototype,"onTKCountChange",[P],Object.getOwnPropertyDescriptor(_.prototype,"onTKCountChange"),_.prototype),_)
468
+ e.dataTransfer.dropEffect="move"===t||"linkMove"===t?"move":"copy"}e.preventDefault(),this.canDrop=!0}}dragLeave(e){e.dataTransfer.files&&(e.preventDefault(),this.canDrop=!1)}drop(e,t){t.dataTransfer.files&&(t.stopPropagation(),t.preventDefault(),this.canDrop=!1,e(t.dataTransfer.files))}saveImage(e,t){this.canDrop=!1,e([t])}onTKCountChange(e){this.args.onTKCountChange&&(this.tkCount=e,this.args.onTKCountChange(e))}},O=C(_.prototype,"settings",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=C(_.prototype,"isEditingAlt",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),k=C(_.prototype,"captionInputFocused",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),T=C(_.prototype,"showUnsplashSelector",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),z=C(_.prototype,"canDrop",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),x=C(_.prototype,"tkCount",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),C(_.prototype,"setCaption",[u],Object.getOwnPropertyDescriptor(_.prototype,"setCaption"),_.prototype),C(_.prototype,"registerEditorAPI",[c],Object.getOwnPropertyDescriptor(_.prototype,"registerEditorAPI"),_.prototype),C(_.prototype,"focusCaptionEditor",[d],Object.getOwnPropertyDescriptor(_.prototype,"focusCaptionEditor"),_.prototype),C(_.prototype,"handleCaptionBlur",[p],Object.getOwnPropertyDescriptor(_.prototype,"handleCaptionBlur"),_.prototype),C(_.prototype,"setUploadedImage",[m],Object.getOwnPropertyDescriptor(_.prototype,"setUploadedImage"),_.prototype),C(_.prototype,"setUnsplashImage",[h],Object.getOwnPropertyDescriptor(_.prototype,"setUnsplashImage"),_.prototype),C(_.prototype,"toggleUnsplashSelector",[b],Object.getOwnPropertyDescriptor(_.prototype,"toggleUnsplashSelector"),_.prototype),C(_.prototype,"toggleAltEditing",[f],Object.getOwnPropertyDescriptor(_.prototype,"toggleAltEditing"),_.prototype),C(_.prototype,"onAltInput",[g],Object.getOwnPropertyDescriptor(_.prototype,"onAltInput"),_.prototype),C(_.prototype,"dragOver",[v],Object.getOwnPropertyDescriptor(_.prototype,"dragOver"),_.prototype),C(_.prototype,"dragLeave",[y],Object.getOwnPropertyDescriptor(_.prototype,"dragLeave"),_.prototype),C(_.prototype,"drop",[w],Object.getOwnPropertyDescriptor(_.prototype,"drop"),_.prototype),C(_.prototype,"saveImage",[E],Object.getOwnPropertyDescriptor(_.prototype,"saveImage"),_.prototype),C(_.prototype,"onTKCountChange",[P],Object.getOwnPropertyDescriptor(_.prototype,"onTKCountChange"),_.prototype),_)
471
469
  Ember._setComponentTemplate(M,I)}),define("ghost-admin/components/gh-editor-post-status",["exports","@glimmer/component","ghost-admin/config/environment","ghost-admin/helpers/gh-format-post-time","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f
472
470
  function g(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function v(e,t,i,r,n){var o={}
473
471
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -562,15 +560,15 @@ super(...arguments),e=this,t="dropdown",r=this,(i=d)&&Object.defineProperty(e,t,
562
560
  Ember.isBlank(t)===this.args.select.isOpen&&(Ember.isBlank(t)?this.close():this.open()),this.args.onInput?.(e)}handleKeydown(e){("Escape"===e.key&&e.target.value||"Enter"===e.key)&&(this._previousKeyScope=key.getScope(),key.setScope("ignore"))}handleKeyup(){"ignore"===key.getScope()&&key.setScope(this._previousKeyScope)}handleFocus(){this.args.extra?.openOnFocus&&this.args.select.results.length>0&&this.open(),this.args.onFocus?.(...arguments),!1===this.args.extra.showSearchMessage&&0===this.args.select.results.length&&this.close()}handleBlur(e){if(e?.relatedTarget){const t=this.inputElem.closest(".ember-basic-dropdown-trigger")
563
561
  e.relatedTarget.closest(".ember-basic-dropdown-trigger")!==t&&(this.args.select.actions.search(""),this.close())}this.args.extra?.value&&this.args.select.searchText===this.args.extra.value&&(this.args.select.actions.search(""),this.close()),this.args.onBlur?.(...arguments)}closeWhenEmpty(){document.activeElement===this.inputElem&&this.args.extra?.closeWhenEmpty&&(this.args.select.results.length>0&&this.open(),0===this.args.select.results.length&&this.close())}open(){this.args.select.isOpen||this.args.select.actions.open(null,!0)}close(){this.args.select.isOpen&&this.args.select.actions.close(null,!0)}},d=m(c.prototype,"dropdown",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m(c.prototype,"registerInput",[r],Object.getOwnPropertyDescriptor(c.prototype,"registerInput"),c.prototype),m(c.prototype,"handleInput",[n],Object.getOwnPropertyDescriptor(c.prototype,"handleInput"),c.prototype),m(c.prototype,"handleKeydown",[o],Object.getOwnPropertyDescriptor(c.prototype,"handleKeydown"),c.prototype),m(c.prototype,"handleKeyup",[a],Object.getOwnPropertyDescriptor(c.prototype,"handleKeyup"),c.prototype),m(c.prototype,"handleFocus",[s],Object.getOwnPropertyDescriptor(c.prototype,"handleFocus"),c.prototype),m(c.prototype,"handleBlur",[l],Object.getOwnPropertyDescriptor(c.prototype,"handleBlur"),c.prototype),m(c.prototype,"closeWhenEmpty",[u],Object.getOwnPropertyDescriptor(c.prototype,"closeWhenEmpty"),c.prototype),c)
564
562
  Ember._setComponentTemplate(h,b)}),define("ghost-admin/components/gh-koenig-editor-lexical",["exports","@glimmer/component","ghost-admin/utils/ghost-paths"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T
565
- function z(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function S(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
563
+ function z(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function x(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
566
564
  var i=e[Symbol.toPrimitive]
567
565
  if(void 0!==i){var r=i.call(e,t||"default")
568
566
  if("object"!=typeof r)return r
569
567
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
570
- return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function x(e,t,i,r,n){var o={}
568
+ return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function S(e,t,i,r,n){var o={}
571
569
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
572
570
  const C=Ember.HTMLBars.template({id:"i5rGAWCW",block:'{"symbols":["@excerptErrorMessage","@onExcerptBlur","@excerptHasTk","&attrs","@featureImage","@setFeatureImage","@clearFeatureImage","@featureImageAlt","@setFeatureImageAlt","@featureImageCaption","@setFeatureImageCaption","@handleFeatureImageCaptionBlur","@title","@cardOptions","@updateFeatureImageTkCount","@titleHasTk","@titlePlaceholder","@titleAutofocus","@onTitleBlur","@body","@bodyPlaceholder","@onBodyChange","@updateSecondaryInstanceModel","@updateWordCount","@updatePostTkCount"],"statements":[[11,"div"],[24,0,"gh-koenig-editor relative z-0"],[17,4],[4,[38,5],[[32,0,["registerElement"]]],null],[12],[2,"\\n"],[2," "],[11,"div"],[24,0,"gh-koenig-editor-pane flex flex-column mih-100"],[4,[38,0],["mousedown",[32,0,["trackMousedown"]]],null],[4,[38,0],["mouseup",[32,0,["focusEditor"]]],null],[4,[38,0],["dragover",[32,0,["editorPaneDragover"]]],null],[4,[38,0],["drop",[32,0,["editorPaneDrop"]]],null],[12],[2,"\\n "],[8,"gh-editor-feature-image",[],[["@image","@updateImage","@clearImage","@alt","@updateAlt","@caption","@updateCaption","@handleCaptionBlur","@forceButtonDisplay","@isHidden","@onTKCountChange"],[[32,5],[32,6],[32,7],[32,8],[32,9],[32,10],[32,11],[32,12],[30,[36,8],[[30,[36,7],[[32,13]],null],[30,[36,6],[[32,13],"(Untitled)"],null],[32,0,["titleIsHovered"]],[32,0,["titleIsFocused"]]],null],[30,[36,8],[[30,[36,7],[[32,14,["post","showTitleAndFeatureImage"]]],null],false],null],[32,15]]],null],[2,"\\n\\n "],[10,"div"],[14,0,"gh-editor-title-container"],[12],[2,"\\n"],[6,[37,1],[[30,[36,9],[[30,[36,7],[[32,14,["post","showTitleAndFeatureImage"]]],null],[30,[36,7],[[32,5]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-editor-hidden-indicator"],[14,"data-tooltip","Post title is hidden on page"],[12],[2,"\\n "],[1,[30,[36,4],["eye-closed"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,1],[[32,16]],null,[["default"],[{"statements":[[2," "],[11,"div"],[24,0,"tk-indicator"],[24,"data-testid","tk-indicator"],[4,[38,0],["click",[32,0,["focusTitle"]]],null],[12],[2,"\\n TK\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-textarea",[[16,"data-test-editor-title-input",true],[4,[38,0],["focus",[30,[36,12],[[30,[36,11],[[32,0,["titleIsFocused"]]],null],true],null]],null],[4,[38,0],["blur",[30,[36,12],[[30,[36,11],[[32,0,["titleIsFocused"]]],null],false],null]],null],[4,[38,0],["mouseover",[30,[36,12],[[30,[36,11],[[32,0,["titleIsHovered"]]],null],true],null]],null],[4,[38,0],["mouseleave",[30,[36,12],[[30,[36,11],[[32,0,["titleIsHovered"]]],null],false],null]],null],[4,[38,0],["paste",[32,0,["cleanPastedTitle"]]],null]],[["@class","@placeholder","@shouldFocus","@tabindex","@autoExpand","@value","@input","@focus-out","@keyDown","@didCreateTextarea"],[[31,["gh-editor-title ",[30,[36,1],[[30,[36,9],[[30,[36,7],[[32,14,["post","showTitleAndFeatureImage"]]],null],[30,[36,7],[[32,0,["titleIsFocused"]]],null]],null],"faded"],null]]],[32,17],[30,[36,8],[[32,18],false],null],"1",".gh-koenig-editor",[30,[36,3],[[32,0,["title"]]],null],[32,0,["updateTitle"]],[30,[36,10],[[32,19]],null],[32,0,["onTitleKeydown"]],[32,0,["registerTitleElement"]]]],null],[2,"\\n\\n"],[6,[37,1],[[30,[36,13],["editorExcerpt"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"relative"],[12],[2,"\\n "],[8,"gh-textarea",[[24,"data-test-textarea","excerpt"],[4,[38,0],["blur",[32,2]],null]],[["@class","@placeholder","@shouldFocus","@tabindex","@autoExpand","@value","@input","@keyDown","@didCreateTextarea"],[[30,[36,2],["gh-editor-excerpt ",[30,[36,1],[[32,1],"red"],null]],null],"Add an excerpt",false,"1",".gh-koenig-editor",[30,[36,3],[[32,0,["excerpt"]]],null],[32,0,["onExcerptInput"]],[32,0,["onExcerptKeydown"]],[32,0,["registerExcerptElement"]]]],null],[2,"\\n"],[6,[37,1],[[32,3]],null,[["default"],[{"statements":[[2," "],[11,"div"],[24,0,"tk-indicator tk-indicator-excerpt"],[24,"data-testid","tk-indicator-excerpt"],[4,[38,0],["click",[32,0,["focusExcerpt"]]],null],[12],[2,"\\n TK\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"hr"],[15,0,[31,["gh-editor-title-divider ",[30,[36,1],[[32,1],"gh-editor-title-divider-error",""],null]]]],[12],[13],[2,"\\n"],[6,[37,1],[[32,1]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-editor-excerpt-error"],[14,"data-test-error","excerpt"],[12],[2,"\\n "],[1,[32,1]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[8,"koenig-lexical-editor",[],[["@lexical","@placeholder","@cardConfig","@onChange","@updateSecondaryInstanceModel","@registerAPI","@registerSecondaryAPI","@cursorDidExitAtTop","@updateWordCount","@updatePostTkCount"],[[32,20],[32,21],[32,14],[32,22],[32,23],[32,0,["registerEditorAPI"]],[32,0,["registerSecondaryEditorAPI"]],[30,[36,1],[[32,0,["feature","editorExcerpt"]],[32,0,["focusExcerpt"]],[32,0,["focusTitle"]]],null],[32,24],[32,25]]],null],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["on","if","concat","readonly","svg-jar","did-insert","eq","not","or","and","optional","mut","fn","feature"]}',moduleName:"ghost-admin/components/gh-koenig-editor-lexical.hbs"})
573
- let M=e.default=(r=Ember.inject.service,n=Ember.inject.service,o=Ember._tracked,a=Ember._tracked,s=Ember._action,l=Ember._action,u=Ember._action,c=Ember._action,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,P=Ember._action,_=class extends t.default{constructor(...e){super(...e),z(this,"settings",O,this),z(this,"feature",j,this),S(this,"containerElement",null),S(this,"titleElement",null),S(this,"excerptElement",null),S(this,"mousedownY",0),S(this,"uploadUrl",`${(0,i.default)().apiRoot}/images/upload/`),S(this,"editorAPI",null),S(this,"secondaryEditorAPI",null),S(this,"skipFocusEditor",!1),z(this,"titleIsHovered",k,this),z(this,"titleIsFocused",T,this)}get title(){return"(Untitled)"===this.args.title?"":this.args.title}get accentColor(){const e=this.settings.accentColor
571
+ let M=e.default=(r=Ember.inject.service,n=Ember.inject.service,o=Ember._tracked,a=Ember._tracked,s=Ember._action,l=Ember._action,u=Ember._action,c=Ember._action,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,P=Ember._action,_=class extends t.default{constructor(...e){super(...e),z(this,"settings",O,this),z(this,"feature",j,this),x(this,"containerElement",null),x(this,"titleElement",null),x(this,"excerptElement",null),x(this,"mousedownY",0),x(this,"uploadUrl",`${(0,i.default)().apiRoot}/images/upload/`),x(this,"editorAPI",null),x(this,"secondaryEditorAPI",null),x(this,"skipFocusEditor",!1),z(this,"titleIsHovered",k,this),z(this,"titleIsFocused",T,this)}get title(){return"(Untitled)"===this.args.title?"":this.args.title}get accentColor(){const e=this.settings.accentColor
574
572
  return e&&"#"===e[0]?e.slice(1):e}get excerpt(){return this.args.excerpt||""}registerElement(e){this.containerElement=e}trackMousedown(e){this.mousedownY=e.clientY
575
573
  let t=!1
576
574
  for(const i of e.path||e.composedPath())if(i.matches?.("[data-lexical-decorator], [data-kg-slash-menu]")){t=!0
@@ -583,7 +581,7 @@ if("Enter"===t&&(e.preventDefault(),this.excerptElement?.focus()),("ArrowDown"==
583
581
  if(!t||e.originalEvent.isComposing)return
584
582
  const{key:i}=e,{value:r,selectionStart:n}=e.target,o=!r||n===r.length,a=["ArrowDown","ArrowRight"].includes(i)&&o;("Enter"===i||"Tab"===i||a)&&(e.preventDefault(),"Enter"!==i||t.editorIsEmpty()?t.focusEditor({position:"top"}):t.insertParagraphAtTop({focus:!0}))}}registerExcerptElement(e){this.excerptElement=e}focusExcerpt(){this.excerptElement?.focus(),setTimeout(()=>{this.excerptElement?.setSelectionRange(-1,-1)},0)}onExcerptInput(e){this.args.setExcerpt?.(e.target.value)}onExcerptKeydown(e){const{key:t}=e,{value:i,selectionStart:r}=e.target
585
583
  if(("ArrowUp"===t||"ArrowLeft"===t)&&!e.shiftKey){(!i||0===r)&&(e.preventDefault(),this.focusTitle())}const{editorAPI:n}=this,o=!i||r===i.length,a=("ArrowRight"===t||"ArrowDown"===t)&&o;("Enter"===t||"Tab"===t&&!e.shiftKey||a)&&(e.preventDefault(),"Enter"!==t||n.editorIsEmpty()?n.focusEditor({position:"top"}):n.insertParagraphAtTop({focus:!0}))}registerEditorAPI(e){this.editorAPI=e,this.args.registerAPI(e)}registerSecondaryEditorAPI(e){this.secondaryEditorAPI=e,this.args.registerSecondaryAPI(e)}focusEditor(e){if(!this.skipFocusEditor&&e.target.classList.contains("gh-koenig-editor-pane")&&this.editorAPI){const t=this.editorAPI.editorInstance.getRootElement(),{bottom:i}=t.getBoundingClientRect()
586
- e.pageY>i&&e.clientY>i&&(e.preventDefault(),this.editorAPI.lastNodeIsDecorator()&&this.editorAPI.insertParagraphAtBottom(),this.editorAPI.focusEditor({position:"bottom"}))}this.skipFocusEditor=!1}},O=x(_.prototype,"settings",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=x(_.prototype,"feature",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=x(_.prototype,"titleIsHovered",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),T=x(_.prototype,"titleIsFocused",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),x(_.prototype,"registerElement",[s],Object.getOwnPropertyDescriptor(_.prototype,"registerElement"),_.prototype),x(_.prototype,"trackMousedown",[l],Object.getOwnPropertyDescriptor(_.prototype,"trackMousedown"),_.prototype),x(_.prototype,"editorPaneDragover",[u],Object.getOwnPropertyDescriptor(_.prototype,"editorPaneDragover"),_.prototype),x(_.prototype,"editorPaneDrop",[c],Object.getOwnPropertyDescriptor(_.prototype,"editorPaneDrop"),_.prototype),x(_.prototype,"registerTitleElement",[d],Object.getOwnPropertyDescriptor(_.prototype,"registerTitleElement"),_.prototype),x(_.prototype,"updateTitle",[p],Object.getOwnPropertyDescriptor(_.prototype,"updateTitle"),_.prototype),x(_.prototype,"cleanPastedTitle",[m],Object.getOwnPropertyDescriptor(_.prototype,"cleanPastedTitle"),_.prototype),x(_.prototype,"focusTitle",[h],Object.getOwnPropertyDescriptor(_.prototype,"focusTitle"),_.prototype),x(_.prototype,"onTitleKeydown",[b],Object.getOwnPropertyDescriptor(_.prototype,"onTitleKeydown"),_.prototype),x(_.prototype,"registerExcerptElement",[f],Object.getOwnPropertyDescriptor(_.prototype,"registerExcerptElement"),_.prototype),x(_.prototype,"focusExcerpt",[g],Object.getOwnPropertyDescriptor(_.prototype,"focusExcerpt"),_.prototype),x(_.prototype,"onExcerptInput",[v],Object.getOwnPropertyDescriptor(_.prototype,"onExcerptInput"),_.prototype),x(_.prototype,"onExcerptKeydown",[y],Object.getOwnPropertyDescriptor(_.prototype,"onExcerptKeydown"),_.prototype),x(_.prototype,"registerEditorAPI",[w],Object.getOwnPropertyDescriptor(_.prototype,"registerEditorAPI"),_.prototype),x(_.prototype,"registerSecondaryEditorAPI",[E],Object.getOwnPropertyDescriptor(_.prototype,"registerSecondaryEditorAPI"),_.prototype),x(_.prototype,"focusEditor",[P],Object.getOwnPropertyDescriptor(_.prototype,"focusEditor"),_.prototype),_)
584
+ e.pageY>i&&e.clientY>i&&(e.preventDefault(),this.editorAPI.lastNodeIsDecorator()&&this.editorAPI.insertParagraphAtBottom(),this.editorAPI.focusEditor({position:"bottom"}))}this.skipFocusEditor=!1}},O=S(_.prototype,"settings",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=S(_.prototype,"feature",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=S(_.prototype,"titleIsHovered",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),T=S(_.prototype,"titleIsFocused",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),S(_.prototype,"registerElement",[s],Object.getOwnPropertyDescriptor(_.prototype,"registerElement"),_.prototype),S(_.prototype,"trackMousedown",[l],Object.getOwnPropertyDescriptor(_.prototype,"trackMousedown"),_.prototype),S(_.prototype,"editorPaneDragover",[u],Object.getOwnPropertyDescriptor(_.prototype,"editorPaneDragover"),_.prototype),S(_.prototype,"editorPaneDrop",[c],Object.getOwnPropertyDescriptor(_.prototype,"editorPaneDrop"),_.prototype),S(_.prototype,"registerTitleElement",[d],Object.getOwnPropertyDescriptor(_.prototype,"registerTitleElement"),_.prototype),S(_.prototype,"updateTitle",[p],Object.getOwnPropertyDescriptor(_.prototype,"updateTitle"),_.prototype),S(_.prototype,"cleanPastedTitle",[m],Object.getOwnPropertyDescriptor(_.prototype,"cleanPastedTitle"),_.prototype),S(_.prototype,"focusTitle",[h],Object.getOwnPropertyDescriptor(_.prototype,"focusTitle"),_.prototype),S(_.prototype,"onTitleKeydown",[b],Object.getOwnPropertyDescriptor(_.prototype,"onTitleKeydown"),_.prototype),S(_.prototype,"registerExcerptElement",[f],Object.getOwnPropertyDescriptor(_.prototype,"registerExcerptElement"),_.prototype),S(_.prototype,"focusExcerpt",[g],Object.getOwnPropertyDescriptor(_.prototype,"focusExcerpt"),_.prototype),S(_.prototype,"onExcerptInput",[v],Object.getOwnPropertyDescriptor(_.prototype,"onExcerptInput"),_.prototype),S(_.prototype,"onExcerptKeydown",[y],Object.getOwnPropertyDescriptor(_.prototype,"onExcerptKeydown"),_.prototype),S(_.prototype,"registerEditorAPI",[w],Object.getOwnPropertyDescriptor(_.prototype,"registerEditorAPI"),_.prototype),S(_.prototype,"registerSecondaryEditorAPI",[E],Object.getOwnPropertyDescriptor(_.prototype,"registerSecondaryEditorAPI"),_.prototype),S(_.prototype,"focusEditor",[P],Object.getOwnPropertyDescriptor(_.prototype,"focusEditor"),_.prototype),_)
587
585
  Ember._setComponentTemplate(C,M)}),define("ghost-admin/components/gh-loading-spinner",["exports","@glimmer/component","ember-concurrency"],function(e,t,i){var r,n,o
588
586
  function a(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
589
587
  var i=e[Symbol.toPrimitive]
@@ -674,7 +672,7 @@ return this._toArray(e).filter(e=>!i.has(this._optionKey(e)))}},a(o.prototype,"h
674
672
  Ember._setComponentTemplate(s,l)})
675
673
  define("ghost-admin/components/gh-post-bookmark",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
676
674
  const t=Ember.HTMLBars.template({id:"EPqVhGxu",block:'{"symbols":["imageUrl","@post"],"statements":[[10,"div"],[14,0,"gh-post-bookmark-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-post-bookmark"],[12],[2,"\\n"],[6,[37,4],[[30,[36,3],[[32,2,["featureImage"]],[30,[36,0],["coverImage"],null]],null]],null,[["default"],[{"statements":[[6,[37,1],[[32,1]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-post-bookmark-image"],[12],[2,"\\n "],[10,"img"],[15,"src",[32,1]],[14,"alt",""],[14,"role","presentation"],[12],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[15,0,[31,["gh-post-bookmark-content ",[30,[36,1],[[32,1],"","no-image"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-post-bookmark-title"],[12],[1,[32,2,["title"]]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-post-bookmark-text truncate"],[12],[1,[32,2,["excerpt"]]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-post-bookmark-details"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],["icon"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-post-bookmark-site-icon"],[12],[10,"img"],[15,"src",[30,[36,0],["icon"],null]],[14,"alt",""],[14,"role","presentation"],[12],[13],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-post-bookmark-site-title"],[12],[1,[30,[36,0],["title"],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-post-bookmark-authors"],[12],[1,[30,[36,2],[[32,2]],null]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["get-setting","if","post-author-names","or","let"]}',moduleName:"ghost-admin/components/gh-post-bookmark.hbs"})
677
- e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/gh-post-settings-menu",["exports","ghost-admin/utils/bound-one-way","moment-timezone","ghost-admin/decorators/inject","@ember-decorators/component"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G,J,Q,X,Z,ee,te,ie,re,ne,oe,ae,se,le,ue,ce,de,pe,me,he,be,fe,ge,ve,ye,we,Ee,Pe,_e,Oe,je,ke,Te,ze,Se,xe,Ce,Me,Ae,De,Ie,Re,Le,Ne,Fe,Ue,Be,He,Ve,qe,$e,We,Ke,Ye,Ge
675
+ e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/gh-post-settings-menu",["exports","ghost-admin/utils/bound-one-way","moment-timezone","ghost-admin/decorators/inject","@ember-decorators/component"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G,J,Q,X,Z,ee,te,ie,re,ne,oe,ae,se,le,ue,ce,de,pe,me,he,be,fe,ge,ve,ye,we,Ee,Pe,_e,Oe,je,ke,Te,ze,xe,Se,Ce,Me,Ae,De,Ie,Re,Le,Ne,Fe,Ue,Be,He,Ve,qe,$e,We,Ke,Ye,Ge
678
676
  function Je(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function Qe(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
679
677
  var i=e[Symbol.toPrimitive]
680
678
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -683,7 +681,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
683
681
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function Xe(e,t,i,r,n){var o={}
684
682
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
685
683
  const Ze=Ember.HTMLBars.template({id:"ULMtuVsv",block:'{"symbols":["@post"],"statements":[[11,"div"],[16,0,[31,["settings-menu-container ",[30,[36,8],[[30,[36,13],[[30,[36,12],[[32,0,["subview"]],"codeinjection"],null],[30,[36,12],[[32,0,["subview"]],"meta-data"],null],[30,[36,12],[[32,0,["subview"]],"twitter-data"],null],[30,[36,12],[[32,0,["subview"]],"facebook-data"],null]],null],"settings-menu-container-wide"],null]]]],[4,[38,18],[[32,0,["setSidebarWidthFromElement"]]],null],[4,[38,19],[[32,0,["setSidebarWidthFromElement"]],[32,0,["isViewingSubview"]]],null],[12],[2,"\\n "],[10,"div"],[14,1,"entry-controls"],[12],[2,"\\n "],[10,"div"],[14,0,"settings-menu settings-menu-pane settings-menu-pane-main"],[12],[2,"\\n "],[10,"div"],[14,0,"settings-menu-header"],[12],[2,"\\n "],[10,"h4"],[12],[1,[30,[36,3],[[32,0,["post","displayName"]]],null]],[2," settings"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"settings-menu-content"],[12],[2,"\\n "],[10,"form"],[14,"aria-label","Post settings"],[12],[2,"\\n "],[10,"section"],[14,0,"gh-post-settings"],[12],[2,"\\n "],[10,"div"],[14,0,"form-group"],[12],[2,"\\n "],[10,"label"],[14,"for","url"],[12],[1,[30,[36,3],[[32,0,["post","displayName"]]],null]],[2," URL"],[13],[2,"\\n"],[6,[37,20],[[32,0,["post","isNew"]]],null,[["default"],[{"statements":[[6,[37,8],[[30,[36,13],[[32,0,["post","isPublished"]],[32,0,["post","isSent"]]],null]],null,[["default","else"],[{"statements":[[2," "],[10,"a"],[14,0,"post-view-link"],[14,"target","_blank"],[15,6,[31,[[32,0,["post","url"]]]]],[14,"rel","noopener noreferrer"],[12],[2,"\\n View "],[1,[32,0,["post","displayName"]]],[2," "],[1,[30,[36,2],["arrow-top-right"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,8],[[32,0,["post","isScheduled"]]],null,[["default"],[{"statements":[[2," "],[10,"a"],[14,0,"post-view-link"],[14,"target","_blank"],[15,6,[31,[[32,0,["post","previewUrl"]]]]],[14,"rel","noopener noreferrer"],[12],[2,"\\n Preview "],[1,[30,[36,2],["arrow-top-right"],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n "],[10,"div"],[14,0,"gh-input-icon gh-icon-link"],[12],[2,"\\n "],[1,[30,[36,2],["link"],null]],[2,"\\n "],[8,"gh-text-input",[],[["@class","@id","@name","@value","@input","@focus-out","@stopEnterKeyDownPropagation"],["post-setting-slug gh-input-x","url","post-setting-slug",[30,[36,7],[[32,0,["slugValue"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["slugValue"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"updateSlug",[32,0,["slugValue"]]],null],true]],null],[2,"\\n "],[13],[2,"\\n"],[6,[37,8],[[32,0,["post","isSent"]]],null,[["default","else"],[{"statements":[[2," "],[8,"gh-url-preview",[],[["@prefix","@slug","@tagName","@classNames"],["email",[32,0,["uuidValue"]],"p","description"]],null],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"gh-url-preview",[],[["@slug","@tagName","@classNames"],[[32,0,["slugValue"]],"p","description"]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"form-group"],[12],[2,"\\n"],[6,[37,8],[[30,[36,13],[[32,0,["post","isDraft"]],[32,0,["post","isPublished"]],[32,0,["post","pastScheduledTime"]],[32,0,["post","isSent"]]],null]],null,[["default","else"],[{"statements":[[2," "],[10,"label"],[12],[2,"Publish date"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"label"],[12],[2,"Scheduled date"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[8,"gh-date-time-picker",[],[["@date","@time","@setDate","@setTime","@errors","@dateErrorProperty","@timeErrorProperty","@maxDate","@disabled","@isActive"],[[32,0,["post","publishedAtBlogDate"]],[32,0,["post","publishedAtBlogTime"]],[30,[36,1],[[32,0],"setPublishedAtBlogDate"],null],[30,[36,1],[[32,0],"setPublishedAtBlogTime"],null],[32,0,["post","errors"]],"publishedAtBlogDate","publishedAtBlogTime","now",[32,0,["post","isScheduled"]],[30,[36,15],[[32,0,["isViewingSubview"]]],null]]],null],[2,"\\n"],[6,[37,20],[[30,[36,13],[[32,0,["post","isDraft"]],[32,0,["post","isPublished"]],[32,0,["post","pastScheduledTime"]],[32,0,["post","isSent"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"p"],[12],[2,"Use the publish menu to re-schedule"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,20],[[32,0,["session","user","isContributor"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"form-group"],[12],[2,"\\n "],[10,"label"],[14,"for","tag-input"],[12],[2,"Tags"],[13],[2,"\\n "],[8,"gh-psm-tags-input",[],[["@triggerClass","@post","@savePostOnChange","@triggerId"],["gh-input-x",[32,0,["post"]],[32,0,["savePost"]],"tag-input"]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[32,0,["showVisibilityInput"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"visibility"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","visibility-input"],[12],[1,[30,[36,3],[[32,1,["displayName"]]],null]],[2," access"],[13],[2,"\\n "],[8,"gh-psm-visibility-input",[],[["@post","@savePostOnChange","@triggerId"],[[32,0,["post"]],[32,0,["savePost"]],"visibility-input"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n"],[6,[37,8],[[30,[36,12],[[32,0,["post","visibility"]],"tiers"],null]],null,[["default"],[{"statements":[[2," "],[8,"gh-form-group",[[24,0,"nt3"],[24,"data-test-visibility-segment-select",""]],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"tiers"]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-post-settings-menu/visibility-segment-select",[],[["@tiers","@onChange","@renderInPlace","@hideOptionsWhenAllSelected"],[[32,0,["post","tiers"]],[30,[36,1],[[32,0],"setVisibility"],null],true,true]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","tiers"]],[["@errors","@property"],[[32,0,["post","errors"]],"tiers"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,20],[[30,[36,21],["editorExcerpt"],null]],null,[["default"],[{"statements":[[2," "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"customExcerpt"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","custom-excerpt"],[12],[2,"Excerpt"],[13],[2,"\\n "],[8,"gh-textarea",[[24,"data-test-field","custom-excerpt"]],[["@class","@id","@name","@value","@input","@focus-out","@stopEnterKeyDownPropagation"],["post-setting-custom-excerpt gh-input-x","custom-excerpt","post-setting-custom-excerpt",[30,[36,7],[[32,0,["customExcerptScratch"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["customExcerptScratch"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"setCustomExcerpt",[32,0,["customExcerptScratch"]]],null],"true"]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","custom-excerpt"]],[["@errors","@property"],[[32,0,["post","errors"]],"customExcerpt"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,20],[[32,0,["session","user","isAuthorOrContributor"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-form-group",[[24,0,"for-select mb8"],[24,"data-test-input","authors"]],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"authors"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","author-list"],[12],[2,"Authors"],[13],[2,"\\n "],[8,"gh-psm-authors-input",[],[["@triggerClass","@selectedAuthors","@updateAuthors","@triggerId"],["gh-input-x",[32,0,["post","authors"]],[30,[36,1],[[32,0],"changeAuthors"],null],"author-list"]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","authors"]],[["@errors","@property"],[[32,0,["post","errors"]],"authors"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-psm-template-select",[],[["@post","@onTemplateSelect"],[[32,0,["post"]],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["post","customTemplate"]]],null]],null]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[10,"ul"],[14,0,"nav-list"],[12],[2,"\\n"],[6,[37,8],[[30,[36,16],[[32,0,["post","isPage"]],[32,0,["post","lexical"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"nav-list-item"],[12],[2,"\\n "],[10,"div"],[14,0,"for-switch xs"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n "],[8,"icons/eye-open-close",[[24,0,"feature"]],[["@closed"],[[30,[36,15],[[32,0,["post","showTitleAndFeatureImage"]]],null]]],null],[2,"\\n Show title and feature image\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-toggle-featured"],[12],[2,"\\n "],[11,"input"],[16,"checked",[32,0,["post","showTitleAndFeatureImage"]]],[24,0,"gh-input post-settings-featured gh-input-x"],[24,"data-test-checkbox","hide-title-and-feature-image"],[24,4,"checkbox"],[4,[38,14],["change",[32,0,["toggleShowTitleAndFeatureImage"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,17],[[30,[36,16],[[30,[36,15],[[32,0,["post","showTitleAndFeatureImage"]]],null],[32,0,["themeMissingShowTitleAndFeatureImage"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"nav-list-item-notification"],[12],[2,"\\n Uh-oh. Looks like your theme doesn\'t support this feature.\\n "],[10,"a"],[14,6,"https://docs.ghost.org/themes/helpers/"],[12],[2,"Learn more"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,20],[[32,0,["session","user","isAuthorOrContributor"]]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"nav-list-item"],[12],[2,"\\n "],[10,"div"],[14,0,"for-switch xs"],[12],[2,"\\n "],[11,"label"],[24,0,"switch"],[24,"for","featured"],[4,[38,1],[[32,0],"toggleFeatured"],[["bubbles"],["false"]]],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n"],[6,[37,8],[[32,0,["post","featured"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,2],["star-fill"],[["class"],["feature"]]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[1,[30,[36,2],["star"],[["class"],["feature"]]]],[2,"\\n"]],"parameters":[]}]]],[2," Feature this "],[1,[32,0,["post","displayName"]]],[2,"\\n "],[13],[2,"\\n "],[10,"span"],[14,0,"gh-toggle-featured"],[12],[2,"\\n "],[10,"input"],[15,"checked",[32,0,["post","featured"]]],[14,0,"gh-input post-settings-featured gh-input-x"],[15,"onclick",[30,[36,1],[[32,0],[30,[36,4],[[32,0,["post","featured"]]],null]],[["value"],["target.checked"]]]],[14,"data-test-checkbox","featured"],[14,4,"checkbox"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,8],[[32,0,["canViewPostHistory"]]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"nav-list-item"],[12],[2,"\\n "],[11,"button"],[24,"data-test-toggle","post-history"],[24,4,"button"],[4,[38,14],["click",[32,0,["openPostHistory"]]],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,2],["history"],[["class"],["history"]]]],[2," "],[1,[30,[36,3],[[32,0,["post","displayName"]]],null]],[2," history"],[13],[2,"\\n "],[13],[2,"\\n "],[1,[30,[36,2],["arrow-right"],[["class"],["arrow-right"]]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"li"],[14,0,"nav-list-item"],[12],[2,"\\n "],[11,"button"],[24,"data-test-button","codeinjection"],[24,4,"button"],[4,[38,1],[[32,0],"showSubview","codeinjection"],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,2],["brackets"],null]],[2," Code injection"],[13],[2,"\\n "],[13],[2,"\\n "],[1,[30,[36,2],["arrow-right"],[["class"],["arrow-right"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"li"],[14,0,"nav-list-item"],[12],[2,"\\n "],[11,"button"],[24,"data-test-button","meta-data"],[24,4,"button"],[4,[38,1],[[32,0],"showSubview","meta-data"],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,2],["google-icon"],null]],[2," Meta data"],[13],[2,"\\n "],[13],[2,"\\n "],[1,[30,[36,2],["arrow-right"],[["class"],["arrow-right"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"li"],[14,0,"nav-list-item nav-list-item-twitter"],[12],[2,"\\n "],[11,"button"],[24,"data-test-button","twitter-data"],[24,4,"button"],[4,[38,1],[[32,0],"showSubview","twitter-data"],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,2],["x-logo"],null]],[2," X card"],[13],[2,"\\n "],[13],[2,"\\n "],[1,[30,[36,2],["arrow-right"],[["class"],["arrow-right"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"li"],[14,0,"nav-list-item"],[12],[2,"\\n "],[11,"button"],[24,"data-test-button","facebook-data"],[24,4,"button"],[4,[38,1],[[32,0],"showSubview","facebook-data"],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,2],["social-facebook"],null]],[2," Facebook card"],[13],[2,"\\n "],[13],[2,"\\n "],[1,[30,[36,2],["arrow-right"],[["class"],["arrow-right"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"li"],[14,0,"nav-list-item"],[12],[2,"\\n "],[11,"button"],[24,"data-test-button","keyboard-shortcuts"],[24,4,"button"],[4,[38,1],[[32,0],"showSubview","keyboard-shortcuts"],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,2],["keyboard"],null]],[2," Keyboard shortcuts"],[13],[2,"\\n "],[13],[2,"\\n "],[1,[30,[36,2],["arrow-right"],[["class"],["arrow-right"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,20],[[32,0,["post","isNew"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"settings-menu-delete-button"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-outline gh-btn-icon gh-btn-fullwidth"],[24,"data-test-button","delete-post"],[24,4,"button"],[4,[38,1],[[32,0],"deletePostInternal"],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,2],["trash"],null]],[2," Delete "],[1,[32,0,["post","displayName"]]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,8],[[32,0,["isViewingSubview"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["settings-menu settings-menu-pane ",[30,[36,8],[[30,[36,13],[[30,[36,12],[[32,0,["subview"]],"codeinjection"],null],[30,[36,12],[[32,0,["subview"]],"meta-data"],null],[30,[36,12],[[32,0,["subview"]],"twitter-data"],null],[30,[36,12],[[32,0,["subview"]],"facebook-data"],null]],null],"settings-menu-pane-wide"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"active"],[12],[2,"\\n"],[6,[37,8],[[30,[36,12],[[32,0,["subview"]],"keyboard-shortcuts"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"settings-menu-header subview"],[12],[2,"\\n "],[11,"button"],[24,"aria-label","Close Facebook card panel"],[24,0,"back settings-menu-header-action"],[24,"data-test-button","close-psm-subview"],[24,4,"button"],[4,[38,1],[[32,0],"closeSubview"],null],[12],[1,[30,[36,2],["arrow-left"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Back"],[13],[13],[2,"\\n "],[10,"h4"],[12],[2,"Keyboard shortcuts"],[13],[2,"\\n "],[10,"div"],[14,5,"width:23px;"],[12],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"settings-menu-content keyboard-shortcuts"],[12],[2,"\\n "],[10,"form"],[14,0,"gh-post-settings"],[12],[2,"\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[12],[2,"Formatting"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[10,"strong"],[12],[2,"Bold"],[13],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"B"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[10,"em"],[12],[2,"Emphasize"],[13],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"I"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[10,"u"],[12],[2,"Underline"],[13],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"U"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[10,"s"],[12],[2,"Strike through"],[13],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-symbol",[],[[],[]],null],[2,"\\n "],[8,"gh-post-settings-menu/option-or-alt",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"U"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[10,"mark"],[12],[2,"Highlight"],[13],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[8,"gh-post-settings-menu/option-or-alt",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"H"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[14,0,"link"],[12],[2,"Link"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"K"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[14,0,"code"],[12],[2,"Inline code"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-symbol",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Shift"],[12],[2,"⇧"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"K"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"List"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-symbol",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"L"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Ordered list"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-symbol",[],[[],[]],null],[2,"\\n "],[8,"gh-post-settings-menu/option-or-alt",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"L"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Quote"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-symbol",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"Q"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"H2"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-symbol",[],[[],[]],null],[2,"\\n "],[8,"gh-post-settings-menu/option-or-alt",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"2"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"H3"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-symbol",[],[[],[]],null],[2,"\\n "],[8,"gh-post-settings-menu/option-or-alt",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"3"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[12],[2,"Editing"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Toggle card edit mode"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Return"],[12],[2,"↩"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Paste without formatting"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Shift"],[12],[2,"⇧"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"V"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Indent"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"tab"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Unindent"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Shift"],[12],[2,"⇧"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"tab"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Line break"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Shift"],[12],[2,"⇧"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Return"],[12],[2,"↩"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Undo"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"Z"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Redo"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Shift"],[12],[2,"⇧"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"Z"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[12],[2,"Application"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Save"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"S"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Preview"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"P"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Publish"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[8,"gh-post-settings-menu/ctrl-or-cmd",[],[[],[]],null],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Shift"],[12],[2,"⇧"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"P"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[12],[2,"Inserting"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Code block"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"```"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Return"],[12],[2,"↩"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Language code block"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"```html"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key"],[14,"data-tooltip","Return"],[12],[2,"↩"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Emoji"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,":emoji_name:"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Image"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/image"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Markdown"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/md"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"HTML"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/html"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Gallery"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/gallery"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Divider"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"---"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key mono clear"],[12],[2,"or"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/hr"],[13],[2,"\\n\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Bookmark"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/bookmark [url]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Public preview"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/paywall"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Button"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/button"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Callout"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/callout"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Toggle"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/toggle"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Video"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/video"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Audio"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/audio"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"File"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/file"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Product"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/product"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Header"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/header"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"GIF"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/gif"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Signup"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/signup"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"YouTube"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/youtube [url]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"X (Twitter)"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/twitter [url]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Unsplash"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/unsplash"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Vimeo"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/vimeo [url]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"CodePen"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/codepen [url]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Spotify"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/spotify [url]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"SoundCloud"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/soundcloud [url]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-shortcut"],[12],[2,"\\n "],[10,"div"],[12],[2,"Other embed"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-keys"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-key mono"],[12],[2,"/embed [url]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n\\n\\n"],[6,[37,8],[[30,[36,12],[[32,0,["subview"]],"meta-data"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"settings-menu-header subview"],[12],[2,"\\n "],[11,"button"],[24,"aria-label","Close meta data panel"],[24,0,"back settings-menu-header-action"],[24,"data-test-button","close-psm-subview"],[24,4,"button"],[4,[38,1],[[32,0],"closeSubview"],null],[12],[1,[30,[36,2],["arrow-left"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Back"],[13],[13],[2,"\\n "],[10,"h4"],[12],[2,"Meta data"],[13],[2,"\\n "],[10,"div"],[14,5,"width:23px;"],[12],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"settings-menu-content"],[12],[2,"\\n "],[11,"form"],[24,0,"gh-post-settings"],[24,"aria-label","Meta data settings"],[4,[38,1],[[32,0],"discardEnter"],[["on"],["submit"]]],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"metaTitle"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","meta-title"],[12],[2,"Meta title"],[13],[2,"\\n "],[8,"gh-text-input",[[24,"data-test-field","meta-title"]],[["@class","@id","@name","@placeholder","@value","@input","@focus-out","@stopEnterKeyDownPropagation"],["post-setting-meta-title gh-input-x","meta-title","post-setting-meta-title",[32,0,["seoTitle"]],[30,[36,7],[[32,0,["metaTitleScratch"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["metaTitleScratch"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"setMetaTitle",[32,0,["metaTitleScratch"]]],null],true]],null],[2,"\\n "],[10,"p"],[12],[2,"Recommended: "],[10,"b"],[12],[2,"60"],[13],[2," characters. You\'ve used "],[1,[30,[36,9],[[32,0,["metaTitleScratch"]],60],null]],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["post","errors"]],"meta-title"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"metaDescription"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","meta-description"],[12],[2,"Meta description"],[13],[2,"\\n "],[8,"gh-textarea",[[24,"data-test-field","meta-description"]],[["@class","@id","@name","@placeholder","@value","@input","@focus-out","@stopEnterKeyDownPropagation"],["post-setting-meta-description gh-input-x","meta-description","post-setting-meta-description",[30,[36,6],[[32,0,["seoDescription"]],150],null],[30,[36,7],[[32,0,["metaDescriptionScratch"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["metaDescriptionScratch"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"setMetaDescription",[32,0,["metaDescriptionScratch"]]],null],"true"]],null],[2,"\\n "],[10,"p"],[12],[2,"Recommended: "],[10,"b"],[12],[2,"145"],[13],[2," characters. You\'ve used "],[1,[30,[36,9],[[32,0,["metaDescriptionScratch"]],145],null]],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["post","errors"]],"meta-description"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"canonicalUrl"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","canonicalUrl"],[12],[2,"Canonical URL"],[13],[2,"\\n "],[8,"gh-text-input",[[24,"data-test-field","canonicalUrl"]],[["@class","@name","@placeholder","@value","@input","@focus-out","@stopEnterKeyDownPropagation"],["post-setting-canonicalUrl gh-input-x","post-setting-canonicalUrl",[32,0,["post","url"]],[30,[36,7],[[32,0,["canonicalUrlScratch"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["canonicalUrlScratch"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"setCanonicalUrl",[32,0,["canonicalUrlScratch"]]],null],"true"]],null],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["post","errors"]],"canonicalUrl"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"div"],[14,0,"form-group"],[12],[2,"\\n "],[10,"label"],[12],[2,"Search Engine Result Preview"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-seo-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-seo-preview"],[12],[2,"\\n "],[10,"div"],[14,0,"flex mb7"],[12],[2,"\\n "],[1,[30,[36,2],["google"],null]],[2,"\\n "],[10,"div"],[14,0,"gh-seo-search-bar"],[12],[1,[30,[36,2],["google-search"],null]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-seo-preview-link"],[12],[1,[32,0,["seoURL"]]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-seo-preview-title"],[12],[1,[30,[36,6],[[32,0,["seoTitle"]],60],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-seo-preview-desc"],[12],[1,[30,[36,11],[[30,[36,10],null,null],"DD MMM YYYY"],null]],[2," — "],[6,[37,8],[[32,0,["seoDescription"]]],null,[["default","else"],[{"statements":[[1,[30,[36,6],[[32,0,["seoDescription"]],149],null]]],"parameters":[]},{"statements":[[2,"Search engines will automatically show a custom preview of content related to the search term here if no custom meta description is set."]],"parameters":[]}]]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[30,[36,12],[[32,0,["subview"]],"twitter-data"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"settings-menu-header subview"],[12],[2,"\\n "],[11,"button"],[24,"aria-label","Close Twitter card panel"],[24,0,"back settings-menu-header-action"],[24,"data-test-button","close-psm-subview"],[24,4,"button"],[4,[38,1],[[32,0],"closeSubview"],null],[12],[1,[30,[36,2],["arrow-left"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Back"],[13],[13],[2,"\\n "],[10,"h4"],[12],[2,"X card"],[13],[2,"\\n "],[10,"div"],[14,5,"width:23px;"],[12],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"settings-menu-content"],[12],[2,"\\n\\n "],[11,"form"],[24,0,"gh-post-settings"],[24,"aria-label","Twitter card settings"],[4,[38,1],[[32,0],"discardEnter"],[["on"],["submit"]]],[12],[2,"\\n "],[8,"gh-image-uploader-with-preview",[],[["@image","@text","@allowUnsplash","@update","@remove"],[[32,0,["post","twitterImage"]],"Add X image",true,[30,[36,1],[[32,0],"setTwitterImage"],null],[30,[36,1],[[32,0],"clearTwitterImage"],null]]],null],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"twitterTitle"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","twitter-title"],[12],[2,"X title"],[13],[2,"\\n "],[8,"gh-text-input",[[24,"data-test-field","twitter-title"]],[["@class","@id","@name","@placeholder","@value","@input","@focus-out","@stopEnterKeyDownPropagation"],["post-setting-twitter-title gh-input-x","twitter-title","post-setting-twitter-title",[30,[36,6],[[32,0,["twitterTitle"]],40],null],[30,[36,7],[[32,0,["twitterTitleScratch"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["twitterTitleScratch"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"setTwitterTitle",[32,0,["twitterTitleScratch"]]],null],true]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","twitter-title"]],[["@errors","@property"],[[32,0,["post","errors"]],"twitterTitle"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"twitterDescription"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","twitter-description"],[12],[2,"X description"],[13],[2,"\\n "],[8,"gh-textarea",[[24,"data-test-field","twitter-description"]],[["@class","@id","@name","@placeholder","@stopEnterKeyDownPropagation","@value","@input","@focus-out"],["post-setting-twitter-description gh-input-x","twitter-description","post-setting-twitter-description",[30,[36,6],[[32,0,["twitterDescription"]],150],null],"true",[30,[36,7],[[32,0,["twitterDescriptionScratch"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["twitterDescriptionScratch"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"setTwitterDescription",[32,0,["twitterDescriptionScratch"]]],null]]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","twitter-description"]],[["@errors","@property"],[[32,0,["post","errors"]],"twitterDescription"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"div"],[14,0,"form-group"],[12],[2,"\\n "],[10,"label"],[12],[2,"X preview"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-twitter-post-preview"],[12],[2,"\\n"],[6,[37,8],[[32,0,["twitterImage"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-social-twitter-preview-image"],[15,5,[30,[36,5],[[32,0,["twitterImage"]]],null]],[12],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-social-twitter-preview-content"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-social-twitter-preview-title"],[12],[1,[32,0,["twitterTitle"]]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-twitter-preview-desc"],[12],[1,[30,[36,6],[[32,0,["twitterDescription"]]],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-twitter-preview-meta"],[12],[2,"\\n "],[1,[30,[36,2],["twitter-link"],null]],[2,"\\n "],[1,[32,0,["config","blogDomain"]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[30,[36,12],[[32,0,["subview"]],"facebook-data"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"settings-menu-header subview"],[12],[2,"\\n "],[11,"button"],[24,"aria-label","Close Facebook card panel"],[24,0,"back settings-menu-header-action"],[24,"data-test-button","close-psm-subview"],[24,4,"button"],[4,[38,1],[[32,0],"closeSubview"],null],[12],[1,[30,[36,2],["arrow-left"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Back"],[13],[13],[2,"\\n "],[10,"h4"],[12],[2,"Facebook card"],[13],[2,"\\n "],[10,"div"],[14,5,"width:23px;"],[12],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"settings-menu-content"],[12],[2,"\\n "],[11,"form"],[24,0,"gh-post-settings"],[24,"aria-label","Facebook card settings"],[4,[38,1],[[32,0],"discardEnter"],[["on"],["submit"]]],[12],[2,"\\n "],[8,"gh-image-uploader-with-preview",[],[["@image","@text","@allowUnsplash","@update","@remove"],[[32,0,["post","ogImage"]],"Add Facebook image",true,[30,[36,1],[[32,0],"setOgImage"],null],[30,[36,1],[[32,0],"clearOgImage"],null]]],null],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"ogTitle"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","og-title"],[12],[2,"Facebook title"],[13],[2,"\\n "],[8,"gh-text-input",[[24,"data-test-field","og-title"]],[["@class","@id","@name","@placeholder","@value","@input","@focus-out","@stopEnterKeyDownPropagation"],["post-setting-og-title gh-input-x","og-title","post-setting-og-title",[30,[36,6],[[32,0,["facebookTitle"]],40],null],[30,[36,7],[[32,0,["ogTitleScratch"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["ogTitleScratch"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"setOgTitle",[32,0,["ogTitleScratch"]]],null],true]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","og-title"]],[["@errors","@property"],[[32,0,["post","errors"]],"ogTitle"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"ogDescription"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","og-description"],[12],[2,"Facebook description"],[13],[2,"\\n "],[8,"gh-textarea",[[24,"data-test-field","og-description"]],[["@class","@id","@name","@placeholder","@value","@input","@focus-out","@stopEnterKeyDownPropagation"],["post-setting-og-description gh-input-x","og-description","post-setting-og-description",[30,[36,6],[[32,0,["facebookDescription"]],150],null],[30,[36,7],[[32,0,["ogDescriptionScratch"]]],null],[30,[36,1],[[32,0],[30,[36,4],[[32,0,["ogDescriptionScratch"]]],null]],[["value"],["target.value"]]],[30,[36,1],[[32,0],"setOgDescription",[32,0,["ogDescriptionScratch"]]],null],"true"]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","og-description"]],[["@errors","@property"],[[32,0,["post","errors"]],"ogDescription"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"div"],[14,0,"form-group"],[12],[2,"\\n "],[10,"label"],[12],[2,"Facebook preview"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-preview no-container"],[12],[2,"\\n"],[6,[37,8],[[32,0,["facebookImage"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-social-og-preview-image"],[15,5,[30,[36,5],[[32,0,["facebookImage"]]],null]],[12],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-social-og-preview-bookmark"],[12],[2,"\\n"],[2," "],[10,"div"],[14,0,"gh-social-og-preview-content"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-preview-meta"],[12],[2,"\\n "],[1,[32,0,["config","blogDomain"]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-preview-title"],[12],[1,[30,[36,6],[[32,0,["facebookTitle"]]],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-preview-desc"],[12],[1,[30,[36,6],[[32,0,["facebookDescription"]]],null]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[30,[36,12],[[32,0,["subview"]],"codeinjection"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"settings-menu-header subview"],[12],[2,"\\n "],[11,"button"],[24,"aria-label","Close code injection panel"],[24,0,"back settings-menu-header-action"],[24,"data-test-button","close-psm-subview"],[24,4,"button"],[4,[38,1],[[32,0],"closeSubview"],null],[12],[1,[30,[36,2],["arrow-left"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Back"],[13],[13],[2,"\\n "],[10,"h4"],[12],[2,"Code injection"],[13],[2,"\\n "],[10,"div"],[14,5,"width:23px;"],[12],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"settings-menu-content settings-menu-content-codeinjection"],[12],[2,"\\n "],[11,"form"],[24,0,"gh-post-settings"],[24,"aria-label","Code injection settings"],[4,[38,1],[[32,0],"discardEnter"],[["on"],["submit"]]],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"codeinjectionHead"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","codeinjection-head"],[12],[1,[30,[36,3],[[32,0,["post","displayName"]]],null]],[2," header "],[10,"code"],[12],[2,"{{ghost_head}}"],[13],[13],[2,"\\n "],[8,"gh-cm-editor",[[24,"data-test-field","codeinjection-head"]],[["@value","@id","@class","@name","@focusOut","@stopEnterKeyDownPropagation","@update"],[[32,0,["codeinjectionHeadScratch"]],"post-setting-codeinjection-head","post-setting-codeinjection","post-setting-codeinjection-head",[30,[36,1],[[32,0],"setHeaderInjection",[32,0,["codeinjectionHeadScratch"]]],null],"true",[30,[36,1],[[32,0],[30,[36,4],[[32,0,["codeinjectionHeadScratch"]]],null]],null]]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","codeinjection-head"]],[["@errors","@property"],[[32,0,["post","errors"]],"codeinjectionHead"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["post","errors"]],[32,0,["post","hasValidated"]],"codeinjectionFoot"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","codeinjection-foot"],[12],[1,[30,[36,3],[[32,0,["post","displayName"]]],null]],[2," footer "],[10,"code"],[12],[2,"{{ghost_foot}}"],[13],[13],[2,"\\n "],[8,"gh-cm-editor",[[24,"data-test-field","codeinjection-foot"]],[["@value","@id","@class","@name","@focusOut","@stopEnterKeyDownPropagation","@update"],[[32,0,["codeinjectionFootScratch"]],"post-setting-codeinjection-foot","post-setting-codeinjection","post-setting-codeinjection-foot",[30,[36,1],[[32,0],"setFooterInjection",[32,0,["codeinjectionFootScratch"]]],null],"true",[30,[36,1],[[32,0],[30,[36,4],[[32,0,["codeinjectionFootScratch"]]],null]],null]]],null],[2,"\\n "],[8,"gh-error-message",[[24,"data-test-error","codeinjection-foot"]],[["@errors","@property"],[[32,0,["post","errors"]],"codeinjectionFoot"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[32,0,["showPostHistory"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-fullscreen-modal",[],[["@modal","@model","@close","@modifier"],["post-history",[30,[36,0],null,[["post","editorAPI","toggleSettingsMenu","secondaryEditorAPI"],[[32,0,["post"]],[32,0,["editorAPI"]],[32,0,["toggleSettingsMenu"]],[32,0,["secondaryEditorAPI"]]]]],[32,0,["closePostHistory"]],"total-overlay post-history"]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["hash","action","svg-jar","capitalize","mut","background-image-style","truncate","readonly","if","gh-count-down-characters","now","moment-format","eq","or","on","not","and","liquid-if","did-insert","did-update","unless","feature"]}',moduleName:"ghost-admin/components/gh-post-settings-menu.hbs"})
686
- let et=e.default=(o=(0,n.tagName)(""),a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember._tracked,g=Ember.computed.alias("post.canonicalUrlScratch"),v=Ember.computed.alias("post.customExcerptScratch"),y=Ember.computed.alias("post.codeinjectionFootScratch"),w=Ember.computed.alias("post.codeinjectionHeadScratch"),E=Ember.computed.alias("post.metaDescriptionScratch"),P=Ember.computed.alias("post.metaTitleScratch"),_=Ember.computed.alias("post.ogDescriptionScratch"),O=Ember.computed.alias("post.ogTitleScratch"),j=Ember.computed.alias("post.twitterDescriptionScratch"),k=Ember.computed.alias("post.twitterTitleScratch"),T=(0,t.default)("post.slug"),z=(0,t.default)("post.uuid"),S=Ember.computed.or("metaDescriptionScratch","customExcerptScratch"),x=Ember.computed.or("ogDescriptionScratch","customExcerptScratch","seoDescription","post.excerpt","settings.description",""),C=Ember.computed.or("post.ogImage","post.featureImage","settings.ogImage","settings.coverImage"),M=Ember.computed.or("ogTitleScratch","seoTitle"),A=Ember.computed.or("twitterDescriptionScratch","customExcerptScratch","seoDescription","post.excerpt","settings.description",""),D=Ember.computed.or("post.twitterImage","post.featureImage","settings.twitterImage","settings.coverImage"),I=Ember.computed.or("twitterTitleScratch","seoTitle"),R=Ember.computed.or("session.user.isOwnerOnly","session.user.isAdminOnly","session.user.isEitherEditor"),L=Ember.computed("metaTitleScratch","post.titleScratch"),N=Ember.computed("post.{slug,canonicalUrl}","config.blogUrl"),F=Ember._action,U=Ember._action,B=Ember._action,H=Ember._action,V=Ember._action,q=Ember._action,$=Ember._action,W=Ember._action,K=Ember._action,Y=Ember._action,G=Ember._action,J=Ember._action,Q=Ember._action,X=Ember._action,Z=Ember._action,ee=Ember._action,te=Ember._action,ie=Ember._action,re=Ember._action,ne=Ember._action,oe=Ember._action,ae=Ember._action,se=Ember._action,le=Ember._action,ue=Ember._action,ce=Ember._action,de=Ember._action,pe=Ember._action,me=Ember._action,he=Ember._action,be=Ember._action,o((ge=class extends Ember.Component{constructor(...e){super(...e),Je(this,"feature",ve,this),Je(this,"store",ye,this),Je(this,"ajax",we,this),Je(this,"ghostPaths",Ee,this),Je(this,"notifications",Pe,this),Je(this,"slugGenerator",_e,this),Je(this,"session",Oe,this),Je(this,"settings",je,this),Je(this,"themeManagement",ke,this),Je(this,"ui",Te,this),Je(this,"config",ze,this),Je(this,"showPostHistory",Se,this),Qe(this,"post",null),Qe(this,"isViewingSubview",!1),Je(this,"canonicalUrlScratch",xe,this),Je(this,"customExcerptScratch",Ce,this),Je(this,"codeinjectionFootScratch",Me,this),Je(this,"codeinjectionHeadScratch",Ae,this),Je(this,"metaDescriptionScratch",De,this),Je(this,"metaTitleScratch",Ie,this),Je(this,"ogDescriptionScratch",Re,this),Je(this,"ogTitleScratch",Le,this),Je(this,"twitterDescriptionScratch",Ne,this),Je(this,"twitterTitleScratch",Fe,this),Je(this,"slugValue",Ue,this),Je(this,"uuidValue",Be,this),Je(this,"seoDescription",He,this),Je(this,"facebookDescription",Ve,this),Je(this,"facebookImage",qe,this)
684
+ let et=e.default=(o=(0,n.tagName)(""),a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember._tracked,g=Ember.computed.alias("post.canonicalUrlScratch"),v=Ember.computed.alias("post.customExcerptScratch"),y=Ember.computed.alias("post.codeinjectionFootScratch"),w=Ember.computed.alias("post.codeinjectionHeadScratch"),E=Ember.computed.alias("post.metaDescriptionScratch"),P=Ember.computed.alias("post.metaTitleScratch"),_=Ember.computed.alias("post.ogDescriptionScratch"),O=Ember.computed.alias("post.ogTitleScratch"),j=Ember.computed.alias("post.twitterDescriptionScratch"),k=Ember.computed.alias("post.twitterTitleScratch"),T=(0,t.default)("post.slug"),z=(0,t.default)("post.uuid"),x=Ember.computed.or("metaDescriptionScratch","customExcerptScratch"),S=Ember.computed.or("ogDescriptionScratch","customExcerptScratch","seoDescription","post.excerpt","settings.description",""),C=Ember.computed.or("post.ogImage","post.featureImage","settings.ogImage","settings.coverImage"),M=Ember.computed.or("ogTitleScratch","seoTitle"),A=Ember.computed.or("twitterDescriptionScratch","customExcerptScratch","seoDescription","post.excerpt","settings.description",""),D=Ember.computed.or("post.twitterImage","post.featureImage","settings.twitterImage","settings.coverImage"),I=Ember.computed.or("twitterTitleScratch","seoTitle"),R=Ember.computed.or("session.user.isOwnerOnly","session.user.isAdminOnly","session.user.isEitherEditor"),L=Ember.computed("metaTitleScratch","post.titleScratch"),N=Ember.computed("post.{slug,canonicalUrl}","config.blogUrl"),F=Ember._action,U=Ember._action,B=Ember._action,H=Ember._action,V=Ember._action,q=Ember._action,$=Ember._action,W=Ember._action,K=Ember._action,Y=Ember._action,G=Ember._action,J=Ember._action,Q=Ember._action,X=Ember._action,Z=Ember._action,ee=Ember._action,te=Ember._action,ie=Ember._action,re=Ember._action,ne=Ember._action,oe=Ember._action,ae=Ember._action,se=Ember._action,le=Ember._action,ue=Ember._action,ce=Ember._action,de=Ember._action,pe=Ember._action,me=Ember._action,he=Ember._action,be=Ember._action,o((ge=class extends Ember.Component{constructor(...e){super(...e),Je(this,"feature",ve,this),Je(this,"store",ye,this),Je(this,"ajax",we,this),Je(this,"ghostPaths",Ee,this),Je(this,"notifications",Pe,this),Je(this,"slugGenerator",_e,this),Je(this,"session",Oe,this),Je(this,"settings",je,this),Je(this,"themeManagement",ke,this),Je(this,"ui",Te,this),Je(this,"config",ze,this),Je(this,"showPostHistory",xe,this),Qe(this,"post",null),Qe(this,"isViewingSubview",!1),Je(this,"canonicalUrlScratch",Se,this),Je(this,"customExcerptScratch",Ce,this),Je(this,"codeinjectionFootScratch",Me,this),Je(this,"codeinjectionHeadScratch",Ae,this),Je(this,"metaDescriptionScratch",De,this),Je(this,"metaTitleScratch",Ie,this),Je(this,"ogDescriptionScratch",Re,this),Je(this,"ogTitleScratch",Le,this),Je(this,"twitterDescriptionScratch",Ne,this),Je(this,"twitterTitleScratch",Fe,this),Je(this,"slugValue",Ue,this),Je(this,"uuidValue",Be,this),Je(this,"seoDescription",He,this),Je(this,"facebookDescription",Ve,this),Je(this,"facebookImage",qe,this)
687
685
  Je(this,"facebookTitle",$e,this),Je(this,"twitterDescription",We,this),Je(this,"twitterImage",Ke,this),Je(this,"twitterTitle",Ye,this),Je(this,"showVisibilityInput",Ge,this)}get seoTitle(){return this.metaTitleScratch||this.post.titleScratch||"(Untitled)"}get seoURL(){const e=[]
688
686
  if(this.post.canonicalUrl)try{const t=new URL(this.post.canonicalUrl)
689
687
  e.push(t.host),e.push(...t.pathname.split("/").reject(e=>!e))}catch(t){}else{const t=new URL(this.config.blogUrl)
@@ -706,7 +704,7 @@ if(t.get("ogDescription")!==e)return t.set("ogDescription",e),t.validate({proper
706
704
  if(t.get("twitterTitle")!==e)return t.set("twitterTitle",e),t.validate({property:"twitterTitle"}).then(()=>{if(!t.get("isNew"))return this.savePostTask.perform()})}setTwitterDescription(e){const t=this.post
707
705
  if(t.get("twitterDescription")!==e)return t.set("twitterDescription",e),t.validate({property:"twitterDescription"}).then(()=>{if(!t.get("isNew"))return this.savePostTask.perform()})}setCoverImage(e){this.set("post.featureImage",e),this.get("post.isNew")||this.savePostTask.perform().catch(e=>{this.showError(e),this.post.rollbackAttributes()})}clearCoverImage(){this.set("post.featureImage",""),this.get("post.isNew")||this.savePostTask.perform().catch(e=>{this.showError(e),this.post.rollbackAttributes()})}setOgImage(e){this.set("post.ogImage",e),this.get("post.isNew")||this.savePostTask.perform().catch(e=>{this.showError(e),this.post.rollbackAttributes()})}clearOgImage(){this.set("post.ogImage",""),this.get("post.isNew")||this.savePostTask.perform().catch(e=>{this.showError(e),this.post.rollbackAttributes()})}setTwitterImage(e){this.set("post.twitterImage",e),this.get("post.isNew")||this.savePostTask.perform().catch(e=>{this.showError(e),this.post.rollbackAttributes()})}clearTwitterImage(){this.set("post.twitterImage",""),this.get("post.isNew")||this.savePostTask.perform().catch(e=>{this.showError(e),this.post.rollbackAttributes()})}changeAuthors(e){const t=this.post
708
706
  e.mapBy("id").join()!==t.get("authors").mapBy("id").join()&&(t.set("authors",e),t.validate({property:"authors"}),t.get("isNew")||this.savePostTask.perform().catch(e=>{this.showError(e),t.rollbackAttributes()}))}savePost(){this.savePostTask.perform().catch(e=>{this.showError(e),this.post.rollbackAttributes()})}deletePostInternal(){this.deletePost&&this.deletePost()}setSidebarWidthFromElement(e){const t=e.getBoundingClientRect().width
709
- this.setSidebarWidthVariable(t)}showError(e){e&&this.notifications.showAPIError(e)}setSidebarWidthVariable(e){document.documentElement.style.setProperty("--editor-sidebar-width",`${e}px`),document.documentElement.style.setProperty("--kg-breakout-adjustment",`${e}px`)}},ve=Xe(ge.prototype,"feature",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ye=Xe(ge.prototype,"store",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),we=Xe(ge.prototype,"ajax",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ee=Xe(ge.prototype,"ghostPaths",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Pe=Xe(ge.prototype,"notifications",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_e=Xe(ge.prototype,"slugGenerator",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Oe=Xe(ge.prototype,"session",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),je=Xe(ge.prototype,"settings",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ke=Xe(ge.prototype,"themeManagement",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Te=Xe(ge.prototype,"ui",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ze=Xe(ge.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Se=Xe(ge.prototype,"showPostHistory",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),xe=Xe(ge.prototype,"canonicalUrlScratch",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ce=Xe(ge.prototype,"customExcerptScratch",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Me=Xe(ge.prototype,"codeinjectionFootScratch",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae=Xe(ge.prototype,"codeinjectionHeadScratch",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),De=Xe(ge.prototype,"metaDescriptionScratch",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ie=Xe(ge.prototype,"metaTitleScratch",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=Xe(ge.prototype,"ogDescriptionScratch",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Le=Xe(ge.prototype,"ogTitleScratch",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ne=Xe(ge.prototype,"twitterDescriptionScratch",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Fe=Xe(ge.prototype,"twitterTitleScratch",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ue=Xe(ge.prototype,"slugValue",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Be=Xe(ge.prototype,"uuidValue",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),He=Xe(ge.prototype,"seoDescription",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ve=Xe(ge.prototype,"facebookDescription",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qe=Xe(ge.prototype,"facebookImage",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$e=Xe(ge.prototype,"facebookTitle",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),We=Xe(ge.prototype,"twitterDescription",[A],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ke=Xe(ge.prototype,"twitterImage",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ye=Xe(ge.prototype,"twitterTitle",[I],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ge=Xe(ge.prototype,"showVisibilityInput",[R],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xe(ge.prototype,"seoTitle",[L],Object.getOwnPropertyDescriptor(ge.prototype,"seoTitle"),ge.prototype),Xe(ge.prototype,"seoURL",[N],Object.getOwnPropertyDescriptor(ge.prototype,"seoURL"),ge.prototype),Xe(ge.prototype,"showSubview",[F],Object.getOwnPropertyDescriptor(ge.prototype,"showSubview"),ge.prototype),Xe(ge.prototype,"closeSubview",[U],Object.getOwnPropertyDescriptor(ge.prototype,"closeSubview"),ge.prototype),Xe(ge.prototype,"discardEnter",[B],Object.getOwnPropertyDescriptor(ge.prototype,"discardEnter"),ge.prototype),Xe(ge.prototype,"toggleFeatured",[H],Object.getOwnPropertyDescriptor(ge.prototype,"toggleFeatured"),ge.prototype),Xe(ge.prototype,"toggleShowTitleAndFeatureImage",[V],Object.getOwnPropertyDescriptor(ge.prototype,"toggleShowTitleAndFeatureImage"),ge.prototype),Xe(ge.prototype,"openPostHistory",[q],Object.getOwnPropertyDescriptor(ge.prototype,"openPostHistory"),ge.prototype),Xe(ge.prototype,"closePostHistory",[$],Object.getOwnPropertyDescriptor(ge.prototype,"closePostHistory"),ge.prototype),Xe(ge.prototype,"updateSlug",[W],Object.getOwnPropertyDescriptor(ge.prototype,"updateSlug"),ge.prototype),Xe(ge.prototype,"setPublishedAtBlogDate",[K],Object.getOwnPropertyDescriptor(ge.prototype,"setPublishedAtBlogDate"),ge.prototype),Xe(ge.prototype,"setVisibility",[Y],Object.getOwnPropertyDescriptor(ge.prototype,"setVisibility"),ge.prototype),Xe(ge.prototype,"setPublishedAtBlogTime",[G],Object.getOwnPropertyDescriptor(ge.prototype,"setPublishedAtBlogTime"),ge.prototype),Xe(ge.prototype,"setCustomExcerpt",[J],Object.getOwnPropertyDescriptor(ge.prototype,"setCustomExcerpt"),ge.prototype),Xe(ge.prototype,"setHeaderInjection",[Q],Object.getOwnPropertyDescriptor(ge.prototype,"setHeaderInjection"),ge.prototype),Xe(ge.prototype,"setFooterInjection",[X],Object.getOwnPropertyDescriptor(ge.prototype,"setFooterInjection"),ge.prototype),Xe(ge.prototype,"setMetaTitle",[Z],Object.getOwnPropertyDescriptor(ge.prototype,"setMetaTitle"),ge.prototype),Xe(ge.prototype,"setMetaDescription",[ee],Object.getOwnPropertyDescriptor(ge.prototype,"setMetaDescription"),ge.prototype),Xe(ge.prototype,"setCanonicalUrl",[te],Object.getOwnPropertyDescriptor(ge.prototype,"setCanonicalUrl"),ge.prototype),Xe(ge.prototype,"setOgTitle",[ie],Object.getOwnPropertyDescriptor(ge.prototype,"setOgTitle"),ge.prototype),Xe(ge.prototype,"setOgDescription",[re],Object.getOwnPropertyDescriptor(ge.prototype,"setOgDescription"),ge.prototype),Xe(ge.prototype,"setTwitterTitle",[ne],Object.getOwnPropertyDescriptor(ge.prototype,"setTwitterTitle"),ge.prototype),Xe(ge.prototype,"setTwitterDescription",[oe],Object.getOwnPropertyDescriptor(ge.prototype,"setTwitterDescription"),ge.prototype),Xe(ge.prototype,"setCoverImage",[ae],Object.getOwnPropertyDescriptor(ge.prototype,"setCoverImage"),ge.prototype),Xe(ge.prototype,"clearCoverImage",[se],Object.getOwnPropertyDescriptor(ge.prototype,"clearCoverImage"),ge.prototype),Xe(ge.prototype,"setOgImage",[le],Object.getOwnPropertyDescriptor(ge.prototype,"setOgImage"),ge.prototype),Xe(ge.prototype,"clearOgImage",[ue],Object.getOwnPropertyDescriptor(ge.prototype,"clearOgImage"),ge.prototype),Xe(ge.prototype,"setTwitterImage",[ce],Object.getOwnPropertyDescriptor(ge.prototype,"setTwitterImage"),ge.prototype),Xe(ge.prototype,"clearTwitterImage",[de],Object.getOwnPropertyDescriptor(ge.prototype,"clearTwitterImage"),ge.prototype),Xe(ge.prototype,"changeAuthors",[pe],Object.getOwnPropertyDescriptor(ge.prototype,"changeAuthors"),ge.prototype),Xe(ge.prototype,"savePost",[me],Object.getOwnPropertyDescriptor(ge.prototype,"savePost"),ge.prototype),Xe(ge.prototype,"deletePostInternal",[he],Object.getOwnPropertyDescriptor(ge.prototype,"deletePostInternal"),ge.prototype),Xe(ge.prototype,"setSidebarWidthFromElement",[be],Object.getOwnPropertyDescriptor(ge.prototype,"setSidebarWidthFromElement"),ge.prototype),fe=ge))||fe)
707
+ this.setSidebarWidthVariable(t)}showError(e){e&&this.notifications.showAPIError(e)}setSidebarWidthVariable(e){document.documentElement.style.setProperty("--editor-sidebar-width",`${e}px`),document.documentElement.style.setProperty("--kg-breakout-adjustment",`${e}px`)}},ve=Xe(ge.prototype,"feature",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ye=Xe(ge.prototype,"store",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),we=Xe(ge.prototype,"ajax",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ee=Xe(ge.prototype,"ghostPaths",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Pe=Xe(ge.prototype,"notifications",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_e=Xe(ge.prototype,"slugGenerator",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Oe=Xe(ge.prototype,"session",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),je=Xe(ge.prototype,"settings",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ke=Xe(ge.prototype,"themeManagement",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Te=Xe(ge.prototype,"ui",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ze=Xe(ge.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),xe=Xe(ge.prototype,"showPostHistory",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Se=Xe(ge.prototype,"canonicalUrlScratch",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ce=Xe(ge.prototype,"customExcerptScratch",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Me=Xe(ge.prototype,"codeinjectionFootScratch",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae=Xe(ge.prototype,"codeinjectionHeadScratch",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),De=Xe(ge.prototype,"metaDescriptionScratch",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ie=Xe(ge.prototype,"metaTitleScratch",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=Xe(ge.prototype,"ogDescriptionScratch",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Le=Xe(ge.prototype,"ogTitleScratch",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ne=Xe(ge.prototype,"twitterDescriptionScratch",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Fe=Xe(ge.prototype,"twitterTitleScratch",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ue=Xe(ge.prototype,"slugValue",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Be=Xe(ge.prototype,"uuidValue",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),He=Xe(ge.prototype,"seoDescription",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ve=Xe(ge.prototype,"facebookDescription",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qe=Xe(ge.prototype,"facebookImage",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$e=Xe(ge.prototype,"facebookTitle",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),We=Xe(ge.prototype,"twitterDescription",[A],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ke=Xe(ge.prototype,"twitterImage",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ye=Xe(ge.prototype,"twitterTitle",[I],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ge=Xe(ge.prototype,"showVisibilityInput",[R],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xe(ge.prototype,"seoTitle",[L],Object.getOwnPropertyDescriptor(ge.prototype,"seoTitle"),ge.prototype),Xe(ge.prototype,"seoURL",[N],Object.getOwnPropertyDescriptor(ge.prototype,"seoURL"),ge.prototype),Xe(ge.prototype,"showSubview",[F],Object.getOwnPropertyDescriptor(ge.prototype,"showSubview"),ge.prototype),Xe(ge.prototype,"closeSubview",[U],Object.getOwnPropertyDescriptor(ge.prototype,"closeSubview"),ge.prototype),Xe(ge.prototype,"discardEnter",[B],Object.getOwnPropertyDescriptor(ge.prototype,"discardEnter"),ge.prototype),Xe(ge.prototype,"toggleFeatured",[H],Object.getOwnPropertyDescriptor(ge.prototype,"toggleFeatured"),ge.prototype),Xe(ge.prototype,"toggleShowTitleAndFeatureImage",[V],Object.getOwnPropertyDescriptor(ge.prototype,"toggleShowTitleAndFeatureImage"),ge.prototype),Xe(ge.prototype,"openPostHistory",[q],Object.getOwnPropertyDescriptor(ge.prototype,"openPostHistory"),ge.prototype),Xe(ge.prototype,"closePostHistory",[$],Object.getOwnPropertyDescriptor(ge.prototype,"closePostHistory"),ge.prototype),Xe(ge.prototype,"updateSlug",[W],Object.getOwnPropertyDescriptor(ge.prototype,"updateSlug"),ge.prototype),Xe(ge.prototype,"setPublishedAtBlogDate",[K],Object.getOwnPropertyDescriptor(ge.prototype,"setPublishedAtBlogDate"),ge.prototype),Xe(ge.prototype,"setVisibility",[Y],Object.getOwnPropertyDescriptor(ge.prototype,"setVisibility"),ge.prototype),Xe(ge.prototype,"setPublishedAtBlogTime",[G],Object.getOwnPropertyDescriptor(ge.prototype,"setPublishedAtBlogTime"),ge.prototype),Xe(ge.prototype,"setCustomExcerpt",[J],Object.getOwnPropertyDescriptor(ge.prototype,"setCustomExcerpt"),ge.prototype),Xe(ge.prototype,"setHeaderInjection",[Q],Object.getOwnPropertyDescriptor(ge.prototype,"setHeaderInjection"),ge.prototype),Xe(ge.prototype,"setFooterInjection",[X],Object.getOwnPropertyDescriptor(ge.prototype,"setFooterInjection"),ge.prototype),Xe(ge.prototype,"setMetaTitle",[Z],Object.getOwnPropertyDescriptor(ge.prototype,"setMetaTitle"),ge.prototype),Xe(ge.prototype,"setMetaDescription",[ee],Object.getOwnPropertyDescriptor(ge.prototype,"setMetaDescription"),ge.prototype),Xe(ge.prototype,"setCanonicalUrl",[te],Object.getOwnPropertyDescriptor(ge.prototype,"setCanonicalUrl"),ge.prototype),Xe(ge.prototype,"setOgTitle",[ie],Object.getOwnPropertyDescriptor(ge.prototype,"setOgTitle"),ge.prototype),Xe(ge.prototype,"setOgDescription",[re],Object.getOwnPropertyDescriptor(ge.prototype,"setOgDescription"),ge.prototype),Xe(ge.prototype,"setTwitterTitle",[ne],Object.getOwnPropertyDescriptor(ge.prototype,"setTwitterTitle"),ge.prototype),Xe(ge.prototype,"setTwitterDescription",[oe],Object.getOwnPropertyDescriptor(ge.prototype,"setTwitterDescription"),ge.prototype),Xe(ge.prototype,"setCoverImage",[ae],Object.getOwnPropertyDescriptor(ge.prototype,"setCoverImage"),ge.prototype),Xe(ge.prototype,"clearCoverImage",[se],Object.getOwnPropertyDescriptor(ge.prototype,"clearCoverImage"),ge.prototype),Xe(ge.prototype,"setOgImage",[le],Object.getOwnPropertyDescriptor(ge.prototype,"setOgImage"),ge.prototype),Xe(ge.prototype,"clearOgImage",[ue],Object.getOwnPropertyDescriptor(ge.prototype,"clearOgImage"),ge.prototype),Xe(ge.prototype,"setTwitterImage",[ce],Object.getOwnPropertyDescriptor(ge.prototype,"setTwitterImage"),ge.prototype),Xe(ge.prototype,"clearTwitterImage",[de],Object.getOwnPropertyDescriptor(ge.prototype,"clearTwitterImage"),ge.prototype),Xe(ge.prototype,"changeAuthors",[pe],Object.getOwnPropertyDescriptor(ge.prototype,"changeAuthors"),ge.prototype),Xe(ge.prototype,"savePost",[me],Object.getOwnPropertyDescriptor(ge.prototype,"savePost"),ge.prototype),Xe(ge.prototype,"deletePostInternal",[he],Object.getOwnPropertyDescriptor(ge.prototype,"deletePostInternal"),ge.prototype),Xe(ge.prototype,"setSidebarWidthFromElement",[be],Object.getOwnPropertyDescriptor(ge.prototype,"setSidebarWidthFromElement"),ge.prototype),fe=ge))||fe)
710
708
  Ember._setComponentTemplate(Ze,et)}),define("ghost-admin/components/gh-post-settings-menu/ctrl-or-cmd",["exports","@glimmer/component"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
711
709
  const i=Ember.HTMLBars.template({id:"z2l72zp1",block:'{"symbols":[],"statements":[[10,"span"],[15,0,[31,["gh-key ",[32,0,["class"]]]]],[15,"data-tooltip",[32,0,["tooltip"]]],[12],[1,[32,0,["character"]]],[13]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/components/gh-post-settings-menu/ctrl-or-cmd.hbs"}),r=window.navigator.platform.startsWith("Mac")
712
710
  class n extends t.default{get tooltip(){return r?"Command":""}get character(){const e=r?"&#8984;":"Ctrl"
@@ -1028,8 +1026,8 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
1028
1026
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1029
1027
  const k=Ember.HTMLBars.template({id:"fOpl72YH",block:'{"symbols":["&attrs","@onFocus","@onBlur","@onChangeHtml","@html","@placeholderText"],"statements":[[11,"div"],[17,1],[4,[38,1],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,0],null,[["placeholderText","html","onChangeHtml","onBlur","onFocus"],[[32,6],[32,5],[32,4],[32,3],[32,2]]]]]]],[12],[13]],"hasEval":false,"upvars":["hash","react-render"]}',moduleName:"ghost-admin/components/koenig-lexical-editor-input.hbs"})
1030
1028
  class T extends r.default.Component{constructor(...e){super(...e),j(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){this.props.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0}}),console.error(e)}render(){return this.state.hasError?r.default.createElement("p",{className:"koenig-react-editor-error"},"Loading has failed. Try refreshing the browser!"):this.props.children}}const z=({editorResource:e,...t})=>{const{KoenigComposer:i,MINIMAL_NODES:n}=e.read()
1031
- return r.default.createElement(i,O({nodes:n},t))},S=({editorResource:e,...t})=>{const{KoenigComposableEditor:i,MINIMAL_TRANSFORMERS:n}=e.read()
1032
- return r.default.createElement(i,O({markdownTransformers:n},t))},x=({editorResource:e,...t})=>{const{HtmlOutputPlugin:i}=e.read()
1029
+ return r.default.createElement(i,O({nodes:n},t))},x=({editorResource:e,...t})=>{const{KoenigComposableEditor:i,MINIMAL_TRANSFORMERS:n}=e.read()
1030
+ return r.default.createElement(i,O({markdownTransformers:n},t))},S=({editorResource:e,...t})=>{const{HtmlOutputPlugin:i}=e.read()
1033
1031
  return r.default.createElement(i,t)},C=({editorResource:e,...t})=>{const{EmojiPickerPlugin:i}=e.read()
1034
1032
  return r.default.createElement(i,t)},M=({editorResource:e,...t})=>{const{TKCountPlugin:i}=e.read()
1035
1033
  return r.default.createElement(i,t)}
@@ -1038,8 +1036,8 @@ const e=(await this.store.query("post",{filter:"status:published",fields:"id,url
1038
1036
  return e.forEach(e=>(0,n.decoratePostSearchResult)(e,this.settings)),this.defaultLinks=[{label:"Latest posts",items:e}],this.defaultLinks}let t=[]
1039
1037
  try{t=await this.search.searchTask.perform(e)}catch(i){if(!(0,o.didCancel)(i))throw i
1040
1038
  return[]}return(0,n.filterLinkSearchResults)(t,this.settings)}}
1041
- return r.default.createElement("div",{className:["koenig-react-editor",this.args.className].filter(Boolean).join(" ")},r.default.createElement(T,{config:this.config},r.default.createElement(r.Suspense,{fallback:r.default.createElement("p",{className:"koenig-react-editor-loading"},"Loading editor...")},r.default.createElement(z,{editorResource:this.editorResource,initialEditorState:this.args.lexical,onError:this.onError,isTKEnabled:!!this.args.onTKCountChange,cardConfig:t},r.default.createElement(S,{editorResource:this.editorResource,darkMode:this.feature.nightShift,onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus,isSnippetsEnabled:!1,singleParagraph:!0,className:"koenig-lexical-editor-input "+(this.feature.nightShift?"dark":""),placeholderText:e.placeholderText,placeholderClassName:"koenig-lexical-editor-input-placeholder",registerAPI:this.args.registerAPI},r.default.createElement(x,{editorResource:this.editorResource,html:e.html,setHtml:e.onChangeHtml}),this.emojiPicker?r.default.createElement(C,{editorResource:this.editorResource}):null,this.args.onTKCountChange?r.default.createElement(M,{editorResource:this.editorResource,onChange:this.args.onTKCountChange}):null)))))})}get emojiPicker(){return this.args.emojiPicker??!0}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0}})}},b=_(h.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=_(h.prototype,"feature",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=_(h.prototype,"koenig",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=_(h.prototype,"search",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=_(h.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=_(h.prototype,"store",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=_(h.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_(h.prototype,"onError",[m],Object.getOwnPropertyDescriptor(h.prototype,"onError"),h.prototype),h)
1042
- Ember._setComponentTemplate(k,A)}),define("ghost-admin/components/koenig-lexical-editor",["exports","@sentry/ember","@glimmer/component","react","moment-timezone","ember-concurrency","ghost-admin/decorators/inject","@tryghost/admin-x-framework/hooks"],function(e,t,i,r,n,o,a,s){var l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x
1039
+ return r.default.createElement("div",{className:["koenig-react-editor",this.args.className].filter(Boolean).join(" ")},r.default.createElement(T,{config:this.config},r.default.createElement(r.Suspense,{fallback:r.default.createElement("p",{className:"koenig-react-editor-loading"},"Loading editor...")},r.default.createElement(z,{editorResource:this.editorResource,initialEditorState:this.args.lexical,onError:this.onError,isTKEnabled:!!this.args.onTKCountChange,cardConfig:t},r.default.createElement(x,{editorResource:this.editorResource,darkMode:this.feature.nightShift,onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus,isSnippetsEnabled:!1,singleParagraph:!0,className:"koenig-lexical-editor-input "+(this.feature.nightShift?"dark":""),placeholderText:e.placeholderText,placeholderClassName:"koenig-lexical-editor-input-placeholder",registerAPI:this.args.registerAPI},r.default.createElement(S,{editorResource:this.editorResource,html:e.html,setHtml:e.onChangeHtml}),this.emojiPicker?r.default.createElement(C,{editorResource:this.editorResource}):null,this.args.onTKCountChange?r.default.createElement(M,{editorResource:this.editorResource,onChange:this.args.onTKCountChange}):null)))))})}get emojiPicker(){return this.args.emojiPicker??!0}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0}})}},b=_(h.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=_(h.prototype,"feature",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=_(h.prototype,"koenig",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=_(h.prototype,"search",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=_(h.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=_(h.prototype,"store",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=_(h.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_(h.prototype,"onError",[m],Object.getOwnPropertyDescriptor(h.prototype,"onError"),h.prototype),h)
1040
+ Ember._setComponentTemplate(k,A)}),define("ghost-admin/components/koenig-lexical-editor",["exports","@sentry/ember","@glimmer/component","react","moment-timezone","ember-concurrency","ghost-admin/decorators/inject","@tryghost/admin-x-framework/hooks"],function(e,t,i,r,n,o,a,s){var l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S
1043
1041
  function C(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function M(e,t,i,r,n){var o={}
1044
1042
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}function A(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
1045
1043
  var i=e[Symbol.toPrimitive]
@@ -1059,7 +1057,7 @@ return r.default.createElement(i,t)},$=({editorResource:e,...t})=>{const{KoenigE
1059
1057
  return r.default.createElement(i,t)},W=({editorResource:e,...t})=>{const{WordCountPlugin:i}=e.read()
1060
1058
  return r.default.createElement(i,t)},K=({editorResource:e,...t})=>{const{TKCountPlugin:i}=e.read()
1061
1059
  return r.default.createElement(i,t)},Y={useFileUpload:s.useKoenigFileUpload,fileTypes:s.koenigFileUploadTypes},G=()=>{},J=({cardConfig:e,darkMode:t,editorArgs:i,editorResource:n,isInitInstance:o,onError:a})=>r.default.createElement("div",{"data-secondary-instance":!!o,style:o?{display:"none"}:{}},r.default.createElement(q,{editorResource:n,cardConfig:e,fileUploader:Y,initialEditorState:i.lexical,onError:a,darkMode:t,isTKEnabled:!0},r.default.createElement($,{editorResource:n,cursorDidExitAtTop:o?null:i.cursorDidExitAtTop,placeholderText:o?null:i.placeholderText,darkMode:o?null:t,onChange:o?i.updateSecondaryInstanceModel:i.onChange,registerAPI:o?i.registerSecondaryAPI:i.registerAPI}),r.default.createElement(W,{editorResource:n,onChange:o?G:i.updateWordCount}),r.default.createElement(K,{editorResource:n,onChange:o?G:i.updatePostTkCount})))
1062
- let Q=e.default=(l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,g=Ember._action,v=(0,o.task)({restartable:!1}),y=(0,o.task)({restartable:!1}),w=class extends i.default{constructor(...e){super(...e),C(this,"ajax",E,this),C(this,"feature",P,this),C(this,"ghostPaths",_,this),C(this,"koenig",O,this),C(this,"membersUtils",j,this),C(this,"search",k,this),C(this,"session",T,this),C(this,"settings",z,this),C(this,"store",S,this),C(this,"config",x,this),A(this,"offers",null),A(this,"contentKey",null),A(this,"defaultLinks",null),A(this,"editorResource",this.koenig.resource),A(this,"ReactComponent",e=>{const t={defaultHeaders:{Authorization:"Client-ID 8672af113b0a8573edae3aa3713886265d9bb741d707f6c01a486cde8c278980","Accept-Version":"v1","Content-Type":"application/json","App-Pragma":"no-cache","X-Unsplash-Cache":!0}},i={unsplash:this.settings.unsplash?t.defaultHeaders:null,klipy:this.config.klipy?.apiKey?this.config.klipy:null,embedPreviewUrl:this.config.security?.embedPreviewUrl||void 0,fetchAutocompleteLinks:async()=>{const e="page"===this.args.cardConfig?.post?.displayName?"page":"post",t=[{label:"Homepage",value:window.location.origin+"/"},{label:"Free signup",value:"#/portal/signup/free"}],i=[{label:`Share ${e}`,value:"#/share"}],r=await H.call(this)
1060
+ let Q=e.default=(l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,g=Ember._action,v=(0,o.task)({restartable:!1}),y=(0,o.task)({restartable:!1}),w=class extends i.default{constructor(...e){super(...e),C(this,"ajax",E,this),C(this,"feature",P,this),C(this,"ghostPaths",_,this),C(this,"koenig",O,this),C(this,"membersUtils",j,this),C(this,"search",k,this),C(this,"session",T,this),C(this,"settings",z,this),C(this,"store",x,this),C(this,"config",S,this),A(this,"offers",null),A(this,"contentKey",null),A(this,"defaultLinks",null),A(this,"editorResource",this.koenig.resource),A(this,"ReactComponent",e=>{const t={defaultHeaders:{Authorization:"Client-ID 8672af113b0a8573edae3aa3713886265d9bb741d707f6c01a486cde8c278980","Accept-Version":"v1","Content-Type":"application/json","App-Pragma":"no-cache","X-Unsplash-Cache":!0}},i={unsplash:this.settings.unsplash?t.defaultHeaders:null,klipy:this.config.klipy?.apiKey?this.config.klipy:null,embedPreviewUrl:this.config.security?.embedPreviewUrl||void 0,fetchAutocompleteLinks:async()=>{const e="page"===this.args.cardConfig?.post?.displayName?"page":"post",t=[{label:"Homepage",value:window.location.origin+"/"},{label:"Free signup",value:"#/portal/signup/free"}],i=[{label:`Share ${e}`,value:"#/share"}],r=await H.call(this)
1063
1061
  return[...t,...(()=>{let e=[]
1064
1062
  return this.membersUtils.paidMembersEnabled&&(e=[{label:"Paid signup",value:"#/portal/signup"},{label:"Upgrade or change plan",value:"#/portal/account/plans"}]),e})(),...(()=>this.settings.donationsEnabled?[{label:"Tips and donations",value:"#/portal/support"}]:[])(),...(()=>this.membersUtils.paidMembersEnabled?[{label:"Gift subscriptions",value:"#/portal/gift"}]:[])(),...i,...(()=>this.settings.recommendationsEnabled?[{label:"Recommendations",value:"#/portal/recommendations"}]:[])(),...r]},fetchEmbed:async(e,{type:t})=>{const i=this.ghostPaths.url.api("oembed")
1065
1063
  return await this.ajax.request(i,{data:{url:e,type:t}})},fetchLabels:async()=>{let e=[]
@@ -1073,13 +1071,13 @@ return this.config.stripeDirect?e:e||t})(),visibilitySettings:U(e.cardConfig)},n
1073
1071
  return r.default.createElement("div",{className:["koenig-react-editor","koenig-lexical",this.args.className].filter(Boolean).join(" ")},r.default.createElement(V,{config:this.config},r.default.createElement(r.Suspense,{fallback:r.default.createElement("p",{className:"koenig-react-editor-loading"},"Loading editor...")},r.default.createElement(J,n),r.default.createElement(J,D({},n,{isInitInstance:!0})))))})}get normalizedCardConfig(){return{...this.args.cardConfig,post:B(this.args.cardConfig?.post,this.settings.defaultContentVisibility)}}get pinturaJsUrl(){return this.settings.pintura?this.config.pintura?.js||this.settings.pinturaJsUrl:null}get pinturaCSSUrl(){return this.settings.pintura?this.config.pintura?.css||this.settings.pinturaCssUrl:null}get pinturaConfig(){const e=this.getImageEditorJSUrl(),t=this.getImageEditorCSSUrl()
1074
1072
  return e&&t?{jsUrl:e,cssUrl:t}:null}getImageEditorJSUrl(){let e=this.pinturaJsUrl
1075
1073
  return e?(e.startsWith("/")&&(e=window.location.origin+this.ghostPaths.adminRoot.replace(/\/$/,"")+e),e):null}getImageEditorCSSUrl(){let e=this.pinturaCSSUrl
1076
- return e?(e.startsWith("/")&&(e=window.location.origin+this.ghostPaths.adminRoot.replace(/\/$/,"")+e),e):null}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0},contexts:{koenig:{version:window["@tryghost/koenig-lexical"]?.version}}})}*fetchOffersTask(){return this.offers||(this.offers=yield this.store.query("offer",{filter:"status:active+redemption_type:signup"})),this.offers}*fetchLabelsTask(){return this.labels||(this.labels=yield this.store.query("label",{limit:"all",fields:"id, name"})),this.labels}},E=M(w.prototype,"ajax",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=M(w.prototype,"feature",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=M(w.prototype,"ghostPaths",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=M(w.prototype,"koenig",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=M(w.prototype,"membersUtils",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=M(w.prototype,"search",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=M(w.prototype,"session",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=M(w.prototype,"settings",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=M(w.prototype,"store",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=M(w.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M(w.prototype,"onError",[g],Object.getOwnPropertyDescriptor(w.prototype,"onError"),w.prototype),M(w.prototype,"fetchOffersTask",[v],Object.getOwnPropertyDescriptor(w.prototype,"fetchOffersTask"),w.prototype),M(w.prototype,"fetchLabelsTask",[y],Object.getOwnPropertyDescriptor(w.prototype,"fetchLabelsTask"),w.prototype),w)
1074
+ return e?(e.startsWith("/")&&(e=window.location.origin+this.ghostPaths.adminRoot.replace(/\/$/,"")+e),e):null}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0},contexts:{koenig:{version:window["@tryghost/koenig-lexical"]?.version}}})}*fetchOffersTask(){return this.offers||(this.offers=yield this.store.query("offer",{filter:"status:active+redemption_type:signup"})),this.offers}*fetchLabelsTask(){return this.labels||(this.labels=yield this.store.query("label",{limit:"all",fields:"id, name"})),this.labels}},E=M(w.prototype,"ajax",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=M(w.prototype,"feature",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=M(w.prototype,"ghostPaths",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=M(w.prototype,"koenig",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=M(w.prototype,"membersUtils",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=M(w.prototype,"search",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=M(w.prototype,"session",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=M(w.prototype,"settings",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=M(w.prototype,"store",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=M(w.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M(w.prototype,"onError",[g],Object.getOwnPropertyDescriptor(w.prototype,"onError"),w.prototype),M(w.prototype,"fetchOffersTask",[v],Object.getOwnPropertyDescriptor(w.prototype,"fetchOffersTask"),w.prototype),M(w.prototype,"fetchLabelsTask",[y],Object.getOwnPropertyDescriptor(w.prototype,"fetchLabelsTask"),w.prototype),w)
1077
1075
  Ember._setComponentTemplate(I,Q)}),define("ghost-admin/components/lf-get-outlet-state",["exports","liquid-fire/components/lf-get-outlet-state"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-append",["exports","liquid-wormhole/components/liquid-append"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-bind",["exports","liquid-fire/components/liquid-bind"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-child",["exports","liquid-fire/components/liquid-child"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-container",["exports","liquid-fire/components/liquid-container"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-destination",["exports","liquid-wormhole/components/liquid-destination"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-if",["exports","liquid-fire/components/liquid-if"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-measured",["exports","liquid-fire/components/liquid-measured"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"measure",{enumerable:!0,get:function(){return t.measure}})}),define("ghost-admin/components/liquid-outlet",["exports","liquid-fire/components/liquid-outlet"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-spacer",["exports","liquid-fire/components/liquid-spacer"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-sync",["exports","liquid-fire/components/liquid-sync"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-unless",["exports","liquid-fire/components/liquid-unless"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-versions",["exports","liquid-fire/components/liquid-versions"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/liquid-wormhole",["exports","liquid-wormhole/components/liquid-wormhole"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/maybe-in-element",["exports","ember-maybe-in-element/components/maybe-in-element"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/components/modal-base",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1078
1076
  e.default=Ember.Component.extend({tagName:"section",classNames:"modal-content",_previousKeymasterScope:null,closeOnEnter:!0,closeModal:()=>{},didInsertElement(){this._super(...arguments),this._setupShortcuts()},willDestroyElement(){this._super(...arguments),this._removeShortcuts()},actions:{confirm(){throw new Error('You must override the "confirm" action in your modal component')},closeModal(){this.closeModal()}},_setupShortcuts(){Ember.run(function(){document.activeElement.blur()}),this._previousKeymasterScope=key.getScope(),this.closeOnEnter&&key("enter","modal",()=>{this.send("confirm")}),key("escape","modal",e=>{e.target.dataset.preventEscapeCloseModal||this.send("closeModal")}),key.setScope("modal")},_removeShortcuts(){key.unbind("enter","modal"),key.unbind("escape","modal"),key.setScope(this._previousKeymasterScope)}})}),define("ghost-admin/components/modal-post-history",["exports","@glimmer/component","dompurify","ghost-admin/components/modals/restore-revision","ghost-admin/decorators/inject","@ember/test-waiters"],function(e,t,i,r,n,o){var a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k
1079
1077
  function T(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function z(e,t,i,r,n){var o={}
1080
1078
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1081
- const S=Ember.HTMLBars.template({id:"VNwSXFm8",block:'{"symbols":["revision","index"],"statements":[[11,"div"],[24,0,"gh-post-history"],[4,[38,8],[[32,0,["onInsert"]]],null],[12],[2,"\\n "],[10,"div"],[14,0,"gh-post-history-main"],[14,"data-test-post-history-preview",""],[12],[2,"\\n "],[10,"div"],[14,0,"gh-koenig-editor-pane flex flex-column mih-100"],[12],[2,"\\n"],[6,[37,2],[[32,0,["selectedHTML"]]],null,[["default"],[{"statements":[[2," "],[2,[32,0,["selectedHTML"]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-post-history-hidden-lexical current"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-editor-feature-image-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-editor-feature-image"],[12],[2,"\\n"],[6,[37,2],[[32,0,["selectedRevision","feature_image"]]],null,[["default"],[{"statements":[[2," "],[10,"img"],[15,"src",[32,0,["selectedRevision","feature_image"]]],[15,"alt",[32,0,["selectedRevision","feature_image_alt"]]],[14,"data-test-post-history-preview-feature-image",""],[12],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,2],[[32,0,["selectedRevision","feature_image_caption"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,"data-test-post-history-preview-feature-image-caption",""],[12],[2,[32,0,["selectedRevision","feature_image_caption"]]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-editor-title"],[14,"data-test-post-history-preview-title",""],[12],[2,"\\n "],[1,[32,0,["currentTitle"]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[[30,[36,9],["editorExcerpt"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-editor-excerpt"],[14,"data-test-post-history-preview-excerpt",""],[12],[2,"\\n "],[1,[32,0,["selectedRevision","custom_excerpt"]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[[32,0,["selectedRevision","custom_excerpt"]]],null,[["default"],[{"statements":[[2," "],[10,"hr"],[14,0,"gh-editor-title-divider"],[12],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[8,"koenig-lexical-editor",[],[["@lexical","@cardConfig","@registerAPI","@registerSecondaryAPI"],[[32,0,["selectedRevision","lexical"]],[32,0,["cardConfig"]],[32,0,["registerSelectedEditorApi"]],[32,0,["registerSecondarySelectedEditorApi"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"settings-menu-container"],[12],[2,"\\n "],[10,"div"],[14,0,"settings-menu settings-menu-pane settings-menu-pane-main"],[12],[2,"\\n "],[10,"div"],[14,0,"settings-menu-header subview"],[12],[2,"\\n "],[11,"button"],[24,"aria-label","Close meta data panel"],[24,0,"back settings-menu-header-action"],[24,"data-test-button","close-psm-subview"],[24,4,"button"],[4,[38,1],["click",[32,0,["closeModal"]]],null],[4,[38,1],["mousedown",[30,[36,10],[[32,0,["noop"]]],null]],null],[12],[2,"\\n "],[1,[30,[36,11],["arrow-left"],null]],[2,"\\n "],[10,"span"],[14,0,"hidden"],[12],[2,"Back"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"h4"],[12],[1,[30,[36,12],[[32,0,["post","displayName"]]],null]],[2," history"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"settings-menu-content"],[12],[2,"\\n "],[10,"ul"],[14,0,"nav-list"],[12],[2,"\\n"],[6,[37,14],[[30,[36,13],[[30,[36,13],[[32,0,["revisionList"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[15,0,[31,["nav-list-item ",[30,[36,2],[[32,1,["selected"]],"selected",""],null]]]],[15,"data-test-revision-item",[32,2]],[12],[2,"\\n "],[11,"button"],[24,"data-test-button","preview-revision"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["handleClick"]],[32,2]],null]],null],[12],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-post-history-version"],[12],[1,[30,[36,3],[[32,1,["createdAt"]]],[["format"],["D MMM YYYY, HH:mm"]]]],[1,[32,0,["timezone"]]],[13],[2,"\\n"],[6,[37,2],[[32,1,["latest"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-post-history-version-tag current"],[14,"data-test-revision-latest",""],[12],[2,"Latest"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[32,1,["new_publish"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-post-history-version-tag published"],[14,"data-test-revision-published",""],[12],[2,"Published"],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,2],[[30,[36,4],[[32,1,["reason"]],"unpublished"],null]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-post-history-version-tag unpublished"],[14,"data-test-revision-unpublished",""],[12],[2,"Unpublished"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center mt2"],[12],[2,"\\n "],[10,"span"],[14,0,"user-list-item-figure"],[15,5,[30,[36,5],[[32,1,["author","profile_image_url"]]],null]],[12],[2,"\\n "],[10,"span"],[14,0,"hidden"],[12],[2,"Photo of "],[1,[32,1,["author","name"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"span"],[15,0,[31,["gh-post-history-version-meta ",[30,[36,2],[[30,[36,4],[[32,1,["author","name"]],"Deleted staff user"],null],"deleted-user"],null]]]],[12],[1,[32,1,["author","name"]]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[[30,[36,7],[[32,1,["selected"]],[30,[36,6],[[32,1,["latest"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-post-history-version-restore"],[24,"data-test-button","restore-revision"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["restoreRevision"]],[32,2]],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Restore"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[1,2]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[1,[32,0,["didInsert"]]],[2,"\\n"]],"hasEval":false,"upvars":["fn","on","if","gh-format-post-time","eq","background-image-style","not","and","did-insert","feature","optional","svg-jar","capitalize","-track-array","each"]}',moduleName:"ghost-admin/components/modal-post-history.hbs"})
1082
- let x=e.default=(a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember._tracked,c=Ember._tracked,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=class extends t.default{constructor(){super(...arguments),T(this,"notifications",E,this),T(this,"modals",P,this),T(this,"ghostPaths",_,this),T(this,"config",O,this),T(this,"selectedHTML",j,this),T(this,"selectedRevisionIndex",k,this),this.post=this.args.model.post,this.editorAPI=this.args.model.editorAPI,this.secondaryEditorAPI=this.args.model.secondaryEditorAPI,this.toggleSettingsMenu=this.args.model.toggleSettingsMenu}get selectedRevision(){const e=this.revisionList[this.selectedRevisionIndex]
1079
+ const x=Ember.HTMLBars.template({id:"VNwSXFm8",block:'{"symbols":["revision","index"],"statements":[[11,"div"],[24,0,"gh-post-history"],[4,[38,8],[[32,0,["onInsert"]]],null],[12],[2,"\\n "],[10,"div"],[14,0,"gh-post-history-main"],[14,"data-test-post-history-preview",""],[12],[2,"\\n "],[10,"div"],[14,0,"gh-koenig-editor-pane flex flex-column mih-100"],[12],[2,"\\n"],[6,[37,2],[[32,0,["selectedHTML"]]],null,[["default"],[{"statements":[[2," "],[2,[32,0,["selectedHTML"]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-post-history-hidden-lexical current"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-editor-feature-image-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-editor-feature-image"],[12],[2,"\\n"],[6,[37,2],[[32,0,["selectedRevision","feature_image"]]],null,[["default"],[{"statements":[[2," "],[10,"img"],[15,"src",[32,0,["selectedRevision","feature_image"]]],[15,"alt",[32,0,["selectedRevision","feature_image_alt"]]],[14,"data-test-post-history-preview-feature-image",""],[12],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,2],[[32,0,["selectedRevision","feature_image_caption"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,"data-test-post-history-preview-feature-image-caption",""],[12],[2,[32,0,["selectedRevision","feature_image_caption"]]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-editor-title"],[14,"data-test-post-history-preview-title",""],[12],[2,"\\n "],[1,[32,0,["currentTitle"]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[[30,[36,9],["editorExcerpt"],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-editor-excerpt"],[14,"data-test-post-history-preview-excerpt",""],[12],[2,"\\n "],[1,[32,0,["selectedRevision","custom_excerpt"]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[[32,0,["selectedRevision","custom_excerpt"]]],null,[["default"],[{"statements":[[2," "],[10,"hr"],[14,0,"gh-editor-title-divider"],[12],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[8,"koenig-lexical-editor",[],[["@lexical","@cardConfig","@registerAPI","@registerSecondaryAPI"],[[32,0,["selectedRevision","lexical"]],[32,0,["cardConfig"]],[32,0,["registerSelectedEditorApi"]],[32,0,["registerSecondarySelectedEditorApi"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"settings-menu-container"],[12],[2,"\\n "],[10,"div"],[14,0,"settings-menu settings-menu-pane settings-menu-pane-main"],[12],[2,"\\n "],[10,"div"],[14,0,"settings-menu-header subview"],[12],[2,"\\n "],[11,"button"],[24,"aria-label","Close meta data panel"],[24,0,"back settings-menu-header-action"],[24,"data-test-button","close-psm-subview"],[24,4,"button"],[4,[38,1],["click",[32,0,["closeModal"]]],null],[4,[38,1],["mousedown",[30,[36,10],[[32,0,["noop"]]],null]],null],[12],[2,"\\n "],[1,[30,[36,11],["arrow-left"],null]],[2,"\\n "],[10,"span"],[14,0,"hidden"],[12],[2,"Back"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"h4"],[12],[1,[30,[36,12],[[32,0,["post","displayName"]]],null]],[2," history"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"settings-menu-content"],[12],[2,"\\n "],[10,"ul"],[14,0,"nav-list"],[12],[2,"\\n"],[6,[37,14],[[30,[36,13],[[30,[36,13],[[32,0,["revisionList"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[15,0,[31,["nav-list-item ",[30,[36,2],[[32,1,["selected"]],"selected",""],null]]]],[15,"data-test-revision-item",[32,2]],[12],[2,"\\n "],[11,"button"],[24,"data-test-button","preview-revision"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["handleClick"]],[32,2]],null]],null],[12],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-post-history-version"],[12],[1,[30,[36,3],[[32,1,["createdAt"]]],[["format"],["D MMM YYYY, HH:mm"]]]],[1,[32,0,["timezone"]]],[13],[2,"\\n"],[6,[37,2],[[32,1,["latest"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-post-history-version-tag current"],[14,"data-test-revision-latest",""],[12],[2,"Latest"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[32,1,["new_publish"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-post-history-version-tag published"],[14,"data-test-revision-published",""],[12],[2,"Published"],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,2],[[30,[36,4],[[32,1,["reason"]],"unpublished"],null]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-post-history-version-tag unpublished"],[14,"data-test-revision-unpublished",""],[12],[2,"Unpublished"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center mt2"],[12],[2,"\\n "],[10,"span"],[14,0,"user-list-item-figure"],[15,5,[30,[36,5],[[32,1,["author","profile_image_url"]]],null]],[12],[2,"\\n "],[10,"span"],[14,0,"hidden"],[12],[2,"Photo of "],[1,[32,1,["author","name"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"span"],[15,0,[31,["gh-post-history-version-meta ",[30,[36,2],[[30,[36,4],[[32,1,["author","name"]],"Deleted staff user"],null],"deleted-user"],null]]]],[12],[1,[32,1,["author","name"]]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[[30,[36,7],[[32,1,["selected"]],[30,[36,6],[[32,1,["latest"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-post-history-version-restore"],[24,"data-test-button","restore-revision"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["restoreRevision"]],[32,2]],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Restore"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[1,2]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[1,[32,0,["didInsert"]]],[2,"\\n"]],"hasEval":false,"upvars":["fn","on","if","gh-format-post-time","eq","background-image-style","not","and","did-insert","feature","optional","svg-jar","capitalize","-track-array","each"]}',moduleName:"ghost-admin/components/modal-post-history.hbs"})
1080
+ let S=e.default=(a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember._tracked,c=Ember._tracked,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=Ember._action,y=Ember._action,w=class extends t.default{constructor(){super(...arguments),T(this,"notifications",E,this),T(this,"modals",P,this),T(this,"ghostPaths",_,this),T(this,"config",O,this),T(this,"selectedHTML",j,this),T(this,"selectedRevisionIndex",k,this),this.post=this.args.model.post,this.editorAPI=this.args.model.editorAPI,this.secondaryEditorAPI=this.args.model.secondaryEditorAPI,this.toggleSettingsMenu=this.args.model.toggleSettingsMenu}get selectedRevision(){const e=this.revisionList[this.selectedRevisionIndex]
1083
1081
  if(e)return e.feature_image_caption=i.default.sanitize(e.feature_image_caption,{ALLOWED_TAGS:["a","b","i","span"],ALLOWED_ATTR:["href","style"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1}),e}get currentTitle(){return this.selectedRevision?.title||this.post.get("title")}get revisionList(){const e=this.post.get("postRevisions").toArray().sort((e,t)=>t.get("createdAt")-e.get("createdAt"))
1084
1082
  return e.map((t,i)=>({lexical:t.get("lexical"),selected:i===this.selectedRevisionIndex,latest:0===i,createdAt:t.get("createdAt"),title:t.get("title"),custom_excerpt:t.get("customExcerpt")??this.post.customExcerpt,feature_image:t.get("featureImage"),feature_image_alt:t.get("featureImageAlt"),feature_image_caption:t.get("featureImageCaption"),author:{name:t.get("author.name")||"Deleted staff user",profile_image_url:t.get("author.profileImageUrl")},postStatus:t.get("postStatus"),reason:t.get("reason"),new_publish:"published"===t.get("postStatus")&&"draft"===e[i+1]?.get("postStatus")}))}onInsert(){this.updateSelectedHTML(),window.addEventListener("keydown",this.handleKeyDown)}willDestroy(){super.willDestroy(...arguments),window.removeEventListener("keydown",this.handleKeyDown)}handleKeyDown(e){"Escape"===e.key&&this.args.closeModal()}async handleClick(e){this.selectedRevisionIndex=e,await this.updateSelectedHTML()}registerSelectedEditorApi(e){this.selectedEditor=e}registerSecondarySelectedEditorApi(e){this.secondarySelectedEditor=e}registerComparisonEditorApi(e){this.comparisonEditor=e}closeModal(){this.args.closeModal()}stripInitialPlaceholder(e){return e.replace(/<div\b[^>]*>(\s*Begin writing your post\.\.\.\s*)<\/div>/i,"")}restoreRevision(e){const t=this.revisionList[e]
1085
1083
  this.modals.open(r.default,{post:this.post,revision:t,updateTitle:()=>{Ember.set(this.post,"titleScratch",t.title)},updateEditor:()=>{const e=this.editorAPI.editorInstance.parseEditorState(t.lexical)
@@ -1089,7 +1087,7 @@ let i=!1
1089
1087
  const r=()=>{i&&(this.selectedHTML=this.stripInitialPlaceholder(t.innerHTML)),e()};(function(e,t){let i=e.innerHTML
1090
1088
  setTimeout(function r(){const n=e.innerHTML
1091
1089
  n===i?t():(i=n,setTimeout(r,50))},50)})(t,()=>{t.querySelectorAll("[contenteditable]").forEach(e=>{e.setAttribute("contenteditable",!1)}),i=!0,r()})})}},E=z(w.prototype,"notifications",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=z(w.prototype,"modals",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=z(w.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=z(w.prototype,"config",[n.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=z(w.prototype,"selectedHTML",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),k=z(w.prototype,"selectedRevisionIndex",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),z(w.prototype,"onInsert",[d],Object.getOwnPropertyDescriptor(w.prototype,"onInsert"),w.prototype),z(w.prototype,"willDestroy",[p],Object.getOwnPropertyDescriptor(w.prototype,"willDestroy"),w.prototype),z(w.prototype,"handleKeyDown",[m],Object.getOwnPropertyDescriptor(w.prototype,"handleKeyDown"),w.prototype),z(w.prototype,"handleClick",[h,o.waitFor],Object.getOwnPropertyDescriptor(w.prototype,"handleClick"),w.prototype),z(w.prototype,"registerSelectedEditorApi",[b],Object.getOwnPropertyDescriptor(w.prototype,"registerSelectedEditorApi"),w.prototype),z(w.prototype,"registerSecondarySelectedEditorApi",[f],Object.getOwnPropertyDescriptor(w.prototype,"registerSecondarySelectedEditorApi"),w.prototype),z(w.prototype,"registerComparisonEditorApi",[g],Object.getOwnPropertyDescriptor(w.prototype,"registerComparisonEditorApi"),w.prototype),z(w.prototype,"closeModal",[v],Object.getOwnPropertyDescriptor(w.prototype,"closeModal"),w.prototype),z(w.prototype,"restoreRevision",[y],Object.getOwnPropertyDescriptor(w.prototype,"restoreRevision"),w.prototype),w)
1092
- Ember._setComponentTemplate(S,x)}),define("ghost-admin/components/modals/confirm-unsaved-changes",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1090
+ Ember._setComponentTemplate(x,S)}),define("ghost-admin/components/modals/confirm-unsaved-changes",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1093
1091
  const t=Ember.HTMLBars.template({id:"7GHSRuvo",block:'{"symbols":["@close"],"statements":[[10,"div"],[14,0,"modal-content"],[14,"data-test-modal","unsaved-settings"],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[2,"Are you sure you want to leave this page?"],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"close"],[24,"title","Close"],[24,"data-test-button","close"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,1],false],null]],null],[12],[1,[30,[36,2],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-body"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n Hey there! It looks like you didn\'t save the changes you made.\\n "],[13],[2,"\\n\\n "],[10,"p"],[12],[2,"Save before you go!"],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-footer"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[24,"data-test-stay-button",""],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,1],false],null]],null],[12],[10,"span"],[12],[2,"Stay"],[13],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-red"],[24,"data-test-leave-button",""],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,1],true],null]],null],[12],[10,"span"],[12],[2,"Leave"],[13],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["fn","on","svg-jar"]}',moduleName:"ghost-admin/components/modals/confirm-unsaved-changes.hbs"})
1094
1092
  e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())}),define("ghost-admin/components/modals/delete-post",["exports","@glimmer/component","ember-concurrency"],function(e,t,i){var r,n,o,a,s,l
1095
1093
  function u(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function c(e,t,i,r,n){var o={}
@@ -1188,7 +1186,7 @@ if(void 0!==i){var r=i.call(e,t||"default")
1188
1186
  if("object"!=typeof r)return r
1189
1187
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
1190
1188
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1191
- class i extends Ember.Controller{constructor(...e){super(...e),t(this,"stack",!1)}get error(){return this.model}get code(){return this.error.status>200?this.error.status:500}get message(){return 404===this.code?"Page not found":"error"!==this.error.statusText?this.error.statusText:"Internal Server Error"}}e.default=i}),define("ghost-admin/controllers/lexical-editor",["exports","@sentry/ember","ghost-admin/components/modals/editor/confirm-leave","ghost-admin/components/modals/delete-post","ghost-admin/components/editor/modals/delete-snippet","ghost-admin/models/post","ghost-admin/components/modals/limits/publish-limit","ghost-admin/components/editor/modals/re-authenticate","ghost-admin/components/editor/modals/update-snippet","ghost-admin/utils/bound-one-way","ghost-admin/config/environment","ghost-admin/utils/is-number","microdiff","moment-timezone","ghost-admin/services/notifications","ghost-admin/helpers/capitalize-first-letter","ember-concurrency","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-ajax/errors","@tryghost/kg-converters","@ember-decorators/object","@tryghost/string"],function(e,t,i,r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P){var _,O,j,k,T,z,S,x,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G,J,Q,X,Z,ee,te,ie,re,ne,oe,ae,se,le,ue,ce,de,pe,me,he,be,fe,ge,ve,ye,we,Ee,Pe,_e,Oe,je,ke,Te,ze,Se,xe,Ce,Me,Ae,De,Ie,Re,Le,Ne,Fe,Ue,Be,He,Ve,qe,$e,We,Ke,Ye,Ge,Je,Qe,Xe,Ze,et,tt,it
1189
+ class i extends Ember.Controller{constructor(...e){super(...e),t(this,"stack",!1)}get error(){return this.model}get code(){return this.error.status>200?this.error.status:500}get message(){return 404===this.code?"Page not found":"error"!==this.error.statusText?this.error.statusText:"Internal Server Error"}}e.default=i}),define("ghost-admin/controllers/lexical-editor",["exports","@sentry/ember","ghost-admin/components/modals/editor/confirm-leave","ghost-admin/components/modals/delete-post","ghost-admin/components/editor/modals/delete-snippet","ghost-admin/models/post","ghost-admin/components/modals/limits/publish-limit","ghost-admin/components/editor/modals/re-authenticate","ghost-admin/components/editor/modals/update-snippet","ghost-admin/utils/bound-one-way","ghost-admin/config/environment","ghost-admin/utils/is-number","microdiff","moment-timezone","ghost-admin/services/notifications","ghost-admin/helpers/capitalize-first-letter","ember-concurrency","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-ajax/errors","@tryghost/kg-converters","@ember-decorators/object","@tryghost/string"],function(e,t,i,r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P){var _,O,j,k,T,z,x,S,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G,J,Q,X,Z,ee,te,ie,re,ne,oe,ae,se,le,ue,ce,de,pe,me,he,be,fe,ge,ve,ye,we,Ee,Pe,_e,Oe,je,ke,Te,ze,xe,Se,Ce,Me,Ae,De,Ie,Re,Le,Ne,Fe,Ue,Be,He,Ve,qe,$e,We,Ke,Ye,Ge,Je,Qe,Xe,Ze,et,tt,it
1192
1190
  function rt(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function nt(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
1193
1191
  var i=e[Symbol.toPrimitive]
1194
1192
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -1202,7 +1200,7 @@ const ct={errors:{post:{published:{published:"Update failed",draft:"Saving faile
1202
1200
  function dt(e){let t=st.exec(e)
1203
1201
  if(null===t)return!1
1204
1202
  function i(e){return!(e[1]&&e[1].trim()&&lt.test(e[1]))&&!(e[4]&&e[4].trim()&&lt.test(e[4]))}for(;null!==t&&!i(t);)e=e.slice(t.index+t[0].length-1),t=st.exec(e)
1205
- return null!==t}e.default=(_=Ember.inject.controller,O=Ember.inject.service,j=Ember.inject.service,k=Ember.inject.service,T=Ember.inject.service,z=Ember.inject.service,S=Ember.inject.service,x=Ember.inject.service,C=Ember.inject.service,M=Ember.inject.service,A=Ember.inject.service,D=Ember.inject.service,I=Ember.inject.service,R=Ember.inject.service("unsaved-changes"),L=Ember._tracked,N=(0,E.observes)("post.currentState.stateName"),F=Ember.computed.alias("model"),U=(0,u.default)("post.isPublished"),B=(0,u.default)("post.isScheduled"),H=(0,f.taskGroup)().enqueue(),V=Ember.computed.mapBy("post.tags","name"),q=Ember.computed(...ut),$=Ember.computed,W=Ember.computed("_snippets.@each.{name,isNew,mobiledoc,lexical}"),K=Ember.computed("session.user.{isAdmin,isEitherEditor}"),Y=Ember.computed("_autosaveTask.isRunning","_timedSaveTask.isRunning"),G=Ember.computed("post.isDraft"),J=Ember.computed("post.titleScratch"),Q=Ember.computed("post.customExcerpt"),X=Ember.computed("titleHasTk","excerptHasTk","postTkCount","featureImageTkCount"),Z=Ember._action,ee=Ember._action,te=Ember._action,ie=Ember._action,re=Ember._action,ne=Ember._action,oe=Ember._action,ae=Ember._action,se=Ember._action,le=Ember._action,ue=Ember._action,ce=Ember._action,de=Ember._action,pe=Ember._action,me=Ember._action,he=Ember._action,be=Ember._action,fe=Ember._action,ge=Ember._action,ve=Ember._action,ye=Ember._action,we=Ember._action,Ee=Ember._action,Pe=Ember._action,_e=Ember._action,Oe=Ember._action,je=Ember._action,ke=(0,f.task)({group:"saveTasks"}),Te=(0,f.task)({group:"saveTasks"}),ze=(0,f.task)({group:"saveTasks"}),Se=Ember._action,xe=Ember._action,Ce=(0,f.task)(function*(){if(this._canAutosave){if(this.get("post.isNew"))return this.autosaveTask.perform()
1203
+ return null!==t}e.default=(_=Ember.inject.controller,O=Ember.inject.service,j=Ember.inject.service,k=Ember.inject.service,T=Ember.inject.service,z=Ember.inject.service,x=Ember.inject.service,S=Ember.inject.service,C=Ember.inject.service,M=Ember.inject.service,A=Ember.inject.service,D=Ember.inject.service,I=Ember.inject.service,R=Ember.inject.service("unsaved-changes"),L=Ember._tracked,N=(0,E.observes)("post.currentState.stateName"),F=Ember.computed.alias("model"),U=(0,u.default)("post.isPublished"),B=(0,u.default)("post.isScheduled"),H=(0,f.taskGroup)().enqueue(),V=Ember.computed.mapBy("post.tags","name"),q=Ember.computed(...ut),$=Ember.computed,W=Ember.computed("_snippets.@each.{name,isNew,mobiledoc,lexical}"),K=Ember.computed("session.user.{isAdmin,isEitherEditor}"),Y=Ember.computed("_autosaveTask.isRunning","_timedSaveTask.isRunning"),G=Ember.computed("post.isDraft"),J=Ember.computed("post.titleScratch"),Q=Ember.computed("post.customExcerpt"),X=Ember.computed("titleHasTk","excerptHasTk","postTkCount","featureImageTkCount"),Z=Ember._action,ee=Ember._action,te=Ember._action,ie=Ember._action,re=Ember._action,ne=Ember._action,oe=Ember._action,ae=Ember._action,se=Ember._action,le=Ember._action,ue=Ember._action,ce=Ember._action,de=Ember._action,pe=Ember._action,me=Ember._action,he=Ember._action,be=Ember._action,fe=Ember._action,ge=Ember._action,ve=Ember._action,ye=Ember._action,we=Ember._action,Ee=Ember._action,Pe=Ember._action,_e=Ember._action,Oe=Ember._action,je=Ember._action,ke=(0,f.task)({group:"saveTasks"}),Te=(0,f.task)({group:"saveTasks"}),ze=(0,f.task)({group:"saveTasks"}),xe=Ember._action,Se=Ember._action,Ce=(0,f.task)(function*(){if(this._canAutosave){if(this.get("post.isNew"))return this.autosaveTask.perform()
1206
1204
  yield(0,f.timeout)("test"===c.default.environment?100:3e3),this.autosaveTask.perform()}}).restartable(),Me=(0,f.task)(function*(){if(this._canAutosave)for(;"test"!==c.default.environment;)yield(0,f.timeout)(6e4),this.autosaveTask.perform()}).drop(),Ae=class extends Ember.Controller{constructor(...e){super(...e),rt(this,"application",De,this),rt(this,"feature",Ie,this),rt(this,"membersCountCache",Re,this),rt(this,"modals",Le,this),rt(this,"notifications",Ne,this),rt(this,"router",Fe,this),rt(this,"slugGenerator",Ue,this),rt(this,"search",Be,this),rt(this,"session",He,this),rt(this,"settings",Ve,this),rt(this,"stateBridge",qe,this),rt(this,"ui",$e,this),rt(this,"localRevisions",We,this),rt(this,"unsavedChanges",Ke,this),rt(this,"config",Ye,this),rt(this,"excerptErrorMessage",Ge,this),nt(this,"shouldFocusTitle",!1),nt(this,"showSettingsMenu",!1),nt(this,"fromAnalytics",!1),nt(this,"wordCount",0),nt(this,"postTkCount",0),nt(this,"featureImageTkCount",0),nt(this,"_leaveConfirmed",!1),nt(this,"_saveOnLeavePerformed",!1),nt(this,"_previousTagNames",null),nt(this,"_setPostState",null),nt(this,"_postStates",[]),rt(this,"post",Je,this),rt(this,"willPublish",Qe,this)
1207
1205
  rt(this,"willSchedule",Xe,this),rt(this,"saveTasks",Ze,this),rt(this,"_tagNames",et,this),nt(this,"TK_REGEX",new RegExp(/(^|.)([^\p{L}\p{N}\s]*(TK)+[^\p{L}\p{N}\s]*)(.)?/u)),nt(this,"WORD_CHAR_REGEX",new RegExp(/\p{L}|\p{N}/u)),rt(this,"_autosaveTask",tt,this),rt(this,"_timedSaveTask",it,this)}get listQueryParams(){const e="page"===this.post?.displayName?"pages":"posts"
1208
1206
  return{type:null,featured:null,visibility:null,author:null,tag:null,order:null,...this.stateBridge.postListQueryParams[e]}}_pushPostState(){const e=this.post
@@ -1316,7 +1314,7 @@ else if(i&&(s=i,"[object String]"===toString.call(s)))a=i
1316
1314
  else if(i&&Ember.isArray(i))a=i[0]
1317
1315
  else{if(i&&i.payload&&i.payload.errors&&i.payload.errors[0].message)return this.notifications.showAPIError(i,{key:"post.save"})
1318
1316
  a="Unknown Error"}var s
1319
- n+=`: ${a}`,n=Ember.String.htmlSafe(n),o.showAlert(n,{type:"error",delayed:r,key:"post.save"})}},De=ot(Ae.prototype,"application",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ie=ot(Ae.prototype,"feature",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=ot(Ae.prototype,"membersCountCache",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Le=ot(Ae.prototype,"modals",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ne=ot(Ae.prototype,"notifications",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Fe=ot(Ae.prototype,"router",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ue=ot(Ae.prototype,"slugGenerator",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Be=ot(Ae.prototype,"search",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),He=ot(Ae.prototype,"session",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ve=ot(Ae.prototype,"settings",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qe=ot(Ae.prototype,"stateBridge",[A],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$e=ot(Ae.prototype,"ui",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),We=ot(Ae.prototype,"localRevisions",[I],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ke=ot(Ae.prototype,"unsavedChanges",[R],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ye=ot(Ae.prototype,"config",[g.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ge=ot(Ae.prototype,"excerptErrorMessage",[L],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),ot(Ae.prototype,"_pushPostState",[N],Object.getOwnPropertyDescriptor(Ae.prototype,"_pushPostState"),Ae.prototype),Je=ot(Ae.prototype,"post",[F],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Qe=ot(Ae.prototype,"willPublish",[U],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xe=ot(Ae.prototype,"willSchedule",[B],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ze=ot(Ae.prototype,"saveTasks",[H],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),et=ot(Ae.prototype,"_tagNames",[V],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ot(Ae.prototype,"hasDirtyAttributes",[q],Object.getOwnPropertyDescriptor(Ae.prototype,"hasDirtyAttributes"),Ae.prototype),ot(Ae.prototype,"_snippets",[$],Object.getOwnPropertyDescriptor(Ae.prototype,"_snippets"),Ae.prototype),ot(Ae.prototype,"snippets",[W],Object.getOwnPropertyDescriptor(Ae.prototype,"snippets"),Ae.prototype),ot(Ae.prototype,"canManageSnippets",[K],Object.getOwnPropertyDescriptor(Ae.prototype,"canManageSnippets"),Ae.prototype),ot(Ae.prototype,"_autosaveRunning",[Y],Object.getOwnPropertyDescriptor(Ae.prototype,"_autosaveRunning"),Ae.prototype),ot(Ae.prototype,"_canAutosave",[G],Object.getOwnPropertyDescriptor(Ae.prototype,"_canAutosave"),Ae.prototype),ot(Ae.prototype,"titleHasTk",[J],Object.getOwnPropertyDescriptor(Ae.prototype,"titleHasTk"),Ae.prototype),ot(Ae.prototype,"excerptHasTk",[Q],Object.getOwnPropertyDescriptor(Ae.prototype,"excerptHasTk"),Ae.prototype),ot(Ae.prototype,"tkCount",[X],Object.getOwnPropertyDescriptor(Ae.prototype,"tkCount"),Ae.prototype),ot(Ae.prototype,"updateScratch",[Z],Object.getOwnPropertyDescriptor(Ae.prototype,"updateScratch"),Ae.prototype),ot(Ae.prototype,"updateSecondaryInstanceModel",[ee],Object.getOwnPropertyDescriptor(Ae.prototype,"updateSecondaryInstanceModel"),Ae.prototype),ot(Ae.prototype,"updateTitleScratch",[te],Object.getOwnPropertyDescriptor(Ae.prototype,"updateTitleScratch"),Ae.prototype),ot(Ae.prototype,"updateExcerpt",[ie],Object.getOwnPropertyDescriptor(Ae.prototype,"updateExcerpt"),Ae.prototype),ot(Ae.prototype,"saveExcerptTask",[f.task],Object.getOwnPropertyDescriptor(Ae.prototype,"saveExcerptTask"),Ae.prototype),ot(Ae.prototype,"setSaveType",[re],Object.getOwnPropertyDescriptor(Ae.prototype,"setSaveType"),Ae.prototype),ot(Ae.prototype,"save",[ne],Object.getOwnPropertyDescriptor(Ae.prototype,"save"),Ae.prototype),ot(Ae.prototype,"cancelAutosave",[oe],Object.getOwnPropertyDescriptor(Ae.prototype,"cancelAutosave"),Ae.prototype),ot(Ae.prototype,"leaveEditor",[ae],Object.getOwnPropertyDescriptor(Ae.prototype,"leaveEditor"),Ae.prototype),ot(Ae.prototype,"openDeletePostModal",[se],Object.getOwnPropertyDescriptor(Ae.prototype,"openDeletePostModal"),Ae.prototype),ot(Ae.prototype,"openUpgradeModal",[le],Object.getOwnPropertyDescriptor(Ae.prototype,"openUpgradeModal"),Ae.prototype),ot(Ae.prototype,"setKoenigEditor",[ue],Object.getOwnPropertyDescriptor(Ae.prototype,"setKoenigEditor"),Ae.prototype),ot(Ae.prototype,"updateWordCount",[ce],Object.getOwnPropertyDescriptor(Ae.prototype,"updateWordCount"),Ae.prototype),ot(Ae.prototype,"updatePostTkCount",[de],Object.getOwnPropertyDescriptor(Ae.prototype,"updatePostTkCount"),Ae.prototype),ot(Ae.prototype,"updateFeatureImageTkCount",[pe],Object.getOwnPropertyDescriptor(Ae.prototype,"updateFeatureImageTkCount"),Ae.prototype),ot(Ae.prototype,"setFeatureImage",[me],Object.getOwnPropertyDescriptor(Ae.prototype,"setFeatureImage"),Ae.prototype),ot(Ae.prototype,"registerEditorAPI",[he],Object.getOwnPropertyDescriptor(Ae.prototype,"registerEditorAPI"),Ae.prototype),ot(Ae.prototype,"registerSecondaryEditorAPI",[be],Object.getOwnPropertyDescriptor(Ae.prototype,"registerSecondaryEditorAPI"),Ae.prototype),ot(Ae.prototype,"clearFeatureImage",[fe],Object.getOwnPropertyDescriptor(Ae.prototype,"clearFeatureImage"),Ae.prototype),ot(Ae.prototype,"setFeatureImageAlt",[ge],Object.getOwnPropertyDescriptor(Ae.prototype,"setFeatureImageAlt"),Ae.prototype),ot(Ae.prototype,"setFeatureImageCaption",[ve],Object.getOwnPropertyDescriptor(Ae.prototype,"setFeatureImageCaption"),Ae.prototype),ot(Ae.prototype,"handleFeatureImageCaptionBlur",[ye],Object.getOwnPropertyDescriptor(Ae.prototype,"handleFeatureImageCaptionBlur"),Ae.prototype),ot(Ae.prototype,"toggleSettingsMenu",[we],Object.getOwnPropertyDescriptor(Ae.prototype,"toggleSettingsMenu"),Ae.prototype),ot(Ae.prototype,"closeSettingsMenu",[Ee],Object.getOwnPropertyDescriptor(Ae.prototype,"closeSettingsMenu"),Ae.prototype),ot(Ae.prototype,"saveNewSnippet",[Pe],Object.getOwnPropertyDescriptor(Ae.prototype,"saveNewSnippet"),Ae.prototype),ot(Ae.prototype,"createSnippet",[_e],Object.getOwnPropertyDescriptor(Ae.prototype,"createSnippet"),Ae.prototype),ot(Ae.prototype,"confirmUpdateSnippet",[Oe],Object.getOwnPropertyDescriptor(Ae.prototype,"confirmUpdateSnippet"),Ae.prototype),ot(Ae.prototype,"confirmDeleteSnippet",[je],Object.getOwnPropertyDescriptor(Ae.prototype,"confirmDeleteSnippet"),Ae.prototype),ot(Ae.prototype,"autosaveTask",[f.dropTask],Object.getOwnPropertyDescriptor(Ae.prototype,"autosaveTask"),Ae.prototype),ot(Ae.prototype,"saveTask",[ke],Object.getOwnPropertyDescriptor(Ae.prototype,"saveTask"),Ae.prototype),ot(Ae.prototype,"beforeSaveTask",[f.task],Object.getOwnPropertyDescriptor(Ae.prototype,"beforeSaveTask"),Ae.prototype),ot(Ae.prototype,"updateSlugTask",[Te],Object.getOwnPropertyDescriptor(Ae.prototype,"updateSlugTask"),Ae.prototype),ot(Ae.prototype,"savePostTask",[ze],Object.getOwnPropertyDescriptor(Ae.prototype,"savePostTask"),Ae.prototype),ot(Ae.prototype,"_savePostTask",[f.task],Object.getOwnPropertyDescriptor(Ae.prototype,"_savePostTask"),Ae.prototype),ot(Ae.prototype,"afterSave",[Se],Object.getOwnPropertyDescriptor(Ae.prototype,"afterSave"),Ae.prototype),ot(Ae.prototype,"saveTitleTask",[f.task],Object.getOwnPropertyDescriptor(Ae.prototype,"saveTitleTask"),Ae.prototype),ot(Ae.prototype,"generateSlugTask",[f.enqueueTask],Object.getOwnPropertyDescriptor(Ae.prototype,"generateSlugTask"),Ae.prototype),ot(Ae.prototype,"backgroundLoaderTask",[f.restartableTask],Object.getOwnPropertyDescriptor(Ae.prototype,"backgroundLoaderTask"),Ae.prototype),ot(Ae.prototype,"syncMobiledocSnippets",[xe],Object.getOwnPropertyDescriptor(Ae.prototype,"syncMobiledocSnippets"),Ae.prototype),tt=ot(Ae.prototype,"_autosaveTask",[Ce],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),it=ot(Ae.prototype,"_timedSaveTask",[Me],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae)}),define("ghost-admin/controllers/lexical-editor/edit-loading",["exports"],function(e){var t,i,r
1317
+ n+=`: ${a}`,n=Ember.String.htmlSafe(n),o.showAlert(n,{type:"error",delayed:r,key:"post.save"})}},De=ot(Ae.prototype,"application",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ie=ot(Ae.prototype,"feature",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=ot(Ae.prototype,"membersCountCache",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Le=ot(Ae.prototype,"modals",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ne=ot(Ae.prototype,"notifications",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Fe=ot(Ae.prototype,"router",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ue=ot(Ae.prototype,"slugGenerator",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Be=ot(Ae.prototype,"search",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),He=ot(Ae.prototype,"session",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ve=ot(Ae.prototype,"settings",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qe=ot(Ae.prototype,"stateBridge",[A],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$e=ot(Ae.prototype,"ui",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),We=ot(Ae.prototype,"localRevisions",[I],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ke=ot(Ae.prototype,"unsavedChanges",[R],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ye=ot(Ae.prototype,"config",[g.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ge=ot(Ae.prototype,"excerptErrorMessage",[L],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),ot(Ae.prototype,"_pushPostState",[N],Object.getOwnPropertyDescriptor(Ae.prototype,"_pushPostState"),Ae.prototype),Je=ot(Ae.prototype,"post",[F],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Qe=ot(Ae.prototype,"willPublish",[U],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xe=ot(Ae.prototype,"willSchedule",[B],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ze=ot(Ae.prototype,"saveTasks",[H],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),et=ot(Ae.prototype,"_tagNames",[V],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ot(Ae.prototype,"hasDirtyAttributes",[q],Object.getOwnPropertyDescriptor(Ae.prototype,"hasDirtyAttributes"),Ae.prototype),ot(Ae.prototype,"_snippets",[$],Object.getOwnPropertyDescriptor(Ae.prototype,"_snippets"),Ae.prototype),ot(Ae.prototype,"snippets",[W],Object.getOwnPropertyDescriptor(Ae.prototype,"snippets"),Ae.prototype),ot(Ae.prototype,"canManageSnippets",[K],Object.getOwnPropertyDescriptor(Ae.prototype,"canManageSnippets"),Ae.prototype),ot(Ae.prototype,"_autosaveRunning",[Y],Object.getOwnPropertyDescriptor(Ae.prototype,"_autosaveRunning"),Ae.prototype),ot(Ae.prototype,"_canAutosave",[G],Object.getOwnPropertyDescriptor(Ae.prototype,"_canAutosave"),Ae.prototype),ot(Ae.prototype,"titleHasTk",[J],Object.getOwnPropertyDescriptor(Ae.prototype,"titleHasTk"),Ae.prototype),ot(Ae.prototype,"excerptHasTk",[Q],Object.getOwnPropertyDescriptor(Ae.prototype,"excerptHasTk"),Ae.prototype),ot(Ae.prototype,"tkCount",[X],Object.getOwnPropertyDescriptor(Ae.prototype,"tkCount"),Ae.prototype),ot(Ae.prototype,"updateScratch",[Z],Object.getOwnPropertyDescriptor(Ae.prototype,"updateScratch"),Ae.prototype),ot(Ae.prototype,"updateSecondaryInstanceModel",[ee],Object.getOwnPropertyDescriptor(Ae.prototype,"updateSecondaryInstanceModel"),Ae.prototype),ot(Ae.prototype,"updateTitleScratch",[te],Object.getOwnPropertyDescriptor(Ae.prototype,"updateTitleScratch"),Ae.prototype),ot(Ae.prototype,"updateExcerpt",[ie],Object.getOwnPropertyDescriptor(Ae.prototype,"updateExcerpt"),Ae.prototype),ot(Ae.prototype,"saveExcerptTask",[f.task],Object.getOwnPropertyDescriptor(Ae.prototype,"saveExcerptTask"),Ae.prototype),ot(Ae.prototype,"setSaveType",[re],Object.getOwnPropertyDescriptor(Ae.prototype,"setSaveType"),Ae.prototype),ot(Ae.prototype,"save",[ne],Object.getOwnPropertyDescriptor(Ae.prototype,"save"),Ae.prototype),ot(Ae.prototype,"cancelAutosave",[oe],Object.getOwnPropertyDescriptor(Ae.prototype,"cancelAutosave"),Ae.prototype),ot(Ae.prototype,"leaveEditor",[ae],Object.getOwnPropertyDescriptor(Ae.prototype,"leaveEditor"),Ae.prototype),ot(Ae.prototype,"openDeletePostModal",[se],Object.getOwnPropertyDescriptor(Ae.prototype,"openDeletePostModal"),Ae.prototype),ot(Ae.prototype,"openUpgradeModal",[le],Object.getOwnPropertyDescriptor(Ae.prototype,"openUpgradeModal"),Ae.prototype),ot(Ae.prototype,"setKoenigEditor",[ue],Object.getOwnPropertyDescriptor(Ae.prototype,"setKoenigEditor"),Ae.prototype),ot(Ae.prototype,"updateWordCount",[ce],Object.getOwnPropertyDescriptor(Ae.prototype,"updateWordCount"),Ae.prototype),ot(Ae.prototype,"updatePostTkCount",[de],Object.getOwnPropertyDescriptor(Ae.prototype,"updatePostTkCount"),Ae.prototype),ot(Ae.prototype,"updateFeatureImageTkCount",[pe],Object.getOwnPropertyDescriptor(Ae.prototype,"updateFeatureImageTkCount"),Ae.prototype),ot(Ae.prototype,"setFeatureImage",[me],Object.getOwnPropertyDescriptor(Ae.prototype,"setFeatureImage"),Ae.prototype),ot(Ae.prototype,"registerEditorAPI",[he],Object.getOwnPropertyDescriptor(Ae.prototype,"registerEditorAPI"),Ae.prototype),ot(Ae.prototype,"registerSecondaryEditorAPI",[be],Object.getOwnPropertyDescriptor(Ae.prototype,"registerSecondaryEditorAPI"),Ae.prototype),ot(Ae.prototype,"clearFeatureImage",[fe],Object.getOwnPropertyDescriptor(Ae.prototype,"clearFeatureImage"),Ae.prototype),ot(Ae.prototype,"setFeatureImageAlt",[ge],Object.getOwnPropertyDescriptor(Ae.prototype,"setFeatureImageAlt"),Ae.prototype),ot(Ae.prototype,"setFeatureImageCaption",[ve],Object.getOwnPropertyDescriptor(Ae.prototype,"setFeatureImageCaption"),Ae.prototype),ot(Ae.prototype,"handleFeatureImageCaptionBlur",[ye],Object.getOwnPropertyDescriptor(Ae.prototype,"handleFeatureImageCaptionBlur"),Ae.prototype),ot(Ae.prototype,"toggleSettingsMenu",[we],Object.getOwnPropertyDescriptor(Ae.prototype,"toggleSettingsMenu"),Ae.prototype),ot(Ae.prototype,"closeSettingsMenu",[Ee],Object.getOwnPropertyDescriptor(Ae.prototype,"closeSettingsMenu"),Ae.prototype),ot(Ae.prototype,"saveNewSnippet",[Pe],Object.getOwnPropertyDescriptor(Ae.prototype,"saveNewSnippet"),Ae.prototype),ot(Ae.prototype,"createSnippet",[_e],Object.getOwnPropertyDescriptor(Ae.prototype,"createSnippet"),Ae.prototype),ot(Ae.prototype,"confirmUpdateSnippet",[Oe],Object.getOwnPropertyDescriptor(Ae.prototype,"confirmUpdateSnippet"),Ae.prototype),ot(Ae.prototype,"confirmDeleteSnippet",[je],Object.getOwnPropertyDescriptor(Ae.prototype,"confirmDeleteSnippet"),Ae.prototype),ot(Ae.prototype,"autosaveTask",[f.dropTask],Object.getOwnPropertyDescriptor(Ae.prototype,"autosaveTask"),Ae.prototype),ot(Ae.prototype,"saveTask",[ke],Object.getOwnPropertyDescriptor(Ae.prototype,"saveTask"),Ae.prototype),ot(Ae.prototype,"beforeSaveTask",[f.task],Object.getOwnPropertyDescriptor(Ae.prototype,"beforeSaveTask"),Ae.prototype),ot(Ae.prototype,"updateSlugTask",[Te],Object.getOwnPropertyDescriptor(Ae.prototype,"updateSlugTask"),Ae.prototype),ot(Ae.prototype,"savePostTask",[ze],Object.getOwnPropertyDescriptor(Ae.prototype,"savePostTask"),Ae.prototype),ot(Ae.prototype,"_savePostTask",[f.task],Object.getOwnPropertyDescriptor(Ae.prototype,"_savePostTask"),Ae.prototype),ot(Ae.prototype,"afterSave",[xe],Object.getOwnPropertyDescriptor(Ae.prototype,"afterSave"),Ae.prototype),ot(Ae.prototype,"saveTitleTask",[f.task],Object.getOwnPropertyDescriptor(Ae.prototype,"saveTitleTask"),Ae.prototype),ot(Ae.prototype,"generateSlugTask",[f.enqueueTask],Object.getOwnPropertyDescriptor(Ae.prototype,"generateSlugTask"),Ae.prototype),ot(Ae.prototype,"backgroundLoaderTask",[f.restartableTask],Object.getOwnPropertyDescriptor(Ae.prototype,"backgroundLoaderTask"),Ae.prototype),ot(Ae.prototype,"syncMobiledocSnippets",[Se],Object.getOwnPropertyDescriptor(Ae.prototype,"syncMobiledocSnippets"),Ae.prototype),tt=ot(Ae.prototype,"_autosaveTask",[Ce],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),it=ot(Ae.prototype,"_timedSaveTask",[Me],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae)}),define("ghost-admin/controllers/lexical-editor/edit-loading",["exports"],function(e){var t,i,r
1320
1318
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1321
1319
  e.default=(t=Ember.inject.service,i=class extends Ember.Controller{constructor(...e){var t,i,n,o
1322
1320
  super(...e),t=this,i="ui",o=this,(n=r)&&Object.defineProperty(t,i,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(o):void 0})}},n=i.prototype,o="ui",a=[t],s={configurable:!0,enumerable:!0,writable:!0,initializer:null},u={},Object.keys(s).forEach(function(e){u[e]=s[e]}),u.enumerable=!!u.enumerable,u.configurable=!!u.configurable,("value"in u||u.initializer)&&(u.writable=!0),u=a.slice().reverse().reduce(function(e,t){return t(n,o,e)||e},u),l&&void 0!==u.initializer&&(u.value=u.initializer?u.initializer.call(l):void 0,u.initializer=void 0),r=void 0===u.initializer?(Object.defineProperty(n,o,u),null):u,i)
@@ -1333,24 +1331,24 @@ this.flowErrors="",this.hasValidated.addObjects(["newPassword","ne2Password"])
1333
1331
  try{yield this.validate()
1334
1332
  try{const{password_reset:[{message:o,emailVerificationToken:a}]}=yield this.ajax.put(n,{data:{password_reset:[{newPassword:t,ne2Password:i,token:r}]}})
1335
1333
  return this.notifications.showNotification(o,{type:"info",delayed:!0,key:"password.reset"}),a?yield this.session.authenticate("authenticator:cookie",{identification:e,password:t,token:a}):(yield this.session.setup(),yield this.session.handleAuthentication()),!0}catch(o){this.notifications.showAPIError(o,{key:"password.reset"})}}catch(o){if(this.errors.errorsFor("newPassword").length&&(this.flowErrors=this.errors.errorsFor("newPassword")[0].message),this.errors.errorsFor("ne2Password").length&&(this.flowErrors=this.errors.errorsFor("ne2Password")[0].message),o&&0===this.errors.length)throw o}}},b=k(h.prototype,"ghostPaths",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=k(h.prototype,"notifications",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=k(h.prototype,"session",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=k(h.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=k(h.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=k(h.prototype,"newPassword",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),E=k(h.prototype,"ne2Password",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),P=k(h.prototype,"token",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),_=k(h.prototype,"flowErrors",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),k(h.prototype,"handleInput",[p],Object.getOwnPropertyDescriptor(h.prototype,"handleInput"),h.prototype),k(h.prototype,"resetPasswordTask",[m],Object.getOwnPropertyDescriptor(h.prototype,"resetPasswordTask"),h.prototype),h)}),define("ghost-admin/controllers/setup",["exports","ghost-admin/mixins/validation-engine","ghost-admin/decorators/inject","ember-ajax/errors","ghost-admin/services/ajax","ember-concurrency"],function(e,t,i,r,n,o){var a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T
1336
- function z(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function S(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
1334
+ function z(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function x(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
1337
1335
  var i=e[Symbol.toPrimitive]
1338
1336
  if(void 0!==i){var r=i.call(e,t||"default")
1339
1337
  if("object"!=typeof r)return r
1340
1338
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
1341
- return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function x(e,t,i,r,n){var o={}
1339
+ return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function S(e,t,i,r,n){var o={}
1342
1340
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1343
1341
  e.default=(a=Ember.inject.controller,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember._action,h=Ember._action,b=(0,o.task)(function*(){return yield this._passwordSetup()}),f=(0,o.task)(function*(e,{identification:t,password:i}){this.session.skipAuthSuccessHandler=!0
1344
1342
  try{return yield this.session.authenticate(e,{identification:t,password:i}),this.errors.remove("session"),!0}catch(r){if("TransitionAborted"===r.message)return!0
1345
1343
  if(r&&r.payload&&r.payload.errors){if((0,n.isVersionMismatchError)(r))return this.notifications.showAPIError(r)
1346
1344
  r.payload.errors.forEach(e=>{e.message=Ember.String.htmlSafe(e.message)}),this.set("flowErrors",r.payload.errors[0].message.string)}else this.notifications.showAlert("There was a problem on the server.",{type:"error",key:"session.authenticate.failed"})
1347
- return!1}}),g=class extends(Ember.Controller.extend(t.default)){constructor(...e){super(...e),z(this,"application",v,this),z(this,"ajax",y,this),z(this,"ghostPaths",w,this),z(this,"notifications",E,this),z(this,"onboarding",P,this),z(this,"router",_,this),z(this,"session",O,this),z(this,"config",j,this),S(this,"validationType","setup"),S(this,"blogCreated",!1),S(this,"blogTitle",null),S(this,"email",""),S(this,"flowErrors",""),S(this,"name",null),S(this,"password",null),z(this,"setupTask",k,this),z(this,"authenticate",T,this)}setup(){this.setupTask.perform()}preValidate(e){if(this.get(e))return this.validate({property:e})}_passwordSetup(){const e=["blogTitle","name","email","password"],t=this.getProperties(e),i=this.blogCreated?"put":"post"
1345
+ return!1}}),g=class extends(Ember.Controller.extend(t.default)){constructor(...e){super(...e),z(this,"application",v,this),z(this,"ajax",y,this),z(this,"ghostPaths",w,this),z(this,"notifications",E,this),z(this,"onboarding",P,this),z(this,"router",_,this),z(this,"session",O,this),z(this,"config",j,this),x(this,"validationType","setup"),x(this,"blogCreated",!1),x(this,"blogTitle",null),x(this,"email",""),x(this,"flowErrors",""),x(this,"name",null),x(this,"password",null),z(this,"setupTask",k,this),z(this,"authenticate",T,this)}setup(){this.setupTask.perform()}preValidate(e){if(this.get(e))return this.validate({property:e})}_passwordSetup(){const e=["blogTitle","name","email","password"],t=this.getProperties(e),i=this.blogCreated?"put":"post"
1348
1346
  return this.set("flowErrors",""),this.hasValidated.addObjects(e),this.validate().then(()=>{const e=this.get("ghostPaths.url").api("authentication","setup")
1349
1347
  return this.ajax[i](e,{data:{setup:[{name:t.name,email:t.email,password:t.password,blogTitle:t.blogTitle}]}}).then(e=>(this.config.blogTitle=t.blogTitle,this.get("session.isAuthenticated")?this._afterAuthentication(e):(this.session.skipAuthSuccessHandler=!0,this.session.authenticate("authenticator:cookie",{identification:t.email,password:t.password}).then(()=>(this.set("blogCreated",!0),this._afterAuthentication(e))).catch(e=>{this._handleAuthenticationError(e)})))).catch(e=>{this._handleSaveError(e)})}).catch(()=>{this.set("flowErrors","Fill out every field correctly to set up your site.")})}_handleSaveError(e){if((0,r.isInvalidError)(e)){const[t]=e.payload.errors
1350
1348
  this.set("flowErrors",[t.message,t.context].join(" "))}else this.notifications.showAPIError(e,{key:"setup.blog-details"})}_handleAuthenticationError(e){if(e&&e.payload&&e.payload.errors){const[t]=e.payload.errors
1351
1349
  this.set("flowErrors",[t.message,t.context].join(" "))}else{if("TransitionAborted"===e.message)return!0
1352
- this.notifications.showAlert("There was a problem on the server.",{type:"error",key:"setup.authenticate.failed"})}}async _afterAuthentication(){await this.session.handleAuthentication(),await this.onboarding.startChecklist(),window.location.hash="/setup/onboarding?returnTo=/analytics"}},v=x(g.prototype,"application",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=x(g.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=x(g.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=x(g.prototype,"notifications",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=x(g.prototype,"onboarding",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=x(g.prototype,"router",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=x(g.prototype,"session",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=x(g.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x(g.prototype,"setup",[m],Object.getOwnPropertyDescriptor(g.prototype,"setup"),g.prototype),x(g.prototype,"preValidate",[h],Object.getOwnPropertyDescriptor(g.prototype,"preValidate"),g.prototype),k=x(g.prototype,"setupTask",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=x(g.prototype,"authenticate",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g)}),define("ghost-admin/controllers/signin-verify",["exports","ember-data","ghost-admin/config/environment","tracked-built-ins","ember-ajax/errors","ember-concurrency"],function(e,t,i,r,n,o){var a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S
1353
- function x(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function C(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
1350
+ this.notifications.showAlert("There was a problem on the server.",{type:"error",key:"setup.authenticate.failed"})}}async _afterAuthentication(){await this.session.handleAuthentication(),await this.onboarding.startChecklist(),window.location.hash="/setup/onboarding?returnTo=/analytics"}},v=S(g.prototype,"application",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=S(g.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=S(g.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=S(g.prototype,"notifications",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=S(g.prototype,"onboarding",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=S(g.prototype,"router",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=S(g.prototype,"session",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=S(g.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S(g.prototype,"setup",[m],Object.getOwnPropertyDescriptor(g.prototype,"setup"),g.prototype),S(g.prototype,"preValidate",[h],Object.getOwnPropertyDescriptor(g.prototype,"preValidate"),g.prototype),k=S(g.prototype,"setupTask",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=S(g.prototype,"authenticate",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g)}),define("ghost-admin/controllers/signin-verify",["exports","ember-data","ghost-admin/config/environment","tracked-built-ins","ember-ajax/errors","ember-concurrency"],function(e,t,i,r,n,o){var a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x
1351
+ function S(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function C(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
1354
1352
  var i=e[Symbol.toPrimitive]
1355
1353
  if(void 0!==i){var r=i.call(e,t||"default")
1356
1354
  if("object"!=typeof r)return r
@@ -1358,11 +1356,11 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
1358
1356
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function M(e,t,i,r,n){var o={}
1359
1357
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1360
1358
  const{Errors:A}=t.default,D=!0,I=!1
1361
- let R=(a=Ember._tracked,s=Ember._tracked,u=M((l=class{constructor(){x(this,"token",u,this),x(this,"hasValidated",c,this),C(this,"errors",A.create())}validate(){return this.resetValidations(),this.token?.trim()?!!this.token?.trim().match(/^\d{6}$/)||(this.errors.add("token","Verification code must be 6 numbers"),this.hasValidated.push("token"),!1):(this.errors.add("token","Verification code is required"),this.hasValidated.push("token"),!1)}setTokenError(e){this.resetValidations(),this.errors.add("token",e),this.hasValidated.push("token")}resetValidations(){this.errors.clear(),this.hasValidated=new r.TrackedArray}get validationMessage(){return this.errors.toArray()[0]?.message}}).prototype,"token",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=M(l.prototype,"hasValidated",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new r.TrackedArray}}),l)
1362
- e.default=(d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._tracked,v=Ember._action,y=Ember._action,w=(0,o.task)({drop:!0}),E=(0,o.task)({drop:!0}),P=class extends Ember.Controller{constructor(){super(...arguments),x(this,"ajax",_,this),x(this,"session",O,this),x(this,"ghostPaths",j,this),x(this,"flowErrors",k,this),x(this,"verifyData",T,this),x(this,"resendTokenCountdown",z,this),x(this,"twoFactorRequired",S,this)
1359
+ let R=(a=Ember._tracked,s=Ember._tracked,u=M((l=class{constructor(){S(this,"token",u,this),S(this,"hasValidated",c,this),C(this,"errors",A.create())}validate(){return this.resetValidations(),this.token?.trim()?!!this.token?.trim().match(/^\d{6}$/)||(this.errors.add("token","Verification code must be 6 numbers"),this.hasValidated.push("token"),!1):(this.errors.add("token","Verification code is required"),this.hasValidated.push("token"),!1)}setTokenError(e){this.resetValidations(),this.errors.add("token",e),this.hasValidated.push("token")}resetValidations(){this.errors.clear(),this.hasValidated=new r.TrackedArray}get validationMessage(){return this.errors.toArray()[0]?.message}}).prototype,"token",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=M(l.prototype,"hasValidated",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new r.TrackedArray}}),l)
1360
+ e.default=(d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._tracked,v=Ember._action,y=Ember._action,w=(0,o.task)({drop:!0}),E=(0,o.task)({drop:!0}),P=class extends Ember.Controller{constructor(){super(...arguments),S(this,"ajax",_,this),S(this,"session",O,this),S(this,"ghostPaths",j,this),S(this,"flowErrors",k,this),S(this,"verifyData",T,this),S(this,"resendTokenCountdown",z,this),S(this,"twoFactorRequired",x,this)
1363
1361
  "2FA_TOKEN_REQUIRED"===this.session.get("errorCode")&&(this.twoFactorRequired=!0),this.session.set("errorCode",null)}resetResendTokenCountdown(){clearInterval(this.resendTokenCountdownInterval),this.resendTokenCountdownStarted=!1}resetData(){this.verifyData=new R}handleTokenInput(e){this.resetErrorState(),this.verifyData.token=e.target.value}*verifyTokenTask(){if(this.flowErrors="",!this.verifyData.validate())return I
1364
1362
  try{return yield this.session.authenticate("authenticator:cookie",{token:this.verifyData.token}),D}catch(e){return(0,n.isUnauthorizedError)(e)?this.verifyData.setTokenError("Your verification code is incorrect."):e&&e.payload&&e.payload.errors?this.flowErrors=e.payload.errors[0].message:this.flowErrors="There was a problem verifying the code. Please try again.",I}}*resendTokenTask(){const e=`${this.ghostPaths.apiRoot}/session/verify`
1365
- try{return yield this.ajax.post(e,{contentType:"application/json;charset=utf-8",dataType:"text"}),this.delayResendAvailabilityTask.perform(),D}catch(t){return t&&t.payload&&t.payload.errors?this.flowErrors=t.payload.errors[0].message:this.flowErrors="There was a problem resending the verification token.",I}}*delayResendAvailabilityTask(){for(this.resendTokenCountdown=15;this.resendTokenCountdown>0;)yield(0,o.timeout)("test"===i.default.environment?10:1e3),this.resendTokenCountdown=this.resendTokenCountdown-1}resetErrorState(){this.verifyTokenTask.last=null,this.flowErrors="",this.verifyData.resetValidations()}},_=M(P.prototype,"ajax",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=M(P.prototype,"session",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=M(P.prototype,"ghostPaths",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=M(P.prototype,"flowErrors",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),T=M(P.prototype,"verifyData",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new R}}),z=M(P.prototype,"resendTokenCountdown",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 15}}),S=M(P.prototype,"twoFactorRequired",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M(P.prototype,"resetData",[v],Object.getOwnPropertyDescriptor(P.prototype,"resetData"),P.prototype),M(P.prototype,"handleTokenInput",[y],Object.getOwnPropertyDescriptor(P.prototype,"handleTokenInput"),P.prototype),M(P.prototype,"verifyTokenTask",[w],Object.getOwnPropertyDescriptor(P.prototype,"verifyTokenTask"),P.prototype),M(P.prototype,"resendTokenTask",[E],Object.getOwnPropertyDescriptor(P.prototype,"resendTokenTask"),P.prototype),M(P.prototype,"delayResendAvailabilityTask",[o.task],Object.getOwnPropertyDescriptor(P.prototype,"delayResendAvailabilityTask"),P.prototype),P)}),define("ghost-admin/controllers/signin",["exports","ghost-admin/mixins/validation-engine","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M,A,D
1363
+ try{return yield this.ajax.post(e,{contentType:"application/json;charset=utf-8",dataType:"text"}),this.delayResendAvailabilityTask.perform(),D}catch(t){return t&&t.payload&&t.payload.errors?this.flowErrors=t.payload.errors[0].message:this.flowErrors="There was a problem resending the verification token.",I}}*delayResendAvailabilityTask(){for(this.resendTokenCountdown=15;this.resendTokenCountdown>0;)yield(0,o.timeout)("test"===i.default.environment?10:1e3),this.resendTokenCountdown=this.resendTokenCountdown-1}resetErrorState(){this.verifyTokenTask.last=null,this.flowErrors="",this.verifyData.resetValidations()}},_=M(P.prototype,"ajax",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=M(P.prototype,"session",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=M(P.prototype,"ghostPaths",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=M(P.prototype,"flowErrors",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),T=M(P.prototype,"verifyData",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new R}}),z=M(P.prototype,"resendTokenCountdown",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 15}}),x=M(P.prototype,"twoFactorRequired",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M(P.prototype,"resetData",[v],Object.getOwnPropertyDescriptor(P.prototype,"resetData"),P.prototype),M(P.prototype,"handleTokenInput",[y],Object.getOwnPropertyDescriptor(P.prototype,"handleTokenInput"),P.prototype),M(P.prototype,"verifyTokenTask",[w],Object.getOwnPropertyDescriptor(P.prototype,"verifyTokenTask"),P.prototype),M(P.prototype,"resendTokenTask",[E],Object.getOwnPropertyDescriptor(P.prototype,"resendTokenTask"),P.prototype),M(P.prototype,"delayResendAvailabilityTask",[o.task],Object.getOwnPropertyDescriptor(P.prototype,"delayResendAvailabilityTask"),P.prototype),P)}),define("ghost-admin/controllers/signin",["exports","ghost-admin/mixins/validation-engine","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M,A,D
1366
1364
  function I(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function R(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
1367
1365
  var i=e[Symbol.toPrimitive]
1368
1366
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -1371,7 +1369,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
1371
1369
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function L(e,t,i,r,n){var o={}
1372
1370
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1373
1371
  const N=!0,F=!1
1374
- e.default=(o=Ember.inject.controller,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember._tracked,m=Ember._tracked,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._action,v=Ember._action,y=(0,n.task)({drop:!0}),w=(0,n.task)({drop:!0}),E=class extends(Ember.Controller.extend(t.default)){constructor(...e){super(...e),I(this,"application",P,this),I(this,"ajax",_,this),I(this,"ghostPaths",O,this),I(this,"notifications",j,this),I(this,"router",k,this),I(this,"session",T,this),I(this,"settings",z,this),I(this,"config",S,this),I(this,"submitting",x,this),I(this,"loggingIn",C,this),I(this,"flowNotification",M,this),I(this,"flowErrors",A,this),I(this,"passwordResetEmailSent",D,this),R(this,"validationType","signin"),R(this,"authProperties",["identification","password"])}get signin(){return this.model}handleInput(e){this.signin[e.target.name]=e.target.value}validateProperty(e){return this.validate({property:e})}*authenticateTask(e,{identification:t,password:i}){try{return yield this.session.authenticate(e,{identification:t,password:i}),N}catch(n){if((0,r.isTwoFactorTokenRequiredError)(n)){const e=n.payload?.errors[0]?.code
1372
+ e.default=(o=Ember.inject.controller,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember._tracked,m=Ember._tracked,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._action,v=Ember._action,y=(0,n.task)({drop:!0}),w=(0,n.task)({drop:!0}),E=class extends(Ember.Controller.extend(t.default)){constructor(...e){super(...e),I(this,"application",P,this),I(this,"ajax",_,this),I(this,"ghostPaths",O,this),I(this,"notifications",j,this),I(this,"router",k,this),I(this,"session",T,this),I(this,"settings",z,this),I(this,"config",x,this),I(this,"submitting",S,this),I(this,"loggingIn",C,this),I(this,"flowNotification",M,this),I(this,"flowErrors",A,this),I(this,"passwordResetEmailSent",D,this),R(this,"validationType","signin"),R(this,"authProperties",["identification","password"])}get signin(){return this.model}handleInput(e){this.signin[e.target.name]=e.target.value}validateProperty(e){return this.validate({property:e})}*authenticateTask(e,{identification:t,password:i}){try{return yield this.session.authenticate(e,{identification:t,password:i}),N}catch(n){if((0,r.isTwoFactorTokenRequiredError)(n)){const e=n.payload?.errors[0]?.code
1375
1373
  return this.session.set("errorCode",e),this.router.transitionTo("signin-verify"),N}if((0,r.isVersionMismatchError)(n))return this.notifications.showAPIError(n),F
1376
1374
  if(this.signin.errors.clear(),n&&n.payload&&n.payload.errors){const[e]=n.payload.errors
1377
1375
  e.message=Ember.String.htmlSafe(e.message||""),e.context=Ember.String.htmlSafe(e.context||""),this.flowErrors=e.context.string||e.message.string,"TooManyRequestsError"===e.type&&(this.flowErrors=e.message.string),"PasswordResetRequiredError"===e.type&&(this.passwordResetEmailSent=!0),e.context.string.match(/user with that email/i)&&this.signin.errors.add("identification",""),e.context.string.match(/password is incorrect/i)&&this.signin.errors.add("password","")}else console.error(n),this.notifications.showAlert("There was a problem on the server.",{type:"error",key:"session.authenticate.failed"})
@@ -1383,7 +1381,7 @@ try{return yield this.validate({property:"forgotPassword"}),yield this.ajax.post
1383
1381
  if((0,r.isVersionMismatchError)(n))return i.showAPIError(n),F
1384
1382
  if(n&&n.payload&&n.payload.errors&&Ember.isArray(n.payload.errors)){const[{message:e}]=n.payload.errors
1385
1383
  this.flowErrors=e,e.match(/no user|not found/)&&this.signin.errors.add("identification","")}else i.showAPIError(n,{defaultErrorText:"There was a problem with the reset, please try again.",key:"forgot-password.send"})
1386
- return F}}},P=L(E.prototype,"application",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=L(E.prototype,"ajax",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=L(E.prototype,"ghostPaths",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=L(E.prototype,"notifications",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=L(E.prototype,"router",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=L(E.prototype,"session",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=L(E.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=L(E.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=L(E.prototype,"submitting",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=L(E.prototype,"loggingIn",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M=L(E.prototype,"flowNotification",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),A=L(E.prototype,"flowErrors",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),D=L(E.prototype,"passwordResetEmailSent",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),L(E.prototype,"handleInput",[g],Object.getOwnPropertyDescriptor(E.prototype,"handleInput"),E.prototype),L(E.prototype,"validateProperty",[v],Object.getOwnPropertyDescriptor(E.prototype,"validateProperty"),E.prototype),L(E.prototype,"authenticateTask",[y],Object.getOwnPropertyDescriptor(E.prototype,"authenticateTask"),E.prototype),L(E.prototype,"validateAndAuthenticateTask",[w],Object.getOwnPropertyDescriptor(E.prototype,"validateAndAuthenticateTask"),E.prototype),L(E.prototype,"forgotPasswordTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"forgotPasswordTask"),E.prototype),E)}),define("ghost-admin/controllers/signup",["exports","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-concurrency"],function(e,t,i,r){var n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O
1384
+ return F}}},P=L(E.prototype,"application",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=L(E.prototype,"ajax",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=L(E.prototype,"ghostPaths",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=L(E.prototype,"notifications",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=L(E.prototype,"router",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=L(E.prototype,"session",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=L(E.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=L(E.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=L(E.prototype,"submitting",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=L(E.prototype,"loggingIn",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M=L(E.prototype,"flowNotification",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),A=L(E.prototype,"flowErrors",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),D=L(E.prototype,"passwordResetEmailSent",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),L(E.prototype,"handleInput",[g],Object.getOwnPropertyDescriptor(E.prototype,"handleInput"),E.prototype),L(E.prototype,"validateProperty",[v],Object.getOwnPropertyDescriptor(E.prototype,"validateProperty"),E.prototype),L(E.prototype,"authenticateTask",[y],Object.getOwnPropertyDescriptor(E.prototype,"authenticateTask"),E.prototype),L(E.prototype,"validateAndAuthenticateTask",[w],Object.getOwnPropertyDescriptor(E.prototype,"validateAndAuthenticateTask"),E.prototype),L(E.prototype,"forgotPasswordTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"forgotPasswordTask"),E.prototype),E)}),define("ghost-admin/controllers/signup",["exports","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-concurrency"],function(e,t,i,r){var n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O
1387
1385
  function j(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function k(e,t,i,r,n){var o={}
1388
1386
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1389
1387
  e.default=(n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember._tracked,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=(0,r.task)({drop:!0}),f=class extends Ember.Controller{constructor(...e){super(...e),j(this,"ajax",g,this),j(this,"ghostPaths",v,this),j(this,"notifications",y,this),j(this,"session",w,this),j(this,"settings",E,this),j(this,"router",P,this),j(this,"config",_,this),j(this,"flowErrors",O,this)}get signupDetails(){return this.model}validate(e){return this.signupDetails.validate({property:e})}setSignupProperty(e,t){const i=t.target.value
@@ -1579,7 +1577,7 @@ return(yield this.ajax.request(e)).member_signin_urls[0]}).drop(),logoutAllDevic
1579
1577
  yield this.ajax.post(e)}).drop()})}),define("ghost-admin/models/navigation-item",["exports","ghost-admin/mixins/validation-engine"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1580
1578
  e.default=Ember.Object.extend(t.default,{label:"",url:"",icon:"",visibility:"public",isNew:!1,isSecondary:!1,validationType:"navItem",isComplete:Ember.computed("label","url","icon",function(){const{label:e,url:t,icon:i}=this
1581
1579
  return!(Ember.isBlank(e)&&Ember.isBlank(i)||Ember.isBlank(t))}),isBlank:Ember.computed("label","url","icon",function(){const{label:e,url:t,icon:i}=this
1582
- return Ember.isBlank(e)&&Ember.isBlank(t)&&Ember.isBlank(i)})})}),define("ghost-admin/models/newsletter",["exports","@ember-data/model","ghost-admin/mixins/validation-engine"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G,J,Q,X,Z,ee
1580
+ return Ember.isBlank(e)&&Ember.isBlank(t)&&Ember.isBlank(i)})})}),define("ghost-admin/models/newsletter",["exports","@ember-data/model","ghost-admin/mixins/validation-engine"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G,J,Q,X,Z,ee
1583
1581
  function te(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function ie(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
1584
1582
  var i=e[Symbol.toPrimitive]
1585
1583
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -1587,9 +1585,9 @@ if("object"!=typeof r)return r
1587
1585
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
1588
1586
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function re(e,t,i,r,n){var o={}
1589
1587
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1590
- e.default=(r=(0,t.attr)({defaultValue:"newsletter"}),n=(0,t.attr)({defaultValue:"active"}),o=(0,t.attr)({defaultValue:!0}),a=(0,t.attr)({defaultValue:"members"}),s=(0,t.attr)({defaultValue:0}),l=(0,t.attr)({defaultValue:!0}),u=(0,t.attr)({defaultValue:!0}),c=(0,t.attr)({defaultValue:!0}),d=(0,t.attr)({defaultValue:!0}),p=(0,t.attr)({defaultValue:!0}),m=(0,t.attr)({defaultValue:!1}),h=(0,t.attr)({defaultValue:!0}),b=(0,t.attr)({defaultValue:!1}),f=(0,t.attr)({defaultValue:!1}),g=(0,t.attr)({defaultValue:"sans_serif"}),v=(0,t.attr)({defaultValue:"center"}),y=(0,t.attr)({defaultValue:!0}),w=(0,t.attr)({defaultValue:"sans_serif"}),E=(0,t.attr)({defaultValue:"light"}),P=(0,t.attr)({defaultValue:null}),_=(0,t.attr)({defaultValue:!0}),O=class extends(t.default.extend(i.default)){constructor(...e){super(...e),ie(this,"validationType","newsletter"),te(this,"name",j,this),te(this,"slug",k,this),te(this,"description",T,this),te(this,"senderName",z,this),te(this,"senderEmail",S,this),te(this,"senderReplyTo",x,this),te(this,"status",C,this),te(this,"subscribeOnSignup",M,this),te(this,"visibility",A,this),te(this,"sortOrder",D,this),te(this,"feedbackEnabled",I,this),te(this,"headerImage",R,this),te(this,"showHeaderIcon",L,this),te(this,"showHeaderTitle",N,this),te(this,"showHeaderName",F,this),te(this,"showPostTitleSection",U,this),te(this,"showExcerpt",B,this),te(this,"showCommentCta",H,this),te(this,"showSubscriptionDetails",V,this),te(this,"showLatestPosts",q,this),te(this,"titleFontCategory",$,this),te(this,"titleAlignment",W,this),te(this,"showFeatureImage",K,this),te(this,"bodyFontCategory",Y,this),te(this,"backgroundColor",G,this),te(this,"postTitleColor",J,this),te(this,"footerContent",Q,this),te(this,"showBadge",X,this)
1588
+ e.default=(r=(0,t.attr)({defaultValue:"newsletter"}),n=(0,t.attr)({defaultValue:"active"}),o=(0,t.attr)({defaultValue:!0}),a=(0,t.attr)({defaultValue:"members"}),s=(0,t.attr)({defaultValue:0}),l=(0,t.attr)({defaultValue:!0}),u=(0,t.attr)({defaultValue:!0}),c=(0,t.attr)({defaultValue:!0}),d=(0,t.attr)({defaultValue:!0}),p=(0,t.attr)({defaultValue:!0}),m=(0,t.attr)({defaultValue:!1}),h=(0,t.attr)({defaultValue:!0}),b=(0,t.attr)({defaultValue:!1}),f=(0,t.attr)({defaultValue:!1}),g=(0,t.attr)({defaultValue:"sans_serif"}),v=(0,t.attr)({defaultValue:"center"}),y=(0,t.attr)({defaultValue:!0}),w=(0,t.attr)({defaultValue:"sans_serif"}),E=(0,t.attr)({defaultValue:"light"}),P=(0,t.attr)({defaultValue:null}),_=(0,t.attr)({defaultValue:!0}),O=class extends(t.default.extend(i.default)){constructor(...e){super(...e),ie(this,"validationType","newsletter"),te(this,"name",j,this),te(this,"slug",k,this),te(this,"description",T,this),te(this,"senderName",z,this),te(this,"senderEmail",x,this),te(this,"senderReplyTo",S,this),te(this,"status",C,this),te(this,"subscribeOnSignup",M,this),te(this,"visibility",A,this),te(this,"sortOrder",D,this),te(this,"feedbackEnabled",I,this),te(this,"headerImage",R,this),te(this,"showHeaderIcon",L,this),te(this,"showHeaderTitle",N,this),te(this,"showHeaderName",F,this),te(this,"showPostTitleSection",U,this),te(this,"showExcerpt",B,this),te(this,"showCommentCta",H,this),te(this,"showSubscriptionDetails",V,this),te(this,"showLatestPosts",q,this),te(this,"titleFontCategory",$,this),te(this,"titleAlignment",W,this),te(this,"showFeatureImage",K,this),te(this,"bodyFontCategory",Y,this),te(this,"backgroundColor",G,this),te(this,"postTitleColor",J,this),te(this,"footerContent",Q,this),te(this,"showBadge",X,this)
1591
1589
  te(this,"count",Z,this),te(this,"_meta",ee,this)}get recipientFilter(){const e=[`newsletters.slug:${this.slug}`,"email_disabled:0"]
1592
- return"paid"===this.visibility&&e.push("status:-free"),e.join("+")}},j=re(O.prototype,"name",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=re(O.prototype,"slug",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=re(O.prototype,"description",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=re(O.prototype,"senderName",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=re(O.prototype,"senderEmail",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=re(O.prototype,"senderReplyTo",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=re(O.prototype,"status",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=re(O.prototype,"subscribeOnSignup",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=re(O.prototype,"visibility",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=re(O.prototype,"sortOrder",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=re(O.prototype,"feedbackEnabled",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=re(O.prototype,"headerImage",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=re(O.prototype,"showHeaderIcon",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=re(O.prototype,"showHeaderTitle",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=re(O.prototype,"showHeaderName",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=re(O.prototype,"showPostTitleSection",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=re(O.prototype,"showExcerpt",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=re(O.prototype,"showCommentCta",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=re(O.prototype,"showSubscriptionDetails",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=re(O.prototype,"showLatestPosts",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=re(O.prototype,"titleFontCategory",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=re(O.prototype,"titleAlignment",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=re(O.prototype,"showFeatureImage",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=re(O.prototype,"bodyFontCategory",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=re(O.prototype,"backgroundColor",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=re(O.prototype,"postTitleColor",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=re(O.prototype,"footerContent",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=re(O.prototype,"showBadge",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=re(O.prototype,"count",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=re(O.prototype,"_meta",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O)}),define("ghost-admin/models/notification",["exports","@ember-data/model"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1590
+ return"paid"===this.visibility&&e.push("status:-free"),e.join("+")}},j=re(O.prototype,"name",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=re(O.prototype,"slug",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=re(O.prototype,"description",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=re(O.prototype,"senderName",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=re(O.prototype,"senderEmail",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=re(O.prototype,"senderReplyTo",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=re(O.prototype,"status",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=re(O.prototype,"subscribeOnSignup",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=re(O.prototype,"visibility",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=re(O.prototype,"sortOrder",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=re(O.prototype,"feedbackEnabled",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=re(O.prototype,"headerImage",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=re(O.prototype,"showHeaderIcon",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=re(O.prototype,"showHeaderTitle",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=re(O.prototype,"showHeaderName",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=re(O.prototype,"showPostTitleSection",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=re(O.prototype,"showExcerpt",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=re(O.prototype,"showCommentCta",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=re(O.prototype,"showSubscriptionDetails",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=re(O.prototype,"showLatestPosts",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=re(O.prototype,"titleFontCategory",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=re(O.prototype,"titleAlignment",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=re(O.prototype,"showFeatureImage",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=re(O.prototype,"bodyFontCategory",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=re(O.prototype,"backgroundColor",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=re(O.prototype,"postTitleColor",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=re(O.prototype,"footerContent",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=re(O.prototype,"showBadge",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=re(O.prototype,"count",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=re(O.prototype,"_meta",[t.attr],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O)}),define("ghost-admin/models/notification",["exports","@ember-data/model"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1593
1591
  e.default=t.default.extend({custom:(0,t.attr)("boolean"),dismissible:(0,t.attr)("boolean"),key:(0,t.attr)("string"),message:(0,t.attr)("string"),status:(0,t.attr)("string"),type:(0,t.attr)("string")})}),define("ghost-admin/models/obj-hash",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1594
1592
  e.default=Ember.Object.extend({contentLength:0,length:Ember.computed.alias("contentLength"),init:function(){this._super(),this.content={}},add:function(e){var t=this.generateId()
1595
1593
  return this.get("content")[t]=e,this.incrementProperty("contentLength"),t},getObj:function(e){var t=this.get("content")[e]
@@ -1983,13 +1981,13 @@ if(void 0!==i){var r=i.call(e,t||"default")
1983
1981
  if("object"!=typeof r)return r
1984
1982
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
1985
1983
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function v(e,t,i,r,n){var o={}
1986
- return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VersionMismatchError=e.UnsupportedMediaTypeError=e.TwoFactorTokenRequiredError=e.ThemeValidationError=e.ServerUnreachableError=e.RequestEntityTooLargeError=e.MaintenanceError=e.HostLimitError=e.EmailError=e.DataImportError=e.AcceptedResponse=void 0,e.getErrorCode=C,e.isAcceptedResponse=V,e.isDataImportError=O,e.isEmailError=F,e.isHostLimitError=L,e.isMaintenanceError=A,e.isRequestEntityTooLargeError=z,e.isServerUnreachableError=k,e.isThemeValidationError=I,e.isTwoFactorTokenRequiredError=B,e.isUnsupportedMediaTypeError=x,e.isVersionMismatchError=P
1984
+ return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VersionMismatchError=e.UnsupportedMediaTypeError=e.TwoFactorTokenRequiredError=e.ThemeValidationError=e.ServerUnreachableError=e.RequestEntityTooLargeError=e.MaintenanceError=e.HostLimitError=e.EmailError=e.DataImportError=e.AcceptedResponse=void 0,e.getErrorCode=C,e.isAcceptedResponse=V,e.isDataImportError=O,e.isEmailError=F,e.isHostLimitError=L,e.isMaintenanceError=A,e.isRequestEntityTooLargeError=z,e.isServerUnreachableError=k,e.isThemeValidationError=I,e.isTwoFactorTokenRequiredError=B,e.isUnsupportedMediaTypeError=S,e.isVersionMismatchError=P
1987
1985
  const y=/\/ghost\/api\//
1988
1986
  function w(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){}return e}class E extends o.AjaxError{constructor(e){super(e,"API server is running a newer version of Ghost, please upgrade.")}}function P(e,t){return(0,o.isAjaxError)(e)?e instanceof E:"VersionMismatchError"===Ember.get(t||{},"errors.firstObject.type")}e.VersionMismatchError=E
1989
1987
  class _ extends o.AjaxError{constructor(e){super(e,"The server encountered an error whilst importing data.")}}function O(e,t){return(0,o.isAjaxError)(e)?e instanceof _:"DataImportError"===Ember.get(t||{},"errors.firstObject.type")}e.DataImportError=_
1990
1988
  class j extends o.AjaxError{constructor(e){super(e,"Server was unreachable")}}function k(e){return(0,o.isAjaxError)(e)?e instanceof j:0===e||"0"===e}e.ServerUnreachableError=j
1991
1989
  class T extends o.AjaxError{constructor(e){super(e,"Request is larger than the maximum file size the server allows")}}function z(e){return(0,o.isAjaxError)(e)?e instanceof T:413===e}e.RequestEntityTooLargeError=T
1992
- class S extends o.AjaxError{constructor(e){super(e,"Request contains an unknown or unsupported file type.")}}function x(e){return(0,o.isAjaxError)(e)?e instanceof S:415===e}function C(e){return(0,o.isAjaxError)(e)&&e.payload&&e.payload.errors&&Array.isArray(e.payload.errors)&&e.payload.errors.length>0&&e.payload.errors[0].code||null}e.UnsupportedMediaTypeError=S
1990
+ class x extends o.AjaxError{constructor(e){super(e,"Request contains an unknown or unsupported file type.")}}function S(e){return(0,o.isAjaxError)(e)?e instanceof x:415===e}function C(e){return(0,o.isAjaxError)(e)&&e.payload&&e.payload.errors&&Array.isArray(e.payload.errors)&&e.payload.errors.length>0&&e.payload.errors[0].code||null}e.UnsupportedMediaTypeError=x
1993
1991
  class M extends o.AjaxError{constructor(e){super(e,"Ghost is currently undergoing maintenance, please wait a moment then retry.")}}function A(e){return(0,o.isAjaxError)(e)?e instanceof M:503===e}e.MaintenanceError=M
1994
1992
  class D extends o.AjaxError{constructor(e){super(e,"Theme is not compatible or contains errors.")}}function I(e,t){return(0,o.isAjaxError)(e)?e instanceof D:"ThemeValidationError"===Ember.get(t||{},"errors.firstObject.type")}e.ThemeValidationError=D
1995
1993
  class R extends o.AjaxError{constructor(e){super(e,"A hosting plan limit was reached or exceeded.")}}function L(e,t){return(0,o.isAjaxError)(e)?e instanceof R:"HostLimitError"===Ember.get(t||{},"errors.firstObject.type")}e.HostLimitError=R
@@ -2010,7 +2008,7 @@ await(0,s.timeout)(c[a]||c[c.length-1]),a+=1}}handleResponse(e,i,r,n){if(t.setCo
2010
2008
  if(this.isVersionMismatchError(e,i,r))return new E(r)
2011
2009
  if(this.isServerUnreachableError(e,i,r))return new j(r)
2012
2010
  if(this.isRequestEntityTooLargeError(e,i,r))return new T(r)
2013
- if(this.isUnsupportedMediaTypeError(e,i,r))return new S(r)
2011
+ if(this.isUnsupportedMediaTypeError(e,i,r))return new x(r)
2014
2012
  if(this.isMaintenanceError(e,i,r))return new M(r)
2015
2013
  if(this.isThemeValidationError(e,i,r))return new D(r)
2016
2014
  if(this.isHostLimitError(e,i,r))return new R(r)
@@ -2018,9 +2016,9 @@ if(this.isEmailError(e,i,r))return new N(r)
2018
2016
  if(this.isAcceptedResponse(e))return new H(r)
2019
2017
  const a=y.test(n.url),s=this.get("session.isAuthenticated"),l=this.isUnauthorizedError(e,i,r),u=(0,o.isForbiddenError)(e,i,r)
2020
2018
  return a&&(this._responseServer=i.server),s&&a&&(l||u&&"Authorization failed"===r.errors?.[0].message)&&(this.skipSessionDeletion=!0,this.session.invalidate()),super.handleResponse(...arguments)}normalizeErrorResponse(e,t,i){if(i&&"object"==typeof i){let e=i.error||i.errors||i.message||void 0
2021
- e&&(Ember.isArray(e)||(e=[e]),i.errors=e.map(function(e){return"string"==typeof e?{message:e}:e}))}return super.normalizeErrorResponse(e,t,i)}isTwoFactorTokenRequiredError(e,t,i){return B(e,i)}isVersionMismatchError(e,t,i){return P(e,i)}isServerUnreachableError(e){return k(e)}isRequestEntityTooLargeError(e){return z(e)}isUnsupportedMediaTypeError(e){return x(e)}isDataImportError(e){return O(e)}isMaintenanceError(e,t,i){return A(e)}isThemeValidationError(e,t,i){return I(e,i)}isHostLimitError(e,t,i){return L(e,i)}isEmailError(e,t,i){return F(e,i)}isAcceptedResponse(e){return V(e)}},p=v(d.prototype,"feature",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=v(d.prototype,"session",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=v(d.prototype,"upgradeStatus",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=v(d.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d)
2019
+ e&&(Ember.isArray(e)||(e=[e]),i.errors=e.map(function(e){return"string"==typeof e?{message:e}:e}))}return super.normalizeErrorResponse(e,t,i)}isTwoFactorTokenRequiredError(e,t,i){return B(e,i)}isVersionMismatchError(e,t,i){return P(e,i)}isServerUnreachableError(e){return k(e)}isRequestEntityTooLargeError(e){return z(e)}isUnsupportedMediaTypeError(e){return S(e)}isDataImportError(e){return O(e)}isMaintenanceError(e,t,i){return A(e)}isThemeValidationError(e,t,i){return I(e,i)}isHostLimitError(e,t,i){return L(e,i)}isEmailError(e,t,i){return F(e,i)}isAcceptedResponse(e){return V(e)}},p=v(d.prototype,"feature",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=v(d.prototype,"session",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=v(d.prototype,"upgradeStatus",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=v(d.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d)
2022
2020
  q.reopen({contentType:"application/json; charset=UTF-8"})
2023
- e.default=q}),define("ghost-admin/services/billing",["exports","@sentry/ember","@tryghost/admin-x-framework/api/dunning","ghost-admin/decorators/inject"],function(e,t,i,r){var n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M,A,D,I,R,L,N,F,U,B
2021
+ e.default=q}),define("ghost-admin/services/billing",["exports","@sentry/ember","@tryghost/admin-x-framework/api/dunning","ghost-admin/decorators/inject"],function(e,t,i,r){var n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M,A,D,I,R,L,N,F,U,B
2024
2022
  function H(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function V(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2025
2023
  var i=e[Symbol.toPrimitive]
2026
2024
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -2029,15 +2027,14 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
2029
2027
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function q(e,t,i,r,n){var o={}
2030
2028
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2031
2029
  const $=[1e3],W="preload",K="user_open",Y=Object.freeze(Object.assign(Object.create(null),{theme:"/settings/design/change-theme",analytics:"/settings/analytics",staff:"/settings/staff",stripe:"/settings/stripe-connect",integrations:"/settings/integrations"}))
2032
- e.default=(n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember._tracked,c=Ember._tracked,d=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,P=class extends Ember.Service{constructor(...e){super(...e),H(this,"feature",_,this),H(this,"ghostPaths",O,this),H(this,"router",j,this),H(this,"session",k,this),H(this,"store",T,this),H(this,"config",z,this),V(this,"billingRouteRoot","#/pro"),H(this,"billingWindowOpen",S,this),H(this,"subscription",x,this),H(this,"previousRoute",C,this),H(this,"action",M,this),H(this,"ownerUser",A,this),H(this,"billingAppLoaded",D,this),H(this,"billingAppLoadFailureReported",I,this),H(this,"billingAppPreReadyMessageCount",R,this),H(this,"billingAppPreReadyMessageTypes",L,this),H(this,"billingAppLastPreReadyMessageType",N,this),H(this,"billingAppReadyReceivedAt",F,this),H(this,"billingAppReadyPayload",U,this),H(this,"billingAppPreloadFailure",B,this),V(this,"billingAppLoadTimeout",null),V(this,"billingAppRetryTimeout",null),V(this,"billingAppLoadAttempts",0),V(this,"billingAppLoadTimeoutMs",1e4),V(this,"billingAppLoadRetryDelaysMs",$),V(this,"billingAppLoadAttemptId",null),V(this,"billingAppLoadAttemptSource",W),V(this,"billingAppIframeReloadReason",null),V(this,"billingAppLoadAttemptSequence",0)
2030
+ e.default=(n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember._tracked,c=Ember._tracked,d=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,P=class extends Ember.Service{constructor(...e){super(...e),H(this,"feature",_,this),H(this,"ghostPaths",O,this),H(this,"router",j,this),H(this,"session",k,this),H(this,"store",T,this),H(this,"config",z,this),V(this,"billingRouteRoot","#/pro"),H(this,"billingWindowOpen",x,this),H(this,"subscription",S,this),H(this,"previousRoute",C,this),H(this,"action",M,this),H(this,"ownerUser",A,this),H(this,"billingAppLoaded",D,this),H(this,"billingAppLoadFailureReported",I,this),H(this,"billingAppPreReadyMessageCount",R,this),H(this,"billingAppPreReadyMessageTypes",L,this),H(this,"billingAppLastPreReadyMessageType",N,this),H(this,"billingAppReadyReceivedAt",F,this),H(this,"billingAppReadyPayload",U,this),H(this,"billingAppPreloadFailure",B,this),V(this,"billingAppLoadTimeout",null),V(this,"billingAppRetryTimeout",null),V(this,"billingAppLoadAttempts",0),V(this,"billingAppLoadTimeoutMs",1e4),V(this,"billingAppLoadRetryDelaysMs",$),V(this,"billingAppLoadAttemptId",null),V(this,"billingAppLoadAttemptSource",W),V(this,"billingAppIframeReloadReason",null),V(this,"billingAppLoadAttemptSequence",0)
2033
2031
  V(this,"billingAppIframeSrcSetAt",null),V(this,"billingAppIframeLoadFired",!1),V(this,"billingAppIframeSrcSubRoute",null),V(this,"pendingSubRoute",null),V(this,"_loadListenerAttachedTo",null)}willDestroy(){super.willDestroy(...arguments),this.clearBillingAppLoadMonitor()}get canAccessBilling(){return!!this.config.hostSettings?.forceUpgrade||Boolean(this.config.hostSettings?.billing?.enabled)&&Boolean(this.session.user?.isOwnerOnly)}getBillingRouteFromHash(){const e=window.location.hash,t=this.billingRouteRoot
2034
2032
  return e===t||e.startsWith(`${t}/`)||e.startsWith(`${t}?`)?e.replace(/^#/,""):null}handleRouteChangeInIframe(e){if(this.billingWindowOpen){let t=this.billingRouteRoot
2035
2033
  "/"!==e&&(t+=e),window.location.hash!==t&&window.history.replaceState(window.history.state,"",t)}}navigateToAdminDestination(e){if("string"!=typeof e)return
2036
2034
  if("previousPage"===e){this._markDunningPaymentSettled()
2037
2035
  const e=this._takePayNowReturnRoute()
2038
2036
  if(e)try{return void this.router.transitionTo(e)}catch(i){}return void this.router.transitionTo("pro")}const t=this._resolveAdminDestinationRoute(e)
2039
- t&&this.router.transitionTo(t)}_markDunningPaymentSettled(){if(!this.feature.dunningWarnings)return
2040
- const e=(0,i.parseDunningConfig)(this.config.hostSettings?.billing?.dunning)
2037
+ t&&this.router.transitionTo(t)}_markDunningPaymentSettled(){const e=(0,i.parseDunningConfig)(this.config.hostSettings?.billing?.dunning)
2041
2038
  if(e)try{window.sessionStorage.setItem(i.DUNNING_PAYMENT_SETTLED_STORAGE_KEY,e.paymentFailedAt.toISOString())}catch(t){}}_takePayNowReturnRoute(){try{const e=window.sessionStorage.getItem(i.DUNNING_PAY_RETURN_ROUTE_STORAGE_KEY)
2042
2039
  return window.sessionStorage.removeItem(i.DUNNING_PAY_RETURN_ROUTE_STORAGE_KEY),e&&e.startsWith("/")&&!e.startsWith("//")?e:null}catch(e){return null}}_resolveAdminDestinationRoute(e){return"newsletters"===e?this.feature.automations?"/settings/emails":"/settings/newsletters":Y[e]??null}startBillingAppLoadMonitor(e={}){const{source:t=this.billingAppLoadAttemptSource}=e
2043
2040
  this.billingAppLoadTimeout||this.billingAppRetryTimeout?this.billingAppLoadAttemptSource=t:((this.billingAppLoaded||this.billingAppLoadFailureReported)&&(this.billingAppLoaded=!1,this.billingAppLoadAttempts=0,this.billingAppLoadFailureReported=!1,this.resetBillingAppLoadDiagnostics()),this.billingAppLoadAttemptSource=t,this.billingAppLoadAttempts+=1,this.billingAppLoadTimeout=setTimeout(()=>{this.billingAppLoadTimeout=null,this.handleBillingAppLoadTimeout()},this.billingAppLoadTimeoutMs))}handleBillingAppLoadTimeout(){const e=this.billingAppLoadRetryDelaysMs[this.billingAppLoadAttempts-1]
@@ -2085,7 +2082,7 @@ e||(await this.store.findAll("user",{reload:!0}),e=this.store.peekAll("user").fi
2085
2082
  return!(!t||!i)&&(t.postMessage(e,i),!0)}navigateToSubRoute(e){e&&(this.billingAppLoaded&&this.postMessageToBillingApp({query:"routeUpdate",response:e})||(this.pendingSubRoute=e,this.billingWindowOpen&&!this.billingAppLoaded&&this.ensureBillingAppReadyForVisibleUse()))}sendRouteUpdate(){const e=this.action
2086
2083
  e&&("checkout"===e&&this.navigateToSubRoute(this.checkoutRoute),this.action=null)}sendUpdateLimits(){this.postMessageToBillingApp({query:"limitUpdate"})}toggleProWindow(e){if(this.billingWindowOpen&&e&&!this.action)return
2087
2084
  const t=e&&!this.billingWindowOpen
2088
- this.sendRouteUpdate(),this.billingWindowOpen=e,e?this.ensureBillingAppReadyForVisibleUse():this.pendingSubRoute=null,t&&this.sendUpdateLimits()}openBillingWindow(e,t){this.getOwnerUser(),this.billingWindowOpen||(this.previousRoute=e,window.location.hash=t||"/pro",this.sendRouteUpdate(),this.router.transitionTo(t||"/pro"))}getBillingIframe(){return document.getElementById("billing-frame")}},_=q(P.prototype,"feature",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=q(P.prototype,"ghostPaths",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=q(P.prototype,"router",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=q(P.prototype,"session",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=q(P.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=q(P.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=q(P.prototype,"billingWindowOpen",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),x=q(P.prototype,"subscription",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),C=q(P.prototype,"previousRoute",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),M=q(P.prototype,"action",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),A=q(P.prototype,"ownerUser",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),D=q(P.prototype,"billingAppLoaded",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),I=q(P.prototype,"billingAppLoadFailureReported",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),R=q(P.prototype,"billingAppPreReadyMessageCount",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),L=q(P.prototype,"billingAppPreReadyMessageTypes",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),N=q(P.prototype,"billingAppLastPreReadyMessageType",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),F=q(P.prototype,"billingAppReadyReceivedAt",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),U=q(P.prototype,"billingAppReadyPayload",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),B=q(P.prototype,"billingAppPreloadFailure",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),P)}),define("ghost-admin/services/clock",["exports","ghost-admin/config/environment","moment-timezone"],function(e,t,i){function r(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2085
+ this.sendRouteUpdate(),this.billingWindowOpen=e,e?this.ensureBillingAppReadyForVisibleUse():this.pendingSubRoute=null,t&&this.sendUpdateLimits()}openBillingWindow(e,t){this.getOwnerUser(),this.billingWindowOpen||(this.previousRoute=e,window.location.hash=t||"/pro",this.sendRouteUpdate(),this.router.transitionTo(t||"/pro"))}getBillingIframe(){return document.getElementById("billing-frame")}},_=q(P.prototype,"feature",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=q(P.prototype,"ghostPaths",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=q(P.prototype,"router",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=q(P.prototype,"session",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=q(P.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=q(P.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=q(P.prototype,"billingWindowOpen",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),S=q(P.prototype,"subscription",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),C=q(P.prototype,"previousRoute",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),M=q(P.prototype,"action",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),A=q(P.prototype,"ownerUser",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),D=q(P.prototype,"billingAppLoaded",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),I=q(P.prototype,"billingAppLoadFailureReported",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),R=q(P.prototype,"billingAppPreReadyMessageCount",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),L=q(P.prototype,"billingAppPreReadyMessageTypes",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),N=q(P.prototype,"billingAppLastPreReadyMessageType",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),F=q(P.prototype,"billingAppReadyReceivedAt",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),U=q(P.prototype,"billingAppReadyPayload",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),B=q(P.prototype,"billingAppPreloadFailure",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),P)}),define("ghost-admin/services/clock",["exports","ghost-admin/config/environment","moment-timezone"],function(e,t,i){function r(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2089
2086
  var i=e[Symbol.toPrimitive]
2090
2087
  if(void 0!==i){var r=i.call(e,t||"default")
2091
2088
  if("object"!=typeof r)return r
@@ -2130,21 +2127,21 @@ if(r?.html){const e=new Blob([r.html]).size,t=this._calculateLinkRewritingAdjust
2130
2127
  let o=!1
2131
2128
  return i>=102400&&(o=!0),{overLimit:o,emailSizeKb:n}}}catch(t){console.error("Email size check failed:",t)}return{overLimit:!1,emailSizeKb:null}}},s=m(a.prototype,"ajax",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=m(a.prototype,"ghostPaths",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=m(a.prototype,"store",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=m(a.prototype,"config",[t.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m(a.prototype,"_fetchTask",[i.task],Object.getOwnPropertyDescriptor(a.prototype,"_fetchTask"),a.prototype),a)}),define("ghost-admin/services/ember-load-config",["exports","ember-load/services/ember-load-config","ghost-admin/config/environment"],function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2132
2129
  const r=i.default["ember-load"]||{}
2133
- e.default=t.default.extend({loadingIndicatorClass:r.loadingIndicatorClass})}),define("ghost-admin/services/feature",["exports","@tryghost/admin-x-framework/utils/admin-theme","ghost-admin/decorators/inject"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G
2134
- function J(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function Q(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2130
+ e.default=t.default.extend({loadingIndicatorClass:r.loadingIndicatorClass})}),define("ghost-admin/services/feature",["exports","@tryghost/admin-x-framework/utils/admin-theme","ghost-admin/decorators/inject"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K
2131
+ function Y(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function G(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2135
2132
  var i=e[Symbol.toPrimitive]
2136
2133
  if(void 0!==i){var r=i.call(e,t||"default")
2137
2134
  if("object"!=typeof r)return r
2138
2135
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
2139
- return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function X(e,t,i,r,n){var o={}
2140
- return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.feature=te
2141
- const Z="ghost-admin:labs-overrides"
2142
- function ee(){try{const e=JSON.parse(sessionStorage.getItem(Z)||"[]")
2143
- return Array.isArray(e)?e.filter(e=>"string"==typeof e):[]}catch(e){return[]}}function te(e,t={}){const{user:i,onChange:r}=t,n=i?[`accessibility.${e}`]:[`config.${e}`,`labs.${e}`,"_featureFlagOverridesRevision"]
2136
+ return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function J(e,t,i,r,n){var o={}
2137
+ return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.feature=Z
2138
+ const Q="ghost-admin:labs-overrides"
2139
+ function X(){try{const e=JSON.parse(sessionStorage.getItem(Q)||"[]")
2140
+ return Array.isArray(e)?e.filter(e=>"string"==typeof e):[]}catch(e){return[]}}function Z(e,t={}){const{user:i,onChange:r}=t,n=i?[`accessibility.${e}`]:[`config.${e}`,`labs.${e}`,"_featureFlagOverridesRevision"]
2144
2141
  return Ember.computed.apply(Ember,n.concat({get(){let t=!1
2145
- return t=i?this.get(`accessibility.${e}`):!!ee().includes(e)||("boolean"==typeof this.get(`config.${e}`)?this.get(`config.${e}`):this.get(`labs.${e}`)||!1),t},set(i,n){return this.update(e,n,t),r&&this.get(r).bind(this)(n),n}}))}e.default=(r=Ember.inject.service,n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=te("emailAnalytics"),c=te("nightShift",{user:!0,onChange:"_setAdminTheme"}),d=Ember.computed("_nightShiftPref","_resolvedNightShift"),p=te("referralInviteDismissed",{user:!0}),m=te("stripeAutomaticTax"),h=te("importMemberTier"),b=te("adminUIRefresh"),f=te("editorExcerpt"),g=te("paywallImprovements"),v=te("automations"),y=te("csvContentImporter"),w=te("membersCustomFields"),E=te("editorReact"),P=te("improveSendingUI"),_=te("dunningWarnings"),O=te("billingReact"),j=Ember.computed("settings.labs"),k=Ember.computed("_user.accessibility"),T=class extends Ember.Service{constructor(...e){super(...e),J(this,"ghostPaths",z,this),J(this,"lazyLoader",S,this),J(this,"notifications",x,this),J(this,"session",C,this),J(this,"settings",M,this),J(this,"store",A,this),J(this,"config",D,this),J(this,"emailAnalytics",I,this),J(this,"_nightShiftPref",R,this),Q(this,"_resolvedNightShift",void 0),Q(this,"_themeController",null),Q(this,"_reactThemeConnection",null),Q(this,"_themeStylesheetPromise",null),J(this,"referralInviteDismissed",L,this),J(this,"stripeAutomaticTax",N,this),J(this,"importMemberTier",F,this),J(this,"adminUIRefresh",U,this),J(this,"editorExcerpt",B,this),J(this,"paywallImprovements",H,this),J(this,"automations",V,this),J(this,"csvContentImporter",q,this),J(this,"membersCustomFields",$,this),J(this,"editorReact",W,this),J(this,"improveSendingUI",K,this),J(this,"dunningWarnings",Y,this),J(this,"billingReact",G,this),Q(this,"_user",null),Q(this,"_featureFlagOverridesRevision",0)}get nightShift(){if("boolean"==typeof this._resolvedNightShift)return this._resolvedNightShift
2142
+ return t=i?this.get(`accessibility.${e}`):!!X().includes(e)||("boolean"==typeof this.get(`config.${e}`)?this.get(`config.${e}`):this.get(`labs.${e}`)||!1),t},set(i,n){return this.update(e,n,t),r&&this.get(r).bind(this)(n),n}}))}e.default=(r=Ember.inject.service,n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Z("emailAnalytics"),c=Z("nightShift",{user:!0,onChange:"_setAdminTheme"}),d=Ember.computed("_nightShiftPref","_resolvedNightShift"),p=Z("referralInviteDismissed",{user:!0}),m=Z("stripeAutomaticTax"),h=Z("importMemberTier"),b=Z("adminUIRefresh"),f=Z("editorExcerpt"),g=Z("paywallImprovements"),v=Z("automations"),y=Z("csvContentImporter"),w=Z("membersCustomFields"),E=Z("editorReact"),P=Z("improveSendingUI"),_=Z("billingReact"),O=Ember.computed("settings.labs"),j=Ember.computed("_user.accessibility"),k=class extends Ember.Service{constructor(...e){super(...e),Y(this,"ghostPaths",T,this),Y(this,"lazyLoader",z,this),Y(this,"notifications",x,this),Y(this,"session",S,this),Y(this,"settings",C,this),Y(this,"store",M,this),Y(this,"config",A,this),Y(this,"emailAnalytics",D,this),Y(this,"_nightShiftPref",I,this),G(this,"_resolvedNightShift",void 0),G(this,"_themeController",null),G(this,"_reactThemeConnection",null),G(this,"_themeStylesheetPromise",null),Y(this,"referralInviteDismissed",R,this),Y(this,"stripeAutomaticTax",L,this),Y(this,"importMemberTier",N,this),Y(this,"adminUIRefresh",F,this),Y(this,"editorExcerpt",U,this),Y(this,"paywallImprovements",B,this),Y(this,"automations",H,this),Y(this,"csvContentImporter",V,this),Y(this,"membersCustomFields",q,this),Y(this,"editorReact",$,this),Y(this,"improveSendingUI",W,this),Y(this,"billingReact",K,this),G(this,"_user",null),G(this,"_featureFlagOverridesRevision",0)}get nightShift(){if("boolean"==typeof this._resolvedNightShift)return this._resolvedNightShift
2146
2143
  const e=this._nightShiftPref
2147
- return"dark"===e||!0===e}isAuthReact(){return void 0===this._authReact&&(this._authReact=ee().includes("authReact")||!0===this.config.authReact),this._authReact}refreshFeatureFlagOverrides(){this.incrementProperty("_featureFlagOverridesRevision")}get labs(){const e=this.settings.labs
2144
+ return"dark"===e||!0===e}isAuthReact(){return void 0===this._authReact&&(this._authReact=X().includes("authReact")||!0===this.config.authReact),this._authReact}refreshFeatureFlagOverrides(){this.incrementProperty("_featureFlagOverridesRevision")}get labs(){const e=this.settings.labs
2148
2145
  try{return JSON.parse(e)||{}}catch(t){return{}}}get accessibility(){const e=this.get("_user.accessibility")
2149
2146
  try{return JSON.parse(e)||{}}catch(t){return{}}}fetch(){return this.settings.fetch().then(()=>(this.set("_user",this.session.user),this._setAdminTheme().then(()=>!0)))}update(e,t,i={}){const r=i.user?"accessibility":"labs",n=this.get(i.user?"_user":"settings"),o=this.get(r)
2150
2147
  return Ember.set(o,e,t),i.requires&&!0===t&&i.requires.forEach(e=>{Ember.set(o,e,!0)}),n.set(r,JSON.stringify(o)),n.save().then(()=>(this.notifyPropertyChange(r),this.get(`${r}.${e}`))).catch(t=>{if(n.rollbackAttributes(),this.notifyPropertyChange(r),!t)throw new Ember.Error(`Validation of the feature service ${i.user?"user":"settings"} model failed when updating ${r}.`)
@@ -2154,7 +2151,7 @@ return this._reactThemeConnection=e,{...e,disconnect:()=>{this._reactThemeConnec
2154
2151
  const i=void 0===e?this._nightShiftPref:e,r=!0===i?"dark":!1===i?"light":i,n=["light","dark","system"].includes(r)?r:"light"
2155
2152
  this._themeController||(this._themeController=(0,t.createAdminThemeController)(),this._themeController.setAdapter(this._themeAdapter()).catch(()=>{}))
2156
2153
  const o=this._themeController
2157
- return o.setTheme(n).catch(()=>{this.isDestroying||this.isDestroyed||this._reactThemeConnection||this._themeController!==o||(document.documentElement.classList.remove("dark"),this._themeAdapter().apply("light"))})}willDestroy(){super.willDestroy(...arguments),this._themeController?.destroy()}},z=X(T.prototype,"ghostPaths",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=X(T.prototype,"lazyLoader",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=X(T.prototype,"notifications",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=X(T.prototype,"session",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=X(T.prototype,"settings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=X(T.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=X(T.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=X(T.prototype,"emailAnalytics",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=X(T.prototype,"_nightShiftPref",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X(T.prototype,"nightShift",[d],Object.getOwnPropertyDescriptor(T.prototype,"nightShift"),T.prototype),L=X(T.prototype,"referralInviteDismissed",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=X(T.prototype,"stripeAutomaticTax",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=X(T.prototype,"importMemberTier",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=X(T.prototype,"adminUIRefresh",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=X(T.prototype,"editorExcerpt",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=X(T.prototype,"paywallImprovements",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=X(T.prototype,"automations",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=X(T.prototype,"csvContentImporter",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=X(T.prototype,"membersCustomFields",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=X(T.prototype,"editorReact",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=X(T.prototype,"improveSendingUI",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=X(T.prototype,"dunningWarnings",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=X(T.prototype,"billingReact",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X(T.prototype,"labs",[j],Object.getOwnPropertyDescriptor(T.prototype,"labs"),T.prototype),X(T.prototype,"accessibility",[k],Object.getOwnPropertyDescriptor(T.prototype,"accessibility"),T.prototype),T)}),define("ghost-admin/services/ghost-paths",["exports","ghost-admin/utils/ghost-paths"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2154
+ return o.setTheme(n).catch(()=>{this.isDestroying||this.isDestroyed||this._reactThemeConnection||this._themeController!==o||(document.documentElement.classList.remove("dark"),this._themeAdapter().apply("light"))})}willDestroy(){super.willDestroy(...arguments),this._themeController?.destroy()}},T=J(k.prototype,"ghostPaths",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=J(k.prototype,"lazyLoader",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=J(k.prototype,"notifications",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=J(k.prototype,"session",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=J(k.prototype,"settings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=J(k.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=J(k.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=J(k.prototype,"emailAnalytics",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=J(k.prototype,"_nightShiftPref",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J(k.prototype,"nightShift",[d],Object.getOwnPropertyDescriptor(k.prototype,"nightShift"),k.prototype),R=J(k.prototype,"referralInviteDismissed",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=J(k.prototype,"stripeAutomaticTax",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=J(k.prototype,"importMemberTier",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=J(k.prototype,"adminUIRefresh",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=J(k.prototype,"editorExcerpt",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=J(k.prototype,"paywallImprovements",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=J(k.prototype,"automations",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=J(k.prototype,"csvContentImporter",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=J(k.prototype,"membersCustomFields",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=J(k.prototype,"editorReact",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=J(k.prototype,"improveSendingUI",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=J(k.prototype,"billingReact",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J(k.prototype,"labs",[O],Object.getOwnPropertyDescriptor(k.prototype,"labs"),k.prototype),J(k.prototype,"accessibility",[j],Object.getOwnPropertyDescriptor(k.prototype,"accessibility"),k.prototype),k)}),define("ghost-admin/services/ghost-paths",["exports","ghost-admin/utils/ghost-paths"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2158
2155
  class i extends(Ember.Service.extend((0,t.default)())){}e.default=i}),define("ghost-admin/services/in-viewport",["exports","ember-in-viewport/services/in-viewport"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/services/keyboard",["exports","ember-keyboard/services/keyboard.js"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/services/koenig",["exports","ghost-admin/utils/fetch-koenig-lexical","ember-concurrency"],function(e,t,i){var r
2159
2156
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2160
2157
  e.default=(r=class extends Ember.Service{get resource(){let e,t="pending"
@@ -2373,7 +2370,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
2373
2370
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function P(e,t,i,r,n){var o={}
2374
2371
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2375
2372
  e.default=(i=Ember.inject.service,r=Ember.inject.service,n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember._action,c=(0,t.task)({restartable:!0}),d=(0,t.task)({drop:!0}),p=class extends Ember.Service{constructor(...e){super(...e),w(this,"ajax",m,this),w(this,"feature",h,this),w(this,"notifications",b,this),w(this,"searchProviderBasic",f,this),w(this,"searchProviderFlex",g,this),w(this,"settings",v,this),w(this,"store",y,this),E(this,"isContentStale",!0)}get provider(){return this.settings.locale?.toLowerCase().startsWith("en")??!0?this.searchProviderFlex:this.searchProviderBasic}expireContent(){this.isContentStale=!0}*searchTask(e){return Ember.isBlank(e)?[]:(this.refreshContentTask.unlinked().perform(),yield(0,t.timeout)(200),this.refreshContentTask.isRunning&&(yield this.refreshContentTask.lastRunning),yield this.provider.searchTask.perform(e))}*refreshContentTask({forceRefresh:e=!1}={}){if(!e&&!this.isContentStale)return!0
2376
- this.isContentStale=!0,yield this.provider.refreshContentTask.perform(),this.isContentStale=!1}},m=P(p.prototype,"ajax",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=P(p.prototype,"feature",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=P(p.prototype,"notifications",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=P(p.prototype,"searchProviderBasic",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=P(p.prototype,"searchProviderFlex",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=P(p.prototype,"settings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=P(p.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P(p.prototype,"expireContent",[u],Object.getOwnPropertyDescriptor(p.prototype,"expireContent"),p.prototype),P(p.prototype,"searchTask",[c],Object.getOwnPropertyDescriptor(p.prototype,"searchTask"),p.prototype),P(p.prototype,"refreshContentTask",[d],Object.getOwnPropertyDescriptor(p.prototype,"refreshContentTask"),p.prototype),p)}),define("ghost-admin/services/session",["exports","@sentry/ember","ember-simple-auth/configuration","ember-simple-auth/services/session","ghost-admin/utils/window-proxy","ember-concurrency"],function(e,t,i,r,n,o){var a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C
2373
+ this.isContentStale=!0,yield this.provider.refreshContentTask.perform(),this.isContentStale=!1}},m=P(p.prototype,"ajax",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=P(p.prototype,"feature",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=P(p.prototype,"notifications",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=P(p.prototype,"searchProviderBasic",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=P(p.prototype,"searchProviderFlex",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=P(p.prototype,"settings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=P(p.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P(p.prototype,"expireContent",[u],Object.getOwnPropertyDescriptor(p.prototype,"expireContent"),p.prototype),P(p.prototype,"searchTask",[c],Object.getOwnPropertyDescriptor(p.prototype,"searchTask"),p.prototype),P(p.prototype,"refreshContentTask",[d],Object.getOwnPropertyDescriptor(p.prototype,"refreshContentTask"),p.prototype),p)}),define("ghost-admin/services/session",["exports","@sentry/ember","ember-simple-auth/configuration","ember-simple-auth/services/session","ghost-admin/utils/window-proxy","ember-concurrency"],function(e,t,i,r,n,o){var a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C
2377
2374
  function M(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function A(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2378
2375
  var i=e[Symbol.toPrimitive]
2379
2376
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -2381,7 +2378,7 @@ if("object"!=typeof r)return r
2381
2378
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
2382
2379
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function D(e,t,i,r,n){var o={}
2383
2380
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2384
- e.default=(a=Ember.inject.service,s=Ember.inject.service("store"),l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,g=Ember._tracked,v=(0,o.task)({drop:!0}),y=class extends r.default{constructor(...e){super(...e),M(this,"configManager",w,this),M(this,"dataStore",E,this),M(this,"feature",P,this),M(this,"koenig",_,this),M(this,"notifications",O,this),M(this,"router",j,this),M(this,"settings",k,this),M(this,"ui",T,this),M(this,"membersUtils",z,this),M(this,"stateBridge",S,this),M(this,"themeManagement",x,this),M(this,"user",C,this),A(this,"skipAuthSuccessHandler",!1)}async populateUser(e={}){if(this.user)return
2381
+ e.default=(a=Ember.inject.service,s=Ember.inject.service("store"),l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,g=Ember._tracked,v=(0,o.task)({drop:!0}),y=class extends r.default{constructor(...e){super(...e),M(this,"configManager",w,this),M(this,"dataStore",E,this),M(this,"feature",P,this),M(this,"koenig",_,this),M(this,"notifications",O,this),M(this,"router",j,this),M(this,"settings",k,this),M(this,"ui",T,this),M(this,"membersUtils",z,this),M(this,"stateBridge",x,this),M(this,"themeManagement",S,this),M(this,"user",C,this),A(this,"skipAuthSuccessHandler",!1)}async populateUser(e={}){if(this.user)return
2385
2382
  const t=e.id||"me",i=await this.dataStore.queryRecord("user",{id:t})
2386
2383
  this.user=i}async postAuthPreparation(){const e=this.feature.fetch().finally(()=>this.stateBridge.triggerFeatureFlagsChange())
2387
2384
  await Ember.RSVP.all([this.configManager.fetchAuthenticated(),e,this.settings.fetch(),this.membersUtils.fetch()]),this.themeManagement.fetch().catch(console.error),!0!==this.feature.editorReact&&this.koenig.fetch()}async ensurePostAuthPreparation(e){if(!this.configManager.isConfigLoaded){t.captureMessage("Ran postAuthPreparation after authentication bypassed it",{tags:{source:e,ref:"ONC-1774"}})
@@ -2389,7 +2386,7 @@ try{await this.postAuthPreparation()}catch(i){}}}async handleAuthentication(){re
2389
2386
  const e=window.sessionStorage.getItem("ghost-signin-redirect")
2390
2387
  window.sessionStorage.removeItem("ghost-signin-redirect"),!e||e.startsWith("/signin")||e.startsWith("/signup")||e.startsWith("/setup")?super.handleAuthentication("index"):n.default.replaceLocation(`${i.default.rootURL}#${e}`)})}async requireAuthentication(e,t){this.isAuthenticated||(e.abort(),this.user&&(await this.setup(),this.isAuthenticated&&await this.ensurePostAuthPreparation("requireAuthentication"),this.notifications.clearAll(),e.retry())),super.requireAuthentication(e,t)}handleInvalidation(){const e=this.appLoadTransition
2391
2388
  e?e.send("authorizationFailed"):Ember.run.scheduleOnce("routerTransitions",this,"triggerAuthorizationFailed")}triggerAuthorizationFailed(){Ember.getOwner(this).lookup(`route:${this.router.currentRouteName}`)?.send("authorizationFailed")}*handleAuthenticationTask(e){if(this.user)yield this.ensurePostAuthPreparation("handleAuthentication")
2392
- else{try{yield this.populateUser()}catch(t){yield this.invalidate()}yield this.postAuthPreparation()}e()}},w=D(y.prototype,"configManager",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=D(y.prototype,"dataStore",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=D(y.prototype,"feature",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=D(y.prototype,"koenig",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=D(y.prototype,"notifications",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=D(y.prototype,"router",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=D(y.prototype,"settings",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=D(y.prototype,"ui",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=D(y.prototype,"membersUtils",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=D(y.prototype,"stateBridge",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=D(y.prototype,"themeManagement",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=D(y.prototype,"user",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),D(y.prototype,"handleAuthenticationTask",[v],Object.getOwnPropertyDescriptor(y.prototype,"handleAuthenticationTask"),y.prototype),y)}),define("ghost-admin/services/settings",["exports","ghost-admin/models/setting","ghost-admin/mixins/validation-engine"],function(e,t,i){var r,n,o,a,s
2389
+ else{try{yield this.populateUser()}catch(t){yield this.invalidate()}yield this.postAuthPreparation()}e()}},w=D(y.prototype,"configManager",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=D(y.prototype,"dataStore",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=D(y.prototype,"feature",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=D(y.prototype,"koenig",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=D(y.prototype,"notifications",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=D(y.prototype,"router",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=D(y.prototype,"settings",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=D(y.prototype,"ui",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=D(y.prototype,"membersUtils",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=D(y.prototype,"stateBridge",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=D(y.prototype,"themeManagement",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=D(y.prototype,"user",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),D(y.prototype,"handleAuthenticationTask",[v],Object.getOwnPropertyDescriptor(y.prototype,"handleAuthenticationTask"),y.prototype),y)}),define("ghost-admin/services/settings",["exports","ghost-admin/models/setting","ghost-admin/mixins/validation-engine"],function(e,t,i){var r,n,o,a,s
2393
2390
  function l(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function u(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2394
2391
  var i=e[Symbol.toPrimitive]
2395
2392
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -2410,7 +2407,7 @@ e.default=(i=Ember.inject.service,r=Ember.inject.service,n=class extends Ember.S
2410
2407
  if(!i)return u("")
2411
2408
  const o=encodeURIComponent((0,t.slugify)(i))
2412
2409
  return n=r?this.get("ghostPaths.url").api("slugs",e,o,r):this.get("ghostPaths.url").api("slugs",e,o),this.ajax.request(n).then(e=>{const[t]=e.slugs,{slug:i}=t
2413
- return i})}},o=l(n.prototype,"ghostPaths",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=l(n.prototype,"ajax",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)}),define("ghost-admin/services/state-bridge",["exports","@sentry/ember","ghost-admin/decorators/inject"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S,x,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G,J,Q,X
2410
+ return i})}},o=l(n.prototype,"ghostPaths",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=l(n.prototype,"ajax",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)}),define("ghost-admin/services/state-bridge",["exports","@sentry/ember","ghost-admin/decorators/inject"],function(e,t,i){var r,n,o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x,S,C,M,A,D,I,R,L,N,F,U,B,H,V,q,$,W,K,Y,G,J,Q,X
2414
2411
  function Z(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function ee(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2415
2412
  var i=e[Symbol.toPrimitive]
2416
2413
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -2419,7 +2416,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
2419
2416
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function te(e,t,i,r,n){var o={}
2420
2417
  return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=i.slice().reverse().reduce(function(i,r){return r(e,t,i)||i},o),n&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(n):void 0,o.initializer=void 0),void 0===o.initializer?(Object.defineProperty(e,t,o),null):o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2421
2418
  const ie={AutomatedEmailsResponseType:null,AutomationsResponseType:null,CommentsResponseType:null,GiftLinksResponseType:null,IntegrationsResponseType:{type:"integration"},InvitesResponseType:{type:"invite"},LabelsResponseType:null,MemberCustomFieldsResponseType:null,MembersResponseType:null,OffersResponseType:{type:"offer"},NewslettersResponseType:{type:"newsletter"},RecommendationResponseType:{type:"recommendation"},SettingsResponseType:{type:"setting",singleton:!0},SnippetsResponseType:{type:"snippet"},TagsResponseType:{type:"tag"},ThemesResponseType:{type:"theme"},TiersResponseType:{type:"tier"},TiersCheckoutConfigResponseType:null,UsersResponseType:{type:"user"},CustomThemeSettingsResponseType:null}
2422
- e.default=(r=Ember.inject.service,n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember._tracked,g=Ember._tracked,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,P=Ember._action,_=Ember._action,O=Ember._action,j=Ember._action,k=Ember._action,T=Ember._action,z=Ember._action,S=Ember._action,x=Ember._action,C=Ember._action,M=Ember._action,A=Ember._action,D=Ember._action,I=Ember._action,R=class extends(Ember.Service.extend(Ember.Evented)){constructor(...e){super(...e),Z(this,"billing",L,this),Z(this,"configManager",N,this),Z(this,"feature",F,this),Z(this,"limit",U,this),Z(this,"membersUtils",B,this),Z(this,"notifications",H,this),Z(this,"router",V,this),Z(this,"search",q,this),Z(this,"session",$,this),Z(this,"settings",W,this),Z(this,"store",K,this),Z(this,"themeManagement",Y,this),Z(this,"ui",G,this),Z(this,"config",J,this),Z(this,"postListQueryParams",Q,this),Z(this,"isReactFullScreen",X,this),ee(this,"reactRoutePattern",null)}setPostListQueryParams(e,t){this.postListQueryParams={...this.postListQueryParams,[e]:t}}setReactFullScreen(e){this.isReactFullScreen=e}setReactRoutePattern(e){this.reactRoutePattern=e,this.tagSentryRoute()}tagSentryRoute(){t.setTag("route",this.reactRoutePattern??this.router.currentRouteName)}isFeatureEnabled(e){if(this.settings.settingsModel)return!0===this.feature[e]}connectNotificationsHost(e){return this.notifications.connectHost(e)}triggerFeatureFlagsChange(){this.trigger("featureFlagsChange")}refreshFeatureFlagOverrides(){this.feature.refreshFeatureFlagOverrides(),this.triggerFeatureFlagsChange()}onUpdate(e,t){if(!ie[e])return
2419
+ e.default=(r=Ember.inject.service,n=Ember.inject.service,o=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember._tracked,g=Ember._tracked,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,P=Ember._action,_=Ember._action,O=Ember._action,j=Ember._action,k=Ember._action,T=Ember._action,z=Ember._action,x=Ember._action,S=Ember._action,C=Ember._action,M=Ember._action,A=Ember._action,D=Ember._action,I=Ember._action,R=class extends(Ember.Service.extend(Ember.Evented)){constructor(...e){super(...e),Z(this,"billing",L,this),Z(this,"configManager",N,this),Z(this,"feature",F,this),Z(this,"limit",U,this),Z(this,"membersUtils",B,this),Z(this,"notifications",H,this),Z(this,"router",V,this),Z(this,"search",q,this),Z(this,"session",$,this),Z(this,"settings",W,this),Z(this,"store",K,this),Z(this,"themeManagement",Y,this),Z(this,"ui",G,this),Z(this,"config",J,this),Z(this,"postListQueryParams",Q,this),Z(this,"isReactFullScreen",X,this),ee(this,"reactRoutePattern",null)}setPostListQueryParams(e,t){this.postListQueryParams={...this.postListQueryParams,[e]:t}}setReactFullScreen(e){this.isReactFullScreen=e}setReactRoutePattern(e){this.reactRoutePattern=e,this.tagSentryRoute()}tagSentryRoute(){t.setTag("route",this.reactRoutePattern??this.router.currentRouteName)}isFeatureEnabled(e){if(this.settings.settingsModel)return!0===this.feature[e]}connectNotificationsHost(e){return this.notifications.connectHost(e)}triggerFeatureFlagsChange(){this.trigger("featureFlagsChange")}refreshFeatureFlagOverrides(){this.feature.refreshFeatureFlagOverrides(),this.triggerFeatureFlagsChange()}onUpdate(e,t){if(!ie[e])return
2423
2420
  const{type:i,singleton:r}=ie[e],n=structuredClone(t)
2424
2421
  if(r?this.store.push(this.store.serializerFor(i).normalizeSingleResponse(this.store,this.store.modelFor(i),n,null,"queryRecord")):this.store.pushPayload(i,n),"UsersResponseType"===e&&t.users[0]?.id===this.session.user?.id)try{this.feature._setAdminTheme()}catch(o){console.error("Failed to set admin theme",o)}if("SettingsResponseType"===e&&(this.config.blogTitle=t.settings.find(e=>"title"===e.key).value,this.triggerFeatureFlagsChange(),this.settings.reload().then(()=>this.feature.fetch()).finally(()=>this.triggerFeatureFlagsChange())),"TiersResponseType"===e&&this.membersUtils.reload(),"ThemesResponseType"===e){const e=t.themes.find(e=>e.active)
2425
2422
  if(e){const t=this.store.peekAll("theme").find(t=>t.active&&t.name!==e.name)
@@ -2429,7 +2426,7 @@ i?.set("active",!0),this.themeManagement.activeTheme=i}}}onInvalidate(e){if(!ie[
2429
2426
  const{type:t,singleton:i}=ie[e]
2430
2427
  i?console.warn(`An React Admin mutation invalidated ${e}, but this is is marked as a singleton and cannot be reloaded in Ember. You probably wanted to use updateQueries instead of invalidateQueries`):(Ember.run(()=>this.store.unloadAll(t)),"TiersResponseType"===e&&this.membersUtils.reload(),"TagsResponseType"===e&&this.search.expireContent())}onDelete(e,t){if(!ie[e])return
2431
2428
  const{type:i}=ie[e],r=this.store.peekRecord(i,t)
2432
- r&&r.unloadRecord()}connectAdminTheme(){return this.feature.connectAdminTheme()}triggerEmberDataChange(e,t,i,r){this.trigger("emberDataChange",{operation:e,modelName:t,id:i,data:r})}triggerEmberAuthChange(){this.trigger("emberAuthChange",{isAuthenticated:this.session.isAuthenticated})}triggerSubscriptionChange(e){this.trigger("subscriptionChange",e)}setSidebarVisible(e){this.trigger("sidebarVisibilityChange",{isVisible:e})}async applyBillingSubscriptionUpdate(e){try{await this.configManager.fetch()}catch(t){}this.limit.reload(),this.triggerSubscriptionChange(e),this.billing.subscription=e.subscription,this.billing.checkoutRoute=e.checkoutRoute??"/plans","active"===e.subscription?.status&&this.config.hostSettings?.forceUpgrade&&(this.config.hostSettings.forceUpgrade=!1)}captureBillingAppLoadFailure({billingMonitor:e,tags:i}){this.config.sentry_dsn&&t.captureException("Billing app failed to become ready",{level:"warning",fingerprint:["billing-app-load-failure",e.document_visibility_state,String(e.attempts)],contexts:{ghost:{billing_monitor:e}},tags:i})}navigateToBillingSubRoute(e){this.billing.navigateToSubRoute(e)}get sidebarVisible(){return!this.ui.isFullScreen}},L=te(R.prototype,"billing",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=te(R.prototype,"configManager",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=te(R.prototype,"feature",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=te(R.prototype,"limit",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=te(R.prototype,"membersUtils",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=te(R.prototype,"notifications",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=te(R.prototype,"router",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=te(R.prototype,"search",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=te(R.prototype,"session",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=te(R.prototype,"settings",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=te(R.prototype,"store",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=te(R.prototype,"themeManagement",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=te(R.prototype,"ui",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=te(R.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=te(R.prototype,"postListQueryParams",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{posts:{},pages:{}}}}),X=te(R.prototype,"isReactFullScreen",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),te(R.prototype,"setPostListQueryParams",[v],Object.getOwnPropertyDescriptor(R.prototype,"setPostListQueryParams"),R.prototype),te(R.prototype,"setReactFullScreen",[y],Object.getOwnPropertyDescriptor(R.prototype,"setReactFullScreen"),R.prototype),te(R.prototype,"setReactRoutePattern",[w],Object.getOwnPropertyDescriptor(R.prototype,"setReactRoutePattern"),R.prototype),te(R.prototype,"isFeatureEnabled",[E],Object.getOwnPropertyDescriptor(R.prototype,"isFeatureEnabled"),R.prototype),te(R.prototype,"connectNotificationsHost",[P],Object.getOwnPropertyDescriptor(R.prototype,"connectNotificationsHost"),R.prototype),te(R.prototype,"triggerFeatureFlagsChange",[_],Object.getOwnPropertyDescriptor(R.prototype,"triggerFeatureFlagsChange"),R.prototype),te(R.prototype,"refreshFeatureFlagOverrides",[O],Object.getOwnPropertyDescriptor(R.prototype,"refreshFeatureFlagOverrides"),R.prototype),te(R.prototype,"onUpdate",[j],Object.getOwnPropertyDescriptor(R.prototype,"onUpdate"),R.prototype),te(R.prototype,"onInvalidate",[k],Object.getOwnPropertyDescriptor(R.prototype,"onInvalidate"),R.prototype),te(R.prototype,"onDelete",[T],Object.getOwnPropertyDescriptor(R.prototype,"onDelete"),R.prototype),te(R.prototype,"connectAdminTheme",[z],Object.getOwnPropertyDescriptor(R.prototype,"connectAdminTheme"),R.prototype),te(R.prototype,"triggerEmberDataChange",[S],Object.getOwnPropertyDescriptor(R.prototype,"triggerEmberDataChange"),R.prototype),te(R.prototype,"triggerEmberAuthChange",[x],Object.getOwnPropertyDescriptor(R.prototype,"triggerEmberAuthChange"),R.prototype),te(R.prototype,"triggerSubscriptionChange",[C],Object.getOwnPropertyDescriptor(R.prototype,"triggerSubscriptionChange"),R.prototype),te(R.prototype,"setSidebarVisible",[M],Object.getOwnPropertyDescriptor(R.prototype,"setSidebarVisible"),R.prototype),te(R.prototype,"applyBillingSubscriptionUpdate",[A],Object.getOwnPropertyDescriptor(R.prototype,"applyBillingSubscriptionUpdate"),R.prototype),te(R.prototype,"captureBillingAppLoadFailure",[D],Object.getOwnPropertyDescriptor(R.prototype,"captureBillingAppLoadFailure"),R.prototype),te(R.prototype,"navigateToBillingSubRoute",[I],Object.getOwnPropertyDescriptor(R.prototype,"navigateToBillingSubRoute"),R.prototype),R)}),define("ghost-admin/services/store",["exports","ember-data/store"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/services/tags-manager",["exports"],function(e){var t,i,r
2429
+ r&&r.unloadRecord()}connectAdminTheme(){return this.feature.connectAdminTheme()}triggerEmberDataChange(e,t,i,r){this.trigger("emberDataChange",{operation:e,modelName:t,id:i,data:r})}triggerEmberAuthChange(){this.trigger("emberAuthChange",{isAuthenticated:this.session.isAuthenticated})}triggerSubscriptionChange(e){this.trigger("subscriptionChange",e)}setSidebarVisible(e){this.trigger("sidebarVisibilityChange",{isVisible:e})}async applyBillingSubscriptionUpdate(e){try{await this.configManager.fetch()}catch(t){}this.limit.reload(),this.triggerSubscriptionChange(e),this.billing.subscription=e.subscription,this.billing.checkoutRoute=e.checkoutRoute??"/plans","active"===e.subscription?.status&&this.config.hostSettings?.forceUpgrade&&(this.config.hostSettings.forceUpgrade=!1)}captureBillingAppLoadFailure({billingMonitor:e,tags:i}){this.config.sentry_dsn&&t.captureException("Billing app failed to become ready",{level:"warning",fingerprint:["billing-app-load-failure",e.document_visibility_state,String(e.attempts)],contexts:{ghost:{billing_monitor:e}},tags:i})}navigateToBillingSubRoute(e){this.billing.navigateToSubRoute(e)}get sidebarVisible(){return!this.ui.isFullScreen}},L=te(R.prototype,"billing",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=te(R.prototype,"configManager",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=te(R.prototype,"feature",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=te(R.prototype,"limit",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=te(R.prototype,"membersUtils",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=te(R.prototype,"notifications",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=te(R.prototype,"router",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=te(R.prototype,"search",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=te(R.prototype,"session",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=te(R.prototype,"settings",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=te(R.prototype,"store",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=te(R.prototype,"themeManagement",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=te(R.prototype,"ui",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=te(R.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=te(R.prototype,"postListQueryParams",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{posts:{},pages:{}}}}),X=te(R.prototype,"isReactFullScreen",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),te(R.prototype,"setPostListQueryParams",[v],Object.getOwnPropertyDescriptor(R.prototype,"setPostListQueryParams"),R.prototype),te(R.prototype,"setReactFullScreen",[y],Object.getOwnPropertyDescriptor(R.prototype,"setReactFullScreen"),R.prototype),te(R.prototype,"setReactRoutePattern",[w],Object.getOwnPropertyDescriptor(R.prototype,"setReactRoutePattern"),R.prototype),te(R.prototype,"isFeatureEnabled",[E],Object.getOwnPropertyDescriptor(R.prototype,"isFeatureEnabled"),R.prototype),te(R.prototype,"connectNotificationsHost",[P],Object.getOwnPropertyDescriptor(R.prototype,"connectNotificationsHost"),R.prototype),te(R.prototype,"triggerFeatureFlagsChange",[_],Object.getOwnPropertyDescriptor(R.prototype,"triggerFeatureFlagsChange"),R.prototype),te(R.prototype,"refreshFeatureFlagOverrides",[O],Object.getOwnPropertyDescriptor(R.prototype,"refreshFeatureFlagOverrides"),R.prototype),te(R.prototype,"onUpdate",[j],Object.getOwnPropertyDescriptor(R.prototype,"onUpdate"),R.prototype),te(R.prototype,"onInvalidate",[k],Object.getOwnPropertyDescriptor(R.prototype,"onInvalidate"),R.prototype),te(R.prototype,"onDelete",[T],Object.getOwnPropertyDescriptor(R.prototype,"onDelete"),R.prototype),te(R.prototype,"connectAdminTheme",[z],Object.getOwnPropertyDescriptor(R.prototype,"connectAdminTheme"),R.prototype),te(R.prototype,"triggerEmberDataChange",[x],Object.getOwnPropertyDescriptor(R.prototype,"triggerEmberDataChange"),R.prototype),te(R.prototype,"triggerEmberAuthChange",[S],Object.getOwnPropertyDescriptor(R.prototype,"triggerEmberAuthChange"),R.prototype),te(R.prototype,"triggerSubscriptionChange",[C],Object.getOwnPropertyDescriptor(R.prototype,"triggerSubscriptionChange"),R.prototype),te(R.prototype,"setSidebarVisible",[M],Object.getOwnPropertyDescriptor(R.prototype,"setSidebarVisible"),R.prototype),te(R.prototype,"applyBillingSubscriptionUpdate",[A],Object.getOwnPropertyDescriptor(R.prototype,"applyBillingSubscriptionUpdate"),R.prototype),te(R.prototype,"captureBillingAppLoadFailure",[D],Object.getOwnPropertyDescriptor(R.prototype,"captureBillingAppLoadFailure"),R.prototype),te(R.prototype,"navigateToBillingSubRoute",[I],Object.getOwnPropertyDescriptor(R.prototype,"navigateToBillingSubRoute"),R.prototype),R)}),define("ghost-admin/services/store",["exports","ember-data/store"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/services/tags-manager",["exports"],function(e){var t,i,r
2433
2430
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2434
2431
  e.default=(t=Ember._tracked,i=class extends Ember.Service{constructor(...e){var t,i,n,o
2435
2432
  super(...e),t=this,i="tagsScreenInfinityModel",o=this,(n=r)&&Object.defineProperty(t,i,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(o):void 0})}sortTags(e=[]){return e.filter(e=>null!==e.get("id")).sort((e,t)=>e.name.localeCompare(t.name,void 0,{ignorePunctuation:!0}))}},n=i.prototype,o="tagsScreenInfinityModel",a=[t],s={configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}},u={},Object.keys(s).forEach(function(e){u[e]=s[e]}),u.enumerable=!!u.enumerable,u.configurable=!!u.configurable,("value"in u||u.initializer)&&(u.writable=!0),u=a.slice().reverse().reduce(function(e,t){return t(n,o,e)||e},u),l&&void 0!==u.initializer&&(u.value=u.initializer?u.initializer.call(l):void 0,u.initializer=void 0),r=void 0===u.initializer?(Object.defineProperty(n,o,u),null):u,i)
@@ -2568,8 +2565,8 @@ if(!a.slice(0,s).some(n))return i
2568
2565
  if(!a.slice(s+1).some(n))return r
2569
2566
  return null}
2570
2567
  const t="public-access",i="no-content-before",r="no-content-after"
2571
- function n(e){return!(!e||"paywall"===e.type||"linebreak"===e.type)&&("string"==typeof e.text?!!e.text.trim():"text"!==e.type&&"extended-text"!==e.type&&(Array.isArray(e.children)?e.children.some(n):"paragraph"!==e.type&&"root"!==e.type))}}),define("ghost-admin/utils/publish-options",["exports","moment-timezone","ghost-admin/utils/upgrade-url","ghost-admin/utils/public-preview-warning","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,S
2572
- function x(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function C(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2568
+ function n(e){return!(!e||"paywall"===e.type||"linebreak"===e.type)&&("string"==typeof e.text?!!e.text.trim():"text"!==e.type&&"extended-text"!==e.type&&(Array.isArray(e.children)?e.children.some(n):"paragraph"!==e.type&&"root"!==e.type))}}),define("ghost-admin/utils/publish-options",["exports","moment-timezone","ghost-admin/utils/upgrade-url","ghost-admin/utils/public-preview-warning","ember-concurrency"],function(e,t,i,r,n){var o,a,s,l,u,c,d,p,m,h,b,f,g,v,y,w,E,P,_,O,j,k,T,z,x
2569
+ function S(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function C(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2573
2570
  var i=e[Symbol.toPrimitive]
2574
2571
  if(void 0!==i){var r=i.call(e,t||"default")
2575
2572
  if("object"!=typeof r)return r
@@ -2580,7 +2577,7 @@ const{Handlebars:A}=Ember
2580
2577
  e.default=(o=Ember._tracked,a=Ember._tracked,s=Ember._tracked,l=Ember._tracked,u=Ember._action,c=Ember._action,d=Ember._action,p=Ember._tracked,m=Ember._tracked,h=Ember._action,b=Ember._tracked,f=Ember._tracked,g=Ember._action,v=Ember._action,y=(0,n.task)({drop:!0}),w=(0,n.task)({drop:!0}),P=M((E=class{get isLoading(){return this.setupTask.isRunning}get willEmail(){return"publish"!==this.publishType&&this.recipientFilter&&this.post.isDraft&&!this.post.email||this.post.isDraft&&this.post.email&&"failed"===this.post.email.status}get willEmailImmediately(){return this.willEmail&&!this.isScheduled}get willPublish(){return"send"!==this.publishType}get willOnlyEmail(){return"send"===this.publishType}get publicPreviewWarning(){return(0,r.getPublicPreviewWarning)(this.post)}get minScheduledAt(){return t.default.utc().add(5,"seconds").milliseconds(0)}get defaultScheduledAt(){return t.default.utc().add(10,"minutes").milliseconds(0)}toggleScheduled(e){void 0===e&&(e=!this.isScheduled),this.isScheduled=e,!e||this.scheduledAtUTC&&!this.scheduledAtUTC.isBefore(this.defaultScheduledAt)||(this.scheduledAtUTC=this.defaultScheduledAt)}setScheduledAt(e){(e=t.default.utc(e).milliseconds(0)).isBefore(this.minScheduledAt)?this.scheduledAtUTC=this.minScheduledAt:this.scheduledAtUTC=e}resetPastScheduledAt(){this.scheduledAtUTC.isBefore(this.minScheduledAt)&&(this.isScheduled=!1,this.scheduledAt=null)}get publishTypeOptions(){return[{value:"publish+send",label:"Publish and email",display:"Publish and email",disabled:this.emailDisabled},{value:"publish",label:"Publish only",display:"Publish"},{value:"send",label:"Email only",display:"Email",disabled:this.emailDisabled}]}get selectedPublishTypeOption(){return this.publishTypeOptions.find(e=>e.value===this.publishType)}get emailDisabledInSettings(){return"disabled"===this.settings.editorDefaultEmailRecipients||"none"===this.settings.membersSignupAccess}get emailUnavailable(){return this.post.isPage||this.post.email||this.emailDisabledInSettings}get emailDisabled(){const e=0===this.totalMemberCount
2581
2578
  return!this.mailgunIsConfigured||e||this.emailDisabledError}get mailgunIsConfigured(){return this.settings.mailgunIsConfigured||this.config.mailgunIsConfigured}setPublishType(e){this.publishType=e}get newsletters(){return this.allNewsletters.filter(e=>"active"===e.status).sort(({sortOrder:e},{sortOrder:t})=>e-t)}get defaultNewsletter(){return this.newsletters[0]}get onlyDefaultNewsletter(){return 1===this.newsletters.length}get recipientFilter(){return void 0===this.selectedRecipientFilter?this.post.newsletter&&this.post.emailSegment||this.defaultRecipientFilter:this.selectedRecipientFilter}get defaultRecipientFilter(){const e=this.settings.editorDefaultEmailRecipients,t=this.settings.editorDefaultEmailRecipientsFilter
2582
2579
  return"disabled"===e?null:"visibility"===e||"filter"===e&&null===t?"public"===this.post.visibility||"members"===this.post.visibility?"status:free,status:-free":"paid"===this.post.visibility?"status:-free":"tiers"===this.post.visibility?this.post.visibilitySegment:this.post.visibility:t}get fullRecipientFilter(){let e=this.newsletter.recipientFilter
2583
- return this.recipientFilter&&(e+=`+(${this.recipientFilter})`),e}setNewsletter(e){this.newsletter=e}setRecipientFilter(e){this.selectedRecipientFilter=e}constructor({config:e,limit:t,post:i,settings:r,store:n,user:o,membersCountCache:a}={}){C(this,"config",null),C(this,"limit",null),C(this,"settings",null),C(this,"store",null),C(this,"membersCountCache",null),C(this,"post",null),C(this,"user",null),x(this,"publishDisabledError",P,this),x(this,"totalMemberCount",_,this),x(this,"isScheduled",O,this),x(this,"scheduledAtUTC",j,this),x(this,"publishType",k,this),x(this,"emailDisabledError",T,this),C(this,"allNewsletters",[]),x(this,"newsletter",z,this),x(this,"selectedRecipientFilter",S,this),this.config=e,this.limit=t,this.post=i,this.settings=r,this.store=n,this.user=o,this.membersCountCache=a,this.allNewsletters=this.store.peekAll("newsletter"),this.setupTask.perform()}*setupTask(){yield this.fetchRequiredDataTask.perform(),this.newsletter=this.defaultNewsletter,(this.emailUnavailable||this.emailDisabled)&&(this.publishType="publish"),"filter"===this.settings.editorDefaultEmailRecipients&&null===this.settings.editorDefaultEmailRecipientsFilter&&(this.publishType="publish"),this.post.isSent&&(this.publishType="send")}*fetchRequiredDataTask(){const e=[]
2580
+ return this.recipientFilter&&(e+=`+(${this.recipientFilter})`),e}setNewsletter(e){this.newsletter=e}setRecipientFilter(e){this.selectedRecipientFilter=e}constructor({config:e,limit:t,post:i,settings:r,store:n,user:o,membersCountCache:a}={}){C(this,"config",null),C(this,"limit",null),C(this,"settings",null),C(this,"store",null),C(this,"membersCountCache",null),C(this,"post",null),C(this,"user",null),S(this,"publishDisabledError",P,this),S(this,"totalMemberCount",_,this),S(this,"isScheduled",O,this),S(this,"scheduledAtUTC",j,this),S(this,"publishType",k,this),S(this,"emailDisabledError",T,this),C(this,"allNewsletters",[]),S(this,"newsletter",z,this),S(this,"selectedRecipientFilter",x,this),this.config=e,this.limit=t,this.post=i,this.settings=r,this.store=n,this.user=o,this.membersCountCache=a,this.allNewsletters=this.store.peekAll("newsletter"),this.setupTask.perform()}*setupTask(){yield this.fetchRequiredDataTask.perform(),this.newsletter=this.defaultNewsletter,(this.emailUnavailable||this.emailDisabled)&&(this.publishType="publish"),"filter"===this.settings.editorDefaultEmailRecipients&&null===this.settings.editorDefaultEmailRecipientsFilter&&(this.publishType="publish"),this.post.isSent&&(this.publishType="send")}*fetchRequiredDataTask(){const e=[]
2584
2581
  this.user.isAdmin?e.push(this.membersCountCache.count({}).then(e=>{this.totalMemberCount=e})):this.totalMemberCount=1,e.push(this._checkSendingLimit()),e.push(this._checkPublishingLimit()),this.user.isContributor||e.push(this.store.query("newsletter",{status:"active",limit:"all",include:"count.active_members"})),yield Promise.all(e)}*saveTask(){const e=this.willEmail
2585
2582
  this._applyModelChanges()
2586
2583
  const t={}
@@ -2589,7 +2586,7 @@ try{return yield this.post.save({adapterOptions:t})}catch(i){throw this._revertM
2589
2586
  try{return this.post.isScheduled&&(this.post.publishedAtUTC=null),this.post.status="draft",this.post.emailOnly=!1,yield this.post.save()}catch(i){throw this.post.status=e,this.post.publishedAtUTC=t,i}}_applyModelChanges(){const e=this.willEmail
2590
2587
  if(this._originalModelValues={},!this.post.isDraft)return;["status","publishedAtUTC","emailOnly"].forEach(e=>{this._originalModelValues[e]=this.post[e]}),this.post.status=this.isScheduled?"scheduled":"published",this.isScheduled&&(this.post.publishedAtUTC=this.scheduledAtUTC),e&&(this.post.emailOnly="send"===this.publishType)}_revertModelChanges(){Object.keys(this._originalModelValues).forEach(e=>{this.post[e]=this._originalModelValues[e]})}async _checkSendingLimit(){await this.settings.reload()
2591
2588
  try{this.limit.limiter?.isLimited("emails")&&!this.user.isAuthorOrContributor&&await this.limit.limiter.errorIfWouldGoOverLimit("emails"),this.settings.emailVerificationRequired&&(this.emailDisabledError=this.config.hostSettings?.emailVerification?.emailSendingDisabledMessage||"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){this.emailDisabledError=e.message}}async _checkPublishingLimit(){if(this.user.isAdmin)try{this.limit.limiter?.isLimited("members")&&await this.limit.limiter.errorIfIsOverLimit("members")}catch(e){const t=Ember.String.htmlSafe(e.message.replace(/please upgrade/i,`<a href="${A.Utils.escapeExpression((0,i.default)(this.config))}">$&</a>`))
2592
- this.publishDisabledError=t}}}).prototype,"publishDisabledError",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),_=M(E.prototype,"totalMemberCount",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),O=M(E.prototype,"isScheduled",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),j=M(E.prototype,"scheduledAtUTC",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.minScheduledAt}}),M(E.prototype,"toggleScheduled",[u],Object.getOwnPropertyDescriptor(E.prototype,"toggleScheduled"),E.prototype),M(E.prototype,"setScheduledAt",[c],Object.getOwnPropertyDescriptor(E.prototype,"setScheduledAt"),E.prototype),M(E.prototype,"resetPastScheduledAt",[d],Object.getOwnPropertyDescriptor(E.prototype,"resetPastScheduledAt"),E.prototype),k=M(E.prototype,"publishType",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"publish+send"}}),T=M(E.prototype,"emailDisabledError",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M(E.prototype,"setPublishType",[h],Object.getOwnPropertyDescriptor(E.prototype,"setPublishType"),E.prototype),z=M(E.prototype,"newsletter",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),S=M(E.prototype,"selectedRecipientFilter",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){}}),M(E.prototype,"setNewsletter",[g],Object.getOwnPropertyDescriptor(E.prototype,"setNewsletter"),E.prototype),M(E.prototype,"setRecipientFilter",[v],Object.getOwnPropertyDescriptor(E.prototype,"setRecipientFilter"),E.prototype),M(E.prototype,"setupTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"setupTask"),E.prototype),M(E.prototype,"fetchRequiredDataTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"fetchRequiredDataTask"),E.prototype),M(E.prototype,"saveTask",[y],Object.getOwnPropertyDescriptor(E.prototype,"saveTask"),E.prototype),M(E.prototype,"revertToDraftTask",[w],Object.getOwnPropertyDescriptor(E.prototype,"revertToDraftTask"),E.prototype),E)}),define("ghost-admin/utils/route",["ghost-admin/decorators/inject"],function(e){Ember.Route.reopen({billing:Ember.inject.service(),feature:Ember.inject.service(),router:Ember.inject.service(),config:(0,e.inject)(),actions:{willTransition(e){return this.get("upgradeStatus.isRequired")?(e.abort(),this.upgradeStatus.requireUpgrade(),!1):!this.config.hostSettings?.forceUpgrade||!0===this.feature.billingReact||(!(!e.to?.name?.startsWith("pro.")&&"signout"!==e.to?.name&&!e.to?.params?.path?.startsWith("settings"))||(e.abort(),this.billing.openBillingWindow(this.router.currentURL,"/pro"),!1))}}})}),define("ghost-admin/utils/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SEARCHABLES=void 0,e.createSearchResult=function(e,t){const i=e.idField||e.pathField
2589
+ this.publishDisabledError=t}}}).prototype,"publishDisabledError",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),_=M(E.prototype,"totalMemberCount",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),O=M(E.prototype,"isScheduled",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),j=M(E.prototype,"scheduledAtUTC",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.minScheduledAt}}),M(E.prototype,"toggleScheduled",[u],Object.getOwnPropertyDescriptor(E.prototype,"toggleScheduled"),E.prototype),M(E.prototype,"setScheduledAt",[c],Object.getOwnPropertyDescriptor(E.prototype,"setScheduledAt"),E.prototype),M(E.prototype,"resetPastScheduledAt",[d],Object.getOwnPropertyDescriptor(E.prototype,"resetPastScheduledAt"),E.prototype),k=M(E.prototype,"publishType",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"publish+send"}}),T=M(E.prototype,"emailDisabledError",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M(E.prototype,"setPublishType",[h],Object.getOwnPropertyDescriptor(E.prototype,"setPublishType"),E.prototype),z=M(E.prototype,"newsletter",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),x=M(E.prototype,"selectedRecipientFilter",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){}}),M(E.prototype,"setNewsletter",[g],Object.getOwnPropertyDescriptor(E.prototype,"setNewsletter"),E.prototype),M(E.prototype,"setRecipientFilter",[v],Object.getOwnPropertyDescriptor(E.prototype,"setRecipientFilter"),E.prototype),M(E.prototype,"setupTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"setupTask"),E.prototype),M(E.prototype,"fetchRequiredDataTask",[n.task],Object.getOwnPropertyDescriptor(E.prototype,"fetchRequiredDataTask"),E.prototype),M(E.prototype,"saveTask",[y],Object.getOwnPropertyDescriptor(E.prototype,"saveTask"),E.prototype),M(E.prototype,"revertToDraftTask",[w],Object.getOwnPropertyDescriptor(E.prototype,"revertToDraftTask"),E.prototype),E)}),define("ghost-admin/utils/route",["ghost-admin/decorators/inject"],function(e){Ember.Route.reopen({billing:Ember.inject.service(),feature:Ember.inject.service(),router:Ember.inject.service(),config:(0,e.inject)(),actions:{willTransition(e){return this.get("upgradeStatus.isRequired")?(e.abort(),this.upgradeStatus.requireUpgrade(),!1):!this.config.hostSettings?.forceUpgrade||!0===this.feature.billingReact||(!(!e.to?.name?.startsWith("pro.")&&"signout"!==e.to?.name&&!e.to?.params?.path?.startsWith("settings"))||(e.abort(),this.billing.openBillingWindow(this.router.currentURL,"/pro"),!1))}}})}),define("ghost-admin/utils/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SEARCHABLES=void 0,e.createSearchResult=function(e,t){const i=e.idField||e.pathField
2593
2590
  return{id:`${e.model}.${t[i]}`,url:t.url,title:t[e.titleField],groupName:e.name,status:t.status,visibility:t.visibility,publishedAt:t.published_at}},e.sortSearchResultsByStatus=function(e,i){"post"!==i&&"page"!==i||e.sort((e,i)=>(t[e.status]||5)-(t[i.status]||5))
2594
2591
  return e}
2595
2592
  e.SEARCHABLES=[{name:"Staff",model:"user",pathField:"slug",idField:"slug",titleField:"name",index:["name"]},{name:"Tags",model:"tag",pathField:"slug",idField:"slug",titleField:"name",index:["name"]},{name:"Posts",model:"post",pathField:"id",idField:"id",titleField:"title",index:["title"]},{name:"Pages",model:"page",pathField:"id",idField:"id",titleField:"title",index:["title"]}]
@@ -2680,6 +2677,6 @@ this.passwordChange(e),e.hasValidated.addObject("password"),Ember.isBlank(t)&&(e
2680
2677
  e.default=n.create()}),define("ghost-admin/validators/webhook",["exports","ghost-admin/validators/base","validator"],function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2681
2678
  e.default=t.default.create({properties:["name","event","targetUrl","secret"],name(e){Ember.isBlank(e.name)?(e.errors.add("name","Please enter a name"),e.hasValidated.pushObject("name"),this.invalidate()):i.default.isLength(e.name,{max:191})||(e.errors.add("name","Name is too long, max 191 chars"),e.hasValidated.pushObject("name"),this.invalidate())},event(e){Ember.isBlank(e.event)&&(e.errors.add("event","Please select an event"),e.hasValidated.pushObject("event"),this.invalidate())},targetUrl(e){Ember.isBlank(e.targetUrl)?e.errors.add("targetUrl","Please enter a target URL"):i.default.isURL(e.targetUrl||"",{require_protocol:!1})?i.default.isLength(e.targetUrl,{max:2e3})||e.errors.add("targetUrl","Target URL is too long, max 2000 chars"):e.errors.add("targetUrl","Please enter a valid URL"),e.hasValidated.pushObject("targetUrl"),e.errors.has("targetUrl")&&this.invalidate()},secret(e){Ember.isBlank(e.secret)||i.default.isLength(e.secret,{max:191})||(e.errors.add("secret","Secret is too long, max 191 chars"),e.hasValidated.pushObject("secret"),this.invalidate())}})}),define("ghost-admin/views/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2682
2679
  e.default=Ember.Component.extend({})}),define("ghost-admin/config/environment",[],function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),i={default:JSON.parse(decodeURIComponent(t))}
2683
- return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("ghost-admin/app").default.create({version:"6.68",name:"ghost-admin"})
2680
+ return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("ghost-admin/app").default.create({version:"6.69",name:"ghost-admin"})
2684
2681
 
2685
- //# sourceMappingURL=ghost-c7c76bc7a47c7e3bbe39caf9a5dc951a.map
2682
+ //# sourceMappingURL=ghost-d3588271a6772ecf65b219dce6b20e85.map