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

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 (145) hide show
  1. package/README.md +105 -43
  2. package/dist/client/beacons.d.ts +3 -13
  3. package/dist/client/beacons.js +4 -45
  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/discovery.d.ts +28 -3
  13. package/dist/client/discovery.js +22 -1
  14. package/dist/client/discovery.js.map +1 -1
  15. package/dist/client/engagement.d.ts +70 -0
  16. package/dist/client/engagement.js +191 -0
  17. package/dist/client/engagement.js.map +1 -0
  18. package/dist/client/generated/routes.d.ts +35 -9
  19. package/dist/client/generated/routes.js +59 -2
  20. package/dist/client/generated/routes.js.map +1 -1
  21. package/dist/client/generated/wire.d.ts +53 -12
  22. package/dist/client/generated/wire.js.map +1 -1
  23. package/dist/client/guest-reading-history.d.ts +40 -0
  24. package/dist/client/guest-reading-history.js +144 -0
  25. package/dist/client/guest-reading-history.js.map +1 -0
  26. package/dist/client/index.d.ts +4 -2
  27. package/dist/client/stats.d.ts +5 -5
  28. package/dist/client/stats.js.map +1 -1
  29. package/dist/client.js +24 -22
  30. package/dist/components/admin/content-manager.d.ts +1 -1
  31. package/dist/components/admin/content-manager.js +342 -302
  32. package/dist/components/admin/content-manager.js.map +1 -1
  33. package/dist/components/admin/page-review.js +106 -97
  34. package/dist/components/admin/page-review.js.map +1 -1
  35. package/dist/components/admin/quick-search.d.ts +14 -0
  36. package/dist/components/admin/quick-search.js +60 -0
  37. package/dist/components/admin/quick-search.js.map +1 -0
  38. package/dist/components/admin/reader-content-editor.d.ts +6 -0
  39. package/dist/components/admin/reader-content-editor.js +733 -0
  40. package/dist/components/admin/reader-content-editor.js.map +1 -0
  41. package/dist/components/admin/reader-manifest.js +120 -105
  42. package/dist/components/admin/reader-manifest.js.map +1 -1
  43. package/dist/components/admin/stats-dashboard.d.ts +4 -4
  44. package/dist/components/admin/stats-dashboard.js +132 -134
  45. package/dist/components/admin/stats-dashboard.js.map +1 -1
  46. package/dist/components/content/daily-releases.js +143 -191
  47. package/dist/components/content/daily-releases.js.map +1 -1
  48. package/dist/components/content/editor-save.d.ts +32 -0
  49. package/dist/components/content/editor-save.js +51 -0
  50. package/dist/components/content/editor-save.js.map +1 -0
  51. package/dist/components/content/editors.d.ts +17 -2
  52. package/dist/components/content/editors.js +359 -328
  53. package/dist/components/content/editors.js.map +1 -1
  54. package/dist/components/content/favorites.d.ts +6 -0
  55. package/dist/components/content/favorites.js +33 -0
  56. package/dist/components/content/favorites.js.map +1 -0
  57. package/dist/components/content/filter-dialog.js +19 -15
  58. package/dist/components/content/filter-dialog.js.map +1 -1
  59. package/dist/components/content/filters.d.ts +2 -0
  60. package/dist/components/content/filters.js +5 -1
  61. package/dist/components/content/filters.js.map +1 -1
  62. package/dist/components/content/grid.d.ts +34 -13
  63. package/dist/components/content/grid.js +300 -271
  64. package/dist/components/content/grid.js.map +1 -1
  65. package/dist/components/content/history.d.ts +6 -0
  66. package/dist/components/content/history.js +91 -0
  67. package/dist/components/content/history.js.map +1 -0
  68. package/dist/components/content/index.d.ts +1 -0
  69. package/dist/components/content/offer-fields.d.ts +1 -1
  70. package/dist/components/content/offer-fields.js +86 -64
  71. package/dist/components/content/offer-fields.js.map +1 -1
  72. package/dist/components/content/search.d.ts +11 -4
  73. package/dist/components/content/search.js +22 -11
  74. package/dist/components/content/search.js.map +1 -1
  75. package/dist/components/content/summary-tile.d.ts +14 -0
  76. package/dist/components/content/summary-tile.js +63 -0
  77. package/dist/components/content/summary-tile.js.map +1 -0
  78. package/dist/components/groups/memberships.d.ts +11 -1
  79. package/dist/components/groups/memberships.js +1 -1
  80. package/dist/components/groups/memberships.js.map +1 -1
  81. package/dist/components/media-folder-editor.d.ts +4 -0
  82. package/dist/components/media-folder-editor.js +178 -168
  83. package/dist/components/media-folder-editor.js.map +1 -1
  84. package/dist/components/video-mini-player.d.ts +4 -1
  85. package/dist/components/video-mini-player.js +77 -71
  86. package/dist/components/video-mini-player.js.map +1 -1
  87. package/dist/components/video-player.d.ts +4 -1
  88. package/dist/components/video-player.js +280 -276
  89. package/dist/components/video-player.js.map +1 -1
  90. package/dist/index.d.ts +1 -0
  91. package/dist/index.js +17 -14
  92. package/dist/locales/admin/de.js +33 -8
  93. package/dist/locales/admin/de.js.map +1 -1
  94. package/dist/locales/admin/en.d.ts +29 -4
  95. package/dist/locales/admin/en.js +33 -8
  96. package/dist/locales/admin/en.js.map +1 -1
  97. package/dist/locales/admin/es.js +33 -8
  98. package/dist/locales/admin/es.js.map +1 -1
  99. package/dist/locales/admin/ja.js +33 -8
  100. package/dist/locales/admin/ja.js.map +1 -1
  101. package/dist/locales/admin/ko.js +33 -8
  102. package/dist/locales/admin/ko.js.map +1 -1
  103. package/dist/locales/admin/zh.js +33 -8
  104. package/dist/locales/admin/zh.js.map +1 -1
  105. package/dist/locales/discovery/de.js +0 -1
  106. package/dist/locales/discovery/de.js.map +1 -1
  107. package/dist/locales/discovery/en.d.ts +0 -1
  108. package/dist/locales/discovery/en.js +0 -1
  109. package/dist/locales/discovery/en.js.map +1 -1
  110. package/dist/locales/discovery/es.js +0 -1
  111. package/dist/locales/discovery/es.js.map +1 -1
  112. package/dist/locales/discovery/ja.js +0 -1
  113. package/dist/locales/discovery/ja.js.map +1 -1
  114. package/dist/locales/discovery/ko.js +0 -1
  115. package/dist/locales/discovery/ko.js.map +1 -1
  116. package/dist/locales/discovery/zh.js +0 -1
  117. package/dist/locales/discovery/zh.js.map +1 -1
  118. package/dist/locales/en.d.ts +29 -5
  119. package/dist/react/discovery.d.ts +20 -17
  120. package/dist/react/discovery.js +273 -221
  121. package/dist/react/discovery.js.map +1 -1
  122. package/dist/react/index.d.ts +2 -1
  123. package/dist/react/page-review.d.ts +1 -1
  124. package/dist/react/page-review.js +6 -5
  125. package/dist/react/page-review.js.map +1 -1
  126. package/dist/react/resources.d.ts +3 -1
  127. package/dist/react/resources.js +4 -0
  128. package/dist/react/resources.js.map +1 -1
  129. package/dist/react/stats.d.ts +2 -2
  130. package/dist/react/stats.js.map +1 -1
  131. package/dist/react/use-draft.d.ts +8 -0
  132. package/dist/react/use-draft.js +35 -0
  133. package/dist/react/use-draft.js.map +1 -0
  134. package/dist/react/use-engagement.d.ts +26 -0
  135. package/dist/react/use-engagement.js +221 -0
  136. package/dist/react/use-engagement.js.map +1 -0
  137. package/dist/react/use-resource.d.ts +4 -3
  138. package/dist/react/use-resource.js +2 -1
  139. package/dist/react/use-resource.js.map +1 -1
  140. package/dist/react.js +12 -11
  141. package/dist/styles.css +1 -1
  142. package/dist/ui/dialog.d.ts +2 -1
  143. package/dist/ui/dialog.js +23 -20
  144. package/dist/ui/dialog.js.map +1 -1
  145. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
