@openrails/contentkit-ui 0.104.0-rc.1 → 0.104.0-rc.3

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 (217) hide show
  1. package/README.md +6 -6
  2. package/dist/client/beacons.js +4 -1
  3. package/dist/client/beacons.js.map +1 -1
  4. package/dist/client/contents.d.ts +9 -1
  5. package/dist/client/contents.js +73 -55
  6. package/dist/client/contents.js.map +1 -1
  7. package/dist/client/discovery.d.ts +6 -2
  8. package/dist/client/discovery.js +1 -1
  9. package/dist/client/discovery.js.map +1 -1
  10. package/dist/client/generated/error-codes.d.ts +1 -1
  11. package/dist/client/generated/error-codes.js +4 -0
  12. package/dist/client/generated/error-codes.js.map +1 -1
  13. package/dist/client/generated/routes.d.ts +43 -30
  14. package/dist/client/generated/routes.js +70 -63
  15. package/dist/client/generated/routes.js.map +1 -1
  16. package/dist/client/generated/wire.d.ts +36 -74
  17. package/dist/client/generated/wire.js.map +1 -1
  18. package/dist/client/index.d.ts +1 -1
  19. package/dist/client/media/windows.d.ts +2 -0
  20. package/dist/client/media/windows.js +4 -1
  21. package/dist/client/media/windows.js.map +1 -1
  22. package/dist/client/stats.d.ts +4 -20
  23. package/dist/client/stats.js +0 -11
  24. package/dist/client/stats.js.map +1 -1
  25. package/dist/client/versions.d.ts +8 -6
  26. package/dist/client/versions.js +15 -10
  27. package/dist/client/versions.js.map +1 -1
  28. package/dist/components/admin/bulk-drafts.d.ts +17 -0
  29. package/dist/components/admin/bulk-drafts.js +41 -0
  30. package/dist/components/admin/bulk-drafts.js.map +1 -0
  31. package/dist/components/admin/content-admin.d.ts +1 -1
  32. package/dist/components/admin/content-admin.js.map +1 -1
  33. package/dist/components/admin/content-manager.d.ts +11 -3
  34. package/dist/components/admin/content-manager.js +739 -380
  35. package/dist/components/admin/content-manager.js.map +1 -1
  36. package/dist/components/admin/group-manager.d.ts +8 -3
  37. package/dist/components/admin/group-manager.js +218 -146
  38. package/dist/components/admin/group-manager.js.map +1 -1
  39. package/dist/components/admin/page-notices.d.ts +16 -0
  40. package/dist/components/admin/page-notices.js +113 -0
  41. package/dist/components/admin/page-notices.js.map +1 -0
  42. package/dist/components/admin/page-picker.d.ts +38 -0
  43. package/dist/components/admin/page-picker.js +159 -0
  44. package/dist/components/admin/page-picker.js.map +1 -0
  45. package/dist/components/admin/reader-content-editor.js +537 -500
  46. package/dist/components/admin/reader-content-editor.js.map +1 -1
  47. package/dist/components/admin/reader-manifest.js +181 -179
  48. package/dist/components/admin/reader-manifest.js.map +1 -1
  49. package/dist/components/admin/shell.d.ts +10 -2
  50. package/dist/components/admin/shell.js +114 -42
  51. package/dist/components/admin/shell.js.map +1 -1
  52. package/dist/components/admin/stats-dashboard.d.ts +4 -9
  53. package/dist/components/admin/stats-dashboard.js +300 -202
  54. package/dist/components/admin/stats-dashboard.js.map +1 -1
  55. package/dist/components/admin/upload-queue.d.ts +14 -0
  56. package/dist/components/admin/upload-queue.js +115 -98
  57. package/dist/components/admin/upload-queue.js.map +1 -1
  58. package/dist/components/content/card.d.ts +31 -3
  59. package/dist/components/content/card.js +324 -158
  60. package/dist/components/content/card.js.map +1 -1
  61. package/dist/components/content/daily-releases.js +14 -12
  62. package/dist/components/content/daily-releases.js.map +1 -1
  63. package/dist/components/content/editor-save.js +27 -25
  64. package/dist/components/content/editor-save.js.map +1 -1
  65. package/dist/components/content/editors.js +274 -253
  66. package/dist/components/content/editors.js.map +1 -1
  67. package/dist/components/content/favorites.d.ts +1 -1
  68. package/dist/components/content/favorites.js +36 -22
  69. package/dist/components/content/favorites.js.map +1 -1
  70. package/dist/components/content/grid.d.ts +11 -4
  71. package/dist/components/content/grid.js +52 -43
  72. package/dist/components/content/grid.js.map +1 -1
  73. package/dist/components/content/history.js +83 -63
  74. package/dist/components/content/history.js.map +1 -1
  75. package/dist/components/content/index.d.ts +5 -3
  76. package/dist/components/content/listing.d.ts +14 -3
  77. package/dist/components/content/listing.js +65 -56
  78. package/dist/components/content/listing.js.map +1 -1
  79. package/dist/components/content/offer-fields.js +6 -6
  80. package/dist/components/content/paged-grid.d.ts +10 -0
  81. package/dist/components/content/paged-grid.js +116 -0
  82. package/dist/components/content/paged-grid.js.map +1 -0
  83. package/dist/components/content/pagination.d.ts +19 -0
  84. package/dist/components/content/pagination.js +97 -0
  85. package/dist/components/content/pagination.js.map +1 -0
  86. package/dist/components/content/paywall.d.ts +9 -0
  87. package/dist/components/content/paywall.js +27 -3
  88. package/dist/components/content/paywall.js.map +1 -1
  89. package/dist/components/content/post-list.d.ts +37 -0
  90. package/dist/components/content/post-list.js +203 -0
  91. package/dist/components/content/post-list.js.map +1 -0
  92. package/dist/components/content/reader-settings.d.ts +2 -0
  93. package/dist/components/content/reader-settings.js +1 -1
  94. package/dist/components/content/reader-settings.js.map +1 -1
  95. package/dist/components/groups/banner.d.ts +6 -2
  96. package/dist/components/groups/banner.js +79 -61
  97. package/dist/components/groups/banner.js.map +1 -1
  98. package/dist/components/groups/directory.d.ts +12 -2
  99. package/dist/components/groups/directory.js +168 -105
  100. package/dist/components/groups/directory.js.map +1 -1
  101. package/dist/components/groups/editor.js +10 -10
  102. package/dist/components/groups/editor.js.map +1 -1
  103. package/dist/components/groups/entity-chips.d.ts +61 -0
  104. package/dist/components/groups/entity-chips.js +382 -0
  105. package/dist/components/groups/entity-chips.js.map +1 -0
  106. package/dist/components/groups/group-members.d.ts +29 -0
  107. package/dist/components/groups/group-members.js +474 -0
  108. package/dist/components/groups/group-members.js.map +1 -0
  109. package/dist/components/groups/header.js +53 -45
  110. package/dist/components/groups/header.js.map +1 -1
  111. package/dist/components/groups/index.d.ts +3 -1
  112. package/dist/components/groups/memberships.d.ts +3 -36
  113. package/dist/components/groups/memberships.js +105 -480
  114. package/dist/components/groups/memberships.js.map +1 -1
  115. package/dist/components/groups/scoped.d.ts +23 -0
  116. package/dist/components/groups/scoped.js +92 -0
  117. package/dist/components/groups/scoped.js.map +1 -0
  118. package/dist/components/media-folder-editor.d.ts +5 -0
  119. package/dist/components/media-folder-editor.js +418 -230
  120. package/dist/components/media-folder-editor.js.map +1 -1
  121. package/dist/components/social/poll.js +57 -48
  122. package/dist/components/social/poll.js.map +1 -1
  123. package/dist/components/sortable-list.d.ts +5 -1
  124. package/dist/components/sortable-list.js +97 -81
  125. package/dist/components/sortable-list.js.map +1 -1
  126. package/dist/index.d.ts +1 -1
  127. package/dist/index.js +41 -37
  128. package/dist/locales/admin/de.js +78 -45
  129. package/dist/locales/admin/de.js.map +1 -1
  130. package/dist/locales/admin/en.d.ts +74 -41
  131. package/dist/locales/admin/en.js +78 -45
  132. package/dist/locales/admin/en.js.map +1 -1
  133. package/dist/locales/admin/es.js +78 -45
  134. package/dist/locales/admin/es.js.map +1 -1
  135. package/dist/locales/admin/ja.js +78 -45
  136. package/dist/locales/admin/ja.js.map +1 -1
  137. package/dist/locales/admin/ko.js +78 -45
  138. package/dist/locales/admin/ko.js.map +1 -1
  139. package/dist/locales/admin/zh.js +78 -45
  140. package/dist/locales/admin/zh.js.map +1 -1
  141. package/dist/locales/de.js +2 -0
  142. package/dist/locales/de.js.map +1 -1
  143. package/dist/locales/discovery/de.js +25 -1
  144. package/dist/locales/discovery/de.js.map +1 -1
  145. package/dist/locales/discovery/en.d.ts +24 -0
  146. package/dist/locales/discovery/en.js +25 -1
  147. package/dist/locales/discovery/en.js.map +1 -1
  148. package/dist/locales/discovery/es.js +25 -1
  149. package/dist/locales/discovery/es.js.map +1 -1
  150. package/dist/locales/discovery/ja.js +25 -1
  151. package/dist/locales/discovery/ja.js.map +1 -1
  152. package/dist/locales/discovery/ko.js +25 -1
  153. package/dist/locales/discovery/ko.js.map +1 -1
  154. package/dist/locales/discovery/zh.js +25 -1
  155. package/dist/locales/discovery/zh.js.map +1 -1
  156. package/dist/locales/en.d.ts +120 -43
  157. package/dist/locales/en.js +2 -0
  158. package/dist/locales/en.js.map +1 -1
  159. package/dist/locales/es.js +2 -0
  160. package/dist/locales/es.js.map +1 -1
  161. package/dist/locales/groups/de.js +22 -4
  162. package/dist/locales/groups/de.js.map +1 -1
  163. package/dist/locales/groups/en.d.ts +20 -2
  164. package/dist/locales/groups/en.js +22 -4
  165. package/dist/locales/groups/en.js.map +1 -1
  166. package/dist/locales/groups/es.js +22 -4
  167. package/dist/locales/groups/es.js.map +1 -1
  168. package/dist/locales/groups/ja.js +22 -4
  169. package/dist/locales/groups/ja.js.map +1 -1
  170. package/dist/locales/groups/ko.js +22 -4
  171. package/dist/locales/groups/ko.js.map +1 -1
  172. package/dist/locales/groups/zh.js +22 -4
  173. package/dist/locales/groups/zh.js.map +1 -1
  174. package/dist/locales/ja.js +2 -0
  175. package/dist/locales/ja.js.map +1 -1
  176. package/dist/locales/ko.js +2 -0
  177. package/dist/locales/ko.js.map +1 -1
  178. package/dist/locales/zh.js +2 -0
  179. package/dist/locales/zh.js.map +1 -1
  180. package/dist/react/contents.js +1 -1
  181. package/dist/react/contents.js.map +1 -1
  182. package/dist/react/discovery.d.ts +16 -0
  183. package/dist/react/discovery.js +69 -37
  184. package/dist/react/discovery.js.map +1 -1
  185. package/dist/react/groups.d.ts +19 -3
  186. package/dist/react/groups.js +49 -22
  187. package/dist/react/groups.js.map +1 -1
  188. package/dist/react/index.d.ts +6 -4
  189. package/dist/react/page-notices.d.ts +13 -0
  190. package/dist/react/page-notices.js +38 -0
  191. package/dist/react/page-notices.js.map +1 -0
  192. package/dist/react/post-reads.d.ts +23 -0
  193. package/dist/react/post-reads.js +90 -0
  194. package/dist/react/post-reads.js.map +1 -0
  195. package/dist/react/remembered-sort.d.ts +5 -0
  196. package/dist/react/remembered-sort.js +29 -0
  197. package/dist/react/remembered-sort.js.map +1 -0
  198. package/dist/react/resources.js +2 -2
  199. package/dist/react/resources.js.map +1 -1
  200. package/dist/react/stats.d.ts +3 -7
  201. package/dist/react/stats.js +2 -6
  202. package/dist/react/stats.js.map +1 -1
  203. package/dist/react/use-engagement.d.ts +2 -0
  204. package/dist/react/use-engagement.js +40 -34
  205. package/dist/react/use-engagement.js.map +1 -1
  206. package/dist/react.js +29 -27
  207. package/dist/styles.css +1 -1
  208. package/dist/urls/index.d.ts +1 -1
  209. package/dist/urls.js +2 -2
  210. package/dist/urls.js.map +1 -1
  211. package/package.json +1 -1
  212. package/dist/components/admin/page-review.d.ts +0 -13
  213. package/dist/components/admin/page-review.js +0 -225
  214. package/dist/components/admin/page-review.js.map +0 -1
  215. package/dist/react/page-review.d.ts +0 -14
  216. package/dist/react/page-review.js +0 -37
  217. package/dist/react/page-review.js.map +0 -1
