ghost 5.54.0 → 5.54.2

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 (204) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.54.2.tgz +0 -0
  2. package/components/tryghost-adapter-cache-redis-5.54.2.tgz +0 -0
  3. package/components/{tryghost-adapter-manager-5.54.0.tgz → tryghost-adapter-manager-5.54.2.tgz} +0 -0
  4. package/components/{tryghost-announcement-bar-settings-5.54.0.tgz → tryghost-announcement-bar-settings-5.54.2.tgz} +0 -0
  5. package/components/{tryghost-api-framework-5.54.0.tgz → tryghost-api-framework-5.54.2.tgz} +0 -0
  6. package/components/tryghost-api-version-compatibility-service-5.54.2.tgz +0 -0
  7. package/components/tryghost-audience-feedback-5.54.2.tgz +0 -0
  8. package/components/tryghost-bootstrap-socket-5.54.2.tgz +0 -0
  9. package/components/tryghost-collections-5.54.2.tgz +0 -0
  10. package/components/tryghost-constants-5.54.2.tgz +0 -0
  11. package/components/tryghost-custom-theme-settings-service-5.54.2.tgz +0 -0
  12. package/components/{tryghost-data-generator-5.54.0.tgz → tryghost-data-generator-5.54.2.tgz} +0 -0
  13. package/components/tryghost-domain-events-5.54.2.tgz +0 -0
  14. package/components/tryghost-dynamic-routing-events-5.54.2.tgz +0 -0
  15. package/components/tryghost-email-analytics-provider-mailgun-5.54.2.tgz +0 -0
  16. package/components/tryghost-email-analytics-service-5.54.2.tgz +0 -0
  17. package/components/tryghost-email-content-generator-5.54.2.tgz +0 -0
  18. package/components/tryghost-email-events-5.54.2.tgz +0 -0
  19. package/components/{tryghost-email-service-5.54.0.tgz → tryghost-email-service-5.54.2.tgz} +0 -0
  20. package/components/tryghost-email-suppression-list-5.54.2.tgz +0 -0
  21. package/components/tryghost-event-aware-cache-wrapper-5.54.2.tgz +0 -0
  22. package/components/tryghost-express-dynamic-redirects-5.54.2.tgz +0 -0
  23. package/components/tryghost-external-media-inliner-5.54.2.tgz +0 -0
  24. package/components/tryghost-extract-api-key-5.54.2.tgz +0 -0
  25. package/components/tryghost-html-to-plaintext-5.54.2.tgz +0 -0
  26. package/components/tryghost-i18n-5.54.2.tgz +0 -0
  27. package/components/tryghost-importer-handler-content-files-5.54.2.tgz +0 -0
  28. package/components/tryghost-importer-revue-5.54.2.tgz +0 -0
  29. package/components/tryghost-in-memory-repository-5.54.2.tgz +0 -0
  30. package/components/{tryghost-job-manager-5.54.0.tgz → tryghost-job-manager-5.54.2.tgz} +0 -0
  31. package/components/tryghost-link-redirects-5.54.2.tgz +0 -0
  32. package/components/tryghost-link-replacer-5.54.2.tgz +0 -0
  33. package/components/tryghost-link-tracking-5.54.2.tgz +0 -0
  34. package/components/{tryghost-magic-link-5.54.0.tgz → tryghost-magic-link-5.54.2.tgz} +0 -0
  35. package/components/tryghost-mail-events-5.54.2.tgz +0 -0
  36. package/components/tryghost-mailgun-client-5.54.2.tgz +0 -0
  37. package/components/{tryghost-member-attribution-5.54.0.tgz → tryghost-member-attribution-5.54.2.tgz} +0 -0
  38. package/components/tryghost-member-events-5.54.2.tgz +0 -0
  39. package/components/tryghost-members-api-5.54.2.tgz +0 -0
  40. package/components/tryghost-members-csv-5.54.2.tgz +0 -0
  41. package/components/{tryghost-members-events-service-5.54.0.tgz → tryghost-members-events-service-5.54.2.tgz} +0 -0
  42. package/components/tryghost-members-importer-5.54.2.tgz +0 -0
  43. package/components/tryghost-members-offers-5.54.2.tgz +0 -0
  44. package/components/tryghost-members-payments-5.54.2.tgz +0 -0
  45. package/components/tryghost-members-ssr-5.54.2.tgz +0 -0
  46. package/components/tryghost-members-stripe-service-5.54.2.tgz +0 -0
  47. package/components/tryghost-mentions-email-report-5.54.2.tgz +0 -0
  48. package/components/tryghost-milestones-5.54.2.tgz +0 -0
  49. package/components/tryghost-minifier-5.54.2.tgz +0 -0
  50. package/components/tryghost-model-to-domain-event-interceptor-5.54.2.tgz +0 -0
  51. package/components/tryghost-mw-api-version-mismatch-5.54.2.tgz +0 -0
  52. package/components/tryghost-mw-cache-control-5.54.2.tgz +0 -0
  53. package/components/{tryghost-mw-error-handler-5.54.0.tgz → tryghost-mw-error-handler-5.54.2.tgz} +0 -0
  54. package/components/tryghost-mw-session-from-token-5.54.2.tgz +0 -0
  55. package/components/{tryghost-mw-update-user-last-seen-5.54.0.tgz → tryghost-mw-update-user-last-seen-5.54.2.tgz} +0 -0
  56. package/components/tryghost-mw-version-match-5.54.2.tgz +0 -0
  57. package/components/tryghost-mw-vhost-5.54.2.tgz +0 -0
  58. package/components/tryghost-oembed-service-5.54.2.tgz +0 -0
  59. package/components/{tryghost-package-json-5.54.0.tgz → tryghost-package-json-5.54.2.tgz} +0 -0
  60. package/components/tryghost-post-revisions-5.54.2.tgz +0 -0
  61. package/components/{tryghost-posts-service-5.54.0.tgz → tryghost-posts-service-5.54.2.tgz} +0 -0
  62. package/components/tryghost-referrers-5.54.2.tgz +0 -0
  63. package/components/{tryghost-security-5.54.0.tgz → tryghost-security-5.54.2.tgz} +0 -0
  64. package/components/tryghost-session-service-5.54.2.tgz +0 -0
  65. package/components/tryghost-settings-path-manager-5.54.2.tgz +0 -0
  66. package/components/tryghost-slack-notifications-5.54.2.tgz +0 -0
  67. package/components/tryghost-staff-service-5.54.2.tgz +0 -0
  68. package/components/{tryghost-stats-service-5.54.0.tgz → tryghost-stats-service-5.54.2.tgz} +0 -0
  69. package/components/{tryghost-tiers-5.54.0.tgz → tryghost-tiers-5.54.2.tgz} +0 -0
  70. package/components/tryghost-update-check-service-5.54.2.tgz +0 -0
  71. package/components/tryghost-verification-trigger-5.54.2.tgz +0 -0
  72. package/components/tryghost-version-notifications-data-service-5.54.2.tgz +0 -0
  73. package/components/{tryghost-webmentions-5.54.0.tgz → tryghost-webmentions-5.54.2.tgz} +0 -0
  74. package/content/themes/casper/assets/built/screen.css +1 -1
  75. package/content/themes/casper/assets/built/screen.css.map +1 -1
  76. package/content/themes/casper/assets/css/screen.css +5 -0
  77. package/content/themes/casper/page.hbs +26 -24
  78. package/core/built/admin/assets/{chunk.143.8efdcfa0b261cebe27ff.js → chunk.143.8c62e04ae59bfd9beb9b.js} +5 -5
  79. package/core/built/admin/assets/{chunk.178.477f1722cea0a8238b37.js → chunk.178.3d7b59b0da7194d453ee.js} +4 -4
  80. package/core/built/admin/assets/{chunk.976.64982d690133b4ba977b.js → chunk.400.ba8e47ffe962dee508dc.js} +1573 -1570
  81. package/core/built/admin/assets/ghost-4c37b19a127806313f64fcd759eaa0e2.css +1 -0
  82. package/core/built/admin/assets/{ghost-8b412e593aa2ccde5e17f6a738f66fa4.js → ghost-5298a1ba0c432899d0c00086354e96dd.js} +71 -75
  83. package/core/built/admin/assets/ghost-dark-b80a5d657c788174451fd218428af744.css +1 -0
  84. package/core/built/admin/assets/simplemde/{simplemde-d16ff9bcc5bf6ad4916fb0034a30adb1.js → simplemde-8f638be9b49c6c5fc95902d6e470c1a3.js} +7 -7
  85. package/core/built/admin/assets/{vendor-4b645d0063c36a91810fae5aefcd4dd1.js → vendor-0d244308df4eb04209cbd5fa6abe358b.js} +582 -608
  86. package/core/built/admin/index.html +6 -6
  87. package/core/frontend/services/apps/loader.js +4 -4
  88. package/core/frontend/services/data/entry-lookup.js +0 -1
  89. package/core/frontend/services/data/fetch-data.js +15 -10
  90. package/core/frontend/services/proxy.js +3 -0
  91. package/core/frontend/services/rendering/format-response.js +27 -1
  92. package/core/frontend/services/rendering/render-entry.js +1 -1
  93. package/core/frontend/services/routing/controllers/static.js +10 -8
  94. package/core/frontend/services/rss/generate-feed.js +0 -1
  95. package/core/frontend/src/cards/css/signup.css +4 -4
  96. package/core/server/adapters/storage/LocalStorageBase.js +0 -1
  97. package/core/server/api/endpoints/authentication.js +0 -1
  98. package/core/server/api/endpoints/authors-public.js +0 -1
  99. package/core/server/api/endpoints/db.js +5 -5
  100. package/core/server/api/endpoints/invites.js +0 -1
  101. package/core/server/api/endpoints/labels.js +0 -1
  102. package/core/server/api/endpoints/mail.js +0 -1
  103. package/core/server/api/endpoints/session.js +0 -1
  104. package/core/server/api/endpoints/snippets.js +0 -1
  105. package/core/server/api/endpoints/tags-public.js +0 -1
  106. package/core/server/api/endpoints/tags.js +0 -1
  107. package/core/server/api/endpoints/users.js +0 -1
  108. package/core/server/api/endpoints/utils/permissions.js +0 -1
  109. package/core/server/api/endpoints/utils/serializers/output/roles.js +17 -12
  110. package/core/server/api/endpoints/utils/validators/input/invitations.js +0 -1
  111. package/core/server/api/endpoints/utils/validators/input/invites.js +0 -1
  112. package/core/server/api/endpoints/utils/validators/input/oembed.js +0 -1
  113. package/core/server/api/endpoints/utils/validators/input/password_reset.js +0 -1
  114. package/core/server/api/endpoints/utils/validators/input/settings.js +0 -1
  115. package/core/server/api/endpoints/utils/validators/input/users.js +0 -1
  116. package/core/server/data/migrations/hooks/init/before.js +0 -1
  117. package/core/server/data/migrations/hooks/migrate/afterEach.js +0 -1
  118. package/core/server/data/migrations/hooks/migrate/beforeEach.js +0 -1
  119. package/core/server/data/schema/commands.js +0 -1
  120. package/core/server/data/schema/validator.js +0 -2
  121. package/core/server/lib/image/BlogIcon.js +2 -3
  122. package/core/server/lib/image/Gravatar.js +0 -1
  123. package/core/server/lib/image/ImageSize.js +6 -7
  124. package/core/server/models/base/listeners.js +3 -3
  125. package/core/server/models/base/utils.js +0 -1
  126. package/core/server/models/invite.js +0 -1
  127. package/core/server/models/post.js +0 -1
  128. package/core/server/models/role.js +0 -1
  129. package/core/server/models/user.js +7 -8
  130. package/core/server/models/webhook.js +0 -1
  131. package/core/server/services/notifications/Notifications.js +0 -1
  132. package/core/server/services/permissions/can-this.js +0 -1
  133. package/core/server/services/permissions/providers.js +0 -1
  134. package/core/server/services/route-settings/DefaultSettingsManager.js +0 -1
  135. package/core/server/services/route-settings/RouteSettings.js +3 -2
  136. package/core/server/services/webhooks/payload.js +0 -1
  137. package/core/server/web/shared/middleware/api/spam-prevention.js +1 -1
  138. package/core/shared/labs.js +3 -2
  139. package/package.json +179 -161
  140. package/yarn.lock +1631 -3205
  141. package/components/tryghost-adapter-cache-memory-ttl-5.54.0.tgz +0 -0
  142. package/components/tryghost-adapter-cache-redis-5.54.0.tgz +0 -0
  143. package/components/tryghost-api-version-compatibility-service-5.54.0.tgz +0 -0
  144. package/components/tryghost-audience-feedback-5.54.0.tgz +0 -0
  145. package/components/tryghost-bootstrap-socket-5.54.0.tgz +0 -0
  146. package/components/tryghost-collections-5.54.0.tgz +0 -0
  147. package/components/tryghost-constants-5.54.0.tgz +0 -0
  148. package/components/tryghost-custom-theme-settings-service-5.54.0.tgz +0 -0
  149. package/components/tryghost-domain-events-5.54.0.tgz +0 -0
  150. package/components/tryghost-dynamic-routing-events-5.54.0.tgz +0 -0
  151. package/components/tryghost-email-analytics-provider-mailgun-5.54.0.tgz +0 -0
  152. package/components/tryghost-email-analytics-service-5.54.0.tgz +0 -0
  153. package/components/tryghost-email-content-generator-5.54.0.tgz +0 -0
  154. package/components/tryghost-email-events-5.54.0.tgz +0 -0
  155. package/components/tryghost-email-suppression-list-5.54.0.tgz +0 -0
  156. package/components/tryghost-event-aware-cache-wrapper-5.54.0.tgz +0 -0
  157. package/components/tryghost-express-dynamic-redirects-5.54.0.tgz +0 -0
  158. package/components/tryghost-external-media-inliner-5.54.0.tgz +0 -0
  159. package/components/tryghost-extract-api-key-5.54.0.tgz +0 -0
  160. package/components/tryghost-html-to-plaintext-5.54.0.tgz +0 -0
  161. package/components/tryghost-i18n-5.54.0.tgz +0 -0
  162. package/components/tryghost-importer-handler-content-files-5.54.0.tgz +0 -0
  163. package/components/tryghost-importer-revue-5.54.0.tgz +0 -0
  164. package/components/tryghost-in-memory-repository-5.54.0.tgz +0 -0
  165. package/components/tryghost-link-redirects-5.54.0.tgz +0 -0
  166. package/components/tryghost-link-replacer-5.54.0.tgz +0 -0
  167. package/components/tryghost-link-tracking-5.54.0.tgz +0 -0
  168. package/components/tryghost-mail-events-5.54.0.tgz +0 -0
  169. package/components/tryghost-mailgun-client-5.54.0.tgz +0 -0
  170. package/components/tryghost-member-events-5.54.0.tgz +0 -0
  171. package/components/tryghost-members-api-5.54.0.tgz +0 -0
  172. package/components/tryghost-members-csv-5.54.0.tgz +0 -0
  173. package/components/tryghost-members-importer-5.54.0.tgz +0 -0
  174. package/components/tryghost-members-offers-5.54.0.tgz +0 -0
  175. package/components/tryghost-members-payments-5.54.0.tgz +0 -0
  176. package/components/tryghost-members-ssr-5.54.0.tgz +0 -0
  177. package/components/tryghost-members-stripe-service-5.54.0.tgz +0 -0
  178. package/components/tryghost-mentions-email-report-5.54.0.tgz +0 -0
  179. package/components/tryghost-milestones-5.54.0.tgz +0 -0
  180. package/components/tryghost-minifier-5.54.0.tgz +0 -0
  181. package/components/tryghost-model-to-domain-event-interceptor-5.54.0.tgz +0 -0
  182. package/components/tryghost-mw-api-version-mismatch-5.54.0.tgz +0 -0
  183. package/components/tryghost-mw-cache-control-5.54.0.tgz +0 -0
  184. package/components/tryghost-mw-session-from-token-5.54.0.tgz +0 -0
  185. package/components/tryghost-mw-version-match-5.54.0.tgz +0 -0
  186. package/components/tryghost-mw-vhost-5.54.0.tgz +0 -0
  187. package/components/tryghost-oembed-service-5.54.0.tgz +0 -0
  188. package/components/tryghost-post-revisions-5.54.0.tgz +0 -0
  189. package/components/tryghost-referrers-5.54.0.tgz +0 -0
  190. package/components/tryghost-session-service-5.54.0.tgz +0 -0
  191. package/components/tryghost-settings-path-manager-5.54.0.tgz +0 -0
  192. package/components/tryghost-slack-notifications-5.54.0.tgz +0 -0
  193. package/components/tryghost-staff-service-5.54.0.tgz +0 -0
  194. package/components/tryghost-update-check-service-5.54.0.tgz +0 -0
  195. package/components/tryghost-verification-trigger-5.54.0.tgz +0 -0
  196. package/components/tryghost-version-notifications-data-service-5.54.0.tgz +0 -0
  197. package/core/built/admin/assets/ghost-792c3ca38b2564ec779a4513eeb4d10c.css +0 -1
  198. package/core/built/admin/assets/ghost-dark-0ac006215fbff8210f7bb6d3a8c9a1f9.css +0 -1
  199. package/core/frontend/public/ghost.min.css +0 -1
  200. package/core/server/services/collections/PostsDataRepositoryBookshelf.js +0 -23
  201. /package/core/built/admin/assets/{chunk.976.64982d690133b4ba977b.js.LICENSE.txt → chunk.400.ba8e47ffe962dee508dc.js.LICENSE.txt} +0 -0
  202. /package/core/built/admin/assets/fonts/{Inter-italic.var.woff2 → Inter-italic.var-1f7ca6383ea7c74a7f5ddd76c3d3cef2.woff2} +0 -0
  203. /package/core/built/admin/assets/fonts/{Inter-roman.var.woff2 → Inter-roman.var-66c6e40883646a7ad993108b2ce2da32.woff2} +0 -0
  204. /package/core/built/admin/assets/videos/{logo-loader.mp4 → logo-loader-d91f93ba1dbf0f52a22815b5a571bd31.mp4} +0 -0
@@ -94,7 +94,7 @@ return{read:()=>{switch(t){case"pending":throw i
94
94
  case"error":throw e
95
95
  default:return e}}}}(),z=e=>{const{AdminXApp:t}=T.read()
96
96
  return n.default.createElement(t,e)}