2
  import { ContentKitUiAppearance } from '../../appearance.js';
3
3
  import { ContentKitClient } from '../../client/client.js';
4
- import { ContentQuery, HistoryQuery, RailQuery, SearchQuery } from '../../client/discovery.js';
5
- import { Card } from '../../client/generated/wire.js';
4
+ import { AccessMode, ContentQuery, HistoryQuery, RailQuery, SearchQuery } from '../../client/discovery.js';
5
+ import { Card, ListingSummary } from '../../client/generated/wire.js';
6
6
  import { UseList } from '../../react/use-resource.js';
7
7
  import { ContentCardProps } from './card.js';
8
8
  export interface CardListProps extends Omit<ContentCardProps, "card" | "onOpen" | "children" | "className"> {
@@ -18,6 +18,21 @@ export interface CardListProps extends Omit<ContentCardProps, "card" | "onOpen"
18
18
  client?: ContentKitClient;
19
19
  className?: string;
20
20
  appearance?: ContentKitUiAppearance;
21
+ /** Collapse paid/locked cards into a counted tile, or hide them; default show. */
22
+ locked?: LockedCards;
23
+ /** Optional-filter summary tiles are on by default; hosts may suppress them in previews. */
24
+ showFilteredSummary?: boolean;
25
+ /** Show the collapsed locked tile only at this measured grid width. Default 0. */
26
+ lockedSummaryMinColumns?: number;
27
+ /** Limit rendered preview tiles without changing the matching selection or summary counts. */
28
+ cardLimit?: number;
29
+ /** Limit cards in mobile previews without mounting their images. */
30
+ mobileCardLimit?: number;
31
+ /** Host-specific nouns for summary controls. */
32
+ summaryLabels?: {
33
+ premium?: (count: number) => string;
34
+ filtered?: (count: number) => string;
35
+ };
21
36
  /** Opt into a fluid grid, optionally with a desktop column ceiling. */
22
37
  grid?: CardGridLayout;
23
38
  }
