ghost 5.94.1 → 5.94.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 (153) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.94.2.tgz +0 -0
  2. package/components/tryghost-adapter-cache-redis-5.94.2.tgz +0 -0
  3. package/components/{tryghost-adapter-manager-5.94.1.tgz → tryghost-adapter-manager-5.94.2.tgz} +0 -0
  4. package/components/{tryghost-announcement-bar-settings-5.94.1.tgz → tryghost-announcement-bar-settings-5.94.2.tgz} +0 -0
  5. package/components/{tryghost-api-framework-5.94.1.tgz → tryghost-api-framework-5.94.2.tgz} +0 -0
  6. package/components/{tryghost-api-version-compatibility-service-5.94.1.tgz → tryghost-api-version-compatibility-service-5.94.2.tgz} +0 -0
  7. package/components/{tryghost-audience-feedback-5.94.1.tgz → tryghost-audience-feedback-5.94.2.tgz} +0 -0
  8. package/components/tryghost-bookshelf-repository-5.94.2.tgz +0 -0
  9. package/components/tryghost-bootstrap-socket-5.94.2.tgz +0 -0
  10. package/components/tryghost-collections-5.94.2.tgz +0 -0
  11. package/components/tryghost-constants-5.94.2.tgz +0 -0
  12. package/components/{tryghost-custom-theme-settings-service-5.94.1.tgz → tryghost-custom-theme-settings-service-5.94.2.tgz} +0 -0
  13. package/components/{tryghost-data-generator-5.94.1.tgz → tryghost-data-generator-5.94.2.tgz} +0 -0
  14. package/components/tryghost-domain-events-5.94.2.tgz +0 -0
  15. package/components/tryghost-donations-5.94.2.tgz +0 -0
  16. package/components/tryghost-dynamic-routing-events-5.94.2.tgz +0 -0
  17. package/components/tryghost-email-addresses-5.94.2.tgz +0 -0
  18. package/components/tryghost-email-analytics-provider-mailgun-5.94.2.tgz +0 -0
  19. package/components/tryghost-email-analytics-service-5.94.2.tgz +0 -0
  20. package/components/{tryghost-email-content-generator-5.94.1.tgz → tryghost-email-content-generator-5.94.2.tgz} +0 -0
  21. package/components/{tryghost-email-events-5.94.1.tgz → tryghost-email-events-5.94.2.tgz} +0 -0
  22. package/components/{tryghost-email-service-5.94.1.tgz → tryghost-email-service-5.94.2.tgz} +0 -0
  23. package/components/tryghost-email-suppression-list-5.94.2.tgz +0 -0
  24. package/components/tryghost-express-dynamic-redirects-5.94.2.tgz +0 -0
  25. package/components/tryghost-external-media-inliner-5.94.2.tgz +0 -0
  26. package/components/tryghost-extract-api-key-5.94.2.tgz +0 -0
  27. package/components/tryghost-ghost-5.94.2.tgz +0 -0
  28. package/components/tryghost-html-to-plaintext-5.94.2.tgz +0 -0
  29. package/components/tryghost-i18n-5.94.2.tgz +0 -0
  30. package/components/tryghost-importer-handler-content-files-5.94.2.tgz +0 -0
  31. package/components/tryghost-importer-revue-5.94.2.tgz +0 -0
  32. package/components/tryghost-in-memory-repository-5.94.2.tgz +0 -0
  33. package/components/{tryghost-job-manager-5.94.1.tgz → tryghost-job-manager-5.94.2.tgz} +0 -0
  34. package/components/tryghost-link-redirects-5.94.2.tgz +0 -0
  35. package/components/tryghost-link-replacer-5.94.2.tgz +0 -0
  36. package/components/{tryghost-link-tracking-5.94.1.tgz → tryghost-link-tracking-5.94.2.tgz} +0 -0
  37. package/components/{tryghost-magic-link-5.94.1.tgz → tryghost-magic-link-5.94.2.tgz} +0 -0
  38. package/components/{tryghost-mail-events-5.94.1.tgz → tryghost-mail-events-5.94.2.tgz} +0 -0
  39. package/components/{tryghost-mailgun-client-5.94.1.tgz → tryghost-mailgun-client-5.94.2.tgz} +0 -0
  40. package/components/{tryghost-member-attribution-5.94.1.tgz → tryghost-member-attribution-5.94.2.tgz} +0 -0
  41. package/components/{tryghost-member-events-5.94.1.tgz → tryghost-member-events-5.94.2.tgz} +0 -0
  42. package/components/tryghost-members-api-5.94.2.tgz +0 -0
  43. package/components/tryghost-members-csv-5.94.2.tgz +0 -0
  44. package/components/tryghost-members-events-service-5.94.2.tgz +0 -0
  45. package/components/{tryghost-members-importer-5.94.1.tgz → tryghost-members-importer-5.94.2.tgz} +0 -0
  46. package/components/{tryghost-members-offers-5.94.1.tgz → tryghost-members-offers-5.94.2.tgz} +0 -0
  47. package/components/tryghost-members-payments-5.94.2.tgz +0 -0
  48. package/components/{tryghost-members-ssr-5.94.1.tgz → tryghost-members-ssr-5.94.2.tgz} +0 -0
  49. package/components/{tryghost-members-stripe-service-5.94.1.tgz → tryghost-members-stripe-service-5.94.2.tgz} +0 -0
  50. package/components/{tryghost-mentions-email-report-5.94.1.tgz → tryghost-mentions-email-report-5.94.2.tgz} +0 -0
  51. package/components/{tryghost-milestones-5.94.1.tgz → tryghost-milestones-5.94.2.tgz} +0 -0
  52. package/components/tryghost-minifier-5.94.2.tgz +0 -0
  53. package/components/{tryghost-model-to-domain-event-interceptor-5.94.1.tgz → tryghost-model-to-domain-event-interceptor-5.94.2.tgz} +0 -0
  54. package/components/{tryghost-mw-api-version-mismatch-5.94.1.tgz → tryghost-mw-api-version-mismatch-5.94.2.tgz} +0 -0
  55. package/components/tryghost-mw-cache-control-5.94.2.tgz +0 -0
  56. package/components/tryghost-mw-error-handler-5.94.2.tgz +0 -0
  57. package/components/tryghost-mw-session-from-token-5.94.2.tgz +0 -0
  58. package/components/tryghost-mw-update-user-last-seen-5.94.2.tgz +0 -0
  59. package/components/tryghost-mw-version-match-5.94.2.tgz +0 -0
  60. package/components/tryghost-mw-vhost-5.94.2.tgz +0 -0
  61. package/components/{tryghost-nql-filter-expansions-5.94.1.tgz → tryghost-nql-filter-expansions-5.94.2.tgz} +0 -0
  62. package/components/tryghost-oembed-service-5.94.2.tgz +0 -0
  63. package/components/{tryghost-package-json-5.94.1.tgz → tryghost-package-json-5.94.2.tgz} +0 -0
  64. package/components/tryghost-post-events-5.94.2.tgz +0 -0
  65. package/components/tryghost-post-revisions-5.94.2.tgz +0 -0
  66. package/components/tryghost-posts-service-5.94.2.tgz +0 -0
  67. package/components/tryghost-recommendations-5.94.2.tgz +0 -0
  68. package/components/tryghost-referrers-5.94.2.tgz +0 -0
  69. package/components/{tryghost-security-5.94.1.tgz → tryghost-security-5.94.2.tgz} +0 -0
  70. package/components/{tryghost-session-service-5.94.1.tgz → tryghost-session-service-5.94.2.tgz} +0 -0
  71. package/components/tryghost-settings-path-manager-5.94.2.tgz +0 -0
  72. package/components/{tryghost-slack-notifications-5.94.1.tgz → tryghost-slack-notifications-5.94.2.tgz} +0 -0
  73. package/components/{tryghost-staff-service-5.94.1.tgz → tryghost-staff-service-5.94.2.tgz} +0 -0
  74. package/components/tryghost-stats-service-5.94.2.tgz +0 -0
  75. package/components/{tryghost-tiers-5.94.1.tgz → tryghost-tiers-5.94.2.tgz} +0 -0
  76. package/components/tryghost-update-check-service-5.94.2.tgz +0 -0
  77. package/components/{tryghost-verification-trigger-5.94.1.tgz → tryghost-verification-trigger-5.94.2.tgz} +0 -0
  78. package/components/tryghost-version-notifications-data-service-5.94.2.tgz +0 -0
  79. package/components/tryghost-webmentions-5.94.2.tgz +0 -0
  80. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +2 -2
  81. package/core/built/admin/assets/admin-x-activitypub/{index-bf902976.mjs → index-d646c7a1.mjs} +5905 -4347
  82. package/core/built/admin/assets/admin-x-activitypub/modals-a8aeb643.mjs +342 -0
  83. package/core/built/admin/assets/admin-x-demo/admin-x-demo.js +2 -2
  84. package/core/built/admin/assets/admin-x-demo/{index-b29b8d8c.mjs → index-140752db.mjs} +1666 -1660
  85. package/core/built/admin/assets/admin-x-demo/{modals-7ad4170c.mjs → modals-3979b40c.mjs} +2 -2
  86. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-6983f018.mjs → CodeEditorView-9ca04b2a.mjs} +2 -2
  87. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  88. package/core/built/admin/assets/admin-x-settings/{index-b62da964.mjs → index-5fba7766.mjs} +1895 -1889
  89. package/core/built/admin/assets/admin-x-settings/{index-4d470f8e.mjs → index-6c87f26e.mjs} +2 -2
  90. package/core/built/admin/assets/admin-x-settings/{modals-3083b8bf.mjs → modals-80acb66f.mjs} +2014 -2009
  91. package/core/built/admin/assets/{chunk.524.846f0087859e8da09f30.js → chunk.524.cd82d3016052a43d2b44.js} +5 -5
  92. package/core/built/admin/assets/{chunk.582.f57480cae0723ba6ce02.js → chunk.582.ea2e209b67019b57bff7.js} +6 -6
  93. package/core/built/admin/assets/{chunk.785.1cf095d594cd27c9036e.js → chunk.602.a3d38ba0a516decd78ce.js} +6038 -6035
  94. package/core/built/admin/assets/codemirror/{codemirror-91774021e5e17ea08db5cd2ed9f3e664.js → codemirror-730d06e33ae9af4745ddd6a1af2a66bd.js} +809 -810
  95. package/core/built/admin/assets/{ghost-492e8f36dfc460b4f2228259c27a1711.js → ghost-27a2284f57455ac2e06f1553344f5ba7.js} +118 -72
  96. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +3 -3
  97. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +3 -3
  98. package/core/built/admin/assets/{vendor-649dc64bfd9ecc1bd7361b53680dfdc2.js → vendor-b83f61eee071be0ef00075df9ff7782d.js} +15 -15
  99. package/core/built/admin/index.html +5 -5
  100. package/core/server/api/endpoints/utils/serializers/output/mappers/index.js +1 -0
  101. package/core/server/api/endpoints/utils/serializers/output/mappers/oembed.js +5 -0
  102. package/core/server/api/endpoints/utils/serializers/output/oembed.js +7 -0
  103. package/core/server/services/email-analytics/lib/queries.js +2 -2
  104. package/package.json +153 -150
  105. package/yarn.lock +129 -62
  106. package/components/tryghost-adapter-cache-memory-ttl-5.94.1.tgz +0 -0
  107. package/components/tryghost-adapter-cache-redis-5.94.1.tgz +0 -0
  108. package/components/tryghost-bookshelf-repository-5.94.1.tgz +0 -0
  109. package/components/tryghost-bootstrap-socket-5.94.1.tgz +0 -0
  110. package/components/tryghost-collections-5.94.1.tgz +0 -0
  111. package/components/tryghost-constants-5.94.1.tgz +0 -0
  112. package/components/tryghost-domain-events-5.94.1.tgz +0 -0
  113. package/components/tryghost-donations-5.94.1.tgz +0 -0
  114. package/components/tryghost-dynamic-routing-events-5.94.1.tgz +0 -0
  115. package/components/tryghost-email-addresses-5.94.1.tgz +0 -0
  116. package/components/tryghost-email-analytics-provider-mailgun-5.94.1.tgz +0 -0
  117. package/components/tryghost-email-analytics-service-5.94.1.tgz +0 -0
  118. package/components/tryghost-email-suppression-list-5.94.1.tgz +0 -0
  119. package/components/tryghost-express-dynamic-redirects-5.94.1.tgz +0 -0
  120. package/components/tryghost-external-media-inliner-5.94.1.tgz +0 -0
  121. package/components/tryghost-extract-api-key-5.94.1.tgz +0 -0
  122. package/components/tryghost-ghost-5.94.1.tgz +0 -0
  123. package/components/tryghost-html-to-plaintext-5.94.1.tgz +0 -0
  124. package/components/tryghost-i18n-5.94.1.tgz +0 -0
  125. package/components/tryghost-importer-handler-content-files-5.94.1.tgz +0 -0
  126. package/components/tryghost-importer-revue-5.94.1.tgz +0 -0
  127. package/components/tryghost-in-memory-repository-5.94.1.tgz +0 -0
  128. package/components/tryghost-link-redirects-5.94.1.tgz +0 -0
  129. package/components/tryghost-link-replacer-5.94.1.tgz +0 -0
  130. package/components/tryghost-members-api-5.94.1.tgz +0 -0
  131. package/components/tryghost-members-csv-5.94.1.tgz +0 -0
  132. package/components/tryghost-members-events-service-5.94.1.tgz +0 -0
  133. package/components/tryghost-members-payments-5.94.1.tgz +0 -0
  134. package/components/tryghost-minifier-5.94.1.tgz +0 -0
  135. package/components/tryghost-mw-cache-control-5.94.1.tgz +0 -0
  136. package/components/tryghost-mw-error-handler-5.94.1.tgz +0 -0
  137. package/components/tryghost-mw-session-from-token-5.94.1.tgz +0 -0
  138. package/components/tryghost-mw-update-user-last-seen-5.94.1.tgz +0 -0
  139. package/components/tryghost-mw-version-match-5.94.1.tgz +0 -0
  140. package/components/tryghost-mw-vhost-5.94.1.tgz +0 -0
  141. package/components/tryghost-oembed-service-5.94.1.tgz +0 -0
  142. package/components/tryghost-post-events-5.94.1.tgz +0 -0
  143. package/components/tryghost-post-revisions-5.94.1.tgz +0 -0
  144. package/components/tryghost-posts-service-5.94.1.tgz +0 -0
  145. package/components/tryghost-recommendations-5.94.1.tgz +0 -0
  146. package/components/tryghost-referrers-5.94.1.tgz +0 -0
  147. package/components/tryghost-settings-path-manager-5.94.1.tgz +0 -0
  148. package/components/tryghost-stats-service-5.94.1.tgz +0 -0
  149. package/components/tryghost-update-check-service-5.94.1.tgz +0 -0
  150. package/components/tryghost-version-notifications-data-service-5.94.1.tgz +0 -0
  151. package/components/tryghost-webmentions-5.94.1.tgz +0 -0
  152. package/core/built/admin/assets/admin-x-activitypub/modals-b1995907.mjs +0 -815
  153. /package/core/built/admin/assets/{chunk.785.1cf095d594cd27c9036e.js.LICENSE.txt → chunk.602.a3d38ba0a516decd78ce.js.LICENSE.txt} +0 -0
@@ -709,7 +709,7 @@ return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enum
709
709
  return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
710
710
  const g=Ember.HTMLBars.template({id:"RBJCUHDq",block:'{"symbols":[],"statements":[[8,"gh-textarea",[],[["@class","@value","@input"],[[30,[36,0],["gh-cm-editor-textarea ",[32,0,["textareaClass"]]],null],[30,[36,1],[[32,0,["_value"]]],null],[30,[36,2],[[32,0],"updateFromTextarea"],[["value"],["target.value"]]]]],null],[2,"\\n"]],"hasEval":false,"upvars":["concat","readonly","action"]}',moduleName:"ghost-admin/components/gh-cm-editor.hbs"})
711
711
  let v=(n=(0,t.classNameBindings)("isFocused:focus"),a=Ember.inject.service,s=(0,i.default)("value"),o=Ember._action,l=(0,r.task)((function*(){let e=this.lazyLoader
712
- yield e.loadScript("codemirror","assets/codemirror/codemirror-91774021e5e17ea08db5cd2ed9f3e664.js"),Ember.run.scheduleOnce("afterRender",this,this._initCodeMirror)})),n((c=class extends Ember.Component{constructor(...e){super(...e),h(this,"lazyLoader",d,this),b(this,"textareaClass",""),b(this,"isFocused",!1),b(this,"autofocus",!1),b(this,"indentUnit",4),b(this,"lineNumbers",!0),b(this,"lineWrapping",!1),b(this,"mode","htmlmixed"),b(this,"theme","xq-light"),b(this,"_editor",null),b(this,"focus-in",(()=>{})),b(this,"focus-out",(()=>{})),b(this,"update",(()=>{})),h(this,"_value",p,this),h(this,"initCodeMirror",m,this)}didReceiveAttrs(){super.didReceiveAttrs(...arguments),null===this._value&&this.set("_value",""),this.mode!==this._lastMode&&this._editor&&this._editor.setOption("mode",this.mode),this._lastMode=this.mode}didInsertElement(){super.didInsertElement(...arguments),this.initCodeMirror.perform()}willDestroyElement(){if(super.willDestroyElement(...arguments),this._editor){let e=this._editor.getWrapperElement()
712
+ yield e.loadScript("codemirror","assets/codemirror/codemirror-730d06e33ae9af4745ddd6a1af2a66bd.js"),Ember.run.scheduleOnce("afterRender",this,this._initCodeMirror)})),n((c=class extends Ember.Component{constructor(...e){super(...e),h(this,"lazyLoader",d,this),b(this,"textareaClass",""),b(this,"isFocused",!1),b(this,"autofocus",!1),b(this,"indentUnit",4),b(this,"lineNumbers",!0),b(this,"lineWrapping",!1),b(this,"mode","htmlmixed"),b(this,"theme","xq-light"),b(this,"_editor",null),b(this,"focus-in",(()=>{})),b(this,"focus-out",(()=>{})),b(this,"update",(()=>{})),h(this,"_value",p,this),h(this,"initCodeMirror",m,this)}didReceiveAttrs(){super.didReceiveAttrs(...arguments),null===this._value&&this.set("_value",""),this.mode!==this._lastMode&&this._editor&&this._editor.setOption("mode",this.mode),this._lastMode=this.mode}didInsertElement(){super.didInsertElement(...arguments),this.initCodeMirror.perform()}willDestroyElement(){if(super.willDestroyElement(...arguments),this._editor){let e=this._editor.getWrapperElement()
713
713
  e.parentNode.removeChild(e),this._editor=null}}updateFromTextarea(e){this.update(e)}_initCodeMirror(){let e=this.getProperties("lineNumbers","lineWrapping","indentUnit","mode","theme","autofocus")
714
714
  Ember.assign(e,{value:this._value})
715
715
  let t=this.element.querySelector("textarea")
@@ -2468,13 +2468,13 @@ return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enum
2468
2468
  const d=Ember.HTMLBars.template({id:"r35zoAxB",block:'{"symbols":["@selected","@audience","@chartRange"],"statements":[[11,"div"],[4,[38,1],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,0],null,[["chartRange","audience","selected"],[[32,3],[32,2],[32,1]]]]]]],[12],[13]],"hasEval":false,"upvars":["hash","react-render"]}',moduleName:"ghost-admin/components/stats/charts/kpis.hbs"})
2469
2469
  let p=e.default=(l=class extends t.default{constructor(...e){var t,o,l,d
2470
2470
  super(...e),t=this,o="config",d=this,(l=u)&&Object.defineProperty(t,o,{enumerable:l.enumerable,configurable:l.configurable,writable:l.writable,value:l.initializer?l.initializer.call(d):void 0}),c(this,"ReactComponent",(e=>{let t=e.chartRange,o=e.audience
2471
- const l=(0,r.default)().endOf("day"),u=(0,r.default)().subtract(t-1,"days").startOf("day"),c={site_uuid:this.config.stats.id,date_from:u.format("YYYY-MM-DD"),date_to:l.format("YYYY-MM-DD"),member_status:0===o.length?null:o.join(",")},d=s.statsStaticColors[0],p="date",m="unique_visitors"===e.selected?"visits":e.selected,{data:h,meta:b,error:f,loading:g}=(0,n.useQuery)({endpoint:`${this.config.stats.endpoint}/v0/pipes/kpis.json`,token:this.config.stats.token,params:c}),v=[u.format("YYYY-MM-DD"),l.format("YYYY-MM-DD")]
2471
+ const l=(0,r.default)().endOf("day"),u=(0,r.default)().subtract(t-1,"days").startOf("day"),c={site_uuid:this.config.stats.id,date_from:u.format("YYYY-MM-DD"),date_to:l.format("YYYY-MM-DD"),member_status:0===o.length?null:o.join(",")},d=s.statsStaticColors[0],p="date",m="unique_visits"===e.selected?"visits":e.selected,{data:h,meta:b,error:f,loading:g}=(0,n.useQuery)({endpoint:`${this.config.stats.endpoint}/v0/pipes/kpis.json`,token:this.config.stats.token,params:c}),v=[u.format("YYYY-MM-DD"),l.format("YYYY-MM-DD")]
2472
2472
  return i.default.createElement(n.AreaChart,{data:h,meta:b,loading:g,error:f,index:p,categories:[m],colorPalette:[d],backgroundColor:"transparent",fontSize:"13px",textColor:"#AEB7C1",height:"300px",params:c,options:{grid:{left:"10px",right:"10px",top:"10%",bottom:0,containLabel:!0},xAxis:{type:"time",min:u.toISOString(),max:l.subtract(1,"day").toISOString(),boundaryGap:["0%","0%"],axisLabel:{formatter:t<=7?"{ee}":"{d} {MMM}",customValues:v},axisTick:{show:!1,alignWithLabel:!0,interval:0},axisPointer:{snap:!0},splitNumber:v.length,splitLine:{show:!1},axisLine:{lineStyle:{color:"#DDE1E5"}}},yAxis:{type:"value",splitLine:{show:!1,lineStyle:{type:"dashed",color:"#DDE1E5"}},axisLabel:{show:!0},axisTick:{show:!1}},tooltip:{trigger:"axis",backgroundColor:"#fff",textStyle:{color:"#15171A"},axisPointer:{type:"line",z:1},extraCssText:"box-shadow: 0px 100px 80px 0px rgba(0, 0, 0, 0.07), 0px 41.778px 33.422px 0px rgba(0, 0, 0, 0.05), 0px 22.336px 17.869px 0px rgba(0, 0, 0, 0.04), 0px 12.522px 10.017px 0px rgba(0, 0, 0, 0.04), 0px 6.65px 5.32px 0px rgba(0, 0, 0, 0.03), 0px 2.767px 2.214px 0px rgba(0, 0, 0, 0.02);",formatter:function(e){let t,i
2473
2473
  switch(m){case"avg_session_sec":i="Visit duration",t=null!==e[0].value[1]&&(e[0].value[1]/60).toFixed(0)+" min"
2474
2474
  break
2475
2475
  case"bounce_rate":i="Bounce rate",t=null!==e[0].value[1]&&e[0].value[1].toFixed(2)+"%"
2476
2476
  break
2477
- default:i="Unique visitors",t=null!==e[0].value[1]&&(0,a.formatNumber)(e[0].value[1])}return t||(t="N/A"),`<div><div>${(0,r.default)(e[0].value[0]).format("D MMM, YYYY")}</div><div><span style="display: inline-block; margin-right: 16px; font-weight: 600;">${i}</span> ${t}</div></div>`}},series:[{itemStyle:{color:d},type:"line",areaStyle:{opacity:.6,color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:(0,s.hexToRgba)(d,.15)},{offset:1,color:(0,s.hexToRgba)(d,0)}],global:!1}},lineStyle:{width:2,cap:"square"},emphasis:{itemStyle:{opacity:1,borderWidth:3}},showSymbol:!1,symbol:"circle",symbolSize:10,z:8,smooth:!1,smoothMonotone:"x",name:m,data:(h??[]).map((e=>[String(e[p]),e[m]]))}]}})}))}},m=l.prototype,h="config",b=[o.inject],f={configurable:!0,enumerable:!0,writable:!0,initializer:null},v={},Object.keys(f).forEach((function(e){v[e]=f[e]})),v.enumerable=!!v.enumerable,v.configurable=!!v.configurable,("value"in v||v.initializer)&&(v.writable=!0),v=b.slice().reverse().reduce((function(e,t){return t(m,h,e)||e}),v),g&&void 0!==v.initializer&&(v.value=v.initializer?v.initializer.call(g):void 0,v.initializer=void 0),void 0===v.initializer&&(Object.defineProperty(m,h,v),v=null),u=v,l)
2477
+ default:i="Unique visits",t=null!==e[0].value[1]&&(0,a.formatNumber)(e[0].value[1])}return t||(t="N/A"),`<div><div>${(0,r.default)(e[0].value[0]).format("D MMM, YYYY")}</div><div><span style="display: inline-block; margin-right: 16px; font-weight: 600;">${i}</span> ${t}</div></div>`}},series:[{itemStyle:{color:d},type:"line",areaStyle:{opacity:.6,color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:(0,s.hexToRgba)(d,.15)},{offset:1,color:(0,s.hexToRgba)(d,0)}],global:!1}},lineStyle:{width:2,cap:"square"},emphasis:{itemStyle:{opacity:1,borderWidth:3}},showSymbol:!1,symbol:"circle",symbolSize:10,z:8,smooth:!1,smoothMonotone:"x",name:m,data:(h??[]).map((e=>[String(e[p]),e[m]]))}]}})}))}},m=l.prototype,h="config",b=[o.inject],f={configurable:!0,enumerable:!0,writable:!0,initializer:null},v={},Object.keys(f).forEach((function(e){v[e]=f[e]})),v.enumerable=!!v.enumerable,v.configurable=!!v.configurable,("value"in v||v.initializer)&&(v.writable=!0),v=b.slice().reverse().reduce((function(e,t){return t(m,h,e)||e}),v),g&&void 0!==v.initializer&&(v.value=v.initializer?v.initializer.call(g):void 0,v.initializer=void 0),void 0===v.initializer&&(Object.defineProperty(m,h,v),v=null),u=v,l)
2478
2478
  var m,h,b,f,g,v
