ghost 5.42.2 → 5.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.43.0.tgz +0 -0
  2. package/components/tryghost-adapter-cache-redis-5.43.0.tgz +0 -0
  3. package/components/{tryghost-adapter-manager-5.42.2.tgz → tryghost-adapter-manager-5.43.0.tgz} +0 -0
  4. package/components/{tryghost-api-framework-5.42.2.tgz → tryghost-api-framework-5.43.0.tgz} +0 -0
  5. package/components/{tryghost-api-version-compatibility-service-5.42.2.tgz → tryghost-api-version-compatibility-service-5.43.0.tgz} +0 -0
  6. package/components/{tryghost-audience-feedback-5.42.2.tgz → tryghost-audience-feedback-5.43.0.tgz} +0 -0
  7. package/components/{tryghost-bootstrap-socket-5.42.2.tgz → tryghost-bootstrap-socket-5.43.0.tgz} +0 -0
  8. package/components/tryghost-constants-5.43.0.tgz +0 -0
  9. package/components/{tryghost-custom-theme-settings-service-5.42.2.tgz → tryghost-custom-theme-settings-service-5.43.0.tgz} +0 -0
  10. package/components/{tryghost-data-generator-5.42.2.tgz → tryghost-data-generator-5.43.0.tgz} +0 -0
  11. package/components/tryghost-domain-events-5.43.0.tgz +0 -0
  12. package/components/tryghost-dynamic-routing-events-5.43.0.tgz +0 -0
  13. package/components/{tryghost-email-analytics-provider-mailgun-5.42.2.tgz → tryghost-email-analytics-provider-mailgun-5.43.0.tgz} +0 -0
  14. package/components/{tryghost-email-analytics-service-5.42.2.tgz → tryghost-email-analytics-service-5.43.0.tgz} +0 -0
  15. package/components/tryghost-email-content-generator-5.43.0.tgz +0 -0
  16. package/components/tryghost-email-events-5.43.0.tgz +0 -0
  17. package/components/{tryghost-email-service-5.42.2.tgz → tryghost-email-service-5.43.0.tgz} +0 -0
  18. package/components/{tryghost-email-suppression-list-5.42.2.tgz → tryghost-email-suppression-list-5.43.0.tgz} +0 -0
  19. package/components/tryghost-event-aware-cache-wrapper-5.43.0.tgz +0 -0
  20. package/components/{tryghost-express-dynamic-redirects-5.42.2.tgz → tryghost-express-dynamic-redirects-5.43.0.tgz} +0 -0
  21. package/components/{tryghost-external-media-inliner-5.42.2.tgz → tryghost-external-media-inliner-5.43.0.tgz} +0 -0
  22. package/components/tryghost-extract-api-key-5.43.0.tgz +0 -0
  23. package/components/tryghost-html-to-plaintext-5.43.0.tgz +0 -0
  24. package/components/tryghost-i18n-5.43.0.tgz +0 -0
  25. package/components/tryghost-importer-handler-content-files-5.43.0.tgz +0 -0
  26. package/components/tryghost-importer-revue-5.43.0.tgz +0 -0
  27. package/components/{tryghost-job-manager-5.42.2.tgz → tryghost-job-manager-5.43.0.tgz} +0 -0
  28. package/components/tryghost-link-redirects-5.43.0.tgz +0 -0
  29. package/components/{tryghost-link-replacer-5.42.2.tgz → tryghost-link-replacer-5.43.0.tgz} +0 -0
  30. package/components/{tryghost-link-tracking-5.42.2.tgz → tryghost-link-tracking-5.43.0.tgz} +0 -0
  31. package/components/tryghost-magic-link-5.43.0.tgz +0 -0
  32. package/components/tryghost-mailgun-client-5.43.0.tgz +0 -0
  33. package/components/tryghost-member-attribution-5.43.0.tgz +0 -0
  34. package/components/tryghost-member-events-5.43.0.tgz +0 -0
  35. package/components/{tryghost-members-api-5.42.2.tgz → tryghost-members-api-5.43.0.tgz} +0 -0
  36. package/components/tryghost-members-csv-5.43.0.tgz +0 -0
  37. package/components/{tryghost-members-events-service-5.42.2.tgz → tryghost-members-events-service-5.43.0.tgz} +0 -0
  38. package/components/tryghost-members-importer-5.43.0.tgz +0 -0
  39. package/components/{tryghost-members-offers-5.42.2.tgz → tryghost-members-offers-5.43.0.tgz} +0 -0
  40. package/components/tryghost-members-payments-5.43.0.tgz +0 -0
  41. package/components/{tryghost-members-ssr-5.42.2.tgz → tryghost-members-ssr-5.43.0.tgz} +0 -0
  42. package/components/{tryghost-members-stripe-service-5.42.2.tgz → tryghost-members-stripe-service-5.43.0.tgz} +0 -0
  43. package/components/{tryghost-mentions-email-report-5.42.2.tgz → tryghost-mentions-email-report-5.43.0.tgz} +0 -0
  44. package/components/{tryghost-milestones-5.42.2.tgz → tryghost-milestones-5.43.0.tgz} +0 -0
  45. package/components/{tryghost-minifier-5.42.2.tgz → tryghost-minifier-5.43.0.tgz} +0 -0
  46. package/components/{tryghost-mw-api-version-mismatch-5.42.2.tgz → tryghost-mw-api-version-mismatch-5.43.0.tgz} +0 -0
  47. package/components/tryghost-mw-cache-control-5.43.0.tgz +0 -0
  48. package/components/tryghost-mw-error-handler-5.43.0.tgz +0 -0
  49. package/components/tryghost-mw-session-from-token-5.43.0.tgz +0 -0
  50. package/components/tryghost-mw-update-user-last-seen-5.43.0.tgz +0 -0
  51. package/components/{tryghost-mw-version-match-5.42.2.tgz → tryghost-mw-version-match-5.43.0.tgz} +0 -0
  52. package/components/tryghost-mw-vhost-5.43.0.tgz +0 -0
  53. package/components/tryghost-oembed-service-5.43.0.tgz +0 -0
  54. package/components/{tryghost-package-json-5.42.2.tgz → tryghost-package-json-5.43.0.tgz} +0 -0
  55. package/components/tryghost-posts-service-5.43.0.tgz +0 -0
  56. package/components/tryghost-referrers-5.43.0.tgz +0 -0
  57. package/components/{tryghost-security-5.42.2.tgz → tryghost-security-5.43.0.tgz} +0 -0
  58. package/components/{tryghost-session-service-5.42.2.tgz → tryghost-session-service-5.43.0.tgz} +0 -0
  59. package/components/tryghost-settings-path-manager-5.43.0.tgz +0 -0
  60. package/components/{tryghost-slack-notifications-5.42.2.tgz → tryghost-slack-notifications-5.43.0.tgz} +0 -0
  61. package/components/{tryghost-staff-service-5.42.2.tgz → tryghost-staff-service-5.43.0.tgz} +0 -0
  62. package/components/{tryghost-stats-service-5.42.2.tgz → tryghost-stats-service-5.43.0.tgz} +0 -0
  63. package/components/{tryghost-tiers-5.42.2.tgz → tryghost-tiers-5.43.0.tgz} +0 -0
  64. package/components/{tryghost-update-check-service-5.42.2.tgz → tryghost-update-check-service-5.43.0.tgz} +0 -0
  65. package/components/tryghost-verification-trigger-5.43.0.tgz +0 -0
  66. package/components/tryghost-version-notifications-data-service-5.43.0.tgz +0 -0
  67. package/components/{tryghost-webmentions-5.42.2.tgz → tryghost-webmentions-5.43.0.tgz} +0 -0
  68. package/content/themes/casper/assets/built/casper.js +1 -1
  69. package/content/themes/casper/assets/built/casper.js.map +1 -1
  70. package/content/themes/casper/assets/built/screen.css +1 -1
  71. package/content/themes/casper/assets/built/screen.css.map +1 -1
  72. package/content/themes/casper/assets/css/screen.css +0 -12
  73. package/content/themes/casper/assets/js/dropdown.js +5 -2
  74. package/content/themes/casper/package.json +1 -1
  75. package/core/built/admin/assets/{chunk.143.73b7ee8221da7b88268b.js → chunk.143.726fc7d5add7caf3e2e7.js} +5 -5
  76. package/core/built/admin/assets/{chunk.178.c9d7ae740be302ee4c0a.js → chunk.178.34b3da4d314e03aecc4f.js} +4 -4
  77. package/core/built/admin/assets/{chunk.234.3af46154f27d036865cf.js → chunk.234.b9c875c2897cfa768789.js} +15 -16
  78. package/core/built/admin/assets/{ghost-950e30c239816c680811c36fa6d4aff4.js → ghost-0fff0a0f3ed3022b69003f7766050cb4.js} +1115 -1088
  79. package/core/built/admin/assets/{ghost-1f011f7b4707ec57ed69381efe9cdce8.css → ghost-b84e41170d69676f9f8a688c76906a6d.css} +1 -1
  80. package/core/built/admin/assets/{ghost-dark-ab58d2f2a83b1db39c83cdaa06a78176.css → ghost-dark-bd0c63ccb9c91035a7daa6bdf2b8553c.css} +1 -1
  81. package/core/built/admin/assets/{vendor-bf2916c4627a915e3c0487e697a26485.js → vendor-da13470386c6ee05178d49830c64d7ab.js} +25 -23
  82. package/core/built/admin/index.html +6 -6
  83. package/core/server/api/endpoints/posts.js +14 -0
  84. package/core/server/api/endpoints/utils/serializers/output/posts.js +4 -0
  85. package/core/server/models/base/plugins/bulk-operations.js +45 -18
  86. package/core/server/web/api/endpoints/admin/routes.js +1 -0
  87. package/core/shared/config/defaults.json +1 -1
  88. package/package.json +134 -134
  89. package/yarn.lock +57 -43
  90. package/components/tryghost-adapter-cache-memory-ttl-5.42.2.tgz +0 -0
  91. package/components/tryghost-adapter-cache-redis-5.42.2.tgz +0 -0
  92. package/components/tryghost-constants-5.42.2.tgz +0 -0
  93. package/components/tryghost-domain-events-5.42.2.tgz +0 -0
  94. package/components/tryghost-dynamic-routing-events-5.42.2.tgz +0 -0
  95. package/components/tryghost-email-content-generator-5.42.2.tgz +0 -0
  96. package/components/tryghost-email-events-5.42.2.tgz +0 -0
  97. package/components/tryghost-event-aware-cache-wrapper-5.42.2.tgz +0 -0
  98. package/components/tryghost-extract-api-key-5.42.2.tgz +0 -0
  99. package/components/tryghost-html-to-plaintext-5.42.2.tgz +0 -0
  100. package/components/tryghost-i18n-5.42.2.tgz +0 -0
  101. package/components/tryghost-importer-handler-content-files-5.42.2.tgz +0 -0
  102. package/components/tryghost-importer-revue-5.42.2.tgz +0 -0
  103. package/components/tryghost-link-redirects-5.42.2.tgz +0 -0
  104. package/components/tryghost-magic-link-5.42.2.tgz +0 -0
  105. package/components/tryghost-mailgun-client-5.42.2.tgz +0 -0
  106. package/components/tryghost-member-attribution-5.42.2.tgz +0 -0
  107. package/components/tryghost-member-events-5.42.2.tgz +0 -0
  108. package/components/tryghost-members-csv-5.42.2.tgz +0 -0
  109. package/components/tryghost-members-importer-5.42.2.tgz +0 -0
  110. package/components/tryghost-members-payments-5.42.2.tgz +0 -0
  111. package/components/tryghost-mw-cache-control-5.42.2.tgz +0 -0
  112. package/components/tryghost-mw-error-handler-5.42.2.tgz +0 -0
  113. package/components/tryghost-mw-session-from-token-5.42.2.tgz +0 -0
  114. package/components/tryghost-mw-update-user-last-seen-5.42.2.tgz +0 -0
  115. package/components/tryghost-mw-vhost-5.42.2.tgz +0 -0
  116. package/components/tryghost-oembed-service-5.42.2.tgz +0 -0
  117. package/components/tryghost-posts-service-5.42.2.tgz +0 -0
  118. package/components/tryghost-referrers-5.42.2.tgz +0 -0
  119. package/components/tryghost-settings-path-manager-5.42.2.tgz +0 -0
  120. package/components/tryghost-verification-trigger-5.42.2.tgz +0 -0
  121. package/components/tryghost-version-notifications-data-service-5.42.2.tgz +0 -0
  122. /package/core/built/admin/assets/{chunk.234.3af46154f27d036865cf.js.LICENSE.txt → chunk.234.b9c875c2897cfa768789.js.LICENSE.txt} +0 -0
