@internetarchive/collection-browser 2.4.1-e2e-test-2 → 2.5.0

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 (316) 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 +91 -91
  8. package/dist/src/app-root.js +487 -487
  9. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  10. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  11. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  13. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  14. package/dist/src/assets/img/icons/chevron.js +2 -2
  15. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  16. package/dist/src/assets/img/icons/contract.js +2 -2
  17. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  18. package/dist/src/assets/img/icons/empty-query.js +2 -2
  19. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  20. package/dist/src/assets/img/icons/expand.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  29. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  30. package/dist/src/assets/img/icons/login-required.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +564 -466
  72. package/dist/src/collection-browser.js +1568 -1479
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  75. package/dist/src/collection-facets/facet-row.js +117 -116
  76. package/dist/src/collection-facets/facet-row.js.map +1 -1
  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 +13 -17
  80. package/dist/src/collection-facets/facets-template.js +46 -144
  81. package/dist/src/collection-facets/facets-template.js.map +1 -1
  82. package/dist/src/collection-facets/more-facets-content.d.ts +106 -74
  83. package/dist/src/collection-facets/more-facets-content.js +424 -377
  84. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  85. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  86. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  87. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  88. package/dist/src/collection-facets/toggle-switch.js +94 -94
  89. package/dist/src/collection-facets.d.ts +103 -103
  90. package/dist/src/collection-facets.js +514 -514
  91. package/dist/src/collection-facets.js.map +1 -1
  92. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
  93. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  94. package/dist/src/data-source/collection-browser-data-source.d.ts +378 -378
  95. package/dist/src/data-source/collection-browser-data-source.js +985 -985
  96. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  97. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  98. package/dist/src/data-source/models.d.ts +28 -28
  99. package/dist/src/data-source/models.js +8 -8
  100. package/dist/src/empty-placeholder.d.ts +23 -23
  101. package/dist/src/empty-placeholder.js +74 -74
  102. package/dist/src/expanded-date-picker.d.ts +43 -43
  103. package/dist/src/expanded-date-picker.js +109 -109
  104. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  105. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  106. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  107. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  108. package/dist/src/manage/manage-bar.d.ts +30 -30
  109. package/dist/src/manage/manage-bar.js +61 -61
  110. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  111. package/dist/src/mediatype/mediatype-config.js +91 -91
  112. package/dist/src/models.d.ts +209 -209
  113. package/dist/src/models.js +381 -381
  114. package/dist/src/restoration-state-handler.d.ts +70 -70
  115. package/dist/src/restoration-state-handler.js +357 -357
  116. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  117. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  118. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  119. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  120. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  122. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/list.js +2 -2
  124. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  125. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  126. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  127. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  128. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  129. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  130. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  131. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  132. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  133. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  134. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +222 -222
  135. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -696
  136. package/dist/src/styles/ia-button.d.ts +2 -2
  137. package/dist/src/styles/ia-button.js +16 -16
  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 +18 -18
  161. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  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 +229 -229
  186. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  187. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  188. package/dist/src/utils/analytics-events.d.ts +28 -28
  189. package/dist/src/utils/analytics-events.js +30 -30
  190. package/dist/src/utils/array-equals.d.ts +4 -4
  191. package/dist/src/utils/array-equals.js +10 -10
  192. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  193. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  194. package/dist/src/utils/facet-utils.d.ts +83 -0
  195. package/dist/src/utils/facet-utils.js +146 -0
  196. package/dist/src/utils/facet-utils.js.map +1 -0
  197. package/dist/src/utils/format-count.d.ts +7 -7
  198. package/dist/src/utils/format-count.js +76 -76
  199. package/dist/src/utils/format-date.d.ts +2 -2
  200. package/dist/src/utils/format-date.js +25 -25
  201. package/dist/src/utils/format-unit-size.d.ts +2 -2
  202. package/dist/src/utils/format-unit-size.js +33 -33
  203. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  204. package/dist/src/utils/local-date-from-utc.js +15 -15
  205. package/dist/src/utils/log.d.ts +7 -7
  206. package/dist/src/utils/log.js +15 -15
  207. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  208. package/dist/src/utils/resolve-mediatype.js +23 -23
  209. package/dist/src/utils/sha1.d.ts +2 -2
  210. package/dist/src/utils/sha1.js +8 -8
  211. package/dist/test/collection-browser.test.d.ts +1 -1
  212. package/dist/test/collection-browser.test.js +1294 -1293
  213. package/dist/test/collection-browser.test.js.map +1 -1
  214. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  215. package/dist/test/collection-facets/facet-row.test.js +227 -203
  216. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  217. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  218. package/dist/test/collection-facets/facets-template.test.js +91 -114
  219. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  220. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  221. package/dist/test/collection-facets/more-facets-content.test.js +150 -141
  222. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  223. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  224. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  225. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  226. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  227. package/dist/test/collection-facets.test.d.ts +2 -2
  228. package/dist/test/collection-facets.test.js +652 -652
  229. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  230. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  231. package/dist/test/empty-placeholder.test.d.ts +1 -1
  232. package/dist/test/empty-placeholder.test.js +63 -63
  233. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  234. package/dist/test/expanded-date-picker.test.js +95 -95
  235. package/dist/test/icon-overlay.test.d.ts +1 -1
  236. package/dist/test/icon-overlay.test.js +24 -24
  237. package/dist/test/image-block.test.d.ts +1 -1
  238. package/dist/test/image-block.test.js +48 -48
  239. package/dist/test/item-image.test.d.ts +1 -1
  240. package/dist/test/item-image.test.js +85 -85
  241. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  242. package/dist/test/manage/manage-bar.test.js +81 -81
  243. package/dist/test/mediatype-config.test.d.ts +1 -1
  244. package/dist/test/mediatype-config.test.js +16 -16
  245. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  246. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  247. package/dist/test/mocks/mock-search-responses.d.ts +25 -24
  248. package/dist/test/mocks/mock-search-responses.js +942 -860
  249. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  250. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  251. package/dist/test/mocks/mock-search-service.js +54 -53
  252. package/dist/test/mocks/mock-search-service.js.map +1 -1
  253. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  254. package/dist/test/restoration-state-handler.test.js +270 -270
  255. package/dist/test/review-block.test.d.ts +1 -1
  256. package/dist/test/review-block.test.js +44 -44
  257. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  258. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  259. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  260. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  261. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  262. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  263. package/dist/test/text-overlay.test.d.ts +1 -1
  264. package/dist/test/text-overlay.test.js +48 -48
  265. package/dist/test/text-snippet-block.test.d.ts +1 -1
  266. package/dist/test/text-snippet-block.test.js +57 -57
  267. package/dist/test/tile-stats.test.d.ts +1 -1
  268. package/dist/test/tile-stats.test.js +81 -81
  269. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  270. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  271. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  272. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  273. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  274. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  275. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  276. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  277. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  278. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  279. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  280. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  281. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  282. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  283. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  284. package/dist/test/tiles/list/tile-list.test.js +297 -297
  285. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  286. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  287. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  288. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  289. package/dist/test/utils/array-equals.test.d.ts +1 -1
  290. package/dist/test/utils/array-equals.test.js +26 -26
  291. package/dist/test/utils/format-count.test.d.ts +1 -1
  292. package/dist/test/utils/format-count.test.js +23 -23
  293. package/dist/test/utils/format-date.test.d.ts +1 -1
  294. package/dist/test/utils/format-date.test.js +17 -17
  295. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  296. package/dist/test/utils/format-unit-size.test.js +17 -17
  297. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  298. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  299. package/local.archive.org.cert +86 -86
  300. package/local.archive.org.key +27 -27
  301. package/package.json +1 -1
  302. package/renovate.json +6 -6
  303. package/src/collection-browser.ts +106 -19
  304. package/src/collection-facets/facet-row.ts +5 -4
  305. package/src/collection-facets/facets-template.ts +10 -114
  306. package/src/collection-facets/more-facets-content.ts +219 -144
  307. package/src/collection-facets.ts +24 -12
  308. package/src/utils/facet-utils.ts +181 -0
  309. package/test/collection-browser.test.ts +1 -0
  310. package/test/collection-facets/facet-row.test.ts +30 -6
  311. package/test/collection-facets/facets-template.test.ts +6 -32
  312. package/test/collection-facets/more-facets-content.test.ts +46 -35
  313. package/test/mocks/mock-search-responses.ts +86 -0
  314. package/test/mocks/mock-search-service.ts +2 -0
  315. package/web-dev-server.config.mjs +30 -30
  316. package/web-test-runner.config.mjs +41 -41