97
- let x=(s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember._action,m=class extends i.default{constructor(){super(...arguments),k(this,"ajax",h,this),k(this,"feature",b,this),k(this,"ghostPaths",g,this),k(this,"session",f,this),k(this,"store",v,this),k(this,"settings",y,this),k(this,"config",w,this),P(this,"ReactComponent",(()=>n.default.createElement("div",{className:["admin-x-settings-container-",this.args.className].filter(Boolean).join(" ")},n.default.createElement(_,null,n.default.createElement(n.Suspense,{fallback:n.default.createElement("p",{className:"admin-x-settings-container--loading"},"Loading settings...")},n.default.createElement(z,{ghostVersion:r.default.APP.version,officialThemes:j,setDirty:this.args.setDirty}))))))}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{adminx:!0}})}},h=E(m.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=E(m.prototype,"feature",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=E(m.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=E(m.prototype,"session",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=E(m.prototype,"store",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=E(m.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=E(m.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E(m.prototype,"onError",[p],Object.getOwnPropertyDescriptor(m.prototype,"onError"),m.prototype),m)
97
+ let x=(s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,c=Ember.inject.service,d=Ember.inject.service,p=Ember._action,m=class extends i.default{constructor(){super(...arguments),k(this,"ajax",h,this),k(this,"feature",b,this),k(this,"ghostPaths",g,this),k(this,"session",f,this),k(this,"store",v,this),k(this,"settings",y,this),k(this,"config",w,this),P(this,"ReactComponent",(()=>n.default.createElement("div",{className:["admin-x-settings-container-",this.args.className].filter(Boolean).join(" ")},n.default.createElement(_,null,n.default.createElement(n.Suspense,{fallback:n.default.createElement("p",{className:"admin-x-settings-container--loading"},"Loading settings...")},n.default.createElement(z,{ghostVersion:r.default.APP.version,officialThemes:j}))))))}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{adminx:!0}})}},h=E(m.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=E(m.prototype,"feature",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=E(m.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=E(m.prototype,"session",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=E(m.prototype,"store",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=E(m.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=E(m.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E(m.prototype,"onError",[p],Object.getOwnPropertyDescriptor(m.prototype,"onError"),m.prototype),m)
98
98
  e.default=x,Ember._setComponentTemplate(O,x)})),define("ghost-admin/components/announcement-settings/background",["exports","@glimmer/component"],(function(e,t){var i,n,r,a
99
99
  function s(e,t,i,n,r){var a={}
100
100
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -878,7 +878,7 @@ n!==r||i&&!t?i&&this.close():(a||(a=e.button,this.set("button",a)),this.open())}
878
878
  e.default=p})),define("ghost-admin/components/gh-editor-feature-image",["exports","@glimmer/component"],(function(e,t){var i,n,r,a,s,o,l,u,c,d,p,m,h,b,g,f,v,y,w,k,E,P
879
879
  function O(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function j(e,t,i,n,r){var a={}
880
880
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
881
- const _=Ember.HTMLBars.template({id:"bGlbvfp2",block:'{"symbols":["uploader","error","@caption","@updateCaption","@alt","@image","@isHidden","@clearImage"],"statements":[[11,"div"],[24,0,"gh-editor-feature-image-container"],[4,[38,0],["mouseover",[30,[36,4],[[30,[36,3],[[32,0,["isHovered"]]],null],true],null]],null],[4,[38,0],["mouseleave",[30,[36,4],[[30,[36,3],[[32,0,["isHovered"]]],null],false],null]],null],[12],[2,"\\n"],[2," "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[32,0,["setUploadedImage"]]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,10],[[32,6]],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,4],[[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,9],[[30,[36,8],[[30,[36,8],[[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,7],[[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,6]],null,[["default","else"],[{"statements":[[6,[37,2],[[32,7]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-editor-hidden-indicator"],[14,"data-tooltip","Feature image and post title are hidden"],[12],[2,"\\n "],[1,[30,[36,1],["eye-closed"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"gh-editor-feature-image-indicator"],[14,"data-tooltip","A feature image is publicly visible to anyone"],[12],[2,"\\n "],[1,[30,[36,1],["feature-image"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-editor-feature-image"],[12],[2,"\\n "],[10,"img"],[15,"src",[32,6]],[15,"alt",[32,5]],[15,"role",[30,[36,2],[[32,5],"img","presentation"],null]],[12],[13],[2,"\\n "],[10,"div"],[14,0,"gh-editor-feature-image-overlay"],[12],[13],[2,"\\n"],[6,[37,2],[[30,[36,6],["lexicalEditor"],null]],null,[["default"],[{"statements":[[2," "],[8,"koenig-image-editor",[],[["@imageSrc","@saveImage"],[[32,6],[30,[36,4],[[32,0,["saveImage"]],[32,1,["setFiles"]]],null]]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[11,"button"],[24,0,"image-action image-delete"],[24,"title","Delete image"],[24,4,"button"],[4,[38,0],["click",[32,8]],null],[12],[2,"\\n "],[1,[30,[36,1],["koenig/kg-trash"],null]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"flex justify-between align-center"],[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"],[24,0,"gh-editor-feature-image-alttext"],[24,3,"alt"],[16,2,[32,5]],[24,"aria-label","Alt text for feature image"],[24,4,"text"],[4,[38,5],null,null],[4,[38,0],["input",[32,0,["onAltInput"]]],null],[12],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"koenig-basic-html-input",[],[["@html","@placeholder","@class","@name","@onChange","@onFocus","@onBlur"],[[32,3],[30,[36,2],[[32,0,["captionInputFocused"]],"","Add a caption to the feature image"],null],"gh-editor-feature-image-caption","caption",[32,4],[30,[36,4],[[30,[36,3],[[32,0,["captionInputFocused"]]],null],true],null],[30,[36,4],[[30,[36,3],[[32,0,["captionInputFocused"]]],null],false],null]]],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-white b--midlightgrey midlightgrey"],null]]]],[24,4,"button"],[4,[38,0],["click",[32,0,["toggleAltEditing"]]],[["passive"],[true]]],[12],[2,"\\n Alt\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[15,0,[31,["flex flex-row items-center ",[30,[36,2],[[32,0,["hideButton"]],"invisible"],null]]]],[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","mut","fn","autofocus","feature","or","-track-array","each","unless"]}',moduleName:"ghost-admin/components/gh-editor-feature-image.hbs"})
881
+ const _=Ember.HTMLBars.template({id:"qG6YW50Y",block:'{"symbols":["uploader","error","@caption","@isHidden","@updateCaption","@alt","@image","@clearImage"],"statements":[[11,"div"],[24,0,"gh-editor-feature-image-container"],[4,[38,0],["mouseover",[30,[36,6],[[30,[36,5],[[32,0,["isHovered"]]],null],true],null]],null],[4,[38,0],["mouseleave",[30,[36,6],[[30,[36,5],[[32,0,["isHovered"]]],null],false],null]],null],[12],[2,"\\n"],[2," "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[32,0,["setUploadedImage"]]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,12],[[32,7]],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,11],[[30,[36,10],[[30,[36,10],[[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,9],[[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,7]],null,[["default","else"],[{"statements":[[6,[37,2],[[32,4]],null,[["default","else"],[{"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":[]},{"statements":[[2," "],[10,"span"],[14,0,"gh-editor-feature-image-indicator"],[14,"data-tooltip","A feature image is publicly visible to anyone"],[12],[2,"\\n "],[1,[30,[36,1],["feature-image"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-editor-feature-image"],[12],[2,"\\n "],[10,"img"],[15,"src",[32,7]],[15,"alt",[32,6]],[15,"role",[30,[36,2],[[32,6],"img","presentation"],null]],[15,0,[31,[[30,[36,2],[[32,4],"faded"],null]]]],[12],[13],[2,"\\n "],[10,"div"],[14,0,"gh-editor-feature-image-overlay"],[12],[13],[2,"\\n"],[6,[37,2],[[30,[36,8],["lexicalEditor"],null]],null,[["default"],[{"statements":[[2," "],[8,"koenig-image-editor",[],[["@imageSrc","@saveImage"],[[32,7],[30,[36,6],[[32,0,["saveImage"]],[32,1,["setFiles"]]],null]]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[11,"button"],[24,0,"image-action image-delete"],[24,"title","Delete image"],[24,4,"button"],[4,[38,0],["click",[32,8]],null],[12],[2,"\\n "],[1,[30,[36,1],["koenig/kg-trash"],null]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"flex justify-between align-center"],[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,4],"faded"],null]]]],[24,3,"alt"],[16,2,[32,6]],[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-basic-html-input",[],[["@html","@placeholder","@class","@name","@onChange","@onFocus","@onBlur"],[[32,3],[30,[36,2],[[32,0,["captionInputFocused"]],"","Add a caption to the feature image"],null],[31,["gh-editor-feature-image-caption ",[30,[36,2],[[30,[36,4],[[32,4],[30,[36,3],[[32,0,["captionInputFocused"]]],null]],null],"faded"],null]]],"caption",[32,5],[30,[36,6],[[30,[36,5],[[32,0,["captionInputFocused"]]],null],true],null],[30,[36,6],[[30,[36,5],[[32,0,["captionInputFocused"]]],null],false],null]]],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-white b--midlightgrey midlightgrey"],null]]]],[24,4,"button"],[4,[38,0],["click",[32,0,["toggleAltEditing"]]],[["passive"],[true]]],[12],[2,"\\n Alt\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[15,0,[31,["flex flex-row items-center ",[30,[36,2],[[32,0,["hideButton"]],"invisible"],null]]]],[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","feature","or","-track-array","each","unless"]}',moduleName:"ghost-admin/components/gh-editor-feature-image.hbs"})
882
882
  let T=(i=Ember.inject.service,n=Ember._tracked,r=Ember._tracked,a=Ember._tracked,s=Ember._tracked,o=Ember._tracked,l=Ember._action,u=Ember._action,c=Ember._action,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,g=Ember._action,f=class extends t.default{constructor(){super(...arguments),O(this,"settings",v,this),O(this,"isEditingAlt",y,this),O(this,"isHovered",w,this),O(this,"captionInputFocused",k,this),O(this,"showUnsplashSelector",E,this),O(this,"canDrop",P,this)}get hideButton(){return!this.canDrop&&!this.isHovered&&!this.args.forceButtonDisplay}setUploadedImage(e){e[0]&&this.args.updateImage(e[0].url)}setUnsplashImage(e){let{src:t,caption:i}=e
883
883
  this.args.updateImage(t),this.args.updateCaption(i)}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){let t=e.dataTransfer.effectAllowed
884
884
  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])}},v=j(f.prototype,"settings",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=j(f.prototype,"isEditingAlt",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),w=j(f.prototype,"isHovered",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),k=j(f.prototype,"captionInputFocused",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),E=j(f.prototype,"showUnsplashSelector",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),P=j(f.prototype,"canDrop",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),j(f.prototype,"setUploadedImage",[l],Object.getOwnPropertyDescriptor(f.prototype,"setUploadedImage"),f.prototype),j(f.prototype,"setUnsplashImage",[u],Object.getOwnPropertyDescriptor(f.prototype,"setUnsplashImage"),f.prototype),j(f.prototype,"toggleUnsplashSelector",[c],Object.getOwnPropertyDescriptor(f.prototype,"toggleUnsplashSelector"),f.prototype),j(f.prototype,"toggleAltEditing",[d],Object.getOwnPropertyDescriptor(f.prototype,"toggleAltEditing"),f.prototype),j(f.prototype,"onAltInput",[p],Object.getOwnPropertyDescriptor(f.prototype,"onAltInput"),f.prototype),j(f.prototype,"dragOver",[m],Object.getOwnPropertyDescriptor(f.prototype,"dragOver"),f.prototype),j(f.prototype,"dragLeave",[h],Object.getOwnPropertyDescriptor(f.prototype,"dragLeave"),f.prototype),j(f.prototype,"drop",[b],Object.getOwnPropertyDescriptor(f.prototype,"drop"),f.prototype),j(f.prototype,"saveImage",[g],Object.getOwnPropertyDescriptor(f.prototype,"saveImage"),f.prototype),f)
@@ -1076,7 +1076,7 @@ if("object"!=typeof n)return n
1076
1076
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
1077
1077
  return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function k(e,t,i,n,r){var a={}
1078
1078
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1079
- const E=Ember.HTMLBars.template({id:"Lggyjhhw",block:'{"symbols":["&attrs","@featureImage","@setFeatureImage","@clearFeatureImage","@featureImageAlt","@setFeatureImageAlt","@featureImageCaption","@setFeatureImageCaption","@title","@cardOptions","@titlePlaceholder","@titleAutofocus","@onTitleBlur","@body","@onBodyChange","@updateWordCount"],"statements":[[11,"div"],[24,0,"gh-koenig-editor relative w-100 vh-100 overflow-x-hidden overflow-y-auto z-0"],[17,1],[4,[38,1],[[32,0,["registerElement"]]],null],[12],[2,"\\n"],[2," "],[11,"div"],[24,0,"gh-koenig-editor-pane flex flex-column mih-100"],[4,[38,2],["mousedown",[32,0,["trackMousedown"]]],null],[4,[38,2],["mouseup",[32,0,["focusEditor"]]],null],[12],[2,"\\n "],[8,"gh-editor-feature-image",[],[["@image","@updateImage","@clearImage","@alt","@updateAlt","@caption","@updateCaption","@forceButtonDisplay","@isHidden"],[[32,2],[32,3],[32,4],[32,5],[32,6],[32,7],[32,8],[30,[36,5],[[30,[36,4],[[32,9]],null],[30,[36,3],[[32,9],"(Untitled)"],null],[32,0,["titleIsHovered"]],[32,0,["titleIsFocused"]]],null],[30,[36,7],[[30,[36,6],["pageImprovements"],null],[30,[36,4],[[32,10,["post","showTitleAndFeatureImage"]]],null]],null]]],null],[2,"\\n\\n "],[10,"div"],[15,0,[31,["gh-editor-title-container ",[30,[36,8],[[30,[36,6],["pageImprovements"],null],"page-improvements"],null]]]],[12],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,6],["pageImprovements"],null],[30,[36,4],[[32,10,["post","showTitleAndFeatureImage"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-editor-hidden-indicator"],[14,"data-tooltip","Feature image and post title are hidden"],[12],[2,"\\n "],[1,[30,[36,0],["eye-closed"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-textarea",[[16,"data-test-editor-title-input",true],[4,[38,2],["focus",[30,[36,12],[[30,[36,11],[[32,0,["titleIsFocused"]]],null],true],null]],null],[4,[38,2],["blur",[30,[36,12],[[30,[36,11],[[32,0,["titleIsFocused"]]],null],false],null]],null],[4,[38,2],["mouseover",[30,[36,12],[[30,[36,11],[[32,0,["titleIsHovered"]]],null],true],null]],null],[4,[38,2],["mouseleave",[30,[36,12],[[30,[36,11],[[32,0,["titleIsHovered"]]],null],false],null]],null],[4,[38,2],["paste",[32,0,["cleanPastedTitle"]]],null]],[["@class","@placeholder","@shouldFocus","@tabindex","@autoExpand","@value","@input","@focus-out","@keyDown","@didCreateTextarea"],["gh-editor-title",[32,11],[30,[36,5],[[32,12],false],null],"1",".gh-koenig-editor",[30,[36,9],[[32,0,["title"]]],null],[32,0,["updateTitle"]],[30,[36,10],[[32,13]],null],[32,0,["onTitleKeydown"]],[32,0,["registerTitleElement"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[8,"koenig-lexical-editor",[],[["@lexical","@cardConfig","@onChange","@registerAPI","@cursorDidExitAtTop","@updateWordCount"],[[32,14],[32,10],[32,15],[32,0,["registerEditorAPI"]],[32,0,["focusTitle"]],[32,16]]],null],[2,"\\n\\n"],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar","did-insert","on","eq","not","or","feature","and","if","readonly","optional","mut","fn"]}',moduleName:"ghost-admin/components/gh-koenig-editor-lexical.hbs"})
1079
+ const E=Ember.HTMLBars.template({id:"tEtTBTpd",block:'{"symbols":["&attrs","@featureImage","@setFeatureImage","@clearFeatureImage","@featureImageAlt","@setFeatureImageAlt","@featureImageCaption","@setFeatureImageCaption","@title","@cardOptions","@titlePlaceholder","@titleAutofocus","@onTitleBlur","@body","@onBodyChange","@updateWordCount"],"statements":[[11,"div"],[24,0,"gh-koenig-editor relative w-100 vh-100 overflow-x-hidden overflow-y-auto z-0"],[17,1],[4,[38,1],[[32,0,["registerElement"]]],null],[12],[2,"\\n"],[2," "],[11,"div"],[24,0,"gh-koenig-editor-pane flex flex-column mih-100"],[4,[38,2],["mousedown",[32,0,["trackMousedown"]]],null],[4,[38,2],["mouseup",[32,0,["focusEditor"]]],null],[12],[2,"\\n "],[8,"gh-editor-feature-image",[],[["@image","@updateImage","@clearImage","@alt","@updateAlt","@caption","@updateCaption","@forceButtonDisplay","@isHidden"],[[32,2],[32,3],[32,4],[32,5],[32,6],[32,7],[32,8],[30,[36,5],[[30,[36,4],[[32,9]],null],[30,[36,3],[[32,9],"(Untitled)"],null],[32,0,["titleIsHovered"]],[32,0,["titleIsFocused"]]],null],[30,[36,7],[[30,[36,6],["pageImprovements"],null],[30,[36,4],[[32,10,["post","showTitleAndFeatureImage"]]],null]],null]]],null],[2,"\\n\\n "],[10,"div"],[15,0,[31,["gh-editor-title-container ",[30,[36,8],[[30,[36,6],["pageImprovements"],null],"page-improvements"],null]]]],[12],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,6],["pageImprovements"],null],[30,[36,4],[[32,10,["post","showTitleAndFeatureImage"]]],null],[30,[36,4],[[32,2]],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,0],["eye-closed"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-textarea",[[16,"data-test-editor-title-input",true],[4,[38,2],["focus",[30,[36,12],[[30,[36,11],[[32,0,["titleIsFocused"]]],null],true],null]],null],[4,[38,2],["blur",[30,[36,12],[[30,[36,11],[[32,0,["titleIsFocused"]]],null],false],null]],null],[4,[38,2],["mouseover",[30,[36,12],[[30,[36,11],[[32,0,["titleIsHovered"]]],null],true],null]],null],[4,[38,2],["mouseleave",[30,[36,12],[[30,[36,11],[[32,0,["titleIsHovered"]]],null],false],null]],null],[4,[38,2],["paste",[32,0,["cleanPastedTitle"]]],null]],[["@class","@placeholder","@shouldFocus","@tabindex","@autoExpand","@value","@input","@focus-out","@keyDown","@didCreateTextarea"],[[31,["gh-editor-title ",[30,[36,8],[[30,[36,7],[[30,[36,4],[[32,10,["post","showTitleAndFeatureImage"]]],null],[30,[36,6],["pageImprovements"],null],[30,[36,4],[[32,0,["titleIsFocused"]]],null]],null],"faded"],null]]],[32,11],[30,[36,5],[[32,12],false],null],"1",".gh-koenig-editor",[30,[36,9],[[32,0,["title"]]],null],[32,0,["updateTitle"]],[30,[36,10],[[32,13]],null],[32,0,["onTitleKeydown"]],[32,0,["registerTitleElement"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[8,"koenig-lexical-editor",[],[["@lexical","@cardConfig","@onChange","@registerAPI","@cursorDidExitAtTop","@updateWordCount"],[[32,14],[32,10],[32,15],[32,0,["registerEditorAPI"]],[32,0,["focusTitle"]],[32,16]]],null],[2,"\\n\\n"],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar","did-insert","on","eq","not","or","feature","and","if","readonly","optional","mut","fn"]}',moduleName:"ghost-admin/components/gh-koenig-editor-lexical.hbs"})
1080
1080
  let P=(n=Ember.inject.service,r=Ember._tracked,a=Ember._tracked,s=Ember._action,o=Ember._action,l=Ember._action,u=Ember._action,c=Ember._action,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=class extends t.default{constructor(){super(...arguments),y(this,"settings",g,this),w(this,"containerElement",null),w(this,"titleElement",null),w(this,"mousedownY",0),w(this,"uploadUrl",`${(0,i.default)().apiRoot}/images/upload/`),w(this,"editorAPI",null),y(this,"titleIsHovered",f,this),y(this,"titleIsFocused",v,this)}get title(){return"(Untitled)"===this.args.title?"":this.args.title}get accentColor(){const e=this.settings.accentColor
1081
1081
  return e&&"#"===e[0]?e.slice(1):e}registerElement(e){this.containerElement=e}trackMousedown(e){this.mousedownY=e.clientY}registerTitleElement(e){this.titleElement=e,this.titleElement===document.activeElement&&(this.titleIsFocused=!0)}updateTitle(e){this.args.onTitleChange?.(e.target.value)}cleanPastedTitle(e){const t=(e.clipboardData||window.clipboardData).getData("text")
1082
1082
  if(!t)return
@@ -1094,7 +1094,7 @@ if("object"!=typeof n)return n
1094
1094
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
1095
1095
  return"symbol"==typeof t?t:String(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,n,r){var a={}
1096
1096
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1097
- const y=Ember.HTMLBars.template({id:"WTJOdJ+I",block:'{"symbols":["&attrs","@featureImage","@setFeatureImage","@clearFeatureImage","@featureImageAlt","@setFeatureImageAlt","@featureImageCaption","@setFeatureImageCaption","@title","@titlePlaceholder","@titleAutofocus","@onTitleBlur","@body","@bodyPlaceholder","@onBodyChange","@headerOffset","@scrollContainerSelector","@scrollOffsetTopSelector","@scrollOffsetBottomSelector","@onWordCountChange","@snippets","@saveSnippet","@updateSnippet","@deleteSnippet","@cardOptions","@postType"],"statements":[[11,"div"],[24,0,"gh-koenig-editor relative w-100 vh-100 overflow-x-hidden overflow-y-auto z-0"],[17,1],[4,[38,0],[[32,0,["registerElement"]]],null],[12],[2,"\\n"],[2," "],[11,"div"],[24,0,"gh-koenig-editor-pane flex flex-column mih-100"],[4,[38,1],["mousedown",[32,0,["trackMousedown"]]],null],[4,[38,1],["mouseup",[32,0,["focusEditor"]]],null],[12],[2,"\\n "],[8,"gh-editor-feature-image",[],[["@image","@updateImage","@clearImage","@alt","@updateAlt","@caption","@updateCaption","@forceButtonDisplay"],[[32,2],[32,3],[32,4],[32,5],[32,6],[32,7],[32,8],[30,[36,4],[[30,[36,3],[[32,9]],null],[30,[36,2],[[32,9],"(Untitled)"],null],[32,0,["titleIsHovered"]],[32,0,["titleIsFocused"]]],null]]],null],[2,"\\n\\n "],[8,"gh-textarea",[[16,"data-test-editor-title-input",true],[4,[38,1],["focus",[30,[36,8],[[30,[36,7],[[32,0,["titleIsFocused"]]],null],true],null]],null],[4,[38,1],["blur",[30,[36,8],[[30,[36,7],[[32,0,["titleIsFocused"]]],null],false],null]],null],[4,[38,1],["mouseover",[30,[36,8],[[30,[36,7],[[32,0,["titleIsHovered"]]],null],true],null]],null],[4,[38,1],["mouseleave",[30,[36,8],[[30,[36,7],[[32,0,["titleIsHovered"]]],null],false],null]],null],[4,[38,1],["paste",[32,0,["cleanPastedTitle"]]],null]],[["@class","@placeholder","@shouldFocus","@tabindex","@autoExpand","@value","@input","@focus-out","@keyDown","@didCreateTextarea"],["gh-editor-title",[32,10],[30,[36,4],[[32,11],false],null],"1",".gh-koenig-editor",[30,[36,5],[[32,0,["title"]]],null],[32,0,["updateTitle"]],[30,[36,6],[[32,12]],null],[32,0,["onTitleKeydown"]],[32,0,["registerTitleElement"]]]],null],[2,"\\n\\n "],[8,"koenig-editor",[],[["@mobiledoc","@placeholder","@spellcheck","@onChange","@didCreateEditor","@cursorDidExitAtTop","@headerOffset","@dropTargetSelector","@scrollContainerSelector","@scrollOffsetTopSelector","@scrollOffsetBottomSelector","@wordCountDidChange","@snippets","@saveSnippet","@updateSnippet","@deleteSnippet","@cardOptions","@postType"],[[32,13],[32,14],true,[32,15],[32,0,["onEditorCreated"]],[32,0,["focusTitle"]],[32,16],".gh-koenig-editor-pane",[32,17],[32,18],[32,19],[32,20],[32,21],[32,22],[32,23],[32,24],[32,25],[32,26]]],null],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["did-insert","on","eq","not","or","readonly","optional","mut","fn"]}',moduleName:"ghost-admin/components/gh-koenig-editor.hbs"})
1097
+ const y=Ember.HTMLBars.template({id:"wOfu6u86",block:'{"symbols":["&attrs","@featureImage","@setFeatureImage","@clearFeatureImage","@featureImageAlt","@setFeatureImageAlt","@featureImageCaption","@setFeatureImageCaption","@title","@titlePlaceholder","@titleAutofocus","@onTitleBlur","@body","@bodyPlaceholder","@onBodyChange","@headerOffset","@scrollContainerSelector","@scrollOffsetTopSelector","@scrollOffsetBottomSelector","@onWordCountChange","@snippets","@collections","@saveSnippet","@updateSnippet","@deleteSnippet","@cardOptions","@postType"],"statements":[[11,"div"],[24,0,"gh-koenig-editor relative w-100 vh-100 overflow-x-hidden overflow-y-auto z-0"],[17,1],[4,[38,0],[[32,0,["registerElement"]]],null],[12],[2,"\\n"],[2," "],[11,"div"],[24,0,"gh-koenig-editor-pane flex flex-column mih-100"],[4,[38,1],["mousedown",[32,0,["trackMousedown"]]],null],[4,[38,1],["mouseup",[32,0,["focusEditor"]]],null],[12],[2,"\\n "],[8,"gh-editor-feature-image",[],[["@image","@updateImage","@clearImage","@alt","@updateAlt","@caption","@updateCaption","@forceButtonDisplay"],[[32,2],[32,3],[32,4],[32,5],[32,6],[32,7],[32,8],[30,[36,4],[[30,[36,3],[[32,9]],null],[30,[36,2],[[32,9],"(Untitled)"],null],[32,0,["titleIsHovered"]],[32,0,["titleIsFocused"]]],null]]],null],[2,"\\n\\n "],[8,"gh-textarea",[[16,"data-test-editor-title-input",true],[4,[38,1],["focus",[30,[36,8],[[30,[36,7],[[32,0,["titleIsFocused"]]],null],true],null]],null],[4,[38,1],["blur",[30,[36,8],[[30,[36,7],[[32,0,["titleIsFocused"]]],null],false],null]],null],[4,[38,1],["mouseover",[30,[36,8],[[30,[36,7],[[32,0,["titleIsHovered"]]],null],true],null]],null],[4,[38,1],["mouseleave",[30,[36,8],[[30,[36,7],[[32,0,["titleIsHovered"]]],null],false],null]],null],[4,[38,1],["paste",[32,0,["cleanPastedTitle"]]],null]],[["@class","@placeholder","@shouldFocus","@tabindex","@autoExpand","@value","@input","@focus-out","@keyDown","@didCreateTextarea"],["gh-editor-title",[32,10],[30,[36,4],[[32,11],false],null],"1",".gh-koenig-editor",[30,[36,5],[[32,0,["title"]]],null],[32,0,["updateTitle"]],[30,[36,6],[[32,12]],null],[32,0,["onTitleKeydown"]],[32,0,["registerTitleElement"]]]],null],[2,"\\n\\n "],[8,"koenig-editor",[],[["@mobiledoc","@placeholder","@spellcheck","@onChange","@didCreateEditor","@cursorDidExitAtTop","@headerOffset","@dropTargetSelector","@scrollContainerSelector","@scrollOffsetTopSelector","@scrollOffsetBottomSelector","@wordCountDidChange","@snippets","@collections","@saveSnippet","@updateSnippet","@deleteSnippet","@cardOptions","@postType"],[[32,13],[32,14],true,[32,15],[32,0,["onEditorCreated"]],[32,0,["focusTitle"]],[32,16],".gh-koenig-editor-pane",[32,17],[32,18],[32,19],[32,20],[32,21],[32,22],[32,23],[32,24],[32,25],[32,26],[32,27]]],null],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["did-insert","on","eq","not","or","readonly","optional","mut","fn"]}',moduleName:"ghost-admin/components/gh-koenig-editor.hbs"})
1098
1098
  let w=(i=Ember._tracked,n=Ember._tracked,r=Ember._action,a=Ember._action,s=Ember._action,o=Ember._action,l=Ember._action,u=Ember._action,c=Ember._action,d=Ember._action,p=Ember._action,m=class extends t.default{constructor(){super(...arguments),f(this,"containerElement",null),f(this,"titleElement",null),f(this,"koenigEditor",null),f(this,"mousedownY",0),g(this,"titleIsHovered",h,this),g(this,"titleIsFocused",b,this)}get title(){return"(Untitled)"===this.args.title?"":this.args.title}registerElement(e){this.containerElement=e}trackMousedown(e){this.mousedownY=e.clientY}registerTitleElement(e){this.titleElement=e,this.titleElement===document.activeElement&&(this.titleIsFocused=!0)}updateTitle(e){this.args.onTitleChange?.(e.target.value)}cleanPastedTitle(e){const t=(e.clipboardData||window.clipboardData).getData("text")
1099
1099
  if(!t)return
1100
1100
  e.preventDefault()
@@ -1588,7 +1588,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
1588
1588
  return"symbol"==typeof t?t:String(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,n,r){var a={}
1589
1589
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1590
1590
  const p=Ember.HTMLBars.template({id:"BhMQLDvB",block:'{"symbols":["&default"],"statements":[[18,1,null],[2,"\\n"]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/components/gh-simplemde.hbs"})
1591
- let m=(n=Ember.inject.service,r=Ember.computed,a=(0,i.task)((function*(){yield this.lazyLoader.loadScript("simplemde","assets/simplemde/simplemde-d16ff9bcc5bf6ad4916fb0034a30adb1.js")
1591
+ let m=(n=Ember.inject.service,r=Ember.computed,a=(0,i.task)((function*(){yield this.lazyLoader.loadScript("simplemde","assets/simplemde/simplemde-8f638be9b49c6c5fc95902d6e470c1a3.js")
1592
1592
  let e=Ember.assign({element:document.getElementById(this.elementId)},this.defaultOptions,this.options)
1593
1593
  "test"===t.default.environment&&(e.spellChecker=!1),this._editor=new SimpleMDE(e),this._editor.value(this.value||""),this._editor.codemirror.on("change",((e,t)=>{"setValue"!==t.origin&&this.onChange(this._editor.value())})),this._editor.codemirror.on("focus",(()=>{this.onFocus()})),this._editor.codemirror.on("blur",(()=>{this.onBlur()})),this.autofocus&&this._editor.codemirror.execCommand("goDocEnd"),this.onEditorInit(this._editor)})),s=class extends Ember.TextArea{constructor(){super(...arguments),u(this,"lazyLoader",o,this),c(this,"autofocus",!1),c(this,"options",null),c(this,"value",null),c(this,"placeholder",""),c(this,"_editor",null),u(this,"initSimpleMDE",l,this)}onChange(){}onEditorInit(){}onEditorDestroy(){}get defaultOptions(){return{autofocus:this.autofocus,indentWithTabs:!1,placeholder:this.placeholder,tabSize:4}}init(){super.init(...arguments),Ember.isEmpty(this.options)&&this.set("options",{})}didReceiveAttrs(){if(super.didReceiveAttrs(...arguments),!Ember.isEmpty(this._editor)&&this.value!==this._editor.value()){let e=this._editor.codemirror.getDoc().getCursor()
1594
1594
  this._editor.value(this.value),this._editor.codemirror.getDoc().setCursor(e)}}didInsertElement(){super.didInsertElement(...arguments),this.initSimpleMDE.perform()}willDestroyElement(){this._editor?.codemirror&&this._editor.toTextArea(),delete this._editor,super.willDestroyElement(...arguments)}},o=d(s.prototype,"lazyLoader",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d(s.prototype,"defaultOptions",[r],Object.getOwnPropertyDescriptor(s.prototype,"defaultOptions"),s.prototype),l=d(s.prototype,"initSimpleMDE",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s)
@@ -1878,7 +1878,7 @@ let u=(i=(0,t.tagName)("h2"),n=(0,t.classNames)("view-title"),r=Ember.inject.ser
1878
1878
  super(...arguments),e=this,t="ui",n=this,(i=o)&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}},c=s.prototype,d="ui",p=[r],m={configurable:!0,enumerable:!0,writable:!0,initializer:null},b={},Object.keys(m).forEach((function(e){b[e]=m[e]})),b.enumerable=!!b.enumerable,b.configurable=!!b.configurable,("value"in b||b.initializer)&&(b.writable=!0),b=p.slice().reverse().reduce((function(e,t){return t(c,d,e)||e}),b),h&&void 0!==b.initializer&&(b.value=b.initializer?b.initializer.call(h):void 0,b.initializer=void 0),void 0===b.initializer&&(Object.defineProperty(c,d,b),b=null),o=b,a=s))||a)||a)
1879
1879
  var c,d,p,m,h,b
1880
1880
  e.default=u,Ember._setComponentTemplate(l,u)})),define("ghost-admin/components/icons/eye-open-close",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1881
- const t=Ember.HTMLBars.template({id:"Ic4TXKHX",block:'{"symbols":["@closed","&attrs"],"statements":[[11,"svg"],[24,"xmlns","http://www.w3.org/2000/svg","http://www.w3.org/2000/xmlns/"],[24,"height","32"],[24,"width","32"],[24,"viewBox","0 0 32 32"],[16,0,[30,[36,0],[[32,1],"eye-closed"],null]],[17,2],[12],[2,"\\n "],[10,"title"],[12],[2,"eye open close"],[13],[2,"\\n "],[10,"g"],[14,"stroke-linecap","round"],[14,"stroke-width","2"],[14,"fill","none"],[14,"stroke","#212121"],[14,"stroke-linejoin","round"],[14,0,"nc-icon-wrapper"],[12],[2,"\\n "],[10,"g"],[14,0,"js-nc-int-icon nc-int-eye-open-close"],[12],[2,"\\n "],[10,"circle"],[14,"cx","16"],[14,"cy","16"],[14,"r","5"],[14,"stroke","none"],[14,"fill","#212121"],[12],[13],[2,"\\n "],[10,"path"],[14,"d","M2,16s6,8,14,8,14-8,14-8"],[14,"data-cap","none"],[14,"stroke-linecap","round"],[14,"stroke-linejoin","round"],[12],[13],[2,"\\n "],[10,"path"],[14,"d","M2,16S8,8,16,8s14,8,14,8"],[14,"data-cap","none"],[14,"stroke-linecap","round"],[14,"stroke-linejoin","round"],[12],[13],[2,"\\n "],[10,"line"],[14,"data-cap","butt"],[14,"opacity","0"],[14,"x1","12.768"],[14,"x2","11.563"],[14,"y1","8.427"],[14,"y2","4.583"],[12],[13],[2,"\\n "],[10,"line"],[14,"data-cap","butt"],[14,"opacity","0"],[14,"x1","19.232"],[14,"x2","20.437"],[14,"y1","8.427"],[14,"y2","4.583"],[12],[13],[2,"\\n "],[10,"line"],[14,"data-cap","butt"],[14,"opacity","0"],[14,"x1","6.563"],[14,"x2","4.141"],[14,"y1","11.563"],[14,"y2","8.482"],[12],[13],[2,"\\n "],[10,"line"],[14,"data-cap","butt"],[14,"opacity","0"],[14,"x1","25.437"],[14,"x2","27.859"],[14,"y1","11.563"],[14,"y2","8.482"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[10,"style"],[14,"data-cap","butt"],[12],[2,"\\n .nc-int-eye-open-close {\\n --transition-duration: .3s;\\n perspective: 100px\\n }\\n\\n .nc-int-eye-open-close :nth-child(1) {\\n transform-origin: 16px 22px;\\n transition: transform var(--transition-duration) cubic-bezier(.65, .05, .36, 1)\\n }\\n\\n .nc-int-eye-open-close :nth-child(3) {\\n transform-origin: 50% 50%;\\n transition: transform var(--transition-duration) cubic-bezier(.65, .05, .36, 1)\\n }\\n\\n .nc-int-eye-open-close :nth-child(4),\\n .nc-int-eye-open-close :nth-child(5),\\n .nc-int-eye-open-close :nth-child(6),\\n .nc-int-eye-open-close :nth-child(7) {\\n transform-origin: 50% 50%;\\n transition: transform var(--transition-duration) cubic-bezier(.65, .05, .36, 1), opacity 0s calc(var(--transition-duration)/2)\\n }\\n\\n .eye-closed .nc-int-eye-open-close :nth-child(1) {\\n transform: scale(0)\\n }\\n\\n .eye-closed .nc-int-eye-open-close :nth-child(3),\\n .eye-closed .nc-int-eye-open-close :nth-child(4),\\n .eye-closed .nc-int-eye-open-close :nth-child(5),\\n .eye-closed .nc-int-eye-open-close :nth-child(6),\\n .eye-closed .nc-int-eye-open-close :nth-child(7) {\\n transform: rotateX(180deg);\\n opacity: 1\\n }\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["if"]}',moduleName:"ghost-admin/components/icons/eye-open-close.hbs"})
1881
+ const t=Ember.HTMLBars.template({id:"TrR+evZd",block:'{"symbols":["@closed","&attrs"],"statements":[[11,"svg"],[24,"xmlns","http://www.w3.org/2000/svg","http://www.w3.org/2000/xmlns/"],[24,"width","24"],[24,"height","24"],[24,"viewBox","0 0 24 24"],[16,0,[30,[36,0],[[32,1],"eye-closed"],null]],[17,2],[12],[2,"\\n "],[10,"title"],[12],[2,"eye open close"],[13],[2,"\\n "],[10,"g"],[14,"stroke-linecap","round"],[14,"fill","none"],[14,"stroke","currentColor"],[14,"stroke-linejoin","round"],[14,0,"nc-icon-wrapper"],[12],[2,"\\n "],[10,"g"],[14,0,"js-nc-int-icon nc-int-eye-open-close"],[12],[2,"\\n "],[10,"path"],[14,"d","M15.1786 12C15.1786 13.6244 13.7887 15 12 15C10.2112 15 8.82141 13.6244 8.82141 12C8.82141 10.3756 10.2112 9 12 9C13.7887 9 15.1786 10.3756 15.1786 12Z"],[14,"stroke","currentColor"],[14,"stroke-width","1.5"],[12],[13],[2,"\\n "],[10,"path"],[14,"d","M1 12C1 12 5.71429 20 12 20C18.2857 20 23 12 23 12"],[14,"stroke","currentColor"],[14,"stroke-width","1.5"],[14,"stroke-linecap","round"],[14,"stroke-linejoin","round"],[14,"data-cap","none"],[12],[13],[2,"\\n "],[10,"path"],[14,"d","M1 12C1 12 5.71429 4 12 4C18.2857 4 23 12 23 12"],[14,"stroke","currentColor"],[14,"stroke-width","1.5"],[14,"stroke-linecap","round"],[14,"stroke-linejoin","round"],[14,"data-cap","none"],[12],[13],[2,"\\n "],[10,"path"],[14,"d","M9.46058 3.82026L8.51379 0.937256"],[14,"stroke","currentColor"],[14,"stroke-width","1.5"],[14,"stroke-linecap","round"],[14,"stroke-linejoin","round"],[14,"data-cap","butt"],[14,"opacity","0"],[12],[13],[2,"\\n "],[10,"path"],[14,"d","M14.5394 3.82026L15.4862 0.937256"],[14,"stroke","currentColor"],[14,"stroke-width","1.5"],[14,"stroke-linecap","round"],[14,"stroke-linejoin","round"],[14,"data-cap","butt"],[14,"opacity","0"],[12],[13],[2,"\\n "],[10,"path"],[14,"d","M4.58522 6.17225L2.68222 3.8615"],[14,"stroke","currentColor"],[14,"stroke-width","1.5"],[14,"stroke-linecap","round"],[14,"stroke-linejoin","round"],[14,"data-cap","butt"],[14,"opacity","0"],[12],[13],[2,"\\n "],[10,"path"],[14,"d","M19.4148 6.17225L21.3178 3.8615"],[14,"stroke","currentColor"],[14,"stroke-width","1.5"],[14,"stroke-linecap","round"],[14,"stroke-linejoin","round"],[14,"data-cap","butt"],[14,"opacity","0"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[10,"style"],[14,"data-cap","butt"],[12],[2,"\\n .nc-int-eye-open-close {\\n --transition-duration: .2s;\\n perspective: 100px\\n }\\n\\n .nc-int-eye-open-close :nth-child(1) {\\n transform-origin: 16px 22px;\\n transition: transform var(--transition-duration) cubic-bezier(.65, .05, .36, 1)\\n }\\n\\n .nc-int-eye-open-close :nth-child(3) {\\n transform-origin: 50% 50%;\\n transition: transform var(--transition-duration) cubic-bezier(.65, .05, .36, 1)\\n }\\n\\n .nc-int-eye-open-close :nth-child(4),\\n .nc-int-eye-open-close :nth-child(5),\\n .nc-int-eye-open-close :nth-child(6),\\n .nc-int-eye-open-close :nth-child(7) {\\n transform-origin: 50% 50%;\\n transition: transform var(--transition-duration) cubic-bezier(.65, .05, .36, 1), opacity 0s calc(var(--transition-duration)/2)\\n }\\n\\n .eye-closed .nc-int-eye-open-close :nth-child(1) {\\n transform: scale(0)\\n }\\n\\n .eye-closed .nc-int-eye-open-close :nth-child(3),\\n .eye-closed .nc-int-eye-open-close :nth-child(4),\\n .eye-closed .nc-int-eye-open-close :nth-child(5),\\n .eye-closed .nc-int-eye-open-close :nth-child(6),\\n .eye-closed .nc-int-eye-open-close :nth-child(7) {\\n transform: rotateX(180deg);\\n opacity: 1\\n }\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n\\n"]],"hasEval":false,"upvars":["if"]}',moduleName:"ghost-admin/components/icons/eye-open-close.hbs"})
1882
1882
  var i=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())
1883
1883
  e.default=i})),define("ghost-admin/components/illiquid-model",["exports","liquid-fire/components/illiquid-model"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/infinity-loader",["exports","ember-infinity/components/infinity-loader"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1884
1884
  var i=t.default
@@ -1929,47 +1929,48 @@ return n.default.createElement(t,g({nodes:i},e))},E=e=>{const{KoenigComposableEd
1929
1929
  return n.default.createElement(t,g({markdownTransformers:i},e))},P=e=>{const{HtmlOutputPlugin:t}=w.read()
1930
1930
  return n.default.createElement(t,e)}
1931
1931
  let O=(a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember._action,u=class extends i.default{constructor(){super(...arguments),h(this,"ajax",c,this),h(this,"feature",d,this),h(this,"session",p,this),h(this,"config",m,this),f(this,"ReactComponent",(e=>n.default.createElement("div",{className:["koenig-react-editor",this.args.className].filter(Boolean).join(" ")},n.default.createElement(y,null,n.default.createElement(n.Suspense,{fallback:n.default.createElement("p",{className:"koenig-react-editor-loading"},"Loading editor...")},n.default.createElement(k,{initialEditorState:this.args.lexical,onError:this.onError},n.default.createElement(E,{darkMode:this.feature.nightShift,onChange:e.onChange,onBlur:e.onBlur,isSnippetsEnabled:!1,singleParagraph:!0,className:"koenig-lexical-editor-input",placeholderText:e.placeholderText,placeholderClassName:"koenig-lexical-editor-input-placeholder"},n.default.createElement(P,{html:e.html,setHtml:e.onChangeHtml}))))))))}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0}})}},c=b(u.prototype,"ajax",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=b(u.prototype,"feature",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=b(u.prototype,"session",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=b(u.prototype,"config",[r.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b(u.prototype,"onError",[l],Object.getOwnPropertyDescriptor(u.prototype,"onError"),u.prototype),u)
1932
- e.default=O,Ember._setComponentTemplate(v,O)})),define("ghost-admin/components/koenig-lexical-editor",["exports","@sentry/ember","@glimmer/component","react","ghost-admin/utils/ghost-paths","ghost-admin/decorators/inject","ember-concurrency"],(function(e,t,i,n,r,a,s){var o,l,u,c,d,p,m,h,b,g,f,v,y,w,k,E,P
1933
- function O(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function j(e,t,i,n,r){var a={}
1934
- return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}function _(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
1932
+ e.default=O,Ember._setComponentTemplate(v,O)})),define("ghost-admin/components/koenig-lexical-editor",["exports","@sentry/ember","@glimmer/component","react","ghost-admin/utils/ghost-paths","ghost-admin/decorators/inject","ember-concurrency"],(function(e,t,i,n,r,a,s){var o,l,u,c,d,p,m,h,b,g,f,v,y,w,k,E,P,O,j
1933
+ function _(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function T(e,t,i,n,r){var a={}
1934
+ return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}function z(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
1935
1935
  var i=e[Symbol.toPrimitive]
1936
1936
  if(void 0!==i){var n=i.call(e,t||"default")
1937
1937
  if("object"!=typeof n)return n
1938
1938
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
1939
1939
  return"symbol"==typeof t?t:String(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.fileTypes=e.default=void 0
1940
- const T=Ember.HTMLBars.template({id:"75QfH75A",block:'{"symbols":["@cardConfig"],"statements":[[11,"div"],[4,[38,1],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,0],null,[["cardConfig"],[[32,1]]]]]]],[12],[13]],"hasEval":false,"upvars":["hash","react-render"]}',moduleName:"ghost-admin/components/koenig-lexical-editor.hbs"}),z={image:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/svg+xml","image/webp"],extensions:["gif","jpg","jpeg","png","svg","svgz","webp"],endpoint:"/images/upload/",resourceName:"images"},video:{mimeTypes:["video/mp4","video/webm","video/ogg"],extensions:["mp4","webm","ogv"],endpoint:"/media/upload/",resourceName:"media"},audio:{mimeTypes:["audio/mp3","audio/mpeg","audio/ogg","audio/wav","audio/vnd.wav","audio/wave","audio/x-wav","audio/mp4","audio/x-m4a"],extensions:["mp3","wav","ogg","m4a"],endpoint:"/media/upload/",resourceName:"media"},mediaThumbnail:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/webp"],extensions:["gif","jpg","jpeg","png","webp"],endpoint:"/media/thumbnail/upload/",requestMethod:"put",resourceName:"media"},file:{endpoint:"/files/upload/",resourceName:"files"}}
1941
- e.fileTypes=z
1942
- class x extends n.default.Component{constructor(){super(...arguments),_(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?n.default.createElement("p",{className:"koenig-react-editor-error"},"Loading has failed. Try refreshing the browser!"):this.props.children}}const S=function(){let e,t="pending"
1940
+ const x=Ember.HTMLBars.template({id:"75QfH75A",block:'{"symbols":["@cardConfig"],"statements":[[11,"div"],[4,[38,1],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,0],null,[["cardConfig"],[[32,1]]]]]]],[12],[13]],"hasEval":false,"upvars":["hash","react-render"]}',moduleName:"ghost-admin/components/koenig-lexical-editor.hbs"}),S={image:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/svg+xml","image/webp"],extensions:["gif","jpg","jpeg","png","svg","svgz","webp"],endpoint:"/images/upload/",resourceName:"images"},video:{mimeTypes:["video/mp4","video/webm","video/ogg"],extensions:["mp4","webm","ogv"],endpoint:"/media/upload/",resourceName:"media"},audio:{mimeTypes:["audio/mp3","audio/mpeg","audio/ogg","audio/wav","audio/vnd.wav","audio/wave","audio/x-wav","audio/mp4","audio/x-m4a"],extensions:["mp3","wav","ogg","m4a"],endpoint:"/media/upload/",resourceName:"media"},mediaThumbnail:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/webp"],extensions:["gif","jpg","jpeg","png","webp"],endpoint:"/media/thumbnail/upload/",requestMethod:"put",resourceName:"media"},file:{endpoint:"/files/upload/",resourceName:"files"}}
1941
+ e.fileTypes=S
1942
+ class C extends n.default.Component{constructor(){super(...arguments),z(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?n.default.createElement("p",{className:"koenig-react-editor-error"},"Loading has failed. Try refreshing the browser!"):this.props.children}}const M=function(){let e,t="pending"
1943
1943
  const i=(async()=>{if(window["@tryghost/koenig-lexical"])return window["@tryghost/koenig-lexical"]
1944
1944
  const e=window.GhostAdmin||window.Ember.Namespace.NAMESPACES.find((e=>"ghost-admin"===e.name)),t=e.__container__.lookup("config:main").editor?.url,i=e.__container__.lookup("config:main").editor?.version,n=new URL(t.replace("{version}",i))
1945
1945
  return"http:"===n.protocol?await import(`http://${n.host}${n.pathname}`):await import(`https://${n.host}${n.pathname}`),window["@tryghost/koenig-lexical"]})().then((i=>{t="success",e=i}),(i=>{t="error",e=i}))
1946
1946
  return{read:()=>{switch(t){case"pending":throw i
1947
1947
  case"error":throw e
1948
- default:return e}}}}(),C=e=>{const{KoenigComposer:t}=S.read()
1949
- return n.default.createElement(t,e)},M=e=>{const{KoenigEditor:t}=S.read()
1950
- return n.default.createElement(t,e)},D=e=>{const{WordCountPlugin:t}=S.read()
1948
+ default:return e}}}}(),D=e=>{const{KoenigComposer:t}=M.read()
1949
+ return n.default.createElement(t,e)},A=e=>{const{KoenigEditor:t}=M.read()
1950
+ return n.default.createElement(t,e)},I=e=>{const{WordCountPlugin:t}=M.read()
1951
1951
  return n.default.createElement(t,e)}
1952
- let A=(o=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=(0,s.task)({restartable:!0}),b=(0,s.task)({restartable:!0}),g=class extends i.default{constructor(){var e
1953
- super(...arguments),e=this,O(this,"ajax",f,this),O(this,"feature",v,this),O(this,"ghostPaths",y,this),O(this,"session",w,this),O(this,"store",k,this),O(this,"settings",E,this),O(this,"config",P,this),_(this,"offers",null),_(this,"ReactComponent",(t=>{const i={unsplash:{defaultHeaders:{Authorization:"Client-ID 8672af113b0a8573edae3aa3713886265d9bb741d707f6c01a486cde8c278980","Accept-Version":"v1","Content-Type":"application/json","App-Pragma":"no-cache","X-Unsplash-Cache":!0}},tenor:this.config.tenor?.googleApiKey?this.config.tenor:null,fetchEmbed:async(e,t)=>{let{type:i}=t,n=this.ghostPaths.url.api("oembed")
1954
- return await this.ajax.request(n,{data:{url:e,type:i}})},fetchAutocompleteLinks:async()=>{const e=await this.fetchOffersTask.perform()
1955
- return[...[{label:"Homepage",value:window.location.origin+"/"},{label:"Free signup",value:window.location.origin+"/#/portal/signup/free"}],...e.toArray().map((e=>({label:`Offer - ${e.name}`,value:this.config.getSiteUrl(e.code)})))]},fetchLabels:async()=>(await this.fetchLabelsTask.perform()).map((e=>e.name)),feature:{signupCard:!0},membersEnabled:"all"===this.settings.get("membersSignupAccess"),siteTitle:this.settings.title,siteDescription:this.settings.description},a=Object.assign({},i,t.cardConfig,{pinturaConfig:this.pinturaConfig}),s=this.feature.lexicalMultiplayer&&!a.post.isNew,o=("https:"===window.location.protocol?"wss:":"ws:")+window.location.host+this.ghostPaths.url.api("posts","multiplayer"),l=a.post.id,u=this.session.user.name
1956
- return n.default.createElement("div",{className:["koenig-react-editor","koenig-lexical",this.args.className].filter(Boolean).join(" ")},n.default.createElement(x,null,n.default.createElement(n.Suspense,{fallback:n.default.createElement("p",{className:"koenig-react-editor-loading"},"Loading editor...")},n.default.createElement(C,{cardConfig:a,enableMultiplayer:s,fileUploader:{useFileUpload:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"image"
1952
+ let N=(o=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._action,b=(0,s.task)({restartable:!0}),g=(0,s.task)({restartable:!0}),f=class extends i.default{constructor(){var e
1953
+ super(...arguments),e=this,_(this,"ajax",v,this),_(this,"feature",y,this),_(this,"ghostPaths",w,this),_(this,"session",k,this),_(this,"store",E,this),_(this,"settings",P,this),_(this,"membersUtils",O,this),_(this,"config",j,this),z(this,"offers",null),z(this,"ReactComponent",(t=>{const i={unsplash:{defaultHeaders:{Authorization:"Client-ID 8672af113b0a8573edae3aa3713886265d9bb741d707f6c01a486cde8c278980","Accept-Version":"v1","Content-Type":"application/json","App-Pragma":"no-cache","X-Unsplash-Cache":!0}},tenor:this.config.tenor?.googleApiKey?this.config.tenor:null,fetchEmbed:async(e,t)=>{let{type:i}=t,n=this.ghostPaths.url.api("oembed")
1954
+ return await this.ajax.request(n,{data:{url:e,type:i}})},fetchCollectionPosts:async e=>{const t=this.ghostPaths.url.api("collections",e,"posts"),{collection_posts:i}=await this.ajax.request(t,{data:{limit:12}})
1955
+ return i},fetchAutocompleteLinks:async()=>{const e=await this.fetchOffersTask.perform()
1956
+ return[...[{label:"Homepage",value:window.location.origin+"/"},{label:"Free signup",value:window.location.origin+"/#/portal/signup/free"}],...e.toArray().map((e=>({label:`Offer - ${e.name}`,value:this.config.getSiteUrl(e.code)}))),...(()=>{if(this.membersUtils.paidMembersEnabled)return[{label:"Paid signup",value:this.config.getSiteUrl("/#/portal/signup")},{label:"Upgrade or change plan",value:this.config.getSiteUrl("/#/portal/account/plans")}]})()]},fetchLabels:async()=>(await this.fetchLabelsTask.perform()).map((e=>e.name)),feature:{signupCard:!0,collectionsCard:this.feature.get("collectionsCard"),collections:this.feature.get("collections"),headerV2:this.feature.get("headerUpgrade")},membersEnabled:"all"===this.settings.get("membersSignupAccess"),siteTitle:this.settings.title,siteDescription:this.settings.description},a=Object.assign({},i,t.cardConfig,{pinturaConfig:this.pinturaConfig}),s=this.feature.lexicalMultiplayer&&!a.post.isNew,o=("https:"===window.location.protocol?"wss:":"ws:")+window.location.host+this.ghostPaths.url.api("posts","multiplayer"),l=a.post.id,u=this.session.user.name
1957
+ return n.default.createElement("div",{className:["koenig-react-editor","koenig-lexical",this.args.className].filter(Boolean).join(" ")},n.default.createElement(C,null,n.default.createElement(n.Suspense,{fallback:n.default.createElement("p",{className:"koenig-react-editor-loading"},"Loading editor...")},n.default.createElement(D,{cardConfig:a,enableMultiplayer:s,fileUploader:{useFileUpload:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"image"
1957
1958
  const[i,a]=n.default.useState(0),[s,o]=n.default.useState(!1),[l,u]=n.default.useState([]),[c,d]=n.default.useState(0),p=n.default.useRef(new Map)
1958
1959
  function m(){if(0===p.current.size)return void a(0)
1959
1960
  let e=0
1960
1961
  p.current.forEach((t=>e+=t)),a(Math.round(e/p.current.size))}function h(e){if("file"===t)return!0
1961
- let i=z[t].extensions,[,n]=/(?:\.([^.]+))?$/.exec(e.name)
1962
+ let i=S[t].extensions,[,n]=/(?:\.([^.]+))?$/.exec(e.name)
1962
1963
  if(!i)return!0
1963
1964
  if(Array.isArray(i)||(i=i.split(",")),!n||-1===i.indexOf(n.toLowerCase())){return`The file type you uploaded is not supported. Please use ${`.${i.join(", .").toUpperCase()}`}`}return!0}const b=async function(i){let{formData:n={}}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
1964
1965
  p.current[i]=0
1965
1966
  const a=new FormData
1966
1967
  a.append("file",i,i.name),Object.keys(n||{}).forEach((e=>{a.append(e,n[e])}))
1967
- const s=`${(0,r.default)().apiRoot}${z[t].endpoint}`
1968
- try{const n=z[t].requestMethod||"post",r=await e.ajax[n](s,{data:a,processData:!1,contentType:!1,dataType:"text",xhr:()=>{const e=new window.XMLHttpRequest
1968
+ const s=`${(0,r.default)().apiRoot}${S[t].endpoint}`
1969
+ try{const n=S[t].requestMethod||"post",r=await e.ajax[n](s,{data:a,processData:!1,contentType:!1,dataType:"text",xhr:()=>{const e=new window.XMLHttpRequest
1969
1970
  return e.upload.addEventListener("progress",(e=>{e.lengthComputable&&(p.current.set(i,e.loaded/e.total*100),m())}),!1),e}})
1970
1971
  let l,u
1971
1972
  p.current.set(i,100),m()
1972
- try{l=JSON.parse(r)}catch(o){if(!(o instanceof SyntaxError))throw o}if(l){const e=l[z[t].resourceName]
1973
+ try{l=JSON.parse(r)}catch(o){if(!(o instanceof SyntaxError))throw o}if(l){const e=l[S[t].resourceName]
1973
1974
  e&&Array.isArray(e)&&e[0]&&(u=e[0].url)}return{url:u,fileName:i.name}}catch(o){console.error(o)
1974
1975
  let e=o.payload?.errors?.[0]?.message||"",t=o.payload?.errors?.[0]?.context||""
1975
1976
  e||(e=o.message)
@@ -1984,11 +1985,11 @@ if(i.length)return u(i),o(!1),a(100),null
1984
1985
  const n=[]
1985
1986
  for(let a=0;a<e.length;a+=1){const i=e[a]
1986
1987
  n.push(b(i,t))}try{const e=await Promise.all(n)
1987
- return a(100),p.current.clear(),o(!1),u([]),e}catch(r){return console.error(r),u([...l,r]),o(!1),a(100),p.current.clear(),null}},errors:l,filesNumber:c}},fileTypes:z},initialEditorState:this.args.lexical,multiplayerUsername:u,multiplayerDocId:l,multiplayerEndpoint:o,onError:this.onError,darkMode:this.feature.nightShift},n.default.createElement(M,{cursorDidExitAtTop:this.args.cursorDidExitAtTop,darkMode:this.feature.nightShift,onChange:this.args.onChange,registerAPI:this.args.registerAPI}),n.default.createElement(D,{onChange:this.args.updateWordCount})))))}))}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()
1988
+ return a(100),p.current.clear(),o(!1),u([]),e}catch(r){return console.error(r),u([...l,r]),o(!1),a(100),p.current.clear(),null}},errors:l,filesNumber:c}},fileTypes:S},initialEditorState:this.args.lexical,multiplayerUsername:u,multiplayerDocId:l,multiplayerEndpoint:o,onError:this.onError,darkMode:this.feature.nightShift},n.default.createElement(A,{cursorDidExitAtTop:this.args.cursorDidExitAtTop,darkMode:this.feature.nightShift,onChange:this.args.onChange,registerAPI:this.args.registerAPI}),n.default.createElement(I,{onChange:this.args.updateWordCount})))))}))}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()
1988
1989
  return this.feature.lexicalEditor&&e&&t?{jsUrl:e,cssUrl:t}:null}getImageEditorJSUrl(){let e=this.pinturaJsUrl
1989
1990
  return e?(e.startsWith("/")&&(e=window.location.origin+this.ghostPaths.adminRoot.replace(/\/$/,"")+e),e):null}getImageEditorCSSUrl(){let e=this.pinturaCSSUrl
1990
- 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",{limit:"all",filter:"status:active"})),this.offers}*fetchLabelsTask(){return this.labels||(this.labels=yield this.store.query("label",{limit:"all",fields:"id, name"})),this.labels}},f=j(g.prototype,"ajax",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=j(g.prototype,"feature",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=j(g.prototype,"ghostPaths",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=j(g.prototype,"session",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=j(g.prototype,"store",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=j(g.prototype,"settings",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=j(g.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j(g.prototype,"onError",[m],Object.getOwnPropertyDescriptor(g.prototype,"onError"),g.prototype),j(g.prototype,"fetchOffersTask",[h],Object.getOwnPropertyDescriptor(g.prototype,"fetchOffersTask"),g.prototype),j(g.prototype,"fetchLabelsTask",[b],Object.getOwnPropertyDescriptor(g.prototype,"fetchLabelsTask"),g.prototype),g)
1991
- e.default=A,Ember._setComponentTemplate(T,A)})),define("ghost-admin/components/koenig-lexical-sandbox",["exports","@glimmer/component","react"],(function(e,t,i){function n(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
1991
+ 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",{limit:"all",filter:"status:active"})),this.offers}*fetchLabelsTask(){return this.labels||(this.labels=yield this.store.query("label",{limit:"all",fields:"id, name"})),this.labels}},v=T(f.prototype,"ajax",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=T(f.prototype,"feature",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=T(f.prototype,"ghostPaths",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=T(f.prototype,"session",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=T(f.prototype,"store",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=T(f.prototype,"settings",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=T(f.prototype,"membersUtils",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=T(f.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T(f.prototype,"onError",[h],Object.getOwnPropertyDescriptor(f.prototype,"onError"),f.prototype),T(f.prototype,"fetchOffersTask",[b],Object.getOwnPropertyDescriptor(f.prototype,"fetchOffersTask"),f.prototype),T(f.prototype,"fetchLabelsTask",[g],Object.getOwnPropertyDescriptor(f.prototype,"fetchLabelsTask"),f.prototype),f)
1992
+ e.default=N,Ember._setComponentTemplate(x,N)})),define("ghost-admin/components/koenig-lexical-sandbox",["exports","@glimmer/component","react"],(function(e,t,i){function n(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
1992
1993
  var i=e[Symbol.toPrimitive]
1993
1994
  if(void 0!==i){var n=i.call(e,t||"default")
1994
1995
  if("object"!=typeof n)return n
@@ -3619,20 +3620,20 @@ return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i
3619
3620
  let a=(t=Ember._tracked,i=class extends Ember.Controller{constructor(){var e,t,i,a
3620
3621
  super(...arguments),r(this,"queryParams",["firstStart"]),e=this,t="firstStart",a=this,(i=n)&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(a):void 0})}},s=i.prototype,o="firstStart",l=[t],u={configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}},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(s,o,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(s,o,d),d=null),n=d,i)
3621
3622
  var s,o,l,u,c,d
3622
- e.default=a})),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/isNumber","moment-timezone","ghost-admin/services/notifications","ember-concurrency","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-ajax/errors","@tryghost/kg-converters"],(function(e,t,i,n,r,a,s,o,l,u,c,d,p,m,h,b,g,f,v){var y,w,k,E,P,O,j,_,T,z,x,S,C,M,D,A,I,N,L,R,U,F,B,V,H,q,$,Y,W,G,K,J,X,Z,Q,ee,te,ie,ne,re,ae,se,oe,le,ue,ce,de,pe,me,he,be,ge,fe,ve,ye,we,ke,Ee,Pe,Oe,je,_e,Te,ze,xe,Se,Ce,Me,De,Ae
3623
- function Ie(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function Ne(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
3623
+ e.default=a})),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/isNumber","moment-timezone","ghost-admin/services/notifications","ember-concurrency","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-ajax/errors","@tryghost/kg-converters"],(function(e,t,i,n,r,a,s,o,l,u,c,d,p,m,h,b,g,f,v){var y,w,k,E,P,O,j,_,T,z,x,S,C,M,D,A,I,N,L,R,U,F,B,V,H,q,$,Y,W,G,K,J,X,Z,Q,ee,te,ie,ne,re,ae,se,oe,le,ue,ce,de,pe,me,he,be,ge,fe,ve,ye,we,ke,Ee,Pe,Oe,je,_e,Te,ze,xe,Se,Ce,Me,De,Ae,Ie
3624
+ function Ne(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function Le(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
3624
3625
  var i=e[Symbol.toPrimitive]
3625
3626
  if(void 0!==i){var n=i.call(e,t||"default")
3626
3627
  if("object"!=typeof n)return n
3627
3628
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
3628
- return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function Le(e,t,i,n,r){var a={}
3629
+ return"symbol"==typeof t?t:String(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,n,r){var a={}
3629
3630
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3630
- const Re="(Untitled)"
3631
- let Ue=["post.lexicalScratch","post.titleScratch","post.hasDirtyAttributes","post.tags.[]","post.isError"]
3632
- a.default.eachAttribute((function(e){Ue.push(`post.${e}`)}))
3633
- const Fe={errors:{post:{published:{published:"Update failed",draft:"Saving failed",scheduled:"Scheduling failed"},draft:{published:"Publish failed",draft:"Saving failed",scheduled:"Scheduling failed"},scheduled:{scheduled:"Update failed",draft:"Unscheduling failed",published:"Publish failed"}}},success:{post:{published:{published:"Updated",draft:"Saved",scheduled:"Scheduled",sent:"Sent"},draft:{published:"Published",draft:"Saved",scheduled:"Scheduled",sent:"Sent"},scheduled:{scheduled:"Updated",draft:"Unscheduled",published:"Published",sent:"Sent"},sent:{sent:"Updated"}}}}
3634
- let Be=(y=Ember.inject.controller,w=Ember.inject.service,k=Ember.inject.service,E=Ember.inject.service,P=Ember.inject.service,O=Ember.inject.service,j=Ember.inject.service,_=Ember.inject.service,T=Ember.inject.service,z=Ember.inject.service,x=Ember.computed.alias("model"),S=(0,u.default)("post.isPublished"),C=(0,u.default)("post.isScheduled"),M=(0,h.taskGroup)().enqueue(),D=Ember.computed.mapBy("post.tags","name"),A=Ember.computed(...Ue),I=Ember.computed,N=Ember.computed("_snippets.@each.{name,isNew,mobiledoc,lexical}"),L=Ember.computed("session.user.{isAdmin,isEditor}"),R=Ember.computed("_autosaveTask.isRunning","_timedSaveTask.isRunning","_revisionSaveTask.isRunning"),U=Ember.computed("post.isDraft"),F=Ember._action,B=Ember._action,V=Ember._action,H=Ember._action,q=Ember._action,$=Ember._action,Y=Ember._action,W=Ember._action,G=Ember._action,K=Ember._action,J=Ember._action,X=Ember._action,Z=Ember._action,Q=Ember._action,ee=Ember._action,te=Ember._action,ie=Ember._action,ne=Ember._action,re=Ember._action,ae=Ember._action,se=Ember._action,oe=(0,h.task)({group:"saveTasks"}),le=(0,h.task)({group:"saveTasks"}),ue=(0,h.task)({group:"saveTasks"}),ce=Ember._action,de=Ember._action,pe=(0,h.task)((function*(){if(this._canAutosave){if(this.get("post.isNew"))return this.autosaveTask.perform()
3635
- yield(0,h.timeout)(3e3),this.autosaveTask.perform()}})).restartable(),me=(0,h.task)((function*(){if(this._canAutosave)for(;"test"!==c.default.environment;)yield(0,h.timeout)(6e4),this.autosaveTask.perform()})).drop(),he=(0,h.task)((function*(){if(this._canAutosave)for(;"test"!==c.default.environment;)yield(0,h.timeout)(6e5),this.autosaveTask.perform({saveRevision:this._canAutosave})})).drop(),be=class extends Ember.Controller{constructor(){super(...arguments),Ie(this,"application",ge,this),Ie(this,"feature",fe,this),Ie(this,"membersCountCache",ve,this),Ie(this,"modals",ye,this),Ie(this,"notifications",we,this),Ie(this,"router",ke,this),Ie(this,"slugGenerator",Ee,this),Ie(this,"session",Pe,this),Ie(this,"settings",Oe,this),Ie(this,"ui",je,this),Ie(this,"config",_e,this),Ne(this,"shouldFocusTitle",!1),Ne(this,"showSettingsMenu",!1),Ne(this,"fromAnalytics",!1),Ne(this,"wordCount",0),Ne(this,"_leaveConfirmed",!1),Ne(this,"_previousTagNames",null),Ie(this,"post",Te,this),Ie(this,"willPublish",ze,this),Ie(this,"willSchedule",xe,this),Ie(this,"saveTasks",Se,this),Ie(this,"_tagNames",Ce,this),Ie(this,"_autosaveTask",Me,this),Ie(this,"_timedSaveTask",De,this),Ie(this,"_revisionSaveTask",Ae,this)}get hasDirtyAttributes(){return this._hasDirtyAttributes()}set hasDirtyAttributes(e){return e}get _snippets(){return this.store.peekAll("snippet")}get snippets(){return this._snippets.reject((e=>e.get("isNew"))).sort(((e,t)=>e.name.localeCompare(t.name))).filter((e=>null!==e.lexical)).map((e=>(e.value=JSON.stringify(e.lexical),e)))}get canManageSnippets(){let{user:e}=this.session
3631
+ const Ue="(Untitled)"
3632
+ let Fe=["post.lexicalScratch","post.titleScratch","post.hasDirtyAttributes","post.tags.[]","post.isError"]
3633
+ a.default.eachAttribute((function(e){Fe.push(`post.${e}`)}))
3634
+ const Be={errors:{post:{published:{published:"Update failed",draft:"Saving failed",scheduled:"Scheduling failed"},draft:{published:"Publish failed",draft:"Saving failed",scheduled:"Scheduling failed"},scheduled:{scheduled:"Update failed",draft:"Unscheduling failed",published:"Publish failed"}}},success:{post:{published:{published:"Updated",draft:"Saved",scheduled:"Scheduled",sent:"Sent"},draft:{published:"Published",draft:"Saved",scheduled:"Scheduled",sent:"Sent"},scheduled:{scheduled:"Updated",draft:"Unscheduled",published:"Published",sent:"Sent"},sent:{sent:"Updated"}}}}
3635
+ let Ve=(y=Ember.inject.controller,w=Ember.inject.service,k=Ember.inject.service,E=Ember.inject.service,P=Ember.inject.service,O=Ember.inject.service,j=Ember.inject.service,_=Ember.inject.service,T=Ember.inject.service,z=Ember.inject.service,x=Ember.computed.alias("model"),S=(0,u.default)("post.isPublished"),C=(0,u.default)("post.isScheduled"),M=(0,h.taskGroup)().enqueue(),D=Ember.computed.mapBy("post.tags","name"),A=Ember.computed(...Fe),I=Ember.computed,N=Ember.computed("_snippets.@each.{name,isNew,mobiledoc,lexical}"),L=Ember.computed,R=Ember.computed("session.user.{isAdmin,isEditor}"),U=Ember.computed("_autosaveTask.isRunning","_timedSaveTask.isRunning","_revisionSaveTask.isRunning"),F=Ember.computed("post.isDraft"),B=Ember._action,V=Ember._action,H=Ember._action,q=Ember._action,$=Ember._action,Y=Ember._action,W=Ember._action,G=Ember._action,K=Ember._action,J=Ember._action,X=Ember._action,Z=Ember._action,Q=Ember._action,ee=Ember._action,te=Ember._action,ie=Ember._action,ne=Ember._action,re=Ember._action,ae=Ember._action,se=Ember._action,oe=Ember._action,le=(0,h.task)({group:"saveTasks"}),ue=(0,h.task)({group:"saveTasks"}),ce=(0,h.task)({group:"saveTasks"}),de=Ember._action,pe=Ember._action,me=(0,h.task)((function*(){if(this._canAutosave){if(this.get("post.isNew"))return this.autosaveTask.perform()
3636
+ yield(0,h.timeout)(3e3),this.autosaveTask.perform()}})).restartable(),he=(0,h.task)((function*(){if(this._canAutosave)for(;"test"!==c.default.environment;)yield(0,h.timeout)(6e4),this.autosaveTask.perform()})).drop(),be=(0,h.task)((function*(){if(this._canAutosave)for(;"test"!==c.default.environment;)yield(0,h.timeout)(6e5),this.autosaveTask.perform({saveRevision:this._canAutosave})})).drop(),ge=class extends Ember.Controller{constructor(){super(...arguments),Ne(this,"application",fe,this),Ne(this,"feature",ve,this),Ne(this,"membersCountCache",ye,this),Ne(this,"modals",we,this),Ne(this,"notifications",ke,this),Ne(this,"router",Ee,this),Ne(this,"slugGenerator",Pe,this),Ne(this,"session",Oe,this),Ne(this,"settings",je,this),Ne(this,"ui",_e,this),Ne(this,"config",Te,this),Le(this,"shouldFocusTitle",!1),Le(this,"showSettingsMenu",!1),Le(this,"fromAnalytics",!1),Le(this,"wordCount",0),Le(this,"_leaveConfirmed",!1),Le(this,"_previousTagNames",null),Ne(this,"post",ze,this),Ne(this,"willPublish",xe,this),Ne(this,"willSchedule",Se,this),Ne(this,"saveTasks",Ce,this),Ne(this,"_tagNames",Me,this),Ne(this,"_autosaveTask",De,this),Ne(this,"_timedSaveTask",Ae,this),Ne(this,"_revisionSaveTask",Ie,this)}get hasDirtyAttributes(){return this._hasDirtyAttributes()}set hasDirtyAttributes(e){return e}get _snippets(){return this.store.peekAll("snippet")}get snippets(){return this._snippets.reject((e=>e.get("isNew"))).sort(((e,t)=>e.name.localeCompare(t.name))).filter((e=>null!==e.lexical)).map((e=>(e.value=JSON.stringify(e.lexical),e)))}get collections(){return this.store.peekAll("collection")}get canManageSnippets(){let{user:e}=this.session
3636
3637
  return!(!e.get("isAdmin")&&!e.get("isEditor"))}get _autosaveRunning(){let e=this.get("_autosaveTask.isRunning"),t=this.get("_timedSaveTask.isRunning"),i=this.get("_revisionSaveTask.isRunning")
3637
3638
  return e||t||i}get _canAutosave(){return"test"!==c.default.environment&&this.get("post.isDraft")}updateScratch(e){this.set("post.lexicalScratch",JSON.stringify(e)),this._autosaveTask.perform(),this._timedSaveTask.perform(),this._revisionSaveTask.perform()}updateTitleScratch(e){this.set("post.titleScratch",e)}setSaveType(e){"publish"===e?(this.set("willPublish",!0),this.set("willSchedule",!1)):"draft"===e?(this.set("willPublish",!1),this.set("willSchedule",!1)):"schedule"===e&&(this.set("willSchedule",!0),this.set("willPublish",!1))}save(e){return this.saveTask.perform(e)}cancelAutosave(){this._autosaveTask.cancelAll(),this._timedSaveTask.cancelAll(),this._revisionSaveTask.cancelAll()}leaveEditor(){let e=this.leaveEditorTransition
3638
3639
  if(e)return this.reset(),e.retry()
@@ -3655,7 +3656,7 @@ if(u&&!(0,f.isInvalidError)(u))return void e.send("error",u)
3655
3656
  if(!t.silent){let t=u||e.get("post.errors.messages")
3656
3657
  throw void e._showErrorAlert(n,e.get("post.status"),t)}return e.post}}()}beforeSaveTask(){var e=this
3657
3658
  let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
3658
- return function*(){t.backgroundSave,e.set("post.lexical",e.post.lexicalScratch||null),e.get("post.titleScratch").trim()||e.set("post.titleScratch",Re),e.set("post.title",e.get("post.titleScratch")),e.set("post.customExcerpt",e.get("post.customExcerptScratch")),e.set("post.footerInjection",e.get("post.footerExcerptScratch")),e.set("post.headerInjection",e.get("post.headerExcerptScratch")),e.set("post.metaTitle",e.get("post.metaTitleScratch")),e.set("post.metaDescription",e.get("post.metaDescriptionScratch")),e.set("post.ogTitle",e.get("post.ogTitleScratch")),e.set("post.ogDescription",e.get("post.ogDescriptionScratch")),e.set("post.twitterTitle",e.get("post.twitterTitleScratch")),e.set("post.twitterDescription",e.get("post.twitterDescriptionScratch")),e.set("post.emailSubject",e.get("post.emailSubjectScratch")),e.get("post.slug")||(e.saveTitleTask.cancelAll(),yield e.generateSlugTask.perform())}()}*updateSlugTask(e){let t,i,n=this.get("post.slug")
3659
+ return function*(){t.backgroundSave,e.set("post.lexical",e.post.lexicalScratch||null),e.get("post.titleScratch").trim()||e.set("post.titleScratch",Ue),e.set("post.title",e.get("post.titleScratch")),e.set("post.customExcerpt",e.get("post.customExcerptScratch")),e.set("post.footerInjection",e.get("post.footerExcerptScratch")),e.set("post.headerInjection",e.get("post.headerExcerptScratch")),e.set("post.metaTitle",e.get("post.metaTitleScratch")),e.set("post.metaDescription",e.get("post.metaDescriptionScratch")),e.set("post.ogTitle",e.get("post.ogTitleScratch")),e.set("post.ogDescription",e.get("post.ogDescriptionScratch")),e.set("post.twitterTitle",e.get("post.twitterTitleScratch")),e.set("post.twitterDescription",e.get("post.twitterDescriptionScratch")),e.set("post.emailSubject",e.get("post.emailSubjectScratch")),e.get("post.slug")||(e.saveTitleTask.cancelAll(),yield e.generateSlugTask.perform())}()}*updateSlugTask(e){let t,i,n=this.get("post.slug")
3659
3660
  if(t=e||n,t=t&&t.trim(),!t||n===t)return void this.set("slugValue",n)
3660
3661
  if(i=yield this.slugGenerator.generateSlug("post",t),i===n)return
3661
3662
  let r=i.split("-"),a=Number(r.pop())
@@ -3671,9 +3672,9 @@ try{yield i.save(t)}catch(r){if(e.post.set("emailOnly",n),(0,g.isServerUnreachab
3671
3672
  throw void e._showErrorAlert(t,i,r)}throw r}return e.afterSave(i),i}()}afterSave(e){this.notifications.closeAlerts("post.save"),e.updateTags(),this._previousTagNames=this._tagNames,e.lexicalScratch||e.set("lexicalScratch",e.get("lexical"))
3672
3673
  let t=e.get("titleScratch")===e.get("title"),i=e.get("lexicalScratch")===e.get("lexical")
3673
3674
  t&&i&&this.set("hasDirtyAttributes",!1)}*saveTitleTask(){let e=this.post,t=e.get("title"),i=e.get("titleScratch").trim()
3674
- t&&i&&i===t||!t&&!i||(this.set("hasDirtyAttributes",!0),(e.get("isNew")&&!t||t===Re||t?.endsWith("(Copy)"))&&(yield this.generateSlugTask.perform()),this.get("post.isDraft")&&(yield this.autosaveTask.perform()),this.ui.updateDocumentTitle())}*generateSlugTask(){let e=this.get("post.titleScratch")
3675
- if(e!==Re||!this.get("post.slug"))try{let t=yield this.slugGenerator.generateSlug("post",e)
3676
- Ember.isBlank(t)||this.set("post.slug",t)}catch(t){(0,g.isVersionMismatchError)(t)&&this.notifications.showAPIError(t)}}*backgroundLoaderTask(){yield this.store.query("snippet",{limit:"all"}),this.syncMobiledocSnippets()}async syncMobiledocSnippets(){const e=this.store.peekAll("snippet"),i=[]
3675
+ t&&i&&i===t||!t&&!i||(this.set("hasDirtyAttributes",!0),(e.get("isNew")&&!t||t===Ue||t?.endsWith("(Copy)"))&&(yield this.generateSlugTask.perform()),this.get("post.isDraft")&&(yield this.autosaveTask.perform()),this.ui.updateDocumentTitle())}*generateSlugTask(){let e=this.get("post.titleScratch")
3676
+ if(e!==Ue||!this.get("post.slug"))try{let t=yield this.slugGenerator.generateSlug("post",e)
3677
+ Ember.isBlank(t)||this.set("post.slug",t)}catch(t){(0,g.isVersionMismatchError)(t)&&this.notifications.showAPIError(t)}}*backgroundLoaderTask(){yield this.store.query("snippet",{limit:"all"}),"page"===this.post.displayName&&this.feature.get("collections")&&this.feature.get("collectionsCard")&&(yield this.store.query("collection",{limit:"all"})),this.syncMobiledocSnippets()}async syncMobiledocSnippets(){const e=this.store.peekAll("snippet"),i=[]
3677
3678
  e.forEach((e=>{if("string"==typeof e.lexical)try{e.lexical=JSON.parse(e.lexical),e.mobiledoc={},i.push(e.save())}catch(n){e.lexical=null,i.push(e.save()),console.error(n),this.config.sentry_dsn&&t.captureException(n,{tags:{lexical:!0}})}})),await Promise.all(i),e.forEach((e=>{if(!e.lexical||e.lexical.syncedAt&&p.default.utc(e.lexical.syncedAt).isBefore(e.updatedAtUTC)){const t=(0,v.mobiledocToLexical)(JSON.stringify(e.mobiledoc))
3678
3679
  let i=JSON.parse(t).root.children
3679
3680
  1===i.length&&"paragraph"===i[0].type&&(i=i[0].children)
@@ -3699,19 +3700,19 @@ if((r||n)&&r!==n)return this._leaveModalReason={reason:"lexical is different",co
3699
3700
  if(e.get("isNew")){let t=Object.keys(e.changedAttributes())
3700
3701
  return t.length&&(this._leaveModalReason={reason:"post.changedAttributes.length > 0",context:e.changedAttributes()}),!!t.length}let{hasDirtyAttributes:a}=e
3701
3702
  return a&&(this._leaveModalReason={reason:"post.hasDirtyAttributes === true",context:e.changedAttributes()}),a}_showSaveNotification(e,t,i){if("scheduled"===t)return this._showScheduledNotification(i)
3702
- let n,r,a,s=this.notifications,o=Fe.success.post[e][t]
3703
+ let n,r,a,s=this.notifications,o=Be.success.post[e][t]
3703
3704
  "published"!==t&&"scheduled"!==t||(r=Ember.String.capitalize(this.get("post.displayName")),a=this.get("post.url"),n=`<a href="${a}" target="_blank">View ${r}</a>`),s.showNotification(o,{type:"success",actions:n&&Ember.String.htmlSafe(n),delayed:i})}async _showScheduledNotification(e){let{publishedAtUTC:t,previewUrl:i,emailOnly:n,newsletter:r}=this.post,a=p.default.tz(t,this.settings.timezone),s=n?["Will be sent"]:["Will be published"]
3704
3705
  if(r){const e=await this.membersCountCache.countString(this.post.fullRecipientFilter,{newsletter:r})
3705
3706
  s.push(`${n?"":"and delivered "}to <span><strong>${e}</strong></span>`)}s.push(`on <span><strong>${a.format("MMM Do")}</strong></span>`),s.push(`at <span><strong>${a.format("HH:mm")}</strong>`),0===a.utcOffset()?s.push("(UTC)</span>"):s.push(`(UTC${a.format("Z").replace(/([+-])0/,"$1").replace(/:00/,"")})</span>`),s=Ember.String.htmlSafe(s.join(" "))
3706
3707
  let o=Ember.String.htmlSafe(`<a href="${i}" target="_blank">View Preview</a>`)
3707
- return this.notifications.showNotification("Scheduled",{description:s,actions:o,type:"success",delayed:e})}_showErrorAlert(e,t,i,n){let r,a=Fe.errors.post[e][t],s=this.notifications
3708
+ return this.notifications.showNotification("Scheduled",{description:s,actions:o,type:"success",delayed:e})}_showErrorAlert(e,t,i,n){let r,a=Be.errors.post[e][t],s=this.notifications
3708
3709
  if((0,g.isServerUnreachableError)(i))r="Unable to connect, please check your internet connection and try again"
3709
3710
  else if(i&&(o=i,"[object String]"===toString.call(o)))r=i
3710
3711
  else if(i&&Ember.isArray(i))r=i[0]
3711
3712
  else{if(i&&i.payload&&i.payload.errors&&i.payload.errors[0].message)return this.notifications.showAPIError(i,{key:"post.save"})
3712
3713
  r="Unknown Error"}var o
3713
- a+=`: ${r}`,a=Ember.String.htmlSafe(a),s.showAlert(a,{type:"error",delayed:n,key:"post.save"})}},ge=Le(be.prototype,"application",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),fe=Le(be.prototype,"feature",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ve=Le(be.prototype,"membersCountCache",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ye=Le(be.prototype,"modals",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),we=Le(be.prototype,"notifications",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ke=Le(be.prototype,"router",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ee=Le(be.prototype,"slugGenerator",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Pe=Le(be.prototype,"session",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Oe=Le(be.prototype,"settings",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),je=Le(be.prototype,"ui",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_e=Le(be.prototype,"config",[b.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Te=Le(be.prototype,"post",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ze=Le(be.prototype,"willPublish",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),xe=Le(be.prototype,"willSchedule",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Se=Le(be.prototype,"saveTasks",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ce=Le(be.prototype,"_tagNames",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Le(be.prototype,"hasDirtyAttributes",[A],Object.getOwnPropertyDescriptor(be.prototype,"hasDirtyAttributes"),be.prototype),Le(be.prototype,"_snippets",[I],Object.getOwnPropertyDescriptor(be.prototype,"_snippets"),be.prototype),Le(be.prototype,"snippets",[N],Object.getOwnPropertyDescriptor(be.prototype,"snippets"),be.prototype),Le(be.prototype,"canManageSnippets",[L],Object.getOwnPropertyDescriptor(be.prototype,"canManageSnippets"),be.prototype),Le(be.prototype,"_autosaveRunning",[R],Object.getOwnPropertyDescriptor(be.prototype,"_autosaveRunning"),be.prototype),Le(be.prototype,"_canAutosave",[U],Object.getOwnPropertyDescriptor(be.prototype,"_canAutosave"),be.prototype),Le(be.prototype,"updateScratch",[F],Object.getOwnPropertyDescriptor(be.prototype,"updateScratch"),be.prototype),Le(be.prototype,"updateTitleScratch",[B],Object.getOwnPropertyDescriptor(be.prototype,"updateTitleScratch"),be.prototype),Le(be.prototype,"setSaveType",[V],Object.getOwnPropertyDescriptor(be.prototype,"setSaveType"),be.prototype),Le(be.prototype,"save",[H],Object.getOwnPropertyDescriptor(be.prototype,"save"),be.prototype),Le(be.prototype,"cancelAutosave",[q],Object.getOwnPropertyDescriptor(be.prototype,"cancelAutosave"),be.prototype),Le(be.prototype,"leaveEditor",[$],Object.getOwnPropertyDescriptor(be.prototype,"leaveEditor"),be.prototype),Le(be.prototype,"openDeletePostModal",[Y],Object.getOwnPropertyDescriptor(be.prototype,"openDeletePostModal"),be.prototype),Le(be.prototype,"openUpgradeModal",[W],Object.getOwnPropertyDescriptor(be.prototype,"openUpgradeModal"),be.prototype),Le(be.prototype,"setKoenigEditor",[G],Object.getOwnPropertyDescriptor(be.prototype,"setKoenigEditor"),be.prototype),Le(be.prototype,"updateWordCount",[K],Object.getOwnPropertyDescriptor(be.prototype,"updateWordCount"),be.prototype),Le(be.prototype,"setFeatureImage",[J],Object.getOwnPropertyDescriptor(be.prototype,"setFeatureImage"),be.prototype),Le(be.prototype,"registerEditorAPI",[X],Object.getOwnPropertyDescriptor(be.prototype,"registerEditorAPI"),be.prototype),Le(be.prototype,"clearFeatureImage",[Z],Object.getOwnPropertyDescriptor(be.prototype,"clearFeatureImage"),be.prototype),Le(be.prototype,"setFeatureImageAlt",[Q],Object.getOwnPropertyDescriptor(be.prototype,"setFeatureImageAlt"),be.prototype),Le(be.prototype,"setFeatureImageCaption",[ee],Object.getOwnPropertyDescriptor(be.prototype,"setFeatureImageCaption"),be.prototype),Le(be.prototype,"toggleSettingsMenu",[te],Object.getOwnPropertyDescriptor(be.prototype,"toggleSettingsMenu"),be.prototype),Le(be.prototype,"closeSettingsMenu",[ie],Object.getOwnPropertyDescriptor(be.prototype,"closeSettingsMenu"),be.prototype),Le(be.prototype,"saveNewSnippet",[ne],Object.getOwnPropertyDescriptor(be.prototype,"saveNewSnippet"),be.prototype),Le(be.prototype,"createSnippet",[re],Object.getOwnPropertyDescriptor(be.prototype,"createSnippet"),be.prototype),Le(be.prototype,"confirmUpdateSnippet",[ae],Object.getOwnPropertyDescriptor(be.prototype,"confirmUpdateSnippet"),be.prototype),Le(be.prototype,"confirmDeleteSnippet",[se],Object.getOwnPropertyDescriptor(be.prototype,"confirmDeleteSnippet"),be.prototype),Le(be.prototype,"autosaveTask",[h.dropTask],Object.getOwnPropertyDescriptor(be.prototype,"autosaveTask"),be.prototype),Le(be.prototype,"saveTask",[oe],Object.getOwnPropertyDescriptor(be.prototype,"saveTask"),be.prototype),Le(be.prototype,"beforeSaveTask",[h.task],Object.getOwnPropertyDescriptor(be.prototype,"beforeSaveTask"),be.prototype),Le(be.prototype,"updateSlugTask",[le],Object.getOwnPropertyDescriptor(be.prototype,"updateSlugTask"),be.prototype),Le(be.prototype,"savePostTask",[ue],Object.getOwnPropertyDescriptor(be.prototype,"savePostTask"),be.prototype),Le(be.prototype,"_savePostTask",[h.task],Object.getOwnPropertyDescriptor(be.prototype,"_savePostTask"),be.prototype),Le(be.prototype,"afterSave",[ce],Object.getOwnPropertyDescriptor(be.prototype,"afterSave"),be.prototype),Le(be.prototype,"saveTitleTask",[h.task],Object.getOwnPropertyDescriptor(be.prototype,"saveTitleTask"),be.prototype),Le(be.prototype,"generateSlugTask",[h.enqueueTask],Object.getOwnPropertyDescriptor(be.prototype,"generateSlugTask"),be.prototype),Le(be.prototype,"backgroundLoaderTask",[h.restartableTask],Object.getOwnPropertyDescriptor(be.prototype,"backgroundLoaderTask"),be.prototype),Le(be.prototype,"syncMobiledocSnippets",[de],Object.getOwnPropertyDescriptor(be.prototype,"syncMobiledocSnippets"),be.prototype),Me=Le(be.prototype,"_autosaveTask",[pe],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),De=Le(be.prototype,"_timedSaveTask",[me],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae=Le(be.prototype,"_revisionSaveTask",[he],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),be)
3714
- e.default=Be})),define("ghost-admin/controllers/lexical-editor/edit-loading",["exports"],(function(e){var t,i,n
3714
+ a+=`: ${r}`,a=Ember.String.htmlSafe(a),s.showAlert(a,{type:"error",delayed:n,key:"post.save"})}},fe=Re(ge.prototype,"application",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ve=Re(ge.prototype,"feature",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ye=Re(ge.prototype,"membersCountCache",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),we=Re(ge.prototype,"modals",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ke=Re(ge.prototype,"notifications",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ee=Re(ge.prototype,"router",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Pe=Re(ge.prototype,"slugGenerator",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Oe=Re(ge.prototype,"session",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),je=Re(ge.prototype,"settings",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_e=Re(ge.prototype,"ui",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Te=Re(ge.prototype,"config",[b.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ze=Re(ge.prototype,"post",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),xe=Re(ge.prototype,"willPublish",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Se=Re(ge.prototype,"willSchedule",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ce=Re(ge.prototype,"saveTasks",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Me=Re(ge.prototype,"_tagNames",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re(ge.prototype,"hasDirtyAttributes",[A],Object.getOwnPropertyDescriptor(ge.prototype,"hasDirtyAttributes"),ge.prototype),Re(ge.prototype,"_snippets",[I],Object.getOwnPropertyDescriptor(ge.prototype,"_snippets"),ge.prototype),Re(ge.prototype,"snippets",[N],Object.getOwnPropertyDescriptor(ge.prototype,"snippets"),ge.prototype),Re(ge.prototype,"collections",[L],Object.getOwnPropertyDescriptor(ge.prototype,"collections"),ge.prototype),Re(ge.prototype,"canManageSnippets",[R],Object.getOwnPropertyDescriptor(ge.prototype,"canManageSnippets"),ge.prototype),Re(ge.prototype,"_autosaveRunning",[U],Object.getOwnPropertyDescriptor(ge.prototype,"_autosaveRunning"),ge.prototype),Re(ge.prototype,"_canAutosave",[F],Object.getOwnPropertyDescriptor(ge.prototype,"_canAutosave"),ge.prototype),Re(ge.prototype,"updateScratch",[B],Object.getOwnPropertyDescriptor(ge.prototype,"updateScratch"),ge.prototype),Re(ge.prototype,"updateTitleScratch",[V],Object.getOwnPropertyDescriptor(ge.prototype,"updateTitleScratch"),ge.prototype),Re(ge.prototype,"setSaveType",[H],Object.getOwnPropertyDescriptor(ge.prototype,"setSaveType"),ge.prototype),Re(ge.prototype,"save",[q],Object.getOwnPropertyDescriptor(ge.prototype,"save"),ge.prototype),Re(ge.prototype,"cancelAutosave",[$],Object.getOwnPropertyDescriptor(ge.prototype,"cancelAutosave"),ge.prototype),Re(ge.prototype,"leaveEditor",[Y],Object.getOwnPropertyDescriptor(ge.prototype,"leaveEditor"),ge.prototype),Re(ge.prototype,"openDeletePostModal",[W],Object.getOwnPropertyDescriptor(ge.prototype,"openDeletePostModal"),ge.prototype),Re(ge.prototype,"openUpgradeModal",[G],Object.getOwnPropertyDescriptor(ge.prototype,"openUpgradeModal"),ge.prototype),Re(ge.prototype,"setKoenigEditor",[K],Object.getOwnPropertyDescriptor(ge.prototype,"setKoenigEditor"),ge.prototype),Re(ge.prototype,"updateWordCount",[J],Object.getOwnPropertyDescriptor(ge.prototype,"updateWordCount"),ge.prototype),Re(ge.prototype,"setFeatureImage",[X],Object.getOwnPropertyDescriptor(ge.prototype,"setFeatureImage"),ge.prototype),Re(ge.prototype,"registerEditorAPI",[Z],Object.getOwnPropertyDescriptor(ge.prototype,"registerEditorAPI"),ge.prototype),Re(ge.prototype,"clearFeatureImage",[Q],Object.getOwnPropertyDescriptor(ge.prototype,"clearFeatureImage"),ge.prototype),Re(ge.prototype,"setFeatureImageAlt",[ee],Object.getOwnPropertyDescriptor(ge.prototype,"setFeatureImageAlt"),ge.prototype),Re(ge.prototype,"setFeatureImageCaption",[te],Object.getOwnPropertyDescriptor(ge.prototype,"setFeatureImageCaption"),ge.prototype),Re(ge.prototype,"toggleSettingsMenu",[ie],Object.getOwnPropertyDescriptor(ge.prototype,"toggleSettingsMenu"),ge.prototype),Re(ge.prototype,"closeSettingsMenu",[ne],Object.getOwnPropertyDescriptor(ge.prototype,"closeSettingsMenu"),ge.prototype),Re(ge.prototype,"saveNewSnippet",[re],Object.getOwnPropertyDescriptor(ge.prototype,"saveNewSnippet"),ge.prototype),Re(ge.prototype,"createSnippet",[ae],Object.getOwnPropertyDescriptor(ge.prototype,"createSnippet"),ge.prototype),Re(ge.prototype,"confirmUpdateSnippet",[se],Object.getOwnPropertyDescriptor(ge.prototype,"confirmUpdateSnippet"),ge.prototype),Re(ge.prototype,"confirmDeleteSnippet",[oe],Object.getOwnPropertyDescriptor(ge.prototype,"confirmDeleteSnippet"),ge.prototype),Re(ge.prototype,"autosaveTask",[h.dropTask],Object.getOwnPropertyDescriptor(ge.prototype,"autosaveTask"),ge.prototype),Re(ge.prototype,"saveTask",[le],Object.getOwnPropertyDescriptor(ge.prototype,"saveTask"),ge.prototype),Re(ge.prototype,"beforeSaveTask",[h.task],Object.getOwnPropertyDescriptor(ge.prototype,"beforeSaveTask"),ge.prototype),Re(ge.prototype,"updateSlugTask",[ue],Object.getOwnPropertyDescriptor(ge.prototype,"updateSlugTask"),ge.prototype),Re(ge.prototype,"savePostTask",[ce],Object.getOwnPropertyDescriptor(ge.prototype,"savePostTask"),ge.prototype),Re(ge.prototype,"_savePostTask",[h.task],Object.getOwnPropertyDescriptor(ge.prototype,"_savePostTask"),ge.prototype),Re(ge.prototype,"afterSave",[de],Object.getOwnPropertyDescriptor(ge.prototype,"afterSave"),ge.prototype),Re(ge.prototype,"saveTitleTask",[h.task],Object.getOwnPropertyDescriptor(ge.prototype,"saveTitleTask"),ge.prototype),Re(ge.prototype,"generateSlugTask",[h.enqueueTask],Object.getOwnPropertyDescriptor(ge.prototype,"generateSlugTask"),ge.prototype),Re(ge.prototype,"backgroundLoaderTask",[h.restartableTask],Object.getOwnPropertyDescriptor(ge.prototype,"backgroundLoaderTask"),ge.prototype),Re(ge.prototype,"syncMobiledocSnippets",[pe],Object.getOwnPropertyDescriptor(ge.prototype,"syncMobiledocSnippets"),ge.prototype),De=Re(ge.prototype,"_autosaveTask",[me],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae=Re(ge.prototype,"_timedSaveTask",[he],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ie=Re(ge.prototype,"_revisionSaveTask",[be],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ge)
3715
+ e.default=Ve})),define("ghost-admin/controllers/lexical-editor/edit-loading",["exports"],(function(e){var t,i,n
3715
3716
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3716
3717
  let r=(t=Ember.inject.service,i=class extends Ember.Controller{constructor(){var e,t,i,r
3717
3718
  super(...arguments),e=this,t="ui",r=this,(i=n)&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}},a=i.prototype,s="ui",o=[t],l={configurable:!0,enumerable:!0,writable:!0,initializer:null},c={},Object.keys(l).forEach((function(e){c[e]=l[e]})),c.enumerable=!!c.enumerable,c.configurable=!!c.configurable,("value"in c||c.initializer)&&(c.writable=!0),c=o.slice().reverse().reduce((function(e,t){return t(a,s,e)||e}),c),u&&void 0!==c.initializer&&(c.value=c.initializer?c.initializer.call(u):void 0,c.initializer=void 0),void 0===c.initializer&&(Object.defineProperty(a,s,c),c=null),n=c,i)
@@ -3882,11 +3883,11 @@ this.flowErrors="",this.hasValidated.addObjects(["newPassword","ne2Password"])
3882
3883
  try{yield this.validate()
3883
3884
  try{let a=yield this.ajax.put(r,{data:{password_reset:[{newPassword:t,ne2Password:i,token:n}]}})
3884
3885
  return this.notifications.showAlert(a.password_reset[0].message,{type:"warn",delayed:!0,key:"password.reset"}),this.session.authenticate("authenticator:cookie",e,t),!0}catch(a){this.notifications.showAPIError(a,{key:"password.reset"})}}catch(a){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),a&&0===this.errors.length)throw a}}},b=_(h.prototype,"ghostPaths",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=_(h.prototype,"notifications",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=_(h.prototype,"session",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=_(h.prototype,"ajax",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=_(h.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=_(h.prototype,"newPassword",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),k=_(h.prototype,"ne2Password",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),E=_(h.prototype,"token",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),P=_(h.prototype,"flowErrors",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),_(h.prototype,"handleInput",[p],Object.getOwnPropertyDescriptor(h.prototype,"handleInput"),h.prototype),_(h.prototype,"resetPasswordTask",[m],Object.getOwnPropertyDescriptor(h.prototype,"resetPasswordTask"),h.prototype),h)
3885
- e.default=T})),define("ghost-admin/controllers/settings-x",["exports","ghost-admin/components/modals/settings/about"],(function(e,t){var i,n,r,a,s,o,l,u,c
3886
- function d(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function p(e,t,i,n,r){var a={}
3886
+ e.default=T})),define("ghost-admin/controllers/settings-x",["exports","ghost-admin/components/modals/settings/about"],(function(e,t){var i,n,r,a,s,o
3887
+ function l(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function u(e,t,i,n,r){var a={}
3887
3888
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3888
- let m=(i=Ember.inject.service,n=Ember.inject.service,r=Ember._tracked,a=Ember._action,s=Ember._action,o=class extends Ember.Controller{constructor(){super(...arguments),d(this,"modals",l,this),d(this,"upgradeStatus",u,this),d(this,"dirty",c,this)}openAbout(){this.advancedModal=this.modals.open(t.default)}setDirty(e){this.dirty=e}},l=p(o.prototype,"modals",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=p(o.prototype,"upgradeStatus",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=p(o.prototype,"dirty",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p(o.prototype,"openAbout",[a],Object.getOwnPropertyDescriptor(o.prototype,"openAbout"),o.prototype),p(o.prototype,"setDirty",[s],Object.getOwnPropertyDescriptor(o.prototype,"setDirty"),o.prototype),o)
3889
- e.default=m})),define("ghost-admin/controllers/settings",["exports","ghost-admin/components/modals/settings/about"],(function(e,t){var i,n,r,a,s,o
3889
+ let c=(i=Ember.inject.service,n=Ember.inject.service,r=Ember._action,a=class extends Ember.Controller{constructor(){super(...arguments),l(this,"modals",s,this),l(this,"upgradeStatus",o,this)}openAbout(){this.advancedModal=this.modals.open(t.default)}},s=u(a.prototype,"modals",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),o=u(a.prototype,"upgradeStatus",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u(a.prototype,"openAbout",[r],Object.getOwnPropertyDescriptor(a.prototype,"openAbout"),a.prototype),a)
3890
+ e.default=c})),define("ghost-admin/controllers/settings",["exports","ghost-admin/components/modals/settings/about"],(function(e,t){var i,n,r,a,s,o
3890
3891
  function l(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function u(e,t,i,n,r){var a={}
3891
3892
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3892
3893
  let c=(i=Ember.inject.service,n=Ember.inject.service,r=Ember._action,a=class extends Ember.Controller{constructor(){super(...arguments),l(this,"modals",s,this),l(this,"upgradeStatus",o,this)}openAbout(){this.advancedModal=this.modals.open(t.default)}},s=u(a.prototype,"modals",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),o=u(a.prototype,"upgradeStatus",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u(a.prototype,"openAbout",[r],Object.getOwnPropertyDescriptor(a.prototype,"openAbout"),a.prototype),a)
@@ -4579,10 +4580,7 @@ let r=(i=class extends Ember.Helper{constructor(){var e,t,i,r
4579
4580
  super(...arguments),e=this,t="config",r=this,(i=n)&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}compute(){const e=this.config.icon||"https://static.ghost.org/v4.0.0/images/ghost-orb-2.png"
4580
4581
  return Ember.String.htmlSafe(`background-image: url(${e})`)}},a=i.prototype,s="config",o=[t.inject],l={configurable:!0,enumerable:!0,writable:!0,initializer:null},c={},Object.keys(l).forEach((function(e){c[e]=l[e]})),c.enumerable=!!c.enumerable,c.configurable=!!c.configurable,("value"in c||c.initializer)&&(c.writable=!0),c=o.slice().reverse().reduce((function(e,t){return t(a,s,e)||e}),c),u&&void 0!==c.initializer&&(c.value=c.initializer?c.initializer.call(u):void 0,c.initializer=void 0),void 0===c.initializer&&(Object.defineProperty(a,s,c),c=null),n=c,i)
4581
4582
  var a,s,o,l,u,c
4582
- e.default=r})),define("ghost-admin/helpers/svg-jar",["exports","ember-svg-jar/utils/make-svg"],(function(e,t){function i(e){try{return require(`ember-svg-jar/inlined/${e}`).default}catch(t){return null}}function n(e,n){return(0,t.default)(e,n,i)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.svgJar=n
4583
- var r=Ember.Helper.helper((function(e,t){let[i]=e
4584
- return n(i,t)}))
4585
- e.default=r})),define("ghost-admin/helpers/task",["exports","ember-concurrency/helpers/task"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/helpers/titleize",["exports","ember-cli-string-helpers/helpers/titleize"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"titleize",{enumerable:!0,get:function(){return t.titleize}})}))
4583
+ e.default=r})),define("ghost-admin/helpers/svg-jar",["exports","ember-svg-jar/helpers/svg-jar"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"svgJar",{enumerable:!0,get:function(){return t.svgJar}})})),define("ghost-admin/helpers/task",["exports","ember-concurrency/helpers/task"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/helpers/titleize",["exports","ember-cli-string-helpers/helpers/titleize"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"titleize",{enumerable:!0,get:function(){return t.titleize}})}))
4586
4584
  define("ghost-admin/helpers/toggle-action",["exports","ember-composable-helpers/helpers/toggle-action"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/helpers/toggle-feature",["exports"],(function(e){var t,i,n
4587
4585
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4588
4586
  let r=(t=Ember.inject.service,i=class extends Ember.Helper{constructor(){var e,t,i,r
@@ -4914,15 +4912,15 @@ Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4914
4912
  let a=(i=Ember.inject.service,n=class extends t.default{constructor(){var e,t,i,n
4915
4913
  super(...arguments),e=this,t="session",n=this,(i=r)&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}beforeModel(){if(super.beforeModel(...arguments),!this.session.user.isAdmin)return this.transitionTo("home")}},s=n.prototype,o="session",l=[i],u={configurable:!0,enumerable:!0,writable:!0,initializer:null},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(s,o,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(s,o,d),d=null),r=d,n)
4916
4914
  var s,o,l,u,c,d
4917
- e.default=a})),define("ghost-admin/routes/application",["exports","ember-simple-auth/configuration","ghost-admin/mixins/shortcuts-route","ghost-admin/utils/ctrl-or-cmd","ghost-admin/utils/window-proxy","@sentry/ember","ghost-admin/decorators/inject","ember-ajax/errors","ghost-admin/services/ajax"],(function(e,t,i,n,r,a,s,o,l){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4915
+ e.default=a})),define("ghost-admin/routes/application",["exports","@sentry/ember","ember-simple-auth/configuration","ghost-admin/mixins/shortcuts-route","ghost-admin/utils/ctrl-or-cmd","ghost-admin/utils/window-proxy","ghost-admin/decorators/inject","ember-ajax/errors","ghost-admin/services/ajax"],(function(e,t,i,n,r,a,s,o,l){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4918
4916
  let u={esc:{action:"closeMenus",scope:"default"}}
4919
- u[`${n.default}+s`]={action:"save",scope:"all"}
4920
- var c=Ember.Route.extend(i.default,{ajax:Ember.inject.service(),configManager:Ember.inject.service(),feature:Ember.inject.service(),ghostPaths:Ember.inject.service(),notifications:Ember.inject.service(),router:Ember.inject.service(),session:Ember.inject.service(),settings:Ember.inject.service(),ui:Ember.inject.service(),whatsNew:Ember.inject.service(),billing:Ember.inject.service(),shortcuts:u,routeAfterAuthentication:"home",init(){this._super(...arguments),this.router.on("routeDidChange",(()=>{this.notifications.displayDelayed()})),this.ui.initBodyDragHandlers()},config:(0,s.inject)(),async beforeModel(){return await this.session.setup(),this.prepareApp()},async afterModel(e,t){this._super(...arguments),this.get("session.isAuthenticated")&&(this.session.appLoadTransition=t),this._appLoaded=!0},actions:{closeMenus(){this.ui.closeMenus()},didTransition(){this.session.appLoadTransition=null,this.send("closeMenus")},authorizationFailed(){r.default.replaceLocation(t.default.rootURL)},save:function(){return this},error(e,t){if((0,o.isUnauthorizedError)(e))return!1
4917
+ u[`${r.default}+s`]={action:"save",scope:"all"}
4918
+ var c=Ember.Route.extend(n.default,{ajax:Ember.inject.service(),configManager:Ember.inject.service(),feature:Ember.inject.service(),ghostPaths:Ember.inject.service(),notifications:Ember.inject.service(),router:Ember.inject.service(),session:Ember.inject.service(),settings:Ember.inject.service(),ui:Ember.inject.service(),whatsNew:Ember.inject.service(),billing:Ember.inject.service(),shortcuts:u,routeAfterAuthentication:"home",init(){this._super(...arguments),this.router.on("routeDidChange",(()=>{this.notifications.displayDelayed()})),this.ui.initBodyDragHandlers()},config:(0,s.inject)(),async beforeModel(){return await this.session.setup(),this.prepareApp()},async afterModel(e,t){this._super(...arguments),this.get("session.isAuthenticated")&&(this.session.appLoadTransition=t),this._appLoaded=!0},actions:{closeMenus(){this.ui.closeMenus()},didTransition(){this.session.appLoadTransition=null,this.send("closeMenus")},authorizationFailed(){a.default.replaceLocation(i.default.rootURL)},save:function(){return this},error(e,t){if((0,o.isUnauthorizedError)(e))return!1
4921
4919
  if((0,o.isNotFoundError)(e)){t&&t.abort()
4922
4920
  let e=t.to,i=this.router,n=[]
4923
4921
  for(let t of Object.keys(e.params))n.push(e.params[t])
4924
4922
  let r=i.urlFor(e.name,...n).replace(/^#\//,"").replace(/^\//,"").replace(/^ghost\//,"")
4925
- return this.replaceWith("error404",r)}return(!(0,l.isVersionMismatchError)(e)||(t&&t.abort(),this.upgradeStatus.requireUpgrade(),!this._appLoaded))&&((!(0,l.isMaintenanceError)(e)||(t&&t.abort(),this.upgradeStatus.maintenanceAlert(),!this._appLoaded))&&!(((0,o.isAjaxError)(e)||e&&e.payload&&Ember.isArray(e.payload.errors))&&(this.notifications.showAPIError(e),!t)))}},willDestroy(){this.ui.cleanupBodyDragHandlers()},async prepareApp(){if(await this.configManager.fetchUnauthenticated(),this.config.sentry_dsn&&(0,a.InitSentryForEmber)({dsn:this.config.sentry_dsn,environment:this.config.sentry_env,release:`ghost@${this.config.version}`,beforeSend:e=>(e.tags=e.tags||{},e.tags.shown_to_user=e.tags.shown_to_user||!1,e.tags.grammarly=!!document.querySelector("[data-gr-ext-installed]"),e),ignoreErrors:[/^TransitionAborted$/]}),this.session.isAuthenticated){try{await this.session.populateUser()}catch(e){await this.session.invalidate()}await this.session.postAuthPreparation()}this.config.hostSettings?.forceUpgrade&&this.billing.openBillingWindow(this.router.currentURL,"/pro")}})
4923
+ return this.replaceWith("error404",r)}return(!(0,l.isVersionMismatchError)(e)||(t&&t.abort(),this.upgradeStatus.requireUpgrade(),!this._appLoaded))&&((!(0,l.isMaintenanceError)(e)||(t&&t.abort(),this.upgradeStatus.maintenanceAlert(),!this._appLoaded))&&!(((0,o.isAjaxError)(e)||e&&e.payload&&Ember.isArray(e.payload.errors))&&(this.notifications.showAPIError(e),!t)))}},willDestroy(){this.ui.cleanupBodyDragHandlers()},async prepareApp(){if(await this.configManager.fetchUnauthenticated(),this.config.sentry_dsn&&t.init({dsn:this.config.sentry_dsn,environment:this.config.sentry_env,release:`ghost@${this.config.version}`,beforeSend:e=>(e.tags=e.tags||{},e.tags.shown_to_user=e.tags.shown_to_user||!1,e.tags.grammarly=!!document.querySelector("[data-gr-ext-installed]"),e),integrations:[new t.Replay],replaysSessionSampleRate:0,replaysOnErrorSampleRate:1,ignoreErrors:[/^TransitionAborted$/]}),this.session.isAuthenticated){try{await this.session.populateUser()}catch(e){await this.session.invalidate()}await this.session.postAuthPreparation()}this.config.hostSettings?.forceUpgrade&&this.billing.openBillingWindow(this.router.currentURL,"/pro")}})
4926
4924
  e.default=c})),define("ghost-admin/routes/authenticated",["exports"],(function(e){var t,i,n
4927
4925
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4928
4926
  let r=(t=Ember.inject.service,i=class extends Ember.Route{constructor(){var e,t,i,r
@@ -5163,15 +5161,13 @@ e.default=m})),define("ghost-admin/routes/reset",["exports","ghost-admin/routes/
5163
5161
  function o(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function l(e,t,i,n,r){var a={}
5164
5162
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
5165
5163
  let u=(i=Ember.inject.service,n=Ember.inject.service,r=class extends t.default{constructor(){super(...arguments),o(this,"notifications",a,this),o(this,"session",s,this)}beforeModel(){this.session.isAuthenticated&&this.notifications.showAlert("You can't reset your password while you're signed in.",{type:"warn",delayed:!0,key:"password.reset.signed-in"}),super.beforeModel(...arguments)}setupController(e,t){e.token=t.token}deactivate(){super.deactivate(...arguments),this.controller.clearData()}},a=l(r.prototype,"notifications",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=l(r.prototype,"session",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)
5166
- e.default=u})),define("ghost-admin/routes/settings-x",["exports","ghost-admin/routes/authenticated","ghost-admin/components/modals/confirm-unsaved-changes"],(function(e,t,i){var n,r,a,s,o,l,u,c
5167
- function d(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function p(e,t,i,n,r){var a={}
5164
+ e.default=u})),define("ghost-admin/routes/settings-x",["exports","ghost-admin/routes/authenticated"],(function(e,t){var i,n,r,a,s,o,l
5165
+ function u(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function c(e,t,i,n,r){var a={}
5168
5166
  return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
5169
- let m=(n=Ember.inject.service,r=Ember.inject.service,a=Ember.inject.service,s=Ember._action,o=class extends t.default{constructor(){super(...arguments),d(this,"session",l,this),d(this,"ui",u,this),d(this,"modals",c,this)}beforeModel(){super.beforeModel(...arguments)
5167
+ let d=(i=Ember.inject.service,n=Ember.inject.service,r=Ember.inject.service,a=class extends t.default{constructor(){super(...arguments),u(this,"session",s,this),u(this,"ui",o,this),u(this,"modals",l,this)}beforeModel(){super.beforeModel(...arguments)
5170
5168
  const e=this.session.user
5171
- return e.isAdmin?this.config.adminX?.url?void 0:this.router.transitionTo("settings"):this.transitionTo("settings.staff.user",e)}activate(){super.activate(...arguments),this.ui.set("isFullScreen",!0)}deactivate(){super.deactivate(...arguments),this.ui.set("isFullScreen",!1)}async willTransition(e){if(this.hasConfirmed)return this.hasConfirmed=!1,!0
5172
- if(e.abort(),this.confirmModal)return
5173
- return await this.confirmUnsavedChanges()?(this.hasConfirmed=!0,e.retry()):void 0}async confirmUnsavedChanges(){return!this.controller.dirty||(this.confirmModal=this.modals.open(i.default).finally((()=>{this.confirmModal=null})),this.confirmModal)}},l=p(o.prototype,"session",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=p(o.prototype,"ui",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=p(o.prototype,"modals",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p(o.prototype,"willTransition",[s],Object.getOwnPropertyDescriptor(o.prototype,"willTransition"),o.prototype),o)
5174
- e.default=m})),define("ghost-admin/routes/settings",["exports","ghost-admin/routes/authenticated"],(function(e,t){var i,n,r
5169
+ return e.isAdmin?this.config.adminX?.url?void 0:this.router.transitionTo("settings"):this.transitionTo("settings.staff.user",e)}activate(){super.activate(...arguments),this.ui.set("isFullScreen",!0)}deactivate(){super.deactivate(...arguments),this.ui.set("isFullScreen",!1)}},s=c(a.prototype,"session",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),o=c(a.prototype,"ui",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=c(a.prototype,"modals",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a)
5170
+ e.default=d})),define("ghost-admin/routes/settings",["exports","ghost-admin/routes/authenticated"],(function(e,t){var i,n,r
5175
5171
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
5176
5172
  let a=(i=Ember.inject.service,n=class extends t.default{constructor(){var e,t,i,n
5177
5173
  super(...arguments),e=this,t="session",n=this,(i=r)&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}beforeModel(){super.beforeModel(...arguments)
@@ -5885,23 +5881,23 @@ return this.ghostPaths.url.join(e.host,t).replace(/\/$/,"")}constructor(){super(
5885
5881
  e.match(/^\/explore(\/.*)?/)&&(e=e.replace(/\/explore/,"")),"/"!==e&&(t+=e),window.location.hash!==t&&window.history.replaceState(window.history.state,"",t)}}getIframeURL(){let e=this.exploreUrl
5886
5882
  if(window.location.hash&&window.location.hash.includes(this.exploreRouteRoot)){let t=window.location.hash.replace(this.exploreRouteRoot,"")
5887
5883
  t&&!t.includes("connect")&&(e+=t.replace(/^\//,""))}return e}sendRouteUpdate(e){this.getExploreIframe().contentWindow.postMessage({query:"routeUpdate",response:e},"*")}toggleExploreWindow(e){this.exploreWindowOpen&&e||(this.exploreWindowOpen=e)}openExploreWindow(e,t){this.exploreWindowOpen||(this.previousRoute=e,window.location.hash=t||"/explore",this.router.transitionTo(t||"/explore"),this.toggleExploreWindow(!0))}getExploreIframe(){return document.getElementById("explore-frame")}},u=v(l.prototype,"router",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=v(l.prototype,"feature",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=v(l.prototype,"ghostPaths",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=v(l.prototype,"exploreWindowOpen",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),m=v(l.prototype,"siteData",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),h=v(l.prototype,"previousRoute",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),b=v(l.prototype,"isIframeTransition",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l)
5888
- e.default=y})),define("ghost-admin/services/feature",["exports","jquery","ghost-admin/decorators/inject"],(function(e,t,i){var n,r,a,s,o,l,u,c,d,p,m,h,b,g,f,v,y,w,k,E,P,O,j,_,T,z,x,S,C,M,D,A,I,N,L,R,U,F,B,V,H,q,$,Y,W,G,K,J,X,Z,Q,ee,te,ie
5889
- function ne(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function re(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
5884
+ e.default=y})),define("ghost-admin/services/feature",["exports","jquery","ghost-admin/decorators/inject"],(function(e,t,i){var n,r,a,s,o,l,u,c,d,p,m,h,b,g,f,v,y,w,k,E,P,O,j,_,T,z,x,S,C,M,D,A,I,N,L,R,U,F,B,V,H,q,$,Y,W,G,K,J,X,Z,Q,ee,te,ie,ne,re,ae,se
5885
+ function oe(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function le(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
5890
5886
  var i=e[Symbol.toPrimitive]
5891
5887
  if(void 0!==i){var n=i.call(e,t||"default")
5892
5888
  if("object"!=typeof n)return n
5893
5889
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
5894
- return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function ae(e,t,i,n,r){var a={}
5895
- return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}function se(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{user:i,onChange:n}=t,r=i?[`accessibility.${e}`]:[`config.${e}`,`labs.${e}`]
5890
+ return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function ue(e,t,i,n,r){var a={}
5891
+ return Object.keys(n).forEach((function(e){a[e]=n[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,n){return n(e,t,i)||i}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}function ce(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{user:i,onChange:n}=t,r=i?[`accessibility.${e}`]:[`config.${e}`,`labs.${e}`]
5896
5892
  return Ember.computed.apply(Ember,r.concat({get(){let t=!1
5897
- return t=i?this.get(`accessibility.${e}`):"boolean"==typeof this.get(`config.${e}`)?this.get(`config.${e}`):this.get(`labs.${e}`)||!1,t},set(e,i){return this.update(e,i,t),n&&this.get(n).bind(this)(i),i}}))}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.feature=se
5898
- let oe=(n=Ember.inject.service,r=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=se("emailAnalytics"),u=se("nightShift",{user:!0,onChange:"_setAdminTheme"}),c=se("referralInviteDismissed",{user:!0}),d=se("urlCache"),p=se("lexicalEditor"),m=se("lexicalMultiplayer"),h=se("audienceFeedback"),b=se("webmentions"),g=se("websockets"),f=se("stripeAutomaticTax"),v=se("emailCustomization"),y=se("i18n"),w=se("announcementBar"),k=se("signupCard"),E=se("signupForm"),P=se("collections"),O=se("adminXSettings"),j=se("pageImprovements"),_=se("flatUrls"),T=se("mailEvents"),z=Ember.computed("settings.labs"),x=Ember.computed("_user.accessibility"),S=class extends Ember.Service{constructor(){super(...arguments),ne(this,"lazyLoader",C,this),ne(this,"notifications",M,this),ne(this,"session",D,this),ne(this,"settings",A,this),ne(this,"store",I,this),ne(this,"config",N,this),ne(this,"emailAnalytics",L,this),ne(this,"nightShift",R,this),ne(this,"referralInviteDismissed",U,this),ne(this,"urlCache",F,this),ne(this,"lexicalEditor",B,this),ne(this,"lexicalMultiplayer",V,this),ne(this,"audienceFeedback",H,this),ne(this,"webmentions",q,this),ne(this,"websockets",$,this),ne(this,"stripeAutomaticTax",Y,this),ne(this,"emailCustomization",W,this),ne(this,"i18n",G,this),ne(this,"announcementBar",K,this),ne(this,"signupCard",J,this),ne(this,"signupForm",X,this),ne(this,"collections",Z,this),ne(this,"adminXSettings",Q,this),ne(this,"pageImprovements",ee,this),ne(this,"flatUrls",te,this),ne(this,"mailEvents",ie,this),re(this,"_user",null)}get labs(){let e=this.settings.labs
5893
+ return t=i?this.get(`accessibility.${e}`):"boolean"==typeof this.get(`config.${e}`)?this.get(`config.${e}`):this.get(`labs.${e}`)||!1,t},set(e,i){return this.update(e,i,t),n&&this.get(n).bind(this)(i),i}}))}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.feature=ce
5894
+ let de=(n=Ember.inject.service,r=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=ce("emailAnalytics"),u=ce("nightShift",{user:!0,onChange:"_setAdminTheme"}),c=ce("referralInviteDismissed",{user:!0}),d=ce("urlCache"),p=ce("lexicalEditor"),m=ce("lexicalMultiplayer"),h=ce("audienceFeedback"),b=ce("webmentions"),g=ce("websockets"),f=ce("stripeAutomaticTax"),v=ce("emailCustomization"),y=ce("i18n"),w=ce("announcementBar"),k=ce("signupCard"),E=ce("signupForm"),P=ce("collections"),O=ce("adminXSettings"),j=ce("pageImprovements"),_=ce("flatUrls"),T=ce("mailEvents"),z=ce("collectionsCard"),x=ce("headerUpgrade"),S=Ember.computed("settings.labs"),C=Ember.computed("_user.accessibility"),M=class extends Ember.Service{constructor(){super(...arguments),oe(this,"lazyLoader",D,this),oe(this,"notifications",A,this),oe(this,"session",I,this),oe(this,"settings",N,this),oe(this,"store",L,this),oe(this,"config",R,this),oe(this,"emailAnalytics",U,this),oe(this,"nightShift",F,this),oe(this,"referralInviteDismissed",B,this),oe(this,"urlCache",V,this),oe(this,"lexicalEditor",H,this),oe(this,"lexicalMultiplayer",q,this),oe(this,"audienceFeedback",$,this),oe(this,"webmentions",Y,this),oe(this,"websockets",W,this),oe(this,"stripeAutomaticTax",G,this),oe(this,"emailCustomization",K,this),oe(this,"i18n",J,this),oe(this,"announcementBar",X,this),oe(this,"signupCard",Z,this),oe(this,"signupForm",Q,this),oe(this,"collections",ee,this),oe(this,"adminXSettings",te,this),oe(this,"pageImprovements",ie,this),oe(this,"flatUrls",ne,this),oe(this,"mailEvents",re,this),oe(this,"collectionsCard",ae,this),oe(this,"headerUpgrade",se,this),le(this,"_user",null)}get labs(){let e=this.settings.labs
5899
5895
  try{return JSON.parse(e)||{}}catch(t){return{}}}get accessibility(){let e=this.get("_user.accessibility")
5900
5896
  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){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.user?"accessibility":"labs",r=this.get(i.user?"_user":"settings"),a=this.get(n)
5901
5897
  return Ember.set(a,e,t),i.requires&&!0===t&&i.requires.forEach((e=>{Ember.set(a,e,!0)})),r.set(n,JSON.stringify(a)),r.save().then((()=>(this.notifyPropertyChange(n),this.get(`${n}.${e}`)))).catch((t=>{if(r.rollbackAttributes(),this.notifyPropertyChange(n),!t)throw new Ember.Error(`Validation of the feature service ${i.user?"user":"settings"} model failed when updating ${n}.`)
5902
5898
  return this.notifications.showAPIError(t),this.get(`${n}.${e}`)}))}_setAdminTheme(e){let i=e
5903
- return void 0===i&&(i=e||this.nightShift),this.lazyLoader.loadStyle("dark","assets/ghost-dark-0ac006215fbff8210f7bb6d3a8c9a1f9.css",!0).then((()=>{(0,t.default)("link[title=dark]").prop("disabled",!i)})).catch((()=>{(0,t.default)("link[title=dark]").prop("disabled",!0)}))}},C=ae(S.prototype,"lazyLoader",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=ae(S.prototype,"notifications",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=ae(S.prototype,"session",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=ae(S.prototype,"settings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=ae(S.prototype,"store",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=ae(S.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=ae(S.prototype,"emailAnalytics",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=ae(S.prototype,"nightShift",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=ae(S.prototype,"referralInviteDismissed",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=ae(S.prototype,"urlCache",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=ae(S.prototype,"lexicalEditor",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=ae(S.prototype,"lexicalMultiplayer",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=ae(S.prototype,"audienceFeedback",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=ae(S.prototype,"webmentions",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=ae(S.prototype,"websockets",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=ae(S.prototype,"stripeAutomaticTax",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=ae(S.prototype,"emailCustomization",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=ae(S.prototype,"i18n",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=ae(S.prototype,"announcementBar",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=ae(S.prototype,"signupCard",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=ae(S.prototype,"signupForm",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=ae(S.prototype,"collections",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=ae(S.prototype,"adminXSettings",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=ae(S.prototype,"pageImprovements",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=ae(S.prototype,"flatUrls",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ie=ae(S.prototype,"mailEvents",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ae(S.prototype,"labs",[z],Object.getOwnPropertyDescriptor(S.prototype,"labs"),S.prototype),ae(S.prototype,"accessibility",[x],Object.getOwnPropertyDescriptor(S.prototype,"accessibility"),S.prototype),S)
5904
- e.default=oe})),define("ghost-admin/services/frontend",["exports","fetch","validator","ghost-admin/decorators/inject"],(function(e,t,i,n){var r,a,s,o,l,u
5899
+ return void 0===i&&(i=e||this.nightShift),this.lazyLoader.loadStyle("dark","assets/ghost-dark-b80a5d657c788174451fd218428af744.css",!0).then((()=>{(0,t.default)("link[title=dark]").prop("disabled",!i)})).catch((()=>{(0,t.default)("link[title=dark]").prop("disabled",!0)}))}},D=ue(M.prototype,"lazyLoader",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=ue(M.prototype,"notifications",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=ue(M.prototype,"session",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=ue(M.prototype,"settings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=ue(M.prototype,"store",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=ue(M.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=ue(M.prototype,"emailAnalytics",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=ue(M.prototype,"nightShift",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=ue(M.prototype,"referralInviteDismissed",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=ue(M.prototype,"urlCache",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=ue(M.prototype,"lexicalEditor",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=ue(M.prototype,"lexicalMultiplayer",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=ue(M.prototype,"audienceFeedback",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=ue(M.prototype,"webmentions",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=ue(M.prototype,"websockets",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=ue(M.prototype,"stripeAutomaticTax",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=ue(M.prototype,"emailCustomization",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=ue(M.prototype,"i18n",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=ue(M.prototype,"announcementBar",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=ue(M.prototype,"signupCard",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=ue(M.prototype,"signupForm",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=ue(M.prototype,"collections",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=ue(M.prototype,"adminXSettings",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ie=ue(M.prototype,"pageImprovements",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=ue(M.prototype,"flatUrls",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),re=ue(M.prototype,"mailEvents",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ae=ue(M.prototype,"collectionsCard",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),se=ue(M.prototype,"headerUpgrade",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ue(M.prototype,"labs",[S],Object.getOwnPropertyDescriptor(M.prototype,"labs"),M.prototype),ue(M.prototype,"accessibility",[C],Object.getOwnPropertyDescriptor(M.prototype,"accessibility"),M.prototype),M)
5900
+ e.default=de})),define("ghost-admin/services/frontend",["exports","fetch","validator","ghost-admin/decorators/inject"],(function(e,t,i,n){var r,a,s,o,l,u
5905
5901
  function c(e,t,i,n){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function d(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
5906
5902
  var i=e[Symbol.toPrimitive]
5907
5903
  if(void 0!==i){var n=i.call(e,t||"default")
@@ -6286,7 +6282,7 @@ var t=Ember.HTMLBars.template({id:"5C/w8dFA",block:'{"symbols":["item"],"stateme
6286
6282
  e.default=t})),define("ghost-admin/templates/explore/connect",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6287
6283
  var t=Ember.HTMLBars.template({id:"n36rtDb3",block:'{"symbols":[],"statements":[[10,"div"],[15,0,[31,[[32,0,["visibilityClass"]]]]],[12],[2,"\\n "],[10,"div"],[14,0,"explore-close"],[12],[2,"\\n "],[11,"a"],[24,6,"javascript:void(0)"],[24,"data-test-button","close-explore"],[4,[38,0],["click",[32,0,["closeConnect"]]],null],[12],[2,"\\n "],[1,[30,[36,1],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"explore-content"],[12],[2,"\\n\\n "],[10,"div"],[14,0,"explore-header"],[12],[2,"\\n "],[1,[30,[36,1],["ghost-orb-pink"],[["alt","class"],["Ghost","w25 v-mid"]]]],[2,"\\n "],[10,"h1"],[12],[2,"Connect to Ghost Explore."],[13],[2,"\\n "],[10,"p"],[14,0,"explore-api"],[12],[1,[32,0,["apiUrl"]]],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"explore-permissions"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,1],["check-circle"],[["class","alt"],["w6 v-mid","checkmark"]]]],[13],[2,"\\n "],[10,"p"],[12],[2,"Allow read-only access to your site data to create a directory listing."],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,1],["check-circle"],[["class","alt"],["w6 v-mid","checkmark"]]]],[13],[2,"\\n "],[10,"p"],[12],[2,"You’ll be able to choose what data is shown publicly or hidden."],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,1],["check-circle"],[["class","alt"],["w6 v-mid","checkmark"]]]],[13],[2,"\\n "],[10,"p"],[12],[2,"Your site will be promoted across the entire Ghost ecosystem."],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[24,0,"gh-btn gh-btn-black gh-btn-large gh-btn-icon-right"],[24,"data-test-button","submit-explore"],[24,4,"button"],[4,[38,0],["click",[32,0,["submitExploreSite"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Connect data & edit listing "],[1,[30,[36,1],["arrow-right-tail"],null]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["on","svg-jar"]}',moduleName:"ghost-admin/templates/explore/connect.hbs"})
6288
6284
  e.default=t})),define("ghost-admin/templates/lexical-editor",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6289
- var t=Ember.HTMLBars.template({id:"DVmiCj0r",block:'{"symbols":["editor","publishManagement"],"statements":[[6,[37,5],[[32,0,["post"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"flex flex-row"],[12],[2,"\\n "],[8,"gh-editor",[],[["@tagName","@class"],["section","gh-editor gh-view relative"]],[["default"],[{"statements":[[2,"\\n "],[10,"header"],[14,0,"gh-editor-header br2 pe-none"],[12],[2,"\\n "],[8,"editor/publish-management",[],[["@post","@hasUnsavedChanges","@beforePublish","@afterPublish","@saveTask"],[[32,0,["post"]],[32,0,["hasDirtyAttributes"]],[30,[36,6],[[32,0,["beforeSaveTask"]]],null],[32,0,["afterSave"]],[32,0,["saveTask"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"flex items-center pe-auto h-100"],[12],[2,"\\n"],[6,[37,5],[[32,0,["ui","isFullScreen"]]],null,[["default"],[{"statements":[[6,[37,5],[[32,0,["fromAnalytics"]]],null,[["default","else"],[{"statements":[[2," "],[8,"link-to",[[24,0,"gh-btn-editor gh-editor-back-button"]],[["@route","@model"],["posts.analytics",[32,0,["post"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"\\n "],[1,[30,[36,0],["arrow-left"],null]],[2,"\\n Analytics\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"link-to",[[24,0,"gh-btn-editor gh-editor-back-button"],[16,"data-test-link",[30,[36,3],[[32,0,["post","displayName"]]],null]]],[["@route"],[[30,[36,3],[[32,0,["post","displayName"]]],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"\\n "],[1,[30,[36,0],["arrow-left"],null]],[2,"\\n "],[1,[30,[36,4],[[30,[36,3],[[32,0,["post","displayName"]]],null]],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[6,[37,5],[[30,[36,2],[[30,[36,7],[[32,0,["ui","isFullScreen"]]],null],[30,[36,7],[[32,0,["fromAnalytics"]]],null],[32,0,["post","didEmailFail"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-editor-post-status"],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n "],[8,"gh-editor-post-status",[],[["@post","@publishManagement","@hasDirtyAttributes","@isSaving","@openUpdateFlow"],[[32,0,["post"]],[32,2],[32,0,["hasDirtyAttributes"]],[30,[36,2],[[32,0,["autosaveTask","isRunning"]],[32,0,["saveTasks","isRunning"]]],null],[32,2,["openUpdateFlow"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"section"],[14,0,"flex items-center pe-auto h-100"],[12],[2,"\\n"],[6,[37,1],[[32,0,["post","isNew"]]],null,[["default"],[{"statements":[[2," "],[8,"editor/publish-buttons",[],[["@publishManagement"],[[32,2]]],null],[2,"\\n"],[6,[37,1],[[32,0,["showSettingsMenu"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"settings-menu-toggle-spacer"],[12],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[2]}]]],[2,"\\n "],[13],[2,"\\n\\n"],[2," "],[8,"gh-koenig-editor-lexical",[],[["@title","@titleAutofocus","@titlePlaceholder","@onTitleChange","@onTitleBlur","@body","@bodyPlaceholder","@onBodyChange","@headerOffset","@scrollContainerSelector","@scrollOffsetBottomSelector","@onEditorCreated","@updateWordCount","@featureImage","@featureImageAlt","@featureImageCaption","@setFeatureImage","@setFeatureImageAlt","@setFeatureImageCaption","@clearFeatureImage","@cardOptions","@postType","@registerAPI"],[[30,[36,8],[[32,0,["post","titleScratch"]]],null],[32,0,["shouldFocusTitle"]],[30,[36,9],[[30,[36,4],[[32,0,["post","displayName"]]],null]," title"],null],[32,0,["updateTitleScratch"]],[30,[36,6],[[32,0,["saveTitleTask"]]],null],[30,[36,8],[[32,0,["post","lexicalScratch"]]],null],[30,[36,9],["Begin writing your ",[32,0,["post","displayName"]],"..."],null],[32,0,["updateScratch"]],[32,1,["headerHeight"]],".gh-koenig-editor",".gh-mobile-nav-bar",[32,0,["setKoenigEditor"]],[32,0,["updateWordCount"]],[32,0,["post","featureImage"]],[32,0,["post","featureImageAlt"]],[32,0,["post","featureImageCaption"]],[32,0,["setFeatureImage"]],[32,0,["setFeatureImageAlt"]],[32,0,["setFeatureImageCaption"]],[32,0,["clearFeatureImage"]],[30,[36,10],null,[["post","snippets","deleteSnippet","createSnippet"],[[32,0,["post"]],[32,0,["snippets"]],[30,[36,5],[[32,0,["canManageSnippets"]],[32,0,["confirmDeleteSnippet"]]],null],[30,[36,5],[[32,0,["canManageSnippets"]],[32,0,["createSnippet"]]],null]]]],[32,0,["post","displayName"]],[32,0,["registerEditorAPI"]]]],null],[2,"\\n\\n "],[8,"feedback-lexical/editor-dropdown",[],[["@post"],[[32,0,["post"]]]],null],[2,"\\n\\n "],[10,"div"],[14,0,"gh-editor-wordcount-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-editor-wordcount"],[12],[2,"\\n "],[1,[30,[36,11],[[32,0,["wordCount"]],"word"],null]],[2,"\\n "],[13],[2,"\\n"],[2," "],[10,"a"],[14,6,"https://ghost.org/help/using-the-editor/"],[14,0,"flex"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[1,[30,[36,0],["help"],null]],[13],[2,"\\n "],[13],[2,"\\n\\n "]],"parameters":[1]}]]],[2,"\\n\\n"],[6,[37,5],[[32,0,["showSettingsMenu"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-post-settings-menu",[],[["@post","@deletePost","@updateSlugTask","@savePostTask","@editorAPI","@toggleSettingsMenu"],[[32,0,["post"]],[32,0,["openDeletePostModal"]],[32,0,["updateSlugTask"]],[32,0,["savePostTask"]],[32,0,["editorAPI"]],[32,0,["toggleSettingsMenu"]]]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[11,"button"],[24,0,"settings-menu-toggle gh-btn gh-btn-editor gh-btn-icon icon-only gh-btn-action-icon"],[24,"title","Settings"],[24,"data-test-psm-trigger",""],[24,4,"button"],[4,[38,12],["click",[32,0,["toggleSettingsMenu"]]],null],[12],[2,"\\n"],[6,[37,5],[[32,0,["showSettingsMenu"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"settings-menu-open"],[12],[1,[30,[36,0],["sidemenu-open"],null]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[12],[1,[30,[36,0],["sidemenu"],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,5],[[32,0,["showReAuthenticateModal"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-fullscreen-modal",[],[["@modal","@close","@modifier"],["re-authenticate",[32,0,["toggleReAuthenticateModal"]],"action wide"]],null],[2,"\\n"]],"parameters":[]}]]],[6,[37,5],[[32,0,["showPostHistory"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-fullscreen-modal",[],[["@modal","@model","@close","@modifier"],["post-history",[32,0,["post"]],[32,0,["closePostHistory"]],"total-overlay post-history"]],null],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[1,[30,[36,14],[[30,[36,13],null,null]],null]],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar","unless","or","pluralize","capitalize","if","perform","not","readonly","concat","hash","gh-pluralize","on","-outlet","component"]}',moduleName:"ghost-admin/templates/lexical-editor.hbs"})
6285
+ var t=Ember.HTMLBars.template({id:"2Rr07vbt",block:'{"symbols":["editor","publishManagement"],"statements":[[6,[37,5],[[32,0,["post"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"flex flex-row"],[12],[2,"\\n "],[8,"gh-editor",[],[["@tagName","@class"],["section","gh-editor gh-view relative"]],[["default"],[{"statements":[[2,"\\n "],[10,"header"],[14,0,"gh-editor-header br2 pe-none"],[12],[2,"\\n "],[8,"editor/publish-management",[],[["@post","@hasUnsavedChanges","@beforePublish","@afterPublish","@saveTask"],[[32,0,["post"]],[32,0,["hasDirtyAttributes"]],[30,[36,6],[[32,0,["beforeSaveTask"]]],null],[32,0,["afterSave"]],[32,0,["saveTask"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"flex items-center pe-auto h-100"],[12],[2,"\\n"],[6,[37,5],[[32,0,["ui","isFullScreen"]]],null,[["default"],[{"statements":[[6,[37,5],[[32,0,["fromAnalytics"]]],null,[["default","else"],[{"statements":[[2," "],[8,"link-to",[[24,0,"gh-btn-editor gh-editor-back-button"]],[["@route","@model"],["posts.analytics",[32,0,["post"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"\\n "],[1,[30,[36,0],["arrow-left"],null]],[2,"\\n Analytics\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"link-to",[[24,0,"gh-btn-editor gh-editor-back-button"],[16,"data-test-link",[30,[36,3],[[32,0,["post","displayName"]]],null]]],[["@route"],[[30,[36,3],[[32,0,["post","displayName"]]],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"\\n "],[1,[30,[36,0],["arrow-left"],null]],[2,"\\n "],[1,[30,[36,4],[[30,[36,3],[[32,0,["post","displayName"]]],null]],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[6,[37,5],[[30,[36,2],[[30,[36,7],[[32,0,["ui","isFullScreen"]]],null],[30,[36,7],[[32,0,["fromAnalytics"]]],null],[32,0,["post","didEmailFail"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-editor-post-status"],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n "],[8,"gh-editor-post-status",[],[["@post","@publishManagement","@hasDirtyAttributes","@isSaving","@openUpdateFlow"],[[32,0,["post"]],[32,2],[32,0,["hasDirtyAttributes"]],[30,[36,2],[[32,0,["autosaveTask","isRunning"]],[32,0,["saveTasks","isRunning"]]],null],[32,2,["openUpdateFlow"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"section"],[14,0,"flex items-center pe-auto h-100"],[12],[2,"\\n"],[6,[37,1],[[32,0,["post","isNew"]]],null,[["default"],[{"statements":[[2," "],[8,"editor/publish-buttons",[],[["@publishManagement"],[[32,2]]],null],[2,"\\n"],[6,[37,1],[[32,0,["showSettingsMenu"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"settings-menu-toggle-spacer"],[12],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[2]}]]],[2,"\\n "],[13],[2,"\\n\\n"],[2," "],[8,"gh-koenig-editor-lexical",[],[["@title","@titleAutofocus","@titlePlaceholder","@onTitleChange","@onTitleBlur","@body","@bodyPlaceholder","@onBodyChange","@headerOffset","@scrollContainerSelector","@scrollOffsetBottomSelector","@onEditorCreated","@updateWordCount","@featureImage","@featureImageAlt","@featureImageCaption","@setFeatureImage","@setFeatureImageAlt","@setFeatureImageCaption","@clearFeatureImage","@cardOptions","@postType","@registerAPI"],[[30,[36,8],[[32,0,["post","titleScratch"]]],null],[32,0,["shouldFocusTitle"]],[30,[36,9],[[30,[36,4],[[32,0,["post","displayName"]]],null]," title"],null],[32,0,["updateTitleScratch"]],[30,[36,6],[[32,0,["saveTitleTask"]]],null],[30,[36,8],[[32,0,["post","lexicalScratch"]]],null],[30,[36,9],["Begin writing your ",[32,0,["post","displayName"]],"..."],null],[32,0,["updateScratch"]],[32,1,["headerHeight"]],".gh-koenig-editor",".gh-mobile-nav-bar",[32,0,["setKoenigEditor"]],[32,0,["updateWordCount"]],[32,0,["post","featureImage"]],[32,0,["post","featureImageAlt"]],[32,0,["post","featureImageCaption"]],[32,0,["setFeatureImage"]],[32,0,["setFeatureImageAlt"]],[32,0,["setFeatureImageCaption"]],[32,0,["clearFeatureImage"]],[30,[36,10],null,[["post","snippets","collections","deleteSnippet","createSnippet"],[[32,0,["post"]],[32,0,["snippets"]],[32,0,["collections"]],[30,[36,5],[[32,0,["canManageSnippets"]],[32,0,["confirmDeleteSnippet"]]],null],[30,[36,5],[[32,0,["canManageSnippets"]],[32,0,["createSnippet"]]],null]]]],[32,0,["post","displayName"]],[32,0,["registerEditorAPI"]]]],null],[2,"\\n\\n "],[8,"feedback-lexical/editor-dropdown",[],[["@post"],[[32,0,["post"]]]],null],[2,"\\n\\n "],[10,"div"],[14,0,"gh-editor-wordcount-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-editor-wordcount"],[12],[2,"\\n "],[1,[30,[36,11],[[32,0,["wordCount"]],"word"],null]],[2,"\\n "],[13],[2,"\\n"],[2," "],[10,"a"],[14,6,"https://ghost.org/help/using-the-editor/"],[14,0,"flex"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[1,[30,[36,0],["help"],null]],[13],[2,"\\n "],[13],[2,"\\n\\n "]],"parameters":[1]}]]],[2,"\\n\\n"],[6,[37,5],[[32,0,["showSettingsMenu"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-post-settings-menu",[],[["@post","@deletePost","@updateSlugTask","@savePostTask","@editorAPI","@toggleSettingsMenu"],[[32,0,["post"]],[32,0,["openDeletePostModal"]],[32,0,["updateSlugTask"]],[32,0,["savePostTask"]],[32,0,["editorAPI"]],[32,0,["toggleSettingsMenu"]]]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[11,"button"],[24,0,"settings-menu-toggle gh-btn gh-btn-editor gh-btn-icon icon-only gh-btn-action-icon"],[24,"title","Settings"],[24,"data-test-psm-trigger",""],[24,4,"button"],[4,[38,12],["click",[32,0,["toggleSettingsMenu"]]],null],[12],[2,"\\n"],[6,[37,5],[[32,0,["showSettingsMenu"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"settings-menu-open"],[12],[1,[30,[36,0],["sidemenu-open"],null]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[12],[1,[30,[36,0],["sidemenu"],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,5],[[32,0,["showReAuthenticateModal"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-fullscreen-modal",[],[["@modal","@close","@modifier"],["re-authenticate",[32,0,["toggleReAuthenticateModal"]],"action wide"]],null],[2,"\\n"]],"parameters":[]}]]],[6,[37,5],[[32,0,["showPostHistory"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-fullscreen-modal",[],[["@modal","@model","@close","@modifier"],["post-history",[32,0,["post"]],[32,0,["closePostHistory"]],"total-overlay post-history"]],null],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[1,[30,[36,14],[[30,[36,13],null,null]],null]],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar","unless","or","pluralize","capitalize","if","perform","not","readonly","concat","hash","gh-pluralize","on","-outlet","component"]}',moduleName:"ghost-admin/templates/lexical-editor.hbs"})
6290
6286
  e.default=t})),define("ghost-admin/templates/lexical-editor/edit-loading",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6291
6287
  var t=Ember.HTMLBars.template({id:"ElnCuz5d",block:'{"symbols":[],"statements":[[11,"div"],[24,0,"gh-view"],[4,[38,1],[[30,[36,0],[[32,0,["ui","setMainClass"]],"gh-main-white"],null]],null],[12],[2,"\\n "],[10,"div"],[14,0,"gh-content"],[12],[2,"\\n "],[8,"gh-loading-spinner",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["fn","did-insert"]}',moduleName:"ghost-admin/templates/lexical-editor/edit-loading.hbs"})
6292
6288
  e.default=t})),define("ghost-admin/templates/lexicalsandbox",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -6324,7 +6320,7 @@ var t=Ember.HTMLBars.template({id:"Lp81F1w7",block:'{"symbols":[],"statements":[
6324
6320
  e.default=t})),define("ghost-admin/templates/reset",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6325
6321
  var t=Ember.HTMLBars.template({id:"cWiQ/FSv",block:'{"symbols":[],"statements":[[10,"div"],[14,0,"gh-flow"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-flow-content-wrap"],[12],[2,"\\n "],[10,"section"],[14,0,"gh-flow-content fade-in"],[12],[2,"\\n "],[11,"form"],[24,1,"reset"],[24,0,"gh-signin"],[24,"method","post"],[24,"novalidate","novalidate"],[4,[38,1],["submit",[30,[36,0],[[32,0,["resetPasswordTask"]]],null]],null],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-site-icon"],[15,5,[34,2]],[12],[13],[2,"\\n "],[10,"h1"],[12],[2,"Reset your password."],[13],[2,"\\n "],[13],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["errors"]],[32,0,["hasValidated"]],"newPassword"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-lock"],[12],[2,"\\n "],[11,"input"],[24,3,"newPassword"],[24,"placeholder","New password"],[24,"aria-label","New password"],[24,0,"gh-input password reset-password"],[24,"autocorrect","off"],[16,2,[32,0,["newPassword"]]],[24,4,"password"],[4,[38,3],null,null],[4,[38,1],["input",[32,0,["handleInput"]]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["errors"]],[32,0,["hasValidated"]],"ne2Password"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-lock"],[12],[2,"\\n "],[11,"input"],[24,3,"ne2Password"],[24,"placeholder","Confirm new password"],[24,"aria-label","Confirm new password"],[24,0,"gh-input password reset-password"],[24,"autocorrect","off"],[16,2,[32,0,["ne2Password"]]],[24,4,"password"],[4,[38,1],["input",[32,0,["handleInput"]]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-task-button",[],[["@buttonText","@task","@class","@type","@autoWidth"],["Save new password",[32,0,["resetPasswordTask"]],"gh-btn gh-btn-reset gh-btn-block gh-btn-icon","submit","false"]],null],[2,"\\n "],[13],[2,"\\n\\n "],[10,"p"],[14,0,"main-error"],[12],[1,[32,0,["flowErrors"]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["perform","on","site-icon-style","autofocus"]}',moduleName:"ghost-admin/templates/reset.hbs"})
6326
6322
  e.default=t})),define("ghost-admin/templates/settings-x",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6327
- var t=Ember.HTMLBars.template({id:"IIq1u8p7",block:'{"symbols":[],"statements":[[8,"admin-x/settings",[],[["@setDirty"],[[32,0,["setDirty"]]]],null]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/settings-x.hbs"})
6323
+ var t=Ember.HTMLBars.template({id:"4n6mImMR",block:'{"symbols":[],"statements":[[8,"admin-x/settings",[],[[],[]],null]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/settings-x.hbs"})
6328
6324
  e.default=t}))
6329
6325
  define("ghost-admin/templates/settings",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6330
6326
  var t=Ember.HTMLBars.template({id:"elWfLB7j",block:'{"symbols":[],"statements":[[10,"section"],[14,0,"gh-canvas"],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"\\n Settings\\n "],[13],[2,"\\n "],[10,"section"],[14,0,"view-actions"],[12],[2,"\\n"],[6,[37,3],[[32,0,["upgradeStatus","message"]]],null,[["default","else"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-with-notification"],[24,"data-tooltip","Update available!"],[24,4,"button"],[4,[38,2],["click",[30,[36,1],[[32,0,["openAbout"]],null],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"About Ghost"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-btn-notification-dot green"],[12],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-with-notification"],[24,4,"button"],[4,[38,2],["click",[30,[36,1],[[32,0,["openAbout"]],null],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"About Ghost"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"section"],[14,0,"view-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-header gh-first-header"],[12],[2,"Website"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-settings-main-grid"],[12],[2,"\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","general"]],[["@route"],["settings.general"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"yellow"],[12],[1,[30,[36,0],["settings"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"General"],[13],[2,"\\n "],[10,"p"],[12],[2,"Basic publication details and site metadata"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","design"]],[["@route"],["settings.design"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"blue"],[12],[1,[30,[36,0],["paint-palette"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Design"],[13],[2,"\\n "],[10,"p"],[12],[2,"Customize your site and manage themes"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","navigation"]],[["@route"],["settings.navigation"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"pink"],[12],[1,[30,[36,0],["compass"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Navigation"],[13],[2,"\\n "],[10,"p"],[12],[2,"Set up primary and secondary menus"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","staff"]],[["@route"],["settings.staff"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"green"],[12],[1,[30,[36,0],["staff"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Staff"],[13],[2,"\\n "],[10,"p"],[12],[2,"Manage authors, editor and collaborators"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n"],[6,[37,3],[[30,[36,4],["announcementBar"],null]],null,[["default"],[{"statements":[[2," "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","announcement-bar"]],[["@route"],["settings.announcement-bar"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"yellow"],[12],[1,[30,[36,0],["confetti"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Announcement bar"],[13],[2,"\\n "],[10,"p"],[12],[2,"Highlight important updates or offers"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-setting-header"],[12],[2,"Members"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-settings-main-grid"],[12],[2,"\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","members-membership"]],[["@route"],["settings.membership"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"blue"],[12],[1,[30,[36,0],["members"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Membership"],[13],[2,"\\n "],[10,"p"],[12],[2,"Access, subscription, and pricing options"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","members-email"]],[["@route"],["settings.newsletters"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"yellow"],[12],[1,[30,[36,0],["email-stroke"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Email newsletter"],[13],[2,"\\n "],[10,"p"],[12],[2,"Customize emails and set email addresses"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","members-analytics"]],[["@route"],["settings.analytics"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"green"],[12],[1,[30,[36,0],["chart"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Analytics"],[13],[2,"\\n "],[10,"p"],[12],[2,"Decide what data you collect"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-setting-header"],[12],[2,"Advanced"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-settings-main-grid"],[12],[2,"\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","integrations"]],[["@route"],["settings.integrations"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"yellow"],[12],[1,[30,[36,0],["module"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Integrations"],[13],[2,"\\n "],[10,"p"],[12],[2,"Make Ghost work with apps and tools"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","code-injection"]],[["@route"],["settings.code-injection"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"green"],[12],[1,[30,[36,0],["brackets"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Code injection"],[13],[2,"\\n "],[10,"p"],[12],[2,"Add code to your publication"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","labs"]],[["@route"],["settings.labs"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"blue"],[12],[1,[30,[36,0],["labs"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Labs"],[13],[2,"\\n "],[10,"p"],[12],[2,"Testing ground for new features"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"link-to",[[24,0,"gh-setting-group"],[24,"data-test-nav","history"]],[["@route"],["settings.history"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[14,0,"pink"],[12],[1,[30,[36,0],["calendar-stroke"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[12],[2,"History"],[13],[2,"\\n "],[10,"p"],[12],[2,"View system event log"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar","fn","on","if","feature"]}',moduleName:"ghost-admin/templates/settings.hbs"})
@@ -6373,7 +6369,7 @@ var t=Ember.HTMLBars.template({id:"x5mP0xv7",block:'{"symbols":[],"statements":[
6373
6369
  e.default=t})),define("ghost-admin/templates/settings/labs-loading",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6374
6370
  var t=Ember.HTMLBars.template({id:"k/w92WvT",block:'{"symbols":[],"statements":[[10,"section"],[14,0,"gh-canvas"],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"flex flex-column"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-canvas-breadcrumb"],[12],[2,"\\n "],[8,"link-to",[],[["@route"],["settings"]],[["default"],[{"statements":[[2,"\\n Settings\\n "]],"parameters":[]}]]],[2,"\\n "],[1,[30,[36,0],["arrow-right-small"],null]],[2," Labs\\n "],[13],[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"\\n Labs\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"div"],[14,0,"gh-content"],[12],[2,"\\n "],[8,"gh-loading-spinner",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar"]}',moduleName:"ghost-admin/templates/settings/labs-loading.hbs"})
6375
6371
  e.default=t})),define("ghost-admin/templates/settings/labs",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6376
- var t=Ember.HTMLBars.template({id:"x8xwdXPN",block:'{"symbols":["uploader","error","uploader","error"],"statements":[[10,"section"],[14,0,"gh-canvas"],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"flex flex-column"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-canvas-breadcrumb"],[12],[2,"\\n "],[8,"link-to",[],[["@route"],["settings"]],[["default"],[{"statements":[[2,"\\n Settings\\n "]],"parameters":[]}]]],[2,"\\n "],[1,[30,[36,1],["arrow-right-small"],null]],[2," Labs\\n "],[13],[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"\\n Labs\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"section"],[14,0,"view-container settings-debug"],[12],[2,"\\n "],[10,"p"],[14,0,"gh-box gh-box-tip"],[12],[1,[30,[36,1],["idea"],null]],[2,"This is a testing ground for new or experimental features. They may change, break or inexplicably disappear at any time."],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Migration options"],[13],[2,"\\n "],[10,"div"],[15,0,[31,["gh-expandable ",[30,[36,2],[[32,0,["importErrors"]],"overflow-hidden"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Import content"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Import posts from a JSON or zip file"],[13],[2,"\\n "],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn"],[24,"data-test-link","import-content"]],[["@route"],["settings.labs.import"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"Open Importer"],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Export your content"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Download all of your posts and settings in a single, glorious JSON file"],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[24,4,"button"],[4,[38,3],[[32,0],"downloadFile","db"],null],[12],[10,"span"],[12],[2,"Export"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Delete all content"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Permanently delete all posts and tags from the database, a hard reset"],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-red"],[24,"data-test-button","delete-all"],[24,4,"button"],[4,[38,4],["click",[32,0,["confirmDeleteAll"]]],null],[12],[10,"span"],[12],[2,"Delete"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Beta features"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable"],[12],[2,"\\n "],[8,"labs/lexical",[],[[],[]],null],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Substack migrator"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"A "],[10,"a"],[14,6,"https://ghost.org/help/importing-from-substack/"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"step-by-step tool"],[13],[2," to easily import all your content, members and paid subscriptions"],[13],[2,"\\n "],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn"],[24,"data-test-link","migrate"]],[["@route"],["migrate"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"Open"],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Portal translation"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Translate your membership flows into your publication language ("],[10,"a"],[14,6,"https://github.com/TryGhost/Ghost/tree/main/ghost/i18n/locales"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"supported languages"],[13],[2,"). Don’t see yours? "],[10,"a"],[14,6,"https://forum.ghost.org/t/help-translate-ghost-beta/37461"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"Get involved"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["i18n"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@uploadUrl","@paramName","@onUploadSuccess","@onUploadFailure"],[[32,0,["redirectsFileExtensions"]],"/redirects/upload/","redirects",[30,[36,5],[[32,0,["redirectUploadResult"]],true],null],[30,[36,5],[[32,0,["redirectUploadResult"]],false],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Redirects"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Configure redirects for old or moved content, more info in "],[10,"a"],[14,6,"https://ghost.org/tutorials/implementing-redirects/"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"the docs"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action flex flex-column items-end"],[12],[2,"\\n"],[6,[37,2],[[32,3,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,3,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"button"],[15,0,[31,["gh-btn gh-btn-icon ",[30,[36,2],[[32,0,["redirectSuccess"]],"gh-btn-green"],null]," ",[30,[36,2],[[32,0,["redirectFailure"]],"gh-btn-red"],null]]]],[15,"onclick",[30,[36,3],[[32,0],"triggerFileDialog"],null]],[14,"data-test-button","upload-redirects"],[14,4,"button"],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n"],[6,[37,2],[[32,0,["redirectSuccess"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,1],["check-circle"],null]],[2," Uploaded\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,0,["redirectFailure"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,1],["retry"],null]],[2," Upload Failed\\n"]],"parameters":[]},{"statements":[[2," Upload redirects YAML/JSON\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[11,"a"],[24,6,"#"],[24,"data-test-link","download-redirects"],[4,[38,3],[[32,0],"downloadFile","redirects/download"],null],[12],[2,"Download current redirects"],[13],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,7],[[30,[36,6],[[30,[36,6],[[32,3,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[14,"data-test-error","redirects"],[12],[1,[30,[36,0],[[32,4,["context"]],[32,4,["message"]]],null]],[13],[2,"\\n"]],"parameters":[4]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,"data-test-file-input","redirects"]],[["@multiple","@action","@accept"],[false,[32,3,["setFiles"]],[32,0,["redirectsFileMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@uploadUrl","@paramName","@onUploadSuccess","@onUploadFailure"],[[32,0,["yamlExtension"]],"/settings/routes/yaml/","routes",[30,[36,5],[[32,0,["routesUploadResult"]],true],null],[30,[36,5],[[32,0,["routesUploadResult"]],false],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Routes"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Configure dynamic routing by modifying the routes.yaml file"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action flex flex-column items-end"],[12],[2,"\\n"],[6,[37,2],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,1,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"button"],[15,0,[31,["gh-btn gh-btn-icon ",[30,[36,2],[[32,0,["routesSuccess"]],"gh-btn-green"],null]," ",[30,[36,2],[[32,0,["routesFailure"]],"gh-btn-red"],null]]]],[15,"onclick",[30,[36,3],[[32,0],"triggerFileDialog"],null]],[14,"data-test-button","upload-routes"],[14,4,"button"],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n"],[6,[37,2],[[32,0,["routesSuccess"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,1],["check-circle"],null]],[2," Uploaded\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,0,["routesFailure"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,1],["retry"],null]],[2," Upload Failed\\n"]],"parameters":[]},{"statements":[[2," Upload routes YAML\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[11,"a"],[24,6,"#"],[24,"data-test-link","download-routes"],[4,[38,3],[[32,0],"downloadFile","settings/routes/yaml"],null],[12],[2,"Download current routes.yaml"],[13],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,7],[[30,[36,6],[[30,[36,6],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[14,"data-test-error","routes"],[12],[1,[30,[36,0],[[32,2,["context"]],[32,2,["message"]]],null]],[13],[2,"\\n"]],"parameters":[2]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,"data-test-file-input","routes"]],[["@multiple","@action","@accept"],[false,[32,1,["setFiles"]],[32,0,["yamlAccept"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n\\n"],[6,[37,2],[[30,[36,8],null,null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Alpha Features"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"URL cache"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enable URL Caching\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["urlCache"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Lexical multiplayer"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables multiplayer editing in the lexical editor.\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["lexicalMultiplayer"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Webmentions"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Allows viewing received mentions on the dashboard.\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["webmentions"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Websockets"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Test out Websockets functionality at "],[10,"code"],[12],[2,"/ghost/#/websockets"],[13],[2,".\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["websockets"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Stripe Automatic Tax"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Use Stripe Automatic Tax at Stripe Checkout. Needs to be enabled in Stripe\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["stripeAutomaticTax"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Email customization"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Adding more control over the newsletter template\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["emailCustomization"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Collections"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables Collections 2.0\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["collections"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Admin X"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables Admin X, the new admin UI for Ghost\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["adminXSettings"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Page improvements"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables toggling off page title and feature image\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["pageImprovements"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Flat URLs"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables generating flat Post and Page URLs in `{slug}-{id}` format\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["flatUrls"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Mail Events"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables processing of mail events\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["mailEvents"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["or","svg-jar","if","action","on","perform","-track-array","each","enable-developer-experiments"]}',moduleName:"ghost-admin/templates/settings/labs.hbs"})
6372
+ var t=Ember.HTMLBars.template({id:"kLv7JOdH",block:'{"symbols":["uploader","error","uploader","error"],"statements":[[10,"section"],[14,0,"gh-canvas"],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"flex flex-column"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-canvas-breadcrumb"],[12],[2,"\\n "],[8,"link-to",[],[["@route"],["settings"]],[["default"],[{"statements":[[2,"\\n Settings\\n "]],"parameters":[]}]]],[2,"\\n "],[1,[30,[36,1],["arrow-right-small"],null]],[2," Labs\\n "],[13],[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"\\n Labs\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"section"],[14,0,"view-container settings-debug"],[12],[2,"\\n "],[10,"p"],[14,0,"gh-box gh-box-tip"],[12],[1,[30,[36,1],["idea"],null]],[2,"This is a testing ground for new or experimental features. They may change, break or inexplicably disappear at any time."],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Migration options"],[13],[2,"\\n "],[10,"div"],[15,0,[31,["gh-expandable ",[30,[36,2],[[32,0,["importErrors"]],"overflow-hidden"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Import content"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Import posts from a JSON or zip file"],[13],[2,"\\n "],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn"],[24,"data-test-link","import-content"]],[["@route"],["settings.labs.import"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"Open Importer"],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Export your content"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Download all of your posts and settings in a single, glorious JSON file"],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[24,4,"button"],[4,[38,3],[[32,0],"downloadFile","db"],null],[12],[10,"span"],[12],[2,"Export"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Delete all content"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Permanently delete all posts and tags from the database, a hard reset"],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-red"],[24,"data-test-button","delete-all"],[24,4,"button"],[4,[38,4],["click",[32,0,["confirmDeleteAll"]]],null],[12],[10,"span"],[12],[2,"Delete"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Beta features"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable"],[12],[2,"\\n "],[8,"labs/lexical",[],[[],[]],null],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Substack migrator"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"A "],[10,"a"],[14,6,"https://ghost.org/help/importing-from-substack/"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"step-by-step tool"],[13],[2," to easily import all your content, members and paid subscriptions"],[13],[2,"\\n "],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn"],[24,"data-test-link","migrate"]],[["@route"],["migrate"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"Open"],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Portal translation"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Translate your membership flows into your publication language ("],[10,"a"],[14,6,"https://github.com/TryGhost/Ghost/tree/main/ghost/i18n/locales"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"supported languages"],[13],[2,"). Don’t see yours? "],[10,"a"],[14,6,"https://forum.ghost.org/t/help-translate-ghost-beta/37461"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"Get involved"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["i18n"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@uploadUrl","@paramName","@onUploadSuccess","@onUploadFailure"],[[32,0,["redirectsFileExtensions"]],"/redirects/upload/","redirects",[30,[36,5],[[32,0,["redirectUploadResult"]],true],null],[30,[36,5],[[32,0,["redirectUploadResult"]],false],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Redirects"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Configure redirects for old or moved content, more info in "],[10,"a"],[14,6,"https://ghost.org/tutorials/implementing-redirects/"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"the docs"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action flex flex-column items-end"],[12],[2,"\\n"],[6,[37,2],[[32,3,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,3,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"button"],[15,0,[31,["gh-btn gh-btn-icon ",[30,[36,2],[[32,0,["redirectSuccess"]],"gh-btn-green"],null]," ",[30,[36,2],[[32,0,["redirectFailure"]],"gh-btn-red"],null]]]],[15,"onclick",[30,[36,3],[[32,0],"triggerFileDialog"],null]],[14,"data-test-button","upload-redirects"],[14,4,"button"],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n"],[6,[37,2],[[32,0,["redirectSuccess"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,1],["check-circle"],null]],[2," Uploaded\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,0,["redirectFailure"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,1],["retry"],null]],[2," Upload Failed\\n"]],"parameters":[]},{"statements":[[2," Upload redirects YAML/JSON\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[11,"a"],[24,6,"#"],[24,"data-test-link","download-redirects"],[4,[38,3],[[32,0],"downloadFile","redirects/download"],null],[12],[2,"Download current redirects"],[13],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,7],[[30,[36,6],[[30,[36,6],[[32,3,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[14,"data-test-error","redirects"],[12],[1,[30,[36,0],[[32,4,["context"]],[32,4,["message"]]],null]],[13],[2,"\\n"]],"parameters":[4]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,"data-test-file-input","redirects"]],[["@multiple","@action","@accept"],[false,[32,3,["setFiles"]],[32,0,["redirectsFileMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@uploadUrl","@paramName","@onUploadSuccess","@onUploadFailure"],[[32,0,["yamlExtension"]],"/settings/routes/yaml/","routes",[30,[36,5],[[32,0,["routesUploadResult"]],true],null],[30,[36,5],[[32,0,["routesUploadResult"]],false],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Routes"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Configure dynamic routing by modifying the routes.yaml file"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action flex flex-column items-end"],[12],[2,"\\n"],[6,[37,2],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,1,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"button"],[15,0,[31,["gh-btn gh-btn-icon ",[30,[36,2],[[32,0,["routesSuccess"]],"gh-btn-green"],null]," ",[30,[36,2],[[32,0,["routesFailure"]],"gh-btn-red"],null]]]],[15,"onclick",[30,[36,3],[[32,0],"triggerFileDialog"],null]],[14,"data-test-button","upload-routes"],[14,4,"button"],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n"],[6,[37,2],[[32,0,["routesSuccess"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,1],["check-circle"],null]],[2," Uploaded\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,0,["routesFailure"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,1],["retry"],null]],[2," Upload Failed\\n"]],"parameters":[]},{"statements":[[2," Upload routes YAML\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[11,"a"],[24,6,"#"],[24,"data-test-link","download-routes"],[4,[38,3],[[32,0],"downloadFile","settings/routes/yaml"],null],[12],[2,"Download current routes.yaml"],[13],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,7],[[30,[36,6],[[30,[36,6],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[14,"data-test-error","routes"],[12],[1,[30,[36,0],[[32,2,["context"]],[32,2,["message"]]],null]],[13],[2,"\\n"]],"parameters":[2]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,"data-test-file-input","routes"]],[["@multiple","@action","@accept"],[false,[32,1,["setFiles"]],[32,0,["yamlAccept"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n\\n"],[6,[37,2],[[30,[36,8],null,null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Alpha Features"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"URL cache"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enable URL Caching\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["urlCache"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Lexical multiplayer"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables multiplayer editing in the lexical editor.\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["lexicalMultiplayer"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Webmentions"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Allows viewing received mentions on the dashboard.\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["webmentions"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Websockets"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Test out Websockets functionality at "],[10,"code"],[12],[2,"/ghost/#/websockets"],[13],[2,".\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["websockets"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Stripe Automatic Tax"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Use Stripe Automatic Tax at Stripe Checkout. Needs to be enabled in Stripe\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["stripeAutomaticTax"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Email customization"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Adding more control over the newsletter template\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["emailCustomization"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Collections"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables Collections 2.0\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["collections"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Collections Card"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables the Collections Card for pages - requires Collections and the beta Editor to be enabled\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["collectionsCard"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Admin X"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables Admin X, the new admin UI for Ghost\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["adminXSettings"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Page improvements"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables toggling off page title and feature image\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["pageImprovements"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Flat URLs"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables generating flat Post and Page URLs in `{slug}-{id}` format\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["flatUrls"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Mail Events"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Enables processing of mail events\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["mailEvents"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Header Card v2"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n A new enhanced version of the header card\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[8,"gh-feature-flag",[],[["@flag"],["headerUpgrade"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["or","svg-jar","if","action","on","perform","-track-array","each","enable-developer-experiments"]}',moduleName:"ghost-admin/templates/settings/labs.hbs"})
6377
6373
  e.default=t})),define("ghost-admin/templates/settings/labs/import",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6378
6374
  var t=Ember.HTMLBars.template({id:"EMFXufEV",block:'{"symbols":[],"statements":[[8,"gh-fullscreen-modal",[],[["@modal","@confirm","@close","@modifier"],["import-content",[32,0,["close"]],[32,0,["close"]],"action import-content"]],null],[2,"\\n"]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/settings/labs/import.hbs"})
6379
6375
  e.default=t})),define("ghost-admin/templates/settings/membership",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -6643,4 +6639,4 @@ e.default=t}))
6643
6639
  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))}
6644
6640
  return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(n){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"5.54",name:"ghost-admin"})
6645
6641
 
6646
- //# sourceMappingURL=ghost-8b412e593aa2ccde5e17f6a738f66fa4.map
6642
+ //# sourceMappingURL=ghost-5298a1ba0c432899d0c00086354e96dd.map