@@ -11866,7 +11866,9 @@ e.default={content:'<circle cx="20" cy="20" r="20" fill="#51B1EF"/><path d="M30.
11866
11866
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11867
11867
  e.default={content:'<rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="translate(0 -40)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(30 124.641 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.08333333333333333s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(60 84.641 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.16666666666666666s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(90 70 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.25s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(120 61.547 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.3333333333333333s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(150 55.359 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.4166666666666667s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(180 50 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.5s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(-150 44.641 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.5833333333333334s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(-120 38.453 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.6666666666666666s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(-90 30 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.75s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(-60 15.359 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.8333333333333334s" repeatCount="indefinite"/></rect><rect x="46.5" y="40" width="7" height="20" rx="5" ry="5" fill="#fefefe" transform="rotate(-30 -24.641 70)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="0.9166666666666666s" repeatCount="indefinite"/></rect>',attrs:{viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",class:"spinner_svg__uil-default"}}})),define("ember-svg-jar/inlined/staff",["exports"],(function(e){"use strict"
11868
11868
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11869
- e.default={content:'<defs><style>.staff_svg__cls-1{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}</style></defs><path class="staff_svg__cls-1" d="M22.63 14.869L15 22.5l-3.75.75.75-3.75 7.63-7.631a2.116 2.116 0 012.992 0l.008.009a2.113 2.113 0 010 2.991z"/><circle class="staff_svg__cls-1" cx="7.5" cy="4.875" r="4.125"/><path class="staff_svg__cls-1" d="M13.338 13.919A6.729 6.729 0 00.75 17.25"/>',attrs:{id:"staff_svg__Regular",viewBox:"0 0 24 24"}}})),define("ember-svg-jar/inlined/stats",["exports"],(function(e){"use strict"
11869
+ e.default={content:'<defs><style>.staff_svg__cls-1{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}</style></defs><path class="staff_svg__cls-1" d="M22.63 14.869L15 22.5l-3.75.75.75-3.75 7.63-7.631a2.116 2.116 0 012.992 0l.008.009a2.113 2.113 0 010 2.991z"/><circle class="staff_svg__cls-1" cx="7.5" cy="4.875" r="4.125"/><path class="staff_svg__cls-1" d="M13.338 13.919A6.729 6.729 0 00.75 17.25"/>',attrs:{id:"staff_svg__Regular",viewBox:"0 0 24 24"}}})),define("ember-svg-jar/inlined/star",["exports"],(function(e){"use strict"
11870
+ Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11871
+ e.default={content:'<path d="M23.56 8.73a1.51 1.51 0 00-1.41-1h-6.09a.5.5 0 01-.47-.33l-2.18-6.2A1.52 1.52 0 0012 .25a1.49 1.49 0 00-1.4 1L8.41 7.42a.5.5 0 01-.47.33H1.85a1.5 1.5 0 00-1.41 1 1.52 1.52 0 00.45 1.65l5.18 4.3a.5.5 0 01.16.54l-2.18 6.53a1.5 1.5 0 002.31 1.69l5.34-3.92a.49.49 0 01.59 0l5.35 3.92A1.5 1.5 0 0020 21.77l-2.18-6.53a.5.5 0 01.16-.54l5.19-4.31a1.51 1.51 0 00.39-1.66z"/>',attrs:{viewBox:"0 0 24 24",fill:"currentColor"}}})),define("ember-svg-jar/inlined/stats",["exports"],(function(e){"use strict"
11870
11872
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11871
11873
  e.default={content:'<path d="M14 3h-4v18h4V3zM5 14H1v7h4v-7zm18-5h-4v12h4V9z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>',attrs:{fill:"none",viewBox:"0 0 24 24"}}})),define("ember-svg-jar/inlined/stripe-verified-partner-badge",["exports"],(function(e){"use strict"
11872
11874
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -11874,10 +11876,10 @@ e.default={content:'<g fill="none"><rect fill="#FFF" width="174" height="28" rx=
11874
11876
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11875
11877
  e.default={content:'<g fill="none" fill-rule="evenodd"><path d="M.5.5h173v119H.5z"/><path d="M141.406 39.442a58.61 58.61 0 013.626 20.359c0 32.453-26.347 58.8-58.8 58.8-32.453 0-58.801-26.347-58.801-58.8 0-5.592.782-11.003 2.244-16.13m13.228-23.605C53.655 8.35 69.092 1 86.232 1A58.52 58.52 0 01111.3 6.604" stroke="#9BAEB8"/><path d="M28.25 67.39c1.17-.677 1.966-1.134 3.137-1.134 4.495 0 8.99 6.742 13.485 6.742.256 0 .512-.022.768-.063m3.392-1.466c3.108-1.989 6.217-5.213 9.325-5.213 4.495 0 8.99 6.742 13.485 6.742 4.496 0 8.99-6.742 13.486-6.742 4.495 0 8.99 6.742 13.485 6.742 4.495 0 8.99-6.742 13.485-6.742 4.495 0 8.99 6.742 13.485 6.742 4.496 0 8.99-6.742 13.485-6.742 1.747 0 3.216 1.018 4.963 2.263M29.134 73.677c.75-.314 1.502-.502 2.253-.502 4.495 0 8.99 6.742 13.485 6.742.643 0 1.287-.138 1.93-.375m3.328-1.9c2.742-1.957 5.485-4.467 8.227-4.467 4.495 0 8.99 6.742 13.485 6.742 4.496 0 8.99-6.742 13.486-6.742 4.495 0 8.99 6.742 13.485 6.742 4.495 0 8.99-6.742 13.485-6.742 4.495 0 8.99 6.742 13.485 6.742 4.496 0 8.99-6.742 13.485-6.742 1.292 0 2.584.557 3.876 1.35M31.387 80.934c4.495 0 8.99 6.743 13.485 6.743 1.088 0 2.176-.395 3.264-.994m3.236-2.196c2.329-1.744 4.657-3.553 6.985-3.553 4.495 0 8.99 6.743 13.485 6.743 4.496 0 8.99-6.743 13.486-6.743 4.495 0 8.99 6.743 13.485 6.743 4.495 0 8.99-6.743 13.485-6.743 4.495 0 8.99 6.743 13.485 6.743 4.496 0 8.99-6.743 13.485-6.743.599 0 1.197.12 1.796.327" opacity=".6" stroke="#9BAEB8" stroke-linecap="round" stroke-linejoin="round"/><path d="M37.5 91.958H49m3.648 0h82.802" stroke="#9BAEB8" stroke-linecap="round" stroke-linejoin="round"/><path d="M62.934 98.943h2.915m-2.915 12.633h2.915m-9.658-5.891h2.915m18.072-6.643h2.915m-2.915 12.633h2.915m-9.658-5.891h2.915m18.072-6.644h2.914m-2.914 12.634h2.914m-9.657-5.891h2.915m18.071-6.643h2.915m-2.915 12.633h2.915m-9.657-5.891h2.915m18.072-6.644h2.915m-9.659 6.742h2.916" opacity=".6" stroke="#9BAEB8" stroke-linecap="round" stroke-linejoin="round"/><path d="M124.204 2.259c12.425 0 22.513 10.088 22.513 22.513 0 12.426-10.088 22.514-22.513 22.514-12.426 0-22.514-10.088-22.514-22.514 0-12.425 10.088-22.513 22.514-22.513zM40.658 45.534l9.62 52.937 3.57.033-9.607-53.532" stroke="#9BAEB8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 54.092s4.315-6.154 9.489-7.083c5.173-.929 11.36 3.341 11.36 3.341s4.234-6.14 9.488-7.083c5.254-.942 11.36 3.341 11.36 3.341s4.276-6.147 9.488-7.082c5.213-.936 11.36 3.34 11.36 3.34s4.885-6.256 9.488-7.082c4.604-.826 11.36 3.341 11.36 3.341S65.225 15.665 38.02 20.548C10.813 25.431 1 54.092 1 54.092z" stroke="#9BAEB8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M21.138 49.682s.187-10.218 3.941-17.137c3.754-6.918 8.836-8.89 12.421-11.407" stroke="#9BAEB8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M63.025 42.198s-3.728-9.515-9.654-14.696c-5.926-5.182-14.612-6.364-15.871-6.364m1.007 0l4.027 24.802" stroke="#9BAEB8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></g>',attrs:{viewBox:"0 0 174 120"}}})),define("ember-svg-jar/inlined/sun",["exports"],(function(e){"use strict"
11876
11878
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11877
- e.default={content:'<defs><style>.sun_svg__a{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}</style></defs><circle class="sun_svg__a" cx="12" cy="12" r="4.5"/><path class="sun_svg__a" d="M12 .75V4.5m0 15v3.75M23.25 12H19.5m-15 0H.75m19.5-8.25l-3 3m-10.5 10.5l-3 3m16.5 0l-3-3M6.75 6.75l-3-3"/>',attrs:{viewBox:"0 0 24 24"}}})),define("ember-svg-jar/inlined/suppression-notice-bounced",["exports"],(function(e){"use strict"
11879
+ e.default={content:'<defs><style>.sun_svg__a{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}</style></defs><circle class="sun_svg__a" cx="12" cy="12" r="4.5"/><path class="sun_svg__a" d="M12 .75V4.5m0 15v3.75M23.25 12H19.5m-15 0H.75m19.5-8.25l-3 3m-10.5 10.5l-3 3m16.5 0l-3-3M6.75 6.75l-3-3"/>',attrs:{viewBox:"0 0 24 24"}}}))
11880
+ define("ember-svg-jar/inlined/suppression-notice-bounced",["exports"],(function(e){"use strict"
11878
11881
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11879
- e.default={content:'<path d="M37.2 37.127l12.237 12.238M37.2 49.362l12.237-12.237" stroke="red" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round"/><path d="M31.316 53.983l-7.99-7.956-8.58 4.433.334-12.717m0 0L5.033 27.697a4.033 4.033 0 01-1.1-3.667 4.106 4.106 0 012.713-3.15L45.98 7.757a4.106 4.106 0 015.28 5.276L45 30m-29.92 7.743l35.006-29.18" stroke="#CAD1D8" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>',attrs:{fill:"none",viewBox:"0 0 60 60"}}}))
11880
- define("ember-svg-jar/inlined/suppression-notice-flagged",["exports"],(function(e){"use strict"
11882
+ e.default={content:'<path d="M37.2 37.127l12.237 12.238M37.2 49.362l12.237-12.237" stroke="red" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round"/><path d="M31.316 53.983l-7.99-7.956-8.58 4.433.334-12.717m0 0L5.033 27.697a4.033 4.033 0 01-1.1-3.667 4.106 4.106 0 012.713-3.15L45.98 7.757a4.106 4.106 0 015.28 5.276L45 30m-29.92 7.743l35.006-29.18" stroke="#CAD1D8" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>',attrs:{fill:"none",viewBox:"0 0 60 60"}}})),define("ember-svg-jar/inlined/suppression-notice-flagged",["exports"],(function(e){"use strict"
11881
11883
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11882
11884
  e.default={content:'<path d="M31.316 53.983l-7.99-7.956-8.58 4.433.334-12.717m0 0L5.033 27.697a4.033 4.033 0 01-1.1-3.667 4.106 4.106 0 012.713-3.15L45.98 7.757a4.106 4.106 0 015.28 5.276L45 30m-29.92 7.743l35.006-29.18" stroke="#CAD1D8" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/><path d="M41.474 37.2v7.65" stroke="#F50B23" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/><circle cx="41.399" cy="51.1" r="1.5" fill="#F50B23"/>',attrs:{fill:"none",viewBox:"0 0 60 60"}}})),define("ember-svg-jar/inlined/sync",["exports"],(function(e){"use strict"
11883
11885
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -12017,11 +12019,11 @@ if(!this.isDestroying&&!this.isDestroyed&&t){for(var r=arguments.length,n=new Ar
12017
12019
  t(...n)}},_cleanupTimers(){Ember.run.cancel(this.get("_showTimer")),cancelAnimationFrame(this._spacingRequestId)}})
12018
12020
  function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
12019
12021
  const r=Object.keys(e),n=Object.keys(t),i=[].concat(r,n).reduce(((e,t)=>(-1===e.indexOf(t)&&e.push(t),e)),[]),o={...e}
12020
- return i.forEach((i=>{-1!==r.indexOf(i)&&-1!==n.indexOf(i)?o[i]={...e[i],...t[i]}:-1!==n.indexOf(i)&&(o[i]=t[i])})),o}e.default=s})),define("ember-tooltips/components/ember-tooltip",["exports","ember-tooltips/components/ember-tooltip-base"],(function(e,t){"use strict"
12022
+ return i.forEach((i=>{-1!==r.indexOf(i)&&-1!==n.indexOf(i)?o[i]={...e[i],...t[i]}:-1!==n.indexOf(i)&&(o[i]=t[i])})),o}e.default=s}))
12023
+ define("ember-tooltips/components/ember-tooltip",["exports","ember-tooltips/components/ember-tooltip-base"],(function(e,t){"use strict"
12021
12024
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
12022
12025
  var r=t.default.extend({_tooltipVariantClass:"ember-tooltip"})
12023
- e.default=r}))
12024
- define("ember-tooltips/templates/components/ember-tooltip-base",["exports"],(function(e){"use strict"
12026
+ e.default=r})),define("ember-tooltips/templates/components/ember-tooltip-base",["exports"],(function(e){"use strict"
12025
12027
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
12026
12028
  var t=Ember.HTMLBars.template({id:"wPl1S7tp",block:'{"symbols":["&default"],"statements":[[6,[37,0],[[32,0,["_awaitingTooltipElementRendered"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n"],[6,[37,0],[[32,0,["_shouldRenderContent"]]],null,[["default"],[{"statements":[[6,[37,0],[[27,[32,1]]],null,[["default","else"],[{"statements":[[2," "],[18,1,[[32,0]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[1,[32,0,["text"]]],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[30,[36,1],[[32,0,["_renderElement"]]],null]],[["guid","insertBefore"],["%cursor:0%",[29]]],[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n"],[6,[37,0],[[27,[32,1]]],null,[["default","else"],[{"statements":[[2," "],[18,1,[[32,0]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[1,[32,0,["text"]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]]],"hasEval":false,"upvars":["if","-in-el-null","in-element"]}',moduleName:"ember-tooltips/templates/components/ember-tooltip-base.hbs"})
12027
12029
  e.default=t})),define("ember-tooltips/utils/ember-popover",["exports"],(function(e){"use strict"
@@ -12247,7 +12249,8 @@ Object.keys(t).forEach((r=>{e.registerKeyCommand({str:r,run:()=>t[r](e,r)})})),t
12247
12249
  e.target.matches('[data-kg="editor"]')&&n&&!n._hasFocus()&&r.isPrintableKey()&&!r.isEnter()&&(n.focus(),n.run((e=>{e.insertText(n.post.tailPosition(),r.toString())})),e.preventDefault())}_enter(){this.send("handleEnter")}_escape(e){e.element.blur(),this.deselectCard(),this.selectCard()}_upOrLeft(e,t){let{isCollapsed:r,head:n}=e.range
12248
12250
  return r&&n.isEqual(n.section.headPosition())?this.moveCursorToPrevSection():!(!r||"UP"!==t)&&e.selectRange(n.section.headPosition().toRange())}_rightOrDown(e,t){let{isCollapsed:r,tail:n}=e.range
12249
12251
  return r&&n.isEqual(n.section.tailPosition())?this.moveCursorToNextSection():!(!r||"DOWN"!==t)&&e.selectRange(n.section.tailPosition().toRange())}},h=f(d.prototype,"koenigUi",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f(d.prototype,"figCaptionClass",[s],Object.getOwnPropertyDescriptor(d.prototype,"figCaptionClass"),d.prototype),f(d.prototype,"registerEditor",[l],Object.getOwnPropertyDescriptor(d.prototype,"registerEditor"),d.prototype),f(d.prototype,"handleEnter",[u],Object.getOwnPropertyDescriptor(d.prototype,"handleEnter"),d.prototype),c=d))||c)||c)