@@ -1,43 +1,43 @@
1
- import type { CollectionExtraInfo, PageElementName, SearchServiceInterface, SearchType, SortDirection, SortParam } from '@internetarchive/search-service';
2
- import type { FacetLoadStrategy, SelectedFacets, SortField } from '../models';
3
- import type { CollectionBrowserDataSourceInterface } from './collection-browser-data-source-interface';
4
- /**
5
- * Properties of collection browser that affect the overall search query
6
- */
7
- export interface CollectionBrowserQueryState {
8
- baseQuery?: string;
9
- withinCollection?: string;
10
- withinProfile?: string;
11
- profileElement?: PageElementName;
12
- searchType: SearchType;
13
- selectedFacets?: SelectedFacets;
14
- minSelectedDate?: string;
15
- maxSelectedDate?: string;
16
- selectedTitleFilter: string | null;
17
- selectedCreatorFilter: string | null;
18
- selectedSort?: SortField;
19
- sortDirection: SortDirection | null;
20
- }
21
- /**
22
- * Interface representing search-related state and operations required by the
23
- * data source on its host component.
24
- */
25
- export interface CollectionBrowserSearchInterface extends CollectionBrowserQueryState {
26
- searchService?: SearchServiceInterface;
27
- readonly sortParam: SortParam | null;
28
- readonly defaultSortParam: SortParam | null;
29
- readonly facetLoadStrategy: FacetLoadStrategy;
30
- readonly initialPageNumber: number;
31
- readonly currentVisiblePageNumbers: number[];
32
- readonly clearResultsOnEmptyQuery?: boolean;
33
- readonly dataSource?: CollectionBrowserDataSourceInterface;
34
- getSessionId(): Promise<string>;
35
- setSearchResultsLoading(loading: boolean): void;
36
- setFacetsLoading(loading: boolean): void;
37
- setTotalResultCount(count: number): void;
38
- setTileCount(count: number): void;
39
- applyDefaultCollectionSort(collectionInfo?: CollectionExtraInfo): void;
40
- emitEmptyResults(): void;
41
- emitQueryStateChanged(): void;
42
- refreshVisibleResults(): void;
43
- }
1
+ import type { CollectionExtraInfo, PageElementName, SearchServiceInterface, SearchType, SortDirection, SortParam } from '@internetarchive/search-service';
2
+ import type { FacetLoadStrategy, SelectedFacets, SortField } from '../models';
3
+ import type { CollectionBrowserDataSourceInterface } from './collection-browser-data-source-interface';
4
+ /**
5
+ * Properties of collection browser that affect the overall search query
6
+ */
7
+ export interface CollectionBrowserQueryState {
8
+ baseQuery?: string;
9
+ withinCollection?: string;
10
+ withinProfile?: string;
11
+ profileElement?: PageElementName;
12
+ searchType: SearchType;
13
+ selectedFacets?: SelectedFacets;
14
+ minSelectedDate?: string;
15
+ maxSelectedDate?: string;
16
+ selectedTitleFilter: string | null;
17
+ selectedCreatorFilter: string | null;
18
+ selectedSort?: SortField;
19
+ sortDirection: SortDirection | null;
20
+ }
21
+ /**
22
+ * Interface representing search-related state and operations required by the
23
+ * data source on its host component.
24
+ */
25
+ export interface CollectionBrowserSearchInterface extends CollectionBrowserQueryState {
26
+ searchService?: SearchServiceInterface;
27
+ readonly sortParam: SortParam | null;
28
+ readonly defaultSortParam: SortParam | null;
29
+ readonly facetLoadStrategy: FacetLoadStrategy;
30
+ readonly initialPageNumber: number;
31
+ readonly currentVisiblePageNumbers: number[];
32
+ readonly clearResultsOnEmptyQuery?: boolean;
33
+ readonly dataSource?: CollectionBrowserDataSourceInterface;
34
+ getSessionId(): Promise<string>;
35
+ setSearchResultsLoading(loading: boolean): void;
36
+ setFacetsLoading(loading: boolean): void;
37
+ setTotalResultCount(count: number): void;
38
+ setTileCount(count: number): void;
39
+ applyDefaultCollectionSort(collectionInfo?: CollectionExtraInfo): void;
40
+ emitEmptyResults(): void;
41
+ emitQueryStateChanged(): void;
42
+ refreshVisibleResults(): void;
43
+ }
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=collection-browser-query-state.js.map
@@ -1,28 +1,28 @@
1
- import type { PageElementName, PageType } from '@internetarchive/search-service';
2
- /**
3
- * A Map from collection identifiers to their corresponding collection titles.
4
- */
5
- export declare type CollectionTitles = Map<string, string>;
6
- /**
7
- * The subset of search service params that uniquely specify the type of results
8
- * that are sought by an instance of collection browser.
9
- */
10
- export declare type PageSpecifierParams = {
11
- /**
12
- * What high-level type of page is being fetched for (search results, collection, or profile)
13
- */
14
- pageType: PageType;
15
- /**
16
- * The target identifier for collection or profile pages (e.g., "prelinger", "@brewster", ...)
17
- */
18
- pageTarget: string;
19
- /**
20
- * Which specific elements of a profile page to fetch. Corresponds to individual tab data
21
- * (e.g., "uploads", "reviews", ...)
22
- */
23
- pageElements?: PageElementName[];
24
- };
25
- /**
26
- * List of profile page elements that do not currently allow faceting
27
- */
28
- export declare const FACETLESS_PAGE_ELEMENTS: PageElementName[];
1
+ import type { PageElementName, PageType } from '@internetarchive/search-service';
2
+ /**
3
+ * A Map from collection identifiers to their corresponding collection titles.
4
+ */
5
+ export declare type CollectionTitles = Map<string, string>;
6
+ /**
7
+ * The subset of search service params that uniquely specify the type of results
8
+ * that are sought by an instance of collection browser.
9
+ */
10
+ export declare type PageSpecifierParams = {
11
+ /**
12
+ * What high-level type of page is being fetched for (search results, collection, or profile)
13
+ */
14
+ pageType: PageType;
15
+ /**
16
+ * The target identifier for collection or profile pages (e.g., "prelinger", "@brewster", ...)
17
+ */
18
+ pageTarget: string;
19
+ /**
20
+ * Which specific elements of a profile page to fetch. Corresponds to individual tab data
21
+ * (e.g., "uploads", "reviews", ...)
22
+ */
23
+ pageElements?: PageElementName[];
24
+ };
25
+ /**
26
+ * List of profile page elements that do not currently allow faceting
27
+ */
28
+ export declare const FACETLESS_PAGE_ELEMENTS: PageElementName[];
@@ -1,9 +1,9 @@
1
- /**
2
- * List of profile page elements that do not currently allow faceting
3
- */
4
- export const FACETLESS_PAGE_ELEMENTS = [
5
- 'forum_posts',
6
- 'lending',
7
- 'web_archives',
8
- ];
1
+ /**
2
+ * List of profile page elements that do not currently allow faceting
3
+ */
4
+ export const FACETLESS_PAGE_ELEMENTS = [
5
+ 'forum_posts',
6
+ 'lending',
7
+ 'web_archives',
8
+ ];
9
9
  //# sourceMappingURL=models.js.map
