@internetarchive/collection-browser 2.7.12 → 2.7.13-alpha1

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 (498) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +3 -3
  3. package/.github/workflows/gh-pages-main.yml +2 -2
  4. package/.github/workflows/pr-preview.yml +2 -2
  5. package/.husky/pre-commit +4 -4
  6. package/.prettierignore +1 -0
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +13 -13
  10. package/dist/index.js +11 -13
  11. package/dist/index.js.map +1 -1
  12. package/dist/src/app-root.d.ts +108 -107
  13. package/dist/src/app-root.js +541 -531
  14. package/dist/src/app-root.js.map +1 -1
  15. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  18. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  19. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  20. package/dist/src/assets/img/icons/chevron.js +2 -2
  21. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  22. package/dist/src/assets/img/icons/contract.js +2 -2
  23. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  24. package/dist/src/assets/img/icons/empty-query.js +2 -2
  25. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  26. package/dist/src/assets/img/icons/expand.js +2 -2
  27. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  29. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  30. package/dist/src/assets/img/icons/eye.js +2 -2
  31. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  32. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  33. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  34. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  35. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  36. package/dist/src/assets/img/icons/filter.js +2 -2
  37. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  38. package/dist/src/assets/img/icons/login-required.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  61. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  62. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  63. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  64. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  65. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  66. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  67. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  68. package/dist/src/assets/img/icons/null-result.js +2 -2
  69. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  70. package/dist/src/assets/img/icons/restricted.js +2 -2
  71. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  72. package/dist/src/assets/img/icons/reviews.js +2 -2
  73. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  74. package/dist/src/assets/img/icons/upload.js +2 -2
  75. package/dist/src/assets/img/icons/views.d.ts +1 -1
  76. package/dist/src/assets/img/icons/views.js +2 -2
  77. package/dist/src/circular-activity-indicator.d.ts +5 -5
  78. package/dist/src/circular-activity-indicator.js +17 -17
  79. package/dist/src/circular-activity-indicator.js.map +1 -1
  80. package/dist/src/collection-browser.d.ts +611 -606
  81. package/dist/src/collection-browser.js +1688 -1679
  82. package/dist/src/collection-browser.js.map +1 -1
  83. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  84. package/dist/src/collection-facets/facet-row.js +118 -118
  85. package/dist/src/collection-facets/facet-row.js.map +1 -1
  86. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  87. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  88. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  89. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  90. package/dist/src/collection-facets/facets-template.js +49 -49
  91. package/dist/src/collection-facets/facets-template.js.map +1 -1
  92. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  93. package/dist/src/collection-facets/more-facets-content.js +406 -408
  94. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  95. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  96. package/dist/src/collection-facets/more-facets-pagination.js +197 -196
  97. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  98. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  99. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  100. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  101. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  102. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  103. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  104. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  105. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  106. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  107. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  108. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  109. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  110. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  111. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  112. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
  113. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  114. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  115. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  116. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  117. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  118. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  119. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  120. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  121. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  122. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  123. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  124. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  125. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  126. package/dist/src/collection-facets/toggle-switch.js +94 -94
  127. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  128. package/dist/src/collection-facets.d.ts +103 -103
  129. package/dist/src/collection-facets.js +521 -522
  130. package/dist/src/collection-facets.js.map +1 -1
  131. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  132. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  133. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  134. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  135. package/dist/src/data-source/collection-browser-data-source.js +1003 -1001
  136. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  137. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  138. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  139. package/dist/src/data-source/models.d.ts +28 -28
  140. package/dist/src/data-source/models.js +8 -8
  141. package/dist/src/empty-placeholder.d.ts +23 -23
  142. package/dist/src/empty-placeholder.js +87 -88
  143. package/dist/src/empty-placeholder.js.map +1 -1
  144. package/dist/src/expanded-date-picker.d.ts +43 -43
  145. package/dist/src/expanded-date-picker.js +109 -109
  146. package/dist/src/expanded-date-picker.js.map +1 -1
  147. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  148. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  149. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  150. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  151. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  152. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  153. package/dist/src/manage/manage-bar.d.ts +58 -58
  154. package/dist/src/manage/manage-bar.js +175 -175
  155. package/dist/src/manage/manage-bar.js.map +1 -1
  156. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  157. package/dist/src/manage/remove-items-modal-content.js +34 -34
  158. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  159. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  160. package/dist/src/mediatype/mediatype-config.js +92 -91
  161. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  162. package/dist/src/models.d.ts +228 -228
  163. package/dist/src/models.js +401 -401
  164. package/dist/src/models.js.map +1 -1
  165. package/dist/src/restoration-state-handler.d.ts +70 -70
  166. package/dist/src/restoration-state-handler.js +362 -363
  167. package/dist/src/restoration-state-handler.js.map +1 -1
  168. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  169. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  170. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  171. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  172. package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
  173. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  174. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  175. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  176. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  177. package/dist/src/sort-filter-bar/img/list.js +2 -2
  178. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  179. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  180. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  181. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  182. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  183. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  184. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  185. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  186. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  187. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  188. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  189. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
  190. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  191. package/dist/src/styles/ia-button.d.ts +2 -2
  192. package/dist/src/styles/ia-button.js +17 -17
  193. package/dist/src/styles/item-image-styles.d.ts +8 -8
  194. package/dist/src/styles/item-image-styles.js +9 -9
  195. package/dist/src/styles/sr-only.d.ts +1 -1
  196. package/dist/src/styles/sr-only.js +2 -2
  197. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  198. package/dist/src/tiles/base-tile-component.js +64 -64
  199. package/dist/src/tiles/base-tile-component.js.map +1 -1
  200. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  201. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  202. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  203. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  204. package/dist/src/tiles/grid/account-tile.js +72 -72
  205. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  206. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  207. package/dist/src/tiles/grid/collection-tile.js +80 -80
  208. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  209. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  210. package/dist/src/tiles/grid/item-tile.js +159 -160
  211. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  212. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  213. package/dist/src/tiles/grid/search-tile.js +51 -51
  214. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  215. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  216. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  217. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  218. package/dist/src/tiles/grid/tile-stats.js +54 -54
  219. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  220. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  221. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  222. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  223. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  224. package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
  225. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  226. package/dist/src/tiles/image-block.d.ts +18 -18
  227. package/dist/src/tiles/image-block.js +89 -89
  228. package/dist/src/tiles/image-block.js.map +1 -1
  229. package/dist/src/tiles/item-image.d.ts +39 -39
  230. package/dist/src/tiles/item-image.js +154 -154
  231. package/dist/src/tiles/item-image.js.map +1 -1
  232. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  233. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  234. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  235. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  236. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  237. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  238. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  239. package/dist/src/tiles/list/tile-list.js +324 -326
  240. package/dist/src/tiles/list/tile-list.js.map +1 -1
  241. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  242. package/dist/src/tiles/mediatype-icon.js +47 -47
  243. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  244. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  245. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  246. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  247. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  248. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  249. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  250. package/dist/src/tiles/review-block.d.ts +12 -12
  251. package/dist/src/tiles/review-block.js +56 -56
  252. package/dist/src/tiles/review-block.js.map +1 -1
  253. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  254. package/dist/src/tiles/text-snippet-block.js +73 -73
  255. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  256. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  257. package/dist/src/tiles/tile-dispatcher.js +230 -230
  258. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  259. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  260. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  261. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  262. package/dist/src/utils/analytics-events.d.ts +28 -28
  263. package/dist/src/utils/analytics-events.js +30 -30
  264. package/dist/src/utils/array-equals.d.ts +4 -4
  265. package/dist/src/utils/array-equals.js +10 -10
  266. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  267. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  268. package/dist/src/utils/facet-utils.d.ts +83 -83
  269. package/dist/src/utils/facet-utils.js +145 -145
  270. package/dist/src/utils/facet-utils.js.map +1 -1
  271. package/dist/src/utils/format-count.d.ts +7 -7
  272. package/dist/src/utils/format-count.js +75 -76
  273. package/dist/src/utils/format-count.js.map +1 -1
  274. package/dist/src/utils/format-date.d.ts +2 -2
  275. package/dist/src/utils/format-date.js +27 -27
  276. package/dist/src/utils/format-date.js.map +1 -1
  277. package/dist/src/utils/format-unit-size.d.ts +2 -2
  278. package/dist/src/utils/format-unit-size.js +33 -33
  279. package/dist/src/utils/format-unit-size.js.map +1 -1
  280. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  281. package/dist/src/utils/local-date-from-utc.js +15 -15
  282. package/dist/src/utils/log.d.ts +7 -7
  283. package/dist/src/utils/log.js +13 -15
  284. package/dist/src/utils/log.js.map +1 -1
  285. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  286. package/dist/src/utils/resolve-mediatype.js +23 -23
  287. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  288. package/dist/src/utils/sha1.d.ts +2 -2
  289. package/dist/src/utils/sha1.js +8 -8
  290. package/dist/test/collection-browser.test.d.ts +1 -1
  291. package/dist/test/collection-browser.test.js +1309 -1308
  292. package/dist/test/collection-browser.test.js.map +1 -1
  293. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  294. package/dist/test/collection-facets/facet-row.test.js +230 -227
  295. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  296. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  297. package/dist/test/collection-facets/facets-template.test.js +91 -91
  298. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  299. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  300. package/dist/test/collection-facets/more-facets-content.test.js +140 -141
  301. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  302. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  303. package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
  304. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  305. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  306. package/dist/test/collection-facets/toggle-switch.test.js +82 -73
  307. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  308. package/dist/test/collection-facets.test.d.ts +2 -2
  309. package/dist/test/collection-facets.test.js +692 -692
  310. package/dist/test/collection-facets.test.js.map +1 -1
  311. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  312. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  313. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  314. package/dist/test/empty-placeholder.test.d.ts +1 -1
  315. package/dist/test/empty-placeholder.test.js +62 -63
  316. package/dist/test/empty-placeholder.test.js.map +1 -1
  317. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  318. package/dist/test/expanded-date-picker.test.js +97 -96
  319. package/dist/test/expanded-date-picker.test.js.map +1 -1
  320. package/dist/test/icon-overlay.test.d.ts +1 -1
  321. package/dist/test/icon-overlay.test.js +23 -24
  322. package/dist/test/icon-overlay.test.js.map +1 -1
  323. package/dist/test/image-block.test.d.ts +1 -1
  324. package/dist/test/image-block.test.js +106 -107
  325. package/dist/test/image-block.test.js.map +1 -1
  326. package/dist/test/item-image.test.d.ts +1 -1
  327. package/dist/test/item-image.test.js +84 -85
  328. package/dist/test/item-image.test.js.map +1 -1
  329. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  330. package/dist/test/manage/manage-bar.test.js +100 -101
  331. package/dist/test/manage/manage-bar.test.js.map +1 -1
  332. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  333. package/dist/test/manage/remove-items-modal-content.test.js +44 -45
  334. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  335. package/dist/test/mediatype-config.test.d.ts +1 -1
  336. package/dist/test/mediatype-config.test.js +16 -16
  337. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  338. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  339. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  340. package/dist/test/mocks/mock-search-responses.js +942 -942
  341. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  342. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  343. package/dist/test/mocks/mock-search-service.js +54 -54
  344. package/dist/test/mocks/mock-search-service.js.map +1 -1
  345. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  346. package/dist/test/restoration-state-handler.test.js +270 -270
  347. package/dist/test/restoration-state-handler.test.js.map +1 -1
  348. package/dist/test/review-block.test.d.ts +1 -1
  349. package/dist/test/review-block.test.js +43 -44
  350. package/dist/test/review-block.test.js.map +1 -1
  351. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  352. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  353. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  354. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  355. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  356. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  357. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  358. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +425 -426
  359. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  360. package/dist/test/text-overlay.test.d.ts +1 -1
  361. package/dist/test/text-overlay.test.js +37 -38
  362. package/dist/test/text-overlay.test.js.map +1 -1
  363. package/dist/test/text-snippet-block.test.d.ts +1 -1
  364. package/dist/test/text-snippet-block.test.js +56 -57
  365. package/dist/test/text-snippet-block.test.js.map +1 -1
  366. package/dist/test/tile-stats.test.d.ts +1 -1
  367. package/dist/test/tile-stats.test.js +98 -99
  368. package/dist/test/tile-stats.test.js.map +1 -1
  369. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  370. package/dist/test/tiles/grid/account-tile.test.js +75 -76
  371. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  372. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  373. package/dist/test/tiles/grid/collection-tile.test.js +72 -73
  374. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  375. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  376. package/dist/test/tiles/grid/item-tile.test.js +311 -312
  377. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  378. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  379. package/dist/test/tiles/grid/search-tile.test.js +50 -51
  380. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  381. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  382. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  383. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  384. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  385. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  386. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  387. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  388. package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
  389. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  390. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  391. package/dist/test/tiles/list/tile-list.test.js +296 -297
  392. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  393. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  394. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  395. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  396. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  397. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  398. package/dist/test/utils/array-equals.test.d.ts +1 -1
  399. package/dist/test/utils/array-equals.test.js +26 -26
  400. package/dist/test/utils/format-count.test.d.ts +1 -1
  401. package/dist/test/utils/format-count.test.js +23 -23
  402. package/dist/test/utils/format-count.test.js.map +1 -1
  403. package/dist/test/utils/format-date.test.d.ts +1 -1
  404. package/dist/test/utils/format-date.test.js +30 -30
  405. package/dist/test/utils/format-date.test.js.map +1 -1
  406. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  407. package/dist/test/utils/format-unit-size.test.js +17 -17
  408. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  409. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  410. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  411. package/eslint.config.mjs +53 -0
  412. package/index.html +0 -3
  413. package/local.archive.org.cert +86 -86
  414. package/local.archive.org.key +27 -27
  415. package/package.json +41 -39
  416. package/renovate.json +6 -6
  417. package/src/app-root.ts +33 -24
  418. package/src/collection-browser.ts +62 -53
  419. package/src/collection-facets/facets-template.ts +7 -6
  420. package/src/collection-facets/more-facets-content.ts +11 -13
  421. package/src/collection-facets/more-facets-pagination.ts +3 -2
  422. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  423. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  424. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  425. package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
  426. package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
  427. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  428. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  429. package/src/collection-facets/toggle-switch.ts +2 -2
  430. package/src/collection-facets.ts +18 -19
  431. package/src/data-source/collection-browser-data-source-interface.ts +5 -1
  432. package/src/data-source/collection-browser-data-source.ts +42 -35
  433. package/src/empty-placeholder.ts +19 -16
  434. package/src/expanded-date-picker.ts +1 -1
  435. package/src/language-code-handler/language-code-handler.ts +1 -1
  436. package/src/manage/manage-bar.ts +23 -20
  437. package/src/manage/remove-items-modal-content.ts +2 -2
  438. package/src/mediatype/mediatype-config.ts +1 -0
  439. package/src/models.ts +3 -3
  440. package/src/restoration-state-handler.ts +14 -15
  441. package/src/sort-filter-bar/alpha-bar.ts +16 -17
  442. package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
  443. package/src/tiles/grid/account-tile.ts +1 -1
  444. package/src/tiles/grid/collection-tile.ts +1 -1
  445. package/src/tiles/grid/item-tile.ts +9 -9
  446. package/src/tiles/grid/tile-stats.ts +4 -4
  447. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  448. package/src/tiles/hover/tile-hover-pane.ts +4 -2
  449. package/src/tiles/item-image.ts +1 -1
  450. package/src/tiles/list/tile-list-compact.ts +2 -2
  451. package/src/tiles/list/tile-list.ts +22 -24
  452. package/src/tiles/tile-dispatcher.ts +5 -5
  453. package/src/tiles/tile-display-value-provider.ts +4 -4
  454. package/src/utils/facet-utils.ts +6 -6
  455. package/src/utils/format-count.ts +2 -3
  456. package/src/utils/format-date.ts +1 -1
  457. package/src/utils/format-unit-size.ts +1 -1
  458. package/src/utils/log.ts +1 -3
  459. package/test/collection-browser.test.ts +135 -134
  460. package/test/collection-facets/facet-row.test.ts +31 -28
  461. package/test/collection-facets/facets-template.test.ts +9 -9
  462. package/test/collection-facets/more-facets-content.test.ts +14 -15
  463. package/test/collection-facets/more-facets-pagination.test.ts +18 -19
  464. package/test/collection-facets/toggle-switch.test.ts +28 -18
  465. package/test/collection-facets.test.ts +46 -39
  466. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  467. package/test/empty-placeholder.test.ts +6 -7
  468. package/test/expanded-date-picker.test.ts +25 -20
  469. package/test/icon-overlay.test.ts +0 -1
  470. package/test/image-block.test.ts +6 -7
  471. package/test/item-image.test.ts +0 -1
  472. package/test/manage/manage-bar.test.ts +19 -16
  473. package/test/manage/remove-items-modal-content.test.ts +4 -5
  474. package/test/mocks/mock-search-responses.ts +2 -1
  475. package/test/mocks/mock-search-service.ts +1 -1
  476. package/test/restoration-state-handler.test.ts +12 -12
  477. package/test/review-block.test.ts +1 -2
  478. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  479. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  480. package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
  481. package/test/text-overlay.test.ts +0 -1
  482. package/test/text-snippet-block.test.ts +5 -6
  483. package/test/tile-stats.test.ts +26 -35
  484. package/test/tiles/grid/account-tile.test.ts +2 -3
  485. package/test/tiles/grid/collection-tile.test.ts +3 -4
  486. package/test/tiles/grid/item-tile.test.ts +13 -14
  487. package/test/tiles/grid/search-tile.test.ts +1 -2
  488. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  489. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  490. package/test/tiles/list/tile-list-compact.test.ts +1 -2
  491. package/test/tiles/list/tile-list.test.ts +10 -11
  492. package/test/tiles/tile-dispatcher.test.ts +5 -5
  493. package/test/utils/format-count.test.ts +1 -1
  494. package/test/utils/format-date.test.ts +1 -1
  495. package/test/utils/local-date-from-utc.test.ts +1 -1
  496. package/tsconfig.json +0 -1
  497. package/web-dev-server.config.mjs +30 -30
  498. package/web-test-runner.config.mjs +41 -41
