ghost 5.95.0 → 5.96.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 (149) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.96.0.tgz +0 -0
  2. package/components/{tryghost-adapter-cache-redis-5.95.0.tgz → tryghost-adapter-cache-redis-5.96.0.tgz} +0 -0
  3. package/components/tryghost-adapter-manager-5.96.0.tgz +0 -0
  4. package/components/tryghost-announcement-bar-settings-5.96.0.tgz +0 -0
  5. package/components/{tryghost-api-framework-5.95.0.tgz → tryghost-api-framework-5.96.0.tgz} +0 -0
  6. package/components/tryghost-api-version-compatibility-service-5.96.0.tgz +0 -0
  7. package/components/tryghost-audience-feedback-5.96.0.tgz +0 -0
  8. package/components/{tryghost-bookshelf-repository-5.95.0.tgz → tryghost-bookshelf-repository-5.96.0.tgz} +0 -0
  9. package/components/tryghost-bootstrap-socket-5.96.0.tgz +0 -0
  10. package/components/{tryghost-collections-5.95.0.tgz → tryghost-collections-5.96.0.tgz} +0 -0
  11. package/components/{tryghost-constants-5.95.0.tgz → tryghost-constants-5.96.0.tgz} +0 -0
  12. package/components/{tryghost-custom-theme-settings-service-5.95.0.tgz → tryghost-custom-theme-settings-service-5.96.0.tgz} +0 -0
  13. package/components/{tryghost-data-generator-5.95.0.tgz → tryghost-data-generator-5.96.0.tgz} +0 -0
  14. package/components/{tryghost-domain-events-5.95.0.tgz → tryghost-domain-events-5.96.0.tgz} +0 -0
  15. package/components/{tryghost-donations-5.95.0.tgz → tryghost-donations-5.96.0.tgz} +0 -0
  16. package/components/tryghost-dynamic-routing-events-5.96.0.tgz +0 -0
  17. package/components/{tryghost-email-addresses-5.95.0.tgz → tryghost-email-addresses-5.96.0.tgz} +0 -0
  18. package/components/tryghost-email-analytics-provider-mailgun-5.96.0.tgz +0 -0
  19. package/components/{tryghost-email-analytics-service-5.95.0.tgz → tryghost-email-analytics-service-5.96.0.tgz} +0 -0
  20. package/components/tryghost-email-content-generator-5.96.0.tgz +0 -0
  21. package/components/{tryghost-email-events-5.95.0.tgz → tryghost-email-events-5.96.0.tgz} +0 -0
  22. package/components/{tryghost-email-service-5.95.0.tgz → tryghost-email-service-5.96.0.tgz} +0 -0
  23. package/components/{tryghost-email-suppression-list-5.95.0.tgz → tryghost-email-suppression-list-5.96.0.tgz} +0 -0
  24. package/components/tryghost-express-dynamic-redirects-5.96.0.tgz +0 -0
  25. package/components/{tryghost-external-media-inliner-5.95.0.tgz → tryghost-external-media-inliner-5.96.0.tgz} +0 -0
  26. package/components/tryghost-extract-api-key-5.96.0.tgz +0 -0
  27. package/components/tryghost-ghost-5.96.0.tgz +0 -0
  28. package/components/tryghost-html-to-plaintext-5.96.0.tgz +0 -0
  29. package/components/tryghost-i18n-5.96.0.tgz +0 -0
  30. package/components/{tryghost-importer-handler-content-files-5.95.0.tgz → tryghost-importer-handler-content-files-5.96.0.tgz} +0 -0
  31. package/components/{tryghost-importer-revue-5.95.0.tgz → tryghost-importer-revue-5.96.0.tgz} +0 -0
  32. package/components/tryghost-in-memory-repository-5.96.0.tgz +0 -0
  33. package/components/{tryghost-job-manager-5.95.0.tgz → tryghost-job-manager-5.96.0.tgz} +0 -0
  34. package/components/{tryghost-link-redirects-5.95.0.tgz → tryghost-link-redirects-5.96.0.tgz} +0 -0
  35. package/components/{tryghost-link-replacer-5.95.0.tgz → tryghost-link-replacer-5.96.0.tgz} +0 -0
  36. package/components/{tryghost-link-tracking-5.95.0.tgz → tryghost-link-tracking-5.96.0.tgz} +0 -0
  37. package/components/tryghost-magic-link-5.96.0.tgz +0 -0
  38. package/components/tryghost-mail-events-5.96.0.tgz +0 -0
  39. package/components/{tryghost-mailgun-client-5.95.0.tgz → tryghost-mailgun-client-5.96.0.tgz} +0 -0
  40. package/components/{tryghost-member-attribution-5.95.0.tgz → tryghost-member-attribution-5.96.0.tgz} +0 -0
  41. package/components/tryghost-member-events-5.96.0.tgz +0 -0
  42. package/components/{tryghost-members-api-5.95.0.tgz → tryghost-members-api-5.96.0.tgz} +0 -0
  43. package/components/tryghost-members-csv-5.96.0.tgz +0 -0
  44. package/components/{tryghost-members-events-service-5.95.0.tgz → tryghost-members-events-service-5.96.0.tgz} +0 -0
  45. package/components/tryghost-members-importer-5.96.0.tgz +0 -0
  46. package/components/{tryghost-members-offers-5.95.0.tgz → tryghost-members-offers-5.96.0.tgz} +0 -0
  47. package/components/tryghost-members-payments-5.96.0.tgz +0 -0
  48. package/components/{tryghost-members-ssr-5.95.0.tgz → tryghost-members-ssr-5.96.0.tgz} +0 -0
  49. package/components/tryghost-members-stripe-service-5.96.0.tgz +0 -0
  50. package/components/{tryghost-mentions-email-report-5.95.0.tgz → tryghost-mentions-email-report-5.96.0.tgz} +0 -0
  51. package/components/tryghost-metrics-server-5.96.0.tgz +0 -0
  52. package/components/{tryghost-milestones-5.95.0.tgz → tryghost-milestones-5.96.0.tgz} +0 -0
  53. package/components/tryghost-minifier-5.96.0.tgz +0 -0
  54. package/components/tryghost-model-to-domain-event-interceptor-5.96.0.tgz +0 -0
  55. package/components/tryghost-mw-api-version-mismatch-5.96.0.tgz +0 -0
  56. package/components/tryghost-mw-cache-control-5.96.0.tgz +0 -0
  57. package/components/tryghost-mw-error-handler-5.96.0.tgz +0 -0
  58. package/components/{tryghost-mw-session-from-token-5.95.0.tgz → tryghost-mw-session-from-token-5.96.0.tgz} +0 -0
  59. package/components/tryghost-mw-update-user-last-seen-5.96.0.tgz +0 -0
  60. package/components/{tryghost-mw-version-match-5.95.0.tgz → tryghost-mw-version-match-5.96.0.tgz} +0 -0
  61. package/components/{tryghost-mw-vhost-5.95.0.tgz → tryghost-mw-vhost-5.96.0.tgz} +0 -0
  62. package/components/tryghost-nql-filter-expansions-5.96.0.tgz +0 -0
  63. package/components/{tryghost-oembed-service-5.95.0.tgz → tryghost-oembed-service-5.96.0.tgz} +0 -0
  64. package/components/tryghost-package-json-5.96.0.tgz +0 -0
  65. package/components/{tryghost-post-events-5.95.0.tgz → tryghost-post-events-5.96.0.tgz} +0 -0
  66. package/components/{tryghost-post-revisions-5.95.0.tgz → tryghost-post-revisions-5.96.0.tgz} +0 -0
  67. package/components/tryghost-posts-service-5.96.0.tgz +0 -0
  68. package/components/{tryghost-recommendations-5.95.0.tgz → tryghost-recommendations-5.96.0.tgz} +0 -0
  69. package/components/tryghost-referrers-5.96.0.tgz +0 -0
  70. package/components/{tryghost-security-5.95.0.tgz → tryghost-security-5.96.0.tgz} +0 -0
  71. package/components/{tryghost-session-service-5.95.0.tgz → tryghost-session-service-5.96.0.tgz} +0 -0
  72. package/components/tryghost-settings-path-manager-5.96.0.tgz +0 -0
  73. package/components/tryghost-slack-notifications-5.96.0.tgz +0 -0
  74. package/components/{tryghost-staff-service-5.95.0.tgz → tryghost-staff-service-5.96.0.tgz} +0 -0
  75. package/components/{tryghost-stats-service-5.95.0.tgz → tryghost-stats-service-5.96.0.tgz} +0 -0
  76. package/components/{tryghost-tiers-5.95.0.tgz → tryghost-tiers-5.96.0.tgz} +0 -0
  77. package/components/{tryghost-update-check-service-5.95.0.tgz → tryghost-update-check-service-5.96.0.tgz} +0 -0
  78. package/components/tryghost-verification-trigger-5.96.0.tgz +0 -0
  79. package/components/{tryghost-version-notifications-data-service-5.95.0.tgz → tryghost-version-notifications-data-service-5.96.0.tgz} +0 -0
  80. package/components/{tryghost-webmentions-5.95.0.tgz → tryghost-webmentions-5.96.0.tgz} +0 -0
  81. package/core/boot.js +43 -0
  82. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +3 -3
  83. package/core/built/admin/assets/admin-x-activitypub/{index-6868a2ce.mjs → index-043cbe5c.mjs} +4330 -3780
  84. package/core/built/admin/assets/admin-x-activitypub/modals-39d50cfc.mjs +250 -0
  85. package/core/built/admin/assets/admin-x-demo/admin-x-demo.js +1 -1
  86. package/core/built/admin/assets/admin-x-demo/{index-2575d977.mjs → index-3d57e7aa.mjs} +766 -762
  87. package/core/built/admin/assets/admin-x-demo/{modals-3cdb55d2.mjs → modals-191eb359.mjs} +2 -2
  88. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-c5fded51.mjs → CodeEditorView-ef508830.mjs} +2 -2
  89. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  90. package/core/built/admin/assets/admin-x-settings/{index-b78b238b.mjs → index-9a5b6317.mjs} +2 -2
  91. package/core/built/admin/assets/admin-x-settings/{index-baad1fa3.mjs → index-fb425884.mjs} +2915 -2911
  92. package/core/built/admin/assets/admin-x-settings/{modals-d557f15c.mjs → modals-12992e35.mjs} +3 -3
  93. package/core/built/admin/assets/chunk.524.c8d208efb3cca58fb564.js +35 -0
  94. package/core/built/admin/assets/{chunk.582.57a31e68e4e9afe84109.js → chunk.582.e1e1c593838cdd38970d.js} +6 -6
  95. package/core/built/admin/assets/{chunk.602.a3d38ba0a516decd78ce.js → chunk.874.2b603e6adcf3c2e9788c.js} +2667 -2634
  96. package/core/built/admin/assets/ghost-0c7839fc6bdbca9bf08a2c1291159903.css +1 -0
  97. package/core/built/admin/assets/{ghost-9397fa4c9aadec9cff772a6d4db6b1f8.js → ghost-6720b11b60bbdb3abbd6b3b5dd314d5d.js} +67 -63
  98. package/core/built/admin/assets/ghost-dark-40f095a0e0507e24e12b4bd7dd6bb5d5.css +1 -0
  99. package/core/built/admin/assets/{vendor-b83f61eee071be0ef00075df9ff7782d.js → vendor-88cd9f5cf5eba65221e2d2a636531eaa.js} +19 -17
  100. package/core/built/admin/index.html +6 -6
  101. package/core/frontend/helpers/content_api_key.js +19 -0
  102. package/core/server/data/schema/schema.js +2 -2
  103. package/core/shared/config/defaults.json +4 -4
  104. package/core/shared/config/env/config.testing-browser.json +3 -0
  105. package/core/shared/config/env/config.testing-mysql.json +3 -0
  106. package/core/shared/config/env/config.testing.json +3 -0
  107. package/core/shared/prometheus-client.js +36 -0
  108. package/package.json +151 -148
  109. package/yarn.lock +382 -223
  110. package/components/tryghost-adapter-cache-memory-ttl-5.95.0.tgz +0 -0
  111. package/components/tryghost-adapter-manager-5.95.0.tgz +0 -0
  112. package/components/tryghost-announcement-bar-settings-5.95.0.tgz +0 -0
  113. package/components/tryghost-api-version-compatibility-service-5.95.0.tgz +0 -0
  114. package/components/tryghost-audience-feedback-5.95.0.tgz +0 -0
  115. package/components/tryghost-bootstrap-socket-5.95.0.tgz +0 -0
  116. package/components/tryghost-dynamic-routing-events-5.95.0.tgz +0 -0
  117. package/components/tryghost-email-analytics-provider-mailgun-5.95.0.tgz +0 -0
  118. package/components/tryghost-email-content-generator-5.95.0.tgz +0 -0
  119. package/components/tryghost-express-dynamic-redirects-5.95.0.tgz +0 -0
  120. package/components/tryghost-extract-api-key-5.95.0.tgz +0 -0
  121. package/components/tryghost-ghost-5.95.0.tgz +0 -0
  122. package/components/tryghost-html-to-plaintext-5.95.0.tgz +0 -0
  123. package/components/tryghost-i18n-5.95.0.tgz +0 -0
  124. package/components/tryghost-in-memory-repository-5.95.0.tgz +0 -0
  125. package/components/tryghost-magic-link-5.95.0.tgz +0 -0
  126. package/components/tryghost-mail-events-5.95.0.tgz +0 -0
  127. package/components/tryghost-member-events-5.95.0.tgz +0 -0
  128. package/components/tryghost-members-csv-5.95.0.tgz +0 -0
  129. package/components/tryghost-members-importer-5.95.0.tgz +0 -0
  130. package/components/tryghost-members-payments-5.95.0.tgz +0 -0
  131. package/components/tryghost-members-stripe-service-5.95.0.tgz +0 -0
  132. package/components/tryghost-minifier-5.95.0.tgz +0 -0
  133. package/components/tryghost-model-to-domain-event-interceptor-5.95.0.tgz +0 -0
  134. package/components/tryghost-mw-api-version-mismatch-5.95.0.tgz +0 -0
  135. package/components/tryghost-mw-cache-control-5.95.0.tgz +0 -0
  136. package/components/tryghost-mw-error-handler-5.95.0.tgz +0 -0
  137. package/components/tryghost-mw-update-user-last-seen-5.95.0.tgz +0 -0
  138. package/components/tryghost-nql-filter-expansions-5.95.0.tgz +0 -0
  139. package/components/tryghost-package-json-5.95.0.tgz +0 -0
  140. package/components/tryghost-posts-service-5.95.0.tgz +0 -0
  141. package/components/tryghost-referrers-5.95.0.tgz +0 -0
  142. package/components/tryghost-settings-path-manager-5.95.0.tgz +0 -0
  143. package/components/tryghost-slack-notifications-5.95.0.tgz +0 -0
  144. package/components/tryghost-verification-trigger-5.95.0.tgz +0 -0
  145. package/core/built/admin/assets/admin-x-activitypub/modals-d56ac37e.mjs +0 -342
  146. package/core/built/admin/assets/chunk.524.d49d5b3795688b5f880d.js +0 -35
  147. package/core/built/admin/assets/ghost-8f07a67edb1191d1cdddd8a296bbdc4d.css +0 -1
  148. package/core/built/admin/assets/ghost-dark-fe1f347ef1a04509da6bbac199a51d23.css +0 -1
  149. /package/core/built/admin/assets/{chunk.602.a3d38ba0a516decd78ce.js.LICENSE.txt → chunk.874.2b603e6adcf3c2e9788c.js.LICENSE.txt} +0 -0