@@ -34,30 +49,36 @@ export declare function cardGridLayout(layout?: CardGridLayout): {
34
49
  className: string;
35
50
  style?: CSSProperties;
36
51
  };
37
- /** A list's cards in a responsive grid, paged, with exposures and click signals. */
38
- export declare function CardGrid({ list, render, ...p }: CardListProps & {
39
- list: UseList<Card>;
52
+ /** A list carries exact selection-wide counts when the API was asked for them. */
53
+ type SummaryList = UseList<Card> & {
54
+ summary?: ListingSummary;
55
+ };
56
+ type GridProps = CardListProps & {
57
+ list: SummaryList;
40
58
  render: string;
41
- }): import('react').JSX.Element;
59
+ filterKinds?: readonly string[];
60
+ filterLanguage?: string;
61
+ horizontal?: boolean;
62
+ };
63
+ /** A list's cards and summary controls share one responsive, animated grid. */
64
+ export declare function CardGrid(p: GridProps): import('react').JSX.Element;
42
65
  /**
43
66
  * What a list does with cards the reader doesn't open: shows them marked
44
- * (show), leaves them out (hide), or lists them apart, counted, behind a
45
- * toggle that loads them when opened (collapse).
67
+ * (show), leaves them out (hide), or replaces them with a counted tile
68
+ * that reveals the cached previews in place (collapse).
46
69
  */
47
70
  export type LockedCards = "show" | "hide" | "collapse";
71
+ /** Settle locked-card admission before pagination, retaining explicit reader modes otherwise. */
72
+ export declare function cardListMode(locked: LockedCards | undefined, mode?: AccessMode): AccessMode | undefined;
48
73
  /** Contents as cards (GET /v1/contents): any sort and filter, paged. */
49
74
  export declare function ContentGrid({ query, locked, ...p }: CardListProps & {
50
75
  query: ContentQuery;
51
- locked?: LockedCards;
52
76
  }): import('react').JSX.Element;
53
77
  /** Search results as cards; nothing until the query has text. */
54
78
  export declare function SearchResults({ query, ...p }: CardListProps & {
55
79
  query: SearchQuery;
56
80
  }): import('react').JSX.Element | null;
57
- /** The signed-in reader's history as cards, each removable, with a clear-all. */
58
- export declare function ContentHistory({ query, ...p }: CardListProps & {
59
- query?: HistoryQuery;
60
- }): import('react').JSX.Element;
81
+ export { ContentHistory } from './history.js';
61
82
  export interface ContentRailProps extends Omit<CardListProps, "infinite" | "empty"> {
62
83
  /** The rail's heading. */
63
84
  title: ReactNode;