@@ -1,4 +1,3 @@
1
- /* eslint-disable import/no-duplicates */
2
1
  import {
3
2
  html,
4
3
  css,
@@ -220,11 +219,10 @@ export class CollectionBrowser
220
219
  @property({ type: String }) pageContext: CollectionBrowserContext = 'search';
221
220
 
222
221
  @property({ type: Object })
223
- restorationStateHandler: RestorationStateHandlerInterface = new RestorationStateHandler(
224
- {
222
+ restorationStateHandler: RestorationStateHandlerInterface =
223
+ new RestorationStateHandler({
225
224
  context: this.pageContext,
226
- }
227
- );
225
+ });
228
226
 
229
227
  @property({ type: Number }) mobileBreakpoint = 600;
230
228
 
@@ -242,7 +240,12 @@ export class CollectionBrowser
242
240
  /**
243
241
  * If item management UI active
244
242
  */
245
- @property({ type: Boolean }) isManageView = false;
243
+ /**
244
+ * The current mode for item management UI:
245
+ * - 'initial': Initial mode activated through &manage=1 parameter
246
+ * - 'manual': Manual mode activated through user interaction eg. Manage|Remove items button
247
+ */
248
+ @property({ type: String }) manageViewMode: 'initial' | 'manual' | '' = '';
246
249
 
247
250
  @property({ type: String }) manageViewLabel = 'Select items to remove';
248
251
 
@@ -394,7 +397,7 @@ export class CollectionBrowser
394
397
 
395
398
  sessionStorage?.setItem('cb-session', newSessionId);
396
399
  return newSessionId;
397
- } catch (err) {
400
+ } catch {
398
401
  // Either we can't generate the hash or we're restricted from accessing sessionStorage
399
402
  return '';
400
403
  }