Binary file
@@ -1,342 +0,0 @@
1
- import { u as se, a as oe, c as u, j as e, $ as z, H as ae, b as ne, d as le, e as ie, f as ce, g as E, h as de, i as ue, k as C, l as f, P as S, m as P, S as ge, N as v, n as $, M as N, o as R, A as M, p as xe, s as fe, L as B, B as q, q as A, r as T } from "./index-6868a2ce.mjs";
2
- const me = ({
3
- type: s = "text",
4
- inputRef: a,
5
- title: t,
6
- hideTitle: r,
7
- value: n,
8
- error: o,
9
- placeholder: i,
10
- rightPlaceholder: l,
11
- hint: c,
12
- onChange: d,
13
- onFocus: m,
14
- onBlur: g,
15
- clearBg: p = !1,
16
- className: w = "",
17
- maxLength: b,
18
- containerClassName: x = "",
19
- hintClassName: y = "",
20
- unstyled: h = !1,
21
- disabled: j,
22
- ...X
23
- }) => {
24
- const F = se(), { setFocusState: I } = oe(), Y = (L) => {
25
- m == null || m(L), I(!0);
26
- }, Z = (L) => {
27
- g == null || g(L), I(!1);
28
- }, D = u(
29
- "relative order-2 flex w-full items-center",
30
- t && !r && "mt-1.5"
31
- ), _ = !h && u(
32
- "absolute inset-0 rounded-lg border text-grey-300 transition-colors peer-hover:bg-grey-100 peer-focus:border-green peer-focus:bg-white peer-focus:shadow-[0_0_0_2px_rgba(48,207,67,.25)] dark:peer-hover:bg-grey-925 dark:peer-focus:bg-grey-950",
33
- o ? "border-red bg-white dark:bg-grey-925" : "border-transparent bg-grey-150 dark:bg-grey-900",
34
- j && "bg-grey-50 peer-hover:bg-grey-50 dark:bg-grey-950 dark:peer-hover:bg-grey-950"
35
- ), ee = !h && u(
36
- "peer z-[1] order-2 h-9 w-full bg-transparent px-3 py-1.5 text-sm placeholder:text-grey-500 dark:placeholder:text-grey-700 md:h-[38px] md:py-2 md:text-md",
37
- j ? "cursor-not-allowed text-grey-600 opacity-60 dark:text-grey-800" : "dark:text-white",
38
- l ? "w-0 grow rounded-l-lg" : "rounded-lg",
39
- w
40
- ), te = !h && u(
41
- "z-[1] order-3 rounded-r-lg",
42
- l ? typeof l == "string" ? "flex h-8 items-center py-1 pr-3 text-right text-sm text-grey-500 md:h-9 md:text-base" : "h-9 pr-1" : "pr-2"
43
- );
44
- let k = /* @__PURE__ */ e.jsx(e.Fragment, {});
45
- const re = /* @__PURE__ */ e.jsx(
46
- "input",
47
- {
48
- ref: a,
49
- className: ee || w,
50
- disabled: j,
51
- id: F,
52
- maxLength: b,
53
- placeholder: i,
54
- type: s,
55
- value: n,
56
- onBlur: Z,
57
- onChange: d,
58
- onFocus: Y,
59
- ...X
60
- }
61
- );
62
- return k = /* @__PURE__ */ e.jsx(le, { name: F, asChild: !0, children: /* @__PURE__ */ e.jsxs("div", { className: D, children: [
63
- /* @__PURE__ */ e.jsx(ie, { asChild: !0, children: re }),
64
- !h && !p && /* @__PURE__ */ e.jsx("div", { className: _ || "" }),
65
- l && /* @__PURE__ */ e.jsx("span", { className: te || "", children: l })
66
- ] }) }), y = u(
67
- "order-3",
68
- y
69
- ), x = u(
70
- "flex flex-col",
71
- x
72
- ), t || c ? /* @__PURE__ */ e.jsx(z, { asChild: !0, children: /* @__PURE__ */ e.jsxs("div", { className: x, children: [
73
- k,
74
- t && /* @__PURE__ */ e.jsx(ae, { className: r ? "sr-only" : "order-1", htmlFor: F, useLabelTag: !0, children: t }),
75
- c && /* @__PURE__ */ e.jsx(ne, { className: y, color: o ? "red" : "default", children: c })
76
- ] }) }) : /* @__PURE__ */ e.jsx(z, { asChild: !0, children: k });
77
- };
78
- function pe(s) {
79
- const a = ce(s);
80
- return E(() => {
81
- a.current = s;
82
- }), de(() => (...t) => {
83
- var r;
84
- return (r = a.current) == null ? void 0 : r.call(a, ...t);
85
- }, []);
86
- }
87
- var U = "Avatar", [we, Me] = ue(U), [he, V] = we(U), H = C(
88
- (s, a) => {
89
- const { __scopeAvatar: t, ...r } = s, [n, o] = f("idle");
90
- return /* @__PURE__ */ e.jsx(
91
- he,
92
- {
93
- scope: t,
94
- imageLoadingStatus: n,
95
- onImageLoadingStatusChange: o,
96
- children: /* @__PURE__ */ e.jsx(S.span, { ...r, ref: a })
97
- }
98
- );
99
- }
100
- );
101
- H.displayName = U;
102
- var K = "AvatarImage", G = C(
103
- (s, a) => {
104
- const { __scopeAvatar: t, src: r, onLoadingStatusChange: n = () => {
105
- }, ...o } = s, i = V(K, t), l = ve(r), c = pe((d) => {
106
- n(d), i.onImageLoadingStatusChange(d);
107
- });
108
- return P(() => {
109
- l !== "idle" && c(l);
110
- }, [l, c]), l === "loaded" ? /* @__PURE__ */ e.jsx(S.img, { ...o, ref: a, src: r }) : null;
111
- }
112
- );
113
- G.displayName = K;
114
- var O = "AvatarFallback", Q = C(
115
- (s, a) => {
116
- const { __scopeAvatar: t, delayMs: r, ...n } = s, o = V(O, t), [i, l] = f(r === void 0);
117
- return E(() => {
118
- if (r !== void 0) {
119
- const c = window.setTimeout(() => l(!0), r);
120
- return () => window.clearTimeout(c);
121
- }
122
- }, [r]), i && o.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ e.jsx(S.span, { ...n, ref: a }) : null;
123
- }
124
- );
125
- Q.displayName = O;
126
- function ve(s) {
127
- const [a, t] = f("idle");
128
- return P(() => {
129
- if (!s) {
130
- t("error");
131
- return;
132
- }
133
- let r = !0;
134
- const n = new window.Image(), o = (i) => () => {
135
- r && t(i);
136
- };
137
- return t("loading"), n.onload = o("loaded"), n.onerror = o("error"), n.src = s, () => {
138
- r = !1;
139
- };
140
- }, [s]), a;
141
- }
142
- var be = H, ye = G, je = Q;
143
- const J = ({ image: s, label: a, labelColor: t, bgColor: r, size: n, className: o }) => {
144
- let i = "", l = " -mb-2 ";
145
- switch (n) {
146
- case "sm":
147
- i = " w-7 h-7 text-sm ";
148
- break;
149
- case "lg":
150
- i = " w-12 h-12 text-xl ";
151
- break;
152
- case "xl":
153
- i = " w-16 h-16 text-2xl ", l = " -mb-3 ";
154
- break;
155
- case "2xl":
156
- i = " w-20 h-20 text-2xl ", l = " -mb-3 ";
157
- break;
158
- default:
159
- i = " w-10 h-10 text-md ";
160
- break;
161
- }
162
- return /* @__PURE__ */ e.jsxs(be, { className: `relative inline-flex select-none items-center justify-center overflow-hidden rounded-full align-middle ${i}`, children: [
163
- s ? /* @__PURE__ */ e.jsx(ye, { className: `absolute z-20 h-full w-full object-cover ${o && o}`, src: s }) : /* @__PURE__ */ e.jsx("span", { className: `${t && `text-${t}`} relative z-10 inline-flex h-full w-full items-center justify-center p-2 font-semibold ${o && o}`, style: r ? { backgroundColor: r } : {}, children: a }),
164
- /* @__PURE__ */ e.jsx(je, { asChild: !0, children: /* @__PURE__ */ e.jsx(ge, { className: `${l} absolute z-0 h-full w-full text-grey-300` }) })
165
- ] });
166
- }, W = ({
167
- id: s,
168
- title: a,
169
- detail: t,
170
- action: r,
171
- hideActions: n,
172
- avatar: o,
173
- className: i,
174
- testId: l,
175
- separator: c = !0,
176
- bgOnHover: d = !0,
177
- paddingRight: m = !0,
178
- onClick: g,
179
- children: p
180
- }) => {
181
- const w = (x) => {
182
- g == null || g(x);
183
- }, b = u(
184
- "group/list-item flex items-center justify-between",
185
- d && "hover:bg-gradient-to-r hover:from-white hover:to-grey-50 dark:hover:from-black dark:hover:to-grey-950",
186
- c ? "border-b border-grey-100 last-of-type:border-b-transparent hover:border-grey-200 dark:border-grey-900 dark:hover:border-grey-800" : "border-y border-transparent hover:border-grey-200 first-of-type:hover:border-t-transparent dark:hover:border-grey-800",
187
- i
188
- );
189
- return /* @__PURE__ */ e.jsxs("div", { className: b, "data-testid": l, children: [
190
- p || /* @__PURE__ */ e.jsxs("div", { className: `flex grow items-center gap-3 ${g && "cursor-pointer"}`, onClick: w, children: [
191
- o && o,
192
- /* @__PURE__ */ e.jsxs("div", { className: "flex grow flex-col py-3 pr-6", id: s, children: [
193
- /* @__PURE__ */ e.jsx("span", { children: a }),
194
- t && /* @__PURE__ */ e.jsx("span", { className: "text-xs text-grey-700", children: t })
195
- ] })
196
- ] }),
197
- r && /* @__PURE__ */ e.jsx("div", { className: `visible py-3 md:pl-6 ${m && "md:pr-6"} ${n ? "group-hover/list-item:visible md:invisible" : ""}`, children: r })
198
- ] });
199
- };
200
- function Fe(s, a, t) {
201
- var l;
202
- const n = (l = R().data) == null ? void 0 : l.site, o = (n == null ? void 0 : n.url) ?? window.location.origin, i = new M(
203
- new URL(o),
204
- new URL("/ghost/api/admin/identities/", window.location.origin),
205
- s
206
- );
207
- return xe({
208
- async mutationFn(c) {
209
- return i.follow(c);
210
- },
211
- onSuccess: a,
212
- onError: t
213
- });
214
- }
215
- const ke = v.create(() => {
216
- const { updateRoute: s } = $(), a = v.useModal(), [t, r] = f(""), [n, o] = f(null);
217
- async function i() {
218
- fe({
219
- message: "Site followed",
220
- type: "success"
221
- }), a.remove(), s("");
222
- }
223
- async function l() {
224
- o(n);
225
- }
226
- const c = Fe("index", i, l);
227
- return /* @__PURE__ */ e.jsx(
228
- N,
229
- {
230
- afterClose: () => {
231
- c.reset(), s("");
232
- },
233
- cancelLabel: "Cancel",
234
- okLabel: "Follow",
235
- size: "sm",
236
- title: "Follow a Ghost site",
237
- onOk: () => c.mutate(t),
238
- children: /* @__PURE__ */ e.jsx("div", { className: "mt-3 flex flex-col gap-4", children: /* @__PURE__ */ e.jsx(
239
- me,
240
- {
241
- autoFocus: !0,
242
- error: !!n,
243
- hint: n,
244
- placeholder: "@username@hostname",
245
- title: "Profile name",
246
- value: t,
247
- "data-test-new-follower": !0,
248
- onChange: (d) => r(d.target.value)
249
- }
250
- ) })
251
- }
252
- );
253
- });
254
- function Le(s) {
255
- var o;
256
- const t = (o = R().data) == null ? void 0 : o.site, r = (t == null ? void 0 : t.url) ?? window.location.origin, n = new M(
257
- new URL(r),
258
- new URL("/ghost/api/admin/identities/", window.location.origin),
259
- s
260
- );
261
- return T({
262
- queryKey: [`followers:${s}`],
263
- async queryFn() {
264
- const i = await n.getFollowers();
265
- return await Promise.all(i.map((c) => n.getActor(c)));
266
- }
267
- });
268
- }
269
- const Ae = ({}) => {
270
- const { updateRoute: s } = $(), { data: a = [], isLoading: t } = Le("index");
271
- return /* @__PURE__ */ e.jsx(
272
- N,
273
- {
274
- afterClose: () => {
275
- s("profile");
276
- },
277
- cancelLabel: "",
278
- footer: !1,
279
- okLabel: "",
280
- size: "md",
281
- title: "Followers",
282
- topRightContent: "close",
283
- children: /* @__PURE__ */ e.jsx("div", { className: "mt-3 flex flex-col gap-4 pb-12", children: t ? /* @__PURE__ */ e.jsx("p", { children: "Loading followers..." }) : /* @__PURE__ */ e.jsx(B, { children: a.map((r) => /* @__PURE__ */ e.jsx(
284
- W,
285
- {
286
- action: /* @__PURE__ */ e.jsx(q, { color: "grey", label: "Remove", link: !0 }),
287
- avatar: /* @__PURE__ */ e.jsx(J, { image: r.icon, size: "sm" }),
288
- detail: A(r),
289
- id: "list-item",
290
- title: r.name || A(r)
291
- },
292
- r.id
293
- )) }) })
294
- }
295
- );
296
- }, Ce = v.create(Ae);
297
- function Se(s) {
298
- var o;
299
- const t = (o = R().data) == null ? void 0 : o.site, r = (t == null ? void 0 : t.url) ?? window.location.origin, n = new M(
300
- new URL(r),
301
- new URL("/ghost/api/admin/identities/", window.location.origin),
302
- s
303
- );
304
- return T({
305
- queryKey: [`following:${s}`],
306
- async queryFn() {
307
- return n.getFollowing();
308
- }
309
- });
310
- }
311
- const $e = ({}) => {
312
- const { updateRoute: s } = $(), { data: a = [] } = Se("index");
313
- return /* @__PURE__ */ e.jsx(
314
- N,
315
- {
316
- afterClose: () => {
317
- s("profile");
318
- },
319
- cancelLabel: "",
320
- footer: !1,
321
- okLabel: "",
322
- size: "md",
323
- title: "Following",
324
- topRightContent: "close",
325
- children: /* @__PURE__ */ e.jsx("div", { className: "mt-3 flex flex-col gap-4 pb-12", children: /* @__PURE__ */ e.jsx(B, { children: a.map((t) => /* @__PURE__ */ e.jsx(
326
- W,
327
- {
328
- action: /* @__PURE__ */ e.jsx(q, { color: "grey", label: "Unfollow", link: !0 }),
329
- avatar: /* @__PURE__ */ e.jsx(J, { image: t.icon, size: "sm" }),
330
- detail: A(t),
331
- id: "list-item",
332
- title: t.name
333
- },
334
- t.id
335
- )) }) })
336
- }
337
- );
338
- }, Ne = v.create($e), Ue = { FollowSite: ke, ViewFollowing: Ne, ViewFollowers: Ce };
339
- export {
340
- Ue as default
341
- };
342
- //# sourceMappingURL=modals-d56ac37e.mjs.map
@@ -1,35 +0,0 @@
1
- var __ember_auto_import__;(()=>{var e,r={9589:(e,r,t)=>{const n=t(68125),s=t(78695),o=["id","email","name","note","subscribed_to_emails","complimentary_plan","stripe_customer_id","created_at","deleted_at","labels","tiers"]
2
- e.exports=(e,r=o.slice())=>{r=r.map((e=>"subscribed"===e?"subscribed_to_emails":e))
3
- const t=e.map((e=>{e.error&&!r.includes("error")&&r.push("error")
4
- let t=""
5
- "string"==typeof e.labels?t=e.labels:Array.isArray(e.labels)&&(t=e.labels.map((e=>"string"==typeof e?e:e.name)).join(","))
6
- let s=""
7
- return Array.isArray(e.tiers)&&(s=e.tiers.map((e=>e.name)).join(",")),{id:e.id,email:e.email,name:e.name,note:e.note,subscribed_to_emails:"subscribed"in e?e.subscribed:e.subscribed_to_emails,complimentary_plan:e.comped||e.complimentary_plan,stripe_customer_id:n.get(e,"subscriptions[0].customer.id")||e.stripe_customer_id,created_at:e.created_at,deleted_at:e.deleted_at,labels:t,tiers:s,import_tier:e.import_tier||null,error:e.error||null}}))
8
- return s.unparse(t,{escapeFormulae:!0,columns:r})}},56857:(e,r,t)=>{var n={"./af":58547,"./af.js":58547,"./ar":28167,"./ar-dz":35298,"./ar-dz.js":35298,"./ar-kw":11314,"./ar-kw.js":11314,"./ar-ly":66455,"./ar-ly.js":66455,"./ar-ma":15998,"./ar-ma.js":15998,"./ar-sa":55388,"./ar-sa.js":55388,"./ar-tn":73358,"./ar-tn.js":73358,"./ar.js":28167,"./az":92367,"./az.js":92367,"./be":9161,"./be.js":9161,"./bg":359,"./bg.js":359,"./bm":32625,"./bm.js":32625,"./bn":52984,"./bn.js":52984,"./bo":87343,"./bo.js":87343,"./br":87948,"./br.js":87948,"./bs":88211,"./bs.js":88211,"./ca":34700,"./ca.js":34700,"./cs":27430,"./cs.js":27430,"./cv":55913,"./cv.js":55913,"./cy":16004,"./cy.js":16004,"./da":26839,"./da.js":26839,"./de":22131,"./de-at":6729,"./de-at.js":6729,"./de-ch":74743,"./de-ch.js":74743,"./de.js":22131,"./dv":14598,"./dv.js":14598,"./el":38737,"./el.js":38737,"./en-SG":94978,"./en-SG.js":94978,"./en-au":22606,"./en-au.js":22606,"./en-ca":60052,"./en-ca.js":60052,"./en-gb":17305,"./en-gb.js":17305,"./en-ie":76390,"./en-ie.js":76390,"./en-il":89549,"./en-il.js":89549,"./en-nz":67584,"./en-nz.js":67584,"./eo":24408,"./eo.js":24408,"./es":45644,"./es-do":21888,"./es-do.js":21888,"./es-us":23537,"./es-us.js":23537,"./es.js":45644,"./et":27257,"./et.js":27257,"./eu":57002,"./eu.js":57002,"./fa":90241,"./fa.js":90241,"./fi":74009,"./fi.js":74009,"./fo":81267,"./fo.js":81267,"./fr":71160,"./fr-ca":39433,"./fr-ca.js":39433,"./fr-ch":20130,"./fr-ch.js":20130,"./fr.js":71160,"./fy":20553,"./fy.js":20553,"./ga":18232,"./ga.js":18232,"./gd":33771,"./gd.js":33771,"./gl":99747,"./gl.js":99747,"./gom-latn":80289,"./gom-latn.js":80289,"./gu":148,"./gu.js":148,"./he":68247,"./he.js":68247,"./hi":39835,"./hi.js":39835,"./hr":69734,"./hr.js":69734,"./hu":40999,"./hu.js":40999,"./hy-am":95002,"./hy-am.js":95002,"./id":23021,"./id.js":23021,"./is":96232,"./is.js":96232,"./it":15581,"./it-ch":4809,"./it-ch.js":4809,"./it.js":15581,"./ja":45981,"./ja.js":45981,"./jv":12568,"./jv.js":12568,"./ka":17924,"./ka.js":17924,"./kk":1062,"./kk.js":1062,"./km":65456,"./km.js":65456,"./kn":15817,"./kn.js":15817,"./ko":45306,"./ko.js":45306,"./ku":39016,"./ku.js":39016,"./ky":71308,"./ky.js":71308,"./lb":67330,"./lb.js":67330,"./lo":18949,"./lo.js":18949,"./lt":58804,"./lt.js":58804,"./lv":47006,"./lv.js":47006,"./me":83346,"./me.js":83346,"./mi":630,"./mi.js":630,"./mk":88876,"./mk.js":88876,"./ml":86841,"./ml.js":86841,"./mn":93847,"./mn.js":93847,"./mr":57515,"./mr.js":57515,"./ms":51844,"./ms-my":44391,"./ms-my.js":44391,"./ms.js":51844,"./mt":81969,"./mt.js":81969,"./my":34982,"./my.js":34982,"./nb":41632,"./nb.js":41632,"./ne":81781,"./ne.js":81781,"./nl":14910,"./nl-be":72506,"./nl-be.js":72506,"./nl.js":14910,"./nn":12980,"./nn.js":12980,"./pa-in":33791,"./pa-in.js":33791,"./pl":1872,"./pl.js":1872,"./pt":9064,"./pt-br":85273,"./pt-br.js":85273,"./pt.js":9064,"./ro":63167,"./ro.js":63167,"./ru":28649,"./ru.js":28649,"./sd":14823,"./sd.js":14823,"./se":90672,"./se.js":90672,"./si":26244,"./si.js":26244,"./sk":40654,"./sk.js":40654,"./sl":44335,"./sl.js":44335,"./sq":79116,"./sq.js":79116,"./sr":60693,"./sr-cyrl":1436,"./sr-cyrl.js":1436,"./sr.js":60693,"./ss":51734,"./ss.js":51734,"./sv":37945,"./sv.js":37945,"./sw":41514,"./sw.js":41514,"./ta":1991,"./ta.js":1991,"./te":95011,"./te.js":95011,"./tet":19463,"./tet.js":19463,"./tg":43109,"./tg.js":43109,"./th":97144,"./th.js":97144,"./tl-ph":70401,"./tl-ph.js":70401,"./tlh":26678,"./tlh.js":26678,"./tr":28682,"./tr.js":28682,"./tzl":59084,"./tzl.js":59084,"./tzm":64307,"./tzm-latn":68869,"./tzm-latn.js":68869,"./tzm.js":64307,"./ug-cn":78812,"./ug-cn.js":78812,"./uk":25812,"./uk.js":25812,"./ur":25411,"./ur.js":25411,"./uz":59435,"./uz-latn":94589,"./uz-latn.js":94589,"./uz.js":59435,"./vi":50569,"./vi.js":50569,"./x-pseudo":85241,"./x-pseudo.js":85241,"./yo":96972,"./yo.js":96972,"./zh-cn":18422,"./zh-cn.js":18422,"./zh-hk":84106,"./zh-hk.js":84106,"./zh-tw":69362,"./zh-tw.js":69362}
9
- function s(e){var r=o(e)
10
- return t(r)}function o(e){if(!t.o(n,e)){var r=new Error("Cannot find module '"+e+"'")
11
- throw r.code="MODULE_NOT_FOUND",r}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=o,e.exports=s,s.id=56857},32186:e=>{"use strict"
12
- e.exports=require("@ember/test-waiters")},80032:e=>{"use strict"
13
- e.exports=require("ember-tracked-storage-polyfill")},17809:()=>{},86625:()=>{},89818:(e,r,t)=>{e.exports=function(){var e=_eai_d,r=_eai_r
14
- function n(e){return e&&e.__esModule?e:Object.assign({default:e},e)}window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},e("@sentry/browser",[],(function(){return n(t(51294))})),e("@sentry/core",[],(function(){return n(t(16154))})),e("@sentry/integrations",[],(function(){return n(t(20080))})),e("@sentry/replay",[],(function(){return n(t(51633))})),e("@sentry/utils",[],(function(){return n(t(88414))})),e("@tinybirdco/charts",[],(function(){return n(t(34017))})),e("@tryghost/color-utils",[],(function(){return n(t(86797))})),e("@tryghost/kg-clean-basic-html",[],(function(){return n(t(3414))})),e("@tryghost/kg-converters",[],(function(){return n(t(23075))})),e("@tryghost/limit-service",[],(function(){return n(t(55983))})),e("@tryghost/members-csv/lib/unparse",[],(function(){return n(t(9589))})),e("@tryghost/nql",[],(function(){return n(t(39365))})),e("@tryghost/nql-lang",[],(function(){return n(t(716))})),e("@tryghost/string",[],(function(){return n(t(96107))})),e("@tryghost/timezone-data",[],(function(){return n(t(27019))})),e("animejs/lib/anime.es.js",[],(function(){return n(t(62282))})),e("element-resize-detector",[],(function(){return n(t(29540))})),e("ember-css-transitions/modifiers/css-transition",["@ember/test-waiters"],(function(){return n(t(67946))})),e("ember-keyboard/helpers/if-key.js",[],(function(){return n(t(10530))})),e("ember-keyboard/helpers/on-key.js",[],(function(){return n(t(13692))})),e("ember-keyboard/modifiers/on-key.js",[],(function(){return n(t(40985))})),e("ember-keyboard/services/keyboard.js",[],(function(){return n(t(89697))})),e("ember-modifier",[],(function(){return n(t(37777))})),e("ember-moment/helpers/-base.js",[],(function(){return n(t(91366))})),e("ember-moment/helpers/is-after.js",[],(function(){return n(t(91461))})),e("ember-moment/helpers/is-before.js",[],(function(){return n(t(61e3))})),e("ember-moment/helpers/is-between.js",[],(function(){return n(t(447))})),e("ember-moment/helpers/is-same-or-after.js",[],(function(){return n(t(7916))})),e("ember-moment/helpers/is-same-or-before.js",[],(function(){return n(t(54351))})),e("ember-moment/helpers/is-same.js",[],(function(){return n(t(64193))})),e("ember-moment/helpers/moment-add.js",[],(function(){return n(t(50080))})),e("ember-moment/helpers/moment-calendar.js",[],(function(){return n(t(96625))})),e("ember-moment/helpers/moment-diff.js",[],(function(){return n(t(85340))})),e("ember-moment/helpers/moment-duration.js",[],(function(){return n(t(42967))})),e("ember-moment/helpers/moment-format.js",[],(function(){return n(t(10536))})),e("ember-moment/helpers/moment-from-now.js",[],(function(){return n(t(706))})),e("ember-moment/helpers/moment-from.js",[],(function(){return n(t(50727))})),e("ember-moment/helpers/moment-subtract.js",[],(function(){return n(t(54651))})),e("ember-moment/helpers/moment-to-date.js",[],(function(){return n(t(81183))})),e("ember-moment/helpers/moment-to-now.js",[],(function(){return n(t(17083))})),e("ember-moment/helpers/moment-to.js",[],(function(){return n(t(84818))})),e("ember-moment/helpers/moment.js",[],(function(){return n(t(41678))})),e("ember-moment/helpers/now.js",[],(function(){return n(t(34980))})),e("ember-moment/helpers/unix.js",[],(function(){return n(t(79272))})),e("ember-moment/helpers/utc.js",[],(function(){return n(t(36022))})),e("ember-moment/services/moment.js",[],(function(){return n(t(39879))})),e("fast-deep-equal",[],(function(){return n(t(25383))})),e("flexsearch",[],(function(){return n(t(37991))})),e("focus-trap",[],(function(){return n(t(39632))})),e("intersection-observer-admin",[],(function(){return n(t(21431))})),e("jose",[],(function(){return n(t(82765))})),e("microdiff",[],(function(){return n(t(59086))})),e("moment-timezone",[],(function(){return n(t(41101))})),e("papaparse",[],(function(){return n(t(78695))})),e("raf-pool",[],(function(){return n(t(60695))})),e("react",[],(function(){return n(t(72854))})),e("react-dom",[],(function(){return n(t(95303))})),e("react-dom/client",[],(function(){return n(t(70816))})),e("semver/functions/coerce",[],(function(){return n(t(18576))})),e("semver/functions/lt",[],(function(){return n(t(32817))})),e("semver/functions/parse",[],(function(){return n(t(47898))})),e("tooltip.js",[],(function(){return n(t(85557))})),e("tracked-built-ins",["ember-tracked-storage-polyfill"],(function(){return n(t(77151))})),e("validator",[],(function(){return n(t(29119))})),e("_eai_dyn_@sentry/browser",[],(function(){return Promise.resolve().then(t.bind(t,51294))}))}()},89807:function(e,r){window._eai_r=require,window._eai_d=define}},t={}
15
- function n(e){var s=t[e]
16
- if(void 0!==s)return s.exports
17
- var o=t[e]={id:e,loaded:!1,exports:{}}
18
- return r[e].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.m=r,n.c=t,e=[],n.O=(r,t,s,o)=>{if(!t){var i=1/0
19
- for(c=0;c<e.length;c++){for(var[t,s,o]=e[c],u=!0,m=0;m<t.length;m++)(!1&o||i>=o)&&Object.keys(n.O).every((e=>n.O[e](t[m])))?t.splice(m--,1):(u=!1,o<i&&(i=o))
20
- if(u){e.splice(c--,1)
21
- var a=s()
22
- void 0!==a&&(r=a)}}return r}o=o||0
23
- for(var c=e.length;c>0&&e[c-1][2]>o;c--)e[c]=e[c-1]
24
- e[c]=[t,s,o]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e
25
- return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={524:0}
26
- n.O.j=r=>0===e[r]
27
- var r=(r,t)=>{var s,o,[i,u,m]=t,a=0
28
- if(i.some((r=>0!==e[r]))){for(s in u)n.o(u,s)&&(n.m[s]=u[s])
29
- if(m)var c=m(n)}for(r&&r(t);a<i.length;a++)o=i[a],n.o(e,o)&&e[o]&&e[o][0](),e[o]=0
30
- return n.O(c)},t=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
31
- t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.O(void 0,[602],(()=>n(n.s=89807)))
32
- var s=n.O(void 0,[602],(()=>n(n.s=89818)))
33
- s=n.O(s),__ember_auto_import__=s})()
34
-
35
- //# sourceMappingURL=chunk.524.d49d5b3795688b5f880d.map