@internetarchive/collection-browser 2.1.4-alpha.3 → 2.1.4-alpha2

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 (307) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +12 -12
  6. package/dist/index.js +12 -12
  7. package/dist/src/app-root.d.ts +84 -88
  8. package/dist/src/app-root.js +454 -487
  9. package/dist/src/app-root.js.map +1 -1
  10. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  11. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  14. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  15. package/dist/src/assets/img/icons/chevron.js +2 -2
  16. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  17. package/dist/src/assets/img/icons/contract.js +2 -2
  18. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  19. package/dist/src/assets/img/icons/empty-query.js +2 -2
  20. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  21. package/dist/src/assets/img/icons/expand.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  29. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  30. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  31. package/dist/src/assets/img/icons/login-required.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  60. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  61. package/dist/src/assets/img/icons/null-result.js +2 -2
  62. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  63. package/dist/src/assets/img/icons/restricted.js +2 -2
  64. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  65. package/dist/src/assets/img/icons/reviews.js +2 -2
  66. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  67. package/dist/src/assets/img/icons/upload.js +2 -2
  68. package/dist/src/assets/img/icons/views.d.ts +1 -1
  69. package/dist/src/assets/img/icons/views.js +2 -2
  70. package/dist/src/circular-activity-indicator.d.ts +5 -5
  71. package/dist/src/circular-activity-indicator.js +17 -17
  72. package/dist/src/collection-browser.d.ts +395 -395
  73. package/dist/src/collection-browser.js +1363 -1366
  74. package/dist/src/collection-browser.js.map +1 -1
  75. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  76. package/dist/src/collection-facets/facet-row.js +114 -114
  77. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  78. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  79. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  80. package/dist/src/collection-facets/facets-template.js +114 -114
  81. package/dist/src/collection-facets/more-facets-content.d.ts +70 -70
  82. package/dist/src/collection-facets/more-facets-content.js +354 -354
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +103 -103
  88. package/dist/src/collection-facets.js +509 -509
  89. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +232 -232
  90. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  91. package/dist/src/data-source/collection-browser-data-source.d.ts +360 -360
  92. package/dist/src/data-source/collection-browser-data-source.js +930 -930
  93. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  94. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  95. package/dist/src/data-source/models.d.ts +28 -28
  96. package/dist/src/data-source/models.js +8 -8
  97. package/dist/src/empty-placeholder.d.ts +23 -23
  98. package/dist/src/empty-placeholder.js +74 -74
  99. package/dist/src/expanded-date-picker.d.ts +43 -43
  100. package/dist/src/expanded-date-picker.js +109 -109
  101. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  102. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  103. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  104. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  105. package/dist/src/manage/manage-bar.d.ts +30 -26
  106. package/dist/src/manage/manage-bar.js +76 -85
  107. package/dist/src/manage/manage-bar.js.map +1 -1
  108. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  109. package/dist/src/mediatype/mediatype-config.js +91 -91
  110. package/dist/src/models.d.ts +198 -198
  111. package/dist/src/models.js +381 -381
  112. package/dist/src/restoration-state-handler.d.ts +70 -70
  113. package/dist/src/restoration-state-handler.js +357 -357
  114. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  115. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  116. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  117. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  118. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  120. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/list.js +2 -2
  122. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  124. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  125. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  126. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  127. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  128. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  129. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  130. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  131. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  132. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +219 -221
  133. package/dist/src/sort-filter-bar/sort-filter-bar.js +685 -695
  134. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  135. package/dist/src/styles/ia-button.d.ts +2 -0
  136. package/dist/src/styles/ia-button.js +102 -0
  137. package/dist/src/styles/ia-button.js.map +1 -0
  138. package/dist/src/styles/item-image-styles.d.ts +8 -8
  139. package/dist/src/styles/item-image-styles.js +9 -9
  140. package/dist/src/styles/sr-only.d.ts +1 -1
  141. package/dist/src/styles/sr-only.js +2 -2
  142. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  143. package/dist/src/tiles/base-tile-component.js +63 -63
  144. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  145. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  146. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  147. package/dist/src/tiles/grid/account-tile.js +72 -72
  148. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  149. package/dist/src/tiles/grid/collection-tile.js +80 -80
  150. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  151. package/dist/src/tiles/grid/item-tile.js +149 -149
  152. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  153. package/dist/src/tiles/grid/search-tile.js +51 -51
  154. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  155. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  156. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  157. package/dist/src/tiles/grid/tile-stats.js +53 -53
  158. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  159. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  160. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  161. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  162. package/dist/src/tiles/image-block.d.ts +17 -17
  163. package/dist/src/tiles/image-block.js +73 -73
  164. package/dist/src/tiles/item-image.d.ts +39 -39
  165. package/dist/src/tiles/item-image.js +154 -154
  166. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  167. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  168. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  169. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  170. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  171. package/dist/src/tiles/list/tile-list.js +315 -315
  172. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  173. package/dist/src/tiles/mediatype-icon.js +47 -47
  174. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  175. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  176. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  177. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  178. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  179. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  180. package/dist/src/tiles/review-block.d.ts +12 -12
  181. package/dist/src/tiles/review-block.js +56 -56
  182. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  183. package/dist/src/tiles/text-snippet-block.js +73 -73
  184. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  185. package/dist/src/tiles/tile-dispatcher.js +230 -233
  186. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  187. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  188. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  189. package/dist/src/utils/analytics-events.d.ts +25 -25
  190. package/dist/src/utils/analytics-events.js +27 -27
  191. package/dist/src/utils/array-equals.d.ts +4 -4
  192. package/dist/src/utils/array-equals.js +10 -10
  193. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  194. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  195. package/dist/src/utils/format-count.d.ts +7 -7
  196. package/dist/src/utils/format-count.js +76 -76
  197. package/dist/src/utils/format-date.d.ts +2 -2
  198. package/dist/src/utils/format-date.js +25 -25
  199. package/dist/src/utils/format-unit-size.d.ts +2 -2
  200. package/dist/src/utils/format-unit-size.js +33 -33
  201. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  202. package/dist/src/utils/local-date-from-utc.js +15 -15
  203. package/dist/src/utils/log.d.ts +7 -7
  204. package/dist/src/utils/log.js +15 -15
  205. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  206. package/dist/src/utils/resolve-mediatype.js +23 -23
  207. package/dist/src/utils/sha1.d.ts +2 -2
  208. package/dist/src/utils/sha1.js +8 -8
  209. package/dist/test/collection-browser.test.d.ts +1 -1
  210. package/dist/test/collection-browser.test.js +1243 -1215
  211. package/dist/test/collection-browser.test.js.map +1 -1
  212. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  213. package/dist/test/collection-facets/facet-row.test.js +203 -203
  214. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  215. package/dist/test/collection-facets/facets-template.test.js +105 -105
  216. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  217. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  218. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  219. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  220. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  221. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  222. package/dist/test/collection-facets.test.d.ts +2 -2
  223. package/dist/test/collection-facets.test.js +652 -652
  224. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  225. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  226. package/dist/test/empty-placeholder.test.d.ts +1 -1
  227. package/dist/test/empty-placeholder.test.js +63 -63
  228. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  229. package/dist/test/expanded-date-picker.test.js +95 -95
  230. package/dist/test/icon-overlay.test.d.ts +1 -1
  231. package/dist/test/icon-overlay.test.js +24 -24
  232. package/dist/test/image-block.test.d.ts +1 -1
  233. package/dist/test/image-block.test.js +48 -48
  234. package/dist/test/item-image.test.d.ts +1 -1
  235. package/dist/test/item-image.test.js +85 -85
  236. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  237. package/dist/test/manage/manage-bar.test.js +77 -72
  238. package/dist/test/manage/manage-bar.test.js.map +1 -1
  239. package/dist/test/mediatype-config.test.d.ts +1 -1
  240. package/dist/test/mediatype-config.test.js +16 -16
  241. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  242. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  243. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  244. package/dist/test/mocks/mock-search-responses.js +840 -840
  245. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  246. package/dist/test/mocks/mock-search-service.js +53 -53
  247. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  248. package/dist/test/restoration-state-handler.test.js +270 -270
  249. package/dist/test/review-block.test.d.ts +1 -1
  250. package/dist/test/review-block.test.js +44 -44
  251. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  252. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  253. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  254. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  255. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  256. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +420 -420
  257. package/dist/test/text-overlay.test.d.ts +1 -1
  258. package/dist/test/text-overlay.test.js +48 -48
  259. package/dist/test/text-snippet-block.test.d.ts +1 -1
  260. package/dist/test/text-snippet-block.test.js +57 -57
  261. package/dist/test/tile-stats.test.d.ts +1 -1
  262. package/dist/test/tile-stats.test.js +81 -81
  263. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  264. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  265. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  266. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  267. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  268. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  269. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  270. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  271. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  272. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  273. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  274. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  275. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  276. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  277. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  278. package/dist/test/tiles/list/tile-list.test.js +297 -297
  279. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  280. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  281. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  282. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  283. package/dist/test/utils/array-equals.test.d.ts +1 -1
  284. package/dist/test/utils/array-equals.test.js +26 -26
  285. package/dist/test/utils/format-count.test.d.ts +1 -1
  286. package/dist/test/utils/format-count.test.js +23 -23
  287. package/dist/test/utils/format-date.test.d.ts +1 -1
  288. package/dist/test/utils/format-date.test.js +17 -17
  289. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  290. package/dist/test/utils/format-unit-size.test.js +17 -17
  291. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  292. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  293. package/local.archive.org.cert +86 -86
  294. package/local.archive.org.key +27 -27
  295. package/package.json +1 -1
  296. package/renovate.json +6 -6
  297. package/src/app-root.ts +25 -59
  298. package/src/collection-browser.ts +7 -9
  299. package/src/manage/manage-bar.ts +22 -33
  300. package/src/sort-filter-bar/sort-filter-bar.ts +1 -10
  301. package/src/styles/ia-button.ts +107 -0
  302. package/src/tiles/tile-dispatcher.ts +1 -3
  303. package/test/collection-browser.test.ts +38 -0
  304. package/test/manage/manage-bar.test.ts +5 -0
  305. package/tsconfig.json +21 -21
  306. package/web-dev-server.config.mjs +30 -30
  307. package/web-test-runner.config.mjs +41 -41