@@ -554,7 +557,7 @@ export class CollectionBrowser
554
557
 
555
558
  if (!hasQuery && !isCollection && !isProfile) {
556
559
  this.placeholderType = 'empty-query';
557
- } else if (noResults) {
560
+ } else if (noResults && this.manageViewMode !== 'initial') {
558
561
  // Within a collection, no query + no results means the collection simply has no viewable items.
559
562
  // Otherwise, we must have a user query that produced 0 results.
560
563
  this.placeholderType =
@@ -701,7 +704,7 @@ export class CollectionBrowser
701
704
  <div id="cb-top-view">
702
705
  <slot name="cb-top-slot"></slot>
703
706
  </div>
704
- ${this.isManageView
707
+ ${this.manageViewMode
705
708
  ? this.manageBarTemplate
706
709
  : this.sortFilterBarTemplate}
707
710
  <slot name="cb-results"></slot>
@@ -801,7 +804,7 @@ export class CollectionBrowser
801
804
  @selectAll=${() => this.dataSource.checkAllTiles()}
802
805
  @unselectAll=${() => this.dataSource.uncheckAllTiles()}
803
806
  @cancel=${() => {
804
- this.isManageView = false;
807
+ this.manageViewMode = '';
805
808
  this.dataSource.uncheckAllTiles();
806
809
  if (this.searchResultsLoading) this.dataSource.resetPages();
807
810
  }}
@@ -815,13 +818,13 @@ export class CollectionBrowser
815
818
  */
816
819
  private handleRemoveItems(): void {
817
820
  this.dispatchEvent(
818
- new CustomEvent<{ items: String[] }>('itemRemovalRequested', {
821
+ new CustomEvent<{ items: string[] }>('itemRemovalRequested', {
819
822
  detail: {
820
823
  items: this.dataSource.checkedTileModels.map(model =>
821
- model?.identifier ? model.identifier : ''
824
+ model?.identifier ? model.identifier : '',
822
825
  ),
823
826
  },
824
- })
827
+ }),
825
828
  );
826
829
  }
827
830
 
@@ -830,13 +833,13 @@ export class CollectionBrowser
830
833
  */
831
834
  private handleManageItems(): void {
832
835
  this.dispatchEvent(
833
- new CustomEvent<{ items: String[] }>('itemManagerRequested', {
836
+ new CustomEvent<{ items: string[] }>('itemManagerRequested', {
834
837
  detail: {
835
838
  items: this.dataSource.checkedTileModels.map(model =>
836
- model?.identifier ? model.identifier : ''
839
+ model?.identifier ? model.identifier : '',
837
840
  ),
838
841
  },
839
- })
842
+ }),
840
843
  );
841
844
  }
842
845
 
@@ -869,7 +872,7 @@ export class CollectionBrowser
869
872
  e: CustomEvent<{
870
873
  selectedSort: SortField;
871
874
  sortDirection: SortDirection | null;
872
- }>
875
+ }>,
873
876
  ) {
874
877
  const { selectedSort, sortDirection } = e.detail;
875
878
  this.selectedSort = selectedSort;
@@ -943,7 +946,7 @@ export class CollectionBrowser
943
946
  * Handler for when the display mode option is changed (grid/list/compact-list views).
944
947
  */
945
948
  private displayModeChanged(
946
- e: CustomEvent<{ displayMode?: CollectionDisplayMode }>
949
+ e: CustomEvent<{ displayMode?: CollectionDisplayMode }>,
947
950
  ): void {
948
951
  this.displayMode = e.detail.displayMode;
949
952
 
@@ -1000,7 +1003,7 @@ export class CollectionBrowser
1000
1003
  * labels: 'start-<ToLetter>' | 'clear-<FromLetter>' | '<FromLetter>-<ToLetter>'
1001
1004
  */
1002
1005
  private sendFilterByCreatorAnalytics(
1003
- prevSelectedLetter: string | null
1006
+ prevSelectedLetter: string | null,
1004
1007
  ): void {
1005
1008
  if (!prevSelectedLetter && !this.selectedCreatorFilter) {
1006
1009
  return;
@@ -1020,7 +1023,7 @@ export class CollectionBrowser
1020
1023
  * Handler for changes to which letter is selected in the title alphabet bar.
1021
1024
  */
1022
1025
  private titleLetterSelected(
1023
- e: CustomEvent<{ selectedLetter: string | null }>
1026
+ e: CustomEvent<{ selectedLetter: string | null }>,
1024
1027
  ): void {
1025
1028
  this.selectedCreatorFilter = null;
1026
1029
  this.selectedTitleFilter = e.detail.selectedLetter;
@@ -1030,7 +1033,7 @@ export class CollectionBrowser
1030
1033
  * Handler for changes to which letter is selected in the creator alphabet bar.
1031
1034
  */
1032
1035
  private creatorLetterSelected(
1033
- e: CustomEvent<{ selectedLetter: string | null }>
1036
+ e: CustomEvent<{ selectedLetter: string | null }>,
1034
1037
  ): void {
1035
1038
  this.selectedTitleFilter = null;
1036
1039
  this.selectedCreatorFilter = e.detail.selectedLetter;
@@ -1105,7 +1108,7 @@ export class CollectionBrowser
1105
1108
  .contentWidth=${this.contentWidth}
1106
1109
  .query=${this.baseQuery}
1107
1110
  .filterMap=${this.dataSource.filterMap}
1108
- .isManageView=${this.isManageView}
1111
+ .isManageView=${!!this.manageViewMode}
1109
1112
  .modalManager=${this.modalManager}
1110
1113
  ?collapsableFacets=${this.mobileView}
1111
1114
  ?facetsLoading=${this.facetsLoading}
@@ -1151,7 +1154,7 @@ export class CollectionBrowser
1151
1154
  * @param mobile Whether to style/shorten the button for mobile view
1152
1155
  */
1153
1156
  private clearFiltersBtnTemplate(
1154
- mobile: boolean
1157
+ mobile: boolean,
1155
1158
  ): TemplateResult | typeof nothing {
1156
1159
  if (!this.hasActiveFilters) return nothing;
1157
1160
 
@@ -1200,7 +1203,7 @@ export class CollectionBrowser
1200
1203
  e: CustomEvent<{
1201
1204
  minDate: string;
1202
1205
  maxDate: string;
1203
- }>
1206
+ }>,
1204
1207
  ) {
1205
1208
  const { minDate, maxDate } = e.detail;
1206
1209
  [this.minSelectedDate, this.maxSelectedDate] = [minDate, maxDate];
@@ -1228,9 +1231,9 @@ export class CollectionBrowser
1228
1231
  */
1229
1232
  private emitManageModeChangedEvent(): void {
1230
1233
  this.dispatchEvent(
1231
- new CustomEvent<boolean>('manageModeChanged', {
1232
- detail: this.isManageView,
1233
- })
1234
+ new CustomEvent<string>('manageModeChanged', {
1235
+ detail: this.manageViewMode,
1236
+ }),
1234
1237
  );
1235
1238
  }
1236
1239
 
@@ -1249,7 +1252,7 @@ export class CollectionBrowser
1249
1252
  */
1250
1253
  async installDataSourceAndQueryState(
1251
1254
  dataSource: CollectionBrowserDataSourceInterface,
1252
- queryState: CollectionBrowserQueryState
1255
+ queryState: CollectionBrowserQueryState,
1253
1256
  ): Promise<void> {
1254
1257
  log('Installing data source & query state in CB:', dataSource, queryState);
1255
1258
  if (this.dataSource) this.removeController(this.dataSource);
@@ -1408,12 +1411,12 @@ export class CollectionBrowser
1408
1411
 
1409
1412
  if (changed.has('selectedTitleFilter')) {
1410
1413
  this.sendFilterByTitleAnalytics(
1411
- changed.get('selectedTitleFilter') as string
1414
+ changed.get('selectedTitleFilter') as string,
1412
1415
  );
1413
1416
  }
1414
1417
  if (changed.has('selectedCreatorFilter')) {
1415
1418
  this.sendFilterByCreatorAnalytics(
1416
- changed.get('selectedCreatorFilter') as string
1419
+ changed.get('selectedCreatorFilter') as string,
1417
1420
  );
1418
1421
  }
1419
1422
 
@@ -1456,8 +1459,12 @@ export class CollectionBrowser
1456
1459
  }
1457
1460
  }
1458
1461
 
1459
- if (changed.has('isManageView')) {
1460
- if (this.isManageView) {
1462
+ if (changed.has('manageViewMode')) {
1463
+ console.log('here1');
1464
+ if (this.infiniteScroller)
1465
+ this.infiniteScroller.itemCount = this.estimatedTileCount;
1466
+
1467
+ if (this.manageViewMode) {
1461
1468
  this.displayMode = 'grid';
1462
1469
  this.fetchManagableSearchResults();
1463
1470
  } else if (this.pageContext === 'search') this.infiniteScroller?.reload();
@@ -1468,10 +1475,10 @@ export class CollectionBrowser
1468
1475
 
1469
1476
  if (changed.has('resizeObserver')) {
1470
1477
  const oldObserver = changed.get(
1471
- 'resizeObserver'
1478
+ 'resizeObserver',
1472
1479
  ) as SharedResizeObserverInterface;
1473
1480
  if (oldObserver) this.disconnectResizeObserver(oldObserver);
1474
- this.setupResizeObserver();
1481
+ // this.setupResizeObserver();
1475
1482
  }
1476
1483
 
1477
1484
  this.ensureAvailableTilesDisplayed();
@@ -1525,7 +1532,7 @@ export class CollectionBrowser
1525
1532
  this.setTileCount(
1526
1533
  this.dataSource.endOfDataReached
1527
1534
  ? this.dataSource.size
1528
- : this.estimatedTileCount
1535
+ : this.estimatedTileCount,
1529
1536
  );
1530
1537
  }
1531
1538
  }
@@ -1546,7 +1553,7 @@ export class CollectionBrowser
1546
1553
  // In desktop view, we are always ready to load facets *unless* we are using one of the
1547
1554
  // `opt-in` strategies and have not opted in (whether by login or UI interaction).
1548
1555
  const usingOptInStrategy = ['opt-in', 'opt-in-or-login'].includes(
1549
- this.facetLoadStrategy
1556
+ this.facetLoadStrategy,
1550
1557
  );
1551
1558
  const desktopFacetsReady =
1552
1559
  !this.mobileView && (!usingOptInStrategy || optedIn);
@@ -1556,7 +1563,7 @@ export class CollectionBrowser
1556
1563
  const mobileFacetsReady = this.mobileView && optedIn;
1557
1564
 
1558
1565
  this.dataSource.handleFacetReadinessChange(
1559
- desktopFacetsReady || mobileFacetsReady
1566
+ desktopFacetsReady || mobileFacetsReady,
1560
1567
  );
1561
1568
  }
1562
1569
 
@@ -1569,14 +1576,14 @@ export class CollectionBrowser
1569
1576
  // match the _available_ viewport height. This should generally be more
1570
1577
  // performant than listening to scroll events on the page or column.
1571
1578
  const leftColumnSentinel = this.shadowRoot?.querySelector(
1572
- '#left-column-scroll-sentinel'
1579
+ '#left-column-scroll-sentinel',
1573
1580
  );
1574
1581
  if (leftColumnSentinel) {
1575
1582
  this.leftColIntersectionObserver = new IntersectionObserver(
1576
1583
  this.updateLeftColumnHeight,
1577
1584
  {
1578
1585
  threshold: [...Array(201).keys()].map(n => n / 200), // Threshold every 0.5%
1579
- }
1586
+ },
1580
1587
  );
1581
1588
  this.leftColIntersectionObserver.observe(leftColumnSentinel);
1582
1589
  }
@@ -1593,11 +1600,11 @@ export class CollectionBrowser
1593
1600
  */
1594
1601
  private setupFacetsScrollListeners(): void {
1595
1602
  const facetsSentinel = this.shadowRoot?.querySelector(
1596
- '#facets-scroll-sentinel'
1603
+ '#facets-scroll-sentinel',
1597
1604
  );
1598
1605
  if (facetsSentinel) {
1599
1606
  this.facetsIntersectionObserver = new IntersectionObserver(
1600
- this.updateFacetFadeOut
1607
+ this.updateFacetFadeOut,
1601
1608
  );
1602
1609
  this.facetsIntersectionObserver.observe(facetsSentinel);
1603
1610
  }
@@ -1642,7 +1649,7 @@ export class CollectionBrowser
1642
1649
  detail: {
1643
1650
  baseQuery: this.baseQuery,
1644
1651
  },
1645
- })
1652
+ }),
1646
1653
  );