2479
2479
  Ember._setComponentTemplate(d,p)})),define("ghost-admin/components/stats/charts/technical",["exports","@glimmer/component","react","moment-timezone","@tinybirdco/charts","ghost-admin/helpers/format-number","ghost-admin/decorators/inject","ghost-admin/utils/stats"],(function(e,t,i,r,n,a,s,o){var l,u
2480
2480
  function c(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
@@ -2532,17 +2532,19 @@ const k=Ember.HTMLBars.template({id:"JV/OQGVW",block:'{"symbols":["option","@aud
2532
2532
  let P=e.default=(u=Ember.inject.service,c=Ember._tracked,d=Ember._tracked,p=Ember._action,m=Ember._action,h=class extends i.default{constructor(...e){super(...e),y(this,"config",b,this),y(this,"modals",f,this),y(this,"campaignOption",g,this),y(this,"campaignOptions",v,this),w(this,"ReactComponent",(e=>{let t=e.chartRange,i=e.audience
2533
2533
  const l=(0,n.default)().endOf("day"),u=(0,n.default)().subtract(t-1,"days").startOf("day"),c={site_uuid:this.config.stats.id,date_from:u.format("YYYY-MM-DD"),date_to:l.format("YYYY-MM-DD"),member_status:0===i.length?null:i.join(","),limit:7},{data:d,meta:p,error:m,loading:h}=(0,a.useQuery)({endpoint:`${this.config.stats.endpoint}/v0/pipes/top_sources.json`,token:this.config.stats.token,params:c})
2534
2534
  return r.default.createElement(a.BarList,{data:d,meta:p,error:m,loading:h,index:"referrer",indexConfig:{label:r.default.createElement("span",{className:"gh-stats-detail-header"},"Source"),renderBarContent:({label:e})=>r.default.createElement("span",{className:"gh-stats-detail-label"},r.default.createElement("span",{className:"gh-stats-domain"},r.default.createElement("img",{src:`https://www.google.com/s2/favicons?domain=${e||"direct"}&sz=32`,className:"gh-stats-favicon"}),e||"Direct"))},categories:["hits"],categoryConfig:{hits:{label:r.default.createElement("span",{className:"gh-stats-detail-header"},"Visits"),renderValue:({value:e})=>r.default.createElement("span",{className:"gh-stats-detail-value"},(0,o.formatNumber)(e))}},colorPalette:[s.barListColor]})}))}onCampaignOptionChange(e){this.campaignOption=e}openSeeAll(){this.modals.open(t.default,{type:"top-sources",chartRange:this.args.chartRange,audience:this.args.audience})}},b=E(h.prototype,"config",[l.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=E(h.prototype,"modals",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=E(h.prototype,"campaignOption",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return s.CAMPAIGN_OPTIONS[0]}}),v=E(h.prototype,"campaignOptions",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return s.CAMPAIGN_OPTIONS}}),E(h.prototype,"onCampaignOptionChange",[p],Object.getOwnPropertyDescriptor(h.prototype,"onCampaignOptionChange"),h.prototype),E(h.prototype,"openSeeAll",[m],Object.getOwnPropertyDescriptor(h.prototype,"openSeeAll"),h.prototype),h)
2535
- Ember._setComponentTemplate(k,P)})),define("ghost-admin/components/stats/kpis-overview",["exports","@glimmer/component","fetch","ghost-admin/helpers/format-number","ghost-admin/decorators/inject","ember-concurrency"],(function(e,t,i,r,n,a){var s,o,l,u,c,d,p,m,h,b,f,g,v,y,w,E
2536
- function k(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function P(e,t,i,r,n){var a={}
2535
+ Ember._setComponentTemplate(k,P)})),define("ghost-admin/components/stats/kpis-overview",["exports","@glimmer/component","fetch","moment-timezone","ghost-admin/helpers/format-number","ghost-admin/decorators/inject","ember-concurrency"],(function(e,t,i,r,n,a,s){var o,l,u,c,d,p,m,h,b,f,g,v,y,w,E,k
2536
+ function P(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function O(e,t,i,r,n){var a={}
2537
2537
  return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
2538
- const O=Ember.HTMLBars.template({id:"I2mxhsK9",block:'{"symbols":["option","@chartRange","@audience"],"statements":[[10,"div"],[14,0,"gh-stats-tabs-header "],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stats-tabs"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["uniqueVisitorsTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToUniqueVisitors"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Unique visitors",[32,0,["totals","visits"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["visitsTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToVisits"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Visits",[32,0,["totals","visits"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["pageviewsTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToPageviews"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Pageviews",[32,0,["totals","pageviews"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["bounceRateTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToBounceRate"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Bounce rate",[31,[[32,0,["totals","bounce_rate"]],"%"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["avgVisitTimeTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToAvgVisitTime"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Visit duration",[31,[[32,0,["totals","avg_session_sec"]],"m"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-stats-kpi-granularity"],[12],[2,"\\n"],[6,[37,1],[[32,0,["showGranularity"]]],null,[["default"],[{"statements":[[2," "],[8,"power-select",[],[["@selected","@options","@searchEnabled","@onChange","@triggerComponent","@triggerClass","@dropdownClass","@matchTriggerWidth","@horizontalPosition"],[[32,0,["granularity"]],[32,0,["granularityOptions"]],false,[32,0,["onGranularityChange"]],[30,[36,0],["gh-power-select/trigger"],null],"gh-btn gh-stats-section-dropdown","gh-contentfilter-menu-dropdown is-narrow",false,"right"]],[["default"],[{"statements":[[2,"\\n "],[6,[37,1],[[32,1,["name"]]],null,[["default","else"],[{"statements":[[1,[32,1,["name"]]]],"parameters":[]},{"statements":[[10,"span"],[14,0,"red"],[12],[2,"Unknown option"],[13]],"parameters":[]}]]],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"],[10,"div"],[14,0,"gh-stats-kpis-chart-container"],[12],[2,"\\n "],[8,"stats/charts/kpis",[],[["@chartRange","@audience","@selected"],[[32,2],[32,3],[32,0,["selected"]]]],null],[2,"\\n"],[13]],"hasEval":false,"upvars":["component","if","on"]}',moduleName:"ghost-admin/components/stats/kpis-overview.hbs"})
2539
- let _=e.default=(s=Ember._tracked,o=Ember._tracked,l=Ember._tracked,u=Ember._tracked,c=Ember._action,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=class extends t.default{get granularityOptions(){const e=this.args.chartRange
2540
- return e>=8&&e<=30?[{name:"Days",value:"days"},{name:"Weeks",value:"weeks"}]:e>30&&e<=365?[{name:"Days",value:"days"},{name:"Weeks",value:"weeks"},{name:"Months",value:"months"}]:[{name:"Weeks",value:"weeks"},{name:"Months",value:"months"}]}onGranularityChange(e){this.granularity=e}constructor(){super(...arguments),k(this,"config",g,this),k(this,"selected",v,this),k(this,"totals",y,this),k(this,"showGranularity",w,this),k(this,"granularity",E,this),this.fetchData.perform()}setupFocusListener(){document.addEventListener("visibilitychange",(()=>{document.hidden||this.fetchData.perform()}))}*fetchData(){try{const e=yield(0,i.default)(`${this.config.stats.endpoint}/v0/pipes/kpis.json?site_uuid=${this.config.stats.id}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.config.stats.token}`}})
2541
- if(!e.ok)throw new Error("Network response was not ok")
2542
- const t=yield e.json()
2543
- this.totals=this.processData(t.data)}catch(e){}}processData(e){const t=e,i=e=>t.reduce(((t,i)=>(i[e]??0)+t),0),n=i("visits"),a=e=>t.reduce(((t,i)=>t+(i[e]??0)*i.visits/n),0)
2544
- return{avg_session_sec:Math.floor(a("avg_session_sec")/60),pageviews:(0,r.formatNumber)(i("pageviews")),visits:(0,r.formatNumber)(n),bounce_rate:a("bounce_rate").toFixed(2)}}willDestroy(){super.willDestroy(),document.removeEventListener("visibilitychange",this.fetchData.perform)}changeTabToUniqueVisitors(){this.selected="unique_visitors"}changeTabToVisits(){this.selected="visits"}changeTabToPageviews(){this.selected="pageviews"}changeTabToAvgVisitTime(){this.selected="avg_session_sec"}changeTabToBounceRate(){this.selected="bounce_rate"}get uniqueVisitorsTabSelected(){return"unique_visitors"===this.selected}get visitsTabSelected(){return"visits"===this.selected}get pageviewsTabSelected(){return"pageviews"===this.selected}get avgVisitTimeTabSelected(){return"avg_session_sec"===this.selected}get bounceRateTabSelected(){return"bounce_rate"===this.selected}},g=P(f.prototype,"config",[n.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=P(f.prototype,"selected",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"unique_visitors"}}),y=P(f.prototype,"totals",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),w=P(f.prototype,"showGranularity",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),E=P(f.prototype,"granularity",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.granularityOptions[0]}}),P(f.prototype,"onGranularityChange",[c],Object.getOwnPropertyDescriptor(f.prototype,"onGranularityChange"),f.prototype),P(f.prototype,"fetchData",[a.task],Object.getOwnPropertyDescriptor(f.prototype,"fetchData"),f.prototype),P(f.prototype,"changeTabToUniqueVisitors",[d],Object.getOwnPropertyDescriptor(f.prototype,"changeTabToUniqueVisitors"),f.prototype),P(f.prototype,"changeTabToVisits",[p],Object.getOwnPropertyDescriptor(f.prototype,"changeTabToVisits"),f.prototype),P(f.prototype,"changeTabToPageviews",[m],Object.getOwnPropertyDescriptor(f.prototype,"changeTabToPageviews"),f.prototype),P(f.prototype,"changeTabToAvgVisitTime",[h],Object.getOwnPropertyDescriptor(f.prototype,"changeTabToAvgVisitTime"),f.prototype),P(f.prototype,"changeTabToBounceRate",[b],Object.getOwnPropertyDescriptor(f.prototype,"changeTabToBounceRate"),f.prototype),f)
2545
- Ember._setComponentTemplate(O,_)})),define("ghost-admin/components/stats/parts/audience-filter",["exports","@glimmer/component","ghost-admin/utils/stats"],(function(e,t,i){var r,n,a,s,o,l
2538
+ const _=Ember.HTMLBars.template({id:"/Qr6G36z",block:'{"symbols":["option","@audience","@chartRange"],"statements":[[2,"\\n"],[11,"div"],[24,0,"gh-stats-tabs-header"],[4,[38,2],[[32,0,["fetchDataIfNeeded"]],[32,3],[32,2]],null],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stats-tabs"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["uniqueVisitsTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,3],["click",[32,0,["changeTabToUniqueVisits"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Unique visits",[32,0,["totals","visits"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["pageviewsTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,3],["click",[32,0,["changeTabToPageviews"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Pageviews",[32,0,["totals","pageviews"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["bounceRateTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,3],["click",[32,0,["changeTabToBounceRate"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Bounce rate",[31,[[32,0,["totals","bounce_rate"]],"%"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["avgVisitTimeTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,3],["click",[32,0,["changeTabToAvgVisitTime"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Visit duration",[31,[[32,0,["totals","avg_session_sec"]],"m"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-stats-kpi-granularity"],[12],[2,"\\n"],[6,[37,1],[[32,0,["showGranularity"]]],null,[["default"],[{"statements":[[2," "],[8,"power-select",[],[["@selected","@options","@searchEnabled","@onChange","@triggerComponent","@triggerClass","@dropdownClass","@matchTriggerWidth","@horizontalPosition"],[[32,0,["granularity"]],[32,0,["granularityOptions"]],false,[32,0,["onGranularityChange"]],[30,[36,0],["gh-power-select/trigger"],null],"gh-btn gh-stats-section-dropdown","gh-contentfilter-menu-dropdown is-narrow",false,"right"]],[["default"],[{"statements":[[2,"\\n "],[6,[37,1],[[32,1,["name"]]],null,[["default","else"],[{"statements":[[1,[32,1,["name"]]]],"parameters":[]},{"statements":[[10,"span"],[14,0,"red"],[12],[2,"Unknown option"],[13]],"parameters":[]}]]],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"],[10,"div"],[14,0,"gh-stats-kpis-chart-container"],[12],[2,"\\n "],[8,"stats/charts/kpis",[],[["@chartRange","@audience","@selected"],[[32,3],[32,2],[32,0,["selected"]]]],null],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["component","if","did-update","on"]}',moduleName:"ghost-admin/components/stats/kpis-overview.hbs"})
2539
+ let j=e.default=(o=Ember._tracked,l=Ember._tracked,u=Ember._tracked,c=Ember._tracked,d=Ember._action,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=class extends t.default{get granularityOptions(){const e=this.args.chartRange
2540
+ return e>=8&&e<=30?[{name:"Days",value:"days"},{name:"Weeks",value:"weeks"}]:e>30&&e<=365?[{name:"Days",value:"days"},{name:"Weeks",value:"weeks"},{name:"Months",value:"months"}]:[{name:"Weeks",value:"weeks"},{name:"Months",value:"months"}]}onGranularityChange(e){this.granularity=e}constructor(){super(...arguments),P(this,"config",v,this),P(this,"selected",y,this),P(this,"totals",w,this),P(this,"showGranularity",E,this),P(this,"granularity",k,this),this.fetchDataIfNeeded()}fetchDataIfNeeded(){this.fetchData.perform(this.args.chartRange,this.args.audience)}*fetchData(e,t){try{const n=(0,r.default)().endOf("day"),a=(0,r.default)().subtract(e-1,"days").startOf("day"),s=new URLSearchParams({site_uuid:this.config.stats.id,date_from:a.format("YYYY-MM-DD"),date_to:n.format("YYYY-MM-DD")})
2541
+ t.length>0&&s.append("member_status",t.join(","))
2542
+ const o=yield(0,i.default)(`${this.config.stats.endpoint}/v0/pipes/kpis.json?${s}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.config.stats.token}`}})
2543
+ if(!o.ok)throw new Error("Network response was not ok")
2544
+ const l=yield o.json()
2545
+ this.totals=this.processData(l.data)}catch(n){}}processData(e){const t=e,i=e=>t.reduce(((t,i)=>(i[e]??0)+t),0),r=i("visits"),a=e=>t.reduce(((t,i)=>t+(i[e]??0)*i.visits/r),0)
2546
+ return{avg_session_sec:Math.floor(a("avg_session_sec")/60),pageviews:(0,n.formatNumber)(i("pageviews")),visits:(0,n.formatNumber)(r),bounce_rate:a("bounce_rate").toFixed(2)}}willDestroy(){super.willDestroy(),document.removeEventListener("visibilitychange",this.fetchData.perform)}changeTabToUniqueVisits(){this.selected="unique_visits"}changeTabToPageviews(){this.selected="pageviews"}changeTabToAvgVisitTime(){this.selected="avg_session_sec"}changeTabToBounceRate(){this.selected="bounce_rate"}get uniqueVisitsTabSelected(){return"unique_visits"===this.selected}get pageviewsTabSelected(){return"pageviews"===this.selected}get avgVisitTimeTabSelected(){return"avg_session_sec"===this.selected}get bounceRateTabSelected(){return"bounce_rate"===this.selected}},v=O(g.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=O(g.prototype,"selected",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"unique_visits"}}),w=O(g.prototype,"totals",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),E=O(g.prototype,"showGranularity",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),k=O(g.prototype,"granularity",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.granularityOptions[0]}}),O(g.prototype,"onGranularityChange",[d],Object.getOwnPropertyDescriptor(g.prototype,"onGranularityChange"),g.prototype),O(g.prototype,"fetchDataIfNeeded",[p],Object.getOwnPropertyDescriptor(g.prototype,"fetchDataIfNeeded"),g.prototype),O(g.prototype,"fetchData",[s.task],Object.getOwnPropertyDescriptor(g.prototype,"fetchData"),g.prototype),O(g.prototype,"changeTabToUniqueVisits",[m],Object.getOwnPropertyDescriptor(g.prototype,"changeTabToUniqueVisits"),g.prototype),O(g.prototype,"changeTabToPageviews",[h],Object.getOwnPropertyDescriptor(g.prototype,"changeTabToPageviews"),g.prototype),O(g.prototype,"changeTabToAvgVisitTime",[b],Object.getOwnPropertyDescriptor(g.prototype,"changeTabToAvgVisitTime"),g.prototype),O(g.prototype,"changeTabToBounceRate",[f],Object.getOwnPropertyDescriptor(g.prototype,"changeTabToBounceRate"),g.prototype),g)
2547
+ Ember._setComponentTemplate(_,j)})),define("ghost-admin/components/stats/parts/audience-filter",["exports","@glimmer/component","ghost-admin/utils/stats"],(function(e,t,i){var r,n,a,s,o,l
2546
2548
  function u(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function c(e,t,i,r,n){var a={}
2547
2549
  return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
2548
2550
  const d=Ember.HTMLBars.template({id:"2qnp5/+r",block:'{"symbols":["dd","type","idx","@excludedAudiences"],"statements":[[8,"gh-basic-dropdown",[],[["@verticalPosition"],["below"]],[["default"],[{"statements":[[2,"\\n "],[8,[32,1,["Trigger"]],[[24,0,"gh-btn gh-btn-icon gh-btn-action-icon"],[24,"data-test-id","filter-events-button"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[15,0,[30,[36,2],[[32,4],"gh-btn-label-green"],null]],[12],[2,"\\n "],[1,[30,[36,3],["members"],null]],[2,"\\n Audience\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,[32,1,["Content"]],[[24,0,"gh-member-activity-actions-menu dropdown-menu dropdown-triangle-top-right gh-member-activity-actions-menu--suppression"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"ul"],[14,0,"ember-power-select-options"],[14,"role","listbox"],[12],[2,"\\n"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,0,["audienceTypes"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"ember-power-select-option mb0 gh-member-activity-actions-menu-item"],[12],[2,"\\n "],[10,"label"],[15,"for",[31,["type-",[32,3]]]],[12],[2,"\\n "],[10,"span"],[12],[1,[32,2,["name"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch x-small"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[15,"for",[31,["type-",[32,3]]]],[12],[2,"\\n "],[11,"input"],[16,"data-test-id",[31,["audience-type-filter-checkbox-",[32,2,["value"]]]]],[16,"checked",[32,2,["isSelected"]]],[16,1,[31,["type-",[32,3]]]],[24,3,"audiences"],[24,0,"gh-input post-settings-featured"],[24,4,"checkbox"],[4,[38,1],["input",[30,[36,0],[[32,0,["toggleAudienceType"]],[32,2,["value"]]],null]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[2,3]}]]],[2," "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[1]}]]],[2,"\\n"]],"hasEval":false,"upvars":["fn","on","if","svg-jar","-track-array","each"]}',moduleName:"ghost-admin/components/stats/parts/audience-filter.hbs"})
@@ -2702,31 +2704,38 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
2702
2704
  return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2703
2705
  e.default=(t=Ember._tracked,i=class extends Ember.Controller{constructor(...e){var t,i,a,s
2704
2706
  super(...e),n(this,"queryParams",["firstStart"]),t=this,i="firstStart",s=this,(a=r)&&Object.defineProperty(t,i,{enumerable:a.enumerable,configurable:a.configurable,writable:a.writable,value:a.initializer?a.initializer.call(s):void 0})}},a=i.prototype,s="firstStart",o=[t],l={configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 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),r=c,i)
2705
- var a,s,o,l,u,c})),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","ghost-admin/helpers/capitalize-first-letter","ember-concurrency","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-ajax/errors","@tryghost/kg-converters","@tryghost/string"],(function(e,t,i,r,n,a,s,o,l,u,c,d,p,m,h,b,f,g,v,y,w){var E,k,P,O,_,j,T,z,x,S,C,M,D,A,L,I,N,R,F,U,B,H,V,q,$,Y,W,G,K,J,X,Z,Q,ee,te,ie,re,ne,ae,se,oe,le,ue,ce,de,pe,me,he,be,fe,ge,ve,ye,we,Ee,ke,Pe,Oe,_e,je,Te,ze,xe,Se,Ce,Me,De,Ae,Le,Ie,Ne,Re,Fe,Ue,Be,He,Ve,qe,$e,Ye,We,Ge
2706
- function Ke(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function Je(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2707
+ var a,s,o,l,u,c})),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","microdiff","moment-timezone","ghost-admin/services/notifications","ghost-admin/helpers/capitalize-first-letter","ember-concurrency","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-ajax/errors","@tryghost/kg-converters","@ember-decorators/object","@tryghost/string"],(function(e,t,i,r,n,a,s,o,l,u,c,d,p,m,h,b,f,g,v,y,w,E,k){var P,O,_,j,T,z,x,S,C,M,D,A,L,I,N,R,F,U,B,H,V,q,$,Y,W,G,K,J,X,Z,Q,ee,te,ie,re,ne,ae,se,oe,le,ue,ce,de,pe,me,he,be,fe,ge,ve,ye,we,Ee,ke,Pe,Oe,_e,je,Te,ze,xe,Se,Ce,Me,De,Ae,Le,Ie,Ne,Re,Fe,Ue,Be,He,Ve,qe,$e,Ye,We,Ge,Ke,Je,Xe,Ze,Qe
2708
+ function et(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function tt(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
2707
2709
  var i=e[Symbol.toPrimitive]
2708
2710
  if(void 0!==i){var r=i.call(e,t||"default")
2709
2711
  if("object"!=typeof r)return r
2710
2712
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
2711
- return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function Xe(e,t,i,r,n){var a={}
2713
+ return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function it(e,t,i,r,n){var a={}
2712
2714
  return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
2713
- const Ze="(Untitled)",Qe=new RegExp(/(^|.)([^\p{L}\p{N}\s]*(TK)+[^\p{L}\p{N}\s]*)(.)?/u),et=new RegExp(/\p{L}|\p{N}/u)
2714
- let tt=["post.lexicalScratch","post.titleScratch","post.hasDirtyAttributes","post.tags.[]","post.isError"]
2715
- a.default.eachAttribute((function(e){tt.push(`post.${e}`)}))
2716
- const it={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"}}}}
2717
- function rt(e){let t=Qe.exec(e)
2715
+ const rt="(Untitled)",nt=new RegExp(/(^|.)([^\p{L}\p{N}\s]*(TK)+[^\p{L}\p{N}\s]*)(.)?/u),at=new RegExp(/\p{L}|\p{N}/u)
2716
+ let st=["post.lexicalScratch","post.titleScratch","post.hasDirtyAttributes","post.tags.[]","post.isError"]
2717
+ a.default.eachAttribute((function(e){st.push(`post.${e}`)}))
2718
+ const ot={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"}}}}
2719
+ function lt(e){let t=nt.exec(e)
2718
2720
  if(null===t)return!1
2719
- for(;null!==t&&((i=t)[1]&&i[1].trim()&&et.test(i[1])||i[4]&&i[4].trim()&&et.test(i[4]));)e=e.slice(t.index+t[0].length-1),t=Qe.exec(e)
2721
+ for(;null!==t&&((i=t)[1]&&i[1].trim()&&at.test(i[1])||i[4]&&i[4].trim()&&at.test(i[4]));)e=e.slice(t.index+t[0].length-1),t=nt.exec(e)
2720
2722
  var i
2721
- return null!==t}e.default=(E=Ember.inject.controller,k=Ember.inject.service,P=Ember.inject.service,O=Ember.inject.service,_=Ember.inject.service,j=Ember.inject.service,T=Ember.inject.service,z=Ember.inject.service,x=Ember.inject.service,S=Ember.inject.service,C=Ember.inject.service,M=Ember._tracked,D=Ember.computed.alias("model"),A=(0,u.default)("post.isPublished"),L=(0,u.default)("post.isScheduled"),I=(0,b.taskGroup)().enqueue(),N=Ember.computed.mapBy("post.tags","name"),R=Ember.computed(...tt),F=Ember.computed,U=Ember.computed("_snippets.@each.{name,isNew,mobiledoc,lexical}"),B=Ember.computed,H=Ember.computed("session.user.{isAdmin,isEditor}"),V=Ember.computed("_autosaveTask.isRunning","_timedSaveTask.isRunning"),q=Ember.computed("post.isDraft"),$=Ember.computed("post.titleScratch"),Y=Ember.computed("post.customExcerpt"),W=Ember.computed("titleHasTk","excerptHasTk","postTkCount","featureImageTkCount"),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,re=Ember._action,ne=Ember._action,ae=Ember._action,se=Ember._action,oe=Ember._action,le=Ember._action,ue=Ember._action,ce=Ember._action,de=Ember._action,pe=Ember._action,me=Ember._action,he=Ember._action,be=Ember._action,fe=Ember._action,ge=Ember._action,ve=Ember._action,ye=Ember._action,we=Ember._action,Ee=(0,b.task)({group:"saveTasks"}),ke=(0,b.task)({group:"saveTasks"}),Pe=(0,b.task)({group:"saveTasks"}),Oe=Ember._action,_e=Ember._action,je=(0,b.task)((function*(){if(this._canAutosave){if(this.get("post.isNew"))return this.autosaveTask.perform()
2722
- yield(0,b.timeout)("test"===c.default.environment?100:3e3),this.autosaveTask.perform()}})).restartable(),Te=(0,b.task)((function*(){if(this._canAutosave)for(;"test"!==c.default.environment;)yield(0,b.timeout)(6e4),this.autosaveTask.perform()})).drop(),ze=class extends Ember.Controller{constructor(...e){super(...e),Ke(this,"application",xe,this),Ke(this,"feature",Se,this),Ke(this,"membersCountCache",Ce,this),Ke(this,"modals",Me,this),Ke(this,"notifications",De,this),Ke(this,"router",Ae,this),Ke(this,"slugGenerator",Le,this),Ke(this,"search",Ie,this),Ke(this,"session",Ne,this),Ke(this,"settings",Re,this),Ke(this,"ui",Fe,this),Ke(this,"config",Ue,this),Ke(this,"excerptErrorMessage",Be,this),Je(this,"shouldFocusTitle",!1),Je(this,"showSettingsMenu",!1),Je(this,"fromAnalytics",!1),Je(this,"wordCount",0),Je(this,"postTkCount",0),Je(this,"featureImageTkCount",0),Je(this,"_leaveConfirmed",!1),Je(this,"_saveOnLeavePerformed",!1),Je(this,"_previousTagNames",null),Ke(this,"post",He,this),Ke(this,"willPublish",Ve,this),Ke(this,"willSchedule",qe,this),Ke(this,"saveTasks",$e,this),Ke(this,"_tagNames",Ye,this),Je(this,"TK_REGEX",new RegExp(/(^|.)([^\p{L}\p{N}\s]*(TK)+[^\p{L}\p{N}\s]*)(.)?/u)),Je(this,"WORD_CHAR_REGEX",new RegExp(/\p{L}|\p{N}/u))
2723
- Ke(this,"_autosaveTask",We,this),Ke(this,"_timedSaveTask",Ge,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
2723
+ return null!==t}e.default=(P=Ember.inject.controller,O=Ember.inject.service,_=Ember.inject.service,j=Ember.inject.service,T=Ember.inject.service,z=Ember.inject.service,x=Ember.inject.service,S=Ember.inject.service,C=Ember.inject.service,M=Ember.inject.service,D=Ember.inject.service,A=Ember.inject.service,L=Ember._tracked,I=(0,E.observes)("post.currentState.stateName"),N=Ember.computed.alias("model"),R=(0,u.default)("post.isPublished"),F=(0,u.default)("post.isScheduled"),U=(0,f.taskGroup)().enqueue(),B=Ember.computed.mapBy("post.tags","name"),H=Ember.computed(...st),V=Ember.computed,q=Ember.computed("_snippets.@each.{name,isNew,mobiledoc,lexical}"),$=Ember.computed,Y=Ember.computed("session.user.{isAdmin,isEditor}"),W=Ember.computed("_autosaveTask.isRunning","_timedSaveTask.isRunning"),G=Ember.computed("post.isDraft"),K=Ember.computed("post.titleScratch"),J=Ember.computed("post.customExcerpt"),X=Ember.computed("titleHasTk","excerptHasTk","postTkCount","featureImageTkCount"),Z=Ember._action,Q=Ember._action,ee=Ember._action,te=Ember._action,ie=Ember._action,re=Ember._action,ne=Ember._action,ae=Ember._action,se=Ember._action,oe=Ember._action,le=Ember._action,ue=Ember._action,ce=Ember._action,de=Ember._action,pe=Ember._action,me=Ember._action,he=Ember._action,be=Ember._action,fe=Ember._action,ge=Ember._action,ve=Ember._action,ye=Ember._action,we=Ember._action,Ee=Ember._action,ke=Ember._action,Pe=Ember._action,Oe=Ember._action,_e=(0,f.task)({group:"saveTasks"}),je=(0,f.task)({group:"saveTasks"}),Te=(0,f.task)({group:"saveTasks"}),ze=Ember._action,xe=Ember._action,Se=(0,f.task)((function*(){if(this._canAutosave){if(this.get("post.isNew"))return this.autosaveTask.perform()
2724
+ yield(0,f.timeout)("test"===c.default.environment?100:3e3),this.autosaveTask.perform()}})).restartable(),Ce=(0,f.task)((function*(){if(this._canAutosave)for(;"test"!==c.default.environment;)yield(0,f.timeout)(6e4),this.autosaveTask.perform()})).drop(),Me=class extends Ember.Controller{constructor(...e){super(...e),et(this,"application",De,this),et(this,"feature",Ae,this),et(this,"membersCountCache",Le,this),et(this,"modals",Ie,this),et(this,"notifications",Ne,this),et(this,"router",Re,this),et(this,"slugGenerator",Fe,this),et(this,"search",Ue,this),et(this,"session",Be,this),et(this,"settings",He,this),et(this,"ui",Ve,this),et(this,"localRevisions",qe,this),et(this,"config",$e,this),et(this,"excerptErrorMessage",Ye,this),tt(this,"shouldFocusTitle",!1),tt(this,"showSettingsMenu",!1),tt(this,"fromAnalytics",!1),tt(this,"wordCount",0),tt(this,"postTkCount",0),tt(this,"featureImageTkCount",0),tt(this,"_leaveConfirmed",!1),tt(this,"_saveOnLeavePerformed",!1),tt(this,"_previousTagNames",null),tt(this,"_setPostState",null),tt(this,"_postStates",[]),et(this,"post",We,this),et(this,"willPublish",Ge,this),et(this,"willSchedule",Ke,this),et(this,"saveTasks",Je,this)
2725
+ et(this,"_tagNames",Xe,this),tt(this,"TK_REGEX",new RegExp(/(^|.)([^\p{L}\p{N}\s]*(TK)+[^\p{L}\p{N}\s]*)(.)?/u)),tt(this,"WORD_CHAR_REGEX",new RegExp(/\p{L}|\p{N}/u)),et(this,"_autosaveTask",Ze,this),et(this,"_timedSaveTask",Qe,this)}_pushPostState(){const e=this.post
2726
+ if(!e)return
2727
+ const{stateName:t,isDeleted:i,isDirty:r,isEmpty:n,isLoading:a,isLoaded:s,isNew:o,isSaving:l,isValid:u}=e.currentState
2728
+ if(t){const e=[t,{isDeleted:i,isDirty:r,isEmpty:n,isLoading:a,isLoaded:s,isNew:o,isSaving:l,isValid:u}]
2729
+ console.log("post state changed:",...e),this._postStates.push(e)}}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
2724
2730
  return!(!e.get("isAdmin")&&!e.get("isEditor"))}get _autosaveRunning(){let e=this.get("_autosaveTask.isRunning"),t=this.get("_timedSaveTask.isRunning")
2725
- return e||t}get _canAutosave(){return this.post.isDraft}get titleHasTk(){return rt(this.post.titleScratch)}get excerptHasTk(){return!!this.feature.editorExcerpt&&rt(this.post.customExcerpt||"")}get tkCount(){return(this.titleHasTk?1:0)+(this.feature.editorExcerpt&&this.excerptHasTk?1:0)+this.postTkCount+this.featureImageTkCount}updateScratch(e){this.set("post.lexicalScratch",JSON.stringify(e)),this._autosaveTask.perform(),this._timedSaveTask.perform()}updateSecondaryInstanceModel(e){this.set("post.secondaryLexicalState",JSON.stringify(e))}updateTitleScratch(e){this.set("post.titleScratch",e)}async updateExcerpt(e){this.post.customExcerpt=e
2731
+ return e||t}get _canAutosave(){return this.post.isDraft}get titleHasTk(){return lt(this.post.titleScratch)}get excerptHasTk(){return!!this.feature.editorExcerpt&&lt(this.post.customExcerpt||"")}get tkCount(){return(this.titleHasTk?1:0)+(this.feature.editorExcerpt&&this.excerptHasTk?1:0)+this.postTkCount+this.featureImageTkCount}updateScratch(e){const t=JSON.stringify(e)
2732
+ this.set("post.lexicalScratch",t)
2733
+ try{"draft"===this.post.status&&this.localRevisions.scheduleSave(this.post.displayName,{...this.post.serialize({includeId:!0}),lexical:t})}catch(i){}this._autosaveTask.perform(),this._timedSaveTask.perform()}updateSecondaryInstanceModel(e){this.set("post.secondaryLexicalState",JSON.stringify(e))}updateTitleScratch(e){this.set("post.titleScratch",e)
2734
+ try{"draft"===this.post.status&&this.localRevisions.scheduleSave(this.post.displayName,{...this.post.serialize({includeId:!0}),title:e})}catch(t){}}async updateExcerpt(e){this.post.customExcerpt=e
2726
2735
  try{await this.post.validate({property:"customExcerpt"}),this.excerptErrorMessage=""}catch(t){if(void 0===t)return void(this.excerptErrorMessage=this.post.errors.errorsFor("customExcerpt")?.[0]?.message)
2727
2736
  throw t}}*saveExcerptTask(){"draft"===this.post.status&&(yield this.autosaveTask.perform())}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()}leaveEditor(){let e=this.leaveEditorTransition
2728
2737
  if(e)return this.reset(),e.retry()
2729
- this.notifications.showAlert(m.GENERIC_ERROR_MESSAGE,{type:"error"})}openDeletePostModal(){this.get("post.isNew")||this.modals.open(r.default,{post:this.post})}openUpgradeModal(e={}){this.modals.open(s.default,{message:e.message,details:e.details})}setKoenigEditor(e){this._koenig=e}updateWordCount(e){this.set("wordCount",e)}updatePostTkCount(e){this.set("postTkCount",e)}updateFeatureImageTkCount(e){this.set("featureImageTkCount",e)}setFeatureImage(e){this.post.set("featureImage",e),this.post.isDraft&&this.autosaveTask.perform()}registerEditorAPI(e){this.editorAPI=e}registerSecondaryEditorAPI(e){this.secondaryEditorAPI=e}clearFeatureImage(){this.post.set("featureImage",null),this.post.set("featureImageAlt",null),this.post.set("featureImageCaption",null),this.post.isDraft&&this.autosaveTask.perform()}setFeatureImageAlt(e){this.post.set("featureImageAlt",e),this.post.isDraft&&this.autosaveTask.perform()}setFeatureImageCaption(e){this.post.set("featureImageCaption",e)}handleFeatureImageCaptionBlur(){!this.post||this.post.isDestroyed||this.post.isDestroying||this.post.isDraft&&this.autosaveTask.perform()}toggleSettingsMenu(){this.set("showSettingsMenu",!this.showSettingsMenu)}closeSettingsMenu(){this.set("showSettingsMenu",!1)}saveNewSnippet(e){const t={name:e.name,lexical:JSON.parse(e.value),mobiledoc:{}},i=this.store.createRecord("snippet",t)
2738
+ this.notifications.showAlert(h.GENERIC_ERROR_MESSAGE,{type:"error"})}openDeletePostModal(){this.get("post.isNew")||this.modals.open(r.default,{post:this.post})}openUpgradeModal(e={}){this.modals.open(s.default,{message:e.message,details:e.details})}setKoenigEditor(e){this._koenig=e}updateWordCount(e){this.set("wordCount",e)}updatePostTkCount(e){this.set("postTkCount",e)}updateFeatureImageTkCount(e){this.set("featureImageTkCount",e)}setFeatureImage(e){this.post.set("featureImage",e),this.post.isDraft&&this.autosaveTask.perform()}registerEditorAPI(e){this.editorAPI=e}registerSecondaryEditorAPI(e){this.secondaryEditorAPI=e}clearFeatureImage(){this.post.set("featureImage",null),this.post.set("featureImageAlt",null),this.post.set("featureImageCaption",null),this.post.isDraft&&this.autosaveTask.perform()}setFeatureImageAlt(e){this.post.set("featureImageAlt",e),this.post.isDraft&&this.autosaveTask.perform()}setFeatureImageCaption(e){this.post.set("featureImageCaption",e)}handleFeatureImageCaptionBlur(){!this.post||this.post.isDestroyed||this.post.isDestroying||this.post.isDraft&&this.autosaveTask.perform()}toggleSettingsMenu(){this.set("showSettingsMenu",!this.showSettingsMenu)}closeSettingsMenu(){this.set("showSettingsMenu",!1)}saveNewSnippet(e){const t={name:e.name,lexical:JSON.parse(e.value),mobiledoc:{}},i=this.store.createRecord("snippet",t)
2730
2739
  return i.save().then((()=>(this.notifications.closeAlerts("snippet.save"),this.notifications.showNotification(`Snippet saved as "${e.name}"`,{type:"success"}),i))).catch((e=>{throw i.errors.isEmpty||this.notifications.showAlert(`Snippet save failed: ${i.errors.messages.join(". ")}`,{type:"error",key:"snippet.save"}),i.rollbackAttributes(),e}))}async createSnippet(e){const t=e.name.trim().toLowerCase(),i=this.snippets.find((e=>e.name.toLowerCase()===t))
2731
2740
  i?await this.confirmUpdateSnippet(i,{lexical:JSON.parse(e.value)}):await this.saveNewSnippet(e)}async confirmUpdateSnippet(e,t={}){await this.modals.open(l.default,{snippet:e,updatedProperties:t})}async confirmDeleteSnippet(e){await this.modals.open(n.default,{snippet:e})}*autosaveTask(e){if(!this.get("saveTask.isRunning"))return yield this.saveTask.perform({silent:!0,backgroundSave:!0,...e})}*saveTask(e={}){if(this.post.isDestroyed||this.post.isDestroying)return
2732
2741
  let i=this.get("post.status"),r=this.get("post.isNew")
@@ -2738,11 +2747,12 @@ t=e.backgroundSave?"draft":this.get("post.pastScheduledTime")?this.willSchedule|
2738
2747
  try{let t=yield this._savePostTask.perform({...e,adapterOptions:n})
2739
2748
  return this.notifications.clearAll(),e.silent||this._showSaveNotification(i,t.get("status"),!!r),r&&t.get("id")?(this.leaveEditorTransition||this.replaceRoute("lexical-editor.edit",t),!0):t}catch(l){if(!this.session.isAuthenticated&&(yield this.modals.open(o.default),this.session.isAuthenticated))return this.saveTask.perform(e)
2740
2749
  if(this.set("post.status",i),void 0===l&&0===this.post.errors.length)return
2741
- if((0,g.isHostLimitError)(l))return this.post.rollbackAttributes(),void this.openUpgradeModal(l.payload.errors[0])
2742
- if((0,v.isNotFoundError)(l))return console.error(l),t.captureException(l,{tags:{savePostTask:!0}}),void this._showErrorAlert(i,this.post.status,"Editor has crashed. Please copy your content and start a new post.")
2743
- if(l&&!(0,v.isInvalidError)(l))return console.error(l),t.captureException(l,{tags:{savePostTask:!0}}),void this.send("error",l)
2750
+ if((0,v.isHostLimitError)(l))return this.post.rollbackAttributes(),void this.openUpgradeModal(l.payload.errors[0])
2751
+ if((0,y.isNotFoundError)(l)&&!this.post.id){const e=this._getNotFoundErrorContext()
2752
+ return console.error("saveTask failed with 404",e),t.captureException(l,{tags:{savePostTask:!0},extra:e}),void this._showErrorAlert(i,this.post.status,"Editor has crashed. Please copy your content and start a new post.")}if((0,y.isNotFoundError)(l)&&this.post.id){const e=this.post.isPage?"page":"post"
2753
+ return t.captureMessage(`Attempted to edit deleted ${e}`,{extra:{post_id:this.post.id}}),void this._showErrorAlert(i,this.post.status,`${(0,b.capitalizeFirstLetter)(e)} has been deleted in a different session. If you need to keep this content, copy it and paste into a new ${e}.`)}if(l&&!(0,y.isInvalidError)(l))return console.error(l),t.captureException(l,{tags:{savePostTask:!0}}),void this.send("error",l)
2744
2754
  if(!e.silent){let e=l||this.get("post.errors.messages")
2745
- return void this._showErrorAlert(i,this.get("post.status"),e)}return this.post}}*beforeSaveTask(e={}){this.post?.isDestroyed||this.post?.isDestroying||(e.backgroundSave,this.set("post.lexical",this.post.lexicalScratch||null),this.get("post.titleScratch").trim()||this.set("post.titleScratch",Ze),this.set("post.title",this.get("post.titleScratch")),this.set("post.customExcerpt",this.get("post.customExcerptScratch")),this.set("post.footerInjection",this.get("post.footerExcerptScratch")),this.set("post.headerInjection",this.get("post.headerExcerptScratch")),this.set("post.metaTitle",this.get("post.metaTitleScratch")),this.set("post.metaDescription",this.get("post.metaDescriptionScratch")),this.set("post.ogTitle",this.get("post.ogTitleScratch")),this.set("post.ogDescription",this.get("post.ogDescriptionScratch")),this.set("post.twitterTitle",this.get("post.twitterTitleScratch")),this.set("post.twitterDescription",this.get("post.twitterDescriptionScratch")),this.set("post.emailSubject",this.get("post.emailSubjectScratch")),this.get("post.slug")||(this.saveTitleTask.cancelAll(),yield this.generateSlugTask.perform()))}*updateSlugTask(e){let t,i,r=this.get("post.slug")
2755
+ return void this._showErrorAlert(i,this.get("post.status"),e)}return this.post}}_getNotFoundErrorContext(){return{setPostState:this._setPostState,currentPostState:this.post.currentState.stateName,allPostStates:this._postStates}}*beforeSaveTask(e={}){this.post?.isDestroyed||this.post?.isDestroying||(e.backgroundSave,this.set("post.lexical",this.post.lexicalScratch||null),this.post.titleScratch?.trim()||this.set("post.titleScratch",rt),this.set("post.title",this.get("post.titleScratch")),this.set("post.customExcerpt",this.get("post.customExcerptScratch")),this.set("post.footerInjection",this.get("post.footerExcerptScratch")),this.set("post.headerInjection",this.get("post.headerExcerptScratch")),this.set("post.metaTitle",this.get("post.metaTitleScratch")),this.set("post.metaDescription",this.get("post.metaDescriptionScratch")),this.set("post.ogTitle",this.get("post.ogTitleScratch")),this.set("post.ogDescription",this.get("post.ogDescriptionScratch")),this.set("post.twitterTitle",this.get("post.twitterTitleScratch")),this.set("post.twitterDescription",this.get("post.twitterDescriptionScratch")),this.set("post.emailSubject",this.get("post.emailSubjectScratch")),this.get("post.slug")||(this.saveTitleTask.cancelAll(),yield this.generateSlugTask.perform()))}*updateSlugTask(e){let t,i,r=this.get("post.slug")
2746
2756
  if(t=e||r,t=t&&t.trim(),!t||r===t)return void this.set("slugValue",r)
2747
2757
  if(i=yield this.slugGenerator.generateSlug("post",t),i===r)return
2748
2758
  let n=i.split("-"),a=Number(n.pop())
@@ -2753,20 +2763,20 @@ this._showErrorAlert(t,t,e)}throw e}}*_savePostTask(e={}){let{post:i}=this
2753
2763
  const r=this.post.emailOnly
2754
2764
  Object.prototype.hasOwnProperty.call(e,"emailOnly")&&this.post.set("emailOnly",e.emailOnly)
2755
2765
  const n=Date.now()
2756
- try{yield i.save(e)}catch(a){if(this.post.set("emailOnly",r),this.config.sentry_dsn&&Date.now()-n>2e3&&t.captureException("Failed Lexical save took > 2s",(t=>{t.setTag("save_time",Math.ceil((Date.now()-n)/1e3)),t.setTag("post_type",i.isPage?"page":"post"),t.setTag("save_revision",e.adapterOptions?.saveRevision),t.setTag("email_segment",e.adapterOptions?.emailSegment),t.setTag("convert_to_lexical",e.adapterOptions?.convertToLexical)})),(0,g.isServerUnreachableError)(a)){const[e,t]=this.post.changedAttributes().status||[this.post.status,this.post.status]
2766
+ try{yield i.save(e)}catch(a){if(this.post.set("emailOnly",r),this.config.sentry_dsn&&Date.now()-n>2e3&&t.captureException("Failed Lexical save took > 2s",(t=>{t.setTag("save_time",Math.ceil((Date.now()-n)/1e3)),t.setTag("post_type",i.isPage?"page":"post"),t.setTag("save_revision",e.adapterOptions?.saveRevision),t.setTag("email_segment",e.adapterOptions?.emailSegment),t.setTag("convert_to_lexical",e.adapterOptions?.convertToLexical)})),(0,v.isServerUnreachableError)(a)){const[e,t]=this.post.changedAttributes().status||[this.post.status,this.post.status]
2757
2767
  throw void this._showErrorAlert(e,t,a)}throw a}return this.afterSave(i),i}afterSave(e){this.notifications.closeAlerts("post.save"),e.updateTags(),this._previousTagNames=this._tagNames,e.lexicalScratch||e.set("lexicalScratch",e.get("lexical"))
2758
2768
  let t=e.get("titleScratch")===e.get("title"),i=e.get("lexicalScratch")===e.get("lexical")
2759
2769
  t&&i&&this.set("hasDirtyAttributes",!1)}*saveTitleTask(){let e=this.post,t=e.get("title"),i=e.get("titleScratch").trim()
2760
2770
  t&&i&&i===t||!t&&!i||(this.set("hasDirtyAttributes",!0),this.get("post.isDraft")&&(yield this.generateSlugTask.perform(),yield this.autosaveTask.perform()),this.ui.updateDocumentTitle())}*generateSlugTask(){const e=this.get("post.title"),t=this.get("post.titleScratch"),i=this.get("post.slug")
2761
- if((t!==Ze||!i)&&(!i||(0,w.slugify)(e)===i||e===Ze||e?.endsWith("(Copy)")))try{const e=yield this.slugGenerator.generateSlug("post",t)
2762
- Ember.isBlank(e)||this.set("post.slug",e)}catch(r){(0,g.isVersionMismatchError)(r)&&this.notifications.showAPIError(r)}}*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.search.refreshContentTask.perform(),this.syncMobiledocSnippets()}sleep(e){return new Promise((t=>{setTimeout(t,e)}))}async syncMobiledocSnippets(){const e=this.store.peekAll("snippet")
2771
+ if((t!==rt||!i)&&(!i||(0,k.slugify)(e)===i||e===rt||e?.endsWith("(Copy)")))try{const e=yield this.slugGenerator.generateSlug("post",t)
2772
+ Ember.isBlank(e)||this.set("post.slug",e)}catch(r){(0,v.isVersionMismatchError)(r)&&this.notifications.showAPIError(r)}}*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.search.refreshContentTask.perform(),this.syncMobiledocSnippets()}sleep(e){return new Promise((t=>{setTimeout(t,e)}))}async syncMobiledocSnippets(){const e=this.store.peekAll("snippet")
2763
2773
  for(let r=0;r<e.length;r++){const n=e.objectAt(r)
2764
2774
  if("string"==typeof n.lexical)try{n.lexical=JSON.parse(n.lexical),n.mobiledoc={},await n.save(),await this.sleep(100)}catch(i){n.lexical=null,await n.save(),await this.sleep(100),console.error(i),this.config.sentry_dsn&&t.captureException(i,{tags:{lexical:!0}})}}for(let t=0;t<e.length;t++){const i=e.objectAt(t)
2765
- if(!i.lexical||i.lexical.syncedAt&&p.default.utc(i.lexical.syncedAt).isBefore(i.updatedAtUTC)){const e=(0,y.mobiledocToLexical)(JSON.stringify(i.mobiledoc))
2775
+ if(!i.lexical||i.lexical.syncedAt&&m.default.utc(i.lexical.syncedAt).isBefore(i.updatedAtUTC)){const e=(0,w.mobiledocToLexical)(JSON.stringify(i.mobiledoc))
2766
2776
  let t=JSON.parse(e).root.children
2767
2777
  1===t.length&&"paragraph"===t[0].type&&(t=t[0].children)
2768
2778
  const r={namespace:"KoenigEditor",nodes:t}
2769
- r.syncedAt=p.default.utc().toISOString(),i.lexical=r,i.save(),await this.sleep(100)}}}setPost(e){e!==this.post?(this.reset(),this.set("post",e),this.backgroundLoaderTask.perform(),this.set("shouldFocusTitle",e.get("isNew")),e.set("titleScratch",e.get("title")),e.set("lexicalScratch",e.get("lexical")),this._previousTagNames=this._tagNames,window.onbeforeunload=()=>{if(this.hasDirtyAttributes)return"==============================\n\nHey there! It looks like you're in the middle of writing something and you haven't saved all of your content.\n\nSave before you go!\n\n=============================="}):this.set("shouldFocusTitle",e.get("isNew"))}async willTransition(e){let r=this.post
2779
+ r.syncedAt=m.default.utc().toISOString(),i.lexical=r,i.save(),await this.sleep(100)}}}setPost(e){e!==this.post?(this.reset(),this._setPostState=e.currentState.stateName,this.set("post",e),this.backgroundLoaderTask.perform(),this.set("shouldFocusTitle",e.get("isNew")),e.set("titleScratch",e.get("title")),e.set("lexicalScratch",e.get("lexical")),this._previousTagNames=this._tagNames,window.onbeforeunload=()=>{if(this.hasDirtyAttributes)return"==============================\n\nHey there! It looks like you're in the middle of writing something and you haven't saved all of your content.\n\nSave before you go!\n\n=============================="}):this.set("shouldFocusTitle",e.get("isNew"))}async willTransition(e){let r=this.post
2770
2780
  if(!r)return
2771
2781
  if(this.updateSlugTask.isRunning)return e.abort(),await this.updateSlugTask.last,e.retry()
2772
2782
  const n="lexical-editor.new"===this.router.currentRouteName&&"lexical-editor.edit"===e.targetName&&e.intent.contexts?.[0]?.id===r.id
@@ -2774,35 +2784,40 @@ let a=this.hasDirtyAttributes,s=r.getProperties("isDeleted","isSaving","hasDirty
2774
2784
  if(!this._saveOnLeavePerformed&&u&&a&&!s.isDeleted&&"draft"===r.get("status"))return e.abort(),this._autosaveRunning&&(this.cancelAutosave(),this.autosaveTask.cancelAll()),await this.autosaveTask.perform({leavingEditor:!0,backgroundSave:!1}),this._saveOnLeavePerformed=!0,e.retry()
2775
2785
  if(!this._leaveConfirmed&&!n&&!c&&a){if(e.abort(),this.saveTasks.isRunning)return await this.saveTasks.last,e.retry()
2776
2786
  if(this._autosaveRunning)return this.cancelAutosave(),this.autosaveTask.cancelAll(),this._saveOnLeavePerformed||(await this.autosaveTask.perform({leavingEditor:!0}),this._saveOnLeavePerformed=!0),e.retry()
2777
- this.post&&Object.assign(this._leaveModalReason,{status:this.post.status}),t.captureMessage("showing leave editor modal",{extra:this._leaveModalReason}),console.log("showing leave editor modal",this._leaveModalReason)
2787
+ this.post&&Object.assign(this._leaveModalReason,{status:this.post.status}),"SCRATCH_DIVERGED_FROM_SECONDARY"===this._leaveModalReason.code&&this._assignLexicalDiffToLeaveModalReason()
2788
+ const r={...this._leaveModalReason.context,diff:JSON.stringify(this._leaveModalReason.context?.diff),secondaryLexical:void 0,scratch:void 0,lexical:void 0}
2789
+ t.captureMessage("showing leave editor modal",{extra:{...this._leaveModalReason,context:r}}),console.log("showing leave editor modal",this._leaveModalReason)
2778
2790
  return!0!==await this.modals.open(i.default)?void 0:(this._leaveConfirmed=!0,e.retry())}n||"lexical-editor.edit"===e.targetName||this.reset()}reset(){let e=this.post
2779
- this.cancelAutosave(),e&&(e.updateTags(),e.get("isNew")?e.deleteRecord():e.rollbackAttributes()),this._previousTagNames=[],this._leaveConfirmed=!1,this._saveOnLeavePerformed=!1,this.set("post",null),this.set("hasDirtyAttributes",!1),this.set("shouldFocusTitle",!1),this.set("showSettingsMenu",!1),this.set("wordCount",0),this.set("postTkCount",0),this.set("featureImageTkCount",0),window.onbeforeunload=null}_hasDirtyAttributes(){let e=this.post
2791
+ this.cancelAutosave(),e&&(e.updateTags(),e.get("isNew")?e.deleteRecord():e.rollbackAttributes()),this._previousTagNames=[],this._leaveConfirmed=!1,this._saveOnLeavePerformed=!1,this._setPostState=null,this._postStates=[],this.set("post",null),this.set("hasDirtyAttributes",!1),this.set("shouldFocusTitle",!1),this.set("showSettingsMenu",!1),this.set("wordCount",0),this.set("postTkCount",0),this.set("featureImageTkCount",0),window.onbeforeunload=null}_assignLexicalDiffToLeaveModalReason(){try{const e=JSON.parse(this.post.secondaryLexicalState||JSON.stringify({})),t=JSON.parse(this.post.scratch||JSON.stringify({})),i=(0,p.default)(t,e,{cyclesFix:!1})
2792
+ i.forEach((e=>{if(e.path){let r=[]
2793
+ e.path.forEach(((e,n)=>{if("number"==typeof e){const a=i.path.slice(0,n+1),s=Ember.get(t,a.join("."))
2794
+ s&&s.type?r.push(`${e}[${s.type}]`):r.push(e)}else r.push(e)})),e.path=r.join(".")}})),this._leaveModalReason.context||(this._leaveModalReason.context={}),Object.assign(this._leaveModalReason.context,{diff:i})}catch(e){console.error(e),t.captureException(e)}}_hasDirtyAttributes(){let e=this.post
2780
2795
  if(!e)return!1
2781
- if(e.get("isError"))return this._leaveModalReason={reason:"isError",context:e.errors.messages},!0
2796
+ if(e.get("isError"))return this._leaveModalReason={reason:"isError",code:"POST_HAS_ERROR",context:e.errors.messages},!0
2782
2797
  let t=(this._tagNames||[]).join(", "),i=(this._previousTagNames||[]).join(", ")
2783
- if(t!==i)return this._leaveModalReason={reason:"tags are different",context:{currentTags:t,previousTags:i}},!0
2784
- if(e.titleScratch.trim()!==e.title.trim())return this._leaveModalReason={reason:"title is different",context:{current:e.title,scratch:e.titleScratch}},!0
2798
+ if(t!==i)return this._leaveModalReason={reason:"tags are different",code:"POST_TAGS_DIVERGED",context:{currentTags:t,previousTags:i}},!0
2799
+ if(e.titleScratch.trim()!==e.title.trim())return this._leaveModalReason={reason:"title is different",code:"POST_TITLE_DIVERGED",context:{current:e.title,scratch:e.titleScratch}},!0
2785
2800
  let r=e.get("lexical"),n=e.get("lexicalScratch"),a=e.get("secondaryLexicalState"),s=r?JSON.parse(r).root?.children:[],o=n?JSON.parse(n).root?.children:[],l=a?JSON.parse(a).root?.children:[]
2786
2801
  s.forEach((e=>e.direction=null)),o.forEach((e=>e.direction=null)),l.forEach((e=>e.direction=null))
2787
- let u=a&&n&&JSON.stringify(l)!==JSON.stringify(o),c=r&&n&&JSON.stringify(s)!==JSON.stringify(o)
2788
- if(u&&c)return this._leaveModalReason={reason:"initLexical and lexical are different from scratch",context:{secondaryLexical:a,lexical:r,scratch:n}},!0
2802
+ const u=a&&n&&JSON.stringify(l)!==JSON.stringify(o),c=r&&n&&JSON.stringify(s)!==JSON.stringify(o)
2803
+ if(u&&c)return this._leaveModalReason={reason:"main editor content has diverged from both hidden editor and saved content",code:"SCRATCH_DIVERGED_FROM_SECONDARY",context:{secondaryLexical:a,lexical:r,scratch:n}},!0
2789
2804
  if(e.get("isNew")){let t=Object.keys(e.changedAttributes()||{})
2790
- return t.length&&(this._leaveModalReason={reason:"post.changedAttributes.length > 0",context:e.changedAttributes()}),!!t.length}let{hasDirtyAttributes:d}=e
2791
- return d?(this._leaveModalReason={reason:"post.hasDirtyAttributes === true",context:e.changedAttributes()},!0):d}_showSaveNotification(e,t,i){if("scheduled"===t)return this._showScheduledNotification(i)
2792
- let r,n,a,s=this.notifications,o=it.success.post[e][t]
2793
- n=this.get("post.displayName"),"published"!==t&&"scheduled"!==t||(a=this.get("post.url"),r=`<a href="${a}" target="_blank">View on site</a>`),o=(0,h.capitalizeFirstLetter)(n)+" "+o.toLowerCase(),s.showNotification(o,{type:"success",actions:r&&Ember.String.htmlSafe(r),delayed:i})}async _showScheduledNotification(e){let{publishedAtUTC:t,previewUrl:i,emailOnly:r,newsletter:n,displayName:a}=this.post,s=p.default.tz(t,this.settings.timezone),o=(0,h.capitalizeFirstLetter)(a)+" scheduled",l=r?["Will be sent"]:["Will be published"]
2805
+ return t.length&&(this._leaveModalReason={reason:"post.changedAttributes.length > 0",code:"NEW_POST_HAS_CHANGED_ATTRIBUTES",context:e.changedAttributes()}),!!t.length}let{hasDirtyAttributes:d}=e
2806
+ return d?(this._leaveModalReason={reason:"post.hasDirtyAttributes === true",code:"POST_HAS_DIRTY_ATTRIBUTES",context:e.changedAttributes()},!0):d}_showSaveNotification(e,t,i){if("scheduled"===t)return this._showScheduledNotification(i)
2807
+ let r,n,a,s=this.notifications,o=ot.success.post[e][t]
2808
+ n=this.get("post.displayName"),"published"!==t&&"scheduled"!==t||(a=this.get("post.url"),r=`<a href="${a}" target="_blank">View on site</a>`),o=(0,b.capitalizeFirstLetter)(n)+" "+o.toLowerCase(),s.showNotification(o,{type:"success",actions:r&&Ember.String.htmlSafe(r),delayed:i})}async _showScheduledNotification(e){let{publishedAtUTC:t,previewUrl:i,emailOnly:r,newsletter:n,displayName:a}=this.post,s=m.default.tz(t,this.settings.timezone),o=(0,b.capitalizeFirstLetter)(a)+" scheduled",l=r?["Will be sent"]:["Will be published"]
2794
2809
  if(n){const e=await this.membersCountCache.countString(this.post.fullRecipientFilter,{newsletter:n})
2795
2810
  l.push(`${r?"":"and delivered "}to <span><strong>${e}</strong></span>`)}l.push(`on <span><strong>${s.format("D MMM YYYY")}</strong></span>`)
2796
2811
  let u=""
2797
2812
  u=0===s.utcOffset()?"(UTC)</span>":`(UTC${s.format("Z").replace(/([+-])0/,"$1").replace(/:00/,"")})</span>`,l.push(`at <span><strong>${s.format("HH:mm")}</strong>&nbsp;${u}`),l=Ember.String.htmlSafe(l.join(" "))
2798
2813
  let c=Ember.String.htmlSafe(`<a href="${i}" target="_blank">Show preview</a>`)
2799
- return this.notifications.showNotification(o,{description:l,actions:c,type:"success",delayed:e})}_showErrorAlert(e,t,i,r){let n,a=it.errors.post[e][t],s=this.notifications
2800
- if((0,g.isServerUnreachableError)(i))n="Unable to connect, please check your internet connection and try again"
2814
+ return this.notifications.showNotification(o,{description:l,actions:c,type:"success",delayed:e})}_showErrorAlert(e,t,i,r){let n,a=ot.errors.post[e][t],s=this.notifications
2815
+ if((0,v.isServerUnreachableError)(i))n="Unable to connect, please check your internet connection and try again"
2801
2816
  else if(i&&(o=i,"[object String]"===toString.call(o)))n=i
2802
2817
  else if(i&&Ember.isArray(i))n=i[0]
2803
2818
  else{if(i&&i.payload&&i.payload.errors&&i.payload.errors[0].message)return this.notifications.showAPIError(i,{key:"post.save"})
2804
2819
  n="Unknown Error"}var o
2805
- a+=`: ${n}`,a=Ember.String.htmlSafe(a),s.showAlert(a,{type:"error",delayed:r,key:"post.save"})}},xe=Xe(ze.prototype,"application",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Se=Xe(ze.prototype,"feature",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ce=Xe(ze.prototype,"membersCountCache",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Me=Xe(ze.prototype,"modals",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),De=Xe(ze.prototype,"notifications",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae=Xe(ze.prototype,"router",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Le=Xe(ze.prototype,"slugGenerator",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ie=Xe(ze.prototype,"search",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ne=Xe(ze.prototype,"session",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=Xe(ze.prototype,"settings",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Fe=Xe(ze.prototype,"ui",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ue=Xe(ze.prototype,"config",[f.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Be=Xe(ze.prototype,"excerptErrorMessage",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),He=Xe(ze.prototype,"post",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ve=Xe(ze.prototype,"willPublish",[A],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qe=Xe(ze.prototype,"willSchedule",[L],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$e=Xe(ze.prototype,"saveTasks",[I],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ye=Xe(ze.prototype,"_tagNames",[N],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xe(ze.prototype,"hasDirtyAttributes",[R],Object.getOwnPropertyDescriptor(ze.prototype,"hasDirtyAttributes"),ze.prototype),Xe(ze.prototype,"_snippets",[F],Object.getOwnPropertyDescriptor(ze.prototype,"_snippets"),ze.prototype),Xe(ze.prototype,"snippets",[U],Object.getOwnPropertyDescriptor(ze.prototype,"snippets"),ze.prototype),Xe(ze.prototype,"collections",[B],Object.getOwnPropertyDescriptor(ze.prototype,"collections"),ze.prototype),Xe(ze.prototype,"canManageSnippets",[H],Object.getOwnPropertyDescriptor(ze.prototype,"canManageSnippets"),ze.prototype),Xe(ze.prototype,"_autosaveRunning",[V],Object.getOwnPropertyDescriptor(ze.prototype,"_autosaveRunning"),ze.prototype),Xe(ze.prototype,"_canAutosave",[q],Object.getOwnPropertyDescriptor(ze.prototype,"_canAutosave"),ze.prototype),Xe(ze.prototype,"titleHasTk",[$],Object.getOwnPropertyDescriptor(ze.prototype,"titleHasTk"),ze.prototype),Xe(ze.prototype,"excerptHasTk",[Y],Object.getOwnPropertyDescriptor(ze.prototype,"excerptHasTk"),ze.prototype),Xe(ze.prototype,"tkCount",[W],Object.getOwnPropertyDescriptor(ze.prototype,"tkCount"),ze.prototype),Xe(ze.prototype,"updateScratch",[G],Object.getOwnPropertyDescriptor(ze.prototype,"updateScratch"),ze.prototype),Xe(ze.prototype,"updateSecondaryInstanceModel",[K],Object.getOwnPropertyDescriptor(ze.prototype,"updateSecondaryInstanceModel"),ze.prototype),Xe(ze.prototype,"updateTitleScratch",[J],Object.getOwnPropertyDescriptor(ze.prototype,"updateTitleScratch"),ze.prototype),Xe(ze.prototype,"updateExcerpt",[X],Object.getOwnPropertyDescriptor(ze.prototype,"updateExcerpt"),ze.prototype),Xe(ze.prototype,"saveExcerptTask",[b.task],Object.getOwnPropertyDescriptor(ze.prototype,"saveExcerptTask"),ze.prototype),Xe(ze.prototype,"setSaveType",[Z],Object.getOwnPropertyDescriptor(ze.prototype,"setSaveType"),ze.prototype),Xe(ze.prototype,"save",[Q],Object.getOwnPropertyDescriptor(ze.prototype,"save"),ze.prototype),Xe(ze.prototype,"cancelAutosave",[ee],Object.getOwnPropertyDescriptor(ze.prototype,"cancelAutosave"),ze.prototype),Xe(ze.prototype,"leaveEditor",[te],Object.getOwnPropertyDescriptor(ze.prototype,"leaveEditor"),ze.prototype),Xe(ze.prototype,"openDeletePostModal",[ie],Object.getOwnPropertyDescriptor(ze.prototype,"openDeletePostModal"),ze.prototype),Xe(ze.prototype,"openUpgradeModal",[re],Object.getOwnPropertyDescriptor(ze.prototype,"openUpgradeModal"),ze.prototype),Xe(ze.prototype,"setKoenigEditor",[ne],Object.getOwnPropertyDescriptor(ze.prototype,"setKoenigEditor"),ze.prototype),Xe(ze.prototype,"updateWordCount",[ae],Object.getOwnPropertyDescriptor(ze.prototype,"updateWordCount"),ze.prototype),Xe(ze.prototype,"updatePostTkCount",[se],Object.getOwnPropertyDescriptor(ze.prototype,"updatePostTkCount"),ze.prototype),Xe(ze.prototype,"updateFeatureImageTkCount",[oe],Object.getOwnPropertyDescriptor(ze.prototype,"updateFeatureImageTkCount"),ze.prototype),Xe(ze.prototype,"setFeatureImage",[le],Object.getOwnPropertyDescriptor(ze.prototype,"setFeatureImage"),ze.prototype),Xe(ze.prototype,"registerEditorAPI",[ue],Object.getOwnPropertyDescriptor(ze.prototype,"registerEditorAPI"),ze.prototype),Xe(ze.prototype,"registerSecondaryEditorAPI",[ce],Object.getOwnPropertyDescriptor(ze.prototype,"registerSecondaryEditorAPI"),ze.prototype),Xe(ze.prototype,"clearFeatureImage",[de],Object.getOwnPropertyDescriptor(ze.prototype,"clearFeatureImage"),ze.prototype),Xe(ze.prototype,"setFeatureImageAlt",[pe],Object.getOwnPropertyDescriptor(ze.prototype,"setFeatureImageAlt"),ze.prototype),Xe(ze.prototype,"setFeatureImageCaption",[me],Object.getOwnPropertyDescriptor(ze.prototype,"setFeatureImageCaption"),ze.prototype),Xe(ze.prototype,"handleFeatureImageCaptionBlur",[he],Object.getOwnPropertyDescriptor(ze.prototype,"handleFeatureImageCaptionBlur"),ze.prototype),Xe(ze.prototype,"toggleSettingsMenu",[be],Object.getOwnPropertyDescriptor(ze.prototype,"toggleSettingsMenu"),ze.prototype),Xe(ze.prototype,"closeSettingsMenu",[fe],Object.getOwnPropertyDescriptor(ze.prototype,"closeSettingsMenu"),ze.prototype),Xe(ze.prototype,"saveNewSnippet",[ge],Object.getOwnPropertyDescriptor(ze.prototype,"saveNewSnippet"),ze.prototype),Xe(ze.prototype,"createSnippet",[ve],Object.getOwnPropertyDescriptor(ze.prototype,"createSnippet"),ze.prototype),Xe(ze.prototype,"confirmUpdateSnippet",[ye],Object.getOwnPropertyDescriptor(ze.prototype,"confirmUpdateSnippet"),ze.prototype),Xe(ze.prototype,"confirmDeleteSnippet",[we],Object.getOwnPropertyDescriptor(ze.prototype,"confirmDeleteSnippet"),ze.prototype),Xe(ze.prototype,"autosaveTask",[b.dropTask],Object.getOwnPropertyDescriptor(ze.prototype,"autosaveTask"),ze.prototype),Xe(ze.prototype,"saveTask",[Ee],Object.getOwnPropertyDescriptor(ze.prototype,"saveTask"),ze.prototype),Xe(ze.prototype,"beforeSaveTask",[b.task],Object.getOwnPropertyDescriptor(ze.prototype,"beforeSaveTask"),ze.prototype),Xe(ze.prototype,"updateSlugTask",[ke],Object.getOwnPropertyDescriptor(ze.prototype,"updateSlugTask"),ze.prototype),Xe(ze.prototype,"savePostTask",[Pe],Object.getOwnPropertyDescriptor(ze.prototype,"savePostTask"),ze.prototype),Xe(ze.prototype,"_savePostTask",[b.task],Object.getOwnPropertyDescriptor(ze.prototype,"_savePostTask"),ze.prototype),Xe(ze.prototype,"afterSave",[Oe],Object.getOwnPropertyDescriptor(ze.prototype,"afterSave"),ze.prototype),Xe(ze.prototype,"saveTitleTask",[b.task],Object.getOwnPropertyDescriptor(ze.prototype,"saveTitleTask"),ze.prototype),Xe(ze.prototype,"generateSlugTask",[b.enqueueTask],Object.getOwnPropertyDescriptor(ze.prototype,"generateSlugTask"),ze.prototype),Xe(ze.prototype,"backgroundLoaderTask",[b.restartableTask],Object.getOwnPropertyDescriptor(ze.prototype,"backgroundLoaderTask"),ze.prototype),Xe(ze.prototype,"syncMobiledocSnippets",[_e],Object.getOwnPropertyDescriptor(ze.prototype,"syncMobiledocSnippets"),ze.prototype),We=Xe(ze.prototype,"_autosaveTask",[je],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ge=Xe(ze.prototype,"_timedSaveTask",[Te],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ze)})),define("ghost-admin/controllers/lexical-editor/edit-loading",["exports"],(function(e){var t,i,r
2820
+ a+=`: ${n}`,a=Ember.String.htmlSafe(a),s.showAlert(a,{type:"error",delayed:r,key:"post.save"})}},De=it(Me.prototype,"application",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae=it(Me.prototype,"feature",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Le=it(Me.prototype,"membersCountCache",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ie=it(Me.prototype,"modals",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ne=it(Me.prototype,"notifications",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=it(Me.prototype,"router",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Fe=it(Me.prototype,"slugGenerator",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ue=it(Me.prototype,"search",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Be=it(Me.prototype,"session",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),He=it(Me.prototype,"settings",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ve=it(Me.prototype,"ui",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qe=it(Me.prototype,"localRevisions",[A],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$e=it(Me.prototype,"config",[g.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ye=it(Me.prototype,"excerptErrorMessage",[L],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),it(Me.prototype,"_pushPostState",[I],Object.getOwnPropertyDescriptor(Me.prototype,"_pushPostState"),Me.prototype),We=it(Me.prototype,"post",[N],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ge=it(Me.prototype,"willPublish",[R],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ke=it(Me.prototype,"willSchedule",[F],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Je=it(Me.prototype,"saveTasks",[U],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xe=it(Me.prototype,"_tagNames",[B],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),it(Me.prototype,"hasDirtyAttributes",[H],Object.getOwnPropertyDescriptor(Me.prototype,"hasDirtyAttributes"),Me.prototype),it(Me.prototype,"_snippets",[V],Object.getOwnPropertyDescriptor(Me.prototype,"_snippets"),Me.prototype),it(Me.prototype,"snippets",[q],Object.getOwnPropertyDescriptor(Me.prototype,"snippets"),Me.prototype),it(Me.prototype,"collections",[$],Object.getOwnPropertyDescriptor(Me.prototype,"collections"),Me.prototype),it(Me.prototype,"canManageSnippets",[Y],Object.getOwnPropertyDescriptor(Me.prototype,"canManageSnippets"),Me.prototype),it(Me.prototype,"_autosaveRunning",[W],Object.getOwnPropertyDescriptor(Me.prototype,"_autosaveRunning"),Me.prototype),it(Me.prototype,"_canAutosave",[G],Object.getOwnPropertyDescriptor(Me.prototype,"_canAutosave"),Me.prototype),it(Me.prototype,"titleHasTk",[K],Object.getOwnPropertyDescriptor(Me.prototype,"titleHasTk"),Me.prototype),it(Me.prototype,"excerptHasTk",[J],Object.getOwnPropertyDescriptor(Me.prototype,"excerptHasTk"),Me.prototype),it(Me.prototype,"tkCount",[X],Object.getOwnPropertyDescriptor(Me.prototype,"tkCount"),Me.prototype),it(Me.prototype,"updateScratch",[Z],Object.getOwnPropertyDescriptor(Me.prototype,"updateScratch"),Me.prototype),it(Me.prototype,"updateSecondaryInstanceModel",[Q],Object.getOwnPropertyDescriptor(Me.prototype,"updateSecondaryInstanceModel"),Me.prototype),it(Me.prototype,"updateTitleScratch",[ee],Object.getOwnPropertyDescriptor(Me.prototype,"updateTitleScratch"),Me.prototype),it(Me.prototype,"updateExcerpt",[te],Object.getOwnPropertyDescriptor(Me.prototype,"updateExcerpt"),Me.prototype),it(Me.prototype,"saveExcerptTask",[f.task],Object.getOwnPropertyDescriptor(Me.prototype,"saveExcerptTask"),Me.prototype),it(Me.prototype,"setSaveType",[ie],Object.getOwnPropertyDescriptor(Me.prototype,"setSaveType"),Me.prototype),it(Me.prototype,"save",[re],Object.getOwnPropertyDescriptor(Me.prototype,"save"),Me.prototype),it(Me.prototype,"cancelAutosave",[ne],Object.getOwnPropertyDescriptor(Me.prototype,"cancelAutosave"),Me.prototype),it(Me.prototype,"leaveEditor",[ae],Object.getOwnPropertyDescriptor(Me.prototype,"leaveEditor"),Me.prototype),it(Me.prototype,"openDeletePostModal",[se],Object.getOwnPropertyDescriptor(Me.prototype,"openDeletePostModal"),Me.prototype),it(Me.prototype,"openUpgradeModal",[oe],Object.getOwnPropertyDescriptor(Me.prototype,"openUpgradeModal"),Me.prototype),it(Me.prototype,"setKoenigEditor",[le],Object.getOwnPropertyDescriptor(Me.prototype,"setKoenigEditor"),Me.prototype),it(Me.prototype,"updateWordCount",[ue],Object.getOwnPropertyDescriptor(Me.prototype,"updateWordCount"),Me.prototype),it(Me.prototype,"updatePostTkCount",[ce],Object.getOwnPropertyDescriptor(Me.prototype,"updatePostTkCount"),Me.prototype),it(Me.prototype,"updateFeatureImageTkCount",[de],Object.getOwnPropertyDescriptor(Me.prototype,"updateFeatureImageTkCount"),Me.prototype),it(Me.prototype,"setFeatureImage",[pe],Object.getOwnPropertyDescriptor(Me.prototype,"setFeatureImage"),Me.prototype),it(Me.prototype,"registerEditorAPI",[me],Object.getOwnPropertyDescriptor(Me.prototype,"registerEditorAPI"),Me.prototype),it(Me.prototype,"registerSecondaryEditorAPI",[he],Object.getOwnPropertyDescriptor(Me.prototype,"registerSecondaryEditorAPI"),Me.prototype),it(Me.prototype,"clearFeatureImage",[be],Object.getOwnPropertyDescriptor(Me.prototype,"clearFeatureImage"),Me.prototype),it(Me.prototype,"setFeatureImageAlt",[fe],Object.getOwnPropertyDescriptor(Me.prototype,"setFeatureImageAlt"),Me.prototype),it(Me.prototype,"setFeatureImageCaption",[ge],Object.getOwnPropertyDescriptor(Me.prototype,"setFeatureImageCaption"),Me.prototype),it(Me.prototype,"handleFeatureImageCaptionBlur",[ve],Object.getOwnPropertyDescriptor(Me.prototype,"handleFeatureImageCaptionBlur"),Me.prototype),it(Me.prototype,"toggleSettingsMenu",[ye],Object.getOwnPropertyDescriptor(Me.prototype,"toggleSettingsMenu"),Me.prototype),it(Me.prototype,"closeSettingsMenu",[we],Object.getOwnPropertyDescriptor(Me.prototype,"closeSettingsMenu"),Me.prototype),it(Me.prototype,"saveNewSnippet",[Ee],Object.getOwnPropertyDescriptor(Me.prototype,"saveNewSnippet"),Me.prototype),it(Me.prototype,"createSnippet",[ke],Object.getOwnPropertyDescriptor(Me.prototype,"createSnippet"),Me.prototype),it(Me.prototype,"confirmUpdateSnippet",[Pe],Object.getOwnPropertyDescriptor(Me.prototype,"confirmUpdateSnippet"),Me.prototype),it(Me.prototype,"confirmDeleteSnippet",[Oe],Object.getOwnPropertyDescriptor(Me.prototype,"confirmDeleteSnippet"),Me.prototype),it(Me.prototype,"autosaveTask",[f.dropTask],Object.getOwnPropertyDescriptor(Me.prototype,"autosaveTask"),Me.prototype),it(Me.prototype,"saveTask",[_e],Object.getOwnPropertyDescriptor(Me.prototype,"saveTask"),Me.prototype),it(Me.prototype,"beforeSaveTask",[f.task],Object.getOwnPropertyDescriptor(Me.prototype,"beforeSaveTask"),Me.prototype),it(Me.prototype,"updateSlugTask",[je],Object.getOwnPropertyDescriptor(Me.prototype,"updateSlugTask"),Me.prototype),it(Me.prototype,"savePostTask",[Te],Object.getOwnPropertyDescriptor(Me.prototype,"savePostTask"),Me.prototype),it(Me.prototype,"_savePostTask",[f.task],Object.getOwnPropertyDescriptor(Me.prototype,"_savePostTask"),Me.prototype),it(Me.prototype,"afterSave",[ze],Object.getOwnPropertyDescriptor(Me.prototype,"afterSave"),Me.prototype),it(Me.prototype,"saveTitleTask",[f.task],Object.getOwnPropertyDescriptor(Me.prototype,"saveTitleTask"),Me.prototype),it(Me.prototype,"generateSlugTask",[f.enqueueTask],Object.getOwnPropertyDescriptor(Me.prototype,"generateSlugTask"),Me.prototype),it(Me.prototype,"backgroundLoaderTask",[f.restartableTask],Object.getOwnPropertyDescriptor(Me.prototype,"backgroundLoaderTask"),Me.prototype),it(Me.prototype,"syncMobiledocSnippets",[xe],Object.getOwnPropertyDescriptor(Me.prototype,"syncMobiledocSnippets"),Me.prototype),Ze=it(Me.prototype,"_autosaveTask",[Se],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Qe=it(Me.prototype,"_timedSaveTask",[Ce],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Me)})),define("ghost-admin/controllers/lexical-editor/edit-loading",["exports"],(function(e){var t,i,r
2806
2821
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2807
2822
  e.default=(t=Ember.inject.service,i=class extends Ember.Controller{constructor(...e){var t,i,n,a
2808
2823
  super(...e),t=this,i="ui",a=this,(n=r)&&Object.defineProperty(t,i,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(a):void 0})}},n=i.prototype,a="ui",s=[t],o={configurable:!0,enumerable:!0,writable:!0,initializer:null},u={},Object.keys(o).forEach((function(e){u[e]=o[e]})),u.enumerable=!!u.enumerable,u.configurable=!!u.configurable,("value"in u||u.initializer)&&(u.writable=!0),u=s.slice().reverse().reduce((function(e,t){return t(n,a,e)||e}),u),l&&void 0!==u.initializer&&(u.value=u.initializer?u.initializer.call(l):void 0,u.initializer=void 0),void 0===u.initializer&&(Object.defineProperty(n,a,u),u=null),r=u,i)
@@ -2857,10 +2872,8 @@ return t&&t.slug?i.length>1?`${r} match current filter`:`${r} matches current fi
2857
2872
  return e.unshiftObject({name:"All labels",slug:null}),e}get selectedLabel(){let{label:e,availableLabels:t}=this
2858
2873
  return t.findBy("slug",e)}get labelModalData(){return{label:this.modalLabel,labels:this.availableLabels}}get selectedPaidParam(){return this.paidParams.findBy("value",this.paidParam)||{value:"!unknown"}}get isFiltered(){return!!(this.label||this.paidParam||this.searchParam||this.filterParam)}get availableFilters(){return this.softFilters.length?this.softFilters:this.filters}get filterColumns(){const e=this.availableFilters.flatMap((e=>e.properties?.getColumns?e.properties?.getColumns(e).map((t=>({label:e.properties.columnLabel,...t,name:e.type}))):e.properties?.columnLabel?[{name:e.type,label:e.properties.columnLabel,getValue:e.properties.getColumnValue?t=>e.properties.getColumnValue(t,e):null}]:[]))
2859
2874
  return e.filter(((t,i)=>e.findIndex((e=>e.label===t.label))===i)).splice(0,2)}get isBulkDeletePermitted(){if(!this.isFiltered)return!1
2860
- const e=this.filters.filter((e=>"Newsletters"===e.group))
2861
- if(e&&e.length>=2)return!1
2862
- const t=this.filters.filter((e=>["subscriptions.plan_interval","subscriptions.status","subscriptions.start_date","subscriptions.current_period_end","conversion","offer_redemptions"].includes(e.type)))
2863
- return!(t&&t.length>=1)}includeTierQuery(){return(this.filters.length?this.filters:this.softFilters).some((e=>"tier"===e.type))}getApiQueryObject({params:e,extraFilters:t=[]}={}){let{label:i,paidParam:r,searchParam:n,filterParam:a}=e||this
2875
+ const e=this.filters.filter((e=>["subscriptions.plan_interval","subscriptions.status","subscriptions.start_date","subscriptions.current_period_end","conversion","offer_redemptions"].includes(e.type)))
2876
+ return!(e&&e.length>=1)}includeTierQuery(){return(this.filters.length?this.filters:this.softFilters).some((e=>"tier"===e.type))}getApiQueryObject({params:e,extraFilters:t=[]}={}){let{label:i,paidParam:r,searchParam:n,filterParam:a}=e||this
2864
2877
  if(a){const e=/\).*\(/;/^\(.*\)$/.test(a)&&!e.test(a)&&(a=a.slice(1,-1))}let s=[]
2865
2878
  s=s.concat(t),i&&s.push(`label:'${i}'`),null!==r&&("true"===r?s.push("status:-free"):s.push("status:free")),a&&s.push(a)
2866
2879
  let o=n?{search:n}:{}
@@ -3604,7 +3617,7 @@ if((0,h.isNotFoundError)(e)&&t){t.abort()
3604
3617
  let e=t?.to,i=this.router,r=[]
3605
3618
  if(e){for(let i of Object.keys(e.params))r.push(e.params[i])
3606
3619
  let t=i.urlFor(e.name,...r).replace(/^#\//,"").replace(/^\//,"").replace(/^ghost\//,"")
3607
- return this.replaceWith("error404",t)}}return(!(0,b.isVersionMismatchError)(e)||(t&&t.abort(),this.upgradeStatus.requireUpgrade(),!this._appLoaded))&&((!(0,b.isMaintenanceError)(e)||(t&&t.abort(),this.upgradeStatus.maintenanceAlert(),!this._appLoaded))&&!(((0,h.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){const i={dsn:this.config.sentry_dsn,environment:this.config.sentry_env,release:`ghost@${this.config.version}`,beforeSend:d.beforeSend,ignoreErrors:[/The play\(\) request was interrupted.*/,/The request is not allowed by the user agent or the platform in the current context/,/Server was unreachable/,/NetworkError when attempting to fetch resource./,/Failed to fetch/,/Load failed/,/The operation was aborted./,/^TransitionAborted$/,/^ResizeObserver loop completed with undelivered notifications/,/^ResizeObserver loop limit exceeded/,"TaskCancelation"],integrations:[]}
3620
+ return this.replaceWith("error404",t)}}return(!(0,b.isVersionMismatchError)(e)||(t&&t.abort(),this.upgradeStatus.requireUpgrade(),!this._appLoaded))&&((!(0,b.isMaintenanceError)(e)||(t&&t.abort(),this.upgradeStatus.maintenanceAlert(),!this._appLoaded))&&!(((0,h.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){const i={dsn:this.config.sentry_dsn,environment:this.config.sentry_env,release:`ghost@${this.config.version}`,beforeSend:d.beforeSend,ignoreErrors:[/The play\(\) request was interrupted.*/,/The request is not allowed by the user agent or the platform in the current context/,/Server was unreachable/,/NetworkError when attempting to fetch resource./,/Failed to fetch/,/Load failed/,/The operation was aborted./,/^TransitionAborted$/,/^ResizeObserver loop completed with undelivered notifications/,/^ResizeObserver loop limit exceeded/,"TaskCancelation"],integrations:[],beforeBreadcrumb:e=>"http"===e.category&&e.data?.url?.match(/\/e\.ghost\.org|plausible\.io/)?null:e}
3608
3621
  try{i.replaysOnErrorSampleRate=.5,i.integrations.push(new c.Replay({mask:[".koenig-lexical",".gh-dashboard"],unmask:['[role="menu"]','[data-testid="settings-panel"]',".gh-nav"],maskAllText:!1,maskAllInputs:!0,blockAllMedia:!0}))}catch(e){console.error("Error enabling Sentry Replay:",e)}"development"===this.config.sentry_env&&i.integrations.push(new u.Debug),t.init(i)}if(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"),setTimeout((()=>{(0,p.importComponent)(i.default.packageName)}),1e3)}})})),define("ghost-admin/routes/authenticated",["exports"],(function(e){var t,i,r
3609
3622
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3610
3623
  e.default=(t=Ember.inject.service,i=class extends Ember.Route{constructor(...e){var t,i,n,a
@@ -3672,7 +3685,7 @@ function l(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,config
3672
3685
  return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
3673
3686
  e.default=(t=Ember.inject.service,i=Ember.inject.service,r=Ember.inject.service,n=class extends Ember.Route{constructor(...e){super(...e),l(this,"feature",a,this),l(this,"modals",s,this),l(this,"router",o,this)}beforeModel(e){if(super.beforeModel(...arguments),"true"===e.to?.queryParams?.firstStart)return this.router.transitionTo("setup.done")
3674
3687
  this.router.transitionTo("dashboard")}resetController(e){e.firstStart=!1}},a=u(n.prototype,"feature",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=u(n.prototype,"modals",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),o=u(n.prototype,"router",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)})),define("ghost-admin/routes/lexical-editor",["exports","jquery","ghost-admin/routes/authenticated"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3675
- e.default=i.default.extend({feature:Ember.inject.service(),notifications:Ember.inject.service(),router:Ember.inject.service(),ui:Ember.inject.service(),classNames:["editor"],activate(){this._super(...arguments),this.ui.set("isFullScreen",!0)},setupController(e,t,i){"posts.analytics"===i.from?.name&&(e.fromAnalytics=!0)},resetController(e){e.fromAnalytics=!1},deactivate(){this._super(...arguments),this.ui.set("isFullScreen",!1)},actions:{save(){this._blurAndScheduleAction((function(){this.controller.send("save")}))},authorizationFailed(){},willTransition(e){if(this.get("upgradeStatus.isRequired"))return this._super(...arguments)
3688
+ e.default=i.default.extend({feature:Ember.inject.service(),notifications:Ember.inject.service(),router:Ember.inject.service(),ui:Ember.inject.service(),classNames:["editor"],activate(){this._super(...arguments),this.ui.set("isFullScreen",!0)},setupController(e,t,i){"posts.analytics"===i.from?.name&&"lexical-editor.new"!==i.to?.name&&(e.fromAnalytics=!0)},resetController(e){e.fromAnalytics=!1},deactivate(){this._super(...arguments),this.ui.set("isFullScreen",!1)},actions:{save(){this._blurAndScheduleAction((function(){this.controller.send("save")}))},authorizationFailed(){},willTransition(e){if(this.get("upgradeStatus.isRequired"))return this._super(...arguments)
3676
3689
  this.controller.willTransition(e)}},buildRouteInfoMetadata(){return{titleToken:()=>this.get("controller.post.title")||"Editor",bodyClasses:["gh-body-fullscreen"],mainClasses:["gh-main-white"]}},_blurAndScheduleAction(e){let i=(0,t.default)(document.activeElement)
3677
3690
  i.is('input[type="text"]')&&i.trigger("focusout"),Ember.run.scheduleOnce("actions",this,e)}})})),define("ghost-admin/routes/lexical-editor/edit",["exports","ghost-admin/routes/authenticated","ghost-admin/adapters/post","ember-inflector"],(function(e,t,i,r){var n,a,s
3678
3691
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -4308,7 +4321,40 @@ return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumera
4308
4321
  class m{constructor({errorType:e,errorDetails:t,message:i}){this.errorType=e,this.errorDetails=t,this.message=i}}class h extends m{constructor(e){super(Object.assign({errorType:"IncorrectUsageError"},e))}}class b extends m{constructor(e){super(Object.assign({errorType:"HostLimitError"},e))}}e.default=(r=Ember.inject.service,n=Ember.inject.service,a=Ember.inject.service,s=class extends Ember.Service{constructor(){super(...arguments),d(this,"store",o,this),d(this,"membersStats",l,this),d(this,"membersCountCache",u,this),d(this,"config",c,this)
4309
4322
  let e,i=this.config.hostSettings?.limits
4310
4323
  this.limiter=new t.default,i&&(e=!0===this.config.hostSettings?.billing?.enabled&&this.config.hostSettings?.billing?.url?this.config.hostSettings.billing?.url:"https://ghost.org/help/",this.limiter.loadLimits({limits:this.decorateWithCountQueries(i),helpLink:e,errors:{HostLimitError:b,IncorrectUsageError:h}}))}async checkWouldGoOverLimit(e,t={}){return this.limiter.checkWouldGoOverLimit(e,t)}decorateWithCountQueries(e){return e.staff&&(e.staff.currentCountQuery=Ember.run.bind(this,this.getStaffUsersCount)),e.members&&(e.members.currentCountQuery=Ember.run.bind(this,this.getMembersCount)),e.newsletters&&(e.newsletters.currentCountQuery=Ember.run.bind(this,this.getNewslettersCount)),e}async getStaffUsersCount(){return Ember.RSVP.hash({users:this.store.findAll("user",{reload:!0}),invites:this.store.findAll("invite",{reload:!0}),roles:this.store.findAll("role",{reload:!0})}).then((e=>{const t=e.users.filter((e=>"inactive"!==e.get("status")&&"Contributor"!==e.role.get("name"))),i=e.invites.filter((e=>"Contributor"!==e.role.get("name")))
4311
- return t.length+i.length}))}async getMembersCount(){return this.membersCountCache.count({})}async getNewslettersCount(){return(await this.store.query("newsletter",{filter:"status:active",limit:"all"})).length}},o=p(s.prototype,"store",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=p(s.prototype,"membersStats",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=p(s.prototype,"membersCountCache",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=p(s.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s)})),define("ghost-admin/services/liquid-fire-transitions",["exports","liquid-wormhole/services/liquid-fire-transitions"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/liquid-wormhole",["exports","liquid-wormhole/services/liquid-wormhole"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/media-queries",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4324
+ return t.length+i.length}))}async getMembersCount(){return this.membersCountCache.count({})}async getNewslettersCount(){return(await this.store.query("newsletter",{filter:"status:active",limit:"all"})).length}},o=p(s.prototype,"store",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=p(s.prototype,"membersStats",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=p(s.prototype,"membersCountCache",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=p(s.prototype,"config",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s)})),define("ghost-admin/services/liquid-fire-transitions",["exports","liquid-wormhole/services/liquid-fire-transitions"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/liquid-wormhole",["exports","liquid-wormhole/services/liquid-wormhole"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/local-revisions",["exports","ghost-admin/config/environment","ember-concurrency"],(function(e,t,i){var r,n,a,s
4325
+ function o(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
4326
+ var i=e[Symbol.toPrimitive]
4327
+ if(void 0!==i){var r=i.call(e,t||"default")
4328
+ if("object"!=typeof r)return r
4329
+ throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
4330
+ return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function l(e,t,i,r,n){var a={}
4331
+ return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
4332
+ e.default=(r=Ember.inject.service,n=(0,i.task)({keepLatest:!0}),a=class extends Ember.Service{constructor(){var e,i,r,n
4333
+ super(...arguments),e=this,i="store",n=this,(r=s)&&Object.defineProperty(e,i,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0}),o(this,"_prefix","post-revision"),o(this,"latestRevisionTime",null),o(this,"_indexKey","ghost-revisions"),void 0===this.isTesting&&(this.isTesting="test"===t.default.environment),this.MIN_REVISION_TIME=this.isTesting?50:6e4,this.performSave=this.performSave.bind(this)}generateKey(e){return`${this._prefix}-${e.id}-${e.revisionTimestamp}`}*saveTask(e,t){const r=Date.now()
4334
+ if(!this.lastRevisionTime||r-this.lastRevisionTime>this.MIN_REVISION_TIME)yield this.performSave(e,t),this.lastRevisionTime=r
4335
+ else{const n=this.MIN_REVISION_TIME-(r-this.lastRevisionTime)
4336
+ yield(0,i.timeout)(n),yield this.performSave(e,t),this.lastRevisionTime=Date.now()}}performSave(e,t){t.id=t.id||"draft",t.type=e,t.revisionTimestamp=Date.now()
4337
+ const i=this.generateKey(t)
4338
+ try{const e=this.keys()
4339
+ return e.push(i),localStorage.setItem(this._indexKey,JSON.stringify(e)),localStorage.setItem(i,JSON.stringify(t)),i}catch(r){if("QuotaExceededError"===r.name&&(this.remove(i),this.keys().length))return this.removeOldest(),this.performSave(e,t)}}scheduleSave(e,t){this.saveTask.perform(e,t)}find(e){return JSON.parse(localStorage.getItem(e))}findAll(e=void 0){const t=this.keys(e),i={}
4340
+ for(const r of t)i[r]=JSON.parse(localStorage.getItem(r))
4341
+ return i}remove(e){localStorage.removeItem(e)
4342
+ const t=this.keys()
4343
+ let i=t.indexOf(e);-1!==i&&t.splice(i,1),localStorage.setItem(this._indexKey,JSON.stringify(t))}removeOldest(){const e=this.keys().map((e=>({key:e,timestamp:this.find(e).revisionTimestamp})))
4344
+ e.sort(((e,t)=>e.timestamp-t.timestamp)),this.remove(e[0].key)}clear(){const e=this.keys()
4345
+ for(const t of e)this.remove(t)}keys(e=void 0){let t=JSON.parse(localStorage.getItem(this._indexKey)||"[]")
4346
+ return e&&(t=t.filter((t=>t.startsWith(e)))),t}list(){const e=this.findAll(),t={}
4347
+ for(const[i,r]of Object.entries(e))t[r.title]||(t[r.title]=[]),t[r.title].push({key:i,timestamp:r.revisionTimestamp,time:new Date(r.revisionTimestamp).toLocaleString(),title:r.title,type:r.type,id:r.id})
4348
+ console.groupCollapsed("Local revisions")
4349
+ for(const[i,r]of Object.entries(t)){console.groupCollapsed(`${i}`)
4350
+ for(const e of r.sort(((e,t)=>t.timestamp-e.timestamp)))console.groupCollapsed(`${e.time}`),console.log("Revision ID: ",e.key),console.groupEnd()
4351
+ console.groupEnd()}console.groupEnd()}async restore(e){try{const t=this.find(e)
4352
+ let i=[]
4353
+ if(t.authors)for(const e of t.authors){const t=await this.store.queryRecord("user",{id:e.id})
4354
+ i.push(t)}let r=this.store.createRecord("post",{title:`(Restored) ${t.title}`,lexical:t.lexical,authors:i,type:t.type,slug:t.slug||"untitled",status:"draft",tags:t.tags||[],post_revisions:[]})
4355
+ await r.save()
4356
+ const n=window.location,a=`${n.origin}${n.pathname}#/editor/${r.get("type")}/${r.id}`
4357
+ return console.log("Post restored: ",a),r}catch(t){console.warn(t)}}},s=l(a.prototype,"store",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l(a.prototype,"saveTask",[n],Object.getOwnPropertyDescriptor(a.prototype,"saveTask"),a.prototype),a)})),define("ghost-admin/services/media-queries",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4312
4358
  const t={maxWidth600:"(max-width: 600px)",isMobile:"(max-width: 800px)",maxWidth900:"(max-width: 900px)",maxWidth1000:"(max-width: 1000px)"}
4313
4359
  class i extends(Ember.Service.extend(Ember.Evented)){init(){super.init(...arguments),this._handlers=[],this.loadQueries(t)}loadQueries(e){Object.keys(e).forEach((t=>{this.loadQuery(t,e[t])}))}loadQuery(e,t){let i=window.matchMedia(t)
4314
4360
  this.set(e,i.matches)
@@ -4480,11 +4526,11 @@ e.checklistState="completed",await this._saveSettings(e)}async dismissChecklist(
4480
4526
  e.checklistState="dismissed",await this._saveSettings(e)}isStepCompleted(e){return this.completedSteps.includes(e)}async markStepCompleted(e){if(this.isStepCompleted(e))return
4481
4527
  const t=this.settings
4482
4528
  t.completedSteps.push(e),await this._saveSettings(t)}async reset(){await this._saveSettings(void 0)}async _saveSettings(e){const t=JSON.parse(this.session.user.accessibility||"{}")
4483
- t.onboarding=e,this.session.user.accessibility=JSON.stringify(t),await this.session.user.save()}},u=d(l.prototype,"session",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d(l.prototype,"startChecklist",[i],Object.getOwnPropertyDescriptor(l.prototype,"startChecklist"),l.prototype),d(l.prototype,"completeChecklist",[r],Object.getOwnPropertyDescriptor(l.prototype,"completeChecklist"),l.prototype),d(l.prototype,"dismissChecklist",[n],Object.getOwnPropertyDescriptor(l.prototype,"dismissChecklist"),l.prototype),d(l.prototype,"isStepCompleted",[a],Object.getOwnPropertyDescriptor(l.prototype,"isStepCompleted"),l.prototype),d(l.prototype,"markStepCompleted",[s],Object.getOwnPropertyDescriptor(l.prototype,"markStepCompleted"),l.prototype),d(l.prototype,"reset",[o],Object.getOwnPropertyDescriptor(l.prototype,"reset"),l.prototype),l)})),define("ghost-admin/services/power-calendar",["exports","ember-power-calendar/services/power-calendar"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/resize-detector",["exports","element-resize-detector"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4529
+ t.onboarding=e,this.session.user.accessibility=JSON.stringify(t),await this.session.user.save()}},u=d(l.prototype,"session",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d(l.prototype,"startChecklist",[i],Object.getOwnPropertyDescriptor(l.prototype,"startChecklist"),l.prototype),d(l.prototype,"completeChecklist",[r],Object.getOwnPropertyDescriptor(l.prototype,"completeChecklist"),l.prototype),d(l.prototype,"dismissChecklist",[n],Object.getOwnPropertyDescriptor(l.prototype,"dismissChecklist"),l.prototype),d(l.prototype,"isStepCompleted",[a],Object.getOwnPropertyDescriptor(l.prototype,"isStepCompleted"),l.prototype),d(l.prototype,"markStepCompleted",[s],Object.getOwnPropertyDescriptor(l.prototype,"markStepCompleted"),l.prototype),d(l.prototype,"reset",[o],Object.getOwnPropertyDescriptor(l.prototype,"reset"),l.prototype),l)})),define("ghost-admin/services/power-calendar",["exports","ember-power-calendar/services/power-calendar"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}))
4530
+ define("ghost-admin/services/resize-detector",["exports","element-resize-detector"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4484
4531
  class i extends Ember.Service{constructor(){super(...arguments),this.detector=(0,t.default)({strategy:"scroll"})}setup(e,t){const i="string"==typeof e?document.querySelector(e):e
4485
4532
  i||console.error(`service:resize-detector - could not find element matching ${e}`),this.detector.listenTo(i,t)}teardown(e,t){const i="string"==typeof e?document.querySelector(e):e
4486
- i&&this.detector.removeListener(i,t)}}e.default=i}))
4487
- define("ghost-admin/services/search-provider-basic",["exports","ember-inflector","ember-concurrency"],(function(e,t,i){var r,n,a,s,o,l,u
4533
+ i&&this.detector.removeListener(i,t)}}e.default=i})),define("ghost-admin/services/search-provider-basic",["exports","ember-inflector","ember-concurrency"],(function(e,t,i){var r,n,a,s,o,l,u
4488
4534
  function c(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function d(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
4489
4535
  var i=e[Symbol.toPrimitive]
4490
4536
  if(void 0!==i){var r=i.call(e,t||"default")
@@ -4664,9 +4710,9 @@ e.default=Ember.HTMLBars.template({id:"ds+gecsL",block:'{"symbols":["&default"],
4664
4710
  e.default=Ember.HTMLBars.template({id:"dnghnOtX",block:'{"symbols":["&default"],"statements":[[6,[37,2],[[35,1]],null,[["default","else"],[{"statements":[[2," "],[11,"a"],[24,6,"#"],[4,[38,0],[[32,0],"selectForDrag"],null],[12],[2,"\\n "],[18,1,null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[18,1,null],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["action","enableClicking","if"]}',moduleName:"ghost-admin/templates/components/draggable-object.hbs"})})),define("ghost-admin/templates/components/object-bin",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4665
4711
  e.default=Ember.HTMLBars.template({id:"fMRICE3+",block:'{"symbols":["obj","&default"],"statements":[[6,[37,5],null,[["action"],["handleObjectDropped"]],[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"object-bin-title"],[12],[1,[34,1]],[13],[2,"\\n "],[10,"br"],[12],[13],[2,"\\n"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[35,2]],null]],null]],null,[["default"],[{"statements":[[6,[37,0],null,[["action","content"],["handleObjectDragged",[32,1]]],[["default"],[{"statements":[[2," "],[18,2,[[32,1]]],[2,"\\n"]],"parameters":[]}]]]],"parameters":[1]}]]]],"parameters":[]}]]]],"hasEval":false,"upvars":["draggable-object","name","model","-track-array","each","draggable-object-target"]}',moduleName:"ghost-admin/templates/components/object-bin.hbs"})})),define("ghost-admin/templates/components/sortable-objects",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4666
4712
  e.default=Ember.HTMLBars.template({id:"c7MHeoWa",block:'{"symbols":["&default"],"statements":[[18,1,null]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/components/sortable-objects.hbs"})})),define("ghost-admin/templates/dashboard",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4667
- e.default=Ember.HTMLBars.template({id:"fBNS8eP9",block:'{"symbols":["option","dropdown","mention"],"statements":[[11,"section"],[24,0,"gh-canvas"],[4,[38,13],null,null],[12],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard"],[12],[2,"\\n"],[6,[37,1],[[32,0,["onboarding","isChecklistShown"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header sticky"],[24,"data-test-dashboard","header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"\\n Dashboard\\n "],[13],[2,"\\n"],[6,[37,1],[[32,0,["isTotalMembersZero"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-select"],[12],[2,"\\n "],[11,"div"],[4,[38,10],[[32,0,["loadMentions"]]],null],[12],[2,"\\n"],[6,[37,0],[[30,[36,11],["webmentions"],null]],null,[["default"],[{"statements":[[2," "],[8,"gh-basic-dropdown",[],[["@horizontalPosition","@verticalPosition","@onOpen"],["right","below",[32,0,["markMentionsRead"]]]],[["default"],[{"statements":[[2,"\\n "],[8,[32,2,["Trigger"]],[[24,0,"outline-0 pointer"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"button"],[14,0,"gh-dashboard-mentions-icon"],[14,4,"button"],[12],[2,"\\n"],[6,[37,0],[[32,0,["hasNewMentions"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,4],["notification-bell-indicator"],null]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[1,[30,[36,4],["notification-bell"],null]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,[32,2,["Content"]],[[24,0,"gh-dashboard-mentions-container"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-mentions"],[12],[2,"\\n"],[6,[37,0],[[32,0,["mentions"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-mentions-header"],[12],[2,"\\n "],[10,"h2"],[14,0,"gh-dashboard-mentions-heading"],[12],[2,"Mentions"],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-dashboard-mentions-see-all"]],[["@route"],["mentions"]],[["default"],[{"statements":[[2,"View all mentions →"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[12],[2,"\\n"],[6,[37,0],[[32,0,["mentions"]]],null,[["default","else"],[{"statements":[[6,[37,9],[[30,[36,8],[[30,[36,8],[[32,0,["mentions"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"a"],[15,6,[31,[[32,3,["source"]]]]],[14,0,"gh-dashboard-mention"],[14,"rel","noreferrer noopener"],[14,"target","_blank"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-mention-content"],[12],[2,"\\n "],[10,"img"],[15,"src",[31,[[32,3,["sourceFavicon"]]]]],[15,"alt",[31,[[32,3,["sourceSiteTitle"]]]]],[14,0,"w5 h5 mr2 flex-shrink-0"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-dashboard-mention-title"],[12],[1,[30,[36,5],[[32,3,["sourceSiteTitle"]],[32,3,["sourceTitle"]]],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-mention-link-icon"],[12],[2,"\\n "],[1,[30,[36,4],["twitter-link"],null]],[2,"\\n "],[13],[2,"\\n"],[6,[37,0],[[30,[36,6],[[32,3,["mentions","length"]],1],null]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-dashboard-mention-target"],[12],[1,[32,3,["mentions","length"]]],[2," links"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"gh-dashboard-mention-target"],[12],[1,[30,[36,0],[[32,3,["resource"]],[32,3,["resource","name"]],[32,3,["target"]]],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"span"],[14,0,"gh-dashboard-mention-timestamp"],[12],[1,[30,[36,7],[[32,3,["timestamp"]]],null]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[3]}]]]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"gh-mentions-list-cta"],[12],[2,"\\n "],[1,[30,[36,4],["email-love-letter"],[["class"],["love-letter"]]]],[2,"\\n "],[10,"h4"],[12],[2,"No mentions yet"],[13],[2,"\\n "],[10,"p"],[12],[2,"When other sites mention your posts or pages, they\'ll appear here."],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "]],"parameters":[2]}]]],[2,"\\n\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[8,"power-select",[],[["@selected","@options","@searchEnabled","@onChange","@triggerComponent","@triggerClass","@dropdownClass","@matchTriggerWidth","@horizontalPosition"],[[32,0,["selectedDaysOption"]],[32,0,["daysOptions"]],false,[32,0,["onDaysChange"]],[30,[36,12],["gh-power-select/trigger"],null],"gh-contentfilter-menu-trigger","gh-contentfilter-menu-dropdown is-narrow",false,"right"]],[["default"],[{"statements":[[2,"\\n "],[6,[37,0],[[32,1,["name"]]],null,[["default","else"],[{"statements":[[1,[32,1,["name"]]]],"parameters":[]},{"statements":[[10,"span"],[14,0,"red"],[12],[2,"Unknown option"],[13]],"parameters":[]}]]],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"section"],[14,0,"gh-dashboard-layout"],[12],[2,"\\n"],[6,[37,0],[[32,0,["isLoading"]]],null,[["default","else"],[{"statements":[[2," "],[8,"gh-loading-spinner",[],[[],[]],null],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,0],[[32,0,["onboarding","isChecklistShown"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/onboarding-checklist",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[6,[37,0],[[30,[36,3],[[32,0,["areMembersEnabled"]],[30,[36,2],[[32,0,["onboarding","isChecklistShown"]]],null]],null]],null,[["default"],[{"statements":[[6,[37,0],[[32,0,["hasPaidTiers"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/charts/overview",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[15,0,[31,["gh-dashboard-group ",[30,[36,0],[[32,0,["isTotalMembersZero"]],"is-zero"],null]]]],[14,"data-test-dashboard","attribution"],[12],[2,"\\n "],[8,"dashboard/charts/anchor-attribution",[],[[],[]],null],[2,"\\n"],[6,[37,0],[[32,0,["hasPaidTiers"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,0,"gh-dashboard-section"],[12],[2,"\\n "],[10,"article"],[14,0,"gh-dashboard-box gh-dashboard-minicharts-attribution"],[12],[2,"\\n "],[8,"dashboard/charts/paid-breakdown",[],[[],[]],null],[2,"\\n "],[8,"dashboard/charts/paid-mix",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,1],[[32,0,["membersUtils","isMembersInviteOnly"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/charts/attribution",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[6,[37,0],[[32,0,["areNewslettersEnabled"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/charts/engagement",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,0],[[32,0,["isTotalMembersZero"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/parts/zero",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,1],[[32,0,["onboarding","isChecklistShown"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-recents-mentions"],[12],[2,"\\n "],[8,"dashboard/charts/recents",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-dashboard-split gh-dashboard-box is-secondary"],[12],[2,"\\n "],[8,"dashboard/resources/resources",[],[[],[]],null],[2,"\\n "],[8,"dashboard/resources/newsletter",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n\\n "],[8,"dashboard/resources/explore-feed",[],[[],[]],null],[2,"\\n\\n "],[10,"div"],[14,0,"gh-dashboard-split gh-dashboard-box no-boarder"],[12],[2,"\\n "],[8,"dashboard/resources/community",[],[[],[]],null],[2,"\\n "],[8,"dashboard/resources/whats-new",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,0],[[30,[36,14],null,null]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/prototype/control-panel",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["if","unless","not","and","svg-jar","or","gt","moment-from-now","-track-array","each","did-insert","feature","component","scroll-top","enable-developer-experiments"]}',moduleName:"ghost-admin/templates/dashboard.hbs"})})),define("ghost-admin/templates/demo-x",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4668
- e.default=Ember.HTMLBars.template({id:"HD8kGgv0",block:'{"symbols":[],"statements":[[8,"admin-x/demo",[],[[],[]],null],[2,"\\n"]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/demo-x.hbs"})}))
4669
- define("ghost-admin/templates/designsandbox",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4713
+ e.default=Ember.HTMLBars.template({id:"fBNS8eP9",block:'{"symbols":["option","dropdown","mention"],"statements":[[11,"section"],[24,0,"gh-canvas"],[4,[38,13],null,null],[12],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard"],[12],[2,"\\n"],[6,[37,1],[[32,0,["onboarding","isChecklistShown"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header sticky"],[24,"data-test-dashboard","header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"\\n Dashboard\\n "],[13],[2,"\\n"],[6,[37,1],[[32,0,["isTotalMembersZero"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-select"],[12],[2,"\\n "],[11,"div"],[4,[38,10],[[32,0,["loadMentions"]]],null],[12],[2,"\\n"],[6,[37,0],[[30,[36,11],["webmentions"],null]],null,[["default"],[{"statements":[[2," "],[8,"gh-basic-dropdown",[],[["@horizontalPosition","@verticalPosition","@onOpen"],["right","below",[32,0,["markMentionsRead"]]]],[["default"],[{"statements":[[2,"\\n "],[8,[32,2,["Trigger"]],[[24,0,"outline-0 pointer"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"button"],[14,0,"gh-dashboard-mentions-icon"],[14,4,"button"],[12],[2,"\\n"],[6,[37,0],[[32,0,["hasNewMentions"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,4],["notification-bell-indicator"],null]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[1,[30,[36,4],["notification-bell"],null]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,[32,2,["Content"]],[[24,0,"gh-dashboard-mentions-container"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-mentions"],[12],[2,"\\n"],[6,[37,0],[[32,0,["mentions"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-mentions-header"],[12],[2,"\\n "],[10,"h2"],[14,0,"gh-dashboard-mentions-heading"],[12],[2,"Mentions"],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-dashboard-mentions-see-all"]],[["@route"],["mentions"]],[["default"],[{"statements":[[2,"View all mentions →"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[12],[2,"\\n"],[6,[37,0],[[32,0,["mentions"]]],null,[["default","else"],[{"statements":[[6,[37,9],[[30,[36,8],[[30,[36,8],[[32,0,["mentions"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"a"],[15,6,[31,[[32,3,["source"]]]]],[14,0,"gh-dashboard-mention"],[14,"rel","noreferrer noopener"],[14,"target","_blank"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-mention-content"],[12],[2,"\\n "],[10,"img"],[15,"src",[31,[[32,3,["sourceFavicon"]]]]],[15,"alt",[31,[[32,3,["sourceSiteTitle"]]]]],[14,0,"w5 h5 mr2 flex-shrink-0"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-dashboard-mention-title"],[12],[1,[30,[36,5],[[32,3,["sourceSiteTitle"]],[32,3,["sourceTitle"]]],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-mention-link-icon"],[12],[2,"\\n "],[1,[30,[36,4],["twitter-link"],null]],[2,"\\n "],[13],[2,"\\n"],[6,[37,0],[[30,[36,6],[[32,3,["mentions","length"]],1],null]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-dashboard-mention-target"],[12],[1,[32,3,["mentions","length"]]],[2," links"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"gh-dashboard-mention-target"],[12],[1,[30,[36,0],[[32,3,["resource"]],[32,3,["resource","name"]],[32,3,["target"]]],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"span"],[14,0,"gh-dashboard-mention-timestamp"],[12],[1,[30,[36,7],[[32,3,["timestamp"]]],null]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[3]}]]]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"gh-mentions-list-cta"],[12],[2,"\\n "],[1,[30,[36,4],["email-love-letter"],[["class"],["love-letter"]]]],[2,"\\n "],[10,"h4"],[12],[2,"No mentions yet"],[13],[2,"\\n "],[10,"p"],[12],[2,"When other sites mention your posts or pages, they\'ll appear here."],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "]],"parameters":[2]}]]],[2,"\\n\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[8,"power-select",[],[["@selected","@options","@searchEnabled","@onChange","@triggerComponent","@triggerClass","@dropdownClass","@matchTriggerWidth","@horizontalPosition"],[[32,0,["selectedDaysOption"]],[32,0,["daysOptions"]],false,[32,0,["onDaysChange"]],[30,[36,12],["gh-power-select/trigger"],null],"gh-contentfilter-menu-trigger","gh-contentfilter-menu-dropdown is-narrow",false,"right"]],[["default"],[{"statements":[[2,"\\n "],[6,[37,0],[[32,1,["name"]]],null,[["default","else"],[{"statements":[[1,[32,1,["name"]]]],"parameters":[]},{"statements":[[10,"span"],[14,0,"red"],[12],[2,"Unknown option"],[13]],"parameters":[]}]]],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"section"],[14,0,"gh-dashboard-layout"],[12],[2,"\\n"],[6,[37,0],[[32,0,["isLoading"]]],null,[["default","else"],[{"statements":[[2," "],[8,"gh-loading-spinner",[],[[],[]],null],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,0],[[32,0,["onboarding","isChecklistShown"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/onboarding-checklist",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[6,[37,0],[[30,[36,3],[[32,0,["areMembersEnabled"]],[30,[36,2],[[32,0,["onboarding","isChecklistShown"]]],null]],null]],null,[["default"],[{"statements":[[6,[37,0],[[32,0,["hasPaidTiers"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/charts/overview",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[15,0,[31,["gh-dashboard-group ",[30,[36,0],[[32,0,["isTotalMembersZero"]],"is-zero"],null]]]],[14,"data-test-dashboard","attribution"],[12],[2,"\\n "],[8,"dashboard/charts/anchor-attribution",[],[[],[]],null],[2,"\\n"],[6,[37,0],[[32,0,["hasPaidTiers"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,0,"gh-dashboard-section"],[12],[2,"\\n "],[10,"article"],[14,0,"gh-dashboard-box gh-dashboard-minicharts-attribution"],[12],[2,"\\n "],[8,"dashboard/charts/paid-breakdown",[],[[],[]],null],[2,"\\n "],[8,"dashboard/charts/paid-mix",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,1],[[32,0,["membersUtils","isMembersInviteOnly"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/charts/attribution",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[6,[37,0],[[32,0,["areNewslettersEnabled"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/charts/engagement",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,0],[[32,0,["isTotalMembersZero"]]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/parts/zero",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,1],[[32,0,["onboarding","isChecklistShown"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-recents-mentions"],[12],[2,"\\n "],[8,"dashboard/charts/recents",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-dashboard-split gh-dashboard-box is-secondary"],[12],[2,"\\n "],[8,"dashboard/resources/resources",[],[[],[]],null],[2,"\\n "],[8,"dashboard/resources/newsletter",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n\\n "],[8,"dashboard/resources/explore-feed",[],[[],[]],null],[2,"\\n\\n "],[10,"div"],[14,0,"gh-dashboard-split gh-dashboard-box no-boarder"],[12],[2,"\\n "],[8,"dashboard/resources/community",[],[[],[]],null],[2,"\\n "],[8,"dashboard/resources/whats-new",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,0],[[30,[36,14],null,null]],null,[["default"],[{"statements":[[2," "],[8,"dashboard/prototype/control-panel",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["if","unless","not","and","svg-jar","or","gt","moment-from-now","-track-array","each","did-insert","feature","component","scroll-top","enable-developer-experiments"]}',moduleName:"ghost-admin/templates/dashboard.hbs"})}))
4714
+ define("ghost-admin/templates/demo-x",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4715
+ e.default=Ember.HTMLBars.template({id:"HD8kGgv0",block:'{"symbols":[],"statements":[[8,"admin-x/demo",[],[[],[]],null],[2,"\\n"]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/demo-x.hbs"})})),define("ghost-admin/templates/designsandbox",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4670
4716
  e.default=Ember.HTMLBars.template({id:"OrtUKLm2",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 Components\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"section"],[14,0,"view-container gh-ds"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Post bookmark"],[13],[2,"\\n "],[8,"gh-post-bookmark",[],[["@post"],[[32,0,["model"]]]],null],[2,"\\n\\n "],[10,"h2"],[14,0,""],[12],[2,"Buttons"],[13],[2,"\\n "],[10,"ul"],[14,0,"nostyle"],[12],[2,"\\n "],[10,"li"],[12],[10,"button"],[14,0,"gh-btn gh-btn-primary"],[14,4,"button"],[12],[10,"span"],[12],[2,"Primary button"],[13],[13],[13],[2,"\\n "],[10,"li"],[12],[10,"button"],[14,0,"gh-btn"],[14,4,"button"],[12],[10,"span"],[12],[2,"Regular button"],[13],[13],[13],[2,"\\n "],[10,"li"],[12],[10,"button"],[14,0,"gh-btn gh-btn-blue"],[14,4,"button"],[12],[10,"span"],[12],[2,"Blue button"],[13],[13],[13],[2,"\\n "],[10,"li"],[12],[10,"button"],[14,0,"gh-btn gh-btn-green"],[14,4,"button"],[12],[10,"span"],[12],[2,"Green button"],[13],[13],[13],[2,"\\n "],[10,"li"],[12],[10,"button"],[14,0,"gh-btn gh-btn-red"],[14,4,"button"],[12],[10,"span"],[12],[2,"Red button"],[13],[13],[13],[2,"\\n "],[10,"li"],[12],[10,"button"],[14,0,"gh-btn gh-btn-outline"],[14,4,"button"],[12],[10,"span"],[12],[2,"Outline button"],[13],[13],[13],[2,"\\n "],[10,"li"],[12],[10,"button"],[14,0,"gh-btn gh-btn-primary gh-btn-large"],[14,4,"button"],[12],[10,"span"],[12],[2,"Large button"],[13],[13],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"h2"],[14,0,""],[12],[2,"Lists"],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-list"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-row header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-header"],[12],[2,"Column 1"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header"],[12],[2,"Column 2"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header"],[12],[2,"Column 3"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-row"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"h3"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"span"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"span"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-row"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"h3"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"span"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"span"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-row"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"h3"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"span"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-data"],[12],[2,"\\n "],[10,"span"],[12],[2,"Data"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"h2"],[14,0,"mt8"],[12],[2,"Sections"],[13],[2,"\\n\\n "],[10,"section"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Single column"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content"],[12],[2,"\\n "],[10,"div"],[12],[2,"Column 1"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"section"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Section heading"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content columns-2"],[12],[2,"\\n "],[10,"div"],[12],[2,"Column 1"],[13],[2,"\\n "],[10,"div"],[12],[2,"Column 2"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"section"],[14,0,"gh-main-section columns-2"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-block"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Block 1"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content grey"],[12],[2,"Contents"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-block"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Block 2"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content grey"],[12],[2,"Contents"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"h2"],[14,0,"mt8"],[12],[2,"Setting area"],[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,"Section heading"],[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,"Title"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Description"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[2,"[ACTION]"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[2,"[CONTENT - OPTIONAL / HIDDEN FOR EXPANDABLE]"],[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,"Title"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Description"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[2,"[ACTION]"],[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,"Title"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"Description"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[2,"[ACTION]"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/designsandbox.hbs"})})),define("ghost-admin/templates/error",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4671
4717
  e.default=Ember.HTMLBars.template({id:"5C/w8dFA",block:'{"symbols":["item"],"statements":[[10,"div"],[14,0,"gh-view"],[12],[2,"\\n\\n "],[10,"section"],[14,0,"flex flex-column items-center flex-grow justify-center h-100 nt10"],[12],[2,"\\n "],[10,"div"],[14,0,"absolute error-background nudge-right--5"],[12],[2,"\\n "],[1,[30,[36,3],["desert"],[["class"],["error-background absolute"]]]],[2,"\\n "],[10,"div"],[14,0,"traveler-1"],[12],[1,[30,[36,3],["tumbleweed"],[["class"],["w6 h6 absolute bouncer-1"]]]],[13],[2,"\\n "],[10,"div"],[14,0,"traveler-2"],[12],[1,[30,[36,3],["tumbleweed"],[["class"],["w11 h11 absolute bouncer-2"]]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"mt5 tc"],[12],[2,"\\n "],[10,"h1"],[14,0,"midlightgrey error-code-size fw6"],[12],[1,[32,0,["code"]]],[13],[2,"\\n "],[10,"h2"],[14,0,"midlightgrey f4 fw3"],[12],[1,[32,0,["message"]]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,0],[[32,0,["stack"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,0,"error-stack"],[12],[2,"\\n "],[10,"h3"],[12],[2,"Stack Trace"],[13],[2,"\\n "],[10,"p"],[12],[10,"strong"],[12],[1,[32,0,["message"]]],[13],[13],[2,"\\n "],[10,"ul"],[14,0,"error-stack-list"],[12],[2,"\\n"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[32,0,["stack"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[12],[2,"\\n at\\n "],[6,[37,0],[[32,1,["function"]]],null,[["default"],[{"statements":[[10,"em"],[14,0,"error-stack-function"],[12],[1,[32,1,["function"]]],[13]],"parameters":[]}]]],[2,"\\n "],[10,"span"],[14,0,"error-stack-file"],[12],[2,"("],[1,[32,1,["at"]]],[2,")"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[13],[2,"\\n"]],"hasEval":false,"upvars":["if","-track-array","each","svg-jar"]}',moduleName:"ghost-admin/templates/error.hbs"})})),define("ghost-admin/templates/explore/connect",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4672
4718
  e.default=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"})})),define("ghost-admin/templates/lexical-editor",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -4695,9 +4741,9 @@ e.default=Ember.HTMLBars.template({id:"53Jg8toH",block:'{"symbols":[],"statement
4695
4741
  e.default=Ember.HTMLBars.template({id:"ZmdRoE9K",block:'{"symbols":["option"],"statements":[[10,"section"],[14,0,"gh-stats gh-canvas gh-canvas-sticky"],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header sticky break tablet post-header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-custom-view-title",[],[["@title"],["Stats"]],null],[2,"\\n "],[10,"div"],[14,0,"view-actions"],[12],[2,"\\n "],[8,"stats/parts/audience-filter",[],[["@excludedAudiences","@onChange"],[[32,0,["excludedAudiences"]],[32,0,["onAudienceChange"]]]],null],[2,"\\n\\n "],[8,"power-select",[],[["@selected","@options","@searchEnabled","@onChange","@triggerComponent","@triggerClass","@dropdownClass","@matchTriggerWidth","@horizontalPosition"],[[32,0,["selectedRangeOption"]],[32,0,["rangeOptions"]],false,[32,0,["onRangeChange"]],[30,[36,0],["gh-power-select/trigger"],null],"gh-btn","gh-contentfilter-menu-dropdown is-narrow",false,"right"]],[["default"],[{"statements":[[2,"\\n "],[6,[37,1],[[32,1,["name"]]],null,[["default","else"],[{"statements":[[1,[32,1,["name"]]]],"parameters":[]},{"statements":[[10,"span"],[14,0,"red"],[12],[2,"Unknown option"],[13]],"parameters":[]}]]],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"section"],[14,0,"view-container"],[12],[2,"\\n "],[10,"section"],[14,0,"gh-stats-container no-gap"],[12],[2,"\\n "],[8,"stats/kpis-overview",[],[["@chartRange","@audience"],[[32,0,["chartRange"]],[32,0,["audience"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[10,"section"],[14,0,"gh-stats-grid cols-2"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stats-container"],[12],[2,"\\n "],[8,"stats/charts/top-pages",[],[["@chartRange","@audience"],[[32,0,["chartRange"]],[32,0,["audience"]]]],null],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-stats-container"],[12],[2,"\\n "],[8,"stats/charts/top-sources",[],[["@chartRange","@audience"],[[32,0,["chartRange"]],[32,0,["audience"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"section"],[14,0,"gh-stats-grid cols-2"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stats-container"],[12],[2,"\\n "],[8,"stats/charts/top-locations",[],[["@chartRange","@audience"],[[32,0,["chartRange"]],[32,0,["audience"]]]],null],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-stats-container"],[12],[2,"\\n "],[8,"stats/technical-overview",[],[["@chartRange","@audience"],[[32,0,["chartRange"]],[32,0,["audience"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[13],[2,"\\n\\n"],[13]],"hasEval":false,"upvars":["component","if"]}',moduleName:"ghost-admin/templates/stats.hbs"})})),define("ghost-admin/templates/tag",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4696
4742
  e.default=Ember.HTMLBars.template({id:"pRa53Jnf",block:'{"symbols":[],"statements":[[10,"section"],[14,0,"gh-canvas"],[12],[2,"\\n "],[10,"form"],[14,0,"mb15"],[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",[[24,"data-test-link","tags-back"]],[["@route"],["tags"]],[["default"],[{"statements":[[2,"\\n Tags\\n "]],"parameters":[]}]]],[2,"\\n "],[1,[30,[36,1],["arrow-right-small"],null]],[2," "],[1,[30,[36,2],[[32,0,["tag","isNew"]],"New tag","Edit tag"],null]],[2,"\\n "],[13],[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"\\n "],[1,[30,[36,2],[[32,0,["tag","isNew"]],"New tag",[32,0,["tag","name"]]],null]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"section"],[14,0,"view-actions"],[12],[2,"\\n "],[8,"gh-task-button",[[4,[38,3],["cmd+s"],null]],[["@task","@type","@class","@data-test-button"],[[32,0,["saveTask"]],"button","gh-btn gh-btn-primary gh-btn-icon","save"]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"tags/tag-form",[],[["@tag"],[[32,0,["model"]]]],null],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,4],[[32,0,["tag","isNew"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-red gh-btn-icon"],[24,"data-test-button","delete-tag"],[24,4,"button"],[4,[38,0],["click",[32,0,["confirmDeleteTag"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Delete tag"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[13]],"hasEval":false,"upvars":["on","svg-jar","if","on-key","unless"]}',moduleName:"ghost-admin/templates/tag.hbs"})})),define("ghost-admin/templates/tags-loading",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4697
4743
  e.default=Ember.HTMLBars.template({id:"azfzT5cR",block:'{"symbols":[],"statements":[[10,"section"],[14,0,"gh-canvas"],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header sticky"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"Tags"],[13],[2,"\\n "],[10,"section"],[14,0,"view-actions"],[12],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn gh-btn-primary"]],[["@route"],["tag.new"]],[["default"],[{"statements":[[10,"span"],[12],[2,"New tag"],[13]],"parameters":[]}]]],[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":[]}',moduleName:"ghost-admin/templates/tags-loading.hbs"})})),define("ghost-admin/templates/tags",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4698
- e.default=Ember.HTMLBars.template({id:"d4mHUhIz",block:'{"symbols":["tag"],"statements":[[11,"section"],[24,0,"gh-canvas"],[4,[38,1],["c",[32,0,["newTag"]]],null],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header sticky"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"Tags"],[13],[2,"\\n "],[10,"section"],[14,0,"view-actions"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-contentfilter gh-btn-group"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,2],[[32,0,["type"]],"public"],null],"gh-btn-group-selected"],null]]]],[24,"data-test-tags-nav","public"],[16,"data-test-active",[30,[36,2],[[32,0,["type"]],"public"],null]],[24,4,"button"],[4,[38,4],[[32,0],"changeType","public"],null],[12],[10,"span"],[12],[2,"Public tags"],[13],[13],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,2],[[32,0,["type"]],"internal"],null],"gh-btn-group-selected"],null]]]],[24,"data-test-tags-nav","internal"],[16,"data-test-active",[30,[36,2],[[32,0,["type"]],"internal"],null]],[24,4,"button"],[4,[38,4],[[32,0],"changeType","internal"],null],[12],[10,"span"],[12],[2,"Internal tags"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn gh-btn-primary"]],[["@route"],["tag.new"]],[["default"],[{"statements":[[10,"span"],[12],[2,"New tag"],[13]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"section"],[14,0,"view-container content-list"],[12],[2,"\\n "],[10,"ol"],[15,0,[31,["tags-list gh-list ",[30,[36,5],[[32,0,["sortedTags"]],"no-posts"],null]]]],[12],[2,"\\n"],[6,[37,3],[[32,0,["sortedTags"]]],null,[["default","else"],[{"statements":[[2," "],[10,"li"],[14,0,"gh-list-row header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-70"],[12],[2,"Tag"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-10"],[12],[2,"Slug"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-10"],[12],[2,"No. of posts"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-10"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[8,"vertical-collection",[],[["@items","@key","@containerSelector","@estimateHeight","@bufferSize"],[[32,0,["sortedTags"]],"id",".gh-main",60,20]],[["default"],[{"statements":[[2,"\\n "],[8,"tags/list-item",[[16,"data-test-tag",[32,1,["id"]]]],[["@tag"],[[32,1]]],null],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"li"],[14,0,"no-posts-box"],[12],[2,"\\n "],[10,"div"],[14,0,"no-posts"],[12],[2,"\\n "],[1,[30,[36,0],["tags-placeholder"],[["class"],["gh-tags-placeholder"]]]],[2,"\\n "],[10,"h4"],[12],[2,"Start organizing your content."],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn gh-btn-green"]],[["@route"],["tag.new"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"Create a new tag"],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[1,[30,[36,7],[[30,[36,6],null,null]],null]]],"hasEval":false,"upvars":["svg-jar","on-key","eq","if","action","unless","-outlet","component"]}',moduleName:"ghost-admin/templates/tags.hbs"})})),define("ghost-admin/templates/whatsnew",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4699
- e.default=Ember.HTMLBars.template({id:"lAtDNk3B",block:'{"symbols":["entry"],"statements":[[11,"section"],[24,0,"gh-canvas js-settings-content gh-whats-new-canvas"],[4,[38,4],null,null],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h2"],[14,0,"gh-whats-new-heading"],[12],[1,[30,[36,5],["gift"],null]],[2," What\'s new?"],[13],[2,"\\n "],[10,"a"],[14,6,"https://ghost.org/changelog/#/portal/signup"],[14,0,"gh-btn gh-btn-primary"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[14,4,"button"],[12],[10,"span"],[12],[2,"Turn on notifications"],[13],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[10,"section"],[14,0,"view-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-about-container"],[12],[2,"\\n "],[11,"section"],[24,0,"gh-whats-new gh-about-box"],[4,[38,7],[[30,[36,6],[[32,0,["whatsNew","updateLastSeen"]]],null]],null],[12],[2,"\\n"],[6,[37,9],[[30,[36,8],[[30,[36,8],[[32,0,["whatsNew","entries"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"div"],[24,0,"gh-wn-entry"],[4,[38,1],null,[["when"],[[30,[36,0],[[32,1,["slug"]],[32,0,["entry"]]],null]]]],[12],[2,"\\n "],[10,"a"],[15,6,[31,[[32,1,["url"]]]]],[12],[2,"\\n "],[10,"h4"],[12],[1,[30,[36,2],[[32,1,["published_at"]],"DD MMMM YYYY"],null]],[13],[2,"\\n "],[10,"h1"],[12],[1,[32,1,["title"]]],[13],[2,"\\n"],[6,[37,3],[[32,1,["feature_image"]]],null,[["default"],[{"statements":[[2," "],[10,"img"],[14,0,"mb5"],[15,"src",[32,1,["feature_image"]]],[12],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-wn-content"],[12],[2,"\\n"],[6,[37,3],[[32,1,["custom_excerpt"]]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[1,[32,1,["custom_excerpt"]]],[13],[2,"\\n "],[10,"a"],[15,6,[32,1,["url"]]],[14,0,"dib fw6 mb6"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"Read the full post →"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[2,[32,1,["html"]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[10,"a"],[14,0,"green"],[14,6,"https://ghost.org/changelog"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"View all updates →"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["eq","scroll-to","moment-format","if","scroll-top","svg-jar","perform","did-insert","-track-array","each"]}',moduleName:"ghost-admin/templates/whatsnew.hbs"})}))
4700
- define("ghost-admin/transforms/boolean",["exports","@ember-data/serializer/-private"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.BooleanTransform}})})),define("ghost-admin/transforms/date",["exports","@ember-data/serializer/-private"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.DateTransform}})})),define("ghost-admin/transforms/facebook-url-user",["exports","@ember-data/serializer/transform"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4744
+ e.default=Ember.HTMLBars.template({id:"d4mHUhIz",block:'{"symbols":["tag"],"statements":[[11,"section"],[24,0,"gh-canvas"],[4,[38,1],["c",[32,0,["newTag"]]],null],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header sticky"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[14,"data-test-screen-title",""],[12],[2,"Tags"],[13],[2,"\\n "],[10,"section"],[14,0,"view-actions"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-contentfilter gh-btn-group"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,2],[[32,0,["type"]],"public"],null],"gh-btn-group-selected"],null]]]],[24,"data-test-tags-nav","public"],[16,"data-test-active",[30,[36,2],[[32,0,["type"]],"public"],null]],[24,4,"button"],[4,[38,4],[[32,0],"changeType","public"],null],[12],[10,"span"],[12],[2,"Public tags"],[13],[13],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,2],[[32,0,["type"]],"internal"],null],"gh-btn-group-selected"],null]]]],[24,"data-test-tags-nav","internal"],[16,"data-test-active",[30,[36,2],[[32,0,["type"]],"internal"],null]],[24,4,"button"],[4,[38,4],[[32,0],"changeType","internal"],null],[12],[10,"span"],[12],[2,"Internal tags"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn gh-btn-primary"]],[["@route"],["tag.new"]],[["default"],[{"statements":[[10,"span"],[12],[2,"New tag"],[13]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[10,"section"],[14,0,"view-container content-list"],[12],[2,"\\n "],[10,"ol"],[15,0,[31,["tags-list gh-list ",[30,[36,5],[[32,0,["sortedTags"]],"no-posts"],null]]]],[12],[2,"\\n"],[6,[37,3],[[32,0,["sortedTags"]]],null,[["default","else"],[{"statements":[[2," "],[10,"li"],[14,0,"gh-list-row header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-70"],[12],[2,"Tag"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-10"],[12],[2,"Slug"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-10"],[12],[2,"No. of posts"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-10"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[8,"vertical-collection",[],[["@items","@key","@containerSelector","@estimateHeight","@bufferSize"],[[32,0,["sortedTags"]],"id",".gh-main",60,20]],[["default"],[{"statements":[[2,"\\n "],[8,"tags/list-item",[[16,"data-test-tag",[32,1,["id"]]]],[["@tag"],[[32,1]]],null],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"li"],[14,0,"no-posts-box"],[12],[2,"\\n "],[10,"div"],[14,0,"no-posts"],[12],[2,"\\n "],[1,[30,[36,0],["tags-placeholder"],[["class"],["gh-tags-placeholder"]]]],[2,"\\n "],[10,"h4"],[12],[2,"Start organizing your content."],[13],[2,"\\n "],[8,"link-to",[[24,0,"gh-btn gh-btn-green"]],[["@route"],["tag.new"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[2,"Create a new tag"],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[1,[30,[36,7],[[30,[36,6],null,null]],null]]],"hasEval":false,"upvars":["svg-jar","on-key","eq","if","action","unless","-outlet","component"]}',moduleName:"ghost-admin/templates/tags.hbs"})}))
4745
+ define("ghost-admin/templates/whatsnew",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4746
+ e.default=Ember.HTMLBars.template({id:"lAtDNk3B",block:'{"symbols":["entry"],"statements":[[11,"section"],[24,0,"gh-canvas js-settings-content gh-whats-new-canvas"],[4,[38,4],null,null],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h2"],[14,0,"gh-whats-new-heading"],[12],[1,[30,[36,5],["gift"],null]],[2," What\'s new?"],[13],[2,"\\n "],[10,"a"],[14,6,"https://ghost.org/changelog/#/portal/signup"],[14,0,"gh-btn gh-btn-primary"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[14,4,"button"],[12],[10,"span"],[12],[2,"Turn on notifications"],[13],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[10,"section"],[14,0,"view-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-about-container"],[12],[2,"\\n "],[11,"section"],[24,0,"gh-whats-new gh-about-box"],[4,[38,7],[[30,[36,6],[[32,0,["whatsNew","updateLastSeen"]]],null]],null],[12],[2,"\\n"],[6,[37,9],[[30,[36,8],[[30,[36,8],[[32,0,["whatsNew","entries"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"div"],[24,0,"gh-wn-entry"],[4,[38,1],null,[["when"],[[30,[36,0],[[32,1,["slug"]],[32,0,["entry"]]],null]]]],[12],[2,"\\n "],[10,"a"],[15,6,[31,[[32,1,["url"]]]]],[12],[2,"\\n "],[10,"h4"],[12],[1,[30,[36,2],[[32,1,["published_at"]],"DD MMMM YYYY"],null]],[13],[2,"\\n "],[10,"h1"],[12],[1,[32,1,["title"]]],[13],[2,"\\n"],[6,[37,3],[[32,1,["feature_image"]]],null,[["default"],[{"statements":[[2," "],[10,"img"],[14,0,"mb5"],[15,"src",[32,1,["feature_image"]]],[12],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-wn-content"],[12],[2,"\\n"],[6,[37,3],[[32,1,["custom_excerpt"]]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[1,[32,1,["custom_excerpt"]]],[13],[2,"\\n "],[10,"a"],[15,6,[32,1,["url"]]],[14,0,"dib fw6 mb6"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"Read the full post →"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[2,[32,1,["html"]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[10,"a"],[14,0,"green"],[14,6,"https://ghost.org/changelog"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"View all updates →"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["eq","scroll-to","moment-format","if","scroll-top","svg-jar","perform","did-insert","-track-array","each"]}',moduleName:"ghost-admin/templates/whatsnew.hbs"})})),define("ghost-admin/transforms/boolean",["exports","@ember-data/serializer/-private"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.BooleanTransform}})})),define("ghost-admin/transforms/date",["exports","@ember-data/serializer/-private"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.DateTransform}})})),define("ghost-admin/transforms/facebook-url-user",["exports","@ember-data/serializer/transform"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4701
4747
  class i extends t.default{deserialize(e){if(e){let[,t]=e.match(/(\S+)/)||[]
4702
4748
  return`https://www.facebook.com/${t}`}return e}serialize(e){if(e){let[,t]=e.match(/(?:https:\/\/)(?:www\.)(?:facebook\.com)\/(?:#!\/)?(\w+\/?\S+)/im)||[]
4703
4749
  return t}return e}}e.default=i})),define("ghost-admin/transforms/json-string",["exports","@ember-data/serializer/transform"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -4722,8 +4768,8 @@ return t=Ember.isArray(e)?e.map((e=>e.get("name").trim())).compact():[],t}}e.def
4722
4768
  class i extends t.default{deserialize(e){if(e){let[,t]=e.match(/@?([^/]*)/)||[]
4723
4769
  return`https://twitter.com/${t}`}return e}serialize(e){if(e){let[,t]=e.match(/(?:https:\/\/)(?:twitter\.com)\/(?:#!\/)?@?([^/]*)/)||[]
4724
4770
  return`@${t}`}return e}}e.default=i})),define("ghost-admin/transforms/visibility-string",["exports","@ember-data/serializer/transform"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4725
- class i extends t.default{deserialize(e){return"members"===e?"status:free,status:-free":"paid"===e?"status:-free":e}serialize(e){return"status:free,status:-free"===e?"members":"status:-free"===e?"paid":e}}e.default=i})),define("ghost-admin/transitions",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){this.transition(this.hasClass("fullscreen-modal-container"),this.toValue(!0),this.use("fade",{duration:150}),this.reverse("fade",{duration:150})),this.transition(this.hasClass("fade-transition"),this.use("crossFade",{duration:100}))}})),define("ghost-admin/transitions/cross-fade",["exports","liquid-fire/transitions/cross-fade"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/default",["exports","liquid-fire/transitions/default"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/explode",["exports","liquid-fire/transitions/explode"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/fade",["exports","liquid-fire/transitions/fade"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/flex-grow",["exports","liquid-fire/transitions/flex-grow"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/fly-to",["exports","liquid-fire/transitions/fly-to"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/move-over",["exports","liquid-fire/transitions/move-over"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/scale",["exports","liquid-fire/transitions/scale"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/scroll-then",["exports","liquid-fire/transitions/scroll-then"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/to-down",["exports","liquid-fire/transitions/to-down"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/to-left",["exports","liquid-fire/transitions/to-left"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/to-right",["exports","liquid-fire/transitions/to-right"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/to-up",["exports","liquid-fire/transitions/to-up"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}))
4726
- define("ghost-admin/transitions/wait",["exports","liquid-fire/transitions/wait"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/wormhole",["exports","liquid-wormhole/transitions/wormhole"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){let e
4771
+ class i extends t.default{deserialize(e){return"members"===e?"status:free,status:-free":"paid"===e?"status:-free":e}serialize(e){return"status:free,status:-free"===e?"members":"status:-free"===e?"paid":e}}e.default=i})),define("ghost-admin/transitions",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){this.transition(this.hasClass("fullscreen-modal-container"),this.toValue(!0),this.use("fade",{duration:150}),this.reverse("fade",{duration:150})),this.transition(this.hasClass("fade-transition"),this.use("crossFade",{duration:100}))}})),define("ghost-admin/transitions/cross-fade",["exports","liquid-fire/transitions/cross-fade"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/default",["exports","liquid-fire/transitions/default"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/explode",["exports","liquid-fire/transitions/explode"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/fade",["exports","liquid-fire/transitions/fade"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/flex-grow",["exports","liquid-fire/transitions/flex-grow"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/fly-to",["exports","liquid-fire/transitions/fly-to"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/move-over",["exports","liquid-fire/transitions/move-over"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/scale",["exports","liquid-fire/transitions/scale"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/scroll-then",["exports","liquid-fire/transitions/scroll-then"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/to-down",["exports","liquid-fire/transitions/to-down"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/to-left",["exports","liquid-fire/transitions/to-left"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/to-right",["exports","liquid-fire/transitions/to-right"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}))
4772
+ define("ghost-admin/transitions/to-up",["exports","liquid-fire/transitions/to-up"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/wait",["exports","liquid-fire/transitions/wait"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/transitions/wormhole",["exports","liquid-wormhole/transitions/wormhole"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){let e
4727
4773
  this.newElement&&(e=this.newElement.find(".liquid-wormhole-element:last-child"))
4728
4774
  return t.default.apply(this,arguments).finally((()=>{if(this.newElement&&e){let t=e[0].querySelector("[autofocus]")
4729
4775
  t&&t.focus()}}))}})),define("ghost-admin/utils/analytics",["exports"],(function(e){function t(){return window.posthog?.__loaded}Object.defineProperty(e,"__esModule",{value:!0}),e.identifyUser=async function(e){if(!t())return
@@ -4839,9 +4885,9 @@ return n.priceLabel=d(n),n.validityDetails=c(n,!!n.priceLabel),n},e.isActive=n,e
4839
4885
  e.default={changeLocation(e){window.location=e},replaceLocation(e){window.location.replace(e)},replaceState(e,t,i){window.history.replaceState(e,t,i)}}})),define("ghost-admin/validators/base",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4840
4886
  e.default=Ember.Object.extend({passed:!1,init(){this._super(...arguments),this.properties=this.properties||[]},check(e,t){return this.set("passed",!0),t&&this[t]?this[t](e):this.properties.forEach((t=>{this[t]&&this[t](e)})),this.passed},invalidate(){this.set("passed",!1)}})})),define("ghost-admin/validators/collection",["exports","ghost-admin/validators/base"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4841
4887
  e.default=t.default.create({properties:["title"],name(e){let t=e.title,i=e.hasValidated
4842
- Ember.isBlank(t)&&(e.errors.add("title","Please enter a title."),this.invalidate()),i.addObject("title")}})})),define("ghost-admin/validators/custom-view",["exports","ghost-admin/validators/base"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4843
- e.default=t.default.create({properties:["name"],name(e){Ember.isBlank(e.name)&&(e.errors.add("name","Please enter a name"),e.hasValidated.pushObject("name"),this.invalidate())}})}))
4844
- define("ghost-admin/validators/integration",["exports","ghost-admin/validators/base","validator"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4888
+ Ember.isBlank(t)&&(e.errors.add("title","Please enter a title."),this.invalidate()),i.addObject("title")}})}))
4889
+ define("ghost-admin/validators/custom-view",["exports","ghost-admin/validators/base"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4890
+ e.default=t.default.create({properties:["name"],name(e){Ember.isBlank(e.name)&&(e.errors.add("name","Please enter a name"),e.hasValidated.pushObject("name"),this.invalidate())}})})),define("ghost-admin/validators/integration",["exports","ghost-admin/validators/base","validator"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4845
4891
  e.default=t.default.create({properties:["name"],name(e){Ember.isBlank(e.name)?(e.errors.add("name","Please enter a name"),e.hasValidated.pushObject("name"),this.invalidate()):i.default.isLength(e.name,0,191)||(e.errors.add("name","Name is too long, max 191 chars"),e.hasValidated.pushObject("name"),this.invalidate())}})})),define("ghost-admin/validators/invite-user",["exports","ghost-admin/validators/base","validator"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
4846
4892
  e.default=t.default.create({properties:["email","role"],email(e){let t=e.email
4847
4893
  Ember.isBlank(t)?(e.errors.add("email","Please enter an email."),this.invalidate()):i.default.isEmail(t)||(e.errors.add("email","Invalid Email."),this.invalidate())},role(e){let t=e.role
@@ -4917,4 +4963,4 @@ e.default=t.default.create({properties:["name","event","targetUrl","secret"],nam
4917
4963
  e.default=Ember.Component.extend({})})),define("ghost-admin/config/environment",[],(function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),i={default:JSON.parse(decodeURIComponent(t))}
4918
4964
  return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"5.94",name:"ghost-admin"})
4919
4965
 
4920
- //# sourceMappingURL=ghost-ed9208f0fec319ea6fb9476f0aa7fd86.map
4966
+ //# sourceMappingURL=ghost-ed4e3ccf164c788157cb65f4543b5852.map