12250
- e.default=g,Ember._setComponentTemplate(m,g)})),define("koenig-editor/components/koenig-card-audio",["exports","@glimmer/component","koenig-editor/utils/extract-audio-metadata","koenig-editor/utils/prettify-file-name","ghost-admin/components/gh-image-uploader","tracked-built-ins","ember-concurrency"],(function(e,t,r,n,i,o,a){"use strict"
12252
+ e.default=g,Ember._setComponentTemplate(m,g)}))
12253
+ define("koenig-editor/components/koenig-card-audio",["exports","@glimmer/component","koenig-editor/utils/extract-audio-metadata","koenig-editor/utils/prettify-file-name","ghost-admin/components/gh-image-uploader","tracked-built-ins","ember-concurrency"],(function(e,t,r,n,i,o,a){"use strict"
12251
12254
  var s,l,u,c,d,h,p,f,m,g,v,b,y,_,k,E,w,x,O,C,S,T,P,M,A,R,j,D,I,N,L,F
12252
12255
  function z(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function B(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
12253
12256
  var r=e[Symbol.toPrimitive]
@@ -12282,8 +12285,7 @@ r.append("file",t,`media-thumbnail-${Ember.guidFor(this)}.jpg`),r.append("url",e
12282
12285
  const n=`${this.ghostPaths.apiRoot}/media/thumbnail/upload/`
12283
12286
  return(yield this.ajax.put(n,{data:r,processData:!1,contentType:!1,dataType:"json"})).media[0].url}toggleLoop(){this.updatePayloadAttr("loop",!this.args.payload.loop)}updatePayloadAttr(e,t){const{payload:r}=this.args
12284
12287
  Ember.set(r,e,t),this.args.saveCard(r,!1)}dragOver(e){e.dataTransfer&&(e.stopPropagation(),e.preventDefault(),this.isDraggedOver=!0)}dragLeave(e){e.preventDefault(),this.isDraggedOver=!1}drop(e){e.preventDefault(),e.stopPropagation(),this.isDraggedOver=!1,e.dataTransfer.files&&(this.args.payload.src?this.thumbnailFiles=[e.dataTransfer.files[0]]:this.files=[e.dataTransfer.files[0]])}},R=H(A.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=H(A.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=H(A.prototype,"files",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=H(A.prototype,"thumbnailFiles",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=H(A.prototype,"isDraggedOver",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),L=H(A.prototype,"previewThumbnailSrc",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=H(A.prototype,"previewPayload",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new o.TrackedObject({})}}),H(A.prototype,"didInsert",[f],Object.getOwnPropertyDescriptor(A.prototype,"didInsert"),A.prototype),H(A.prototype,"registerAudioFileInput",[m],Object.getOwnPropertyDescriptor(A.prototype,"registerAudioFileInput"),A.prototype),H(A.prototype,"registerAudioThumbnailFileInput",[g],Object.getOwnPropertyDescriptor(A.prototype,"registerAudioThumbnailFileInput"),A.prototype),H(A.prototype,"triggerAudioFileDialog",[v],Object.getOwnPropertyDescriptor(A.prototype,"triggerAudioFileDialog"),A.prototype),H(A.prototype,"triggerThumbnailFileDialog",[b],Object.getOwnPropertyDescriptor(A.prototype,"triggerThumbnailFileDialog"),A.prototype),H(A.prototype,"deleteThumbnail",[y],Object.getOwnPropertyDescriptor(A.prototype,"deleteThumbnail"),A.prototype),H(A.prototype,"extractAudioMetadataTask",[a.task],Object.getOwnPropertyDescriptor(A.prototype,"extractAudioMetadataTask"),A.prototype),H(A.prototype,"audioUploadStarted",[_],Object.getOwnPropertyDescriptor(A.prototype,"audioUploadStarted"),A.prototype),H(A.prototype,"audioUploadCompleted",[k],Object.getOwnPropertyDescriptor(A.prototype,"audioUploadCompleted"),A.prototype),H(A.prototype,"audioThumbnailUploadCompleted",[E],Object.getOwnPropertyDescriptor(A.prototype,"audioThumbnailUploadCompleted"),A.prototype),H(A.prototype,"audioUploadFailed",[w],Object.getOwnPropertyDescriptor(A.prototype,"audioUploadFailed"),A.prototype),H(A.prototype,"setAudioTitle",[x],Object.getOwnPropertyDescriptor(A.prototype,"setAudioTitle"),A.prototype),H(A.prototype,"audioThumbnailUploadFailed",[O],Object.getOwnPropertyDescriptor(A.prototype,"audioThumbnailUploadFailed"),A.prototype),H(A.prototype,"uploadThumbnailFromBlobTask",[a.task],Object.getOwnPropertyDescriptor(A.prototype,"uploadThumbnailFromBlobTask"),A.prototype),H(A.prototype,"toggleLoop",[C],Object.getOwnPropertyDescriptor(A.prototype,"toggleLoop"),A.prototype),H(A.prototype,"updatePayloadAttr",[S],Object.getOwnPropertyDescriptor(A.prototype,"updatePayloadAttr"),A.prototype),H(A.prototype,"dragOver",[T],Object.getOwnPropertyDescriptor(A.prototype,"dragOver"),A.prototype),H(A.prototype,"dragLeave",[P],Object.getOwnPropertyDescriptor(A.prototype,"dragLeave"),A.prototype),H(A.prototype,"drop",[M],Object.getOwnPropertyDescriptor(A.prototype,"drop"),A.prototype),A)
12285
- e.default=W,Ember._setComponentTemplate(U,W)}))
12286
- define("koenig-editor/components/koenig-card-bookmark",["exports","koenig-editor/components/koenig-editor","@tryghost/helpers","ember-concurrency"],(function(e,t,r,n){"use strict"
12288
+ e.default=W,Ember._setComponentTemplate(U,W)})),define("koenig-editor/components/koenig-card-bookmark",["exports","koenig-editor/components/koenig-editor","@tryghost/helpers","ember-concurrency"],(function(e,t,r,n){"use strict"
12287
12289
  var i,o,a,s,l,u,c,d,h,p,f,m,g,v,b
12288
12290
  function y(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function _(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
12289
12291
  var r=e[Symbol.toPrimitive]
@@ -13046,7 +13048,8 @@ o+t.width>window.innerWidth-20&&(o=window.innerWidth-t.width-20),e.style.top=`${
13046
13048
  const i=e.getBoundingClientRect(),o=i.top<0,a=i.bottom>window.innerHeight
13047
13049
  if(o&&a)return{x:r,y:n}
13048
13050
  if(o){return{x:r,y:n+(Math.abs(i.top)+10)}}if(a){return{x:r,y:n+(-Math.abs(i.bottom-window.innerHeight)-10)}}return{x:r,y:n}}},l(s.prototype,"registerAndPosition",[n],Object.getOwnPropertyDescriptor(s.prototype,"registerAndPosition"),s.prototype),l(s.prototype,"positionPanel",[i],Object.getOwnPropertyDescriptor(s.prototype,"positionPanel"),s.prototype),l(s.prototype,"debounceWindowResizeTask",[o],Object.getOwnPropertyDescriptor(s.prototype,"debounceWindowResizeTask"),s.prototype),l(s.prototype,"calculateResizeAdjustment",[a],Object.getOwnPropertyDescriptor(s.prototype,"calculateResizeAdjustment"),s.prototype),s)
13049
- e.default=c,Ember._setComponentTemplate(u,c)})),define("koenig-editor/components/koenig-slash-menu",["exports","@glimmer/component","mobiledoc-kit/parsers/mobiledoc"],(function(e,t,r){"use strict"
13051
+ e.default=c,Ember._setComponentTemplate(u,c)}))
13052
+ define("koenig-editor/components/koenig-slash-menu",["exports","@glimmer/component","mobiledoc-kit/parsers/mobiledoc"],(function(e,t,r){"use strict"
13050
13053
  var n,i,o,a,s,l,u,c,d,h,p,f,m,g
13051
13054
  function v(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function b(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
13052
13055
  var r=e[Symbol.toPrimitive]
@@ -13083,8 +13086,7 @@ if(Ember.isEmpty(t))return
13083
13086
  let i=t.length-1,o=t[r].length-1
13084
13087
  "right"===e?(n+=1,n>o&&(r<i?r+=1:r=0,n=0)):"left"===e?(n-=1,n<0&&(r>0?r-=1:r=t.length-1,n=t[r].length-1)):"up"===e?(r-=1,r<0&&(r=i)):"down"===e&&(r+=1,r>i&&(r=0)),n>t[r].length-1&&(n=t[r].length-1),this.selectedRowIndex=r,this.selectedColumnIndex=n}_performAction(){this.selectedItem&&this.itemClicked(this.selectedItem)}_handleWindowMousedown(e){e.target.closest(`#${this.containerElement.id}, .fullscreen-modal-container`)?e.target.closest('[data-kg="cardmenu-card"]')||e.preventDefault():this._hideMenu()}_registerEditorKeyboardNavHandlers(){let{editor:e}=this.args
13085
13088
  e.registerKeyCommand({str:"ESC",name:"slash-menu",run:Ember.run.bind(this,this._hideMenu)}),e.registerKeyCommand({str:"ENTER",name:"slash-menu",run:Ember.run.bind(this,this._performAction)}),e.registerKeyCommand({str:"UP",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"up")}),e.registerKeyCommand({str:"DOWN",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"down")}),e.registerKeyCommand({str:"LEFT",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"left")}),e.registerKeyCommand({str:"RIGHT",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"right")})}_unregisterEditorKeyboardNavHandlers(){this.args.editor.unregisterKeyCommands("slash-menu")}},p=y(h.prototype,"itemSections",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),f=y(h.prototype,"showMenu",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),m=y(h.prototype,"selectedRowIndex",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),g=y(h.prototype,"selectedColumnIndex",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),y(h.prototype,"updateItemSections",[s],Object.getOwnPropertyDescriptor(h.prototype,"updateItemSections"),h.prototype),y(h.prototype,"registerContainerElement",[l],Object.getOwnPropertyDescriptor(h.prototype,"registerContainerElement"),h.prototype),y(h.prototype,"registerEditor",[u],Object.getOwnPropertyDescriptor(h.prototype,"registerEditor"),h.prototype),y(h.prototype,"handleCursorChange",[c],Object.getOwnPropertyDescriptor(h.prototype,"handleCursorChange"),h.prototype),y(h.prototype,"itemClicked",[d],Object.getOwnPropertyDescriptor(h.prototype,"itemClicked"),h.prototype),h)
13086
- e.default=k,Ember._setComponentTemplate(_,k)}))
13087
- define("koenig-editor/components/koenig-snippet-input",["exports","@glimmer/component","koenig-editor/utils/get-scroll-parent","koenig-editor/components/koenig-toolbar"],(function(e,t,r,n){"use strict"
13089
+ e.default=k,Ember._setComponentTemplate(_,k)})),define("koenig-editor/components/koenig-snippet-input",["exports","@glimmer/component","koenig-editor/utils/get-scroll-parent","koenig-editor/components/koenig-toolbar"],(function(e,t,r,n){"use strict"
13088
13090
  var i,o,a,s,l,u,c,d,h,p,f
13089
13091
  function m(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function g(e,t,r,n,i){var o={}
13090
13092
  return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -13524,12 +13526,12 @@ Object.defineProperty(e,"__esModule",{value:!0}),e.getLinkMarkupFromRange=functi
13524
13526
  if(t&&(t===r||t.next===r))return r.markups.findBy("tagName","a")}})),define("koenig-editor/utils/prettify-file-name",["exports"],(function(e){"use strict"
13525
13527
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){if(!e||"string"!=typeof e)return""
13526
13528
  let t=e.split(".").slice(0,-1).join(".").replace(/[-_]/g," ").replace(/[^\w\s]+/g,"").replace(/\s\s+/g," ")
13527
- return t.charAt(0).toUpperCase()+t.slice(1)}})),define("koenig-editor/utils/reading-time",["exports"],(function(e){"use strict"
13529
+ return t.charAt(0).toUpperCase()+t.slice(1)}}))
13530
+ define("koenig-editor/utils/reading-time",["exports"],(function(e){"use strict"
13528
13531
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){let{wordCount:t,imageCount:r}=e,n=t/(275/60)
13529
13532
  for(var i=12;i>12-r;i-=1)n+=Math.max(i,3)
13530
13533
  let o=Math.round(n/60)
13531
- return o<1?"1 min read":"% min read".replace("%",o)}}))
13532
- define("koenig-editor/utils/snippet-icon",["exports"],(function(e){"use strict"
13534
+ return o<1?"1 min read":"% min read".replace("%",o)}})),define("koenig-editor/utils/snippet-icon",["exports"],(function(e){"use strict"
13533
13535
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){let{mobiledoc:t}=e
13534
13536
  if(0===t.cards.length)return"koenig/kg-card-type-snippet-text"
13535
13537
  if(t.sections.some((e=>10!==e[0])))return"koenig/kg-card-type-snippet-combination"
@@ -13727,14 +13729,14 @@ var o=r
13727
13729
  e.default=o})),define("liquid-fire/promise",["exports"],(function(e){"use strict"
13728
13730
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
13729
13731
  var t=Ember.RSVP.Promise
13730
- e.default=t})),define("liquid-fire/rule",["exports","liquid-fire/action","liquid-fire/constraint"],(function(e,t,r){"use strict"
13732
+ e.default=t}))
13733
+ define("liquid-fire/rule",["exports","liquid-fire/action","liquid-fire/constraint"],(function(e,t,r){"use strict"
13731
13734
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
13732
13735
  e.default=class{constructor(){this.constraints=Ember.A(),this.use=null,this.reverse=null}add(e){if(e instanceof t.default){let t="use"
13733
13736
  if(e.reversed&&(t="reverse"),this[t])throw new Error(`More than one "${t}" statement in the same transition rule is not allowed`)
13734
13737
  this[t]=e}else"debug"===e?this.debug=!0:this.constraints.push(e)}validate(e){if(!this.use)throw new Error('Every transition rule must include a "use" statement')
13735
13738
  this.use.validateHandler(e),this.reverse&&this.reverse.validateHandler(e),this.constraints.find((e=>"firstTime"===e.target))||this.constraints.push(new r.default("firstTime","no"))}invert(){let e=new this.constructor
13736
- return e.use=this.reverse,e.reverse=this.use,e.constraints=this.constraints.map((e=>e.invert())),e.debug=this.debug,e}}}))
13737
- define("liquid-fire/running-transition",["exports","jquery"],(function(e,t){"use strict"
13739
+ return e.use=this.reverse,e.reverse=this.use,e.constraints=this.constraints.map((e=>e.invert())),e.debug=this.debug,e}}})),define("liquid-fire/running-transition",["exports","jquery"],(function(e,t){"use strict"
13738
13740
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
13739
13741
  function r(e,r,n){let i=null
13740
13742
  n.view&&(i=(0,t.default)(n.view.element))
@@ -13882,7 +13884,8 @@ function c(e,t,r,n,i){var o={}
13882
13884
  return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
13883
13885
  let d=(i=(0,t.tagName)(""),o=(0,t.layout)(r.default),a=Ember._action,s=Ember._action,i(l=o((c((u=class extends Ember.Component{_didUpdate(e){if(this.replaceNodes){const t=this.nodes;(0,n.default)(e).children().remove(),(0,n.default)(e).append(t)}}_didInsert(e){const t=this.notify,r=this.nodes
13884
13886
  t&&t.willAppendNodes&&t.willAppendNodes(e),(0,n.default)(e).append(r),t&&t.didAppendNodes&&t.didAppendNodes(e)}}).prototype,"_didUpdate",[a],Object.getOwnPropertyDescriptor(u.prototype,"_didUpdate"),u.prototype),c(u.prototype,"_didInsert",[s],Object.getOwnPropertyDescriptor(u.prototype,"_didInsert"),u.prototype),l=u))||l)||l)
13885
- e.default=d})),define("liquid-wormhole/components/liquid-destination",["exports","@ember-decorators/component","perf-primitives/hash-map","liquid-wormhole/templates/components/liquid-destination"],(function(e,t,r,n){"use strict"
13887
+ e.default=d}))
13888
+ define("liquid-wormhole/components/liquid-destination",["exports","@ember-decorators/component","perf-primitives/hash-map","liquid-wormhole/templates/components/liquid-destination"],(function(e,t,r,n){"use strict"
13886
13889
  var i,o,a,s,l,u,c,d,h,p,f
13887
13890
  function m(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function g(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
13888
13891
  var r=e[Symbol.toPrimitive]
@@ -13905,8 +13908,7 @@ if(this.isDestroying||this.isDestroyed)return
13905
13908
  const n=r.element.querySelector(".liquid-wormhole-element")
13906
13909
  if(n&&(n.style.visibility="visible"),null===t){const e=this.stacks,t=r.get("parentView.stackName"),n=this.stackMap.get(t)
13907
13910
  e.removeObject(n),this.stackMap.delete(t)}}},p=v(h.prototype,"liquidWormholeService",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=v(h.prototype,"hasWormholes",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v(h.prototype,"willTransition",[l],Object.getOwnPropertyDescriptor(h.prototype,"willTransition"),h.prototype),v(h.prototype,"afterChildInsertion",[u],Object.getOwnPropertyDescriptor(h.prototype,"afterChildInsertion"),h.prototype),v(h.prototype,"afterTransition",[c],Object.getOwnPropertyDescriptor(h.prototype,"afterTransition"),h.prototype),d=h))||d)||d)
13908
- e.default=b}))
13909
- define("liquid-wormhole/components/liquid-wormhole",["exports","@ember-decorators/component","@embroider/util","liquid-wormhole/templates/components/liquid-wormhole","jquery"],(function(e,t,r,n,i){"use strict"
13911
+ e.default=b})),define("liquid-wormhole/components/liquid-wormhole",["exports","@ember-decorators/component","@embroider/util","liquid-wormhole/templates/components/liquid-wormhole","jquery"],(function(e,t,r,n,i){"use strict"
13910
13912
  var o,a,s,l,u,c,d
13911
13913
  function h(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
13912
13914
  var r=e[Symbol.toPrimitive]
@@ -14066,4 +14068,4 @@ return void 0===n&&(n=(0,t.createStorage)(null,(()=>!1)),r.set(e,n)),n}dirtyStor
14066
14068
  r&&(0,t.setValue)(r,null)}constructor(e){o(this,"storages",new WeakMap),o(this,"vals",void 0),this.vals=new WeakSet(e)}has(e){return(0,t.getValue)(this.storageFor(e)),this.vals.has(e)}add(e){return this.vals.add(e),this.dirtyStorageFor(e),this}delete(e){return this.dirtyStorageFor(e),this.vals.delete(e)}get[i](){return this.vals[Symbol.toStringTag]}}e.TrackedWeakSet=s,Object.setPrototypeOf(s.prototype,WeakSet.prototype)})),define("tracked-built-ins/index",["exports","tracked-built-ins/-private/decorator","tracked-built-ins/-private/array","tracked-built-ins/-private/object","tracked-built-ins/-private/map","tracked-built-ins/-private/set"],(function(e,t,r,n,i,o){"use strict"
14067
14069
  Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"TrackedArray",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"TrackedMap",{enumerable:!0,get:function(){return i.TrackedMap}}),Object.defineProperty(e,"TrackedObject",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"TrackedSet",{enumerable:!0,get:function(){return o.TrackedSet}}),Object.defineProperty(e,"TrackedWeakMap",{enumerable:!0,get:function(){return i.TrackedWeakMap}}),Object.defineProperty(e,"TrackedWeakSet",{enumerable:!0,get:function(){return o.TrackedWeakSet}}),Object.defineProperty(e,"tracked",{enumerable:!0,get:function(){return t.default}})}))