1647
1654
  }
1648
1655
 
@@ -1654,7 +1661,7 @@ export class CollectionBrowser
1654
1661
  this.dispatchEvent(
1655
1662
  new CustomEvent<SearchType>('searchTypeChanged', {
1656
1663
  detail: this.searchType,
1657
- })
1664
+ }),
1658
1665
  );
1659
1666
  }
1660
1667
 
@@ -1679,7 +1686,7 @@ export class CollectionBrowser
1679
1686
  selectedTitleFilter: this.selectedTitleFilter,
1680
1687
  selectedCreatorFilter: this.selectedCreatorFilter,
1681
1688
  },
1682
- })
1689
+ }),
1683
1690
  );
1684
1691
  }
1685
1692
 
@@ -1692,7 +1699,7 @@ export class CollectionBrowser
1692
1699
  }
1693
1700
 
1694
1701
  private disconnectResizeObserver(
1695
- resizeObserver: SharedResizeObserverInterface
1702
+ resizeObserver: SharedResizeObserverInterface,
1696
1703
  ) {
1697
1704
  resizeObserver.removeObserver({
1698
1705
  target: this.contentContainer,
@@ -1716,7 +1723,7 @@ export class CollectionBrowser
1716
1723
  * @returns
1717
1724
  */
1718
1725
  private visibleCellsChanged(
1719
- e: CustomEvent<{ visibleCellIndices: number[] }>
1726
+ e: CustomEvent<{ visibleCellIndices: number[] }>,
1720
1727
  ) {
1721
1728
  if (this.isScrollingToCell) return;
1722
1729
  const { visibleCellIndices } = e.detail;
@@ -1864,7 +1871,7 @@ export class CollectionBrowser
1864
1871
  };
1865
1872
  this.restorationStateHandler.persistState(
1866
1873
  restorationState,
1867
- this.dataSourceInstallInProgress
1874
+ this.dataSourceInstallInProgress,
1868
1875
  );
1869
1876
  }
1870
1877
 
@@ -1878,7 +1885,7 @@ export class CollectionBrowser
1878
1885
  detail: {
1879
1886
  loading: this.searchResultsLoading,
1880
1887
  },
1881
- })
1888
+ }),
1882
1889
  );