@@ -1,23 +1,23 @@
1
- import { LitElement, CSSResultGroup, nothing, TemplateResult } from 'lit';
2
- export declare type PlaceholderType = 'empty-query' | 'empty-collection' | 'no-results' | 'query-error' | 'collection-error' | null;
3
- export declare class EmptyPlaceholder extends LitElement {
4
- private static readonly MESSAGE_EMPTY_QUERY;
5
- private static readonly MESSAGE_NO_SEARCH_RESULTS;
6
- private static readonly MESSAGE_NO_COLLECTION_RESULTS;
7
- private static readonly MESSAGE_NO_VIEWABLE_MEMBERS;
8
- private static readonly MESSAGE_QUERY_ERROR;
9
- private static readonly MESSAGE_COLLECTION_ERROR;
10
- private static readonly QUERY_ERROR_DETAILS_MESSAGE;
11
- placeholderType: PlaceholderType;
12
- isMobileView?: false;
13
- isCollection?: false;
14
- detailMessage?: string;
15
- render(): TemplateResult<1> | typeof nothing;
16
- private get placeholderTemplate();
17
- private get emptyQueryTemplate();
18
- private get emptyCollectionTemplate();
19
- private get noResultsTemplate();
20
- private get queryErrorTemplate();
21
- private get collectionErrorTemplate();
22
- static get styles(): CSSResultGroup;
23
- }
1
+ import { LitElement, CSSResultGroup, nothing, TemplateResult } from 'lit';
2
+ export declare type PlaceholderType = 'empty-query' | 'empty-collection' | 'no-results' | 'query-error' | 'collection-error' | null;
3
+ export declare class EmptyPlaceholder extends LitElement {
4
+ private static readonly MESSAGE_EMPTY_QUERY;
5
+ private static readonly MESSAGE_NO_SEARCH_RESULTS;
6
+ private static readonly MESSAGE_NO_COLLECTION_RESULTS;
7
+ private static readonly MESSAGE_NO_VIEWABLE_MEMBERS;
8
+ private static readonly MESSAGE_QUERY_ERROR;
9
+ private static readonly MESSAGE_COLLECTION_ERROR;
10
+ private static readonly QUERY_ERROR_DETAILS_MESSAGE;
11
+ placeholderType: PlaceholderType;
12
+ isMobileView?: false;
13
+ isCollection?: false;
14
+ detailMessage?: string;
15
+ render(): TemplateResult<1> | typeof nothing;
16
+ private get placeholderTemplate();
17
+ private get emptyQueryTemplate();
18
+ private get emptyCollectionTemplate();
19
+ private get noResultsTemplate();
20
+ private get queryErrorTemplate();
21
+ private get collectionErrorTemplate();
22
+ static get styles(): CSSResultGroup;
23
+ }
@@ -1,78 +1,78 @@
1
- var EmptyPlaceholder_1;
2
- import { __decorate } from "tslib";
3
- import { css, html, LitElement, nothing, } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
5
- import { choose } from 'lit/directives/choose.js';
6
- import { msg } from '@lit/localize';
7
- import emptyQueryIcon from './assets/img/icons/empty-query';
8
- import nullResultIcon from './assets/img/icons/null-result';
9
- let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.placeholderType = null;
13
- this.detailMessage = '';
14
- }
15
- render() {
16
- return this.placeholderType ? html `${this.placeholderTemplate}` : nothing;
17
- }
18
- get placeholderTemplate() {
1
+ var EmptyPlaceholder_1;
2
+ import { __decorate } from "tslib";
3
+ import { css, html, LitElement, nothing, } from 'lit';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import { choose } from 'lit/directives/choose.js';
6
+ import { msg } from '@lit/localize';
7
+ import emptyQueryIcon from './assets/img/icons/empty-query';
8
+ import nullResultIcon from './assets/img/icons/null-result';
9
+ let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.placeholderType = null;
13
+ this.detailMessage = '';
14
+ }
15
+ render() {
16
+ return this.placeholderType ? html `${this.placeholderTemplate}` : nothing;
17
+ }
18
+ get placeholderTemplate() {
19
19
  return html `
20
20
  <div
21
- class="placeholder ${this.placeholderType} ${this.isMobileView
22
- ? 'mobile'
21
+ class="placeholder ${this.placeholderType} ${this.isMobileView
22
+ ? 'mobile'
23
23
  : 'desktop'}"
24
24
  >
25
- ${choose(this.placeholderType, [
26
- ['empty-query', () => this.emptyQueryTemplate],
27
- ['empty-collection', () => this.emptyCollectionTemplate],
28
- ['no-results', () => this.noResultsTemplate],
29
- ['query-error', () => this.queryErrorTemplate],
30
- ['collection-error', () => this.collectionErrorTemplate],
25
+ ${choose(this.placeholderType, [
26
+ ['empty-query', () => this.emptyQueryTemplate],
27
+ ['empty-collection', () => this.emptyCollectionTemplate],
28
+ ['no-results', () => this.noResultsTemplate],
29
+ ['query-error', () => this.queryErrorTemplate],
30
+ ['collection-error', () => this.collectionErrorTemplate],
31
31
  ])}
32
32
  </div>
33
- `;
34
- }
35
- get emptyQueryTemplate() {
33
+ `;
34
+ }
35
+ get emptyQueryTemplate() {
36
36
  return html `
37
37
  <h2 class="title">${EmptyPlaceholder_1.MESSAGE_EMPTY_QUERY}</h2>
38
38
  <div>${emptyQueryIcon}</div>
39
- `;
40
- }
41
- get emptyCollectionTemplate() {
39
+ `;
40
+ }
41
+ get emptyCollectionTemplate() {
42
42
  return html `
43
43
  <h2 class="title">${EmptyPlaceholder_1.MESSAGE_NO_VIEWABLE_MEMBERS}</h2>
44
44
  <div>${nullResultIcon}</div>
45
- `;
46
- }
47
- get noResultsTemplate() {
45
+ `;
46
+ }
47
+ get noResultsTemplate() {
48
48
  return html `
49
49
  <h2 class="title">
50
- ${this.isCollection
51
- ? EmptyPlaceholder_1.MESSAGE_NO_COLLECTION_RESULTS
50
+ ${this.isCollection
51
+ ? EmptyPlaceholder_1.MESSAGE_NO_COLLECTION_RESULTS
52
52
  : EmptyPlaceholder_1.MESSAGE_NO_SEARCH_RESULTS}
53
53
  </h2>
54
54
  <div>${nullResultIcon}</div>
55
- `;
56
- }
57
- get queryErrorTemplate() {
55
+ `;
56
+ }
57
+ get queryErrorTemplate() {
58
58
  return html `
59
59
  <h2 class="title">${EmptyPlaceholder_1.MESSAGE_QUERY_ERROR}</h2>
60
60
  <div>${nullResultIcon}</div>
61
61
  <p class="error-details">
62
62
  ${EmptyPlaceholder_1.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}
63
63
  </p>
64
- `;
65
- }
66
- get collectionErrorTemplate() {
64
+ `;
65
+ }
66
+ get collectionErrorTemplate() {
67
67
  return html `
68
68
  <h2 class="title">${EmptyPlaceholder_1.MESSAGE_COLLECTION_ERROR}</h2>
69
69
  <div>${nullResultIcon}</div>
70
70
  <p class="error-details">
71
71
  ${EmptyPlaceholder_1.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}
72
72
  </p>
73
- `;
74
- }
75
- static get styles() {
73
+ `;
74
+ }
75
+ static get styles() {
76
76
  return css `
77
77
  :host {
78
78
  text-align: center;
@@ -113,41 +113,41 @@ let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitEl
113
113
  font-size: 1.2rem;
114
114
  word-break: break-word;
115
115
  }
116
- `;
117
- }
118
- };
119
- EmptyPlaceholder.MESSAGE_EMPTY_QUERY = msg('To begin searching, enter a search term in the box above and hit "Go".');
120
- EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS = msg('Your search did not match any items in the Archive. ' +
121
- 'Try different keywords or a more general search.');
122
- EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS = msg('Your search did not match any items in this collection. ' +
123
- 'Try different keywords or a more general search.');
124
- EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS = msg('This collection contains no viewable items.');
116
+ `;
117
+ }
118
+ };
119
+ EmptyPlaceholder.MESSAGE_EMPTY_QUERY = msg('To begin searching, enter a search term in the box above and hit "Go".');
120
+ EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS = msg('Your search did not match any items in the Archive. ' +
121
+ 'Try different keywords or a more general search.');
122
+ EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS = msg('Your search did not match any items in this collection. ' +
123
+ 'Try different keywords or a more general search.');
124
+ EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS = msg('This collection contains no viewable items.');
125
125
  EmptyPlaceholder.MESSAGE_QUERY_ERROR = msg(html `The search engine