14068
14070
 
14069
- //# sourceMappingURL=vendor-bf2916c4627a915e3c0487e697a26485.map
14071
+ //# sourceMappingURL=vendor-da13470386c6ee05178d49830c64d7ab.map
@@ -8,7 +8,7 @@
8
8
  <title>Ghost Admin</title>
9
9
 
10
10
 
11
- <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%225.42%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22ember-websockets%22%3A%7B%22socketIO%22%3Atrue%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%7D" />
11
+ <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%225.43%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22ember-websockets%22%3A%7B%22socketIO%22%3Atrue%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%7D" />
12
12
 
13
13
  <meta name="HandheldFriendly" content="True" />
14
14
  <meta name="MobileOptimized" content="320" />
@@ -37,7 +37,7 @@
37
37
  </style>
38
38
 
39
39
  <link integrity="" rel="stylesheet" href="assets/vendor-3e6947aa681f0fb82b193090e520dc73.css">
40
- <link integrity="" rel="stylesheet" href="assets/ghost-1f011f7b4707ec57ed69381efe9cdce8.css" title="light">
40
+ <link integrity="" rel="stylesheet" href="assets/ghost-b84e41170d69676f9f8a688c76906a6d.css" title="light">
41
41
 
42
42
 
43
43
  </head>
@@ -56,9 +56,9 @@
56
56
 