@@ -8,25 +8,64 @@ import { Badge as s } from "../../ui/badge.js";
8
8
  import { RelativeTime as c, formatDate as l } from "../social/parts.js";
9
9
  import { GroupAvatar as u, GroupLink as d, labelOf as f } from "../groups/parts.js";
10
10
  import { priceLabel as p } from "./paywall.js";
11
- import { useCallback as m, useContext as h, useState as g } from "react";
12
- import { jsx as _, jsxs as v } from "react/jsx-runtime";
13
- import { cn as y } from "cn";
14
- import { FavouriteIcon as b, LockIcon as ee, ThumbsUpIcon as x } from "@hugeicons/core-free-icons";
15
- import { HugeiconsIcon as S } from "@hugeicons/react";
11
+ import { Fragment as m, useCallback as h, useContext as g, useLayoutEffect as _, useState as v } from "react";
12
+ import { Fragment as ee, jsx as y, jsxs as b } from "react/jsx-runtime";
13
+ import { cn as x } from "cn";
14
+ import { FavouriteIcon as S, LockIcon as te, SparklesIcon as C, ThumbsUpIcon as ne, Tick02Icon as w } from "@hugeicons/core-free-icons";
15
+ import { HugeiconsIcon as T } from "@hugeicons/react";
16
16
  //#region src/components/content/card.tsx