126
126
  encountered an error, which might be related to your search query.
127
127
  <a
128
128
  href="https://help.archive.org/help/search-building-powerful-complex-queries/"
129
129
  >
130
130
  Tips for constructing search queries.
131
- </a> `);
131
+ </a> `);
132
132
  EmptyPlaceholder.MESSAGE_COLLECTION_ERROR = msg(html `The search engine
133
133
  encountered an error while loading this collection. If the problem persists,
134
134
  please let us know at
135
- <a href="mailto:info@archive.org">info@archive.org</a>.`);
136
- EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');
137
- __decorate([
138
- property({ type: String })
139
- ], EmptyPlaceholder.prototype, "placeholderType", void 0);
140
- __decorate([
141
- property({ type: Boolean })
142
- ], EmptyPlaceholder.prototype, "isMobileView", void 0);
143
- __decorate([
144
- property({ type: Boolean })
145
- ], EmptyPlaceholder.prototype, "isCollection", void 0);
146
- __decorate([
147
- property({ type: String })
148
- ], EmptyPlaceholder.prototype, "detailMessage", void 0);
149
- EmptyPlaceholder = EmptyPlaceholder_1 = __decorate([
150
- customElement('empty-placeholder')
151
- ], EmptyPlaceholder);
152
- export { EmptyPlaceholder };
135
+ <a href="mailto:info@archive.org">info@archive.org</a>.`);
136
+ EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');
137
+ __decorate([
138
+ property({ type: String })
139
+ ], EmptyPlaceholder.prototype, "placeholderType", void 0);
140
+ __decorate([
141
+ property({ type: Boolean })
142
+ ], EmptyPlaceholder.prototype, "isMobileView", void 0);
143
+ __decorate([
144
+ property({ type: Boolean })
145
+ ], EmptyPlaceholder.prototype, "isCollection", void 0);
146
+ __decorate([
147
+ property({ type: String })
148
+ ], EmptyPlaceholder.prototype, "detailMessage", void 0);
149
+ EmptyPlaceholder = EmptyPlaceholder_1 = __decorate([
150
+ customElement('empty-placeholder')
151
+ ], EmptyPlaceholder);
152
+ export { EmptyPlaceholder };
153
153
  //# sourceMappingURL=empty-placeholder.js.map
@@ -1,43 +1,43 @@
1
- import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
- import type { ModalManagerInterface } from '@internetarchive/modal-manager';
3
- import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
4
- export declare class ExpandedDatePicker extends LitElement {
5
- minDate?: string;
6
- maxDate?: string;
7
- minSelectedDate?: string;
8
- maxSelectedDate?: string;
9
- buckets?: number[];
10
- modalManager?: ModalManagerInterface;
11
- analyticsHandler?: AnalyticsManagerInterface;
12
- render(): TemplateResult;
13
- connectedCallback(): void;
14
- disconnectedCallback(): void;
15
- /**
16
- * Add an event listener to close the date picker modal when the Esc key is pressed
17
- */
18
- private setupEscapeListener;
19
- /**
20
- * Remove the Esc key listener that was previously added
21
- */
22
- private removeEscapeListener;
23
- /**
24
- * Closes the modal dialog if the given event is pressing the Esc key.
25
- * Arrow function to ensure `this` remains bound to the current component.
26
- */
27
- private boundEscapeListener;
28
- /**
29
- * When the histogram is updated, keep track of the newly selected date range.
30
- * We don't commit to the new range until the apply button is clicked.
31
- */
32
- private histogramDateRangeUpdated;
33
- /**
34
- * When the Apply button is clicked, emit the current date range and close the modal.
35
- */
36
- private applyBtnClicked;
37
- /**
38
- * Closes the modal associated with this component (if it exists) and dispatches a
39
- * modalClosed event.
40
- */
41
- private closeModal;
42
- static get styles(): CSSResultGroup;
43
- }
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
+ import type { ModalManagerInterface } from '@internetarchive/modal-manager';
3
+ import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
4
+ export declare class ExpandedDatePicker extends LitElement {
5
+ minDate?: string;
6
+ maxDate?: string;
7
+ minSelectedDate?: string;
8
+ maxSelectedDate?: string;
9
+ buckets?: number[];
10
+ modalManager?: ModalManagerInterface;
11
+ analyticsHandler?: AnalyticsManagerInterface;
12
+ render(): TemplateResult;
13
+ connectedCallback(): void;
14
+ disconnectedCallback(): void;
15
+ /**
16
+ * Add an event listener to close the date picker modal when the Esc key is pressed
17
+ */
18
+ private setupEscapeListener;
19
+ /**
20
+ * Remove the Esc key listener that was previously added
21
+ */
22
+ private removeEscapeListener;
23
+ /**
24
+ * Closes the modal dialog if the given event is pressing the Esc key.
25
+ * Arrow function to ensure `this` remains bound to the current component.
26
+ */
27
+ private boundEscapeListener;
28
+ /**
29
+ * When the histogram is updated, keep track of the newly selected date range.
30
+ * We don't commit to the new range until the apply button is clicked.
31
+ */
32
+ private histogramDateRangeUpdated;
33
+ /**
34
+ * When the Apply button is clicked, emit the current date range and close the modal.
35
+ */
36
+ private applyBtnClicked;
37
+ /**
38
+ * Closes the modal associated with this component (if it exists) and dispatches a
39
+ * modalClosed event.
40
+ */
41
+ private closeModal;
42
+ static get styles(): CSSResultGroup;
43
+ }