57
57
  <div id="ember-basic-dropdown-wormhole"></div>
58
58
 
59
- <script src="assets/vendor-bf2916c4627a915e3c0487e697a26485.js"></script>
60
- <script src="assets/chunk.234.3af46154f27d036865cf.js"></script>
61
- <script src="assets/chunk.143.73b7ee8221da7b88268b.js"></script>
62
- <script src="assets/ghost-950e30c239816c680811c36fa6d4aff4.js"></script>
59
+ <script src="assets/vendor-da13470386c6ee05178d49830c64d7ab.js"></script>
60
+ <script src="assets/chunk.234.b9c875c2897cfa768789.js"></script>
61
+ <script src="assets/chunk.143.726fc7d5add7caf3e2e7.js"></script>
62
+ <script src="assets/ghost-0fff0a0f3ed3022b69003f7766050cb4.js"></script>
63
63
  </body>
64
64
  </html>
@@ -234,6 +234,20 @@ module.exports = {
234
234
  }
235
235
  },
236
236
 
237
+ bulkDestroy: {
238
+ statusCode: 200,
239
+ headers: {},
240
+ options: [
241
+ 'filter'
242
+ ],
243
+ permissions: {
244
+ method: 'destroy'
245
+ },
246
+ async query(frame) {
247
+ return await postsService.bulkDestroy(frame.options);
248
+ }
249
+ },
250
+
237
251
  destroy: {
238
252
  statusCode: 204,
239
253
  headers: {
@@ -53,5 +53,9 @@ module.exports = {
53
53
  }
54
54
  }
55
55
  };