17
- function C({ card: e, decorate: t, aboveTitle: n }) {
17
+ var E = 12096e5;
18
+ function D(e, t = Date.now()) {
19
+ let n = e.updated_at ? Date.parse(e.updated_at) : NaN, r = e.viewer?.last_read_at ? Date.parse(e.viewer.last_read_at) : NaN;
20
+ return {
21
+ updated: Number.isFinite(n) && (Number.isFinite(r) ? n > r : t - n < E),
22
+ completed: !!e.viewer?.completed,
23
+ deleted: !!e.deleted,
24
+ disliked: e.viewer?.reaction === -1
25
+ };
26
+ }
27
+ function re({ card: e, className: t }) {
28
+ let { t: n } = r(), i = D(e);
29
+ if (!i.updated && !i.completed && !i.deleted) return null;
30
+ let a = "size-4 text-white drop-shadow-[0_0_3px_rgba(0,0,0,0.9)]";
31
+ return /* @__PURE__ */ b("span", {
32
+ className: x("pointer-events-none flex items-center gap-1.5", t),
33
+ "data-ckui": "card-status",
34
+ children: [
35
+ i.deleted && /* @__PURE__ */ y("span", {
36
+ className: "rounded-md bg-background/85 px-1.5 py-0.5 text-xs font-medium text-foreground shadow-sm",
37
+ children: n("contents.deleted")
38
+ }),
39
+ i.updated && /* @__PURE__ */ y(T, {
40
+ icon: C,
41
+ strokeWidth: 2,
42
+ className: a,
43
+ role: "img",
44
+ "aria-label": n("contents.updated")
45
+ }),
46
+ i.completed && /* @__PURE__ */ y(T, {
47
+ icon: w,
48
+ strokeWidth: 2.5,
49
+ className: a,
50
+ role: "img",
51
+ "aria-label": n("contents.completed")
52
+ })
53
+ ]
54
+ });
55
+ }
56
+ function ie({ card: e, decorate: t, aboveTitle: n }) {
18
57
  let r = t?.(e);
19
- return r == null || r === !1 ? null : /* @__PURE__ */ _("span", {
20
- className: y("pointer-events-none absolute inset-0", n && "z-20"),
58
+ return r == null || r === !1 ? null : /* @__PURE__ */ y("span", {
59
+ className: x("pointer-events-none absolute inset-0", n && "z-20"),
21
60
  "data-ckui": "card-decorations",
22
61
  children: r
23
62
  });
24
63
  }
25
- var w = (e, t) => new Intl.NumberFormat(t, {
64
+ var O = (e, t) => new Intl.NumberFormat(t, {
26
65
  notation: "compact",
27
66
  maximumFractionDigits: 1
28
67
  }).format(e);
29
- function T(e, t, n = [], r) {
68
+ function k(e, t, n = [], r) {
30
69
  if (t.allowed) return null;
31
70
  if (t.unknown) return e.t("contents.unknownAccess");
32
71
  let i = t.offers?.[0];
@@ -34,9 +73,9 @@ function T(e, t, n = [], r) {
34
73
  let a = t.sell?.find((e) => n.includes(e));
35
74
  return a ? f(r, a) : t.sell?.some((e) => e.includes(":group:")) ? e.t("contents.members") : t.sell?.length ? e.t("contents.forSale") : e.t("contents.locked");
36
75
  }
37
- function E(e, t) {
38
- let n = h(i)?.navigate;
39
- return m((r) => {
76
+ function A(e, t) {
77
+ let n = g(i)?.navigate;
78
+ return h((r) => {
40
79
  t?.(), !(!n || !e || r.defaultPrevented || r.button !== 0 || r.metaKey || r.ctrlKey || r.shiftKey || r.altKey) && (r.preventDefault(), n(e));
41
80
  }, [
42
81
  n,
@@ -44,321 +83,448 @@ function E(e, t) {
44
83
  t
45
84
  ]);
46
85
  }
47
- function D({ card: i, client: c, href: u, onOpen: d, shape: p = "portrait", aspectRatio: h, titlePosition: D = "below", loadMedia: A = !0, groupKinds: j, chips: te = 3, filterEntity: M, entityStyle: N = "chips", entityLayout: ne = "inline", metadata: P, showCounts: re = !0, tiers: ie, labels: F, owner: ae = !0, ownerHref: oe, decorate: se, children: ce, className: le }) {
48
- let I = r(), { presets: ue } = a({ client: c }), L = h ?? t(ue.find((e) => e.kind === i.kind && e.name === "cover")?.aspect), { t: R } = I, de = n(), z = u ? u(i) : i.path, B = E(z, m(() => d?.(i), [d, i])), V = T(I, i.access, ie, F), H = i.version, U = i.viewer?.completed ? 1 : i.viewer && i.viewer.progress_max > 0 ? Math.min(1, i.viewer.progress / i.viewer.progress_max) : 0, W = (j ?? Object.keys(i.entities)).map((e) => ({
49
- kind: e,
50
- entities: (i.entities[e] ?? []).filter((t) => !M || M(t, e)).slice(0, te)
51
- })).filter(({ entities: e }) => e.length > 0), G = H.duration_ms ? Math.round(H.duration_ms / 6e4) : 0, K = P?.traits, q = K === !1 ? [] : Array.isArray(K) ? H.traits.filter((e) => K.includes(e)) : H.traits, J = [
52
- ...P?.languages === !1 ? [] : H.languages.map(de),
53
- P?.pages !== !1 && H.pages ? I.plural("contents.pages", H.pages) : null,
54
- P?.duration !== !1 && G ? I.plural("contents.minutes", G) : null
55
- ].filter(Boolean), Y = i.title || i.code, X = y("flex flex-wrap", N === "text" ? "gap-x-2 gap-y-1" : "gap-1"), Z = (e, t) => t.map((t) => /* @__PURE__ */ _("li", {
86
+ function ae(e, t, n) {
87
+ let [r, i] = v(null);
88
+ return _(() => {
89
+ if (!e) return;
90
+ let n = e.ownerDocument.defaultView, r = () => {
91
+ let r = Number.parseFloat(n?.getComputedStyle(e).columnGap ?? "") || 0, a = [...e.children], o = a.find((e) => e.dataset.ckui === "card-chip-more")?.offsetWidth ?? 0, s = 0, c = 0, l = 0, u = -1, d = a.filter((e) => e.dataset.ckui !== "card-chip-more");
92
+ for (let [i, a] of d.entries()) {
93
+ if (n?.getComputedStyle(a).display === "none") continue;
94
+ u < 0 && (u = i);
95
+ let d = s + (l > 0 ? r : 0) + a.offsetWidth;
96
+ if (d + (t > l + 1 && o > 0 ? r + o : 0) > e.clientWidth) break;
97
+ s = d, c = i + 1, l += 1;
98
+ }
99
+ let f = l === 0 && u >= 0;
100
+ f && ([c, l] = [u + 1, 1]), i((e) => e?.through === c && e.fitted === l && e.squeezed === f ? e : {
101
+ through: c,
102
+ fitted: l,
103
+ squeezed: f
104
+ });
105
+ };
106
+ r();
107
+ let a = typeof ResizeObserver > "u" ? void 0 : new ResizeObserver(r);
108
+ a?.observe(e);
109
+ for (let t of e.children) a?.observe(t);
110
+ return () => a?.disconnect();
111
+ }, [
112
+ e,
113
+ t,
114
+ n
115
+ ]), r;
116
+ }
117
+ function j({ card: i, client: c, href: u, onOpen: d, shape: p = "portrait", aspectRatio: g, titlePosition: _ = "below", loadMedia: C = !0, groupKinds: w, chips: E = 3, chipOverflow: j = !1, chipFit: se = !1, filterEntity: P, entityStyle: F = "chips", entityLayout: ce = "inline", metadata: I, showCounts: le = !0, tiers: ue, labels: L, owner: de = !0, ownerHref: fe, decorate: pe, status: me = !0, dimDisliked: he = !0, children: ge, className: _e }) {
118
+ let R = r(), { presets: ve } = a({ client: c }), z = g ?? t(ve.find((e) => e.kind === i.kind && e.name === "cover")?.aspect), { t: B } = R, ye = n(), V = u ? u(i) : i.path, be = A(V, h(() => d?.(i), [d, i])), H = k(R, i.access, ue, L), xe = D(i), U = he && xe.disliked, W = i.version, Se = i.viewer?.completed ? 1 : i.viewer && i.viewer.progress_max > 0 ? Math.min(1, i.viewer.progress / i.viewer.progress_max) : 0, Ce = w ?? Object.keys(i.entities), G = typeof E == "number" ? {
119
+ base: E,
120
+ lg: E
121
+ } : E, K = Ce.map((e) => {
122
+ let t = (i.entities[e] ?? []).filter((t) => !P || P(t, e));
123
+ return {
124
+ kind: e,
125
+ entities: t.slice(0, Math.max(G.base, G.lg)),
126
+ total: t.length
127
+ };
128
+ }).filter(({ entities: e }) => e.length > 0), we = W.duration_ms ? Math.round(W.duration_ms / 6e4) : 0, q = I?.traits, Te = q === !1 ? [] : Array.isArray(q) ? W.traits.filter((e) => q.includes(e)) : W.traits, J = I?.groups?.map((e) => (i.entities[e] ?? []).find((t) => !P || P(t, e))).find(Boolean), Ee = [
129
+ ...I?.languages === !1 ? [] : W.languages.map(ye),
130
+ I?.pages !== !1 && W.pages ? R.plural("contents.pages", W.pages) : null,
131
+ I?.duration !== !1 && we ? R.plural("contents.minutes", we) : null,
132
+ J ? /* @__PURE__ */ y(oe, {
133
+ url: J.path,
134
+ name: J.name || J.slug
135
+ }, "group") : null
136
+ ].filter(Boolean), De = i.title || i.code, Y = x("flex flex-wrap", F === "text" ? "gap-x-2 gap-y-1" : "gap-1"), Oe = (e) => e < G.base && e < G.lg ? void 0 : e < G.base ? "lg:hidden" : "hidden lg:list-item", ke = (e, t) => {
137
+ if (!j) return [];
138
+ let n = t - Math.min(t, G.base), r = t - Math.min(t, G.lg), i = (t, n) => /* @__PURE__ */ b("li", {
139
+ "data-kind": e,
140
+ "data-ckui": "card-chip-more",
141
+ className: n,
142
+ children: [/* @__PURE__ */ y("span", {
143
+ "aria-hidden": !0,
144
+ children: /* @__PURE__ */ y(N, {
145
+ name: `+${t}`,
146
+ variant: F
147
+ })
148
+ }), /* @__PURE__ */ y("span", {
149
+ className: "sr-only",
150
+ children: R.plural("contents.moreChips", t)
151
+ })]
152
+ }, `${e}:more:${n ?? ""}`);
153
+ return n === r ? n > 0 ? [i(n)] : [] : [n > 0 && i(n, "lg:hidden"), r > 0 && i(r, "hidden lg:list-item")].filter(Boolean);
154
+ }, Ae = (e, t, n) => [...t.map((t, n) => /* @__PURE__ */ y("li", {
56
155
  "data-kind": e,
57
- children: /* @__PURE__ */ _(k, {
156
+ className: Oe(n),
157
+ children: /* @__PURE__ */ y(N, {
58
158
  url: t.path,
59
159
  name: t.name || t.slug,
60
- variant: N
160
+ variant: F
61
161
  })
62
- }, `${e}:${t.id}`)), Q = W.length > 0 ? ne === "rows" ? /* @__PURE__ */ _("div", {
162
+ }, `${e}:${t.id}`)), ...ke(e, n)], [je, Me] = v(null), X = se && ce === "inline", Z = K.reduce((e, t) => e + t.total, 0), Ne = `${F}:${G.base}:${G.lg}:${K.map(({ kind: e, entities: t }) => `${e}=${t.map((e) => e.id).join(",")}`).join(";")}`, Q = ae(X ? je : null, Z, Ne), Pe = K.length > 0 ? ce === "rows" ? /* @__PURE__ */ y("div", {
63
163
  className: "grid gap-1",
64
164
  "data-ckui": "card-groups",
65
165
  "data-layout": "rows",
66
- children: W.map(({ kind: e, entities: t }) => /* @__PURE__ */ _("ul", {
67
- className: X,
68
- "aria-label": f(F, e),
166
+ children: K.map(({ kind: e, entities: t, total: n }) => /* @__PURE__ */ y("ul", {
167
+ className: Y,
168
+ "aria-label": f(L, e),
69
169
  "data-ckui": "card-group-row",
70
170
  "data-kind": e,
71
- children: Z(e, t)
171
+ children: Ae(e, t, n)
72
172
  }, e))
73
- }) : /* @__PURE__ */ _("ul", {
74
- className: X,
173
+ }) : /* @__PURE__ */ y("ul", {
174
+ ref: Me,
175
+ className: X ? x("relative flex flex-nowrap overflow-hidden", F === "text" ? "gap-x-2" : "gap-1") : Y,
75
176
  "data-ckui": "card-groups",
76
177
  "data-layout": "inline",
77
- children: W.flatMap(({ kind: e, entities: t }) => Z(e, t))
78
- }) : null, $ = /* @__PURE__ */ v("a", {
79
- href: z,
80
- onClick: B,
81
- className: y("text-lg leading-snug font-medium break-words focus-visible:underline sm:text-xl", D === "cover" ? "absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/90 via-black/60 to-transparent px-3 pt-10 pb-3 text-white hover:underline" : "hover:underline"),
82
- "data-ckui": "card-title",
83
- children: [/* @__PURE__ */ _("span", {
84
- className: "line-clamp-2",
85
- children: Y
86
- }), V && /* @__PURE__ */ v("span", {
178
+ "data-fit": X ? "" : void 0,
179
+ children: X ? (() => {
180
+ let e = 0, t = K.flatMap(({ kind: t, entities: n }) => n.map((n, r) => {
181
+ let i = e++, a = Q !== null && i >= Q.through, o = Q?.squeezed && i === Q.through - 1;
182
+ return /* @__PURE__ */ y("li", {
183
+ "data-kind": t,
184
+ className: x(o ? "min-w-0 shrink [&>*]:block [&>*]:truncate" : "shrink-0", Oe(r), a && "pointer-events-none invisible absolute"),
185
+ "aria-hidden": a || void 0,
186
+ children: /* @__PURE__ */ y(N, {
187
+ url: n.path,
188
+ name: n.name || n.slug,
189
+ variant: F
190
+ })
191
+ }, `${t}:${n.id}`);
192
+ }));
193
+ if (!j) return t;
194
+ let n = Q === null ? Z : Z - Q.fitted, r = Q === null || n <= 0;
195
+ return [...t, /* @__PURE__ */ b("li", {
196
+ "data-ckui": "card-chip-more",
197
+ className: x("shrink-0", r && "pointer-events-none invisible absolute"),
198
+ "aria-hidden": r || void 0,
199
+ children: [/* @__PURE__ */ y("span", {
200
+ "aria-hidden": !0,
201
+ children: /* @__PURE__ */ y(N, {
202
+ name: `+${n}`,
203
+ variant: F
204
+ })
205
+ }), /* @__PURE__ */ y("span", {
206
+ className: "sr-only",
207
+ children: R.plural("contents.moreChips", n)
208
+ })]
209
+ }, "more")];
210
+ })() : K.flatMap(({ kind: e, entities: t, total: n }) => Ae(e, t, n))
211
+ }) : null, Fe = Ee.length > 0 && /* @__PURE__ */ y("p", {
212
+ className: "line-clamp-2 text-xs break-words text-muted-foreground",
213
+ "data-ckui": "card-meta",
214
+ children: Ee.map((e, t) => /* @__PURE__ */ b(m, { children: [t > 0 && /* @__PURE__ */ b(ee, { children: [/* @__PURE__ */ y("span", {
87
215
  className: "sr-only",
88
- children: [
89
- " (",
90
- V,
91
- ")"
92
- ]
93
- })]
94
- }), [fe, pe] = g(null);
95
- return /* @__PURE__ */ v("article", {
96
- ref: pe,
97
- className: y("group/card relative grid content-start gap-2", le),
216
+ children: " · "
217
+ }), /* @__PURE__ */ y("span", {
218
+ className: "mx-1.5 mb-px inline-block size-[3px] rounded-full bg-current align-middle",
219
+ "aria-hidden": !0,
220
+ "data-ckui": "card-meta-dot"
221
+ })] }), e] }, t))
222
+ }), $ = /* @__PURE__ */ b("a", {
223
+ href: V,
224
+ onClick: be,
225
+ className: x("text-lg leading-snug font-medium break-words focus-visible:underline sm:text-xl", _ === "cover" ? "absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/90 via-black/60 to-transparent px-3 pt-10 pb-3 text-white hover:underline" : "hover:underline"),
226
+ "data-ckui": "card-title",
227
+ children: [
228
+ /* @__PURE__ */ y("span", {
229
+ className: "line-clamp-2",
230
+ children: De
231
+ }),
232
+ H && /* @__PURE__ */ b("span", {
233
+ className: "sr-only",
234
+ children: [
235
+ " (",
236
+ H,
237
+ ")"
238
+ ]
239
+ }),
240
+ U && /* @__PURE__ */ b("span", {
241
+ className: "sr-only",
242
+ children: [
243
+ " (",
244
+ B("contents.disliked"),
245
+ ")"
246
+ ]
247
+ })
248
+ ]
249
+ }), [Ie, Le] = v(null);
250
+ return /* @__PURE__ */ b("article", {
251
+ ref: Le,
252
+ className: x("group/card relative grid content-start gap-2", _e),
98
253
  "data-ckui": "content-card",
99
254
  "data-id": i.id,
100
- "data-locked": V ? "" : void 0,
255
+ "data-locked": H ? "" : void 0,
101
256
  lang: i.language || void 0,
102
- children: [/* @__PURE__ */ v("div", {
257
+ children: [/* @__PURE__ */ b("div", {
103
258
  className: "relative overflow-hidden rounded-lg",
104
259
  "data-ckui": "card-cover",
105
260
  children: [
106
- /* @__PURE__ */ v("a", {
107
- href: z,
108
- onClick: B,
261
+ /* @__PURE__ */ b("a", {
262
+ href: V,
263
+ onClick: be,
109
264
  className: "relative block overflow-hidden rounded-lg bg-muted",
110
265
  tabIndex: -1,
111
266
  "aria-hidden": !0,
112
267
  children: [
113
- /* @__PURE__ */ _("div", {
268
+ /* @__PURE__ */ y("div", {
114
269
  "data-ckui": "card-cover-frame",
115
- className: L === void 0 ? p === "landscape" ? "aspect-video" : "aspect-[3/4]" : void 0,
116
- style: L === void 0 ? void 0 : { aspectRatio: L },
117
- children: A ? /* @__PURE__ */ _(e, {
270
+ "data-disliked": U || void 0,
271
+ className: x(z === void 0 && (p === "landscape" ? "aspect-video" : "aspect-[3/4]"), "transition-[opacity,filter]", U && "opacity-50 brightness-75", xe.deleted && "opacity-60 grayscale"),
272
+ style: z === void 0 ? void 0 : { aspectRatio: z },
273
+ children: C ? /* @__PURE__ */ y(e, {
118
274
  outputs: i.cover,
119
275
  alt: "",
120
276
  fit: "cover",
121
277
  skeleton: !0,
122
278
  loading: "lazy",
123
279
  className: "size-full transition-transform group-hover/card:scale-[1.02]",
124
- fallback: /* @__PURE__ */ _("span", {
280
+ fallback: /* @__PURE__ */ y("span", {
125
281
  className: "grid size-full place-items-center text-2xl font-semibold text-muted-foreground",
126
- children: Y.charAt(0).toUpperCase()
282
+ children: De.charAt(0).toUpperCase()
127
283
  })
128
- }) : /* @__PURE__ */ _("span", {
284
+ }) : /* @__PURE__ */ y("span", {
129
285
  className: "block size-full bg-muted",
130
286
  "aria-hidden": !0
131
287
  })
132
288
  }),
133
- A && H.hls && /* @__PURE__ */ _(o, {
289
+ C && W.hls && /* @__PURE__ */ y(o, {
134
290
  item: {
135
291
  kind: i.kind,
136
292
  id: i.id,
137
- version: H.id
293
+ version: W.id
138
294
  },
139
- dir: H.hls,
140
- duration: H.duration_ms ? H.duration_ms / 1e3 : void 0,
141
- target: fe
295
+ dir: W.hls,
296
+ duration: W.duration_ms ? W.duration_ms / 1e3 : void 0,
297
+ target: Ie
142
298
  }),
143
- V && /* @__PURE__ */ v("span", {
299
+ H && /* @__PURE__ */ b("span", {
144
300
  className: "absolute top-2 left-2 inline-flex items-center gap-1 rounded-md bg-background/85 px-1.5 py-0.5 text-xs font-medium text-foreground shadow-sm",
145
301
  "data-ckui": "card-lock",
146
- children: [/* @__PURE__ */ _(S, {
147
- icon: ee,
302
+ children: [/* @__PURE__ */ y(T, {
303
+ icon: te,
148
304
  strokeWidth: 2,
149
305
  className: "size-3.5",
150
306
  "aria-hidden": !0
151
- }), V]
307
+ }), H]
152
308
  }),
153
- U > 0 && /* @__PURE__ */ _("span", {
154
- className: y("absolute inset-x-0 bottom-0 h-1 bg-background/60", D === "cover" && "z-20"),
309
+ Se > 0 && /* @__PURE__ */ y("span", {
310
+ className: x("absolute inset-x-0 bottom-0 h-1 bg-background/60", _ === "cover" && "z-20"),
155
311
  "data-ckui": "card-progress",
156
- children: /* @__PURE__ */ _("span", {
312
+ children: /* @__PURE__ */ y("span", {
157
313
  className: "block h-full bg-primary",
158
- style: { width: `${Math.round(U * 100)}%` }
314
+ style: { width: `${Math.round(Se * 100)}%` }
159
315
  })
160
316
  })
161
317
  ]
162
318
  }),
163
- D === "cover" && $,
164
- A && /* @__PURE__ */ _(C, {
319
+ _ === "cover" && $,
320
+ me && /* @__PURE__ */ y(re, {
165
321
  card: i,
166
- decorate: se,
167
- aboveTitle: D === "cover"
322
+ className: x("absolute right-2 z-20", _ === "cover" ? "top-2" : "bottom-2.5")
323
+ }),
324
+ C && /* @__PURE__ */ y(ie, {
325
+ card: i,
326
+ decorate: pe,
327
+ aboveTitle: _ === "cover"
168
328
  })
169
329
  ]
170
- }), /* @__PURE__ */ v("div", {
330
+ }), /* @__PURE__ */ b("div", {
171
331
  className: "grid gap-1",
172
332
  children: [
173
- D === "below" && $,
174
- N === "text" && Q,
175
- ae && i.owner && /* @__PURE__ */ _(O, {
333
+ _ === "below" && $,
334
+ F === "text" && Pe,
335
+ de && i.owner && /* @__PURE__ */ y(M, {
176
336
  group: i.owner,
177
- href: oe,
178
- loadMedia: A
337
+ href: fe,
338
+ loadMedia: C
179
339
  }),
180
- q.length > 0 && /* @__PURE__ */ _("div", {
340
+ Te.length > 0 && /* @__PURE__ */ y("div", {
181
341
  className: "flex flex-wrap gap-1",
182
342
  "data-ckui": "card-traits",
183
- children: q.map((e) => /* @__PURE__ */ _(s, {
343
+ children: Te.map((e) => /* @__PURE__ */ y(s, {
184
344
  variant: "outline",
185
345
  className: "h-auto rounded-md text-sm text-muted-foreground",
186
346
  "data-ckui": "card-trait",
187
347
  "data-trait": e,
188
- children: f(F, e)
348
+ children: f(L, e)
189
349
  }, e))
190
350
  }),
191
- J.length > 0 && /* @__PURE__ */ _("p", {
351
+ Fe,
352
+ !i.access.allowed && i.access.free_after && /* @__PURE__ */ y("p", {
192
353
  className: "text-xs text-muted-foreground",
193
- children: J.join(" · ")
354
+ children: B("contents.freeFrom", { date: l(R, i.access.free_after, !1) })
194
355
  }),
195
- !i.access.allowed && i.access.free_after && /* @__PURE__ */ _("p", {
196
- className: "text-xs text-muted-foreground",
197
- children: R("contents.freeFrom", { date: l(I, i.access.free_after, !1) })
198
- }),
199
- N === "chips" && Q,
200
- re && (i.counts.favorites !== void 0 || i.counts.likes !== void 0) && /* @__PURE__ */ v("p", {
356
+ F === "chips" && Pe,
357
+ le && (i.counts.favorites !== void 0 || i.counts.likes !== void 0) && /* @__PURE__ */ b("p", {
201
358
  className: "flex items-center gap-3 text-xs text-muted-foreground tabular-nums",
202
359
  "data-ckui": "card-counts",
203
- children: [i.counts.favorites !== void 0 && /* @__PURE__ */ v("span", {
360
+ children: [i.counts.favorites !== void 0 && /* @__PURE__ */ b("span", {
204
361
  className: "inline-flex items-center gap-1",
205
- title: R("contents.favorites"),
362
+ title: B("contents.favorites"),
206
363
  children: [
207
- /* @__PURE__ */ _(S, {
208
- icon: b,
364
+ /* @__PURE__ */ y(T, {
365
+ icon: S,
209
366
  strokeWidth: 2,
210
- className: y("size-3.5", i.viewer?.favorited && "fill-current text-primary"),
367
+ className: x("size-3.5", i.viewer?.favorited && "fill-current text-primary"),
211
368
  "aria-hidden": !0
212
369
  }),
213
- /* @__PURE__ */ _("span", {
370
+ /* @__PURE__ */ y("span", {
214
371
  className: "sr-only",
215
- children: R("contents.favorites")
372
+ children: B("contents.favorites")
216
373
  }),
217
- w(i.counts.favorites, I.language)
374
+ O(i.counts.favorites, R.language)
218
375
  ]
219
- }), i.counts.likes !== void 0 && /* @__PURE__ */ v("span", {
376
+ }), i.counts.likes !== void 0 && /* @__PURE__ */ b("span", {
220
377
  className: "inline-flex items-center gap-1",
221
- title: R("contents.likes"),
378
+ title: B("contents.likes"),
222
379
  children: [
223
- /* @__PURE__ */ _(S, {
224
- icon: x,
380
+ /* @__PURE__ */ y(T, {
381
+ icon: ne,
225
382
  strokeWidth: 2,
226
383
  className: "size-3.5",
227
384
  "aria-hidden": !0
228
385
  }),
229
- /* @__PURE__ */ _("span", {
386
+ /* @__PURE__ */ y("span", {
230
387
  className: "sr-only",
231
- children: R("contents.likes")
388
+ children: B("contents.likes")
232
389
  }),
233
- w(i.counts.likes, I.language)
390
+ O(i.counts.likes, R.language)
234
391
  ]
235
392
  })]
236
393
  }),
237
- ce
394
+ ge
238
395
  ]
239
396
  })]
240
397
  });
241
398
  }
242
- function O({ group: e, href: t, className: n, loadMedia: r = !0 }) {
243
- return /* @__PURE__ */ _("span", {
244
- className: y("flex min-w-0 text-xs text-muted-foreground", n),
399
+ function M({ group: e, href: t, className: n, loadMedia: r = !0 }) {
400
+ return /* @__PURE__ */ y("span", {
401
+ className: x("flex min-w-0 text-xs text-muted-foreground", n),
245
402
  "data-ckui": "card-owner",
246
403
  "data-id": e.id,
247
- children: /* @__PURE__ */ v(d, {
404
+ children: /* @__PURE__ */ b(d, {
248
405
  group: e,
249
406
  href: t,
250
407
  className: "inline-flex min-w-0 items-center gap-1.5 hover:text-foreground",
251
- children: [r ? /* @__PURE__ */ _(u, {
408
+ children: [r ? /* @__PURE__ */ y(u, {
252
409
  group: e,
253
410
  className: "size-5 shrink-0 text-[0.625rem]"
254
- }) : /* @__PURE__ */ _("span", {
411
+ }) : /* @__PURE__ */ y("span", {
255
412
  className: "size-5 shrink-0 rounded-full bg-muted",
256
413
  "aria-hidden": !0
257
- }), /* @__PURE__ */ _("span", {
414
+ }), /* @__PURE__ */ y("span", {
258
415
  className: "truncate",
259
416
  children: e.name || e.slug
260
417
  })]
261
418
  })
262
419
  });
263
420
  }
264
- function k({ url: e, name: t, variant: n = "chips" }) {
265
- let r = E(e), i = n === "text" ? "text-sm text-muted-foreground" : "inline-block rounded-md border border-border px-1.5 py-0.5 text-sm text-muted-foreground";
266
- return e ? /* @__PURE__ */ _("a", {
421
+ function oe({ url: e, name: t }) {
422
+ let n = A(e);
423
+ return e ? /* @__PURE__ */ y("a", {
424
+ href: e,
425
+ onClick: n,
426
+ className: "hover:text-foreground hover:underline",
427
+ children: t
428
+ }) : /* @__PURE__ */ y("span", { children: t });
429
+ }
430
+ function N({ url: e, name: t, variant: n = "chips" }) {
431
+ let r = A(e), i = n === "text" ? "text-sm text-muted-foreground" : "inline-block rounded-md border border-border px-1.5 py-0.5 text-sm text-muted-foreground";
432
+ return e ? /* @__PURE__ */ y("a", {
267
433
  href: e,
268
434
  onClick: r,
269
- className: y(i, "hover:text-foreground", n === "text" ? "hover:underline" : "hover:bg-muted"),
435
+ className: x(i, "hover:text-foreground", n === "text" ? "hover:underline" : "hover:bg-muted"),
270
436
  children: t
271
- }) : /* @__PURE__ */ _("span", {
437
+ }) : /* @__PURE__ */ y("span", {
272
438
  className: i,
273
439
  children: t
274
440
  });
275
441
  }
276
- function A({ card: t, href: n, onOpen: i, tiers: a, labels: o, byline: s, owner: l = !0, ownerHref: u, loadMedia: d = !0, showCounts: f = !0, decorate: p, children: h, className: g }) {
277
- let x = r(), D = n ? n(t) : t.path, k = E(D, m(() => i?.(t), [i, t])), A = T(x, t.access, a, o), j = t.title || t.code;
278
- return /* @__PURE__ */ v("article", {
279
- className: y("relative grid gap-3 rounded-lg border border-border p-3", g),
442
+ function se({ card: t, href: n, onOpen: i, tiers: a, labels: o, byline: s, owner: l = !0, ownerHref: u, loadMedia: d = !0, showCounts: f = !0, decorate: p, children: m, className: g }) {
443
+ let _ = r(), v = n ? n(t) : t.path, ee = A(v, h(() => i?.(t), [i, t])), C = k(_, t.access, a, o), ne = t.title || t.code;
444
+ return /* @__PURE__ */ b("article", {
445
+ className: x("relative grid gap-3 rounded-lg border border-border p-3", g),
280
446
  "data-ckui": "post-card",
281
447
  "data-id": t.id,
282
- "data-locked": A ? "" : void 0,
448
+ "data-locked": C ? "" : void 0,
283
449
  lang: t.language || void 0,
284
450
  children: [
285
- s ?? (l && t.owner && /* @__PURE__ */ _(O, {
451
+ s ?? (l && t.owner && /* @__PURE__ */ y(M, {
286
452
  group: t.owner,
287
453
  href: u,
288
454
  loadMedia: d,
289
455
  className: "text-sm"
290
456
  })),
291
- /* @__PURE__ */ v("a", {
292
- href: D,
293
- onClick: k,
457
+ /* @__PURE__ */ b("a", {
458
+ href: v,
459
+ onClick: ee,
294
460
  className: "grid gap-2",
295
- children: [/* @__PURE__ */ _("span", {
461
+ children: [/* @__PURE__ */ y("span", {
296
462
  className: "font-medium break-words hover:underline",
297
463
  "data-ckui": "card-title",
298
- children: j
299
- }), t.cover.length > 0 && /* @__PURE__ */ v("span", {
464
+ children: ne
465
+ }), t.cover.length > 0 && /* @__PURE__ */ b("span", {
300
466
  className: "relative block aspect-video overflow-hidden rounded-md bg-muted",
301
467
  children: [
302
- d && /* @__PURE__ */ _(e, {
468
+ d && /* @__PURE__ */ y(e, {
303
469
  outputs: t.cover,
304
470
  alt: "",
305
471
  fit: "cover",
306
472
  skeleton: !0,
307
473
  loading: "lazy",
308
- className: y("size-full", A && "blur-md")
474
+ className: x("size-full", C && "blur-md")
309
475
  }),
310
- d && /* @__PURE__ */ _(C, {
476
+ d && /* @__PURE__ */ y(ie, {
311
477
  card: t,
312
478
  decorate: p
313
479
  }),
314
- A && /* @__PURE__ */ _("span", {
480
+ C && /* @__PURE__ */ y("span", {
315
481
  className: "absolute inset-0 grid place-items-center",
316
- children: /* @__PURE__ */ v("span", {
482
+ children: /* @__PURE__ */ b("span", {
317
483
  className: "inline-flex items-center gap-1 rounded-md bg-background/85 px-2 py-1 text-xs font-medium shadow-sm",
318
484
  "data-ckui": "card-lock",
319
- children: [/* @__PURE__ */ _(S, {
320
- icon: ee,
485
+ children: [/* @__PURE__ */ y(T, {
486
+ icon: te,
321
487
  strokeWidth: 2,
322
488
  className: "size-3.5",
323
489
  "aria-hidden": !0
324
- }), A]
490
+ }), C]
325
491
  })
326
492
  })
327
493
  ]
328
494
  })]
329
495
  }),
330
- /* @__PURE__ */ v("p", {
496
+ /* @__PURE__ */ b("p", {
331
497
  className: "flex flex-wrap items-center gap-3 text-xs text-muted-foreground",
332
498
  children: [
333
- t.published_at && /* @__PURE__ */ _(c, { at: t.published_at }),
334
- !t.cover.length && A && /* @__PURE__ */ _("span", {
499
+ t.published_at && /* @__PURE__ */ y(c, { at: t.published_at }),
500
+ !t.cover.length && C && /* @__PURE__ */ y("span", {
335
501
  "data-ckui": "card-lock",
336
- children: A
502
+ children: C
337
503
  }),
338
- f && t.counts.favorites !== void 0 && /* @__PURE__ */ v("span", {
504
+ f && t.counts.favorites !== void 0 && /* @__PURE__ */ b("span", {
339
505
  className: "inline-flex items-center gap-1 tabular-nums",
340
506
  "data-ckui": "card-counts",
341
507
  children: [
342
- /* @__PURE__ */ _(S, {
343
- icon: b,
508
+ /* @__PURE__ */ y(T, {
509
+ icon: S,
344
510
  strokeWidth: 2,
345
- className: y("size-3.5", t.viewer?.favorited && "fill-current text-primary"),
511
+ className: x("size-3.5", t.viewer?.favorited && "fill-current text-primary"),
346
512
  "aria-hidden": !0
347
513
  }),
348
- /* @__PURE__ */ _("span", {
514
+ /* @__PURE__ */ y("span", {
349
515
  className: "sr-only",
350
- children: x.t("contents.favorites")
516
+ children: _.t("contents.favorites")
351
517
  }),
352
- w(t.counts.favorites, x.language)
518
+ O(t.counts.favorites, _.language)
353
519
  ]
354
520
  })
355
521
  ]
356
522
  }),
357
- h
523
+ m
358
524
  ]
359
525
  });
360
526
  }
361
527
  //#endregion
362
- export { D as ContentCard, O as OwnerChip, A as PostCard, T as lockLabel };
528
+ export { re as CardStatusBadges, j as ContentCard, M as OwnerChip, se as PostCard, D as cardStatus, k as lockLabel };
363
529
 
364
530
  //# sourceMappingURL=card.js.map