@openrails/contentkit-ui 0.103.2 → 0.104.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/README.md +111 -49
  2. package/dist/client/beacons.d.ts +3 -13
  3. package/dist/client/beacons.js +8 -46
  4. package/dist/client/beacons.js.map +1 -1
  5. package/dist/client/client.d.ts +3 -0
  6. package/dist/client/client.js +45 -43
  7. package/dist/client/client.js.map +1 -1
  8. package/dist/client/content/favorites.d.ts +2 -0
  9. package/dist/client/content/favorites.js.map +1 -1
  10. package/dist/client/content/types.d.ts +3 -0
  11. package/dist/client/content/types.js.map +1 -1
  12. package/dist/client/contents.d.ts +7 -1
  13. package/dist/client/contents.js +8 -0
  14. package/dist/client/contents.js.map +1 -1
  15. package/dist/client/discovery.d.ts +34 -5
  16. package/dist/client/discovery.js +23 -2
  17. package/dist/client/discovery.js.map +1 -1
  18. package/dist/client/engagement.d.ts +70 -0
  19. package/dist/client/engagement.js +191 -0
  20. package/dist/client/engagement.js.map +1 -0
  21. package/dist/client/generated/routes.d.ts +74 -35
  22. package/dist/client/generated/routes.js +119 -60
  23. package/dist/client/generated/routes.js.map +1 -1
  24. package/dist/client/generated/wire.d.ts +88 -85
  25. package/dist/client/generated/wire.js.map +1 -1
  26. package/dist/client/guest-reading-history.d.ts +40 -0
  27. package/dist/client/guest-reading-history.js +144 -0
  28. package/dist/client/guest-reading-history.js.map +1 -0
  29. package/dist/client/index.d.ts +5 -3
  30. package/dist/client/media/windows.d.ts +2 -0
  31. package/dist/client/media/windows.js +4 -1
  32. package/dist/client/media/windows.js.map +1 -1
  33. package/dist/client/stats.d.ts +4 -20
  34. package/dist/client/stats.js +0 -11
  35. package/dist/client/stats.js.map +1 -1
  36. package/dist/client/versions.d.ts +8 -6
  37. package/dist/client/versions.js +15 -10
  38. package/dist/client/versions.js.map +1 -1
  39. package/dist/client.js +24 -22
  40. package/dist/components/admin/bulk-drafts.d.ts +17 -0
  41. package/dist/components/admin/bulk-drafts.js +41 -0
  42. package/dist/components/admin/bulk-drafts.js.map +1 -0
  43. package/dist/components/admin/content-admin.d.ts +1 -1
  44. package/dist/components/admin/content-admin.js.map +1 -1
  45. package/dist/components/admin/content-manager.d.ts +11 -3
  46. package/dist/components/admin/content-manager.js +751 -394
  47. package/dist/components/admin/content-manager.js.map +1 -1
  48. package/dist/components/admin/group-manager.d.ts +8 -3
  49. package/dist/components/admin/group-manager.js +218 -146
  50. package/dist/components/admin/group-manager.js.map +1 -1
  51. package/dist/components/admin/page-notices.d.ts +16 -0
  52. package/dist/components/admin/page-notices.js +113 -0
  53. package/dist/components/admin/page-notices.js.map +1 -0
  54. package/dist/components/admin/page-picker.d.ts +38 -0
  55. package/dist/components/admin/page-picker.js +159 -0
  56. package/dist/components/admin/page-picker.js.map +1 -0
  57. package/dist/components/admin/quick-search.d.ts +14 -0
  58. package/dist/components/admin/quick-search.js +60 -0
  59. package/dist/components/admin/quick-search.js.map +1 -0
  60. package/dist/components/admin/reader-content-editor.js +382 -321
  61. package/dist/components/admin/reader-content-editor.js.map +1 -1
  62. package/dist/components/admin/reader-manifest.js +181 -179
  63. package/dist/components/admin/reader-manifest.js.map +1 -1
  64. package/dist/components/admin/shell.d.ts +10 -2
  65. package/dist/components/admin/shell.js +114 -42
  66. package/dist/components/admin/shell.js.map +1 -1
  67. package/dist/components/admin/stats-dashboard.d.ts +4 -9
  68. package/dist/components/admin/stats-dashboard.js +303 -207
  69. package/dist/components/admin/stats-dashboard.js.map +1 -1
  70. package/dist/components/admin/upload-queue.d.ts +14 -0
  71. package/dist/components/admin/upload-queue.js +115 -98
  72. package/dist/components/admin/upload-queue.js.map +1 -1
  73. package/dist/components/content/card.d.ts +31 -3
  74. package/dist/components/content/card.js +324 -158
  75. package/dist/components/content/card.js.map +1 -1
  76. package/dist/components/content/daily-releases.js +144 -190
  77. package/dist/components/content/daily-releases.js.map +1 -1
  78. package/dist/components/content/editor-save.js +27 -25
  79. package/dist/components/content/editor-save.js.map +1 -1
  80. package/dist/components/content/editors.js +274 -253
  81. package/dist/components/content/editors.js.map +1 -1
  82. package/dist/components/content/favorites.d.ts +6 -0
  83. package/dist/components/content/favorites.js +47 -0
  84. package/dist/components/content/favorites.js.map +1 -0
  85. package/dist/components/content/filter-dialog.js +19 -15
  86. package/dist/components/content/filter-dialog.js.map +1 -1
  87. package/dist/components/content/filters.d.ts +2 -0
  88. package/dist/components/content/filters.js +5 -1
  89. package/dist/components/content/filters.js.map +1 -1
  90. package/dist/components/content/grid.d.ts +44 -16
  91. package/dist/components/content/grid.js +308 -270
  92. package/dist/components/content/grid.js.map +1 -1
  93. package/dist/components/content/history.d.ts +6 -0
  94. package/dist/components/content/history.js +111 -0
  95. package/dist/components/content/history.js.map +1 -0
  96. package/dist/components/content/index.d.ts +6 -3
  97. package/dist/components/content/listing.d.ts +14 -3
  98. package/dist/components/content/listing.js +65 -56
  99. package/dist/components/content/listing.js.map +1 -1
  100. package/dist/components/content/offer-fields.js +6 -6
  101. package/dist/components/content/paged-grid.d.ts +10 -0
  102. package/dist/components/content/paged-grid.js +116 -0
  103. package/dist/components/content/paged-grid.js.map +1 -0
  104. package/dist/components/content/pagination.d.ts +19 -0
  105. package/dist/components/content/pagination.js +97 -0
  106. package/dist/components/content/pagination.js.map +1 -0
  107. package/dist/components/content/paywall.d.ts +9 -0
  108. package/dist/components/content/paywall.js +27 -3
  109. package/dist/components/content/paywall.js.map +1 -1
  110. package/dist/components/content/post-list.d.ts +37 -0
  111. package/dist/components/content/post-list.js +203 -0
  112. package/dist/components/content/post-list.js.map +1 -0
  113. package/dist/components/content/reader-settings.d.ts +2 -0
  114. package/dist/components/content/reader-settings.js +1 -1
  115. package/dist/components/content/reader-settings.js.map +1 -1
  116. package/dist/components/content/search.d.ts +11 -4
  117. package/dist/components/content/search.js +22 -11
  118. package/dist/components/content/search.js.map +1 -1
  119. package/dist/components/content/summary-tile.d.ts +14 -0
  120. package/dist/components/content/summary-tile.js +63 -0
  121. package/dist/components/content/summary-tile.js.map +1 -0
  122. package/dist/components/groups/banner.d.ts +6 -2
  123. package/dist/components/groups/banner.js +79 -61
  124. package/dist/components/groups/banner.js.map +1 -1
  125. package/dist/components/groups/directory.d.ts +12 -2
  126. package/dist/components/groups/directory.js +168 -105
  127. package/dist/components/groups/directory.js.map +1 -1
  128. package/dist/components/groups/editor.js +10 -10
  129. package/dist/components/groups/editor.js.map +1 -1
  130. package/dist/components/groups/entity-chips.d.ts +61 -0
  131. package/dist/components/groups/entity-chips.js +382 -0
  132. package/dist/components/groups/entity-chips.js.map +1 -0
  133. package/dist/components/groups/group-members.d.ts +29 -0
  134. package/dist/components/groups/group-members.js +474 -0
  135. package/dist/components/groups/group-members.js.map +1 -0
  136. package/dist/components/groups/header.js +53 -45
  137. package/dist/components/groups/header.js.map +1 -1
  138. package/dist/components/groups/index.d.ts +3 -1
  139. package/dist/components/groups/memberships.d.ts +3 -36
  140. package/dist/components/groups/memberships.js +105 -480
  141. package/dist/components/groups/memberships.js.map +1 -1
  142. package/dist/components/groups/scoped.d.ts +23 -0
  143. package/dist/components/groups/scoped.js +92 -0
  144. package/dist/components/groups/scoped.js.map +1 -0
  145. package/dist/components/media-folder-editor.d.ts +5 -0
  146. package/dist/components/media-folder-editor.js +419 -231
  147. package/dist/components/media-folder-editor.js.map +1 -1
  148. package/dist/components/sortable-list.d.ts +5 -1
  149. package/dist/components/sortable-list.js +97 -81
  150. package/dist/components/sortable-list.js.map +1 -1
  151. package/dist/components/video-mini-player.d.ts +4 -1
  152. package/dist/components/video-mini-player.js +77 -71
  153. package/dist/components/video-mini-player.js.map +1 -1
  154. package/dist/components/video-player.d.ts +4 -1
  155. package/dist/components/video-player.js +280 -276
  156. package/dist/components/video-player.js.map +1 -1
  157. package/dist/index.d.ts +2 -1
  158. package/dist/index.js +41 -34
  159. package/dist/locales/admin/de.js +80 -47
  160. package/dist/locales/admin/de.js.map +1 -1
  161. package/dist/locales/admin/en.d.ts +74 -41
  162. package/dist/locales/admin/en.js +80 -47
  163. package/dist/locales/admin/en.js.map +1 -1
  164. package/dist/locales/admin/es.js +80 -47
  165. package/dist/locales/admin/es.js.map +1 -1
  166. package/dist/locales/admin/ja.js +80 -47
  167. package/dist/locales/admin/ja.js.map +1 -1
  168. package/dist/locales/admin/ko.js +80 -47
  169. package/dist/locales/admin/ko.js.map +1 -1
  170. package/dist/locales/admin/zh.js +80 -47
  171. package/dist/locales/admin/zh.js.map +1 -1
  172. package/dist/locales/de.js +1 -0
  173. package/dist/locales/de.js.map +1 -1
  174. package/dist/locales/discovery/de.js +25 -2
  175. package/dist/locales/discovery/de.js.map +1 -1
  176. package/dist/locales/discovery/en.d.ts +24 -1
  177. package/dist/locales/discovery/en.js +25 -2
  178. package/dist/locales/discovery/en.js.map +1 -1
  179. package/dist/locales/discovery/es.js +25 -2
  180. package/dist/locales/discovery/es.js.map +1 -1
  181. package/dist/locales/discovery/ja.js +25 -2
  182. package/dist/locales/discovery/ja.js.map +1 -1
  183. package/dist/locales/discovery/ko.js +25 -2
  184. package/dist/locales/discovery/ko.js.map +1 -1
  185. package/dist/locales/discovery/zh.js +25 -2
  186. package/dist/locales/discovery/zh.js.map +1 -1
  187. package/dist/locales/en.d.ts +119 -44
  188. package/dist/locales/en.js +1 -0
  189. package/dist/locales/en.js.map +1 -1
  190. package/dist/locales/es.js +1 -0
  191. package/dist/locales/es.js.map +1 -1
  192. package/dist/locales/groups/de.js +22 -4
  193. package/dist/locales/groups/de.js.map +1 -1
  194. package/dist/locales/groups/en.d.ts +20 -2
  195. package/dist/locales/groups/en.js +22 -4
  196. package/dist/locales/groups/en.js.map +1 -1
  197. package/dist/locales/groups/es.js +22 -4
  198. package/dist/locales/groups/es.js.map +1 -1
  199. package/dist/locales/groups/ja.js +22 -4
  200. package/dist/locales/groups/ja.js.map +1 -1
  201. package/dist/locales/groups/ko.js +22 -4
  202. package/dist/locales/groups/ko.js.map +1 -1
  203. package/dist/locales/groups/zh.js +22 -4
  204. package/dist/locales/groups/zh.js.map +1 -1
  205. package/dist/locales/ja.js +1 -0
  206. package/dist/locales/ja.js.map +1 -1
  207. package/dist/locales/ko.js +1 -0
  208. package/dist/locales/ko.js.map +1 -1
  209. package/dist/locales/zh.js +1 -0
  210. package/dist/locales/zh.js.map +1 -1
  211. package/dist/react/discovery.d.ts +36 -17
  212. package/dist/react/discovery.js +305 -221
  213. package/dist/react/discovery.js.map +1 -1
  214. package/dist/react/groups.d.ts +19 -3
  215. package/dist/react/groups.js +49 -22
  216. package/dist/react/groups.js.map +1 -1
  217. package/dist/react/index.d.ts +7 -4
  218. package/dist/react/page-notices.d.ts +13 -0
  219. package/dist/react/page-notices.js +38 -0
  220. package/dist/react/page-notices.js.map +1 -0
  221. package/dist/react/post-reads.d.ts +23 -0
  222. package/dist/react/post-reads.js +90 -0
  223. package/dist/react/post-reads.js.map +1 -0
  224. package/dist/react/remembered-sort.d.ts +5 -0
  225. package/dist/react/remembered-sort.js +29 -0
  226. package/dist/react/remembered-sort.js.map +1 -0
  227. package/dist/react/resources.d.ts +3 -1
  228. package/dist/react/resources.js +6 -2
  229. package/dist/react/resources.js.map +1 -1
  230. package/dist/react/stats.d.ts +3 -7
  231. package/dist/react/stats.js +2 -6
  232. package/dist/react/stats.js.map +1 -1
  233. package/dist/react/use-engagement.d.ts +28 -0
  234. package/dist/react/use-engagement.js +226 -0
  235. package/dist/react/use-engagement.js.map +1 -0
  236. package/dist/react/use-resource.d.ts +4 -3
  237. package/dist/react/use-resource.js +2 -1
  238. package/dist/react/use-resource.js.map +1 -1
  239. package/dist/react.js +29 -26
  240. package/dist/styles.css +1 -1
  241. package/dist/ui/dialog.d.ts +2 -1
  242. package/dist/ui/dialog.js +23 -20
  243. package/dist/ui/dialog.js.map +1 -1
  244. package/dist/urls/index.d.ts +1 -1
  245. package/dist/urls.js +2 -2
  246. package/dist/urls.js.map +1 -1
  247. package/package.json +1 -1
  248. package/dist/components/admin/page-review.d.ts +0 -13
  249. package/dist/components/admin/page-review.js +0 -225
  250. package/dist/components/admin/page-review.js.map +0 -1
  251. package/dist/react/page-review.d.ts +0 -14
  252. package/dist/react/page-review.js +0 -37
  253. package/dist/react/page-review.js.map +0 -1
