@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 +1 @@
1
- {"version":3,"file":"ko.js","names":[],"sources":["../../../src/locales/discovery/ko.ts"],"sourcesContent":["import type { discovery as en } from \"./en.js\";\n\nexport const discovery: typeof en = {\n readerSettings: {\n filterTitle: \"콘텐츠 필터\",\n filterDescription: \"표시할 콘텐츠를 선택하세요.\",\n savingPreferences: \"환경설정을 저장하는 중…\",\n preferencesNotSaved: \"환경설정이 아직 저장되지 않았습니다.\",\n title: \"열람 설정\",\n description: \"언어와 표시할 콘텐츠를 선택하세요.\",\n filters: \"표시할 콘텐츠:\",\n },\n releases: {\n goToDay: \"날짜 선택\",\n invalidDate: \"오늘 또는 그 이전의 올바른 날짜를 선택하세요.\",\n premiumMore_one: \"{count}개 더 보기\",\n premiumMore_other: \"{count}개 더 보기\",\n premiumHint: \"회원 전용 미리보기 · 클릭하여 보기\",\n filteredMore_one: \"{count}개 필터링됨\",\n filteredMore_other: \"{count}개 필터링됨\",\n manageFilters: \"콘텐츠 필터 변경\",\n filterContext: \"{date}의 필터입니다. 하나의 콘텐츠가 여러 필터에 해당할 수 있습니다.\",\n },\n contents: {\n showMore: \"더 보기\",\n unknownAccess: \"지금은 이용할 수 없음\",\n members: \"멤버 전용\",\n joinFree: \"무료 가입\",\n forSale: \"판매 중\",\n locked: \"잠김\",\n pages_one: \"{count}쪽\",\n pages_other: \"{count}쪽\",\n minutes_one: \"{count}분\",\n minutes_other: \"{count}분\",\n completed: \"완료\",\n freeFrom: \"{date}부터 무료\",\n favorites: \"즐겨찾기\",\n likes: \"좋아요\",\n empty: \"아직 아무것도 없습니다.\",\n loading: \"불러오는 중…\",\n loadMore: \"더 불러오기\",\n lockedShow_one: \"잠긴 항목 {count}개 보기\",\n lockedShow_other: \"잠긴 항목 {count}개 보기\",\n lockedHide: \"잠긴 항목 숨기기\",\n noResults: \"“{q}”와(과) 일치하는 항목이 없습니다.\",\n historySignedOut: \"기록을 보려면 로그인하세요.\",\n clearHistory: \"기록 지우기\",\n historyEmpty: \"기록이 없습니다.\",\n removeFromHistory: \"기록에서 삭제\",\n search: \"검색\",\n searchPlaceholder: \"검색…\",\n clearSearch: \"검색 지우기\",\n suggestions: \"추천 검색어\",\n filtersSignedOut: \"볼 콘텐츠를 선택하려면 로그인하세요.\",\n shown: \"표시\",\n hidden: \"숨김\",\n useDefault: \"기본값 사용\",\n noFilters: \"이 사이트에는 콘텐츠 필터가 없습니다.\",\n includeDeleted: \"구매한 삭제된 콘텐츠 표시\",\n noDates: \"공개일이 없습니다.\",\n items_one: \"{count}개\",\n items_other: \"{count}개\",\n free_one: \"무료 {count}개\",\n free_other: \"무료 {count}개\",\n recentSearches: \"최근 검색\",\n noRecentSearches: \"최근 검색이 아직 없습니다.\",\n searchHint: \"검색어를 입력하세요.\",\n clearRecent: \"지우기\",\n clearAllRecent: \"모두 지우기\",\n removeRecent: \"“{q}” 삭제\",\n },\n listing: {\n activityRange: \"{from}부터 {until} 전까지의 활동 (UTC)\",\n popularPeriod: \"인기 집계 기간\",\n pastDays_one: \"최근 {count}일\",\n pastDays_other: \"최근 {count}일\",\n sort: \"정렬\",\n sort_newest: \"최신순\",\n sort_oldest: \"오래된순\",\n sort_title: \"제목\",\n sort_popular: \"인기\",\n sort_top_rated: \"높은 평점\",\n sort_most_favorited: \"즐겨찾기순\",\n sort_most_viewed: \"조회수순\",\n sort_random: \"무작위\",\n sort_position: \"순서\",\n period_7d: \"이번 주\",\n period_30d: \"이번 달\",\n period_90d: \"최근 3개월\",\n period_365d: \"올해\",\n period_all: \"전체 기간\",\n sortPeriod: \"{sort} ({period})\",\n language: \"언어\",\n anyLanguage: \"모든 언어\",\n any: \"전체\",\n filters: \"필터\",\n clear: \"필터 지우기\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAuB;CAClC,gBAAgB;EACd,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,qBAAqB;EACrB,OAAO;EACP,aAAa;EACb,SAAS;CACX;CACA,UAAU;EACR,SAAS;EACT,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,eAAe;EACf,eAAe;CACjB;CACA,UAAU;EACR,UAAU;EACV,eAAe;EACf,SAAS;EACT,UAAU;EACV,SAAS;EACT,QAAQ;EACR,WAAW;EACX,aAAa;EACb,aAAa;EACb,eAAe;EACf,WAAW;EACX,UAAU;EACV,WAAW;EACX,OAAO;EACP,OAAO;EACP,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,cAAc;EACd,cAAc;EACd,mBAAmB;EACnB,QAAQ;EACR,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,SAAS;EACT,WAAW;EACX,aAAa;EACb,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,cAAc;CAChB;CACA,SAAS;EACP,eAAe;EACf,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,MAAM;EACN,aAAa;EACb,aAAa;EACb,YAAY;EACZ,cAAc;EACd,gBAAgB;EAChB,qBAAqB;EACrB,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,aAAa;EACb,KAAK;EACL,SAAS;EACT,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"ko.js","names":[],"sources":["../../../src/locales/discovery/ko.ts"],"sourcesContent":["import type { discovery as en } from \"./en.js\";\n\nexport const discovery: typeof en = {\n readerSettings: {\n filterTitle: \"콘텐츠 필터\",\n filterDescription: \"표시할 콘텐츠를 선택하세요.\",\n savingPreferences: \"환경설정을 저장하는 중…\",\n preferencesNotSaved: \"환경설정이 아직 저장되지 않았습니다.\",\n title: \"열람 설정\",\n description: \"언어와 표시할 콘텐츠를 선택하세요.\",\n filters: \"표시할 콘텐츠:\",\n },\n releases: {\n goToDay: \"날짜 선택\",\n invalidDate: \"오늘 또는 그 이전의 올바른 날짜를 선택하세요.\",\n premiumMore_one: \"{count}개 더 보기\",\n premiumMore_other: \"{count}개 더 보기\",\n premiumHint: \"회원 전용 미리보기 · 클릭하여 보기\",\n filteredMore_one: \"{count}개 필터링됨\",\n filteredMore_other: \"{count}개 필터링됨\",\n manageFilters: \"콘텐츠 필터 변경\",\n filterContext: \"{date}의 필터입니다. 하나의 콘텐츠가 여러 필터에 해당할 수 있습니다.\",\n },\n contents: {\n showMore: \"더 보기\",\n unknownAccess: \"지금은 이용할 수 없음\",\n members: \"멤버 전용\",\n joinFree: \"무료 가입\",\n forSale: \"판매 중\",\n locked: \"잠김\",\n pages_one: \"{count}쪽\",\n pages_other: \"{count}쪽\",\n minutes_one: \"{count}분\",\n minutes_other: \"{count}분\",\n completed: \"완료\",\n freeFrom: \"{date}부터 무료\",\n favorites: \"즐겨찾기\",\n likes: \"좋아요\",\n empty: \"아직 아무것도 없습니다.\",\n loading: \"불러오는 중…\",\n loadMore: \"더 불러오기\",\n lockedShow_one: \"잠긴 항목 {count}개 보기\",\n lockedShow_other: \"잠긴 항목 {count}개 보기\",\n lockedHide: \"잠긴 항목 숨기기\",\n noResults: \"“{q}”와(과) 일치하는 항목이 없습니다.\",\n historySignedOut: \"기록을 보려면 로그인하세요.\",\n clearHistory: \"기록 지우기\",\n historyEmpty: \"기록이 없습니다.\",\n removeFromHistory: \"기록에서 삭제\",\n search: \"검색\",\n searchPlaceholder: \"검색…\",\n clearSearch: \"검색 지우기\",\n suggestions: \"추천 검색어\",\n filtersSignedOut: \"볼 콘텐츠를 선택하려면 로그인하세요.\",\n shown: \"표시\",\n hidden: \"숨김\",\n useDefault: \"기본값 사용\",\n noFilters: \"이 사이트에는 콘텐츠 필터가 없습니다.\",\n includeDeleted: \"구매한 삭제된 콘텐츠 표시\",\n noDates: \"공개일이 없습니다.\",\n items_one: \"{count}개\",\n items_other: \"{count}개\",\n free_one: \"무료 {count}개\",\n free_other: \"무료 {count}개\",\n recentSearches: \"최근 검색\",\n noRecentSearches: \"최근 검색이 아직 없습니다.\",\n searchHint: \"검색어를 입력하세요.\",\n clearRecent: \"지우기\",\n clearAllRecent: \"모두 지우기\",\n removeRecent: \"“{q}” 삭제\",\n },\n listing: {\n activityRange: \"{from}부터 {until} 전까지의 활동 (UTC)\",\n popularPeriod: \"인기 집계 기간\",\n pastDays_one: \"최근 {count}일\",\n pastDays_other: \"최근 {count}일\",\n sort: \"정렬\",\n sort_newest: \"최신순\",\n sort_oldest: \"오래된순\",\n sort_title: \"제목\",\n sort_popular: \"인기\",\n sort_top_rated: \"높은 평점\",\n sort_most_favorited: \"즐겨찾기순\",\n sort_random: \"무작위\",\n sort_position: \"순서\",\n period_7d: \"이번 주\",\n period_30d: \"이번 달\",\n period_90d: \"최근 3개월\",\n period_365d: \"올해\",\n period_all: \"전체 기간\",\n sortPeriod: \"{sort} ({period})\",\n language: \"언어\",\n anyLanguage: \"모든 언어\",\n any: \"전체\",\n filters: \"필터\",\n clear: \"필터 지우기\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAuB;CAClC,gBAAgB;EACd,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,qBAAqB;EACrB,OAAO;EACP,aAAa;EACb,SAAS;CACX;CACA,UAAU;EACR,SAAS;EACT,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,eAAe;EACf,eAAe;CACjB;CACA,UAAU;EACR,UAAU;EACV,eAAe;EACf,SAAS;EACT,UAAU;EACV,SAAS;EACT,QAAQ;EACR,WAAW;EACX,aAAa;EACb,aAAa;EACb,eAAe;EACf,WAAW;EACX,UAAU;EACV,WAAW;EACX,OAAO;EACP,OAAO;EACP,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,cAAc;EACd,cAAc;EACd,mBAAmB;EACnB,QAAQ;EACR,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,SAAS;EACT,WAAW;EACX,aAAa;EACb,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,cAAc;CAChB;CACA,SAAS;EACP,eAAe;EACf,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,MAAM;EACN,aAAa;EACb,aAAa;EACb,YAAY;EACZ,cAAc;EACd,gBAAgB;EAChB,qBAAqB;EACrB,aAAa;EACb,eAAe;EACf,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,aAAa;EACb,KAAK;EACL,SAAS;EACT,OAAO;CACT;AACF"}
@@ -80,7 +80,6 @@ var e = {
80
80
  sort_popular: "热门",
81
81
  sort_top_rated: "高分",
82
82
  sort_most_favorited: "最多收藏",
83
- sort_most_viewed: "最多观看",
84
83
  sort_random: "随机",
85
84
  sort_position: "顺序",
86
85
  period_7d: "本周",
@@ -1 +1 @@
1
- {"version":3,"file":"zh.js","names":[],"sources":["../../../src/locales/discovery/zh.ts"],"sourcesContent":["import type { discovery as en } from \"./en.js\";\n\nexport const discovery: typeof en = {\n readerSettings: {\n filterTitle: \"内容筛选\",\n filterDescription: \"选择你想看到的内容。\",\n savingPreferences: \"正在保存偏好设置…\",\n preferencesNotSaved: \"偏好设置尚未保存。\",\n title: \"阅读设置\",\n description: \"选择语言和要显示的内容。\",\n filters: \"显示内容:\",\n },\n releases: {\n goToDay: \"选择日期\",\n invalidDate: \"请选择今天或之前的有效日期。\",\n premiumMore_one: \"还有 {count} 项\",\n premiumMore_other: \"还有 {count} 项\",\n premiumHint: \"会员专属预览 · 点击查看\",\n filteredMore_one: \"已筛除 {count} 项\",\n filteredMore_other: \"已筛除 {count} 项\",\n manageFilters: \"更改内容筛选\",\n filterContext: \"{date}的筛选结果。一项内容可能符合多个筛选条件。\",\n },\n contents: {\n showMore: \"显示更多\",\n unknownAccess: \"暂时无法访问\",\n members: \"会员专享\",\n joinFree: \"免费加入\",\n forSale: \"可购买\",\n locked: \"已锁定\",\n pages_one: \"{count} 页\",\n pages_other: \"{count} 页\",\n minutes_one: \"{count} 分钟\",\n minutes_other: \"{count} 分钟\",\n completed: \"已完成\",\n freeFrom: \"{date} 起免费\",\n favorites: \"收藏\",\n likes: \"点赞\",\n empty: \"这里还没有内容。\",\n loading: \"加载中…\",\n loadMore: \"加载更多\",\n lockedShow_one: \"显示 {count} 个锁定项目\",\n lockedShow_other: \"显示 {count} 个锁定项目\",\n lockedHide: \"隐藏锁定项目\",\n noResults: \"没有与“{q}”匹配的内容。\",\n historySignedOut: \"登录后查看你的历史记录。\",\n clearHistory: \"清除历史记录\",\n historyEmpty: \"你的历史记录为空。\",\n removeFromHistory: \"从历史记录中移除\",\n search: \"搜索\",\n searchPlaceholder: \"搜索…\",\n clearSearch: \"清除搜索\",\n suggestions: \"建议\",\n filtersSignedOut: \"登录后选择你想看的内容。\",\n shown: \"显示\",\n hidden: \"隐藏\",\n useDefault: \"使用默认设置\",\n noFilters: \"此站点没有内容过滤器。\",\n includeDeleted: \"显示我已购买但已移除的内容\",\n noDates: \"没有发布日期。\",\n items_one: \"{count} 项\",\n items_other: \"{count} 项\",\n free_one: \"{count} 项免费\",\n free_other: \"{count} 项免费\",\n recentSearches: \"最近搜索\",\n noRecentSearches: \"还没有最近搜索。\",\n searchHint: \"输入关键词开始搜索。\",\n clearRecent: \"清除\",\n clearAllRecent: \"全部清除\",\n removeRecent: \"移除“{q}”\",\n },\n listing: {\n activityRange: \"UTC 时间 {from} 起至 {until} 前的活动\",\n popularPeriod: \"热门时间范围\",\n pastDays_one: \"过去{count}天\",\n pastDays_other: \"过去{count}天\",\n sort: \"排序\",\n sort_newest: \"最新\",\n sort_oldest: \"最早\",\n sort_title: \"标题\",\n sort_popular: \"热门\",\n sort_top_rated: \"高分\",\n sort_most_favorited: \"最多收藏\",\n sort_most_viewed: \"最多观看\",\n sort_random: \"随机\",\n sort_position: \"顺序\",\n period_7d: \"本周\",\n period_30d: \"本月\",\n period_90d: \"近3个月\",\n period_365d: \"今年\",\n period_all: \"全部时间\",\n sortPeriod: \"{sort}({period})\",\n language: \"语言\",\n anyLanguage: \"所有语言\",\n any: \"全部\",\n filters: \"筛选\",\n clear: \"清除筛选\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAuB;CAClC,gBAAgB;EACd,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,qBAAqB;EACrB,OAAO;EACP,aAAa;EACb,SAAS;CACX;CACA,UAAU;EACR,SAAS;EACT,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,eAAe;EACf,eAAe;CACjB;CACA,UAAU;EACR,UAAU;EACV,eAAe;EACf,SAAS;EACT,UAAU;EACV,SAAS;EACT,QAAQ;EACR,WAAW;EACX,aAAa;EACb,aAAa;EACb,eAAe;EACf,WAAW;EACX,UAAU;EACV,WAAW;EACX,OAAO;EACP,OAAO;EACP,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,cAAc;EACd,cAAc;EACd,mBAAmB;EACnB,QAAQ;EACR,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,SAAS;EACT,WAAW;EACX,aAAa;EACb,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,cAAc;CAChB;CACA,SAAS;EACP,eAAe;EACf,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,MAAM;EACN,aAAa;EACb,aAAa;EACb,YAAY;EACZ,cAAc;EACd,gBAAgB;EAChB,qBAAqB;EACrB,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,aAAa;EACb,KAAK;EACL,SAAS;EACT,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"zh.js","names":[],"sources":["../../../src/locales/discovery/zh.ts"],"sourcesContent":["import type { discovery as en } from \"./en.js\";\n\nexport const discovery: typeof en = {\n readerSettings: {\n filterTitle: \"内容筛选\",\n filterDescription: \"选择你想看到的内容。\",\n savingPreferences: \"正在保存偏好设置…\",\n preferencesNotSaved: \"偏好设置尚未保存。\",\n title: \"阅读设置\",\n description: \"选择语言和要显示的内容。\",\n filters: \"显示内容:\",\n },\n releases: {\n goToDay: \"选择日期\",\n invalidDate: \"请选择今天或之前的有效日期。\",\n premiumMore_one: \"还有 {count} 项\",\n premiumMore_other: \"还有 {count} 项\",\n premiumHint: \"会员专属预览 · 点击查看\",\n filteredMore_one: \"已筛除 {count} 项\",\n filteredMore_other: \"已筛除 {count} 项\",\n manageFilters: \"更改内容筛选\",\n filterContext: \"{date}的筛选结果。一项内容可能符合多个筛选条件。\",\n },\n contents: {\n showMore: \"显示更多\",\n unknownAccess: \"暂时无法访问\",\n members: \"会员专享\",\n joinFree: \"免费加入\",\n forSale: \"可购买\",\n locked: \"已锁定\",\n pages_one: \"{count} 页\",\n pages_other: \"{count} 页\",\n minutes_one: \"{count} 分钟\",\n minutes_other: \"{count} 分钟\",\n completed: \"已完成\",\n freeFrom: \"{date} 起免费\",\n favorites: \"收藏\",\n likes: \"点赞\",\n empty: \"这里还没有内容。\",\n loading: \"加载中…\",\n loadMore: \"加载更多\",\n lockedShow_one: \"显示 {count} 个锁定项目\",\n lockedShow_other: \"显示 {count} 个锁定项目\",\n lockedHide: \"隐藏锁定项目\",\n noResults: \"没有与“{q}”匹配的内容。\",\n historySignedOut: \"登录后查看你的历史记录。\",\n clearHistory: \"清除历史记录\",\n historyEmpty: \"你的历史记录为空。\",\n removeFromHistory: \"从历史记录中移除\",\n search: \"搜索\",\n searchPlaceholder: \"搜索…\",\n clearSearch: \"清除搜索\",\n suggestions: \"建议\",\n filtersSignedOut: \"登录后选择你想看的内容。\",\n shown: \"显示\",\n hidden: \"隐藏\",\n useDefault: \"使用默认设置\",\n noFilters: \"此站点没有内容过滤器。\",\n includeDeleted: \"显示我已购买但已移除的内容\",\n noDates: \"没有发布日期。\",\n items_one: \"{count} 项\",\n items_other: \"{count} 项\",\n free_one: \"{count} 项免费\",\n free_other: \"{count} 项免费\",\n recentSearches: \"最近搜索\",\n noRecentSearches: \"还没有最近搜索。\",\n searchHint: \"输入关键词开始搜索。\",\n clearRecent: \"清除\",\n clearAllRecent: \"全部清除\",\n removeRecent: \"移除“{q}”\",\n },\n listing: {\n activityRange: \"UTC 时间 {from} 起至 {until} 前的活动\",\n popularPeriod: \"热门时间范围\",\n pastDays_one: \"过去{count}天\",\n pastDays_other: \"过去{count}天\",\n sort: \"排序\",\n sort_newest: \"最新\",\n sort_oldest: \"最早\",\n sort_title: \"标题\",\n sort_popular: \"热门\",\n sort_top_rated: \"高分\",\n sort_most_favorited: \"最多收藏\",\n sort_random: \"随机\",\n sort_position: \"顺序\",\n period_7d: \"本周\",\n period_30d: \"本月\",\n period_90d: \"近3个月\",\n period_365d: \"今年\",\n period_all: \"全部时间\",\n sortPeriod: \"{sort}({period})\",\n language: \"语言\",\n anyLanguage: \"所有语言\",\n any: \"全部\",\n filters: \"筛选\",\n clear: \"清除筛选\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAuB;CAClC,gBAAgB;EACd,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,qBAAqB;EACrB,OAAO;EACP,aAAa;EACb,SAAS;CACX;CACA,UAAU;EACR,SAAS;EACT,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,eAAe;EACf,eAAe;CACjB;CACA,UAAU;EACR,UAAU;EACV,eAAe;EACf,SAAS;EACT,UAAU;EACV,SAAS;EACT,QAAQ;EACR,WAAW;EACX,aAAa;EACb,aAAa;EACb,eAAe;EACf,WAAW;EACX,UAAU;EACV,WAAW;EACX,OAAO;EACP,OAAO;EACP,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,cAAc;EACd,cAAc;EACd,mBAAmB;EACnB,QAAQ;EACR,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,SAAS;EACT,WAAW;EACX,aAAa;EACb,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,cAAc;CAChB;CACA,SAAS;EACP,eAAe;EACf,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,MAAM;EACN,aAAa;EACb,aAAa;EACb,YAAY;EACZ,cAAc;EACd,gBAAgB;EAChB,qBAAqB;EACrB,aAAa;EACb,eAAe;EACf,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,aAAa;EACb,KAAK;EACL,SAAS;EACT,OAAO;CACT;AACF"}
@@ -467,7 +467,6 @@ export declare const en: {
467
467
  sort_popular: string;
468
468
  sort_top_rated: string;
469
469
  sort_most_favorited: string;
470
- sort_most_viewed: string;
471
470
  sort_random: string;
472
471
  sort_position: string;
473
472
  period_7d: string;
@@ -610,6 +609,31 @@ export declare const en: {
610
609
  loadFailed: string;
611
610
  count: string;
612
611
  };
612
+ readerEditor: {
613
+ new: string;
614
+ untitled: string;
615
+ saveDraft: string;
616
+ schedule: string;
617
+ details: string;
618
+ files: string;
619
+ fileHelp: string;
620
+ entities: string;
621
+ additionalText: string;
622
+ useCover: string;
623
+ useCoverFor: string;
624
+ firstPageCover: string;
625
+ publication: string;
626
+ versions: string;
627
+ readerTools: string;
628
+ filesNotReady: string;
629
+ filesFailed: string;
630
+ processing: string;
631
+ addPages: string;
632
+ fixSection: string;
633
+ accessRequired: string;
634
+ changedDuringSave: string;
635
+ versionDraft: string;
636
+ };
613
637
  contentAdmin: {
614
638
  groups: string;
615
639
  modelFailed: string;
@@ -881,20 +905,20 @@ export declare const en: {
881
905
  problem_target: string;
882
906
  };
883
907
  stats: {
908
+ metric_readers: string;
909
+ totalActiveTime: string;
910
+ activeTime: string;
911
+ readers: string;
884
912
  title: string;
885
913
  kind: string;
886
914
  activity: string;
887
915
  days: string;
888
916
  lastDays: string;
889
917
  date: string;
890
- views: string;
891
- viewers: string;
892
918
  users: string;
893
- total: string;
894
919
  noActivity: string;
895
920
  top: string;
896
921
  metric: string;
897
- metric_views: string;
898
922
  metric_comments: string;
899
923
  period: string;
900
924
  period_7d: string;
@@ -1,19 +1,18 @@
1
- import { Beacons, Attribution, BeaconOptions, ViewSession } from '../client/beacons.js';
1
+ import { Beacons, BeaconOptions } from '../client/beacons.js';
2
2
  import { ContentKitClient } from '../client/client.js';
3
3
  import { MineQuery } from '../client/content/favorites.js';
4
4
  import { ContentQuery, DailyReleasesQuery, HistoryQuery, RailQuery, ReleaseDatesQuery, SearchQuery, TypeaheadQuery } from '../client/discovery.js';
5
5
  import { ContentKitError } from '../client/errors.js';
6
- import { Card, ContentFilters, ContentFiltersUpdate, DailyReleases, DateCount, GroupCard, Interaction, RecentSearch } from '../client/generated/wire.js';
6
+ import { Card, ContentFilters, ContentFiltersUpdate, ContentPage, DailyReleases, DateCount, GroupCard, Interaction, InteractionPage, RecentSearch, Typeahead } from '../client/generated/wire.js';
7
7
  import { UseList } from './use-resource.js';
8
+ export interface UseContents extends UseList<Card, ContentPage["summary"]> {
9
+ summary?: ContentPage["summary"];
10
+ }
8
11
  /** Contents as cards, a cursor page at a time; null reads nothing. */
9
12
  export declare function useContents(q: ContentQuery | null, o?: {
10
13
  client?: ContentKitClient;
11
- }): UseList<Card>;
12
- /**
13
- * How many contents of a list the reader doesn't open: its filters' count
14
- * with locked cards less without them (sort and paging aside); null reads
15
- * nothing.
16
- */
14
+ }): UseContents;
15
+ /** Locked contents in the same full selection, including its activity window. */
17
16
  export declare function useLockedCount(q: ContentQuery | null, o?: {
18
17
  client?: ContentKitClient;
19
18
  }): {
@@ -23,9 +22,10 @@ export declare function useLockedCount(q: ContentQuery | null, o?: {
23
22
  /** Keyword search results as cards; nothing while q.q is empty. */
24
23
  export declare function useSearch(q: SearchQuery | null, o?: {
25
24
  client?: ContentKitClient;
26
- }): UseList<Card>;
25
+ }): UseContents;
27
26
  export interface UseRail {
28
27
  items: Card[];
28
+ summary?: ContentPage["summary"];
29
29
  loading: boolean;
30
30
  error?: ContentKitError;
31
31
  /** The site runs without the signal plane (not_configured): leave the rail out. */
@@ -58,14 +58,16 @@ export interface UseDailyReleases {
58
58
  export declare function useDailyReleases(q?: DailyReleasesQuery | null, o?: {
59
59
  client?: ContentKitClient;
60
60
  }): UseDailyReleases;
61
- export interface UseHistory extends UseList<Card> {
61
+ export interface UseHistory extends UseContents {
62
+ /** A status-filtered guest selection has hidden candidates whose current version facts cannot be inspected. */
63
+ filterSummaryUnknown?: boolean;
62
64
  /** Erases the reader's history: of one content item, one kind, or (no argument) everything. */
63
65
  forget: (o?: {
64
66
  kind?: string;
65
67
  content_id?: string;
66
68
  }) => Promise<void>;
67
69
  }
68
- /** What the signed-in reader engaged with, most recent first; nothing signed out, or when q is null. */
70
+ /** Account history is authoritative; signed-out reading stays in this browser across tabs. */
69
71
  export declare function useHistory(q?: HistoryQuery | null, o?: {
70
72
  client?: ContentKitClient;
71
73
  }): UseHistory;
@@ -86,16 +88,19 @@ export declare function useRecentSearches(o?: {
86
88
  export type MyInteraction = Interaction & {
87
89
  id: string;
88
90
  };
91
+ export interface UseInteractions extends UseList<MyInteraction, InteractionPage["summary"]> {
92
+ summary?: InteractionPage["summary"];
93
+ }
89
94
  /** The signed-in reader's favorites, most recent first: content cards or groups. */
90
95
  export declare function useMyFavorites(q?: MineQuery, o?: {
91
96
  client?: ContentKitClient;
92
- }): UseList<MyInteraction>;
97
+ }): UseInteractions;
93
98
  /** What the signed-in reader liked (or, with value, disliked), most recent first. */
94
99
  export declare function useMyReactions(q?: MineQuery & {
95
100
  value?: "like" | "dislike";
96
101
  }, o?: {
97
102
  client?: ContentKitClient;
98
- }): UseList<MyInteraction>;
103
+ }): UseInteractions;
99
104
  export interface UseContentFilters {
100
105
  filters: ContentFilters | null;
101
106
  loading: boolean;
@@ -125,16 +130,13 @@ export declare function useTypeahead(text: string, o?: Omit<TypeaheadQuery, "q">
125
130
  minLength?: number;
126
131
  client?: ContentKitClient;
127
132
  management?: boolean;
133
+ request?: (query: TypeaheadQuery, signal: AbortSignal) => Promise<Typeahead>;
128
134
  }): UseTypeahead;
129
135
  /** The client's signal and exposure batcher: one per client. */
130
136
  export declare function beaconsFor(client: ContentKitClient, o?: BeaconOptions): Beacons;
131
137
  export declare function useBeacons(o?: {
132
138
  client?: ContentKitClient;
133
139
  }): Beacons;
134
- /** A view of a content (or one version) while it is shown: report its progress as it changes. */
135
- export declare function useViewSignal(content: string | null | undefined, version?: string, o?: Attribution & {
136
- client?: ContentKitClient;
137
- }): ViewSession["update"];
138
140
  export interface ExposureOptions {
139
141
  /** Where the list is: "home", "search", "similar". */
140
142
  surface: string;
@@ -156,6 +158,7 @@ export interface UseExposure {
156
158
  /** A rendered result list: each page rendered, each card shown, clicks attributed to the render. */
157
159
  export declare function useExposure(items: readonly {
158
160
  id: string;
161
+ position?: number;
159
162
  version_id?: string;
160
163
  version?: {
161
164
  id: string;