@@ -1,198 +1,198 @@
1
- import type { MediaType } from '@internetarchive/field-parsers';
2
- import { AggregationSortType, Review, SearchResult, SortDirection } from '@internetarchive/search-service';
3
- /**
4
- * Class for converting & storing raw search results in the correct format for UI tiles.
5
- */
6
- export declare class TileModel {
7
- averageRating?: number;
8
- captureDates?: Date[];
9
- checked: boolean;
10
- collectionIdentifier?: string;
11
- collectionName?: string;
12
- collectionFilesCount: number;
13
- collections: string[];
14
- collectionSize: number;
15
- commentCount: number;
16
- creator?: string;
17
- creators: string[];
18
- dateStr?: string;
19
- dateAdded?: Date;
20
- dateArchived?: Date;
21
- datePublished?: Date;
22
- dateReviewed?: Date;
23
- description?: string;
24
- favCount: number;
25
- href?: string;
26
- identifier?: string;
27
- issue?: string;
28
- itemCount: number;
29
- mediatype: MediaType;
30
- review?: Review;
31
- source?: string;
32
- snippets?: string[];
33
- subjects: string[];
34
- title: string;
35
- viewCount?: number;
36
- volume?: string;
37
- weeklyViewCount?: number;
38
- loginRequired: boolean;
39
- contentWarning: boolean;
40
- constructor(result: SearchResult);
41
- /**
42
- * Copies the contents of this TileModel onto a new instance
43
- */
44
- clone(): TileModel;
45
- /**
46
- * Determines the appropriate tile flags for the given search result
47
- * (login required and/or content warning)
48
- */
49
- private getFlags;
50
- }
51
- export declare type RequestKind = 'full' | 'hits' | 'aggregations';
52
- export declare type CollectionDisplayMode = 'grid' | 'list-compact' | 'list-detail';
53
- export declare type TileDisplayMode = 'grid' | 'list-compact' | 'list-detail' | 'list-header';
54
- /**
55
- * This is mainly used to set the cookies for the collection display mode.
56
- *
57
- * It allows the user to set different modes for different contexts (collection page, search page, etc).
58
- */
59
- export declare type CollectionBrowserContext = 'collection' | 'search';
60
- /**
61
- * The sort fields shown in the sort filter bar
62
- */
63
- export declare enum SortField {
64
- 'default' = "default",
65
- 'unrecognized' = "unrecognized",
66
- 'relevance' = "relevance",
67
- 'alltimeview' = "alltimeview",
68
- 'weeklyview' = "weeklyview",
69
- 'title' = "title",
70
- 'date' = "date",
71
- 'datearchived' = "datearchived",
72
- 'datereviewed' = "datereviewed",
73
- 'dateadded' = "dateadded",
74
- 'datefavorited' = "datefavorited",
75
- 'creator' = "creator"
76
- }
77
- export interface SortOption {
78
- /**
79
- * The SortField enum member corresponding to this option.
80
- */
81
- field: SortField;
82
- /**
83
- * The default sort direction to apply when this sort option is first selected.
84
- */
85
- defaultSortDirection: SortDirection | null;
86
- /**
87
- * Whether this sort option allows its sort direction to be changed from the default.
88
- */
89
- canSetDirection: boolean;
90
- /**
91
- * Whether this sort option may appear in the sort bar.
92
- */
93
- shownInSortBar: boolean;
94
- /**
95
- * Whether this sort option should be saved to the URL.
96
- * If false, then no `sort` param will be added to the URL when this sort option
97
- * is selected.
98
- */
99
- shownInURL: boolean;
100
- /**
101
- * Whether this sort option is passed to the search service.
102
- * If false, then no sort param will be passed to the search service at all when
103
- * this sort option is selected.
104
- */
105
- handledBySearchService: boolean;
106
- /**
107
- * The string identifying this sort field to the search service & backend API.
108
- */
109
- searchServiceKey?: string;
110
- /**
111
- * The human-readable name to use for this option in the sort bar (if applicable).
112
- */
113
- displayName: string;
114
- /**
115
- * A list of URL param keys that should be mapped to this sort option.
116
- * E.g., both `title` and `titleSorter` in the URL map to the `SortField.title` option.
117
- */
118
- urlNames: (string | null | undefined)[];
119
- }
120
- export declare const SORT_OPTIONS: Record<SortField, SortOption>;
121
- /**
122
- * Returns the SortOption corresponding to the given API sort name, or
123
- * the "unrecognized" SortOption if none matches.
124
- */
125
- export declare function sortOptionFromAPIString(sortName?: string | null): SortOption;
126
- export declare const defaultProfileElementSorts: Record<string, Exclude<SortField, SortField.default>>;
127
- /** A union of the fields that permit prefix filtering (e.g., alphabetical filtering) */
128
- export declare type PrefixFilterType = 'title' | 'creator';
129
- /** A map from prefixes (e.g., initial letters) to the number of items matching that prefix */
130
- export declare type PrefixFilterCounts = Record<string, number>;
131
- /**
132
- * A map from prefix filter types to the corresponding aggregation keys
133
- * that are needed to fetch the filter counts from the backend.
134
- */
135
- export declare const prefixFilterAggregationKeys: Record<PrefixFilterType, string>;
136
- /**
137
- * Union of the facet types that are available in the sidebar.
138
- */
139
- export declare type FacetOption = 'subject' | 'lending' | 'mediatype' | 'language' | 'creator' | 'collection' | 'year';
140
- export declare type SelectedFacetState = 'selected' | 'hidden';
141
- export declare type FacetState = SelectedFacetState | 'none';
142
- export interface FacetBucket {
143
- displayText?: string;
144
- key: string;
145
- count: number;
146
- state: FacetState;
147
- }
148
- export interface FacetGroup {
149
- title: string;
150
- key: FacetOption;
151
- buckets: FacetBucket[];
152
- }
153
- /**
154
- * Information about a user interaction event on a facet.
155
- */
156
- export declare type FacetEventDetails = {
157
- /**
158
- * The type of facet that was interacted with (e.g., 'mediatype', 'language', ...).
159
- */
160
- facetType: FacetOption;
161
- /**
162
- * The bucket corresponding to the facet that was interacted with, including the
163
- * updated state of the facet after the interaction.
164
- */
165
- bucket: FacetBucket;
166
- /**
167
- * Whether the interaction occurred on a negative facet.
168
- */
169
- negative: boolean;
170
- };
171
- export declare type FacetValue = string;
172
- export declare type SelectedFacets = Record<FacetOption, Record<FacetValue, FacetBucket>>;
173
- export declare const getDefaultSelectedFacets: () => SelectedFacets;
174
- export declare const facetDisplayOrder: FacetOption[];
175
- export declare const facetTitles: Record<FacetOption, string>;
176
- /**
177
- * The default sort type to use for each facet type
178
- */
179
- export declare const defaultFacetSort: Record<FacetOption, AggregationSortType>;
180
- /**
181
- * The sort type corresponding to facet bucket values, for each facet type
182
- * (i.e., the opposite of "sort by count" for that type).
183
- */
184
- export declare const valueFacetSort: Record<FacetOption, AggregationSortType>;
185
- export declare type LendingFacetKey = 'is_lendable' | 'is_borrowable' | 'available_to_borrow' | 'is_browsable' | 'available_to_browse' | 'is_readable' | 'available_to_waitlist';
186
- /**
187
- * Maps valid lending keys to whether they should be visible in the facet sidebar
188
- */
189
- export declare const lendingFacetKeysVisibility: Record<LendingFacetKey, boolean>;
190
- /**
191
- * Maps valid, visible lending keys to their facet sidebar display text
192
- */
193
- export declare const lendingFacetDisplayNames: Partial<Record<LendingFacetKey, string>>;
194
- /**
195
- * A record of which admin-only collections should be suppressed from being displayed
196
- * as facets or in an item's list of collections.
197
- */
198
- export declare const suppressedCollections: Record<string, boolean>;
1
+ import type { MediaType } from '@internetarchive/field-parsers';
2
+ import { AggregationSortType, Review, SearchResult, SortDirection } from '@internetarchive/search-service';
3
+ /**
4
+ * Class for converting & storing raw search results in the correct format for UI tiles.
5
+ */
6
+ export declare class TileModel {
7
+ averageRating?: number;
8
+ captureDates?: Date[];
9
+ checked: boolean;
10
+ collectionIdentifier?: string;
11
+ collectionName?: string;
12
+ collectionFilesCount: number;
13
+ collections: string[];
14
+ collectionSize: number;
15
+ commentCount: number;
16
+ creator?: string;
17
+ creators: string[];
18
+ dateStr?: string;
19
+ dateAdded?: Date;
20
+ dateArchived?: Date;
21
+ datePublished?: Date;
22
+ dateReviewed?: Date;
23
+ description?: string;
24
+ favCount: number;
25
+ href?: string;
26
+ identifier?: string;
27
+ issue?: string;
28
+ itemCount: number;
29
+ mediatype: MediaType;
30
+ review?: Review;
31
+ source?: string;
32
+ snippets?: string[];
33
+ subjects: string[];
34
+ title: string;
35
+ viewCount?: number;
36
+ volume?: string;
37
+ weeklyViewCount?: number;
38
+ loginRequired: boolean;
39
+ contentWarning: boolean;
40
+ constructor(result: SearchResult);
41
+ /**
42
+ * Copies the contents of this TileModel onto a new instance
43
+ */
44
+ clone(): TileModel;
45
+ /**
46
+ * Determines the appropriate tile flags for the given search result
47
+ * (login required and/or content warning)
48
+ */
49
+ private getFlags;
50
+ }
51
+ export declare type RequestKind = 'full' | 'hits' | 'aggregations';
52
+ export declare type CollectionDisplayMode = 'grid' | 'list-compact' | 'list-detail';
53
+ export declare type TileDisplayMode = 'grid' | 'list-compact' | 'list-detail' | 'list-header';
54
+ /**
55
+ * This is mainly used to set the cookies for the collection display mode.
56
+ *
57
+ * It allows the user to set different modes for different contexts (collection page, search page, etc).
58
+ */
59
+ export declare type CollectionBrowserContext = 'collection' | 'search';
60
+ /**
61
+ * The sort fields shown in the sort filter bar
62
+ */
63
+ export declare enum SortField {
64
+ 'default' = "default",
65
+ 'unrecognized' = "unrecognized",
66
+ 'relevance' = "relevance",
67
+ 'alltimeview' = "alltimeview",
68
+ 'weeklyview' = "weeklyview",
69
+ 'title' = "title",
70
+ 'date' = "date",
71
+ 'datearchived' = "datearchived",
72
+ 'datereviewed' = "datereviewed",
73
+ 'dateadded' = "dateadded",
74
+ 'datefavorited' = "datefavorited",
75
+ 'creator' = "creator"
76
+ }
77
+ export interface SortOption {
78
+ /**
79
+ * The SortField enum member corresponding to this option.
80
+ */
81
+ field: SortField;
82
+ /**
83
+ * The default sort direction to apply when this sort option is first selected.
84
+ */
85
+ defaultSortDirection: SortDirection | null;
86
+ /**
87
+ * Whether this sort option allows its sort direction to be changed from the default.
88
+ */
89
+ canSetDirection: boolean;
90
+ /**
91
+ * Whether this sort option may appear in the sort bar.
92
+ */
93
+ shownInSortBar: boolean;
94
+ /**
95
+ * Whether this sort option should be saved to the URL.
96
+ * If false, then no `sort` param will be added to the URL when this sort option
97
+ * is selected.
98
+ */
99
+ shownInURL: boolean;
100
+ /**
101
+ * Whether this sort option is passed to the search service.
102
+ * If false, then no sort param will be passed to the search service at all when
103
+ * this sort option is selected.
104
+ */
105
+ handledBySearchService: boolean;
106
+ /**
107
+ * The string identifying this sort field to the search service & backend API.
108
+ */
109
+ searchServiceKey?: string;
110
+ /**
111
+ * The human-readable name to use for this option in the sort bar (if applicable).
112
+ */
113
+ displayName: string;
114
+ /**
115
+ * A list of URL param keys that should be mapped to this sort option.
116
+ * E.g., both `title` and `titleSorter` in the URL map to the `SortField.title` option.
117
+ */
118
+ urlNames: (string | null | undefined)[];
119
+ }
120
+ export declare const SORT_OPTIONS: Record<SortField, SortOption>;
121
+ /**
122
+ * Returns the SortOption corresponding to the given API sort name, or
123
+ * the "unrecognized" SortOption if none matches.
124
+ */
125
+ export declare function sortOptionFromAPIString(sortName?: string | null): SortOption;
126
+ export declare const defaultProfileElementSorts: Record<string, Exclude<SortField, SortField.default>>;
127
+ /** A union of the fields that permit prefix filtering (e.g., alphabetical filtering) */
128
+ export declare type PrefixFilterType = 'title' | 'creator';
129
+ /** A map from prefixes (e.g., initial letters) to the number of items matching that prefix */
130
+ export declare type PrefixFilterCounts = Record<string, number>;
131
+ /**
132
+ * A map from prefix filter types to the corresponding aggregation keys
133
+ * that are needed to fetch the filter counts from the backend.
134
+ */
135
+ export declare const prefixFilterAggregationKeys: Record<PrefixFilterType, string>;
136
+ /**
137
+ * Union of the facet types that are available in the sidebar.
138
+ */
139
+ export declare type FacetOption = 'subject' | 'lending' | 'mediatype' | 'language' | 'creator' | 'collection' | 'year';
140
+ export declare type SelectedFacetState = 'selected' | 'hidden';
141
+ export declare type FacetState = SelectedFacetState | 'none';
142
+ export interface FacetBucket {
143
+ displayText?: string;
144
+ key: string;
145
+ count: number;
146
+ state: FacetState;
147
+ }
148
+ export interface FacetGroup {
149
+ title: string;
150
+ key: FacetOption;
151
+ buckets: FacetBucket[];
152
+ }
153
+ /**
154
+ * Information about a user interaction event on a facet.
155
+ */
156
+ export declare type FacetEventDetails = {
157
+ /**
158
+ * The type of facet that was interacted with (e.g., 'mediatype', 'language', ...).
159
+ */
160
+ facetType: FacetOption;
161
+ /**
162
+ * The bucket corresponding to the facet that was interacted with, including the
163
+ * updated state of the facet after the interaction.
164
+ */
165
+ bucket: FacetBucket;
166
+ /**
167
+ * Whether the interaction occurred on a negative facet.
168
+ */
169
+ negative: boolean;
170
+ };
171
+ export declare type FacetValue = string;
172
+ export declare type SelectedFacets = Record<FacetOption, Record<FacetValue, FacetBucket>>;
173
+ export declare const getDefaultSelectedFacets: () => SelectedFacets;
174
+ export declare const facetDisplayOrder: FacetOption[];
175
+ export declare const facetTitles: Record<FacetOption, string>;
176
+ /**
177
+ * The default sort type to use for each facet type
178
+ */
179
+ export declare const defaultFacetSort: Record<FacetOption, AggregationSortType>;
180
+ /**
181
+ * The sort type corresponding to facet bucket values, for each facet type
182
+ * (i.e., the opposite of "sort by count" for that type).
183
+ */
184
+ export declare const valueFacetSort: Record<FacetOption, AggregationSortType>;
185
+ export declare type LendingFacetKey = 'is_lendable' | 'is_borrowable' | 'available_to_borrow' | 'is_browsable' | 'available_to_browse' | 'is_readable' | 'available_to_waitlist';
186
+ /**
187
+ * Maps valid lending keys to whether they should be visible in the facet sidebar
188
+ */
189
+ export declare const lendingFacetKeysVisibility: Record<LendingFacetKey, boolean>;
190
+ /**
191
+ * Maps valid, visible lending keys to their facet sidebar display text
192
+ */
193
+ export declare const lendingFacetDisplayNames: Partial<Record<LendingFacetKey, string>>;
194
+ /**
195
+ * A record of which admin-only collections should be suppressed from being displayed
196
+ * as facets or in an item's list of collections.
197
+ */
198
+ export declare const suppressedCollections: Record<string, boolean>;