@@ -1,86 +1,126 @@
1
1
  import { ContentKitError as e, toContentKitError as t } from "../client/errors.js";
2
2
  import { ContentKitContext as n, useGuarded as r } from "./context.js";
3
3
  import { keyOf as i, useContentScope as a, useList as o, useResource as s } from "./use-resource.js";
4
- import { recentSearchLimit as c } from "../client/browser-search-history.js";
5
- import { Beacons as l, eventId as u } from "../client/beacons.js";
6
- import { useCallback as d, useContext as f, useEffect as p, useLayoutEffect as m, useMemo as h, useRef as g, useState as _, useSyncExternalStore as v } from "react";
4
+ import { guestStanding as c } from "../client/guest-reading-history.js";
5
+ import { recentSearchLimit as l } from "../client/browser-search-history.js";
6
+ import { Beacons as u, eventId as d } from "../client/beacons.js";
7
+ import { useCallback as f, useContext as p, useEffect as m, useLayoutEffect as h, useMemo as g, useRef as _, useState as v, useSyncExternalStore as y } from "react";
7
8
  //#region src/react/discovery.ts
8
- var y = (e) => ({
9
+ var b = (e) => ({
9
10
  items: e.contents,
10
- next: e.next_cursor ?? null
11
- }), b = [];
12
- function x(e, t) {
13
- let n = h(() => ({
11
+ next: e.next_cursor ?? null,
12
+ metadata: e.summary
13
+ }), x = [], S = Object.freeze([]);
14
+ function C(e, t) {
15
+ let n = g(() => ({
14
16
  client: e,
15
17
  scope: t
16
- }), [e, t]), r = g(n);
17
- return m(() => (r.current = n, () => {
18
+ }), [e, t]), r = _(n);
19
+ return h(() => (r.current = n, () => {
18
20
  r.current = null;
19
- }), [n]), d(() => r.current === n, [n]);
21
+ }), [n]), f(() => r.current === n, [n]);
20
22
  }
21
- function S(e) {
22
- let t = f(n)?.language;
23
- return h(() => e && !e.display_language && t ? {
23
+ function w(e) {
24
+ let t = p(n)?.language;
25
+ return g(() => e && !e.display_language && t ? {
24
26
  ...e,
25
27
  display_language: t
26
28
  } : e, [e, t]);
27
29
  }
28
- function C(e, t = {}) {
29
- let { client: n, store: r, scope: s } = a(t.client), c = S(e);
30
- return o(r, c ? i("cards", s, "list", c) : null, { type: "cards" }, async (e, t) => y(await n.discovery.list({
30
+ function T(e, t = {}) {
31
+ let { client: n, store: r, scope: s } = a(t.client), c = w(e), l = o(r, c ? i("cards", s, "list", c) : null, { type: "cards" }, async (e, t) => b(await n.discovery.list({
31
32
  ...c,
32
- cursor: e
33
+ cursor: e,
34
+ summary: e ? void 0 : c?.summary
33
35
  }, t)));
36
+ return {
37
+ ...l,
38
+ summary: l.metadata
39
+ };
34
40
  }
35
- function w(e, t = {}) {
36
- let { client: n, store: r, scope: o } = a(t.client), c = S(h(() => {
37
- if (!e) return null;
38
- let { sort: t, cursor: n, limit: r, card_entities: i, mode: a, ...o } = e;
39
- return o;
40
- }, [e])), l = s(r, c ? i("release-dates", o, "locked", c) : null, { type: "release-dates" }, async (e) => {
41
- let t = async (t) => (await n.discovery.releaseDates({
41
+ var E = [];
42
+ function D(e, t, n) {
43
+ let { store: r } = a(n.client), i = s(r, e, { type: "cards" }, t);
44
+ return {
45
+ items: i.data?.contents ?? E,
46
+ summary: i.data?.summary,
47
+ loading: i.loading || !!e && !i.loaded,
48
+ error: i.error,
49
+ reload: i.reload
50
+ };
51
+ }
52
+ function O(e, t, n = {}) {
53
+ let { client: r, scope: o } = a(n.client), s = w(e), c = Math.max(1, Math.floor(t));
54
+ return D(s ? i("cards", o, "list-page", s, c) : null, (e) => r.discovery.list({
55
+ ...s,
56
+ cursor: void 0,
57
+ page: c,
58
+ summary: s.summary ?? !0
59
+ }, e), n);
60
+ }
61
+ function k(e, t, n = {}) {
62
+ let { client: r, scope: o, viewer: s } = a(n.client), c = w(e?.q.trim() ? e : null), l = Math.max(1, Math.floor(t)), u = C(r, o);
63
+ return D(c ? i("cards", o, "search-page", c, l) : null, async (e) => {
64
+ let t = await r.discovery.search({
42
65
  ...c,
43
- mode: t,
44
- by: "month",
45
- limit: 1e3
46
- }, e)).dates.reduce((e, t) => e + t.count, 0), [r, i] = await Promise.all([t("lock"), t("hide")]);
47
- return Math.max(0, r - i);
48
- });
66
+ cursor: void 0,
67
+ page: l,
68
+ summary: c.summary ?? !0
69
+ }, e);
70
+ return l === 1 && s === null && !e.aborted && u() && r.discovery.browserSearches.record(c.q, t.contents.length), t;
71
+ }, n);
72
+ }
73
+ function A(e, t = {}) {
74
+ let { client: n, store: r, scope: o } = a(t.client), c = w(g(() => {
75
+ if (!e) return null;
76
+ let { cursor: t, ...n } = e;
77
+ return {
78
+ ...n,
79
+ mode: "lock",
80
+ limit: 1,
81
+ summary: !0
82
+ };
83
+ }, [e])), l = s(r, c ? i("cards", o, "locked-summary", c) : null, { type: "cards" }, async (e) => (await n.discovery.list(c, e)).summary?.locked_count ?? 0);
49
84
  return {
50
85
  count: l.data,
51
86
  loading: l.loading
52
87
  };
53
88
  }
54
- function T(e, t = {}) {
55
- let { client: n, store: r, scope: s, viewer: c } = a(t.client), l = S(e?.q.trim() ? e : null), u = x(n, s);
56
- return o(r, l ? i("cards", s, "search", l) : null, { type: "cards" }, async (e, t) => {
89
+ function j(e, t = {}) {
90
+ let { client: n, store: r, scope: s, viewer: c } = a(t.client), l = w(e?.q.trim() ? e : null), u = C(n, s), d = o(r, l ? i("cards", s, "search", l) : null, { type: "cards" }, async (e, t) => {
57
91
  let r = await n.discovery.search({
58
92
  ...l,
59
- cursor: e
93
+ cursor: e,
94
+ summary: e ? void 0 : l?.summary
60
95
  }, t);
61
- return !e && c === null && !t.aborted && u() && n.discovery.browserSearches.record(l.q, r.contents.length), y(r);
96
+ return !e && c === null && !t.aborted && u() && n.discovery.browserSearches.record(l.q, r.contents.length), b(r);
62
97
  });
98
+ return {
99
+ ...d,
100
+ summary: d.metadata
101
+ };
63
102
  }
64
- function E(e, t, n) {
65
- let { store: r } = a(n.client), i = s(r, e, { type: "cards" }, async (e) => (await t(e)).contents), o = i.error?.code === "not_configured";
103
+ function M(e, t, n) {
104
+ let { store: r } = a(n.client), i = s(r, e, { type: "cards" }, t), o = i.error?.code === "not_configured";
66
105
  return {
67
- items: i.data ?? [],
106
+ items: i.data?.contents ?? [],
107
+ summary: i.data?.summary,
68
108
  loading: !!e && (i.loading || !i.loaded),
69
109
  error: o ? void 0 : i.error,
70
110
  unavailable: o,
71
111
  reload: i.reload
72
112
  };
73
113
  }
74
- function D(e, t = {}, n = {}) {
75
- let { client: r, scope: o } = a(n.client), s = S(t);
76
- return E(e ? i("cards", o, "similar", e, s) : null, (t) => r.discovery.similar(e, s, t), n);
114
+ function N(e, t = {}, n = {}) {
115
+ let { client: r, scope: o } = a(n.client), s = w(t);
116
+ return M(e ? i("cards", o, "similar", e, s) : null, (t) => r.discovery.similar(e, s, t), n);
77
117
  }
78
- function O(e = {}, t = {}) {
79
- let { client: n, scope: r, viewer: o } = a(t.client), s = S(e);
80
- return E(o === null || !s ? null : i("cards", r, "recommended", s), (e) => n.discovery.recommendations(s, e), t);
118
+ function P(e = {}, t = {}) {
119
+ let { client: n, scope: r, viewer: o } = a(t.client), s = w(e);
120
+ return M(o === null || !s ? null : i("cards", r, "recommended", s), (e) => n.discovery.recommendations(s, e), t);
81
121
  }
82
- function k(e = {}, t = {}) {
83
- let { client: n, store: r, scope: s } = a(t.client), c = S(e);
122
+ function F(e = {}, t = {}) {
123
+ let { client: n, store: r, scope: s } = a(t.client), c = w(e);
84
124
  return o(r, i("release-dates", s, c), { type: "release-dates" }, async (e, t) => {
85
125
  let r = await n.discovery.releaseDates({
86
126
  ...c,
@@ -95,8 +135,8 @@ function k(e = {}, t = {}) {
95
135
  };
96
136
  });
97
137
  }
98
- function A(e = {}, t = {}) {
99
- let { client: n, store: r, scope: o } = a(t.client), c = S(e), l = s(r, c ? i("daily-releases", o, c) : null, { type: "daily-releases" }, (e) => n.discovery.releases(c, e));
138
+ function I(e = {}, t = {}) {
139
+ let { client: n, store: r, scope: o } = a(t.client), c = w(e), l = s(r, c ? i("daily-releases", o, c) : null, { type: "daily-releases" }, (e) => n.discovery.releases(c, e));
100
140
  return {
101
141
  data: l.data,
102
142
  loading: !!c && (l.loading || !l.loaded),
@@ -104,27 +144,82 @@ function A(e = {}, t = {}) {
104
144
  reload: l.reload
105
145
  };
106
146
  }
107
- function j(e = {}, t = {}) {
108
- let { client: n, store: s, scope: c, viewer: l } = a(t.client), u = S(e), f = r(), p = o(s, l === null || !u ? null : i("history", c, u), { type: "history" }, async (e, t) => y(await n.discovery.history({
109
- ...u,
110
- cursor: e
111
- }, t))), m = d((e = {}) => f(() => n.discovery.forgetHistory(e)), [n, f]);
147
+ function L(e = {}, t = {}) {
148
+ let { client: n, store: s, scope: l, viewer: u } = a(t.client), d = w(e), p = r(), m = u === null, h = C(n, l), _ = n.guestHistory, v = d !== null, x = f((e) => m && v ? _.subscribe(e) : () => {}, [
149
+ _,
150
+ m,
151
+ v
152
+ ]), T = f(() => m && v ? _.snapshot() : S, [
153
+ _,
154
+ m,
155
+ v
156
+ ]), E = y(x, T, () => S), D = g(() => E.filter((e) => !d?.kind || e.kind === d.kind).slice(0, 100), [E, d?.kind]), O = m ? D.map((e) => [
157
+ e.id,
158
+ e.at,
159
+ e.checkpoints.map((e) => [
160
+ e.visit_id,
161
+ e.segment_id,
162
+ e.revision
163
+ ])
164
+ ]) : void 0, k = o(s, !d || u === void 0 ? null : i("history", l, d, O), { type: "history" }, async (e, t) => {
165
+ if (!m) return b(await n.discovery.history({
166
+ ...d,
167
+ cursor: e,
168
+ summary: e ? void 0 : d?.summary
169
+ }, t));
170
+ let r = typeof e == "number" ? e : 0, i = Math.max(1, Math.min(100, d?.limit ?? 50)), a = D.slice(r, r + i);
171
+ if (!a.length) return {
172
+ items: [],
173
+ next: null
174
+ };
175
+ let o = await n.discovery.list({
176
+ ids: (d?.summary && !e ? D : a).map((e) => e.id),
177
+ summary: e ? void 0 : d?.summary,
178
+ kind: d?.kind,
179
+ language: d?.language,
180
+ display_language: d?.display_language,
181
+ mode: d?.mode,
182
+ card_entities: d?.card_entities,
183
+ limit: 100
184
+ }, t), s = new Map(o.contents.map((e) => [e.id, e]));
185
+ return {
186
+ items: a.flatMap((e) => {
187
+ let t = s.get(e.id);
188
+ if (!t) return [];
189
+ let n = c(t, e);
190
+ return d?.status === "seen" && !n.seen || d?.status === "in_progress" && (!n.seen || n.completed) || d?.status === "completed" && !n.completed ? [] : [{
191
+ ...t,
192
+ viewer: n
193
+ }];
194
+ }),
195
+ next: r + a.length < D.length ? r + a.length : null,
196
+ metadata: o.summary
197
+ };
198
+ }), A = f((e = {}) => h() ? m ? (_.clear(e), Promise.resolve()) : p(() => n.discovery.forgetHistory(e)) : Promise.resolve(), [
199
+ _,
200
+ n,
201
+ m,
202
+ p,
203
+ h
204
+ ]), j = m && !!d?.status;
112
205
  return {
113
- ...p,
114
- forget: m
206
+ ...k,
207
+ summary: j ? void 0 : k.metadata,
208
+ filterSummaryUnknown: j && (k.metadata?.filtered_count ?? 0) > 0,
209
+ forget: A
115
210
  };
116
211
  }
117
- function M(e = {}) {
118
- let { client: t, store: n, scope: o, viewer: l } = a(e.client), u = r(), f = x(t, o), m = l === null, g = e.enabled !== !1, _ = t.discovery.browserSearches, y = d((e) => m && g ? _.subscribe(e) : () => {}, [
212
+ function R(e = {}) {
213
+ let { client: t, store: n, scope: o, viewer: c } = a(e.client), u = r(), d = C(t, o), p = c === null, h = e.enabled !== !1, _ = t.discovery.browserSearches, v = f((e) => p && h ? _.subscribe(e) : () => {}, [
119
214
  _,
120
- m,
121
- g
122
- ]), S = d(() => m && g ? _.snapshot() : b, [
215
+ p,
216
+ h
217
+ ]), b = f(() => p && h ? _.snapshot() : x, [
123
218
  _,
124
- m,
125
- g
126
- ]), C = v(y, S, () => b), w = h(() => C.slice(0, c(e.limit)), [C, e.limit]), T = !g || m ? null : i("searches", o, e.limit ?? 10), E = s(n, T, { type: "searches" }, async (n) => (await t.discovery.recentSearches({ limit: e.limit }, n)).searches);
127
- p(() => {
219
+ p,
220
+ h
221
+ ]), S = y(v, b, () => x), w = g(() => S.slice(0, l(e.limit)), [S, e.limit]), T = !h || p ? null : i("searches", o, e.limit ?? 10), E = s(n, T, { type: "searches" }, async (n) => (await t.discovery.recentSearches({ limit: e.limit }, n)).searches);
222
+ m(() => {
128
223
  if (!T) return;
129
224
  let e = () => {
130
225
  n.snapshot(T).loading || n.load(T, !0);
@@ -137,62 +232,71 @@ function M(e = {}) {
137
232
  typeof window < "u" && window.removeEventListener("focus", e), typeof document < "u" && document.removeEventListener("visibilitychange", t);
138
233
  };
139
234
  }, [T, n]);
140
- let D = d(async (e) => {
141
- if (f()) {
142
- if (m) {
235
+ let D = f(async (e) => {
236
+ if (d()) {
237
+ if (p) {
143
238
  _.clear(e);
144
239
  return;
145
240
  }
146
- await u(() => f() ? t.discovery.clearSearches(e ? { query: e } : {}) : Promise.resolve());
241
+ await u(() => d() ? t.discovery.clearSearches(e ? { query: e } : {}) : Promise.resolve());
147
242
  }
148
243
  }, [
149
244
  _,
150
245
  t,
151
- m,
246
+ p,
152
247
  u,
153
- f
248
+ d
154
249
  ]);
155
- return m ? {
156
- searches: g ? w : b,
250
+ return p ? {
251
+ searches: h ? w : x,
157
252
  loading: !1,
158
253
  clear: D
159
254
  } : {
160
- searches: E.data ?? b,
255
+ searches: E.data ?? x,
161
256
  loading: !!T && (E.loading || !E.loaded),
162
257
  error: E.error,
163
258
  clear: D
164
259
  };
165
260
  }
166
- var N = (e) => ({
261
+ var z = (e) => ({
167
262
  items: e.items.map((e) => ({
168
263
  ...e,
169
264
  id: e.content?.id ?? e.entity?.id ?? ""
170
265
  })),
171
- next: e.next_cursor ?? null
266
+ next: e.next_cursor ?? null,
267
+ metadata: e.summary
172
268
  });
173
- function P(e = {}, t = {}) {
174
- let { client: n, store: r, scope: s, viewer: c } = a(t.client), l = S(e);
175
- return o(r, c === null ? null : i("favorites", s, l), { type: "favorites" }, async (e, t) => N(await n.favorites.mine({
269
+ function B(e = {}, t = {}) {
270
+ let { client: n, store: r, scope: s, viewer: c } = a(t.client), l = w(e), u = o(r, c === null ? null : i("favorites", s, l), { type: "favorites" }, async (e, t) => z(await n.favorites.mine({
176
271
  ...l,
177
- cursor: e
272
+ cursor: e,
273
+ summary: e ? void 0 : l.summary
178
274
  }, t)));
275
+ return {
276
+ ...u,
277
+ summary: u.metadata
278
+ };
179
279
  }
180
- function F(e = {}, t = {}) {
181
- let { client: n, store: r, scope: s, viewer: c } = a(t.client), l = S(e);
182
- return o(r, c === null ? null : i("reactions", s, l), { type: "reactions" }, async (e, t) => N(await n.reactions.mine({
280
+ function V(e = {}, t = {}) {
281
+ let { client: n, store: r, scope: s, viewer: c } = a(t.client), l = w(e), u = o(r, c === null ? null : i("reactions", s, l), { type: "reactions" }, async (e, t) => z(await n.reactions.mine({
183
282
  ...l,
184
- cursor: e
283
+ cursor: e,
284
+ summary: e ? void 0 : l.summary
185
285
  }, t)));
286
+ return {
287
+ ...u,
288
+ summary: u.metadata
289
+ };
186
290
  }
187
- function I(t = {}) {
188
- let { client: n, store: o, scope: c, viewer: l, language: u } = a(t.client), f = t.language ?? u, m = l === null, y = n.preferences.browser, b = v(y.subscribe, y.snapshot, y.snapshot), S = i("content-filters", c, f), C = g(null), w = m && C.current?.guest && C.current.client === n && C.current.language === f ? C.current.data : void 0, T = s(o, S, { type: "content-filters" }, (e) => n.discovery.contentFilters(f, e), { initial: w });
189
- C.current = {
291
+ function H(t = {}) {
292
+ let { client: n, store: o, scope: c, viewer: l, language: u } = a(t.client), d = t.language ?? u, p = l === null, h = n.preferences.browser, b = y(h.subscribe, h.snapshot, h.snapshot), x = i("content-filters", c, d), S = _(null), w = p && S.current?.guest && S.current.client === n && S.current.language === d ? S.current.data : void 0, T = s(o, x, { type: "content-filters" }, (e) => n.discovery.contentFilters(d, e), { initial: w });
293
+ S.current = {
190
294
  client: n,
191
- language: f,
192
- guest: m,
295
+ language: d,
296
+ guest: p,
193
297
  data: T.data
194
298
  };
195
- let E = d((e, t = b) => {
299
+ let E = f((e, t = b) => {
196
300
  let n = new Map(t.filters.map((e) => [e.entity_id, e]));
197
301
  return {
198
302
  ...e,
@@ -206,17 +310,17 @@ function I(t = {}) {
206
310
  };
207
311
  })
208
312
  };
209
- }, [b]), D = h(() => T.data && m ? E(T.data) : T.data, [
313
+ }, [b]), D = g(() => T.data && p ? E(T.data) : T.data, [
210
314
  T.data,
211
- m,
315
+ p,
212
316
  E
213
- ]), O = r(), k = x(n, c), [A, j] = _(0), M = g(D);
214
- M.current = D, p(() => {
317
+ ]), O = r(), k = C(n, c), [A, j] = v(0), M = _(D);
318
+ M.current = D, m(() => {
215
319
  j(0);
216
320
  }, [n, c]);
217
- let N = d(async (t) => {
321
+ let N = f(async (t) => {
218
322
  if (!k()) throw new e("aborted", "The account changed.");
219
- if (m) {
323
+ if (p) {
220
324
  let r = M.current;
221
325
  if (!r) throw new e("invalid_request", "Content filters have not loaded.");
222
326
  let i = new Set(r.filters.map((e) => e.entity.id)), a = [], o = /* @__PURE__ */ new Set();
@@ -232,18 +336,18 @@ function I(t = {}) {
232
336
  });
233
337
  else throw new e("invalid_request", "A content filter needs visible or default:true.");
234
338
  }
235
- return n.preferences.setGuestFilters(a), E(r, y.snapshot());
339
+ return n.preferences.setGuestFilters(a), E(r, h.snapshot());
236
340
  }
237
341
  let r = new Set((t.filters ?? []).map((e) => e.entity_id)), i = typeof t.include_deleted == "boolean";
238
342
  j((e) => e + 1);
239
343
  try {
240
344
  let a = await O(() => {
241
345
  if (!k()) throw new e("aborted", "The account changed.");
242
- return n.discovery.setContentFilters(t, f);
346
+ return n.discovery.setContentFilters(t, d);
243
347
  });
244
348
  if (k()) {
245
349
  let e = new Map(a.filters.map((e) => [e.entity.id, e]));
246
- o.set(S, (t) => t ? {
350
+ o.set(x, (t) => t ? {
247
351
  ...t,
248
352
  filters: t.filters.flatMap((t) => {
249
353
  if (!r.has(t.entity.id)) return [t];
@@ -260,17 +364,17 @@ function I(t = {}) {
260
364
  }, [
261
365
  n,
262
366
  O,
263
- f,
264
- S,
367
+ d,
368
+ x,
265
369
  o,
266
370
  k,
267
- m,
268
- y,
371
+ p,
372
+ h,
269
373
  E
270
- ]), P = d((e, t) => N({ filters: [{
374
+ ]), P = f((e, t) => N({ filters: [{
271
375
  entity_id: e,
272
376
  visible: t
273
- }] }), [N]), F = d((e) => N({ include_deleted: e }), [N]);
377
+ }] }), [N]), F = f((e) => N({ include_deleted: e }), [N]);
274
378
  return {
275
379
  filters: D ?? null,
276
380
  loading: T.loading || !T.loaded,
@@ -281,68 +385,76 @@ function I(t = {}) {
281
385
  setIncludeDeleted: F
282
386
  };
283
387
  }
284
- var L = {
388
+ var U = {
285
389
  contents: [],
286
390
  entities: []
287
391
  };
288
- function R(e, n = {}) {
289
- let { client: r, language: i, scope: o } = a(n.client), { debounce: s = 150, minLength: c = 1, client: l, management: u = !1, ...d } = n, f = JSON.stringify([o, u]), m = e.trim(), g = h(() => ({
392
+ function W(e, n = {}) {
393
+ let { client: r, language: i, scope: o } = a(n.client), { debounce: s = 150, minLength: c = 1, client: l, management: u = !1, request: d, ...f } = n, p = g(() => ({
394
+ viewerScope: o,
395
+ management: u,
396
+ request: d
397
+ }), [
398
+ o,
399
+ u,
400
+ d
401
+ ]), h = e.trim(), _ = g(() => ({
290
402
  display_language: i,
291
- ...d,
292
- q: m
403
+ ...f,
404
+ q: h
293
405
  }), [
294
406
  i,
295
- m,
296
- JSON.stringify(d)
297
- ]), [v, y] = _({
298
- ...L,
407
+ h,
408
+ JSON.stringify(f)
409
+ ]), [y, b] = v({
410
+ ...U,
299
411
  query: "",
300
412
  loading: !1,
301
- scope: f
413
+ scope: p
302
414
  });
303
- return p(() => {
304
- if (m.length < c) {
305
- y({
306
- ...L,
415
+ return m(() => {
416
+ if (h.length < c) {
417
+ b({
418
+ ...U,
307
419
  query: "",
308
420
  loading: !1,
309
- scope: f
421
+ scope: p
310
422
  });
311
423
  return;
312
424
  }
313
- y((e) => ({
314
- ...e.scope === f ? e : {
315
- ...L,
425
+ b((e) => ({
426
+ ...e.scope === p ? e : {
427
+ ...U,
316
428
  query: ""
317
429
  },
318
430
  loading: !0,
319
- scope: f
431
+ scope: p
320
432
  }));
321
433
  let e = new AbortController(), n = setTimeout(() => {
322
- (u ? r.entities.manage({
323
- q: m,
324
- kind: g.entity_kinds?.[0],
325
- language: g.display_language,
326
- limit: g.limit ?? 10
434
+ (d ? d(_, e.signal) : u ? r.entities.manage({
435
+ q: h,
436
+ kind: _.entity_kinds?.[0],
437
+ language: _.display_language,
438
+ limit: _.limit ?? 10
327
439
  }, e.signal).then((e) => ({
328
440
  contents: [],
329
441
  entities: e.entities
330
- })) : r.discovery.typeahead(g, e.signal)).then((t) => {
331
- e.signal.aborted || y({
442
+ })) : r.discovery.typeahead(_, e.signal)).then((t) => {
443
+ e.signal.aborted || b({
332
444
  contents: t.contents,
333
445
  entities: t.entities,
334
- query: m,
446
+ query: h,
335
447
  loading: !1,
336
- scope: f
448
+ scope: p
337
449
  });
338
450
  }, (n) => {
339
451
  let r = t(n);
340
- !e.signal.aborted && r.code !== "aborted" && y({
341
- ...L,
342
- query: m,
452
+ !e.signal.aborted && r.code !== "aborted" && b({
453
+ ...U,
454
+ query: h,
343
455
  loading: !1,
344
456
  error: r,
345
- scope: f
457
+ scope: p
346
458
  });
347
459
  });
348
460
  }, s);
@@ -351,58 +463,30 @@ function R(e, n = {}) {
351
463
  };
352
464
  }, [
353
465
  r,
354
- g,
355
- m,
466
+ _,
467
+ h,
356
468
  s,
357
469
  c,
358
470
  u,
359
- f
360
- ]), v.scope === f ? v : {
361
- ...L,
471
+ d,
472
+ p
473
+ ]), y.scope === p ? y : {
474
+ ...U,
362
475
  query: "",
363
- loading: m.length >= c
476
+ loading: h.length >= c
364
477
  };
365
478
  }
366
- var z = /* @__PURE__ */ new WeakMap();
367
- function B(e, t) {
368
- let n = z.get(e);
369
- return n || z.set(e, n = new l(e, t)), n;
479
+ var G = /* @__PURE__ */ new WeakMap();
480
+ function K(e, t) {
481
+ let n = G.get(e);
482
+ return n || G.set(e, n = new u(e, t)), n;
370
483
  }
371
- function V(e = {}) {
484
+ function q(e = {}) {
372
485
  let { client: t } = a(e.client);
373
- return B(t);
486
+ return K(t);
374
487
  }
375
- function H(e, t, n = {}) {
376
- let { client: r, scope: i, viewer: o, language: s } = a(n.client), c = B(r), l = x(r, i), u = h(() => ({ session: void 0 }), [
377
- c,
378
- e,
379
- t,
380
- i
381
- ]);
382
- return d((i) => {
383
- e && l() && (o === void 0 || r.preferences.identity() === o) && (u.session ??= c.view(e, t, {
384
- render_id: n.render_id,
385
- surface: n.surface,
386
- position: n.position,
387
- language: n.language ?? s
388
- }), u.session.update(i));
389
- }, [
390
- c,
391
- r,
392
- e,
393
- t,
394
- o,
395
- s,
396
- n.language,
397
- n.render_id,
398
- n.surface,
399
- n.position,
400
- u,
401
- l
402
- ]);
403
- }
404
- function U(e, t) {
405
- let { client: n, scope: r, language: i } = a(t.client), o = B(n), s = x(n, r), c = h(() => u(), [t.render, r]), l = h(() => ({
488
+ function J(e, t) {
489
+ let { client: n, scope: r, language: i } = a(t.client), o = K(n), s = C(n, r), c = g(() => d(), [t.render, r]), l = g(() => ({
406
490
  surface: t.surface,
407
491
  ranker: t.ranker,
408
492
  query_id: t.query_id,
@@ -413,35 +497,35 @@ function U(e, t) {
413
497
  t.query_id,
414
498
  t.language,
415
499
  i
416
- ]), f = h(() => ({
500
+ ]), u = g(() => ({
417
501
  segments: /* @__PURE__ */ new Map(),
418
502
  pending: /* @__PURE__ */ new Set(),
419
503
  timer: void 0
420
- }), [c]), m = d((e) => e === 0 ? c : `${c}-${e}`, [c]), g = d((e) => {
421
- let t = f.segments.get(e);
504
+ }), [c]), p = f((e) => e === 0 ? c : `${c}-${e}`, [c]), h = f((e) => {
505
+ let t = u.segments.get(e);
422
506
  return t || (t = {
423
507
  rendered: /* @__PURE__ */ new Map(),
424
508
  visible: /* @__PURE__ */ new Map(),
425
509
  renderedRevision: 0,
426
510
  visibleRevision: 0
427
- }, f.segments.set(e, t)), t;
428
- }, [f]);
429
- p(() => {
511
+ }, u.segments.set(e, t)), t;
512
+ }, [u]);
513
+ m(() => {
430
514
  if (!s()) return;
431
515
  let t = /* @__PURE__ */ new Set();
432
516
  for (let [n, r] of e.entries()) {
433
- let e = Math.floor(n / W), i = g(e);
434
- i.rendered.has(r.id) || (i.rendered.set(r.id, {
517
+ let e = r.position, i = e !== void 0 && Number.isSafeInteger(e) && e > 0 ? e : n + 1, a = Math.floor((i - 1) / Y), o = h(a);
518
+ o.rendered.has(r.id) || (o.rendered.set(r.id, {
435
519
  content_id: r.id,
436
520
  version_id: r.version_id ?? r.version?.id,
437
- position: n + 1
438
- }), t.add(e));
521
+ position: i
522
+ }), t.add(a));
439
523
  }
440
524
  for (let e of t) {
441
- let t = g(e);
525
+ let t = h(e);
442
526
  o.exposure({
443
527
  ...l,
444
- render_id: m(e),
528
+ render_id: p(e),
445
529
  stage: "rendered",
446
530
  revision: ++t.renderedRevision,
447
531
  occurred_at: t.renderedAt ??= (/* @__PURE__ */ new Date()).toISOString(),
@@ -452,67 +536,67 @@ function U(e, t) {
452
536
  o,
453
537
  l,
454
538
  e,
455
- f,
456
- g,
457
- m,
539
+ u,
540
+ h,
541
+ p,
458
542
  s
459
543
  ]);
460
- let _ = h(() => typeof IntersectionObserver == "function" ? new IntersectionObserver((e) => {
544
+ let _ = g(() => typeof IntersectionObserver == "function" ? new IntersectionObserver((e) => {
461
545
  if (s()) {
462
546
  for (let t of e) {
463
547
  if (!t.isIntersecting) continue;
464
- let e = t.target, n = e.dataset.exposureContent, r = Number(e.dataset.exposurePosition), i = Math.floor((r - 1) / W), a = g(i);
548
+ let e = t.target, n = e.dataset.exposureContent, r = Number(e.dataset.exposurePosition), i = Math.floor((r - 1) / Y), a = h(i);
465
549
  a.visible.has(n) || (a.visible.set(n, a.rendered.get(n) ?? {
466
550
  content_id: n,
467
551
  position: r
468
- }), f.pending.add(i));
552
+ }), u.pending.add(i));
469
553
  }
470
- f.pending.size && (f.timer ??= setTimeout(() => {
471
- if (f.timer = void 0, s()) {
472
- for (let e of f.pending) {
473
- let t = g(e);
554
+ u.pending.size && (u.timer ??= setTimeout(() => {
555
+ if (u.timer = void 0, s()) {
556
+ for (let e of u.pending) {
557
+ let t = h(e);
474
558
  o.exposure({
475
559
  ...l,
476
- render_id: m(e),
560
+ render_id: p(e),
477
561
  stage: "visible",
478
562
  revision: ++t.visibleRevision,
479
563
  occurred_at: t.visibleAt ??= (/* @__PURE__ */ new Date()).toISOString(),
480
564
  shown: [...t.visible.values()]
481
565
  });
482
566
  }
483
- f.pending.clear();
567
+ u.pending.clear();
484
568
  }
485
569
  }, 300));
486
570
  }
487
571
  }, { threshold: .5 }) : null, [
488
572
  o,
489
573
  l,
490
- f,
491
- g,
492
- m,
574
+ u,
575
+ h,
576
+ p,
493
577
  s
494
578
  ]);
495
- return p(() => () => {
496
- _?.disconnect(), clearTimeout(f.timer);
497
- }, [_, f]), p(() => {
498
- for (let e of f.segments.keys()) o.beginExposure(m(e));
579
+ return m(() => () => {
580
+ _?.disconnect(), clearTimeout(u.timer);
581
+ }, [_, u]), m(() => {
582
+ for (let e of u.segments.keys()) o.beginExposure(p(e));
499
583
  return () => {
500
- for (let e of f.segments.keys()) o.endExposure(m(e));
584
+ for (let e of u.segments.keys()) o.endExposure(p(e));
501
585
  };
502
586
  }, [
503
587
  o,
504
- f,
505
- m
588
+ u,
589
+ p
506
590
  ]), {
507
591
  render_id: c,
508
- track: d((e, t) => (n) => {
592
+ track: f((e, t) => (n) => {
509
593
  n && _ && (n.dataset.exposureContent = e, n.dataset.exposurePosition = String(t), _.observe(n));
510
594
  }, [_]),
511
- click: d((n, r) => {
595
+ click: f((n, r) => {
512
596
  if (!s()) return;
513
- let i = Math.floor((r - 1) / W), a = e.find((e) => e.id === n), c = a?.version_id ?? a?.version?.id;
597
+ let i = Math.floor((r - 1) / Y), a = e.find((e) => e.id === n), c = a?.version_id ?? a?.version?.id;
514
598
  o.click(n, {
515
- render_id: m(i),
599
+ render_id: p(i),
516
600
  surface: t.surface,
517
601
  position: r,
518
602
  version_id: c,
@@ -521,15 +605,15 @@ function U(e, t) {
521
605
  }, [
522
606
  o,
523
607
  e,
524
- m,
608
+ p,
525
609
  t.surface,
526
610
  l.language,
527
611
  s
528
612
  ])
529
613
  };
530
614
  }
531
- var W = 32;
615
+ var Y = 32;
532
616
  //#endregion
533
- export { B as beaconsFor, V as useBeacons, I as useContentFilters, C as useContents, A as useDailyReleases, U as useExposure, j as useHistory, w as useLockedCount, P as useMyFavorites, F as useMyReactions, M as useRecentSearches, O as useRecommendations, k as useReleaseDates, T as useSearch, D as useSimilar, R as useTypeahead, H as useViewSignal };
617
+ export { K as beaconsFor, q as useBeacons, H as useContentFilters, T as useContents, O as useContentsPage, I as useDailyReleases, J as useExposure, L as useHistory, A as useLockedCount, B as useMyFavorites, V as useMyReactions, R as useRecentSearches, P as useRecommendations, F as useReleaseDates, j as useSearch, k as useSearchPage, N as useSimilar, W as useTypeahead };
534
618
 
535
619
  //# sourceMappingURL=discovery.js.map