1883
1890
  }
1884
1891
 
@@ -2042,7 +2049,7 @@ export class CollectionBrowser
2042
2049
  * Callback when a result is selected
2043
2050
  */
2044
2051
  resultSelected(event: CustomEvent<TileModel>): void {
2045
- if (this.isManageView) {
2052
+ if (this.manageViewMode) {
2046
2053
  // Checked/unchecked state change -- rerender to ensure it propagates
2047
2054
  // this.mapDataSource(model => ({ ...model }));
2048
2055
  const cellIndex = this.dataSource.indexOf(event.detail);
@@ -2082,7 +2089,7 @@ export class CollectionBrowser
2082
2089
  .creatorFilter=${this.selectedCreatorFilter}
2083
2090
  .mobileBreakpoint=${this.mobileBreakpoint}
2084
2091
  .loggedIn=${this.loggedIn}
2085
- .isManageView=${this.isManageView}
2092
+ .isManageView=${!!this.manageViewMode}
2086
2093
  ?enableHoverPane=${true}
2087
2094
  @resultSelected=${(e: CustomEvent) => this.resultSelected(e)}
2088
2095
  >
@@ -2112,10 +2119,12 @@ export class CollectionBrowser
2112
2119
  */
2113
2120
  private fetchManagableSearchResults(): void {
2114
2121
  if (
2115
- this.pageContext === 'search' &&
2116
- this.dataSource.totalResults > 100 &&
2117
- !this.searchResultsLoading
2122
+ (this.pageContext === 'search' &&
2123
+ this.dataSource.totalResults > 100 &&
2124
+ !this.searchResultsLoading) ||
2125
+ this.manageViewMode === 'initial'
2118
2126
  ) {
2127
+ console.log('here22');
2119
2128
  this.dataSource.resetPages();
2120
2129
  this.dataSource.fetchPage(1, this.maxPagesToManage);
2121
2130
  this.infiniteScroller?.reload();
@@ -44,12 +44,13 @@ export class FacetsTemplate extends LitElement {
44
44
  ${repeat(
45
45
  facetBuckets,
46
46
  bucket => `${facetGroup.key}:${bucket.key}`,
47
- bucket => html`<facet-row
48
- .facetType=${facetGroup.key}
49
- .bucket=${bucket}
50
- .collectionTitles=${this.collectionTitles}
51
- @facetClick=${this.facetClicked}
52
- ></facet-row>`
47
+ bucket =>
48
+ html`<facet-row
49
+ .facetType=${facetGroup.key}
50
+ .bucket=${bucket}
51
+ .collectionTitles=${this.collectionTitles}
52
+ @facetClick=${this.facetClicked}
53
+ ></facet-row>`,
53
54
  )}
54
55
  </div>
55
56
  `;
@@ -1,5 +1,3 @@
1
- /* eslint-disable dot-notation */
2
- /* eslint-disable lit-a11y/click-events-have-key-events */
3
1
  import {
4
2
  css,
5
3
  CSSResultGroup,
@@ -39,7 +37,7 @@ import type {
39
37
  CollectionTitles,
40
38
  PageSpecifierParams,
41
39
  } from '../data-source/models';
42
- import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
40
+ import '@internetarchive/ia-activity-indicator';
43
41
  import './more-facets-pagination';
44
42
  import './facets-template';
45
43
  import {
@@ -247,7 +245,7 @@ export class MoreFacetsContent extends LitElement {
247
245
  const bucketsWithCount =
248
246
  selectedFacetGroup?.buckets.map(bucket => {
249
247
  const selectedBucket = aggregationFacetGroup.buckets.find(
250
- b => b.key === bucket.key
248
+ b => b.key === bucket.key,
251
249
  );
252
250
  return selectedBucket
253
251
  ? {
@@ -265,7 +263,7 @@ export class MoreFacetsContent extends LitElement {
265
263
  // Append any additional buckets that were not selected
266
264
  aggregationFacetGroup.buckets.forEach(bucket => {
267
265
  const existingBucket = selectedFacetGroup?.buckets.find(
268
- b => b.key === bucket.key
266
+ b => b.key === bucket.key,
269
267
  );
270
268
  if (existingBucket) return;
271
269
  bucketsWithCount.push(bucket);
@@ -305,7 +303,7 @@ export class MoreFacetsContent extends LitElement {
305
303
  count: data?.count,
306
304
  state: data?.state,
307
305
  };
308
- }
306
+ },
309
307
  );
310
308
 
311
309
  return {
@@ -329,7 +327,7 @@ export class MoreFacetsContent extends LitElement {
329
327
 
330
328
  // Order the facets according to the current sort option
331
329
  let sortedBuckets = currentAggregation.getSortedBuckets(
332
- this.sortedBy
330
+ this.sortedBy,
333
331
  ) as Bucket[];
334
332
 
335
333
  if (this.facetKey === 'collection') {
@@ -371,7 +369,7 @@ export class MoreFacetsContent extends LitElement {
371
369
  const firstBucketIndexOnPage = (this.pageNumber - 1) * this.facetsPerPage;
372
370
  const truncatedBuckets = facetGroup.buckets.slice(
373
371
  firstBucketIndexOnPage,
374
- firstBucketIndexOnPage + this.facetsPerPage
372
+ firstBucketIndexOnPage + this.facetsPerPage,
375
373
  );
376
374
 
377
375
  return {
@@ -391,7 +389,7 @@ export class MoreFacetsContent extends LitElement {
391
389
  this.unappliedFacetChanges = updateSelectedFacetBucket(
392
390
  this.unappliedFacetChanges,
393
391
  this.facetKey,
394
- e.detail.bucket
392
+ e.detail.bucket,
395
393
  );
396
394
  }
397
395
  }}
@@ -454,7 +452,7 @@ export class MoreFacetsContent extends LitElement {
454
452
  private sortFacetAggregation(facetSortType: AggregationSortType) {
455
453
  this.sortedBy = facetSortType;
456
454
  this.dispatchEvent(
457
- new CustomEvent('sortedFacets', { detail: this.sortedBy })
455
+ new CustomEvent('sortedFacets', { detail: this.sortedBy }),
458
456
  );
459
457
  }
460
458
 
@@ -475,11 +473,11 @@ export class MoreFacetsContent extends LitElement {
475
473
  leftValue=${AggregationSortType.COUNT}
476
474
  leftLabel="Count"
477
475
  rightValue=${valueFacetSort[this.facetKey]}
478
- rightLabel=${this.facetGroup?.title}
476
+ .rightLabel=${this.facetGroup?.title}
479
477
  side=${defaultSwitchSide}
480
478
  @change=${(e: CustomEvent<string>) => {
481
479
  this.sortFacetAggregation(
482
- Number(e.detail) as AggregationSortType
480
+ Number(e.detail) as AggregationSortType,
483
481
  );
484
482
  }}
485
483
  ></toggle-switch>`
@@ -504,7 +502,7 @@ export class MoreFacetsContent extends LitElement {
504
502
  private applySearchFacetsClicked() {
505
503
  const mergedSelections = mergeSelectedFacets(
506
504
  this.selectedFacets,
507
- this.unappliedFacetChanges
505
+ this.unappliedFacetChanges,
508
506
  );
509
507
 
510
508
  const event = new CustomEvent<SelectedFacets>('facetsChanged', {
@@ -31,6 +31,7 @@ export class MoreFacetsPagination extends LitElement {
31
31
  this.observePageCount();
32
32
  }
33
33
 
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
35
  override updated(changed: Map<string, any>) {
35
36
  if (changed.has('size')) {
36
37
  this.observePageCount();
@@ -175,7 +176,7 @@ export class MoreFacetsPagination extends LitElement {
175
176
  detail: { page: this.currentPage },
176
177
  bubbles: true,
177
178
  composed: true,
178
- })
179
+ }),
179
180
  );
180
181
  }
181
182
 
@@ -219,7 +220,7 @@ export class MoreFacetsPagination extends LitElement {
219
220
  page =>
220
221
  html`${page !== 0
221
222
  ? this.getPageTemplate(page)
222
- : this.getEllipsisTemplate}`
223
+ : this.getEllipsisTemplate}`,
223
224
  )}
224
225
  `;
225
226
  }
@@ -16,7 +16,7 @@ export function dedupe<T extends SmartFacet[] | SmartFacet[][]>(facets: T): T {
16
16
  let result: SmartFacet[] = [...facetsUnnested];
17
17
  for (const curFacet of facetsUnnested) {
18
18
  result = result.filter(
19
- sf => curFacet === sf || !smartFacetEquals(curFacet, sf)
19
+ sf => curFacet === sf || !smartFacetEquals(curFacet, sf),
20
20
  );
21
21
  }
22
22
 
@@ -30,7 +30,7 @@ export function dedupe<T extends SmartFacet[] | SmartFacet[][]>(facets: T): T {
30
30
  const subresult: SmartFacet[] = [];
31
31
  for (const curFacet of curFacetArray) {
32
32
  const existing = result.find(sfa =>
33
- sfa.find(sf => smartFacetEquals(curFacet, sf))
33
+ sfa.find(sf => smartFacetEquals(curFacet, sf)),
34
34
  );
35
35
  if (!existing) subresult.push(curFacet);
36
36
  }
@@ -43,7 +43,7 @@ export class QueryKeywordsHeuristic implements SmartQueryHeuristic {
43
43
  const recommendations: SmartFacet[] = [];
44
44
 
45
45
  for (const [keyword, facets] of Object.entries(
46
- QueryKeywordsHeuristic.KEYWORDS
46
+ QueryKeywordsHeuristic.KEYWORDS,
47
47
  )) {
48
48
  if (query.includes(keyword)) {
49
49
  recommendations.push(...facets);
@@ -147,12 +147,12 @@ export class WikidataHeuristic implements SmartQueryHeuristic {
147
147
  const urlQuery = encodeURIComponent(query);
148
148
 
149
149
  const wikidataResponse = await fetch(
150
- `https://www.wikidata.org/w/api.php?action=wbsearchentities&search=${urlQuery}&format=json&language=en&uselang=en&origin=*&type=item&limit=5`
150
+ `https://www.wikidata.org/w/api.php?action=wbsearchentities&search=${urlQuery}&format=json&language=en&uselang=en&origin=*&type=item&limit=5`,
151
151
  );
152
152
  const searchResults = await wikidataResponse.json();
153
153
 
154
154
  for (const [keyword, facets] of Object.entries(
155
- WikidataHeuristic.ENTITIES
155
+ WikidataHeuristic.ENTITIES,
156
156
  )) {
157
157
  const keywordRegex = new RegExp(`\\b${keyword}\\b`);
158
158
  if (keywordRegex.test(searchResults.search[0]?.description)) {
@@ -171,20 +171,20 @@ export class WikidataHeuristic implements SmartQueryHeuristic {
171
171
  if (f.displayText) {
172
172
  replaced.displayText = replaced.displayText?.replace(
173
173
  '__QUERY',
174
- entityName
174
+ entityName,
175
175
  );
176
176
  }
177
177
 
178
178
  return replaced;
179
179
  }),
180
- } as SmartFacet)
181
- )
180
+ }) as SmartFacet,
181
+ ),
182
182
  );
183
183
  }
184
184
  }
185
185
 
186
186
  return recommendations;
187
- } catch (err) {
187
+ } catch {
188
188
  return [];
189
189
  }
190
190
  }
@@ -1,5 +1,3 @@
1
- /* eslint-disable no-continue */
2
-
3
1
  import {
4
2
  css,
5
3
  html,
@@ -68,7 +66,7 @@ export class SmartFacetBar extends LitElement {
68
66
  this.smartFacets,
69
67
  f =>
70
68
  `${f[0].label}|${f[0].facets[0].facetType}|${f[0].facets[0].bucketKey}`,
71
- facet => this.makeSmartFacet(facet)
69
+ facet => this.makeSmartFacet(facet),
72
70
  )}
73
71
  </div>
74
72
  `;
@@ -190,7 +188,7 @@ export class SmartFacetBar extends LitElement {
190
188
  key === 'mediatype' &&
191
189
  this.selectedFacets &&
192
190
  Object.values(this.selectedFacets.mediatype).some(
193
- bucket => bucket.state !== 'none'
191
+ bucket => bucket.state !== 'none',
194
192
  )
195
193
  ) {
196
194
  continue;
@@ -210,7 +208,7 @@ export class SmartFacetBar extends LitElement {
210
208
  if (facetType === 'mediatype') {
211
209
  facets.push(
212
210
  [this.toSmartFacet(facetType, [unusedBuckets[0]])],
213
- [this.toSmartFacet(facetType, [unusedBuckets[1]])]
211
+ [this.toSmartFacet(facetType, [unusedBuckets[1]])],
214
212
  );
215
213
  } else if (facetType === 'collection' || facetType === 'subject') {
216
214
  const topBuckets = unusedBuckets.slice(0, 5);
@@ -226,7 +224,7 @@ export class SmartFacetBar extends LitElement {
226
224
 
227
225
  private toSmartFacet(
228
226
  facetType: FacetOption,
229
- buckets: Bucket[]
227
+ buckets: Bucket[],
230
228
  // prefix = true
231
229
  ): SmartFacet {
232
230
  return {
@@ -259,7 +257,7 @@ export class SmartFacetBar extends LitElement {
259
257
  this.selectedFacets,
260
258
  facet.facetType,
261
259
  facet.bucket,
262
- true
260
+ true,
263
261
  );
264
262
  }
265
263
 
@@ -286,7 +284,7 @@ export class SmartFacetBar extends LitElement {
286
284
  this.selectedFacets,
287
285
  facet.facetType,
288
286
  facet.bucket,
289
- true
287
+ true,
290
288
  );
291
289
  }
292
290
 
@@ -28,7 +28,9 @@ export class SmartFacetButton extends LitElement {
28
28
 
29
29
  const displayText = capitalize(
30
30
  (this.labelPrefix ? `${this.labelPrefix} ` : '') +
31
- (this.facetInfo.label ?? firstFacet.displayText ?? firstFacet.bucketKey)
31
+ (this.facetInfo.label ??
32
+ firstFacet.displayText ??
33
+ firstFacet.bucketKey),
32
34
  );
33
35
  if (!displayText) return nothing;
34
36
 
@@ -61,7 +63,7 @@ export class SmartFacetButton extends LitElement {
61
63
  for (const facet of this.facetInfo.facets) {
62
64
  url.searchParams.append(
63
65
  'and[]',
64
- encodeURIComponent(`${facet.facetType}:"${facet.bucketKey}"`)
66
+ encodeURIComponent(`${facet.facetType}:"${facet.bucketKey}"`),
65
67
  );
66
68
  }
67
69
  }
@@ -88,7 +90,7 @@ export class SmartFacetButton extends LitElement {
88
90
  negative: false,
89
91
  })),
90
92
  },
91
- })
93
+ }),
92
94
  );
93
95
  }
94
96