56
+ },
57
+
58
+ bulkDestroy(bulkActionResult, _apiConfig, frame) {
59
+ frame.response = bulkActionResult;
56
60
  }
57
61
  };
@@ -18,6 +18,9 @@ function createBulkOperation(singular, multiple) {
18
18
  await multiple(knex, table, chunkedData, options);
19
19
  result.successful += chunkedData.length;
20
20
  } catch (errToIgnore) {
21
+ if (options.throwErrors) {
22
+ throw errToIgnore;
23
+ }
21
24
  for (const singularData of chunkedData) {
22
25
  try {
23
26
  await singular(knex, table, singularData, options);
@@ -36,25 +39,45 @@ function createBulkOperation(singular, multiple) {
36
39
  };
37
40
  }
38
41
 
39
- async function insertSingle(knex, table, record) {
40
- await knex(table).insert(record);
42
+ async function insertSingle(knex, table, record, options) {
43
+ let k = knex(table);
44
+ if (options.transacting) {
45
+ k = k.transacting(options.transacting);
46
+ }
47
+ await k.insert(record);
41
48
  }
42
49
 
43
- async function insertMultiple(knex, table, chunk) {
44
- await knex(table).insert(chunk);
50
+ async function insertMultiple(knex, table, chunk, options) {
51
+ let k = knex(table);
52
+ if (options.transacting) {
53
+ k = k.transacting(options.transacting);
54
+ }
55
+ await k.insert(chunk);
45
56
  }
46
57
 
47
58
  async function editSingle(knex, table, id, options) {
48
- await knex(table).where('id', id).update(options.data);
59
+ let k = knex(table);
60
+ if (options.transacting) {
61
+ k = k.transacting(options.transacting);
62
+ }
63
+ await k.where('id', id).update(options.data);
49
64
  }
50
65
 
51
66
  async function editMultiple(knex, table, chunk, options) {
52
- await knex(table).whereIn('id', chunk).update(options.data);
67
+ let k = knex(table);
68
+ if (options.transacting) {
69
+ k = k.transacting(options.transacting);
70
+ }
71
+ await k.whereIn('id', chunk).update(options.data);
53
72
  }
54
73
 
55
74
  async function delSingle(knex, table, id, options) {
56
75
  try {
57
- await knex(table).where(options.column ?? 'id', id).del();
76
+ let k = knex(table);
77
+ if (options.transacting) {
78
+ k = k.transacting(options.transacting);
79
+ }
80
+ await k.where(options.column ?? 'id', id).del();
58
81
  } catch (err) {
59
82
  const importError = new errors.DataImportError({
60
83
  message: `Failed to remove entry from ${table}`,
@@ -67,7 +90,11 @@ async function delSingle(knex, table, id, options) {
67
90
  }
68
91
 
69
92
  async function delMultiple(knex, table, chunk, options) {
70
- await knex(table).whereIn(options.column ?? 'id', chunk).del();
93
+ let k = knex(table);
94
+ if (options.transacting) {
95
+ k = k.transacting(options.transacting);
96
+ }
97
+ await k.whereIn(options.column ?? 'id', chunk).del();
71
98
  }
72
99
 
73
100
  const insert = createBulkOperation(insertSingle, insertMultiple);
@@ -79,29 +106,29 @@ const del = createBulkOperation(delSingle, delMultiple);
79
106
  */
80
107
  module.exports = function (Bookshelf) {
81
108
  Bookshelf.Model = Bookshelf.Model.extend({}, {
82
- bulkAdd: function bulkAdd(data, tableName) {
109
+ bulkAdd: function bulkAdd(data, tableName, options = {}) {
83
110
  tableName = tableName || this.prototype.tableName;
84
111
 
85
- return insert(Bookshelf.knex, tableName, data);
112
+ return insert(Bookshelf.knex, tableName, data, options);
86
113
  },
87
114
 
88
- bulkEdit: function bulkEdit(data, tableName, options) {
115
+ bulkEdit: async function bulkEdit(data, tableName, options = {}) {
89
116
  tableName = tableName || this.prototype.tableName;
90
117
 
91
- return edit(Bookshelf.knex, tableName, data, options);
118
+ return await edit(Bookshelf.knex, tableName, data, options);
92
119
  },
93
120
 
94
121
  /**
95
- *
122
+ *
96
123
  * @param {string[]} data List of ids to delete
97
- * @param {*} tableName
98
- * @param {Object} [options]
124
+ * @param {*} tableName
125
+ * @param {Object} [options]
99
126
  * @param {string} [options.column] Delete the rows where this column equals the ids in `data` (defaults to 'id')
100
- * @returns
127
+ * @returns
101
128
  */
102
- bulkDestroy: function bulkDestroy(data, tableName, options = {}) {
129
+ bulkDestroy: async function bulkDestroy(data, tableName, options = {}) {
103
130
  tableName = tableName || this.prototype.tableName;
104
- return del(Bookshelf.knex, tableName, data, options);
131
+ return await del(Bookshelf.knex, tableName, data, options);
105
132
  }
106
133
  });
107
134
  };
@@ -29,6 +29,7 @@ module.exports = function apiRoutes() {
29
29
  router.get('/posts/export', mw.authAdminApi, http(api.posts.exportCSV));
30
30
 
31
31
  router.post('/posts', mw.authAdminApi, http(api.posts.add));
32
+ router.del('/posts', mw.authAdminApi, http(api.posts.bulkDestroy));
32
33
  router.put('/posts/bulk', mw.authAdminApi, http(api.posts.bulkEdit));
33
34
  router.get('/posts/:id', mw.authAdminApi, http(api.posts.read));
34
35
  router.get('/posts/slug/:slug', mw.authAdminApi, http(api.posts.read));
@@ -176,7 +176,7 @@
176
176
  },
177
177
  "portal": {
178
178
  "url": "https://cdn.jsdelivr.net/ghost/portal@~{version}/umd/portal.min.js",
179
- "version": "2.28"
179
+ "version": "2.29"
180
180
  },
181
181
  "sodoSearch": {
182
182
  "url": "https://cdn.jsdelivr.net/ghost/sodo-search@~{version}/umd/sodo-search.min.js",